Merge remote-tracking branch 'origin/unstable' into testing
[gpl/argeo-suite.git] / org.argeo.suite.core / src / org / argeo / suite / core / CustomMaintenanceService.java
index 2fd15d1575903b450255ee1a7ef41ad2b7bff20c..5d76eb126ae5ec4c83cf21d7de33316e385d9c88 100644 (file)
@@ -34,14 +34,18 @@ public abstract class CustomMaintenanceService extends AbstractMaintenanceServic
                if (!typologies.isEmpty()) {
                        Node termsBase = JcrUtils.getOrAdd(customBaseNode, EntityType.terms.name(), EntityType.typologies.get());
                        for (String terms : typologies) {
-                               loadTerms(customBaseNode, terms);
+                               loadTerms(termsBase, terms);
                        }
+                       // TODO do not save here, so that upper layers can decide when to save
                        termsBase.getSession().save();
                }
        }
 
        protected void loadTerms(Node termsBase, String name) throws IOException, RepositoryException {
                try {
+//                     if (termsBase.hasNode(name))
+//                             return;
+
                        String termsLoadPath = getTypologiesLoadBase() + '/' + name + ".xml";
                        URL termsUrl = getClass().getClassLoader().getResource(termsLoadPath);
                        if (termsUrl == null)
@@ -59,6 +63,7 @@ public abstract class CustomMaintenanceService extends AbstractMaintenanceServic
                        }
                        if (log.isDebugEnabled())
                                log.debug("Terms '" + name + "' loaded.");
+                       // TODO do not save here, so that upper layers can decide when to save
                        termsBase.getSession().save();
                } catch (RepositoryException | IOException e) {
                        log.error("Cannot load terms '" + name + "': " + e.getMessage());