]> git.argeo.org Git - gpl/argeo-slc.git/blobdiff - runtime/org.argeo.slc.support.jcr/src/main/java/org/argeo/slc/jcr/execution/JcrExecutionModulesListener.java
Use prefixes for system nodes
[gpl/argeo-slc.git] / runtime / org.argeo.slc.support.jcr / src / main / java / org / argeo / slc / jcr / execution / JcrExecutionModulesListener.java
index 1f2a2bb3c79d49cf94b996019c1ab09b1c5b9e16..cefc67093e3a9476f716fa85fb39845f2ba0ed44 100644 (file)
@@ -67,7 +67,7 @@ public class JcrExecutionModulesListener implements ExecutionModulesListener,
                                if (executionModules != null) {
                                        Node agentNode = session.getNode(agent.getNodePath());
                                        for (String executionModule : executionModules.split(",")) {
-                                               for (ModuleDescriptor moduleDescriptor : moduleDescriptors) {
+                                               allModules: for (ModuleDescriptor moduleDescriptor : moduleDescriptors) {
                                                        String moduleNodeName = SlcJcrUtils
                                                                        .getModuleNodeName(moduleDescriptor);
                                                        if (moduleDescriptor.getName().equals(
@@ -88,10 +88,12 @@ public class JcrExecutionModulesListener implements ExecutionModulesListener,
                                                                                Property.JCR_DESCRIPTION,
                                                                                moduleDescriptor.getDescription());
                                                                moduleNode.setProperty(SLC_STARTED, false);
+                                                               break allModules;
                                                        }
                                                }
                                        }
-                                       session.save();
+                                       if (session.hasPendingChanges())
+                                               session.save();
                                }
                        }
                } catch (RepositoryException e) {