X-Git-Url: http://git.argeo.org/?a=blobdiff_plain;f=runtime%2Forg.argeo.slc.support.jcr%2Fsrc%2Fmain%2Fjava%2Forg%2Fargeo%2Fslc%2Fjcr%2Fexecution%2FJcrExecutionModulesListener.java;h=b66f0940541bf7d1fffa5d4af3c171c5ea9aa1b5;hb=a0a151ee3a0aed29a3cb03d81e35d540ca9fdb03;hp=8d6d96784ab64562ea0e2e78b3647d01c9188b3e;hpb=699640c58cc0578beebfc3edd00dac9eed65ee0b;p=gpl%2Fargeo-slc.git diff --git a/runtime/org.argeo.slc.support.jcr/src/main/java/org/argeo/slc/jcr/execution/JcrExecutionModulesListener.java b/runtime/org.argeo.slc.support.jcr/src/main/java/org/argeo/slc/jcr/execution/JcrExecutionModulesListener.java index 8d6d96784..b66f09405 100644 --- a/runtime/org.argeo.slc.support.jcr/src/main/java/org/argeo/slc/jcr/execution/JcrExecutionModulesListener.java +++ b/runtime/org.argeo.slc.support.jcr/src/main/java/org/argeo/slc/jcr/execution/JcrExecutionModulesListener.java @@ -163,8 +163,13 @@ public class JcrExecutionModulesListener implements ExecutionModulesListener, /* * EXECUTION MODULES LISTENER */ + public synchronized void executionModuleAdded( ModuleDescriptor moduleDescriptor) { + syncExecutionModule(moduleDescriptor); + } + + protected void syncExecutionModule(ModuleDescriptor moduleDescriptor) { try { Node agentNode = session.getNode(agent.getNodePath()); String moduleNodeName = SlcJcrUtils @@ -179,13 +184,12 @@ public class JcrExecutionModulesListener implements ExecutionModulesListener, moduleDescriptor.getTitle()); moduleNode.setProperty(Property.JCR_DESCRIPTION, moduleDescriptor.getDescription()); - moduleNode.setProperty(SLC_STARTED, true); + moduleNode.setProperty(SLC_STARTED, moduleDescriptor.getStarted()); session.save(); } catch (RepositoryException e) { JcrUtils.discardQuietly(session); - throw new SlcException("Cannot add module " + moduleDescriptor, e); + throw new SlcException("Cannot sync module " + moduleDescriptor, e); } - } public synchronized void executionModuleRemoved(