Author: tommaso
Date: Fri Sep 26 12:38:14 2014
New Revision: 1627757

URL: http://svn.apache.org/r1627757
Log:
SLING-3901 - replication triggers to substitute rules, allowing separate and 
k-v config

Added:
    
sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/agent/impl/DefaultReplicationComponentFactory.java
   (with props)
    
sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/trigger/
      - copied from r1627716, 
sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/rule/
    
sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/trigger/ReplicationTriggerRequestHandler.java
      - copied, changed from r1627716, 
sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/rule/ReplicationRequestHandler.java
    
sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/trigger/impl/ChainReplicateReplicationTrigger.java
   (with props)
    
sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/trigger/impl/RemoteEventReplicationTrigger.java
   (with props)
    
sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/trigger/impl/ResourceEventReplicationTrigger.java
   (with props)
    
sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/trigger/impl/ScheduledReplicationTrigger.java
   (with props)
    sling/trunk/contrib/extensions/replication/it/src/main/
    sling/trunk/contrib/extensions/replication/it/src/main/resources/
    
sling/trunk/contrib/extensions/replication/it/src/main/resources/SLING-CONTENT/
    
sling/trunk/contrib/extensions/replication/it/src/main/resources/SLING-CONTENT/libs/
    
sling/trunk/contrib/extensions/replication/it/src/main/resources/SLING-CONTENT/libs/test/
    
sling/trunk/contrib/extensions/replication/it/src/main/resources/SLING-CONTENT/libs/test/install.author/
    
sling/trunk/contrib/extensions/replication/it/src/main/resources/SLING-CONTENT/libs/test/install.author/org.apache.sling.replication.agent.impl.DefaultReplicationComponentFactory-trigger-test-content-event.json
    
sling/trunk/contrib/extensions/replication/it/src/main/resources/SLING-CONTENT/libs/test/install.author/org.apache.sling.replication.agent.impl.DefaultReplicationComponentFactory-trigger-test-remote-event.json
    
sling/trunk/contrib/extensions/replication/it/src/main/resources/SLING-CONTENT/libs/test/install.author/org.apache.sling.replication.agent.impl.DefaultReplicationComponentFactory-trigger-test-replicate-event.json
    
sling/trunk/contrib/extensions/replication/it/src/main/resources/SLING-CONTENT/libs/test/install.author/org.apache.sling.replication.agent.impl.DefaultReplicationComponentFactory-trigger-test-scheduled-event.json
    
sling/trunk/contrib/extensions/replication/it/src/test/java/org/apache/sling/replication/it/triggers/
    
sling/trunk/contrib/extensions/replication/it/src/test/java/org/apache/sling/replication/it/triggers/ReplicationTriggerResourcesTest.java
   (with props)
    
sling/trunk/contrib/extensions/replication/it/src/test/java/org/apache/sling/replication/it/triggers/ScheduledReplicationTriggerTest.java
   (with props)
Removed:
    
sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/rule/
    
sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/trigger/ReplicationRequestHandler.java
    
sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/trigger/ReplicationRule.java
    
sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/trigger/ReplicationRuleEngine.java
    
sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/trigger/impl/ChainReplicateReplicationRule.java
    
sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/trigger/impl/DefaultReplicationRuleEngine.java
    
sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/trigger/impl/RemoteEventReplicationRule.java
    
sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/trigger/impl/RuleBasedReplicationTrigger.java
    
sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/trigger/impl/ScheduleReplicateReplicationRule.java
    
sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/trigger/impl/TriggerPathReplicationRule.java
    
sling/trunk/contrib/extensions/replication/core/src/main/resources/SLING-CONTENT/libs/sling/replication/install.publish/org.apache.sling.replication.rule.impl.RuleBasedReplicationTrigger-content-event.json
    
sling/trunk/contrib/extensions/replication/core/src/test/java/org/apache/sling/replication/rule/
Modified:
    sling/trunk/contrib/extensions/replication/core/pom.xml
    
sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/agent/impl/CompactSimpleReplicationAgentFactory.java
    
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/agent/impl/SettingsUtils.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/main/java/org/apache/sling/replication/agent/impl/SimpleReplicationAgentFactory.java
    
sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/event/ReplicationEvent.java
    
sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/monitor/ReplicationQueueHealthCheck.java
    
sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/packaging/impl/exporter/AgentReplicationPackageExporterFactory.java
    
sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/packaging/impl/exporter/LocalReplicationPackageExporterFactory.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/importer/AdvancedRemoteReplicationPackageImporter.java
    
sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/packaging/impl/importer/LocalReplicationPackageImporter.java
    
sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/packaging/impl/importer/LocalReplicationPackageImporterFactory.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/queue/impl/AbstractReplicationQueueProvider.java
    
sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/queue/impl/ErrorAwareQueueDistributionStrategy.java
    
sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/queue/impl/PriorityPathDistributionStrategy.java
    
sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/queue/impl/SingleQueueDistributionStrategy.java
    
sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/queue/impl/jobhandling/JobHandlingReplicationQueue.java
    
sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/queue/impl/jobhandling/JobHandlingReplicationQueueProvider.java
    
sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/queue/impl/jobhandling/JobHandlingUtils.java
    
sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/resources/impl/OsgiConfigurationResourceProvider.java
    
sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/resources/impl/OsgiPropertiesResourceProviderFactory.java
    
sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/resources/impl/OsgiServicePropertiesResourceProvider.java
    
sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/resources/impl/common/AbstractModifyingResourceProvider.java
    
sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/resources/impl/common/AbstractReadableResourceProvider.java
    
sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/resources/impl/common/SimpleModifiableResource.java
    
sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/resources/impl/common/SimpleModifiableValueMap.java
    
sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/resources/impl/common/SimpleReadableResource.java
    
sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/serialization/impl/vlt/FileVaultReplicationPackageBuilder.java
    
sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/serialization/impl/vlt/FileVaultReplicationPackageBuilderFactory.java
    
sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/servlet/ReplicationAgentRootServlet.java
    
sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/servlet/ReplicationAgentServlet.java
    
sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/servlet/ReplicationPackageExporterServlet.java
    
sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/servlet/ReplicationTriggerServlet.java
    
sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/transport/authentication/TransportAuthenticationProvider.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/RequestUtils.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/java/org/apache/sling/replication/trigger/ReplicationTrigger.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.publish/org.apache.sling.replication.agent.impl.CompactSimpleReplicationAgentFactory-reverse.json
    
sling/trunk/contrib/extensions/replication/core/src/test/java/org/apache/sling/replication/agent/impl/SimpleReplicationAgentFactoryTest.java
    
sling/trunk/contrib/extensions/replication/core/src/test/java/org/apache/sling/replication/agent/impl/SimpleReplicationAgentTest.java
    
sling/trunk/contrib/extensions/replication/core/src/test/java/org/apache/sling/replication/monitor/ReplicationQueueHealthCheckTest.java
    
sling/trunk/contrib/extensions/replication/core/src/test/java/org/apache/sling/replication/queue/impl/ErrorAwareQueueDistributionStrategyTest.java
    
sling/trunk/contrib/extensions/replication/core/src/test/java/org/apache/sling/replication/queue/impl/jobhandling/JobHandlingReplicationQueueTest.java
    
sling/trunk/contrib/extensions/replication/core/src/test/java/org/apache/sling/replication/queue/impl/jobhandling/JobHandlingUtilsTest.java
    
sling/trunk/contrib/extensions/replication/core/src/test/java/org/apache/sling/replication/serialization/impl/VoidReplicationPackageTest.java
    
sling/trunk/contrib/extensions/replication/core/src/test/java/org/apache/sling/replication/serialization/impl/vlt/FileVaultReplicationPackageBuilderTest.java
    sling/trunk/contrib/extensions/replication/it/   (props changed)
    
sling/trunk/contrib/extensions/replication/it/src/test/java/org/apache/sling/replication/it/ReplicationAgentResourcesIntegrationTest.java
    
sling/trunk/contrib/extensions/replication/it/src/test/java/org/apache/sling/replication/it/ReplicationIntegrationTestBase.java
    
sling/trunk/contrib/extensions/replication/it/src/test/java/org/apache/sling/replication/it/ReplicationPackageExporterImporterTest.java
    
sling/trunk/contrib/extensions/replication/it/src/test/java/org/apache/sling/replication/it/ReplicationPackageImporterResourcesIntegrationTest.java
    
