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 2014/10/14 17:09:13 UTC
svn commit: r1631780 [2/2] - in /sling/trunk/contrib/extensions/replication:
core/ core/src/main/java/org/apache/sling/replication/agent/
core/src/main/java/org/apache/sling/replication/agent/impl/
core/src/main/java/org/apache/sling/replication/packag...
Modified: sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/servlet/ReplicationAgentServlet.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/servlet/ReplicationAgentServlet.java?rev=1631780&r1=1631779&r2=1631780&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/servlet/ReplicationAgentServlet.java (original)
+++ sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/servlet/ReplicationAgentServlet.java Tue Oct 14 15:09:12 2014
@@ -31,6 +31,7 @@ import org.apache.felix.scr.annotations.
import org.apache.felix.scr.annotations.Service;
import org.apache.sling.api.SlingHttpServletRequest;
import org.apache.sling.api.SlingHttpServletResponse;
+import org.apache.sling.api.resource.ResourceResolver;
import org.apache.sling.api.servlets.SlingAllMethodsServlet;
import org.apache.sling.replication.agent.AgentReplicationException;
import org.apache.sling.replication.agent.ReplicationAgent;
@@ -65,9 +66,11 @@ public class ReplicationAgentServlet ext
ReplicationAgent agent = request.getResource().adaptTo(ReplicationAgent.class);
+ ResourceResolver resourceResolver = request.getResourceResolver();
+
if (agent != null) {
try {
- ReplicationResponse replicationResponse = agent.execute(replicationRequest);
+ ReplicationResponse replicationResponse = agent.execute(resourceResolver, replicationRequest);
if (replicationResponse.isSuccessful()
|| ItemState.DROPPED.toString().equals(
replicationResponse.getStatus())) {
Modified: sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/servlet/ReplicationPackageExporterServlet.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/servlet/ReplicationPackageExporterServlet.java?rev=1631780&r1=1631779&r2=1631780&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/servlet/ReplicationPackageExporterServlet.java (original)
+++ sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/servlet/ReplicationPackageExporterServlet.java Tue Oct 14 15:09:12 2014
@@ -32,6 +32,7 @@ import org.apache.felix.scr.annotations.
import org.apache.http.entity.ContentType;
import org.apache.sling.api.SlingHttpServletRequest;
import org.apache.sling.api.SlingHttpServletResponse;
+import org.apache.sling.api.resource.ResourceResolver;
import org.apache.sling.api.servlets.SlingAllMethodsServlet;
import org.apache.sling.replication.communication.ReplicationRequest;
import org.apache.sling.replication.packaging.ReplicationPackage;
@@ -68,10 +69,11 @@ public class ReplicationPackageExporterS
response.setContentType(ContentType.APPLICATION_OCTET_STREAM.toString());
ReplicationRequest replicationRequest = RequestUtils.fromServletRequest(request);
+ ResourceResolver resourceResolver = request.getResourceResolver();
try {
// get first item
- List<ReplicationPackage> replicationPackages = replicationPackageExporter.exportPackage(replicationRequest);
+ List<ReplicationPackage> replicationPackages = replicationPackageExporter.exportPackage(resourceResolver, replicationRequest);
if (replicationPackages.size() > 0) {
log.info("{} package(s) available for fetching, the first will be delivered", replicationPackages.size());
Modified: sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/servlet/ReplicationPackageImporterServlet.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/servlet/ReplicationPackageImporterServlet.java?rev=1631780&r1=1631779&r2=1631780&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/servlet/ReplicationPackageImporterServlet.java (original)
+++ sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/servlet/ReplicationPackageImporterServlet.java Tue Oct 14 15:09:12 2014
@@ -29,6 +29,7 @@ import org.apache.felix.scr.annotations.
import org.apache.felix.scr.annotations.Service;
import org.apache.sling.api.SlingHttpServletRequest;
import org.apache.sling.api.SlingHttpServletResponse;
+import org.apache.sling.api.resource.ResourceResolver;
import org.apache.sling.api.servlets.SlingAllMethodsServlet;
import org.apache.sling.replication.packaging.ReplicationPackage;
import org.apache.sling.replication.packaging.ReplicationPackageImporter;
@@ -63,10 +64,11 @@ public class ReplicationPackageImporterS
response.setCharacterEncoding("utf-8");
InputStream stream = request.getInputStream();
+ ResourceResolver resourceResolver = request.getResourceResolver();
try {
- ReplicationPackage replicationPackage = replicationPackageImporter.readPackage(stream);
+ ReplicationPackage replicationPackage = replicationPackageImporter.readPackage(resourceResolver, stream);
if (replicationPackage != null) {
- success = replicationPackageImporter.importPackage(replicationPackage);
+ success = replicationPackageImporter.importPackage(resourceResolver, replicationPackage);
} else {
// TODO : this should not just cause a warning as it means package was not imported correctly
log.warn("cannot read a replication package from the given stream");
Modified: sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/transport/ReplicationTransportHandler.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/transport/ReplicationTransportHandler.java?rev=1631780&r1=1631779&r2=1631780&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/transport/ReplicationTransportHandler.java (original)
+++ sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/transport/ReplicationTransportHandler.java Tue Oct 14 15:09:12 2014
@@ -20,6 +20,7 @@ package org.apache.sling.replication.tra
import java.util.List;
+import org.apache.sling.api.resource.ResourceResolver;
import org.apache.sling.replication.communication.ReplicationEndpoint;
import org.apache.sling.replication.communication.ReplicationRequest;
import org.apache.sling.replication.packaging.ReplicationPackage;
@@ -33,17 +34,21 @@ public interface ReplicationTransportHan
/**
* Delivers a given {@link ReplicationPackage}
*
- * @param replicationPackage a {@link ReplicationPackage} to transport
+ *
+ * @param resourceResolver
+ * @param replicationPackage a {@link org.apache.sling.replication.packaging.ReplicationPackage} to transport
* @throws ReplicationTransportException if any error occurs during the transport
*/
- void deliverPackage(ReplicationPackage replicationPackage) throws ReplicationTransportException;
+ void deliverPackage(ResourceResolver resourceResolver, ReplicationPackage replicationPackage) throws ReplicationTransportException;
/**
* Retrieves a list of {@link ReplicationPackage}
*
+ *
+ * @param resourceResolver
* @param replicationRequest the replication request
* @throws ReplicationTransportException if any error occurs during the transport
*/
- List<ReplicationPackage> retrievePackages(ReplicationRequest replicationRequest) throws ReplicationTransportException;
+ List<ReplicationPackage> retrievePackages(ResourceResolver resourceResolver, ReplicationRequest replicationRequest) throws ReplicationTransportException;
}
\ No newline at end of file
Modified: sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/transport/impl/AdvancedHttpReplicationTransportHandler.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/transport/impl/AdvancedHttpReplicationTransportHandler.java?rev=1631780&r1=1631779&r2=1631780&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/transport/impl/AdvancedHttpReplicationTransportHandler.java (original)
+++ sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/transport/impl/AdvancedHttpReplicationTransportHandler.java Tue Oct 14 15:09:12 2014
@@ -31,6 +31,7 @@ import org.apache.http.client.fluent.Exe
import org.apache.http.client.fluent.Request;
import org.apache.http.client.fluent.Response;
import org.apache.http.entity.ContentType;
+import org.apache.sling.api.resource.ResourceResolver;
import org.apache.sling.replication.communication.ReplicationEndpoint;
import org.apache.sling.replication.packaging.ReplicationPackage;
import org.apache.sling.replication.serialization.ReplicationPackageBuilder;
@@ -82,7 +83,7 @@ public class AdvancedHttpReplicationTran
}
@Override
- public void deliverPackage(ReplicationPackage replicationPackage) throws ReplicationTransportException {
+ public void deliverPackage(ResourceResolver resourceResolver, ReplicationPackage replicationPackage) throws ReplicationTransportException {
log.info("delivering package {} to {} using auth {}",
new Object[]{replicationPackage.getId(),
replicationEndpoint.getUri(), transportAuthenticationProvider});
Modified: sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/transport/impl/MultipleEndpointReplicationTransportHandler.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/transport/impl/MultipleEndpointReplicationTransportHandler.java?rev=1631780&r1=1631779&r2=1631780&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/transport/impl/MultipleEndpointReplicationTransportHandler.java (original)
+++ sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/transport/impl/MultipleEndpointReplicationTransportHandler.java Tue Oct 14 15:09:12 2014
@@ -21,6 +21,7 @@ package org.apache.sling.replication.tra
import java.util.ArrayList;
import java.util.List;
+import org.apache.sling.api.resource.ResourceResolver;
import org.apache.sling.replication.communication.ReplicationRequest;
import org.apache.sling.replication.packaging.ReplicationPackage;
import org.apache.sling.replication.transport.ReplicationTransportException;
@@ -42,7 +43,7 @@ public class MultipleEndpointReplication
this.endpointStrategyType = endpointStrategyType;
}
- private List<ReplicationPackage> doTransport(ReplicationRequest replicationRequest, ReplicationPackage replicationPackage) throws ReplicationTransportException {
+ private List<ReplicationPackage> doTransport(ResourceResolver resourceResolver, ReplicationRequest replicationRequest, ReplicationPackage replicationPackage) throws ReplicationTransportException {
int offset = 0;
if (endpointStrategyType.equals(TransportEndpointStrategyType.One)) {
@@ -57,9 +58,9 @@ public class MultipleEndpointReplication
ReplicationTransportHandler transportHelper = transportHelpers.get(currentId);
if (replicationPackage != null) {
- transportHelper.deliverPackage(replicationPackage);
+ transportHelper.deliverPackage(resourceResolver, replicationPackage);
} else if (replicationRequest != null) {
- List<ReplicationPackage> retrievedPackages = transportHelper.retrievePackages(replicationRequest);
+ List<ReplicationPackage> retrievedPackages = transportHelper.retrievePackages(resourceResolver, replicationRequest);
result.addAll(retrievedPackages);
}
@@ -71,12 +72,12 @@ public class MultipleEndpointReplication
return result;
}
- public void deliverPackage(ReplicationPackage replicationPackage) throws ReplicationTransportException {
- doTransport(null, replicationPackage);
+ public void deliverPackage(ResourceResolver resourceResolver, ReplicationPackage replicationPackage) throws ReplicationTransportException {
+ doTransport(resourceResolver, null, replicationPackage);
}
- public List<ReplicationPackage> retrievePackages(ReplicationRequest replicationRequest) throws ReplicationTransportException {
- return doTransport(replicationRequest, null);
+ public List<ReplicationPackage> retrievePackages(ResourceResolver resourceResolver, ReplicationRequest replicationRequest) throws ReplicationTransportException {
+ return doTransport(resourceResolver, replicationRequest, null);
}
Modified: sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/transport/impl/SimpleHttpReplicationTransportHandler.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/transport/impl/SimpleHttpReplicationTransportHandler.java?rev=1631780&r1=1631779&r2=1631780&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/transport/impl/SimpleHttpReplicationTransportHandler.java (original)
+++ sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/transport/impl/SimpleHttpReplicationTransportHandler.java Tue Oct 14 15:09:12 2014
@@ -33,6 +33,7 @@ import org.apache.http.client.fluent.Req
import org.apache.http.client.fluent.Response;
import org.apache.http.conn.HttpHostConnectException;
import org.apache.http.entity.ContentType;
+import org.apache.sling.api.resource.ResourceResolver;
import org.apache.sling.replication.communication.ReplicationEndpoint;
import org.apache.sling.replication.communication.ReplicationRequest;
import org.apache.sling.replication.packaging.ReplicationPackage;
@@ -72,7 +73,7 @@ public class SimpleHttpReplicationTransp
this.maxNumberOfPackages = maxNumberOfPackages;
}
- public void deliverPackage(ReplicationPackage replicationPackage) throws ReplicationTransportException {
+ public void deliverPackage(ResourceResolver resourceResolver, ReplicationPackage replicationPackage) throws ReplicationTransportException {
log.info("delivering package {} to {} using auth {}",
new Object[]{
replicationPackage.getId(),
@@ -119,7 +120,7 @@ public class SimpleHttpReplicationTransp
}
- public List<ReplicationPackage> retrievePackages(ReplicationRequest replicationRequest) throws ReplicationTransportException {
+ public List<ReplicationPackage> retrievePackages(ResourceResolver resourceResolver, ReplicationRequest replicationRequest) throws ReplicationTransportException {
log.debug("polling from {}", replicationEndpoint.getUri());
try {
@@ -143,7 +144,7 @@ public class SimpleHttpReplicationTransp
while ((httpResponse = executor.execute(req).returnResponse())
.getStatusLine().getStatusCode() == 200
&& polls < maxNumberOfPackages) {
- ReplicationPackage responsePackage = packageBuilder.readPackage(httpResponse.getEntity().getContent());
+ ReplicationPackage responsePackage = packageBuilder.readPackage(resourceResolver, httpResponse.getEntity().getContent());
result.add(responsePackage);
polls++;
Modified: sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/trigger/ReplicationTriggerRequestHandler.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/trigger/ReplicationTriggerRequestHandler.java?rev=1631780&r1=1631779&r2=1631780&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/trigger/ReplicationTriggerRequestHandler.java (original)
+++ sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/trigger/ReplicationTriggerRequestHandler.java Tue Oct 14 15:09:12 2014
@@ -18,6 +18,7 @@
*/
package org.apache.sling.replication.trigger;
+import org.apache.sling.api.resource.ResourceResolver;
import org.apache.sling.replication.communication.ReplicationRequest;
/**
Modified: sling/trunk/contrib/extensions/replication/core/src/test/java/org/apache/sling/replication/agent/impl/SimpleReplicationAgentTest.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/replication/core/src/test/java/org/apache/sling/replication/agent/impl/SimpleReplicationAgentTest.java?rev=1631780&r1=1631779&r2=1631780&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/replication/core/src/test/java/org/apache/sling/replication/agent/impl/SimpleReplicationAgentTest.java (original)
+++ sling/trunk/contrib/extensions/replication/core/src/test/java/org/apache/sling/replication/agent/impl/SimpleReplicationAgentTest.java Tue Oct 14 15:09:12 2014
@@ -20,12 +20,15 @@ package org.apache.sling.replication.age
import java.util.Arrays;
+import org.apache.sling.api.resource.ResourceResolver;
+import org.apache.sling.api.resource.ResourceResolverFactory;
import org.apache.sling.replication.communication.ReplicationActionType;
import org.apache.sling.replication.communication.ReplicationRequest;
import org.apache.sling.replication.communication.ReplicationResponse;
import org.apache.sling.replication.event.ReplicationEventFactory;
import org.apache.sling.replication.packaging.ReplicationPackage;
import org.apache.sling.replication.packaging.ReplicationPackageExporter;
+import org.apache.sling.replication.packaging.ReplicationPackageExporterStrategy;
import org.apache.sling.replication.packaging.ReplicationPackageImporter;
import org.apache.sling.replication.queue.ReplicationQueue;
import org.apache.sling.replication.queue.ReplicationQueueDistributionStrategy;
@@ -53,22 +56,28 @@ public class SimpleReplicationAgentTest
String name = "sample-agent";
ReplicationPackageImporter packageImporter = mock(ReplicationPackageImporter.class);
ReplicationPackageExporter packageExporter = mock(ReplicationPackageExporter.class);
-
-
+ ReplicationPackageExporterStrategy packageExporterStrategy = mock(ReplicationPackageExporterStrategy.class);
ReplicationQueueProvider queueProvider = mock(ReplicationQueueProvider.class);
ReplicationQueueDistributionStrategy distributionHandler = mock(ReplicationQueueDistributionStrategy.class);
ReplicationEventFactory replicationEventFactory = mock(ReplicationEventFactory.class);
- SimpleReplicationAgent agent = new SimpleReplicationAgent(name, true,
- false, packageImporter, packageExporter, queueProvider, distributionHandler, replicationEventFactory, null);
+ ResourceResolverFactory resolverFactory = mock(ResourceResolverFactory.class);
+
+ SimpleReplicationAgent agent = new SimpleReplicationAgent(name,
+ false, "serviceName", packageImporter,
+ packageExporter, packageExporterStrategy,
+ queueProvider, distributionHandler,
+ replicationEventFactory, resolverFactory, null);
ReplicationRequest request = new ReplicationRequest(System.nanoTime(),
ReplicationActionType.ADD, "/");
ReplicationPackage replicationPackage = mock(ReplicationPackage.class);
+ ResourceResolver resourceResolver = mock(ResourceResolver.class);
when(replicationPackage.getPaths()).thenReturn(new String[]{"/"});
- when(packageExporter.exportPackage(request)).thenReturn(Arrays.asList(new ReplicationPackage[]{replicationPackage}));
+ when(packageExporterStrategy.exportPackages(any(ResourceResolver.class), any(ReplicationRequest.class), any(ReplicationPackageExporter.class)))
+ .thenReturn(Arrays.asList(new ReplicationPackage[]{replicationPackage}));
when(queueProvider.getDefaultQueue(agent.getName())).thenReturn(
new SimpleReplicationQueue(agent.getName(), "name"));
- ReplicationResponse response = agent.execute(request);
+ ReplicationResponse response = agent.execute(resourceResolver, request);
assertNotNull(response);
assertEquals("ERROR", response.getStatus());
}
@@ -78,22 +87,30 @@ public class SimpleReplicationAgentTest
String name = "sample-agent";
ReplicationPackageImporter packageImporter = mock(ReplicationPackageImporter.class);
ReplicationPackageExporter packageExporter = mock(ReplicationPackageExporter.class);
+ ReplicationPackageExporterStrategy packageExporterStrategy = mock(ReplicationPackageExporterStrategy.class);
ReplicationQueueProvider queueProvider = mock(ReplicationQueueProvider.class);
ReplicationQueueDistributionStrategy distributionHandler = mock(ReplicationQueueDistributionStrategy.class);
ReplicationEventFactory replicationEventFactory = mock(ReplicationEventFactory.class);
- SimpleReplicationAgent agent = new SimpleReplicationAgent(name, true,
- false, packageImporter, packageExporter, queueProvider, distributionHandler, replicationEventFactory, null);
+ ResourceResolverFactory resolverFactory = mock(ResourceResolverFactory.class);
+ SimpleReplicationAgent agent = new SimpleReplicationAgent(name,
+ false, "subServiceName", packageImporter,
+ packageExporter, packageExporterStrategy,
+ queueProvider,
+ distributionHandler, replicationEventFactory, resolverFactory, null);
ReplicationRequest request = new ReplicationRequest(System.nanoTime(),
ReplicationActionType.ADD, "/");
ReplicationPackage replicationPackage = mock(ReplicationPackage.class);
+ ResourceResolver resourceResolver = mock(ResourceResolver.class);
+
when(replicationPackage.getPaths()).thenReturn(new String[]{"/"});
ReplicationQueueItemState state = new ReplicationQueueItemState();
state.setItemState(ReplicationQueueItemState.ItemState.SUCCEEDED);
when(distributionHandler.add(any(String.class), any(ReplicationQueueItem.class), eq(queueProvider))).thenReturn(state);
- when(packageExporter.exportPackage(any(ReplicationRequest.class))).thenReturn(Arrays.asList(new ReplicationPackage[]{replicationPackage}));
+ when(packageExporterStrategy.exportPackages(any(ResourceResolver.class), any(ReplicationRequest.class), any(ReplicationPackageExporter.class)))
+ .thenReturn(Arrays.asList(new ReplicationPackage[]{replicationPackage}));
when(queueProvider.getDefaultQueue(agent.getName())).thenReturn(
new SimpleReplicationQueue(agent.getName(), "name"));
- ReplicationResponse response = agent.execute(request);
+ ReplicationResponse response = agent.execute(resourceResolver, request);
assertNotNull(response);
assertEquals("SUCCEEDED", response.getStatus());
}
@@ -103,19 +120,28 @@ public class SimpleReplicationAgentTest
String name = "sample-agent";
ReplicationPackageImporter packageImporter = mock(ReplicationPackageImporter.class);
ReplicationPackageExporter packageExporter = mock(ReplicationPackageExporter.class);
+ ReplicationPackageExporterStrategy packageExporterStrategy = mock(ReplicationPackageExporterStrategy.class);
ReplicationQueueProvider queueProvider = mock(ReplicationQueueProvider.class);
ReplicationQueueDistributionStrategy distributionHandler = mock(ReplicationQueueDistributionStrategy.class);
ReplicationEventFactory replicationEventFactory = mock(ReplicationEventFactory.class);
- SimpleReplicationAgent agent = new SimpleReplicationAgent(name, true,
- false, packageImporter, packageExporter, queueProvider, distributionHandler, replicationEventFactory, null);
+ ResourceResolverFactory resolverFactory = mock(ResourceResolverFactory.class);
+
+
+ SimpleReplicationAgent agent = new SimpleReplicationAgent(name,
+ false, "serviceName", packageImporter,
+ packageExporter, packageExporterStrategy,
+ queueProvider, distributionHandler,
+ replicationEventFactory, resolverFactory, null);
ReplicationRequest request = new ReplicationRequest(System.nanoTime(),
ReplicationActionType.ADD, "/");
ReplicationPackage replicationPackage = mock(ReplicationPackage.class);
+ ResourceResolver resourceResolver = mock(ResourceResolver.class);
+
when(replicationPackage.getPaths()).thenReturn(new String[]{"/"});
- when(packageExporter.exportPackage(request)).thenReturn(Arrays.asList(new ReplicationPackage[]{replicationPackage}));
+ when(packageExporter.exportPackage(resourceResolver, request)).thenReturn(Arrays.asList(new ReplicationPackage[]{replicationPackage}));
when(queueProvider.getDefaultQueue(agent.getName())).thenReturn(
new SimpleReplicationQueue(agent.getName(), "name"));
- agent.execute(request);
+ agent.execute(resourceResolver, request);
}
@Test
@@ -123,12 +149,19 @@ public class SimpleReplicationAgentTest
String name = "sample-agent";
ReplicationPackageImporter packageImporter = mock(ReplicationPackageImporter.class);
ReplicationPackageExporter packageExporter = mock(ReplicationPackageExporter.class);
+ ReplicationPackageExporterStrategy packageExporterStrategy = mock(ReplicationPackageExporterStrategy.class);
+
ReplicationQueueProvider queueProvider = mock(ReplicationQueueProvider.class);
ReplicationQueueDistributionStrategy distributionHandler = mock(ReplicationQueueDistributionStrategy.class);
ReplicationEventFactory replicationEventFactory = mock(ReplicationEventFactory.class);
+ ResourceResolverFactory resolverFactory = mock(ResourceResolverFactory.class);
+
- SimpleReplicationAgent agent = new SimpleReplicationAgent(name, true,
- false, packageImporter, packageExporter, queueProvider, distributionHandler, replicationEventFactory, null);
+ SimpleReplicationAgent agent = new SimpleReplicationAgent(name,
+ false, "serviceName", packageImporter,
+ packageExporter, packageExporterStrategy,
+ queueProvider, distributionHandler,
+ replicationEventFactory, resolverFactory, null);
ReplicationQueue queue = mock(ReplicationQueue.class);
when(queueProvider.getDefaultQueue(agent.getName())).thenReturn(queue);
assertNotNull(agent.getQueue(null));
@@ -139,12 +172,19 @@ public class SimpleReplicationAgentTest
String name = "sample-agent";
ReplicationPackageImporter packageImporter = mock(ReplicationPackageImporter.class);
ReplicationPackageExporter packageExporter = mock(ReplicationPackageExporter.class);
+ ReplicationPackageExporterStrategy packageExporterStrategy = mock(ReplicationPackageExporterStrategy.class);
+
ReplicationQueueProvider queueProvider = mock(ReplicationQueueProvider.class);
ReplicationQueueDistributionStrategy distributionHandler = mock(ReplicationQueueDistributionStrategy.class);
ReplicationEventFactory replicationEventFactory = mock(ReplicationEventFactory.class);
+ ResourceResolverFactory resolverFactory = mock(ResourceResolverFactory.class);
- SimpleReplicationAgent agent = new SimpleReplicationAgent(name, true,
- false, packageImporter, packageExporter, queueProvider, distributionHandler, replicationEventFactory, null);
+
+ SimpleReplicationAgent agent = new SimpleReplicationAgent(name,
+ false, "serviceName", packageImporter,
+ packageExporter, packageExporterStrategy,
+ queueProvider, distributionHandler,
+ replicationEventFactory, resolverFactory, null);
ReplicationQueue queue = mock(ReplicationQueue.class);
when(queueProvider.getQueue(agent.getName(), "priority")).thenReturn(queue);
assertNotNull(agent.getQueue("priority"));
@@ -155,12 +195,19 @@ public class SimpleReplicationAgentTest
String name = "sample-agent";
ReplicationPackageImporter packageImporter = mock(ReplicationPackageImporter.class);
ReplicationPackageExporter packageExporter = mock(ReplicationPackageExporter.class);
+ ReplicationPackageExporterStrategy packageExporterStrategy = mock(ReplicationPackageExporterStrategy.class);
+
ReplicationQueueProvider queueProvider = mock(ReplicationQueueProvider.class);
ReplicationQueueDistributionStrategy distributionHandler = mock(ReplicationQueueDistributionStrategy.class);
ReplicationEventFactory replicationEventFactory = mock(ReplicationEventFactory.class);
+ ResourceResolverFactory resolverFactory = mock(ResourceResolverFactory.class);
+
- SimpleReplicationAgent agent = new SimpleReplicationAgent(name, true,
- false, packageImporter, packageExporter, queueProvider, distributionHandler, replicationEventFactory, null);
+ SimpleReplicationAgent agent = new SimpleReplicationAgent(name,
+ false, "serviceName", packageImporter,
+ packageExporter, packageExporterStrategy,
+ queueProvider, distributionHandler,
+ replicationEventFactory, resolverFactory, null);
ReplicationQueue queue = mock(ReplicationQueue.class);
when(queueProvider.getQueue(agent.getName(), "priority")).thenReturn(queue);
assertNull(agent.getQueue("weird"));
Modified: sling/trunk/contrib/extensions/replication/sample/src/main/resources/SLING-CONTENT/libs/sling/replication/install.author/org.apache.sling.replication.agent.impl.CoordinatingReplicationAgentFactory-pubsync.json
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/replication/sample/src/main/resources/SLING-CONTENT/libs/sling/replication/install.author/org.apache.sling.replication.agent.impl.CoordinatingReplicationAgentFactory-pubsync.json?rev=1631780&r1=1631779&r2=1631780&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/replication/sample/src/main/resources/SLING-CONTENT/libs/sling/replication/install.author/org.apache.sling.replication.agent.impl.CoordinatingReplicationAgentFactory-pubsync.json (original)
+++ sling/trunk/contrib/extensions/replication/sample/src/main/resources/SLING-CONTENT/libs/sling/replication/install.author/org.apache.sling.replication.agent.impl.CoordinatingReplicationAgentFactory-pubsync.json Tue Oct 14 15:09:12 2014
@@ -2,11 +2,13 @@
"jcr:primaryType": "sling:OsgiConfig",
"name": "pubsync",
+ "serviceName" : "replicationService",
+
+
"packageExporter": [
"authenticationProvider/type=service",
"packageBuilder/type=vlt",
- "packageBuilder/servicename=replicationService",
"endpoints[0]=http://localhost:4503/libs/sling/replication/services/exporters/reverse-pubsync",
"endpoints[1]=http://localhost:4504/libs/sling/replication/services/exporters/reverse-pubsync",
@@ -14,11 +16,15 @@
"endpoints.strategy=All"
],
+ "packageExporterStrategy" : [
+ "type=privilege",
+ "jcrPrivilege=jcr:read"
+ ],
+
"packageImporter": [
"authenticationProvider/type=service",
"packageBuilder/type=vlt",
- "packageBuilder/servicename=replicationService",
"endpoints[0]=http://localhost:4503/libs/sling/replication/services/importers/default",
"endpoints[1]=http://localhost:4504/libs/sling/replication/services/importers/default",
Modified: sling/trunk/contrib/extensions/replication/sample/src/main/resources/SLING-CONTENT/libs/sling/replication/install.author/org.apache.sling.replication.agent.impl.SimpleReplicationAgentFactory-publish-reverse.json
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/replication/sample/src/main/resources/SLING-CONTENT/libs/sling/replication/install.author/org.apache.sling.replication.agent.impl.SimpleReplicationAgentFactory-publish-reverse.json?rev=1631780&r1=1631779&r2=1631780&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/replication/sample/src/main/resources/SLING-CONTENT/libs/sling/replication/install.author/org.apache.sling.replication.agent.impl.SimpleReplicationAgentFactory-publish-reverse.json (original)
+++ sling/trunk/contrib/extensions/replication/sample/src/main/resources/SLING-CONTENT/libs/sling/replication/install.author/org.apache.sling.replication.agent.impl.SimpleReplicationAgentFactory-publish-reverse.json Tue Oct 14 15:09:12 2014
@@ -4,20 +4,26 @@
"enabled" : true,
+ "serviceName" : "replicationService",
+
+
"packageExporter": [
"type=remote",
"endpoints[0]=http://localhost:4503/libs/sling/replication/services/exporters/reverse",
"authenticationProvider/type=service",
- "packageBuilder/type=vlt",
- "packageBuilder/servicename=replicationService"
+ "packageBuilder/type=vlt"
+ ],
+
+ "packageExporterStrategy" : [
+ "type=privilege",
+ "jcrPrivilege=jcr:read"
],
"packageImporter": [
"type=local",
"packageBuilder/type=vlt",
- "packageBuilder/servicename=replicationService"
],
"trigger0": [
Modified: sling/trunk/contrib/extensions/replication/sample/src/main/resources/SLING-CONTENT/libs/sling/replication/install.author/org.apache.sling.replication.agent.impl.SimpleReplicationAgentFactory-publish.json
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/replication/sample/src/main/resources/SLING-CONTENT/libs/sling/replication/install.author/org.apache.sling.replication.agent.impl.SimpleReplicationAgentFactory-publish.json?rev=1631780&r1=1631779&r2=1631780&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/replication/sample/src/main/resources/SLING-CONTENT/libs/sling/replication/install.author/org.apache.sling.replication.agent.impl.SimpleReplicationAgentFactory-publish.json (original)
+++ sling/trunk/contrib/extensions/replication/sample/src/main/resources/SLING-CONTENT/libs/sling/replication/install.author/org.apache.sling.replication.agent.impl.SimpleReplicationAgentFactory-publish.json Tue Oct 14 15:09:12 2014
@@ -2,10 +2,16 @@
"jcr:primaryType": "sling:OsgiConfig",
"name": "publish",
+ "serviceName" : "replicationService",
+
"packageExporter": [
"type=local",
- "packageBuilder/type=vlt",
- "packageBuilder/servicename=replicationService"
+ "packageBuilder/type=vlt"
+ ],
+
+ "packageExporterStrategy" : [
+ "type=privilege",
+ "jcrPrivilege=jcr:read"
],
"packageImporter": [
@@ -14,8 +20,7 @@
"authenticationProvider/type=service",
- "packageBuilder/type=vlt",
- "packageBuilder/servicename=replicationService"
+ "packageBuilder/type=vlt"
],
"queueProvider.target" : "(name=sjh)",
Modified: sling/trunk/contrib/extensions/replication/sample/src/main/resources/SLING-CONTENT/libs/sling/replication/install.publish/org.apache.sling.replication.agent.impl.SimpleReplicationAgentFactory-cache-flush.json
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/replication/sample/src/main/resources/SLING-CONTENT/libs/sling/replication/install.publish/org.apache.sling.replication.agent.impl.SimpleReplicationAgentFactory-cache-flush.json?rev=1631780&r1=1631779&r2=1631780&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/replication/sample/src/main/resources/SLING-CONTENT/libs/sling/replication/install.publish/org.apache.sling.replication.agent.impl.SimpleReplicationAgentFactory-cache-flush.json (original)
+++ sling/trunk/contrib/extensions/replication/sample/src/main/resources/SLING-CONTENT/libs/sling/replication/install.publish/org.apache.sling.replication.agent.impl.SimpleReplicationAgentFactory-cache-flush.json Tue Oct 14 15:09:12 2014
@@ -7,6 +7,10 @@
"name=void"
],
+ "packageExporterStrategy" : [
+ "type=default"
+ ],
+
"packageImporter": [
"type=service",
"name=cache-flush"
Modified: sling/trunk/contrib/extensions/replication/sample/src/main/resources/SLING-CONTENT/libs/sling/replication/install.publish/org.apache.sling.replication.agent.impl.SimpleReplicationAgentFactory-reverse.json
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/replication/sample/src/main/resources/SLING-CONTENT/libs/sling/replication/install.publish/org.apache.sling.replication.agent.impl.SimpleReplicationAgentFactory-reverse.json?rev=1631780&r1=1631779&r2=1631780&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/replication/sample/src/main/resources/SLING-CONTENT/libs/sling/replication/install.publish/org.apache.sling.replication.agent.impl.SimpleReplicationAgentFactory-reverse.json (original)
+++ sling/trunk/contrib/extensions/replication/sample/src/main/resources/SLING-CONTENT/libs/sling/replication/install.publish/org.apache.sling.replication.agent.impl.SimpleReplicationAgentFactory-reverse.json Tue Oct 14 15:09:12 2014
@@ -10,6 +10,11 @@
"packageBuilder/servicename=replicationService"
],
+ "packageExporterStrategy" : [
+ "type=privilege",
+ "jcrPrivilege=jcr:read"
+ ],
+
"packageImporter": [
"type=local",
"packageBuilder/type=vlt",