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/09/24 10:43:26 UTC
svn commit: r1627255 - in /sling/trunk/contrib/extensions/replication:
core/src/main/java/org/apache/sling/replication/agent/impl/
core/src/main/java/org/apache/sling/replication/packaging/impl/exporter/
core/src/main/java/org/apache/sling/replication/...
Author: tommaso
Date: Wed Sep 24 08:43:25 2014
New Revision: 1627255
URL: http://svn.apache.org/r1627255
Log:
SLING-3900 - applied Marius Petria's patch for removing password from transport configuration
Added:
sling/trunk/contrib/extensions/replication/core/src/main/resources/SLING-CONTENT/libs/sling/replication/install.author/org.apache.sling.replication.transport.authentication.impl.UserCredentialsTransportAuthenticationProviderFactory-publishAdmin.json
sling/trunk/contrib/extensions/replication/core/src/main/resources/SLING-CONTENT/libs/sling/replication/install/org.apache.sling.serviceusermapping.impl.ServiceUserMapperImpl.amended-replication.json
Modified:
sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/agent/impl/DefaultReplicationComponentProvider.java
sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/packaging/impl/exporter/RemoteReplicationPackageExporter.java
sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/packaging/impl/exporter/RemoteReplicationPackageExporterFactory.java
sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/packaging/impl/importer/AdvancedRemoteReplicationPackageImporter.java
sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/packaging/impl/importer/RemoteReplicationPackageImporter.java
sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/packaging/impl/importer/RemoteReplicationPackageImporterFactory.java
sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/transport/authentication/impl/NopTransportAuthenticationProvider.java
sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/transport/authentication/impl/RepositoryTransportAuthenticationProvider.java
sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/transport/authentication/impl/UserCredentialsTransportAuthenticationProvider.java
sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/transport/authentication/impl/UserCredentialsTransportAuthenticationProviderFactory.java
sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/transport/impl/ReplicationTransportConstants.java
sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/transport/impl/SimpleHttpReplicationTransportHandler.java
sling/trunk/contrib/extensions/replication/core/src/main/resources/SLING-CONTENT/libs/sling/replication/install.author/org.apache.sling.replication.agent.impl.CompactSimpleReplicationAgentFactory-publish-reverse.json
sling/trunk/contrib/extensions/replication/core/src/main/resources/SLING-CONTENT/libs/sling/replication/install.author/org.apache.sling.replication.agent.impl.CompactSimpleReplicationAgentFactory-publish.json
sling/trunk/contrib/extensions/replication/it/src/test/java/org/apache/sling/replication/it/ReplicationIntegrationTestBase.java
Modified: sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/agent/impl/DefaultReplicationComponentProvider.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/agent/impl/DefaultReplicationComponentProvider.java?rev=1627255&r1=1627254&r2=1627255&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/agent/impl/DefaultReplicationComponentProvider.java (original)
+++ sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/agent/impl/DefaultReplicationComponentProvider.java Wed Sep 24 08:43:25 2014
@@ -28,7 +28,8 @@ import org.apache.sling.replication.queu
import org.apache.sling.replication.rule.ReplicationRuleEngine;
import org.apache.sling.replication.serialization.ReplicationPackageBuilder;
import org.apache.sling.replication.serialization.impl.vlt.FileVaultReplicationPackageBuilderFactory;
-import org.apache.sling.replication.transport.authentication.TransportAuthenticationProviderFactory;
+import org.apache.sling.replication.transport.authentication.TransportAuthenticationProvider;
+import org.apache.sling.replication.transport.authentication.impl.UserCredentialsTransportAuthenticationProvider;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -40,7 +41,7 @@ import org.slf4j.LoggerFactory;
@Reference(name = "replicationPackageExporter", referenceInterface = ReplicationPackageExporter.class, cardinality = ReferenceCardinality.OPTIONAL_MULTIPLE, policy = ReferencePolicy.DYNAMIC),
@Reference(name = "replicationQueueProvider", referenceInterface = ReplicationQueueProvider.class, cardinality = ReferenceCardinality.OPTIONAL_MULTIPLE, policy = ReferencePolicy.DYNAMIC),
@Reference(name = "replicationQueueDistributionStrategy", referenceInterface = ReplicationQueueDistributionStrategy.class, cardinality = ReferenceCardinality.OPTIONAL_MULTIPLE, policy = ReferencePolicy.DYNAMIC),
- @Reference(name = "transportAuthenticationProviderFactory", referenceInterface = TransportAuthenticationProviderFactory.class, cardinality = ReferenceCardinality.OPTIONAL_MULTIPLE, policy = ReferencePolicy.DYNAMIC),
+ @Reference(name = "transportAuthenticationProvider", referenceInterface = TransportAuthenticationProvider.class, cardinality = ReferenceCardinality.OPTIONAL_MULTIPLE, policy = ReferencePolicy.DYNAMIC),
@Reference(name = "replicationComponentListener", referenceInterface = ReplicationComponentListener.class, cardinality = ReferenceCardinality.OPTIONAL_MULTIPLE, policy = ReferencePolicy.DYNAMIC)
})
public class DefaultReplicationComponentProvider implements ReplicationComponentProvider {
@@ -65,7 +66,7 @@ public class DefaultReplicationComponent
Map<String, ReplicationComponentListener> replicationComponentListenerMap = new ConcurrentHashMap<String, ReplicationComponentListener>();
Map<String, ReplicationQueueProvider> replicationQueueProviderMap = new ConcurrentHashMap<String, ReplicationQueueProvider>();
Map<String, ReplicationQueueDistributionStrategy> replicationQueueDistributionStrategyMap = new ConcurrentHashMap<String, ReplicationQueueDistributionStrategy>();
- Map<String, TransportAuthenticationProviderFactory> transportAuthenticationProviderFactoryMap = new ConcurrentHashMap<String, TransportAuthenticationProviderFactory>();
+ Map<String, TransportAuthenticationProvider> transportAuthenticationProviderMap = new ConcurrentHashMap<String, TransportAuthenticationProvider>();
Map<String, ReplicationPackageImporter> replicationPackageImporterMap = new ConcurrentHashMap<String, ReplicationPackageImporter>();
Map<String, ReplicationPackageExporter> replicationPackageExporterMap = new ConcurrentHashMap<String, ReplicationPackageExporter>();
@@ -78,8 +79,8 @@ public class DefaultReplicationComponent
return (ComponentType) replicationQueueProviderMap.get(componentName);
} else if (type.isAssignableFrom(ReplicationQueueDistributionStrategy.class)) {
return (ComponentType) replicationQueueDistributionStrategyMap.get(componentName);
- } else if (type.isAssignableFrom(TransportAuthenticationProviderFactory.class)) {
- return (ComponentType) transportAuthenticationProviderFactoryMap.get(componentName);
+ } else if (type.isAssignableFrom(TransportAuthenticationProvider.class)) {
+ return (ComponentType) transportAuthenticationProviderMap.get(componentName);
}
return null;
@@ -158,13 +159,13 @@ public class DefaultReplicationComponent
ReplicationPackageBuilder packageBuilder = createBuilder(builderProperties);
return LocalReplicationPackageExporterFactory.getInstance(packageBuilder);
} else if ("remote".equals(factory)) {
- Map<String, Object> authenticationFactoryProperties = extractMap("authenticationFactory", properties);
- TransportAuthenticationProviderFactory authenticationProviderFactory = createAuthenticationProviderFactory(authenticationFactoryProperties, componentProvider);
+ Map<String, Object> authenticationProviderProperties = extractMap("authenticationProvider", properties);
+ TransportAuthenticationProvider authenticationProvider = createTransportAuthenticationProvider(authenticationProviderProperties, componentProvider);
Map<String, Object> builderProperties = extractMap("packageBuilder", properties);
ReplicationPackageBuilder packageBuilder = createBuilder(builderProperties);
- return RemoteReplicationPackageExporterFactory.getInstance(properties, packageBuilder, authenticationProviderFactory);
+ return RemoteReplicationPackageExporterFactory.getInstance(properties, packageBuilder, authenticationProvider);
}
return null;
@@ -182,9 +183,10 @@ public class DefaultReplicationComponent
ReplicationPackageBuilder packageBuilder = createBuilder(builderProperties);
return LocalReplicationPackageImporterFactory.getInstance(properties, packageBuilder, replicationEventFactory);
} else if ("remote".equals(factory)) {
- Map<String, Object> authenticationFactoryProperties = extractMap("authenticationFactory", properties);
- TransportAuthenticationProviderFactory authenticationProviderFactory = createAuthenticationProviderFactory(authenticationFactoryProperties, componentProvider);
- return RemoteReplicationPackageImporterFactory.getInstance(properties, authenticationProviderFactory);
+ Map<String, Object> authenticationProviderProperties = extractMap("authenticationProvider", properties);
+ TransportAuthenticationProvider authenticationProvider = createTransportAuthenticationProvider(authenticationProviderProperties, componentProvider);
+
+ return RemoteReplicationPackageImporterFactory.getInstance(properties, authenticationProvider);
}
return null;
@@ -213,14 +215,17 @@ public class DefaultReplicationComponent
return null;
}
- public TransportAuthenticationProviderFactory createAuthenticationProviderFactory(Map<String, Object> properties, ReplicationComponentProvider componentProvider) {
+ public TransportAuthenticationProvider createTransportAuthenticationProvider(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(TransportAuthenticationProviderFactory.class, name);
+ return componentProvider.getComponent(TransportAuthenticationProvider.class, name);
}
+ else if ("user".equals(factory)) {
+ return new UserCredentialsTransportAuthenticationProvider(properties);
+ }
return null;
}
@@ -284,23 +289,23 @@ public class DefaultReplicationComponent
}
}
- private void bindTransportAuthenticationProviderFactory(TransportAuthenticationProviderFactory transportAuthenticationProviderFactory, Map<String, Object> config) {
+ private void bindTransportAuthenticationProvider(TransportAuthenticationProvider transportAuthenticationProvider, Map<String, Object> config) {
String name = (String) config.get("name");
if (name != null) {
- transportAuthenticationProviderFactoryMap.put(name, transportAuthenticationProviderFactory);
- notifyListeners(transportAuthenticationProviderFactory, name, true);
+ transportAuthenticationProviderMap.put(name, transportAuthenticationProvider);
+ notifyListeners(transportAuthenticationProvider, name, true);
}
}
- private void unbindTransportAuthenticationProviderFactory(TransportAuthenticationProviderFactory transportAuthenticationProviderFactory, Map<String, Object> config) {
+ private void unbindTransportAuthenticationProvider(TransportAuthenticationProvider transportAuthenticationProvider, Map<String, Object> config) {
String name = (String) config.get("name");
if (name != null) {
- transportAuthenticationProviderFactoryMap.remove(name);
- notifyListeners(transportAuthenticationProviderFactory, name, false);
+ transportAuthenticationProviderMap.remove(name);
+ notifyListeners(transportAuthenticationProvider, name, false);
}
}
Modified: sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/packaging/impl/exporter/RemoteReplicationPackageExporter.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/packaging/impl/exporter/RemoteReplicationPackageExporter.java?rev=1627255&r1=1627254&r2=1627255&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/packaging/impl/exporter/RemoteReplicationPackageExporter.java (original)
+++ sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/packaging/impl/exporter/RemoteReplicationPackageExporter.java Wed Sep 24 08:43:25 2014
@@ -32,7 +32,6 @@ import org.apache.sling.replication.seri
import org.apache.sling.replication.serialization.ReplicationPackageBuildingException;
import org.apache.sling.replication.transport.ReplicationTransportHandler;
import org.apache.sling.replication.transport.authentication.TransportAuthenticationProvider;
-import org.apache.sling.replication.transport.authentication.TransportAuthenticationProviderFactory;
import org.apache.sling.replication.transport.impl.MultipleEndpointReplicationTransportHandler;
import org.apache.sling.replication.transport.impl.SimpleHttpReplicationTransportHandler;
import org.apache.sling.replication.transport.impl.TransportEndpointStrategyType;
@@ -46,14 +45,13 @@ public class RemoteReplicationPackageExp
ReplicationTransportHandler transportHandler;
- public RemoteReplicationPackageExporter(ReplicationPackageBuilder packageBuilder, TransportAuthenticationProviderFactory transportAuthenticationProviderFactory,
- Map<String, String> authenticationProperties,
+ public RemoteReplicationPackageExporter(ReplicationPackageBuilder packageBuilder, TransportAuthenticationProvider transportAuthenticationProvider,
String[] endpoints,
TransportEndpointStrategyType transportEndpointStrategyType,
int pollItems) {
this.packageBuilder = packageBuilder;
- TransportAuthenticationProvider<Executor, Executor> transportAuthenticationProvider = (TransportAuthenticationProvider<Executor, Executor>) transportAuthenticationProviderFactory.createAuthenticationProvider(authenticationProperties);
+
List<ReplicationTransportHandler> transportHandlers = new ArrayList<ReplicationTransportHandler>();
for (String endpoint : endpoints) {
@@ -66,10 +64,6 @@ public class RemoteReplicationPackageExp
transportEndpointStrategyType);
}
- @Deactivate
- protected void deactivate() {
- }
-
public List<ReplicationPackage> exportPackage(ReplicationRequest replicationRequest) throws ReplicationPackageBuildingException {
try {
return transportHandler.retrievePackages(replicationRequest);
Modified: sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/packaging/impl/exporter/RemoteReplicationPackageExporterFactory.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/packaging/impl/exporter/RemoteReplicationPackageExporterFactory.java?rev=1627255&r1=1627254&r2=1627255&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/packaging/impl/exporter/RemoteReplicationPackageExporterFactory.java (original)
+++ sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/packaging/impl/exporter/RemoteReplicationPackageExporterFactory.java Wed Sep 24 08:43:25 2014
@@ -36,7 +36,7 @@ import org.apache.sling.replication.pack
import org.apache.sling.replication.packaging.ReplicationPackageExporter;
import org.apache.sling.replication.serialization.ReplicationPackageBuilder;
import org.apache.sling.replication.serialization.ReplicationPackageBuildingException;
-import org.apache.sling.replication.transport.authentication.TransportAuthenticationProviderFactory;
+import org.apache.sling.replication.transport.authentication.TransportAuthenticationProvider;
import org.apache.sling.replication.transport.impl.ReplicationTransportConstants;
import org.apache.sling.replication.transport.impl.TransportEndpointStrategyType;
import org.slf4j.Logger;
@@ -59,9 +59,9 @@ public class RemoteReplicationPackageExp
@Property(value = "exporters/remote", propertyPrivate = true)
private static final String FACTORY_NAME = "factoryName";
- @Property(name = ReplicationTransportConstants.TRANSPORT_AUTHENTICATION_FACTORY)
+ @Property(name = ReplicationTransportConstants.TRANSPORT_AUTHENTICATION_PROVIDER_TARGET)
@Reference(name = "TransportAuthenticationProviderFactory", policy = ReferencePolicy.DYNAMIC)
- private TransportAuthenticationProviderFactory transportAuthenticationProviderFactory;
+ private TransportAuthenticationProvider transportAuthenticationProvider;
@Property(label = "Target ReplicationPackageBuilder", name = "ReplicationPackageBuilder.target")
@Reference(name = "ReplicationPackageBuilder", policy = ReferencePolicy.DYNAMIC)
@@ -85,21 +85,17 @@ public class RemoteReplicationPackageExp
@Activate
protected void activate(Map<String, Object> config) throws Exception {
- exporter = getInstance(config, packageBuilder, transportAuthenticationProviderFactory);
+ exporter = getInstance(config, packageBuilder, transportAuthenticationProvider);
}
public static ReplicationPackageExporter getInstance(Map<String, Object> config,
- ReplicationPackageBuilder packageBuilder, TransportAuthenticationProviderFactory transportAuthenticationProviderFactory) {
- if (transportAuthenticationProviderFactory == null) {
- throw new IllegalArgumentException("transportAuthenticationProviderFactory is required");
- }
+ ReplicationPackageBuilder packageBuilder,
+ TransportAuthenticationProvider transportAuthenticationProvider) {
if (packageBuilder == null) {
throw new IllegalArgumentException("packageBuilder is required");
}
- Map<String, String> authenticationProperties = PropertiesUtil.toMap(config.get(ReplicationTransportConstants.AUTHENTICATION_PROPERTIES), new String[0]);
-
String[] endpoints = PropertiesUtil.toStringArray(config.get(ReplicationTransportConstants.ENDPOINTS), new String[0]);
int pollItems = PropertiesUtil.toInteger(config.get(POLL_ITEMS), 1);
@@ -107,8 +103,7 @@ public class RemoteReplicationPackageExp
String endpointStrategyName = PropertiesUtil.toString(config.get(ReplicationTransportConstants.ENDPOINT_STRATEGY), "One");
TransportEndpointStrategyType transportEndpointStrategyType = TransportEndpointStrategyType.valueOf(endpointStrategyName);
- return new RemoteReplicationPackageExporter(packageBuilder, transportAuthenticationProviderFactory,
- authenticationProperties,
+ return new RemoteReplicationPackageExporter(packageBuilder, transportAuthenticationProvider,
endpoints,
transportEndpointStrategyType,
pollItems);
Modified: sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/packaging/impl/importer/AdvancedRemoteReplicationPackageImporter.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/packaging/impl/importer/AdvancedRemoteReplicationPackageImporter.java?rev=1627255&r1=1627254&r2=1627255&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/packaging/impl/importer/AdvancedRemoteReplicationPackageImporter.java (original)
+++ sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/packaging/impl/importer/AdvancedRemoteReplicationPackageImporter.java Wed Sep 24 08:43:25 2014
@@ -33,7 +33,6 @@ import org.apache.sling.replication.pack
import org.apache.sling.replication.serialization.ReplicationPackageReadingException;
import org.apache.sling.replication.transport.ReplicationTransportHandler;
import org.apache.sling.replication.transport.authentication.TransportAuthenticationProvider;
-import org.apache.sling.replication.transport.authentication.TransportAuthenticationProviderFactory;
import org.apache.sling.replication.transport.impl.AdvancedHttpReplicationTransportHandler;
import org.apache.sling.replication.transport.impl.MultipleEndpointReplicationTransportHandler;
import org.apache.sling.replication.transport.impl.ReplicationTransportConstants;
@@ -55,9 +54,9 @@ public class AdvancedRemoteReplicationPa
private final Logger log = LoggerFactory.getLogger(getClass());
- @Property(name = ReplicationTransportConstants.TRANSPORT_AUTHENTICATION_FACTORY)
- @Reference(name = "TransportAuthenticationProviderFactory", policy = ReferencePolicy.DYNAMIC)
- private TransportAuthenticationProviderFactory transportAuthenticationProviderFactory;
+ @Property(name = ReplicationTransportConstants.TRANSPORT_AUTHENTICATION_PROVIDER_TARGET)
+ @Reference(name = "TransportAuthenticationProvider", policy = ReferencePolicy.DYNAMIC)
+ private TransportAuthenticationProvider transportAuthenticationProvider;
@Property(options = {
@PropertyOption(name = "All",
@@ -90,10 +89,6 @@ public class AdvancedRemoteReplicationPa
@Activate
protected void activate(BundleContext context, Map<String, ?> config) throws Exception {
- Map<String, String> authenticationProperties = PropertiesUtil.toMap(config.get(ReplicationTransportConstants.AUTHENTICATION_PROPERTIES), new String[0]);
-
- TransportAuthenticationProvider<Executor, Executor> transportAuthenticationProvider = (TransportAuthenticationProvider<Executor, Executor>)
- transportAuthenticationProviderFactory.createAuthenticationProvider(authenticationProperties);
String[] endpoints = PropertiesUtil.toStringArray(config.get(ReplicationTransportConstants.ENDPOINTS), new String[0]);
String endpointStrategyName = PropertiesUtil.toString(config.get(ReplicationTransportConstants.ENDPOINT_STRATEGY),
TransportEndpointStrategyType.One.name());
Modified: sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/packaging/impl/importer/RemoteReplicationPackageImporter.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/packaging/impl/importer/RemoteReplicationPackageImporter.java?rev=1627255&r1=1627254&r2=1627255&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/packaging/impl/importer/RemoteReplicationPackageImporter.java (original)
+++ sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/packaging/impl/importer/RemoteReplicationPackageImporter.java Wed Sep 24 08:43:25 2014
@@ -18,9 +18,7 @@
*/
package org.apache.sling.replication.packaging.impl.importer;
-import org.apache.felix.scr.annotations.*;
import org.apache.http.client.fluent.Executor;
-import org.apache.sling.commons.osgi.PropertiesUtil;
import org.apache.sling.replication.communication.ReplicationEndpoint;
import org.apache.sling.replication.event.ReplicationEventFactory;
import org.apache.sling.replication.packaging.ReplicationPackage;
@@ -28,12 +26,9 @@ import org.apache.sling.replication.pack
import org.apache.sling.replication.serialization.ReplicationPackageReadingException;
import org.apache.sling.replication.transport.ReplicationTransportHandler;
import org.apache.sling.replication.transport.authentication.TransportAuthenticationProvider;
-import org.apache.sling.replication.transport.authentication.TransportAuthenticationProviderFactory;
import org.apache.sling.replication.transport.impl.MultipleEndpointReplicationTransportHandler;
-import org.apache.sling.replication.transport.impl.ReplicationTransportConstants;
import org.apache.sling.replication.transport.impl.SimpleHttpReplicationTransportHandler;
import org.apache.sling.replication.transport.impl.TransportEndpointStrategyType;
-import org.osgi.framework.BundleContext;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -49,21 +44,17 @@ public class RemoteReplicationPackageImp
private final Logger log = LoggerFactory.getLogger(getClass());
- private TransportAuthenticationProviderFactory transportAuthenticationProviderFactory;
+ private TransportAuthenticationProvider transportAuthenticationProviderFactory;
private ReplicationEventFactory replicationEventFactory;
private ReplicationTransportHandler transportHandler;
- public RemoteReplicationPackageImporter(TransportAuthenticationProviderFactory transportAuthenticationProviderFactory,
- Map<String, String> authenticationProperties,
+ public RemoteReplicationPackageImporter(TransportAuthenticationProvider transportAuthenticationProvider,
String[] endpoints,
TransportEndpointStrategyType transportEndpointStrategyType) {
- TransportAuthenticationProvider<Executor, Executor> transportAuthenticationProvider = (TransportAuthenticationProvider<Executor, Executor>)
- transportAuthenticationProviderFactory.createAuthenticationProvider(authenticationProperties);
-
List<ReplicationTransportHandler> transportHandlers = new ArrayList<ReplicationTransportHandler>();
Modified: sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/packaging/impl/importer/RemoteReplicationPackageImporterFactory.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/packaging/impl/importer/RemoteReplicationPackageImporterFactory.java?rev=1627255&r1=1627254&r2=1627255&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/packaging/impl/importer/RemoteReplicationPackageImporterFactory.java (original)
+++ sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/packaging/impl/importer/RemoteReplicationPackageImporterFactory.java Wed Sep 24 08:43:25 2014
@@ -19,24 +19,16 @@
package org.apache.sling.replication.packaging.impl.importer;
import java.io.InputStream;
-import java.util.ArrayList;
-import java.util.List;
import java.util.Map;
import org.apache.felix.scr.annotations.*;
-import org.apache.http.client.fluent.Executor;
import org.apache.sling.commons.osgi.PropertiesUtil;
-import org.apache.sling.replication.communication.ReplicationEndpoint;
import org.apache.sling.replication.event.ReplicationEventFactory;
import org.apache.sling.replication.packaging.ReplicationPackage;
import org.apache.sling.replication.packaging.ReplicationPackageImporter;
import org.apache.sling.replication.serialization.ReplicationPackageReadingException;
-import org.apache.sling.replication.transport.ReplicationTransportHandler;
import org.apache.sling.replication.transport.authentication.TransportAuthenticationProvider;
-import org.apache.sling.replication.transport.authentication.TransportAuthenticationProviderFactory;
-import org.apache.sling.replication.transport.impl.MultipleEndpointReplicationTransportHandler;
import org.apache.sling.replication.transport.impl.ReplicationTransportConstants;
-import org.apache.sling.replication.transport.impl.SimpleHttpReplicationTransportHandler;
import org.apache.sling.replication.transport.impl.TransportEndpointStrategyType;
import org.osgi.framework.BundleContext;
import org.slf4j.Logger;
@@ -57,9 +49,9 @@ public class RemoteReplicationPackageImp
@Property
private static final String NAME = "name";
- @Property(name = ReplicationTransportConstants.TRANSPORT_AUTHENTICATION_FACTORY)
+ @Property(name = ReplicationTransportConstants.TRANSPORT_AUTHENTICATION_PROVIDER_TARGET)
@Reference(name = "TransportAuthenticationProviderFactory", policy = ReferencePolicy.DYNAMIC)
- private TransportAuthenticationProviderFactory transportAuthenticationProviderFactory;
+ private TransportAuthenticationProvider transportAuthenticationProvider;
@Property(options = {
@PropertyOption(name = "All",
@@ -80,18 +72,16 @@ public class RemoteReplicationPackageImp
@Activate
protected void activate(BundleContext context, Map<String, Object> config) throws Exception {
- importer = getInstance(config, transportAuthenticationProviderFactory);
+ importer = getInstance(config, transportAuthenticationProvider);
}
- public static RemoteReplicationPackageImporter getInstance(Map<String, Object> config, TransportAuthenticationProviderFactory transportAuthenticationProviderFactory) {
+ public static RemoteReplicationPackageImporter getInstance(Map<String, Object> config, TransportAuthenticationProvider transportAuthenticationProvider) {
- if (transportAuthenticationProviderFactory == null) {
+ if (transportAuthenticationProvider == null) {
throw new IllegalArgumentException("transportAuthenticationProviderFactory is required");
}
- Map<String, String> authenticationProperties = PropertiesUtil.toMap(config.get(ReplicationTransportConstants.AUTHENTICATION_PROPERTIES), new String[0]);
-
String[] endpoints = PropertiesUtil.toStringArray(config.get(ReplicationTransportConstants.ENDPOINTS), new String[0]);
String endpointStrategyName = PropertiesUtil.toString(config.get(ENDPOINT_STRATEGY),
@@ -99,8 +89,7 @@ public class RemoteReplicationPackageImp
TransportEndpointStrategyType transportEndpointStrategyType = TransportEndpointStrategyType.valueOf(endpointStrategyName);
- return new RemoteReplicationPackageImporter(transportAuthenticationProviderFactory,
- authenticationProperties, endpoints, transportEndpointStrategyType);
+ return new RemoteReplicationPackageImporter(transportAuthenticationProvider, endpoints, transportEndpointStrategyType);
}
Modified: sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/transport/authentication/impl/NopTransportAuthenticationProvider.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/transport/authentication/impl/NopTransportAuthenticationProvider.java?rev=1627255&r1=1627254&r2=1627255&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/transport/authentication/impl/NopTransportAuthenticationProvider.java (original)
+++ sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/transport/authentication/impl/NopTransportAuthenticationProvider.java Wed Sep 24 08:43:25 2014
@@ -28,7 +28,7 @@ import org.apache.sling.replication.tran
public class NopTransportAuthenticationProvider implements TransportAuthenticationProvider<Object, Object> {
public Object authenticate(Object authenticable, TransportAuthenticationContext context)
- throws TransportAuthenticationException {
+ throws TransportAuthenticationException {
return authenticable;
}
Modified: sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/transport/authentication/impl/RepositoryTransportAuthenticationProvider.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/transport/authentication/impl/RepositoryTransportAuthenticationProvider.java?rev=1627255&r1=1627254&r2=1627255&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/transport/authentication/impl/RepositoryTransportAuthenticationProvider.java (original)
+++ sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/transport/authentication/impl/RepositoryTransportAuthenticationProvider.java Wed Sep 24 08:43:25 2014
@@ -18,10 +18,8 @@
*/
package org.apache.sling.replication.transport.authentication.impl;
-import javax.jcr.Credentials;
import javax.jcr.RepositoryException;
import javax.jcr.Session;
-import javax.jcr.SimpleCredentials;
import org.apache.sling.jcr.api.SlingRepository;
import org.apache.sling.replication.transport.authentication.TransportAuthenticationContext;
@@ -34,10 +32,10 @@ public class RepositoryTransportAuthenti
private final Logger log = LoggerFactory.getLogger(getClass());
- private final Credentials credentials;
+ private final String serviceName;
- public RepositoryTransportAuthenticationProvider(String user, String password) {
- this.credentials = new SimpleCredentials(user, password.toCharArray());
+ public RepositoryTransportAuthenticationProvider(String serviceName) {
+ this.serviceName = serviceName;
}
public boolean canAuthenticate(Class<?> authenticable) {
@@ -47,25 +45,28 @@ public class RepositoryTransportAuthenti
public Session authenticate(SlingRepository authenticable, TransportAuthenticationContext context)
throws TransportAuthenticationException {
String path = context.getAttribute("path", String.class);
- if (path != null) {
- Session session = null;
- try {
- session = authenticable.login(credentials);
- if (!session.nodeExists(path)) {
- throw new TransportAuthenticationException("failed to read path " + path);
- } else {
- log.info("authenticated path {} ", path);
- return session;
- }
- } catch (RepositoryException re) {
- if (session != null) {
- session.logout();
- }
- throw new TransportAuthenticationException(re);
- }
- } else {
+
+ if (path == null) {
throw new TransportAuthenticationException(
"the path to authenticate is missing from the context");
+
+ }
+
+ Session session = null;
+ try {
+ session = authenticable.loginService(serviceName, null);
+ if (!session.nodeExists(path)) {
+ session.logout();
+ throw new TransportAuthenticationException("failed to read path " + path);
+ }
+
+ log.info("authenticated path {} ", path);
+ return session;
+ } catch (RepositoryException re) {
+ if (session != null) {
+ session.logout();
+ }
+ throw new TransportAuthenticationException(re);
}
}
Modified: sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/transport/authentication/impl/UserCredentialsTransportAuthenticationProvider.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/transport/authentication/impl/UserCredentialsTransportAuthenticationProvider.java?rev=1627255&r1=1627254&r2=1627255&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/transport/authentication/impl/UserCredentialsTransportAuthenticationProvider.java (original)
+++ sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/transport/authentication/impl/UserCredentialsTransportAuthenticationProvider.java Wed Sep 24 08:43:25 2014
@@ -20,6 +20,7 @@ package org.apache.sling.replication.tra
import org.apache.http.HttpHost;
import org.apache.http.client.fluent.Executor;
+import org.apache.sling.commons.osgi.PropertiesUtil;
import org.apache.sling.replication.communication.ReplicationEndpoint;
import org.apache.sling.replication.transport.authentication.TransportAuthenticationContext;
import org.apache.sling.replication.transport.authentication.TransportAuthenticationException;
@@ -27,15 +28,30 @@ import org.apache.sling.replication.tran
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+import java.util.Map;
+
public class UserCredentialsTransportAuthenticationProvider implements
TransportAuthenticationProvider<Executor, Executor> {
+ public final static String USERNAME = "username";
+ public final static String PASSWORD = "password";
+
private final Logger log = LoggerFactory.getLogger(getClass());
private final String username;
private final String password;
+
+ public UserCredentialsTransportAuthenticationProvider(Map<String, Object> config) {
+ username = PropertiesUtil.toString(config.get(USERNAME), "").trim();
+ password = PropertiesUtil.toString(config.get(PASSWORD), "").trim();
+
+ if (username.length() == 0 || password.length() == 0) {
+ throw new IllegalArgumentException("Username and password are required");
+ }
+ }
+
public UserCredentialsTransportAuthenticationProvider(String username, String password) {
this.username = username;
this.password = password;
Modified: sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/transport/authentication/impl/UserCredentialsTransportAuthenticationProviderFactory.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/transport/authentication/impl/UserCredentialsTransportAuthenticationProviderFactory.java?rev=1627255&r1=1627254&r2=1627255&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/transport/authentication/impl/UserCredentialsTransportAuthenticationProviderFactory.java (original)
+++ sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/transport/authentication/impl/UserCredentialsTransportAuthenticationProviderFactory.java Wed Sep 24 08:43:25 2014
@@ -18,39 +18,58 @@
*/
package org.apache.sling.replication.transport.authentication.impl;
-import java.util.Map;
-
import org.apache.felix.scr.annotations.Component;
+import org.apache.felix.scr.annotations.ConfigurationPolicy;
import org.apache.felix.scr.annotations.Property;
import org.apache.felix.scr.annotations.Service;
+import org.apache.http.HttpHost;
import org.apache.http.client.fluent.Executor;
+import org.apache.sling.commons.osgi.PropertiesUtil;
+import org.apache.sling.replication.communication.ReplicationEndpoint;
+import org.apache.sling.replication.packaging.ReplicationPackageExporter;
+import org.apache.sling.replication.transport.authentication.TransportAuthenticationContext;
+import org.apache.sling.replication.transport.authentication.TransportAuthenticationException;
import org.apache.sling.replication.transport.authentication.TransportAuthenticationProvider;
-import org.apache.sling.replication.transport.authentication.TransportAuthenticationProviderFactory;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.util.Map;
+
+@Component(label = "User Credentials based Transport Authentication Provider Factory",
+ configurationFactory = true,
+ specVersion = "1.1",
+ policy = ConfigurationPolicy.REQUIRE)
+@Service(value = TransportAuthenticationProvider.class)
+public class UserCredentialsTransportAuthenticationProviderFactory implements
+ TransportAuthenticationProvider<Executor, Executor> {
+
+ @Property
+ public final static String USERNAME = UserCredentialsTransportAuthenticationProvider.USERNAME;
+
+ @Property
+ public final static String PASSWORD = UserCredentialsTransportAuthenticationProvider.PASSWORD;
+
+ private final Logger log = LoggerFactory.getLogger(getClass());
+
+
+
+ private UserCredentialsTransportAuthenticationProvider transportAuthenticationProvider;
+
+
+ public void activate(Map<String, Object> config) {
+ transportAuthenticationProvider = new UserCredentialsTransportAuthenticationProvider(config);
+
+ }
+
+
-@Component(immediate = true, label = "Factory for User based Transport Authentication Providers")
-@Service(value = TransportAuthenticationProviderFactory.class)
-@Property(name = "name", value = UserCredentialsTransportAuthenticationProviderFactory.TYPE)
-public class UserCredentialsTransportAuthenticationProviderFactory implements TransportAuthenticationProviderFactory {
-
- public static final String TYPE = "user";
-
- public TransportAuthenticationProvider<Executor, Executor> createAuthenticationProvider(
- Map<String, String> properties) {
- String user = null;
- Object userProp = properties.get("user");
- if (userProp != null) {
- user = String.valueOf(userProp);
- }
- String password = null;
- Object passwordProp = properties.get("password");
- if (passwordProp != null) {
- password = String.valueOf(passwordProp);
- }
- return new UserCredentialsTransportAuthenticationProvider(user, password);
+ public Executor authenticate(Executor authenticable, TransportAuthenticationContext context)
+ throws TransportAuthenticationException {
+ return transportAuthenticationProvider.authenticate(authenticable, context);
}
- public String getType() {
- return TYPE;
+ public boolean canAuthenticate(Class<?> authenticable) {
+ return transportAuthenticationProvider.canAuthenticate(authenticable);
}
}
Modified: sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/transport/impl/ReplicationTransportConstants.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/transport/impl/ReplicationTransportConstants.java?rev=1627255&r1=1627254&r2=1627255&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/transport/impl/ReplicationTransportConstants.java (original)
+++ sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/transport/impl/ReplicationTransportConstants.java Wed Sep 24 08:43:25 2014
@@ -23,11 +23,9 @@ package org.apache.sling.replication.tra
*/
public class ReplicationTransportConstants {
- public static final String TRANSPORT_AUTHENTICATION_FACTORY = "TransportAuthenticationProviderFactory.target";
+ public static final String TRANSPORT_AUTHENTICATION_PROVIDER_TARGET = "TransportAuthenticationProvider.target";
public static final String ENDPOINTS = "endpoints";
public static final String ENDPOINT_STRATEGY = "endpoints.strategy";
-
- public static final String AUTHENTICATION_PROPERTIES = "authentication.properties";
}
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=1627255&r1=1627254&r2=1627255&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 Wed Sep 24 08:43:25 2014
@@ -58,6 +58,11 @@ public class SimpleHttpReplicationTransp
ReplicationEndpoint replicationEndpoint,
ReplicationPackageBuilder packageBuilder,
int maxNumberOfPackages) {
+
+ if (transportAuthenticationProvider == null) {
+ throw new IllegalArgumentException("The authentication provider is required");
+ }
+
this.transportAuthenticationProvider = transportAuthenticationProvider;
this.replicationEndpoint = replicationEndpoint;
this.packageBuilder = packageBuilder;
@@ -66,12 +71,15 @@ public class SimpleHttpReplicationTransp
public void deliverPackage(ReplicationPackage replicationPackage) throws ReplicationTransportException {
log.info("delivering package {} to {} using auth {}",
- new Object[]{replicationPackage.getId(),
+ new Object[]{
+ replicationPackage.getId(),
replicationEndpoint.getUri(),
- transportAuthenticationProvider});
+ transportAuthenticationProvider
+ });
try {
Executor executor = Executor.newInstance();
+
TransportAuthenticationContext context = new TransportAuthenticationContext();
context.addAttribute("endpoint", replicationEndpoint);
executor = transportAuthenticationProvider.authenticate(executor, context);
@@ -96,7 +104,10 @@ public class SimpleHttpReplicationTransp
if (response != null) {
Content content = response.returnContent();
log.info("Replication content of type {} for {} delivered: {}", new Object[]{
- replicationPackage.getType(), Arrays.toString(replicationPackage.getPaths()), content});
+ replicationPackage.getType(),
+ Arrays.toString(replicationPackage.getPaths()),
+ content
+ });
}
else {
throw new IOException("response is empty");
@@ -129,7 +140,8 @@ public class SimpleHttpReplicationTransp
try {
int polls = 0;
- while ((httpResponse = executor.execute(req).returnResponse()).getStatusLine().getStatusCode() == 200
+ while ((httpResponse = executor.execute(req).returnResponse())
+ .getStatusLine().getStatusCode() == 200
&& polls < maxNumberOfPackages) {
ReplicationPackage responsePackage = packageBuilder.readPackage(httpResponse.getEntity().getContent());
@@ -153,7 +165,6 @@ public class SimpleHttpReplicationTransp
}
catch (Exception ex) {
throw new ReplicationTransportException(ex);
-
}
}
Modified: sling/trunk/contrib/extensions/replication/core/src/main/resources/SLING-CONTENT/libs/sling/replication/install.author/org.apache.sling.replication.agent.impl.CompactSimpleReplicationAgentFactory-publish-reverse.json
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/replication/core/src/main/resources/SLING-CONTENT/libs/sling/replication/install.author/org.apache.sling.replication.agent.impl.CompactSimpleReplicationAgentFactory-publish-reverse.json?rev=1627255&r1=1627254&r2=1627255&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/replication/core/src/main/resources/SLING-CONTENT/libs/sling/replication/install.author/org.apache.sling.replication.agent.impl.CompactSimpleReplicationAgentFactory-publish-reverse.json (original)
+++ sling/trunk/contrib/extensions/replication/core/src/main/resources/SLING-CONTENT/libs/sling/replication/install.author/org.apache.sling.replication.agent.impl.CompactSimpleReplicationAgentFactory-publish-reverse.json Wed Sep 24 08:43:25 2014
@@ -5,12 +5,10 @@
"packageExporter" : [
"type=remote",
- "authentication.properties[user]=admin",
- "authentication.properties[password]=admin",
"endpoints[0]=http://localhost:4503/libs/sling/replication/services/exporters/reverse",
- "authenticationFactory/type=service",
- "authenticationFactory/name=user",
+ "authenticationProvider/type=service",
+ "authenticationProvider/name=publishAdmin",
"packageBuilder/type=vlt",
"packageBuilder/servicename=replicationService"
Modified: sling/trunk/contrib/extensions/replication/core/src/main/resources/SLING-CONTENT/libs/sling/replication/install.author/org.apache.sling.replication.agent.impl.CompactSimpleReplicationAgentFactory-publish.json
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/replication/core/src/main/resources/SLING-CONTENT/libs/sling/replication/install.author/org.apache.sling.replication.agent.impl.CompactSimpleReplicationAgentFactory-publish.json?rev=1627255&r1=1627254&r2=1627255&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/replication/core/src/main/resources/SLING-CONTENT/libs/sling/replication/install.author/org.apache.sling.replication.agent.impl.CompactSimpleReplicationAgentFactory-publish.json (original)
+++ sling/trunk/contrib/extensions/replication/core/src/main/resources/SLING-CONTENT/libs/sling/replication/install.author/org.apache.sling.replication.agent.impl.CompactSimpleReplicationAgentFactory-publish.json Wed Sep 24 08:43:25 2014
@@ -11,11 +11,11 @@
"packageImporter": [
"type=remote",
- "authentication.properties[user]=admin",
- "authentication.properties[password]=admin",
"endpoints[0]=http://localhost:4503/libs/sling/replication/services/importers/default",
- "authenticationFactory/type=service",
- "authenticationFactory/name=user",
+
+ "authenticationProvider/type=service",
+ "authenticationProvider/name=publishAdmin",
+
"packageBuilder/type=vlt",
"packageBuilder/servicename=replicationService"
],
Added: sling/trunk/contrib/extensions/replication/core/src/main/resources/SLING-CONTENT/libs/sling/replication/install.author/org.apache.sling.replication.transport.authentication.impl.UserCredentialsTransportAuthenticationProviderFactory-publishAdmin.json
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/replication/core/src/main/resources/SLING-CONTENT/libs/sling/replication/install.author/org.apache.sling.replication.transport.authentication.impl.UserCredentialsTransportAuthenticationProviderFactory-publishAdmin.json?rev=1627255&view=auto
==============================================================================
--- sling/trunk/contrib/extensions/replication/core/src/main/resources/SLING-CONTENT/libs/sling/replication/install.author/org.apache.sling.replication.transport.authentication.impl.UserCredentialsTransportAuthenticationProviderFactory-publishAdmin.json (added)
+++ sling/trunk/contrib/extensions/replication/core/src/main/resources/SLING-CONTENT/libs/sling/replication/install.author/org.apache.sling.replication.transport.authentication.impl.UserCredentialsTransportAuthenticationProviderFactory-publishAdmin.json Wed Sep 24 08:43:25 2014
@@ -0,0 +1,6 @@
+{
+ "jcr:primaryType" : "sling:OsgiConfig",
+ "name": "publishAdmin",
+ "username" : "admin",
+ "password" : "admin"
+}
\ No newline at end of file
Added: sling/trunk/contrib/extensions/replication/core/src/main/resources/SLING-CONTENT/libs/sling/replication/install/org.apache.sling.serviceusermapping.impl.ServiceUserMapperImpl.amended-replication.json
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/replication/core/src/main/resources/SLING-CONTENT/libs/sling/replication/install/org.apache.sling.serviceusermapping.impl.ServiceUserMapperImpl.amended-replication.json?rev=1627255&view=auto
==============================================================================
--- sling/trunk/contrib/extensions/replication/core/src/main/resources/SLING-CONTENT/libs/sling/replication/install/org.apache.sling.serviceusermapping.impl.ServiceUserMapperImpl.amended-replication.json (added)
+++ sling/trunk/contrib/extensions/replication/core/src/main/resources/SLING-CONTENT/libs/sling/replication/install/org.apache.sling.serviceusermapping.impl.ServiceUserMapperImpl.amended-replication.json Wed Sep 24 08:43:25 2014
@@ -0,0 +1,5 @@
+{
+ "jcr:primaryType" : "sling:OsgiConfig",
+ "user.default": "",
+ "user.mapping": "org.apache.sling.replication:replicationService=admin"
+}
Modified: sling/trunk/contrib/extensions/replication/it/src/test/java/org/apache/sling/replication/it/ReplicationIntegrationTestBase.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/replication/it/src/test/java/org/apache/sling/replication/it/ReplicationIntegrationTestBase.java?rev=1627255&r1=1627254&r2=1627255&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/replication/it/src/test/java/org/apache/sling/replication/it/ReplicationIntegrationTestBase.java (original)
+++ sling/trunk/contrib/extensions/replication/it/src/test/java/org/apache/sling/replication/it/ReplicationIntegrationTestBase.java Wed Sep 24 08:43:25 2014
@@ -59,11 +59,9 @@ public abstract class ReplicationIntegra
setAgentProperties(author, "publish",
"packageImporter", "type=remote",
- "packageImporter", "authentication.properties[user]=admin",
- "packageImporter", "authentication.properties[password]=admin",
"packageImporter", "endpoints[0]=" + remoteImporterUrl,
- "packageImporter", "authenticationFactory/type=service",
- "packageImporter", "authenticationFactory/name=user",
+ "packageImporter", "authenticationProvider/type=service",
+ "packageImporter", "authenticationProvider/name=publishAdmin",
"packageImporter", "packageBuilder/type=vlt",
"packageImporter", "packageBuilder/servicename=replicationService");
@@ -76,11 +74,9 @@ public abstract class ReplicationIntegra
String remoteExporterUrl = publish.getServerBaseUrl() + exporterUrl("reverse");
setAgentProperties(author, "publish-reverse",
"packageExporter", "type=remote",
- "packageExporter", "authentication.properties[user]=admin",
- "packageExporter", "authentication.properties[password]=admin",
"packageExporter", "endpoints[0]=" + remoteExporterUrl,
- "packageExporter", "authenticationFactory/type=service",
- "packageExporter", "authenticationFactory/name=user",
+ "packageExporter", "authenticationProvider/type=service",
+ "packageExporter", "authenticationProvider/name=publishAdmin",
"packageExporter", "packageBuilder/type=vlt",
"packageExporter", "packageBuilder/servicename=replicationService");