sling/trunk/contrib/extensions/replication/it/src/test/java/org/apache/sling/replication/it/ReplicationUtils.java

Modified: sling/trunk/contrib/extensions/replication/core/pom.xml
URL: 
http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/replication/core/pom.xml?rev=1627757&r1=1627756&r2=1627757&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/replication/core/pom.xml (original)
+++ sling/trunk/contrib/extensions/replication/core/pom.xml Fri Sep 26 12:38:14 
2014
@@ -68,12 +68,12 @@
                   
<Bundle-SymbolicName>org.apache.sling.replication</Bundle-SymbolicName>
                   
<Sling-Initial-Content>SLING-CONTENT/libs/sling/replication;path:=/libs/sling/replication;overwrite:=true</Sling-Initial-Content>
                   <Export-Package>
-                    org.apache.sling.replication.agent,
-                    org.apache.sling.replication.communication,
-                    org.apache.sling.replication.event,
-                    org.apache.sling.replication.queue,
-                    org.apache.sling.replication.rule,
-                    org.apache.sling.replication.packaging
+                      org.apache.sling.replication.agent,
+                      org.apache.sling.replication.communication,
+                      org.apache.sling.replication.event,
+                      org.apache.sling.replication.queue,
+                      org.apache.sling.replication.trigger,
+                      org.apache.sling.replication.packaging
                   </Export-Package>
                   <Embed-Dependency>httpasyncclient</Embed-Dependency>
                 </instructions>

Modified: 
sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/agent/impl/CompactSimpleReplicationAgentFactory.java
URL: 
http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/agent/impl/CompactSimpleReplicationAgentFactory.java?rev=1627757&r1=1627756&r2=1627757&view=diff
==============================================================================
--- 
sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/agent/impl/CompactSimpleReplicationAgentFactory.java
 (original)
+++ 
sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/agent/impl/CompactSimpleReplicationAgentFactory.java
 Fri Sep 26 12:38:14 2014
@@ -86,7 +86,7 @@ public class CompactSimpleReplicationAge
     @Reference
     private SlingSettingsService settingsService;
 
-    @Reference(target = "(name=default)")
+    @Reference
     private ReplicationComponentProvider componentProvider;
 
     private ServiceRegistration agentReg;

Added: 
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=1627757&view=auto
==============================================================================
--- 
sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/agent/impl/DefaultReplicationComponentFactory.java
 (added)
+++ 
sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/agent/impl/DefaultReplicationComponentFactory.java
 Fri Sep 26 12:38:14 2014
@@ -0,0 +1,186 @@
+/*
+ * 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 java.util.Dictionary;
+import java.util.HashMap;
+import java.util.Hashtable;
+import java.util.Map;
+
+import org.apache.felix.scr.annotations.Activate;
+import org.apache.felix.scr.annotations.Component;
+import org.apache.felix.scr.annotations.ConfigurationPolicy;
+import org.apache.felix.scr.annotations.Deactivate;
+import org.apache.felix.scr.annotations.Property;
+import org.apache.felix.scr.annotations.Reference;
+import org.apache.sling.commons.osgi.PropertiesUtil;
+import org.apache.sling.replication.agent.ReplicationAgent;
+import org.apache.sling.replication.trigger.ReplicationTrigger;
+import org.apache.sling.settings.SlingSettingsService;
+import org.osgi.framework.BundleContext;
+import org.osgi.framework.ServiceReference;
+import org.osgi.framework.ServiceRegistration;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+/**
+ * A generic factory for replication components using a compact configuration, 
already existing OSGi services
+ * for the components to be wired can be used as well as directly instantiated 
components (called by type name).
+ *
+ * Currently supported components are of kind 'agent' and 'trigger'.
+ */
+@Component(metatype = true,
+        label = "Generic Replication Components Factory",
+        description = "OSGi configuration Replication Component factory",
+        configurationFactory = true,
+        specVersion = "1.1",
+        policy = ConfigurationPolicy.REQUIRE
+)
+public class DefaultReplicationComponentFactory implements 
ReplicationComponentListener {
+
+    private final Logger log = LoggerFactory.getLogger(getClass());
+
+    @Property(boolValue = true, label = "Enabled")
+    private static final String ENABLED = "enabled";
+
+    @Property(label = "Name")
+    public static final String NAME = "name";
+
+    @Property(label = "Properties")
+    public static final String PROPERTIES = "properties";
+
+    @Property(label = "Kind")
+    public static final String KIND = "kind";
+
+    @Reference
+    private SlingSettingsService settingsService;
+
+    @Reference
+    private ReplicationComponentProvider componentProvider;
+
+    private ServiceRegistration componentReg;
+    private ServiceRegistration listenerReg;
+
+    private BundleContext savedContext;
+    private Map<String, Object> savedConfig;
+
+    private String kind;
+
+    @Activate
+    public void activate(BundleContext context, Map<String, Object> config) 
throws Exception {
+        log.debug("activating agent with config {}", config);
+
+        savedContext = context;
+        savedConfig = config;
+
+        // inject configuration
+        Dictionary<String, Object> props = new Hashtable<String, Object>();
+
+        boolean enabled = PropertiesUtil.toBoolean(config.get(ENABLED), true);
+        String name = PropertiesUtil.toString(config.get(NAME), null);
+
+        kind = PropertiesUtil.toString(config.get(KIND), null);
+
+        if (enabled) {
+            props.put(ENABLED, true);
+            props.put(NAME, name);
+
+            if (listenerReg == null) {
+                listenerReg = 
context.registerService(ReplicationComponentListener.class.getName(), this, 
props);
+            }
+
+            if (componentReg == null) {
+                Map<String, Object> configProperties = 
SettingsUtils.extractMap(PROPERTIES, config);
+
+                Map<String, Object> properties = new HashMap<String, Object>();
+                properties.putAll(config);
+                properties.putAll(configProperties);
+
+                String componentClass = null;
+                Object componentObject = null;
+
+                if ("agent".equals(kind)) {
+                    SimpleReplicationAgent agent = (SimpleReplicationAgent) 
componentProvider.createComponent(ReplicationAgent.class, properties);
+                    componentClass = ReplicationAgent.class.getName();
+                    componentObject = agent;
+                    agent.enable();
+
+                }
+                else if ("trigger".equals(kind)) {
+
+                    ReplicationTrigger trigger = 
componentProvider.createComponent(ReplicationTrigger.class, properties);
+
+                    componentClass = ReplicationTrigger.class.getName();
+                    componentObject = trigger;
+                }
+
+                if (componentObject != null && componentClass != null) {
+                    componentReg = context.registerService(componentClass, 
componentObject, props);
+                    log.debug("activated component kind {} name", kind, name);
+                }
+            }
+        }
+    }
+
+    @Deactivate
+    private void deactivate(BundleContext context) {
+        log.debug("deactivating component");
+        if (componentReg != null) {
+            ServiceReference reference = componentReg.getReference();
+
+            if ("agent".equals(kind)) {
+                SimpleReplicationAgent replicationComponent = 
(SimpleReplicationAgent) context.getService(reference);
+                replicationComponent.disable();
+
+            }
+            else if ("trigger".equals(kind)) {
+
+            }
+            componentReg.unregister();
+            componentReg = null;
+        }
+        if (listenerReg != null) {
+            listenerReg.unregister();
+            listenerReg = null;
+        }
+    }
+
+    private void refresh(boolean isBinding) {
+        try {
+            if (savedContext != null && savedConfig != null) {
+                if (isBinding && componentReg == null) {
+                    activate(savedContext, savedConfig);
+                } else if (!isBinding && componentReg != null) {
+                    deactivate(savedContext);
+                }
+            }
+
+        } catch (Exception e) {
+            log.error("Cannot refresh agent", e);
+        }
+    }
+
+    public <ComponentType> void componentBind(ComponentType component, String 
componentName) {
+        refresh(true);
+    }
+
+    public <ComponentType> void componentUnbind(ComponentType component, 
String componentName) {
+        refresh(false);
+    }
+}

Propchange: 
sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/agent/impl/DefaultReplicationComponentFactory.java
------------------------------------------------------------------------------
    svn:eol-style = native

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=1627757&r1=1627756&r2=1627757&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
 Fri Sep 26 12:38:14 2014
@@ -1,10 +1,13 @@
 package org.apache.sling.replication.agent.impl;
 
+import java.util.ArrayList;
 import java.util.Arrays;
