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