Author: tommaso Date: Thu Oct 16 07:03:31 2014 New Revision: 1632218 URL: http://svn.apache.org/r1632218 Log: SLING-3899 - using authorization strategy for checking resource resolver
Added: sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/agent/ReplicationRequestAuthorizationStrategy.java (with props) sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/agent/impl/PrivilegeReplicationRequestAuthorizationStrategy.java (with props) Removed: sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/packaging/ReplicationPackageExporterStrategy.java sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/packaging/impl/exporter/strategy/ Modified: sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/agent/impl/DefaultReplicationComponentFactory.java sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/agent/impl/SimpleReplicationAgent.java sling/trunk/contrib/extensions/replication/core/src/test/java/org/apache/sling/replication/agent/impl/SimpleReplicationAgentTest.java 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 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 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 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 Added: sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/agent/ReplicationRequestAuthorizationStrategy.java URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/agent/ReplicationRequestAuthorizationStrategy.java?rev=1632218&view=auto ============================================================================== --- sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/agent/ReplicationRequestAuthorizationStrategy.java (added) +++ sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/agent/ReplicationRequestAuthorizationStrategy.java Thu Oct 16 07:03:31 2014 @@ -0,0 +1,42 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.sling.replication.agent; + +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.packaging.ReplicationPackageExporter; +import org.apache.sling.replication.serialization.ReplicationPackageBuildingException; + +/** + * Strategy for authorizing requests + */ +public interface ReplicationRequestAuthorizationStrategy { + + /** + * @param resourceResolver a {@link org.apache.sling.api.resource.ResourceResolver} representing the calling 'user' + * @param replicationRequest a request bringing metadata for getting {@link org.apache.sling.replication.packaging.ReplicationPackage}s + * to be exported + * @throws AgentReplicationException + */ + void checkPermission(ResourceResolver resourceResolver, ReplicationRequest replicationRequest) throws AgentReplicationException; + +} Propchange: sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/agent/ReplicationRequestAuthorizationStrategy.java ------------------------------------------------------------------------------ svn:eol-style = native Modified: sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/agent/impl/DefaultReplicationComponentFactory.java URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/agent/impl/DefaultReplicationComponentFactory.java?rev=1632218&r1=1632217&r2=1632218&view=diff ============================================================================== --- sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/agent/impl/DefaultReplicationComponentFactory.java (original) +++ sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/agent/impl/DefaultReplicationComponentFactory.java Thu Oct 16 07:03:31 2014 @@ -36,15 +36,13 @@ import org.apache.sling.jcr.api.SlingRep import org.apache.sling.replication.agent.ReplicationAgent; import org.apache.sling.replication.agent.ReplicationComponentFactory; import org.apache.sling.replication.agent.ReplicationComponentProvider; +import org.apache.sling.replication.agent.ReplicationRequestAuthorizationStrategy; import org.apache.sling.replication.event.ReplicationEventFactory; 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.packaging.impl.exporter.AgentReplicationPackageExporter; import org.apache.sling.replication.packaging.impl.exporter.LocalReplicationPackageExporter; import org.apache.sling.replication.packaging.impl.exporter.RemoteReplicationPackageExporter; -import org.apache.sling.replication.packaging.impl.exporter.strategy.DefaultReplicationPackageExporterStrategy; -import org.apache.sling.replication.packaging.impl.exporter.strategy.PrivilegeReplicationPackageExporterStrategy; import org.apache.sling.replication.packaging.impl.importer.LocalReplicationPackageImporter; import org.apache.sling.replication.packaging.impl.importer.RemoteReplicationPackageImporter; import org.apache.sling.replication.queue.ReplicationQueueDistributionStrategy; @@ -147,8 +145,8 @@ public class DefaultReplicationComponent Map<String, Object> exporterProperties = extractMap("packageExporter", properties); ReplicationPackageExporter packageExporter = createExporter(exporterProperties, componentProvider); - Map<String, Object> exporterStrategyProperties = extractMap("packageExporterStrategy", properties); - ReplicationPackageExporterStrategy packageExporterStrategy = createExporterStrategy(exporterStrategyProperties, componentProvider); + Map<String, Object> authorizationStrategyProperties = extractMap("requestAuthorizationStrategy", properties); + ReplicationRequestAuthorizationStrategy packageExporterStrategy = createAuthorizationStrategy(authorizationStrategyProperties, componentProvider); Map<String, Object> queueDistributionStrategyProperties = extractMap("queueDistributionStrategy", properties); ReplicationQueueDistributionStrategy queueDistributionStrategy = createDistributionStrategy(queueDistributionStrategyProperties, componentProvider); @@ -177,20 +175,17 @@ public class DefaultReplicationComponent } - private ReplicationPackageExporterStrategy createExporterStrategy(Map<String, Object> properties, ReplicationComponentProvider componentProvider) { + private ReplicationRequestAuthorizationStrategy createAuthorizationStrategy(Map<String, Object> properties, ReplicationComponentProvider componentProvider) { String factory = PropertiesUtil.toString(properties.get(COMPONENT_TYPE), "service"); if ("service".equals(factory)) { String name = PropertiesUtil.toString(properties.get(NAME), null); - return componentProvider.getComponent(ReplicationPackageExporterStrategy.class, name); + return componentProvider.getComponent(ReplicationRequestAuthorizationStrategy.class, name); } - else if (DefaultReplicationPackageExporterStrategy.NAME.equals(factory)) { - return new DefaultReplicationPackageExporterStrategy(); - } - else if (PrivilegeReplicationPackageExporterStrategy.NAME.equals(factory)) { - return new PrivilegeReplicationPackageExporterStrategy(properties); + else if (PrivilegeReplicationRequestAuthorizationStrategy.NAME.equals(factory)) { + return new PrivilegeReplicationRequestAuthorizationStrategy(properties); } return null; Added: sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/agent/impl/PrivilegeReplicationRequestAuthorizationStrategy.java URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/agent/impl/PrivilegeReplicationRequestAuthorizationStrategy.java?rev=1632218&view=auto ============================================================================== --- sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/agent/impl/PrivilegeReplicationRequestAuthorizationStrategy.java (added) +++ sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/agent/impl/PrivilegeReplicationRequestAuthorizationStrategy.java Thu Oct 16 07:03:31 2014 @@ -0,0 +1,102 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.sling.replication.agent.impl; + +import javax.jcr.RepositoryException; +import javax.jcr.Session; +import javax.jcr.security.AccessControlManager; +import javax.jcr.security.Privilege; +import java.util.List; +import java.util.Map; + +import org.apache.sling.api.resource.ResourceResolver; +import org.apache.sling.commons.osgi.PropertiesUtil; +import org.apache.sling.replication.agent.AgentReplicationException; +import org.apache.sling.replication.agent.ReplicationRequestAuthorizationStrategy; +import org.apache.sling.replication.communication.ReplicationActionType; +import org.apache.sling.replication.communication.ReplicationRequest; +import org.apache.sling.replication.packaging.ReplicationPackage; +import org.apache.sling.replication.packaging.ReplicationPackageExporter; +import org.apache.sling.replication.serialization.ReplicationPackageBuildingException; + +public class PrivilegeReplicationRequestAuthorizationStrategy implements ReplicationRequestAuthorizationStrategy { + public static final String NAME = "privilege"; + public static final String JCR_PRIVILEGE = "jcrPrivilege"; + + private final String jcrPrivilege; + + public PrivilegeReplicationRequestAuthorizationStrategy(Map<String, Object> config) { + this(PropertiesUtil.toString(config.get(JCR_PRIVILEGE), null)); + } + + public PrivilegeReplicationRequestAuthorizationStrategy(String jcrPrivilege) { + if (jcrPrivilege == null) { + throw new IllegalArgumentException("Jcr Privilege is required"); + } + + this.jcrPrivilege = jcrPrivilege; + } + + public void checkPermission(ResourceResolver resourceResolver, ReplicationRequest replicationRequest) throws AgentReplicationException { + Session session = resourceResolver.adaptTo(Session.class); + + try { + if (ReplicationActionType.ADD.equals(replicationRequest.getAction())) { + checkPermissionForAdd(session, replicationRequest.getPaths()); + } + else if (ReplicationActionType.DELETE.equals(replicationRequest.getAction())) { + checkPermissionForDelete(session, replicationRequest.getPaths()); + } + + } + catch (RepositoryException e) { + throw new AgentReplicationException("Not enough privileges"); + } + + + } + + private void checkPermissionForAdd(Session session, String[] paths) + throws RepositoryException, AgentReplicationException { + AccessControlManager acMgr = session.getAccessControlManager(); + + Privilege[] privileges = new Privilege[] { acMgr.privilegeFromName(jcrPrivilege), acMgr.privilegeFromName(Privilege.JCR_READ) }; + for (String path : paths) { + if(!acMgr.hasPrivileges(path, privileges)) { + throw new AgentReplicationException("Not enough privileges"); + } + } + + } + + private void checkPermissionForDelete(Session session, String[] paths) + throws RepositoryException, AgentReplicationException { + AccessControlManager acMgr = session.getAccessControlManager(); + + Privilege[] privileges = new Privilege[] { acMgr.privilegeFromName(jcrPrivilege), acMgr.privilegeFromName(Privilege.JCR_REMOVE_NODE) }; + for (String path : paths) { + if(session.nodeExists(path) && !acMgr.hasPrivileges(path, privileges)) { + throw new AgentReplicationException("Not enough privileges"); + } + } + + } + + +} Propchange: sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/agent/impl/PrivilegeReplicationRequestAuthorizationStrategy.java ------------------------------------------------------------------------------ svn:eol-style = native Modified: sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/agent/impl/SimpleReplicationAgent.java URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/agent/impl/SimpleReplicationAgent.java?rev=1632218&r1=1632217&r2=1632218&view=diff ============================================================================== --- sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/agent/impl/SimpleReplicationAgent.java (original) +++ sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/agent/impl/SimpleReplicationAgent.java Thu Oct 16 07:03:31 2014 @@ -32,13 +32,13 @@ import org.apache.sling.api.resource.Res import org.apache.sling.replication.agent.AgentReplicationException; import org.apache.sling.replication.agent.ReplicationAgent; import org.apache.sling.replication.agent.ReplicationComponent; +import org.apache.sling.replication.agent.ReplicationRequestAuthorizationStrategy; 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.event.ReplicationEventType; 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; @@ -75,7 +75,7 @@ public class SimpleReplicationAgent impl private final String name; - private final ReplicationPackageExporterStrategy replicationPackageExporterStrategy; + private final ReplicationRequestAuthorizationStrategy replicationRequestAuthorizationStrategy; private final ResourceResolverFactory resourceResolverFactory; private final String subServiceName; @@ -84,21 +84,20 @@ public class SimpleReplicationAgent impl String subServiceName, ReplicationPackageImporter replicationPackageImporter, ReplicationPackageExporter replicationPackageExporter, - ReplicationPackageExporterStrategy replicationPackageExporterStrategy, + ReplicationRequestAuthorizationStrategy replicationRequestAuthorizationStrategy, ReplicationQueueProvider queueProvider, ReplicationQueueDistributionStrategy queueDistributionStrategy, ReplicationEventFactory replicationEventFactory, ResourceResolverFactory resourceResolverFactory, List<ReplicationTrigger> triggers) { - this.subServiceName = subServiceName; - this.replicationPackageExporterStrategy = replicationPackageExporterStrategy; - this.resourceResolverFactory = resourceResolverFactory; + // check configuration is valid if (name == null || replicationPackageImporter == null || replicationPackageExporter == null - || replicationPackageExporterStrategy == null + || subServiceName == null + || replicationRequestAuthorizationStrategy == null || queueProvider == null || queueDistributionStrategy == null || replicationEventFactory == null @@ -107,7 +106,8 @@ public class SimpleReplicationAgent impl String errorMessage = Arrays.toString(new Object[]{name, replicationPackageImporter, replicationPackageExporter, - replicationPackageExporterStrategy, + subServiceName, + replicationRequestAuthorizationStrategy, queueProvider, queueDistributionStrategy, replicationEventFactory, @@ -115,6 +115,9 @@ public class SimpleReplicationAgent impl throw new IllegalArgumentException("all arguments are required: " + errorMessage); } + this.subServiceName = subServiceName; + this.replicationRequestAuthorizationStrategy = replicationRequestAuthorizationStrategy; + this.resourceResolverFactory = resourceResolverFactory; this.name = name; this.passive = passive; this.replicationPackageImporter = replicationPackageImporter; @@ -128,7 +131,9 @@ public class SimpleReplicationAgent impl public ReplicationResponse execute(ResourceResolver resourceResolver, ReplicationRequest replicationRequest) throws AgentReplicationException { try { - return schedule(buildPackages(resourceResolver, replicationRequest)); + replicationRequestAuthorizationStrategy.checkPermission(resourceResolver, replicationRequest); + List<ReplicationPackage> replicationPackages = buildPackages(replicationRequest); + return schedule(replicationPackages); } catch (Exception e) { log.error("Error executing replication request {}", replicationRequest, e); throw new AgentReplicationException(e); @@ -140,23 +145,11 @@ public class SimpleReplicationAgent impl return passive; } - private List<ReplicationPackage> buildPackages(ResourceResolver resourceResolver, ReplicationRequest replicationRequest) throws ReplicationPackageBuildingException { - - List<ReplicationPackage> replicationPackages = new ArrayList<ReplicationPackage>(); + private List<ReplicationPackage> buildPackages(ReplicationRequest replicationRequest) throws ReplicationPackageBuildingException { + ResourceResolver agentResourceResolver = getAgentResourceResolver(); - List<ReplicationPackage> exportedPackages = replicationPackageExporterStrategy.exportPackages(resourceResolver, - replicationRequest, - new ReplicationPackageExporter() { - public List<ReplicationPackage> exportPackage(ResourceResolver resourceResolver, ReplicationRequest replicationRequest) throws ReplicationPackageBuildingException { - return replicationPackageExporter.exportPackage(getAgentResourceResolver(), replicationRequest); - } - - public ReplicationPackage exportPackageById(ResourceResolver resourceResolver, String replicationPackageId) { - return replicationPackageExporter.exportPackageById(getAgentResourceResolver(), replicationPackageId); - } - }); - replicationPackages.addAll(exportedPackages); + List<ReplicationPackage> replicationPackages = replicationPackageExporter.exportPackage(agentResourceResolver, replicationRequest); return replicationPackages; } 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=1632218&r1=1632217&r2=1632218&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 Thu Oct 16 07:03:31 2014 @@ -22,13 +22,13 @@ import java.util.Arrays; import org.apache.sling.api.resource.ResourceResolver; import org.apache.sling.api.resource.ResourceResolverFactory; +import org.apache.sling.replication.agent.ReplicationRequestAuthorizationStrategy; 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; @@ -56,7 +56,7 @@ public class SimpleReplicationAgentTest String name = "sample-agent"; ReplicationPackageImporter packageImporter = mock(ReplicationPackageImporter.class); ReplicationPackageExporter packageExporter = mock(ReplicationPackageExporter.class); - ReplicationPackageExporterStrategy packageExporterStrategy = mock(ReplicationPackageExporterStrategy.class); + ReplicationRequestAuthorizationStrategy packageExporterStrategy = mock(ReplicationRequestAuthorizationStrategy.class); ReplicationQueueProvider queueProvider = mock(ReplicationQueueProvider.class); ReplicationQueueDistributionStrategy distributionHandler = mock(ReplicationQueueDistributionStrategy.class); ReplicationEventFactory replicationEventFactory = mock(ReplicationEventFactory.class); @@ -73,7 +73,7 @@ public class SimpleReplicationAgentTest ResourceResolver resourceResolver = mock(ResourceResolver.class); when(replicationPackage.getPaths()).thenReturn(new String[]{"/"}); - when(packageExporterStrategy.exportPackages(any(ResourceResolver.class), any(ReplicationRequest.class), any(ReplicationPackageExporter.class))) + when(packageExporter.exportPackage(any(ResourceResolver.class), any(ReplicationRequest.class))) .thenReturn(Arrays.asList(new ReplicationPackage[]{replicationPackage})); when(queueProvider.getDefaultQueue(agent.getName())).thenReturn( new SimpleReplicationQueue(agent.getName(), "name")); @@ -87,7 +87,7 @@ public class SimpleReplicationAgentTest String name = "sample-agent"; ReplicationPackageImporter packageImporter = mock(ReplicationPackageImporter.class); ReplicationPackageExporter packageExporter = mock(ReplicationPackageExporter.class); - ReplicationPackageExporterStrategy packageExporterStrategy = mock(ReplicationPackageExporterStrategy.class); + ReplicationRequestAuthorizationStrategy packageExporterStrategy = mock(ReplicationRequestAuthorizationStrategy.class); ReplicationQueueProvider queueProvider = mock(ReplicationQueueProvider.class); ReplicationQueueDistributionStrategy distributionHandler = mock(ReplicationQueueDistributionStrategy.class); ReplicationEventFactory replicationEventFactory = mock(ReplicationEventFactory.class); @@ -106,7 +106,7 @@ public class SimpleReplicationAgentTest ReplicationQueueItemState state = new ReplicationQueueItemState(); state.setItemState(ReplicationQueueItemState.ItemState.SUCCEEDED); when(distributionHandler.add(any(String.class), any(ReplicationQueueItem.class), eq(queueProvider))).thenReturn(state); - when(packageExporterStrategy.exportPackages(any(ResourceResolver.class), any(ReplicationRequest.class), any(ReplicationPackageExporter.class))) + when(packageExporter.exportPackage(any(ResourceResolver.class), any(ReplicationRequest.class))) .thenReturn(Arrays.asList(new ReplicationPackage[]{replicationPackage})); when(queueProvider.getDefaultQueue(agent.getName())).thenReturn( new SimpleReplicationQueue(agent.getName(), "name")); @@ -120,7 +120,7 @@ public class SimpleReplicationAgentTest String name = "sample-agent"; ReplicationPackageImporter packageImporter = mock(ReplicationPackageImporter.class); ReplicationPackageExporter packageExporter = mock(ReplicationPackageExporter.class); - ReplicationPackageExporterStrategy packageExporterStrategy = mock(ReplicationPackageExporterStrategy.class); + ReplicationRequestAuthorizationStrategy packageExporterStrategy = mock(ReplicationRequestAuthorizationStrategy.class); ReplicationQueueProvider queueProvider = mock(ReplicationQueueProvider.class); ReplicationQueueDistributionStrategy distributionHandler = mock(ReplicationQueueDistributionStrategy.class); ReplicationEventFactory replicationEventFactory = mock(ReplicationEventFactory.class); @@ -149,7 +149,7 @@ public class SimpleReplicationAgentTest String name = "sample-agent"; ReplicationPackageImporter packageImporter = mock(ReplicationPackageImporter.class); ReplicationPackageExporter packageExporter = mock(ReplicationPackageExporter.class); - ReplicationPackageExporterStrategy packageExporterStrategy = mock(ReplicationPackageExporterStrategy.class); + ReplicationRequestAuthorizationStrategy packageExporterStrategy = mock(ReplicationRequestAuthorizationStrategy.class); ReplicationQueueProvider queueProvider = mock(ReplicationQueueProvider.class); ReplicationQueueDistributionStrategy distributionHandler = mock(ReplicationQueueDistributionStrategy.class); @@ -172,7 +172,7 @@ public class SimpleReplicationAgentTest String name = "sample-agent"; ReplicationPackageImporter packageImporter = mock(ReplicationPackageImporter.class); ReplicationPackageExporter packageExporter = mock(ReplicationPackageExporter.class); - ReplicationPackageExporterStrategy packageExporterStrategy = mock(ReplicationPackageExporterStrategy.class); + ReplicationRequestAuthorizationStrategy packageExporterStrategy = mock(ReplicationRequestAuthorizationStrategy.class); ReplicationQueueProvider queueProvider = mock(ReplicationQueueProvider.class); ReplicationQueueDistributionStrategy distributionHandler = mock(ReplicationQueueDistributionStrategy.class); @@ -195,7 +195,7 @@ public class SimpleReplicationAgentTest String name = "sample-agent"; ReplicationPackageImporter packageImporter = mock(ReplicationPackageImporter.class); ReplicationPackageExporter packageExporter = mock(ReplicationPackageExporter.class); - ReplicationPackageExporterStrategy packageExporterStrategy = mock(ReplicationPackageExporterStrategy.class); + ReplicationRequestAuthorizationStrategy packageExporterStrategy = mock(ReplicationRequestAuthorizationStrategy.class); ReplicationQueueProvider queueProvider = mock(ReplicationQueueProvider.class); ReplicationQueueDistributionStrategy distributionHandler = mock(ReplicationQueueDistributionStrategy.class); 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=1632218&r1=1632217&r2=1632218&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 Thu Oct 16 07:03:31 2014 @@ -16,7 +16,7 @@ "packageBuilder/type=vlt" ], - "packageExporterStrategy" : [ + "requestAuthorizationStrategy" : [ "type=privilege", "jcrPrivilege=jcr:read" ], 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=1632218&r1=1632217&r2=1632218&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 Thu Oct 16 07:03:31 2014 @@ -9,7 +9,7 @@ "packageBuilder/type=vlt" ], - "packageExporterStrategy" : [ + "requestAuthorizationStrategy" : [ "type=privilege", "jcrPrivilege=jcr:read" ], 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=1632218&r1=1632217&r2=1632218&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 Thu Oct 16 07:03:31 2014 @@ -7,7 +7,7 @@ "name=void" ], - "packageExporterStrategy" : [ + "requestAuthorizationStrategy" : [ "type=default" ], 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=1632218&r1=1632217&r2=1632218&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 Thu Oct 16 07:03:31 2014 @@ -8,10 +8,10 @@ "packageExporter": [ "type=local", - "packageBuilder/type=vlt", + "packageBuilder/type=vlt" ], - "packageExporterStrategy" : [ + "requestAuthorizationStrategy" : [ "type=privilege", "jcrPrivilege=jcr:read" ],