+import java.util.List;
 import java.util.Map;
 import java.util.Random;
 import java.util.concurrent.ConcurrentHashMap;
 
+import org.apache.felix.scr.annotations.Activate;
 import org.apache.felix.scr.annotations.Component;
 import org.apache.felix.scr.annotations.Property;
 import org.apache.felix.scr.annotations.Reference;
@@ -14,6 +17,7 @@ import org.apache.felix.scr.annotations.
 import org.apache.felix.scr.annotations.Service;
 import org.apache.jackrabbit.vault.packaging.Packaging;
 import org.apache.sling.commons.osgi.PropertiesUtil;
+import org.apache.sling.commons.scheduler.Scheduler;
 import org.apache.sling.jcr.api.SlingRepository;
 import org.apache.sling.replication.agent.ReplicationAgent;
 import org.apache.sling.replication.event.ReplicationEventFactory;
@@ -25,11 +29,16 @@ import org.apache.sling.replication.pack
 import 
org.apache.sling.replication.packaging.impl.importer.RemoteReplicationPackageImporterFactory;
 import org.apache.sling.replication.queue.ReplicationQueueDistributionStrategy;
 import org.apache.sling.replication.queue.ReplicationQueueProvider;
-import org.apache.sling.replication.rule.ReplicationRuleEngine;
+import org.apache.sling.replication.trigger.ReplicationTrigger;
+import 
org.apache.sling.replication.trigger.impl.ChainReplicateReplicationTrigger;
+import org.apache.sling.replication.trigger.impl.RemoteEventReplicationTrigger;
+import 
org.apache.sling.replication.trigger.impl.ResourceEventReplicationTrigger;
+import org.apache.sling.replication.trigger.impl.ScheduledReplicationTrigger;
 import org.apache.sling.replication.serialization.ReplicationPackageBuilder;
 import 
org.apache.sling.replication.serialization.impl.vlt.FileVaultReplicationPackageBuilderFactory;
 import 
org.apache.sling.replication.transport.authentication.TransportAuthenticationProvider;
 import 
org.apache.sling.replication.transport.authentication.impl.UserCredentialsTransportAuthenticationProvider;
+import org.osgi.framework.BundleContext;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -52,9 +61,6 @@ public class DefaultReplicationComponent
     private final Logger log = LoggerFactory.getLogger(getClass());
 
     @Reference
-    private ReplicationRuleEngine replicationRuleEngine;
-
-    @Reference
     private ReplicationEventFactory replicationEventFactory;
 
     @Reference
@@ -63,12 +69,21 @@ public class DefaultReplicationComponent
     @Reference
     private Packaging packaging;
 
+    @Reference
+    private Scheduler scheduler;
+
     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, TransportAuthenticationProvider> 
transportAuthenticationProviderMap = new ConcurrentHashMap<String, 
TransportAuthenticationProvider>();
     Map<String, ReplicationPackageImporter> replicationPackageImporterMap = 
new ConcurrentHashMap<String, ReplicationPackageImporter>();
     Map<String, ReplicationPackageExporter> replicationPackageExporterMap = 
new ConcurrentHashMap<String, ReplicationPackageExporter>();
+    private BundleContext bundleContext;
+
+    @Activate
+    private void activate(BundleContext bundleContext) {
+        this.bundleContext = bundleContext;
+    }
 
     public <ComponentType> ComponentType getComponent(Class<ComponentType> 
type, String componentName) {
         if (type.isAssignableFrom(ReplicationPackageExporter.class)) {
@@ -91,6 +106,9 @@ public class DefaultReplicationComponent
             if (type.isAssignableFrom(ReplicationAgent.class)) {
                 return (ComponentType) createAgent(properties, this);
             }
+            else if (type.isAssignableFrom(ReplicationTrigger.class)) {
+                return (ComponentType) createTrigger(properties, this);
+            }
         } catch (Throwable t) {
             log.error("Cannot create agent", t);
 
@@ -123,9 +141,10 @@ public class DefaultReplicationComponent
             Map<String, Object> queueProviderProperties = 
extractMap("queueProvider", properties);
             ReplicationQueueProvider queueProvider = 
createQueueProvider(queueProviderProperties, componentProvider);
 
-            String name = 
PropertiesUtil.toString(properties.get(CompactSimpleReplicationAgentFactory.NAME),
 String.valueOf(new Random().nextInt(1000)));
+            List<Map<String, Object>> triggersProperties = 
extractMapList("trigger", properties);
+            List<ReplicationTrigger> triggers = 
createTriggerList(triggersProperties, componentProvider);
 
-            String[] rules = 
PropertiesUtil.toStringArray(properties.get(CompactSimpleReplicationAgentFactory.RULES),
 new String[0]);
+            String name = 
PropertiesUtil.toString(properties.get(CompactSimpleReplicationAgentFactory.NAME),
 String.valueOf(new Random().nextInt(1000)));
 
             boolean useAggregatePaths = 
PropertiesUtil.toBoolean(properties.get(CompactSimpleReplicationAgentFactory.USE_AGGREGATE_PATHS),
 true);
 
@@ -137,8 +156,8 @@ public class DefaultReplicationComponent
                 return null;
             }
 
-            return new SimpleReplicationAgent(name, rules, useAggregatePaths, 
isPassive,
-                    packageImporter, packageExporter, queueProvider, 
queueDistributionStrategy, replicationEventFactory, replicationRuleEngine);
+            return new SimpleReplicationAgent(name, useAggregatePaths, 
isPassive,
+                    packageImporter, packageExporter, queueProvider, 
queueDistributionStrategy, replicationEventFactory, triggers);
 
         }
 
@@ -146,6 +165,7 @@ public class DefaultReplicationComponent
 
     }
 
+
     public ReplicationPackageExporter createExporter(Map<String, Object> 
properties, ReplicationComponentProvider componentProvider) {
 
         String factory = 
PropertiesUtil.toString(properties.get(COMPONENT_TYPE), "service");
@@ -240,16 +260,56 @@ public class DefaultReplicationComponent
         return null;
     }
 
