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;
}