You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sling.apache.org by to...@apache.org on 2016/07/20 13:56:59 UTC

svn commit: r1753517 - in /sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution: component/impl/ResourceConfigurationManager.java resources/impl/common/AbstractModifyingResourceProvider.java

Author: tommaso
Date: Wed Jul 20 13:56:59 2016
New Revision: 1753517

URL: http://svn.apache.org/viewvc?rev=1753517&view=rev
Log:
This closes #155
commit 419d686f1ab0828171e0a9eb245a026e5b443875
Author: tmaret <tm...@adobe.com>
Date: 2016-07-20T07:11:58Z
SLING-5875 - Distribution resource configuration manager does update resources
Use the content resource node if it exists already
Fix the infinite recursion of commit calls

Modified:
    sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/component/impl/ResourceConfigurationManager.java
    sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/resources/impl/common/AbstractModifyingResourceProvider.java

Modified: sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/component/impl/ResourceConfigurationManager.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/component/impl/ResourceConfigurationManager.java?rev=1753517&r1=1753516&r2=1753517&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/component/impl/ResourceConfigurationManager.java (original)
+++ sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/component/impl/ResourceConfigurationManager.java Wed Jul 20 13:56:59 2016
@@ -33,13 +33,14 @@ import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 
+/**
+ * Manager implementation which represents the distribution configurations as resources.
+ */
 public class ResourceConfigurationManager implements DistributionConfigurationManager {
 
-    private final Logger log = LoggerFactory.getLogger(getClass());
-
-
     final String CONTENT_NODE = "jcr:content";
     final String configRootPath;
+    private final Logger log = LoggerFactory.getLogger(getClass());
     private final String[] configProperties;
     private final Map<String, String> configDefaults;
 
@@ -100,7 +101,9 @@ public class ResourceConfigurationManage
         }
 
         Resource configResource = configRoot.getChild(config.getName());
-        Resource contentResource = null;
+        Resource contentResource = (configResource != null)
+                ? configResource.getChild(CONTENT_NODE)
+                : null ;
 
         try {
             if (configResource == null) {
@@ -121,7 +124,6 @@ public class ResourceConfigurationManage
 
             ModifiableValueMap valueMap = contentResource.adaptTo(ModifiableValueMap.class);
             valueMap.putAll(properties);
-            resolver.commit();
         } catch (PersistenceException e) {
             log.error("cannot save config {}", config.getName(),  e);
         }

Modified: sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/resources/impl/common/AbstractModifyingResourceProvider.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/resources/impl/common/AbstractModifyingResourceProvider.java?rev=1753517&r1=1753516&r2=1753517&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/resources/impl/common/AbstractModifyingResourceProvider.java (original)
+++ sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/resources/impl/common/AbstractModifyingResourceProvider.java Wed Jul 20 13:56:59 2016
@@ -96,6 +96,7 @@ public abstract class AbstractModifyingR
         saveInternalResources(resolver, changedResources, deletedResources);
 
         reset();
+        resolver.commit();
     }
 
     public boolean hasChanges(ResourceResolver resolver) {