You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sling.apache.org by mp...@apache.org on 2014/10/29 17:39:23 UTC

svn commit: r1635193 - in /sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/serialization/impl: ./ vlt/

Author: mpetria
Date: Wed Oct 29 16:39:23 2014
New Revision: 1635193

URL: http://svn.apache.org/r1635193
Log:
SLING-4106: fixing some some session management issues

Modified:
    sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/serialization/impl/AbstractReplicationPackageBuilder.java
    sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/serialization/impl/ResourceSharedReplicationPackageBuilder.java
    sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/serialization/impl/vlt/FileVaultReplicationPackageBuilder.java

Modified: sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/serialization/impl/AbstractReplicationPackageBuilder.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/serialization/impl/AbstractReplicationPackageBuilder.java?rev=1635193&r1=1635192&r2=1635193&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/serialization/impl/AbstractReplicationPackageBuilder.java (original)
+++ sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/serialization/impl/AbstractReplicationPackageBuilder.java Wed Oct 29 16:39:23 2014
@@ -143,9 +143,7 @@ public abstract class AbstractReplicatio
         } catch (Exception e) {
             throw new ReplicationPackageReadingException(e);
         } finally {
-            if (session != null) {
-                session.logout();
-            }
+            ungetSession(session);
         }
 
         return false;
@@ -175,6 +173,16 @@ public abstract class AbstractReplicatio
         return session;
     }
 
+    protected void ungetSession(Session session) {
+       if (session != null) {
+           try {
+               session.save();
+           } catch (RepositoryException e) {
+               log.debug("Cannot save session", e);
+           }
+       }
+    }
+
     protected abstract ReplicationPackage createPackageForAdd(ResourceResolver resourceResolver, ReplicationRequest request)
             throws ReplicationPackageBuildingException;
 

Modified: sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/serialization/impl/ResourceSharedReplicationPackageBuilder.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/serialization/impl/ResourceSharedReplicationPackageBuilder.java?rev=1635193&r1=1635192&r2=1635193&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/serialization/impl/ResourceSharedReplicationPackageBuilder.java (original)
+++ sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/serialization/impl/ResourceSharedReplicationPackageBuilder.java Wed Oct 29 16:39:23 2014
@@ -114,7 +114,11 @@ public class ResourceSharedReplicationPa
         properties.put(PN_ORIGINAL_ACTION, replicationPackage.getAction());
         properties.put(PN_ORIGINAL_PATHS, replicationPackage.getPaths());
 
-        ResourceUtil.getOrCreateResource(resourceResolver, packagePath, properties, "nt:unstructured", true);
+        Resource resource = ResourceUtil.getOrCreateResource(resourceResolver, packagePath, "sling:Folder", "nt:unstructured", false);
+        ModifiableValueMap valueMap = resource.adaptTo(ModifiableValueMap.class);
+        valueMap.putAll(properties);
+
+        resourceResolver.commit();
         return packagePath;
 
     }

Modified: sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/serialization/impl/vlt/FileVaultReplicationPackageBuilder.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/serialization/impl/vlt/FileVaultReplicationPackageBuilder.java?rev=1635193&r1=1635192&r2=1635193&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/serialization/impl/vlt/FileVaultReplicationPackageBuilder.java (original)
+++ sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/serialization/impl/vlt/FileVaultReplicationPackageBuilder.java Wed Oct 29 16:39:23 2014
@@ -102,9 +102,7 @@ public class FileVaultReplicationPackage
         } catch (Exception e) {
             throw new ReplicationPackageBuildingException(e);
         } finally {
-            if (session != null) {
-                session.logout();
-            }
+            ungetSession(session);
         }
     }
 
@@ -170,9 +168,7 @@ public class FileVaultReplicationPackage
             log.error("could not read / install the package", e);
             throw new ReplicationPackageReadingException(e);
         } finally {
-            if (session != null) {
-                session.logout();
-            }
+            ungetSession(session);
         }
         return false;
     }