-    Map<String, Object> extractMap(String key, Map<String, Object> objectMap) {
-        Object value = objectMap.get(key);
 
-        if (value instanceof String[]) {
-            return SettingsUtils.compactMap(SettingsUtils.toMap((String[]) 
value));
+    private ReplicationTrigger createTrigger(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(ReplicationTrigger.class, 
name);
 
         }
+        else if (RemoteEventReplicationTrigger.TYPE.equals(factory)) {
+            Map<String, Object> authenticationProviderProperties = 
extractMap("authenticationProvider", properties);
+
+            TransportAuthenticationProvider authenticationProvider = 
createTransportAuthenticationProvider(authenticationProviderProperties, 
componentProvider);
+            return new RemoteEventReplicationTrigger(properties, 
authenticationProvider, scheduler);
+        }
+        else if (ResourceEventReplicationTrigger.TYPE.equals(factory)) {
+            return new ResourceEventReplicationTrigger(properties, 
bundleContext);
+        }
+        else if (ScheduledReplicationTrigger.TYPE.equals(factory)) {
+            return new ScheduledReplicationTrigger(properties, scheduler);
+        }
+        else if (ChainReplicateReplicationTrigger.TYPE.equals(factory)) {
+            return new ChainReplicateReplicationTrigger(properties, 
bundleContext);
+        }
+
         return null;
     }
 
+    private List<ReplicationTrigger> createTriggerList(List<Map<String, 
Object>> triggersProperties, ReplicationComponentProvider componentProvider) {
+        List<ReplicationTrigger> triggers = new 
ArrayList<ReplicationTrigger>();
+        for (Map<String, Object> properties : triggersProperties) {
+            triggers.add(createTrigger(properties, componentProvider));
+        }
+
+        return triggers;
+    }
+
+    Map<String, Object> extractMap(String key, Map<String, Object> objectMap) {
+         return SettingsUtils.extractMap(key, objectMap);
+    }
+
+    List<Map<String, Object>> extractMapList(String key, Map<String, Object> 
objectMap) {
+        List<Map<String, Object>> result = new ArrayList<Map<String, 
Object>>();
+        for (String mapKey : objectMap.keySet()) {
+            if (mapKey.startsWith(key)) {
+                result.add(SettingsUtils.extractMap(mapKey, objectMap));
+            }
+        }
+        return result;
+    }
 
     private void bindReplicationQueueProvider(ReplicationQueueProvider 
replicationQueueProvider, Map<String, Object> config) {
 

Modified: 
sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/agent/impl/SettingsUtils.java
URL: 
http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/agent/impl/SettingsUtils.java?rev=1627757&r1=1627756&r2=1627757&view=diff
==============================================================================
--- 
sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/agent/impl/SettingsUtils.java
 (original)
+++ 
sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/agent/impl/SettingsUtils.java
 Fri Sep 26 12:38:14 2014
@@ -18,9 +18,13 @@
  */
 package org.apache.sling.replication.agent.impl;
 
-import org.apache.sling.commons.osgi.PropertiesUtil;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
 
-import java.util.*;
+import org.apache.sling.commons.osgi.PropertiesUtil;
 
 public class SettingsUtils {
 
@@ -28,6 +32,17 @@ public class SettingsUtils {
     private static final char COMPONENT_MAP_BEGIN = '[';
     private static final char COMPONENT_MAP_END = ']';
 
+    public static Map<String, Object> extractMap(String key, Map<String, 
Object> objectMap) {
+        Object value = objectMap.get(key);
+
+        if (value instanceof String[]) {
+            return compactMap(SettingsUtils.toMap((String[]) value));
+
+        }
+        return null;
+    }
+
+
     public static Map<String, Object> compactMap(Map<String, Object> valueMap) 
{
 
         Map<String, Object> result = new HashMap<String, Object>();

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=1627757&r1=1627756&r2=1627757&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
 Fri Sep 26 12:38:14 2014
@@ -39,7 +39,8 @@ import org.apache.sling.replication.queu
 import org.apache.sling.replication.queue.ReplicationQueueItemState;
 import org.apache.sling.replication.queue.ReplicationQueueProcessor;
 import org.apache.sling.replication.queue.ReplicationQueueProvider;
-import org.apache.sling.replication.rule.ReplicationRuleEngine;
+import org.apache.sling.replication.trigger.ReplicationTriggerRequestHandler;
+import org.apache.sling.replication.trigger.ReplicationTrigger;
 import 
org.apache.sling.replication.serialization.ReplicationPackageBuildingException;
 import 
org.apache.sling.replication.serialization.ReplicationPackageReadingException;
 import org.slf4j.Logger;
@@ -62,24 +63,22 @@ public class SimpleReplicationAgent impl
 
     private final ReplicationEventFactory replicationEventFactory;
 
-    private final String name;
+    private final List<ReplicationTrigger> triggers;
 
-    private final String[] rules;
+    private final String name;
 
     private final boolean useAggregatePaths;
 
-    private final ReplicationRuleEngine ruleEngine;
-
-    public SimpleReplicationAgent(String name, String[] rules,
+    public SimpleReplicationAgent(String name,
                                   boolean useAggregatePaths,
                                   boolean passive,
                                   ReplicationPackageImporter 
replicationPackageImporter,
                                   ReplicationPackageExporter 
replicationPackageExporter,
                                   ReplicationQueueProvider queueProvider,
                                   ReplicationQueueDistributionStrategy 
queueDistributionHandler,
-                                  ReplicationEventFactory 
replicationEventFactory, ReplicationRuleEngine ruleEngine) {
+                                  ReplicationEventFactory 
replicationEventFactory,
+                                  List<ReplicationTrigger> triggers) {
         this.name = name;
-        this.rules = rules;
         this.passive = passive;
         this.replicationPackageImporter = replicationPackageImporter;
         this.replicationPackageExporter = replicationPackageExporter;
@@ -87,7 +86,7 @@ public class SimpleReplicationAgent impl
         this.queueDistributionStrategy = queueDistributionHandler;
         this.useAggregatePaths = useAggregatePaths;
         this.replicationEventFactory = replicationEventFactory;
-        this.ruleEngine = ruleEngine;
+        this.triggers = triggers == null ? new ArrayList<ReplicationTrigger>() 
: triggers;
     }
 
     public ReplicationResponse execute(ReplicationRequest replicationRequest)
@@ -193,9 +192,12 @@ public class SimpleReplicationAgent impl
 
     public void enable() {
         log.info("enabling agent");
-        // apply rules if any
-        if (rules.length > 0) {
-            ruleEngine.applyRules(this, rules);
+        // register triggers if any
+
+        for (int i=0; i < triggers.size(); i++) {
+            ReplicationTrigger trigger = triggers.get(i);
+            String handlerId = getName() + "-" + i;
+            trigger.register(handlerId, new 
AgentBasedTriggerRequestHandler(this));
         }
 
         if (!isPassive()) {
@@ -205,8 +207,10 @@ public class SimpleReplicationAgent impl
 
     public void disable() {
         log.info("disabling agent");
-        if (rules != null) {
-            ruleEngine.unapplyRules(this, rules);
+        for (int i=0; i < triggers.size(); i++) {
+            ReplicationTrigger trigger = triggers.get(i);
+            String handlerId = getName() + "-" + i;
+            trigger.unregister(handlerId);
         }
 
         if (!isPassive()) {
@@ -236,4 +240,21 @@ public class SimpleReplicationAgent impl
             return processTransportQueue(packageInfo);
         }
     }
+
+    public class AgentBasedTriggerRequestHandler implements 
ReplicationTriggerRequestHandler {
+        private final ReplicationAgent agent;
+
+        public AgentBasedTriggerRequestHandler(ReplicationAgent agent) {
+            this.agent = agent;
+        }
+
+        public void handle(ReplicationRequest request) {
+            try {
+                agent.execute(request);
+            }
+            catch (AgentReplicationException e) {
+                log.error("Error executing handler", e);
+            }
+        }
+    }
 }

Modified: 
sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/agent/impl/SimpleReplicationAgentFactory.java
URL: 
http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/agent/impl/SimpleReplicationAgentFactory.java?rev=1627757&r1=1627756&r2=1627757&view=diff
==============================================================================
--- 
sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/agent/impl/SimpleReplicationAgentFactory.java
 (original)
+++ 
sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/agent/impl/SimpleReplicationAgentFactory.java
 Fri Sep 26 12:38:14 2014
@@ -18,19 +18,30 @@
  */
 package org.apache.sling.replication.agent.impl;
 
-import java.util.*;
-
-import org.apache.felix.scr.annotations.*;
+import java.util.ArrayList;
+import java.util.Dictionary;
+import java.util.Hashtable;
+import java.util.Map;
+import java.util.Random;
+import java.util.Set;
+
+import org.apache.felix.scr.annotations.Activate;
+import org.apache.felix.scr.annotations.Component;
+import org.apache.felix.scr.annotations.ConfigurationPolicy;
+import org.apache.felix.scr.annotations.Deactivate;
+import org.apache.felix.scr.annotations.Property;
+import org.apache.felix.scr.annotations.Reference;
+import org.apache.felix.scr.annotations.ReferencePolicy;
 import org.apache.sling.commons.osgi.PropertiesUtil;
 import org.apache.sling.replication.agent.ReplicationAgent;
 import org.apache.sling.replication.event.ReplicationEventFactory;
+import org.apache.sling.replication.packaging.ReplicationPackageExporter;
+import org.apache.sling.replication.packaging.ReplicationPackageImporter;
 import org.apache.sling.replication.queue.ReplicationQueueDistributionStrategy;
 import org.apache.sling.replication.queue.ReplicationQueueProvider;
 import org.apache.sling.replication.queue.impl.SingleQueueDistributionStrategy;
 import 
org.apache.sling.replication.queue.impl.jobhandling.JobHandlingReplicationQueueProvider;
-import org.apache.sling.replication.rule.ReplicationRuleEngine;
-import org.apache.sling.replication.packaging.ReplicationPackageExporter;
-import org.apache.sling.replication.packaging.ReplicationPackageImporter;
+import org.apache.sling.replication.trigger.ReplicationTrigger;
 import org.apache.sling.settings.SlingSettingsService;
 import org.osgi.framework.BundleContext;
 import org.osgi.framework.ServiceReference;
@@ -73,8 +84,8 @@ public class SimpleReplicationAgentFacto
     @Property(label = "Name")
     public static final String NAME = "name";
 
-    @Property(label = "Rules")
-    public static final String RULES = "rules";
+    @Property(label = "Triggers")
+    public static final String TRIGGERS = "triggers";
 
     @Property(boolValue = true, label = "Replicate using aggregated paths")
     public static final String USE_AGGREGATE_PATHS = "useAggregatePaths";
@@ -104,9 +115,6 @@ public class SimpleReplicationAgentFacto
     private ServiceRegistration agentReg;
 
     @Reference
-    private ReplicationRuleEngine replicationRuleEngine;
-
-    @Reference
     private ReplicationEventFactory replicationEventFactory;
 
     @Reference
@@ -137,8 +145,8 @@ public class SimpleReplicationAgentFacto
             String distribution = 
PropertiesUtil.toString(config.get(QUEUE_DISTRIBUTION_TARGET), 
DEFAULT_DISTRIBUTION);
             props.put(QUEUE_DISTRIBUTION_TARGET, distribution);
 
-            String[] rules = PropertiesUtil.toStringArray(config.get(RULES), 
new String[0]);
-            props.put(RULES, rules);
+            String[] triggers = 
PropertiesUtil.toStringArray(config.get(TRIGGERS), new String[0]);
+            props.put(TRIGGERS, triggers);
 
 
             boolean useAggregatePaths = 
PropertiesUtil.toBoolean(config.get(USE_AGGREGATE_PATHS), true);
@@ -155,8 +163,9 @@ public class SimpleReplicationAgentFacto
             log.info("bound services for {} :  {} - {} - {} - {} - {} - {}", 
new Object[]{name,
                     packageImporter, packageExporter, queueProvider, 
queueDistributionStrategy});
 
-            SimpleReplicationAgent agent = new SimpleReplicationAgent(name, 
rules, useAggregatePaths, isPassive,
-                    packageImporter, packageExporter, queueProvider, 
queueDistributionStrategy, replicationEventFactory, replicationRuleEngine);
+            SimpleReplicationAgent agent = new SimpleReplicationAgent(name, 
useAggregatePaths, isPassive,
+                    packageImporter, packageExporter, queueProvider, 
queueDistributionStrategy, replicationEventFactory,
+                    null); // TODO : enable triggers again
 
             // only enable if instance runmodes match configured ones
             if (matchRunmodes(runModes)) {

Modified: 
sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/event/ReplicationEvent.java
URL: 
http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/event/ReplicationEvent.java?rev=1627757&r1=1627756&r2=1627757&view=diff
==============================================================================
--- 
sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/event/ReplicationEvent.java
 (original)
+++ 
sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/event/ReplicationEvent.java
 Fri Sep 26 12:38:14 2014
@@ -19,6 +19,7 @@
 package org.apache.sling.replication.event;
 
 import java.util.Dictionary;
+
 import org.osgi.service.event.Event;
 
 /**

Modified: 
sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/monitor/ReplicationQueueHealthCheck.java
URL: 
http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/monitor/ReplicationQueueHealthCheck.java?rev=1627757&r1=1627756&r2=1627757&view=diff
==============================================================================
--- 
sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/monitor/ReplicationQueueHealthCheck.java
 (original)
+++ 
sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/monitor/ReplicationQueueHealthCheck.java
 Fri Sep 26 12:38:14 2014
@@ -22,6 +22,7 @@ import java.util.Collection;
 import java.util.HashMap;
 import java.util.LinkedList;
 import java.util.Map;
+
 import org.apache.felix.scr.annotations.Activate;
 import org.apache.felix.scr.annotations.Component;
 import org.apache.felix.scr.annotations.Deactivate;

Modified: 
sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/packaging/impl/exporter/AgentReplicationPackageExporterFactory.java
URL: 
http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/packaging/impl/exporter/AgentReplicationPackageExporterFactory.java?rev=1627757&r1=1627756&r2=1627757&view=diff
==============================================================================
--- 
sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/packaging/impl/exporter/AgentReplicationPackageExporterFactory.java
 (original)
+++ 
sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/packaging/impl/exporter/AgentReplicationPackageExporterFactory.java
 Fri Sep 26 12:38:14 2014
@@ -22,15 +22,21 @@ import java.util.ArrayList;
 import java.util.List;
 import java.util.Map;
 
-import org.apache.felix.scr.annotations.*;
+import org.apache.felix.scr.annotations.Activate;
+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.Reference;
+import org.apache.felix.scr.annotations.ReferencePolicy;
+import org.apache.felix.scr.annotations.Service;
 import org.apache.sling.commons.osgi.PropertiesUtil;
 import org.apache.sling.replication.agent.ReplicationAgent;
 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.queue.ReplicationQueue;
 import org.apache.sling.replication.queue.ReplicationQueueItem;
-import org.apache.sling.replication.packaging.ReplicationPackage;
 import org.apache.sling.replication.serialization.ReplicationPackageBuilder;
-import org.apache.sling.replication.packaging.ReplicationPackageExporter;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 

Modified: 
sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/packaging/impl/exporter/LocalReplicationPackageExporterFactory.java
URL: 
http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/packaging/impl/exporter/LocalReplicationPackageExporterFactory.java?rev=1627757&r1=1627756&r2=1627757&view=diff
==============================================================================
--- 
sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/packaging/impl/exporter/LocalReplicationPackageExporterFactory.java
 (original)
+++ 
sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/packaging/impl/exporter/LocalReplicationPackageExporterFactory.java
 Fri Sep 26 12:38:14 2014
@@ -18,7 +18,15 @@
  */
 package org.apache.sling.replication.packaging.impl.exporter;
 
-import org.apache.felix.scr.annotations.*;
+import java.util.List;
+
+import org.apache.felix.scr.annotations.Activate;
+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.Reference;
+import org.apache.felix.scr.annotations.ReferencePolicy;
+import org.apache.felix.scr.annotations.Service;
 import org.apache.sling.replication.communication.ReplicationRequest;
 import org.apache.sling.replication.packaging.ReplicationPackage;
 import org.apache.sling.replication.packaging.ReplicationPackageExporter;
@@ -27,9 +35,6 @@ import org.apache.sling.replication.seri
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-import java.util.ArrayList;
-import java.util.List;
-
 /**
  * {@link org.apache.sling.replication.packaging.ReplicationPackageExporter} 
implementation which creates a FileVault based
  * {@link org.apache.sling.replication.packaging.ReplicationPackage} locally.

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=1627757&r1=1627756&r2=1627757&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
 Fri Sep 26 12:38:14 2014
@@ -20,10 +20,7 @@ package org.apache.sling.replication.pac
 
 import java.util.ArrayList;
 import java.util.List;
-import java.util.Map;
 
-import org.apache.felix.scr.annotations.Deactivate;
-import org.apache.http.client.fluent.Executor;
 import org.apache.sling.replication.communication.ReplicationEndpoint;
 import org.apache.sling.replication.communication.ReplicationRequest;
 import org.apache.sling.replication.packaging.ReplicationPackage;

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=1627757&r1=1627756&r2=1627757&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
 Fri Sep 26 12:38:14 2014
@@ -23,8 +23,14 @@ 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.felix.scr.annotations.Activate;
+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.PropertyOption;
+import org.apache.felix.scr.annotations.Reference;
+import org.apache.felix.scr.annotations.ReferencePolicy;
+import org.apache.felix.scr.annotations.Service;
 import org.apache.sling.commons.osgi.PropertiesUtil;
 import org.apache.sling.replication.communication.ReplicationEndpoint;
 import org.apache.sling.replication.event.ReplicationEventFactory;

Modified: 
sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/packaging/impl/importer/LocalReplicationPackageImporter.java
URL: 
http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/packaging/impl/importer/LocalReplicationPackageImporter.java?rev=1627757&r1=1627756&r2=1627757&view=diff
==============================================================================
--- 
sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/packaging/impl/importer/LocalReplicationPackageImporter.java
 (original)
+++ 
sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/packaging/impl/importer/LocalReplicationPackageImporter.java
 Fri Sep 26 12:38:14 2014
@@ -18,7 +18,11 @@
  */
 package org.apache.sling.replication.packaging.impl.importer;
 
-import org.apache.felix.scr.annotations.*;
+import java.io.InputStream;
+import java.util.Arrays;
+import java.util.Dictionary;
+import java.util.Hashtable;
+
 import org.apache.sling.replication.event.ReplicationEventFactory;
 import org.apache.sling.replication.event.ReplicationEventType;
 import org.apache.sling.replication.packaging.ReplicationPackage;
@@ -28,11 +32,6 @@ import org.apache.sling.replication.seri
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-import java.io.InputStream;
-import java.util.Arrays;
-import java.util.Dictionary;
-import java.util.Hashtable;
-
 /**
  * {@link org.apache.sling.replication.packaging.ReplicationPackageImporter} 
implementation which imports a FileVault
  * based {@link org.apache.sling.replication.packaging.ReplicationPackage} 
locally.

Modified: 
sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/packaging/impl/importer/LocalReplicationPackageImporterFactory.java
URL: 
http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/packaging/impl/importer/LocalReplicationPackageImporterFactory.java?rev=1627757&r1=1627756&r2=1627757&view=diff
==============================================================================
--- 
sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/packaging/impl/importer/LocalReplicationPackageImporterFactory.java
 (original)
+++ 
sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/packaging/impl/importer/LocalReplicationPackageImporterFactory.java
 Fri Sep 26 12:38:14 2014
@@ -19,14 +19,16 @@
 package org.apache.sling.replication.packaging.impl.importer;
 
 import java.io.InputStream;
-import java.util.Arrays;
-import java.util.Dictionary;
-import java.util.Hashtable;
 import java.util.Map;
 
-import org.apache.felix.scr.annotations.*;
+import org.apache.felix.scr.annotations.Activate;
+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.Reference;
+import org.apache.felix.scr.annotations.ReferencePolicy;
+import org.apache.felix.scr.annotations.Service;
 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.ReplicationPackageImporter;
 import org.apache.sling.replication.serialization.ReplicationPackageBuilder;

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=1627757&r1=1627756&r2=1627757&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
 Fri Sep 26 12:38:14 2014
@@ -18,7 +18,10 @@
  */
 package org.apache.sling.replication.packaging.impl.importer;
 
-import org.apache.http.client.fluent.Executor;
+import java.io.InputStream;
+import java.util.ArrayList;
+import java.util.List;
+
 import org.apache.sling.replication.communication.ReplicationEndpoint;
 import org.apache.sling.replication.event.ReplicationEventFactory;
 import org.apache.sling.replication.packaging.ReplicationPackage;
@@ -32,11 +35,6 @@ import org.apache.sling.replication.tran
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-import java.io.InputStream;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Map;
-
 /**
  * Remote implementation of {@link 
org.apache.sling.replication.packaging.ReplicationPackageImporter}
  */
@@ -54,8 +52,6 @@ public class RemoteReplicationPackageImp
                                             String[] endpoints,
                                             TransportEndpointStrategyType 
transportEndpointStrategyType) {
 
-
-
         List<ReplicationTransportHandler> transportHandlers = new 
ArrayList<ReplicationTransportHandler>();
 
         for (String endpoint : endpoints) {
@@ -69,7 +65,6 @@ public class RemoteReplicationPackageImp
 
     }
 
-
     public boolean importPackage(ReplicationPackage replicationPackage) {
         boolean result = false;
         try {

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=1627757&r1=1627756&r2=1627757&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
 Fri Sep 26 12:38:14 2014
@@ -21,7 +21,14 @@ package org.apache.sling.replication.pac
 import java.io.InputStream;
 import java.util.Map;
 
-import org.apache.felix.scr.annotations.*;
+import org.apache.felix.scr.annotations.Activate;
+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.PropertyOption;
+import org.apache.felix.scr.annotations.Reference;
+import org.apache.felix.scr.annotations.ReferencePolicy;
+import org.apache.felix.scr.annotations.Service;
 import org.apache.sling.commons.osgi.PropertiesUtil;
 import org.apache.sling.replication.event.ReplicationEventFactory;
 import org.apache.sling.replication.packaging.ReplicationPackage;
@@ -93,7 +100,6 @@ public class RemoteReplicationPackageImp
 
     }
 
-
     public boolean importPackage(ReplicationPackage replicationPackage) {
        return importer.importPackage(replicationPackage);
     }

Modified: 
sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/queue/impl/AbstractReplicationQueueProvider.java
URL: 
http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/queue/impl/AbstractReplicationQueueProvider.java?rev=1627757&r1=1627756&r2=1627757&view=diff
==============================================================================
--- 
sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/queue/impl/AbstractReplicationQueueProvider.java
 (original)
+++ 
sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/queue/impl/AbstractReplicationQueueProvider.java
 Fri Sep 26 12:38:14 2014
@@ -21,6 +21,7 @@ package org.apache.sling.replication.que
 import java.util.Collection;
 import java.util.Map;
 import java.util.concurrent.ConcurrentHashMap;
+
 import org.apache.sling.replication.queue.ReplicationQueue;
 import org.apache.sling.replication.queue.ReplicationQueueException;
 import org.apache.sling.replication.queue.ReplicationQueueProvider;

Modified: 
sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/queue/impl/ErrorAwareQueueDistributionStrategy.java
URL: 
http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/queue/impl/ErrorAwareQueueDistributionStrategy.java?rev=1627757&r1=1627756&r2=1627757&view=diff
==============================================================================
--- 
sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/queue/impl/ErrorAwareQueueDistributionStrategy.java
 (original)
+++ 
sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/queue/impl/ErrorAwareQueueDistributionStrategy.java
 Fri Sep 26 12:38:14 2014
@@ -20,10 +20,19 @@ package org.apache.sling.replication.que
 
 import java.util.Calendar;
 
-import org.apache.felix.scr.annotations.*;
+import org.apache.felix.scr.annotations.Activate;
+import org.apache.felix.scr.annotations.Component;
+import org.apache.felix.scr.annotations.Property;
+import org.apache.felix.scr.annotations.PropertyOption;
+import org.apache.felix.scr.annotations.Service;
 import org.apache.sling.commons.osgi.PropertiesUtil;
-import org.apache.sling.replication.queue.*;
+import org.apache.sling.replication.queue.ReplicationQueue;
+import org.apache.sling.replication.queue.ReplicationQueueDistributionStrategy;
+import org.apache.sling.replication.queue.ReplicationQueueException;
+import org.apache.sling.replication.queue.ReplicationQueueItem;
+import org.apache.sling.replication.queue.ReplicationQueueItemState;
 import org.apache.sling.replication.queue.ReplicationQueueItemState.ItemState;
+import org.apache.sling.replication.queue.ReplicationQueueProvider;
 import org.osgi.service.component.ComponentContext;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;

Modified: 
sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/queue/impl/PriorityPathDistributionStrategy.java
URL: 
http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/queue/impl/PriorityPathDistributionStrategy.java?rev=1627757&r1=1627756&r2=1627757&view=diff
==============================================================================
--- 
sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/queue/impl/PriorityPathDistributionStrategy.java
 (original)
+++ 
sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/queue/impl/PriorityPathDistributionStrategy.java
 Fri Sep 26 12:38:14 2014
@@ -25,8 +25,13 @@ import org.apache.felix.scr.annotations.
 import org.apache.felix.scr.annotations.Property;
 import org.apache.felix.scr.annotations.Service;
 import org.apache.sling.commons.osgi.PropertiesUtil;
-import org.apache.sling.replication.queue.*;
+import org.apache.sling.replication.queue.ReplicationQueue;
+import org.apache.sling.replication.queue.ReplicationQueueDistributionStrategy;
+import org.apache.sling.replication.queue.ReplicationQueueException;
+import org.apache.sling.replication.queue.ReplicationQueueItem;
+import org.apache.sling.replication.queue.ReplicationQueueItemState;
 import org.apache.sling.replication.queue.ReplicationQueueItemState.ItemState;
+import org.apache.sling.replication.queue.ReplicationQueueProvider;
 import org.osgi.service.component.ComponentContext;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;

Modified: 
sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/queue/impl/SingleQueueDistributionStrategy.java
URL: 
http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/queue/impl/SingleQueueDistributionStrategy.java?rev=1627757&r1=1627756&r2=1627757&view=diff
==============================================================================
--- 
sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/queue/impl/SingleQueueDistributionStrategy.java
 (original)
+++ 
sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/queue/impl/SingleQueueDistributionStrategy.java
 Fri Sep 26 12:38:14 2014
@@ -21,12 +21,16 @@ package org.apache.sling.replication.que
 import org.apache.felix.scr.annotations.Component;
 import org.apache.felix.scr.annotations.Property;
 import org.apache.felix.scr.annotations.Service;
-import org.apache.sling.replication.queue.*;
+import org.apache.sling.replication.queue.ReplicationQueue;
+import org.apache.sling.replication.queue.ReplicationQueueDistributionStrategy;
+import org.apache.sling.replication.queue.ReplicationQueueException;
+import org.apache.sling.replication.queue.ReplicationQueueItem;
+import org.apache.sling.replication.queue.ReplicationQueueItemState;
+import org.apache.sling.replication.queue.ReplicationQueueItemState.ItemState;
+import org.apache.sling.replication.queue.ReplicationQueueProvider;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-import org.apache.sling.replication.queue.ReplicationQueueItemState.ItemState;
-
 /**
  * The default strategy for delivering packages to queues. Each agent just 
manages a single queue,
  * no failure / stuck handling where each package is put regardless of 
anything.

Modified: 
sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/queue/impl/jobhandling/JobHandlingReplicationQueue.java
URL: 
http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/queue/impl/jobhandling/JobHandlingReplicationQueue.java?rev=1627757&r1=1627756&r2=1627757&view=diff
==============================================================================
--- 
sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/queue/impl/jobhandling/JobHandlingReplicationQueue.java
 (original)
+++ 
sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/queue/impl/jobhandling/JobHandlingReplicationQueue.java
 Fri Sep 26 12:38:14 2014
@@ -18,7 +18,10 @@
  */
 package org.apache.sling.replication.queue.impl.jobhandling;
 
-import java.util.*;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.List;
+import java.util.Map;
 
 import org.apache.sling.event.jobs.Job;
 import org.apache.sling.event.jobs.JobManager;

Modified: 
sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/queue/impl/jobhandling/JobHandlingReplicationQueueProvider.java
URL: 
http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/queue/impl/jobhandling/JobHandlingReplicationQueueProvider.java?rev=1627757&r1=1627756&r2=1627757&view=diff
==============================================================================
--- 
sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/queue/impl/jobhandling/JobHandlingReplicationQueueProvider.java
 (original)
+++ 
sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/queue/impl/jobhandling/JobHandlingReplicationQueueProvider.java
 Fri Sep 26 12:38:14 2014
@@ -23,6 +23,7 @@ import java.util.Dictionary;
 import java.util.Hashtable;
 import java.util.Map;
 import java.util.concurrent.ConcurrentHashMap;
+
 import org.apache.felix.scr.annotations.Activate;
 import org.apache.felix.scr.annotations.Component;
 import org.apache.felix.scr.annotations.Deactivate;

Modified: 
sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/queue/impl/jobhandling/JobHandlingUtils.java
URL: 
http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/queue/impl/jobhandling/JobHandlingUtils.java?rev=1627757&r1=1627756&r2=1627757&view=diff
==============================================================================
--- 
sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/queue/impl/jobhandling/JobHandlingUtils.java
 (original)
+++ 
sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/queue/impl/jobhandling/JobHandlingUtils.java
 Fri Sep 26 12:38:14 2014
@@ -20,6 +20,7 @@ package org.apache.sling.replication.que
 
 import java.util.HashMap;
 import java.util.Map;
+
 import org.apache.sling.event.jobs.Job;
 import org.apache.sling.replication.queue.ReplicationQueueItem;
 

Modified: 
sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/resources/impl/OsgiConfigurationResourceProvider.java
URL: 
http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/resources/impl/OsgiConfigurationResourceProvider.java?rev=1627757&r1=1627756&r2=1627757&view=diff
==============================================================================
--- 
sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/resources/impl/OsgiConfigurationResourceProvider.java
 (original)
+++ 
sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/resources/impl/OsgiConfigurationResourceProvider.java
 Fri Sep 26 12:38:14 2014
@@ -21,7 +21,6 @@ package org.apache.sling.replication.res
 
 import java.io.IOException;
 import java.util.ArrayList;
-import java.util.Arrays;
 import java.util.Dictionary;
 import java.util.Enumeration;
 import java.util.HashMap;

Modified: 
sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/resources/impl/OsgiPropertiesResourceProviderFactory.java
URL: 
http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/resources/impl/OsgiPropertiesResourceProviderFactory.java?rev=1627757&r1=1627756&r2=1627757&view=diff
==============================================================================
--- 
sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/resources/impl/OsgiPropertiesResourceProviderFactory.java
 (original)
+++ 
sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/resources/impl/OsgiPropertiesResourceProviderFactory.java
 Fri Sep 26 12:38:14 2014
@@ -19,6 +19,8 @@
 
 package org.apache.sling.replication.resources.impl;
 
+import java.util.Map;
+
 import org.apache.felix.scr.annotations.Activate;
 import org.apache.felix.scr.annotations.Component;
 import org.apache.felix.scr.annotations.ConfigurationPolicy;
@@ -37,8 +39,6 @@ import org.osgi.util.tracker.ServiceTrac
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-import java.util.Map;
-
 
 @Component(label="Osgi Service Properties Resource Provider Factory",
         description="Osgi Service Properties Resource Provider Factory",

Modified: 
sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/resources/impl/OsgiServicePropertiesResourceProvider.java
URL: 
http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/resources/impl/OsgiServicePropertiesResourceProvider.java?rev=1627757&r1=1627756&r2=1627757&view=diff
==============================================================================
--- 
sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/resources/impl/OsgiServicePropertiesResourceProvider.java
 (original)
+++ 
sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/resources/impl/OsgiServicePropertiesResourceProvider.java
 Fri Sep 26 12:38:14 2014
@@ -20,6 +20,13 @@
 package org.apache.sling.replication.resources.impl;
 
 
+import java.util.Collection;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.Map;
+import java.util.Set;
+import java.util.concurrent.ConcurrentHashMap;
+
 import org.apache.sling.api.resource.Resource;
 import org.apache.sling.api.resource.ResourceProvider;
 import org.apache.sling.commons.osgi.PropertiesUtil;
@@ -28,13 +35,6 @@ import org.osgi.framework.BundleContext;
 import org.osgi.framework.ServiceReference;
 import org.osgi.util.tracker.ServiceTrackerCustomizer;
 
-import java.util.Collection;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.Map;
-import java.util.Set;
-import java.util.concurrent.ConcurrentHashMap;
-
 /**
  * {@link ResourceProvider} for Osgi services for a specific service interface.
  * The main resource contains a list of service properties and can be adapted 
to the underlying service.

Modified: 
sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/resources/impl/common/AbstractModifyingResourceProvider.java
URL: 
http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/resources/impl/common/AbstractModifyingResourceProvider.java?rev=1627757&r1=1627756&r2=1627757&view=diff
==============================================================================
--- 
sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/resources/impl/common/AbstractModifyingResourceProvider.java
 (original)
+++ 
sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/resources/impl/common/AbstractModifyingResourceProvider.java
 Fri Sep 26 12:38:14 2014
@@ -19,17 +19,17 @@
 package org.apache.sling.replication.resources.impl.common;
 
 
-import org.apache.sling.api.resource.ModifyingResourceProvider;
-import org.apache.sling.api.resource.PersistenceException;
-import org.apache.sling.api.resource.Resource;
-import org.apache.sling.api.resource.ResourceResolver;
-
 import javax.jcr.Session;
 import java.util.HashMap;
 import java.util.HashSet;
 import java.util.Map;
 import java.util.Set;
 
+import org.apache.sling.api.resource.ModifyingResourceProvider;
+import org.apache.sling.api.resource.PersistenceException;
+import org.apache.sling.api.resource.Resource;
+import org.apache.sling.api.resource.ResourceResolver;
+
 public abstract class AbstractModifyingResourceProvider extends 
AbstractReadableResourceProvider
         implements ModifyingResourceProvider {
 

Modified: 
sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/resources/impl/common/AbstractReadableResourceProvider.java
URL: 
http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/resources/impl/common/AbstractReadableResourceProvider.java?rev=1627757&r1=1627756&r2=1627757&view=diff
==============================================================================
--- 
sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/resources/impl/common/AbstractReadableResourceProvider.java
 (original)
+++ 
sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/resources/impl/common/AbstractReadableResourceProvider.java
 Fri Sep 26 12:38:14 2014
@@ -20,10 +20,6 @@
 package org.apache.sling.replication.resources.impl.common;
 
 
-import org.apache.sling.api.resource.Resource;
-import org.apache.sling.api.resource.ResourceProvider;
-import org.apache.sling.api.resource.ResourceResolver;
-
 import javax.jcr.RepositoryException;
 import javax.jcr.Session;
 import javax.servlet.http.HttpServletRequest;
@@ -31,6 +27,10 @@ import java.util.Arrays;
 import java.util.HashMap;
 import java.util.Map;
 
+import org.apache.sling.api.resource.Resource;
+import org.apache.sling.api.resource.ResourceProvider;
+import org.apache.sling.api.resource.ResourceResolver;
+
 public abstract class AbstractReadableResourceProvider implements 
ResourceProvider {
 
     protected static final String ADAPTABLE_PROPERTY_NAME = "adaptable";

Modified: 
sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/resources/impl/common/SimpleModifiableResource.java
URL: 
http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/resources/impl/common/SimpleModifiableResource.java?rev=1627757&r1=1627756&r2=1627757&view=diff
==============================================================================
--- 
sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/resources/impl/common/SimpleModifiableResource.java
 (original)
+++ 
sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/resources/impl/common/SimpleModifiableResource.java
 Fri Sep 26 12:38:14 2014
@@ -18,12 +18,12 @@
  */
 package org.apache.sling.replication.resources.impl.common;
 
+import java.util.Map;
+
 import org.apache.sling.api.resource.ModifiableValueMap;
 import org.apache.sling.api.resource.ResourceResolver;
 import org.apache.sling.api.resource.ValueMap;
 
-import java.util.Map;
-
 /**
  * Resource that can be adapted to a ModifiableValueMap
  */

Modified: 
sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/resources/impl/common/SimpleModifiableValueMap.java
URL: 
http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/resources/impl/common/SimpleModifiableValueMap.java?rev=1627757&r1=1627756&r2=1627757&view=diff
==============================================================================
--- 
sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/resources/impl/common/SimpleModifiableValueMap.java
 (original)
+++ 
sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/resources/impl/common/SimpleModifiableValueMap.java
 Fri Sep 26 12:38:14 2014
@@ -18,13 +18,12 @@
  */
 package org.apache.sling.replication.resources.impl.common;
 
+import java.util.HashMap;
+import java.util.Map;
+
 import org.apache.sling.api.resource.ModifiableValueMap;
 import org.apache.sling.api.resource.ResourceResolver;
 import org.apache.sling.api.wrappers.ModifiableValueMapDecorator;
-import 
org.apache.sling.replication.resources.impl.common.AbstractModifyingResourceProvider;
-
-import java.util.HashMap;
-import java.util.Map;
 
 /**
  * ValueMap that signals to the underlying resource provider the its values 
are changed.

Modified: 
sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/resources/impl/common/SimpleReadableResource.java
URL: 
http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/resources/impl/common/SimpleReadableResource.java?rev=1627757&r1=1627756&r2=1627757&view=diff
==============================================================================
--- 
sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/resources/impl/common/SimpleReadableResource.java
 (original)
+++ 
sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/resources/impl/common/SimpleReadableResource.java
 Fri Sep 26 12:38:14 2014
@@ -20,15 +20,15 @@
 package org.apache.sling.replication.resources.impl.common;
 
 
+import java.lang.reflect.Array;
+import java.util.Map;
+
 import org.apache.sling.api.resource.AbstractResource;
 import org.apache.sling.api.resource.ResourceMetadata;
 import org.apache.sling.api.resource.ResourceResolver;
 import org.apache.sling.api.resource.ValueMap;
 import org.apache.sling.api.wrappers.ValueMapDecorator;
 
-import java.lang.reflect.Array;
-import java.util.Map;
-
 /**
  * Read only resource that can adapt to one of the object provided as 
parameter.
  */

Modified: 
sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/serialization/impl/vlt/FileVaultReplicationPackageBuilder.java
URL: 
http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/serialization/impl/vlt/FileVaultReplicationPackageBuilder.java?rev=1627757&r1=1627756&r2=1627757&view=diff
==============================================================================
--- 
sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/serialization/impl/vlt/FileVaultReplicationPackageBuilder.java
 (original)
+++ 
sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/serialization/impl/vlt/FileVaultReplicationPackageBuilder.java
 Fri Sep 26 12:38:14 2014
@@ -18,8 +18,14 @@
  */
 package org.apache.sling.replication.serialization.impl.vlt;
 
+import javax.jcr.RepositoryException;
+import javax.jcr.Session;
+import java.io.File;
+import java.io.FileOutputStream;
+import java.io.InputStream;
+import java.util.Properties;
+
 import org.apache.commons.io.IOUtils;
-import org.apache.felix.scr.annotations.*;
 import org.apache.jackrabbit.vault.fs.api.PathFilterSet;
 import org.apache.jackrabbit.vault.fs.config.DefaultMetaInf;
 import org.apache.jackrabbit.vault.fs.config.DefaultWorkspaceFilter;
@@ -28,7 +34,6 @@ import org.apache.jackrabbit.vault.packa
 import org.apache.jackrabbit.vault.packaging.JcrPackage;
 import org.apache.jackrabbit.vault.packaging.Packaging;
 import org.apache.jackrabbit.vault.packaging.VaultPackage;
-import org.apache.sling.commons.osgi.PropertiesUtil;
 import org.apache.sling.jcr.api.SlingRepository;
 import org.apache.sling.replication.communication.ReplicationRequest;
 import org.apache.sling.replication.packaging.ReplicationPackage;
@@ -36,18 +41,9 @@ import org.apache.sling.replication.seri
 import 
org.apache.sling.replication.serialization.ReplicationPackageBuildingException;
 import 
org.apache.sling.replication.serialization.ReplicationPackageReadingException;
 import 
org.apache.sling.replication.serialization.impl.AbstractReplicationPackageBuilder;
-import org.osgi.service.component.ComponentContext;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-import javax.jcr.RepositoryException;
-import javax.jcr.Session;
-import javax.jcr.SimpleCredentials;
-import java.io.File;
-import java.io.FileOutputStream;
-import java.io.InputStream;
-import java.util.Properties;
-
 /**
  * a {@link 
org.apache.sling.replication.serialization.ReplicationPackageBuilder} based on 
Apache Jackrabbit FileVault.
  * <p/>

Modified: 
sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/serialization/impl/vlt/FileVaultReplicationPackageBuilderFactory.java
URL: 
http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/serialization/impl/vlt/FileVaultReplicationPackageBuilderFactory.java?rev=1627757&r1=1627756&r2=1627757&view=diff
==============================================================================
--- 
sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/serialization/impl/vlt/FileVaultReplicationPackageBuilderFactory.java
 (original)
+++ 
sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/serialization/impl/vlt/FileVaultReplicationPackageBuilderFactory.java
 Fri Sep 26 12:38:14 2014
@@ -28,7 +28,6 @@ import org.apache.felix.scr.annotations.
 import org.apache.felix.scr.annotations.Deactivate;
 import org.apache.felix.scr.annotations.Property;
 import org.apache.felix.scr.annotations.Reference;
-import org.apache.felix.scr.annotations.Service;
 import org.apache.jackrabbit.vault.packaging.Packaging;
 import org.apache.jackrabbit.vault.packaging.VaultPackage;
 import org.apache.sling.commons.osgi.PropertiesUtil;

Modified: 
sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/servlet/ReplicationAgentRootServlet.java
URL: 
http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/servlet/ReplicationAgentRootServlet.java?rev=1627757&r1=1627756&r2=1627757&view=diff
==============================================================================
--- 
sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/servlet/ReplicationAgentRootServlet.java
 (original)
+++ 
sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/servlet/ReplicationAgentRootServlet.java
 Fri Sep 26 12:38:14 2014
@@ -18,10 +18,9 @@
  */
 package org.apache.sling.replication.servlet;
 
-import java.io.IOException;
-
 import javax.servlet.Servlet;
 import javax.servlet.ServletException;
+import java.io.IOException;
 
 import org.apache.felix.scr.annotations.Component;
 import org.apache.felix.scr.annotations.Properties;
@@ -30,14 +29,13 @@ import org.apache.felix.scr.annotations.
 import org.apache.sling.api.SlingHttpServletRequest;
 import org.apache.sling.api.SlingHttpServletResponse;
 import org.apache.sling.api.servlets.SlingAllMethodsServlet;
-import org.apache.sling.replication.resources.ReplicationConstants;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
 import org.apache.sling.replication.agent.AgentReplicationException;
 import org.apache.sling.replication.agent.ReplicationAgent;
 import org.apache.sling.replication.communication.ReplicationActionType;
 import org.apache.sling.replication.communication.ReplicationRequest;
+import org.apache.sling.replication.resources.ReplicationConstants;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 /**
  * Servlet for aggregate replication on all agents


Reply via email to