You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sling.apache.org by to...@apache.org on 2014/10/27 16:57:13 UTC
svn commit: r1634582 - in
/sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication:
agent/ agent/impl/ communication/ component/ component/impl/ packaging/
packaging/impl/exporter/ packaging/impl/importer/ queue/ tran...
Author: tommaso
Date: Mon Oct 27 15:57:12 2014
New Revision: 1634582
URL: http://svn.apache.org/r1634582
Log:
SLING-4106 - ReplicationComponent as marker if, ManagedRC has enable/disable, added RC to factory/provider return type
Added:
sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/component/ManagedReplicationComponent.java (with props)
Removed:
sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/communication/ReplicationAgentHistory.java
Modified:
sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/agent/ReplicationRequestAuthorizationStrategy.java
sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/agent/impl/CoordinatingReplicationAgentFactory.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/component/ReplicationComponent.java
sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/component/ReplicationComponentFactory.java
sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/component/ReplicationComponentProvider.java
sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/component/impl/DefaultReplicationComponentFactory.java
sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/component/impl/DefaultReplicationComponentProvider.java
sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/component/impl/GenericReplicationComponentFactory.java
sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/packaging/ReplicationPackageExporter.java
sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/packaging/ReplicationPackageImporter.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/RemoteReplicationPackageExporterFactory.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/ReplicationQueueDistributionStrategy.java
sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/queue/ReplicationQueueProvider.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/trigger/ReplicationTrigger.java
sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/trigger/impl/ChainReplicateReplicationTrigger.java
sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/trigger/impl/ResourceEventReplicationTrigger.java
Modified: sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/agent/ReplicationRequestAuthorizationStrategy.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/agent/ReplicationRequestAuthorizationStrategy.java?rev=1634582&r1=1634581&r2=1634582&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/agent/ReplicationRequestAuthorizationStrategy.java (original)
+++ sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/agent/ReplicationRequestAuthorizationStrategy.java Mon Oct 27 15:57:12 2014
@@ -20,11 +20,12 @@ package org.apache.sling.replication.age
import org.apache.sling.api.resource.ResourceResolver;
import org.apache.sling.replication.communication.ReplicationRequest;
+import org.apache.sling.replication.component.ReplicationComponent;
/**
* Strategy for authorizing requests
*/
-public interface ReplicationRequestAuthorizationStrategy {
+public interface ReplicationRequestAuthorizationStrategy extends ReplicationComponent {
/**
* @param resourceResolver a {@link org.apache.sling.api.resource.ResourceResolver} representing the calling 'user'
Modified: sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/agent/impl/CoordinatingReplicationAgentFactory.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/agent/impl/CoordinatingReplicationAgentFactory.java?rev=1634582&r1=1634581&r2=1634582&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/agent/impl/CoordinatingReplicationAgentFactory.java (original)
+++ sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/agent/impl/CoordinatingReplicationAgentFactory.java Mon Oct 27 15:57:12 2014
@@ -35,6 +35,7 @@ import org.apache.felix.scr.annotations.
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.component.ManagedReplicationComponent;
import org.apache.sling.replication.component.ReplicationComponent;
import org.apache.sling.replication.component.ReplicationComponentFactory;
import org.apache.sling.replication.component.ReplicationComponentProvider;
@@ -166,9 +167,8 @@ public class CoordinatingReplicationAgen
// register agent service
componentReg = context.registerService(ReplicationAgent.class.getName(), agent, props);
-
- if (agent instanceof ReplicationComponent) {
- ((ReplicationComponent) agent).enable();
+ if (agent instanceof ManagedReplicationComponent) {
+ ((ManagedReplicationComponent) agent).enable();
}
}
}
@@ -181,8 +181,8 @@ public class CoordinatingReplicationAgen
if (componentReg != null) {
ServiceReference reference = componentReg.getReference();
Object service = context.getService(reference);
- if (service instanceof ReplicationComponent) {
- ((ReplicationComponent) service).disable();
+ if (service instanceof ManagedReplicationComponent) {
+ ((ManagedReplicationComponent) service).disable();
}
componentReg.unregister();
@@ -191,7 +191,7 @@ public class CoordinatingReplicationAgen
}
- public <ComponentType> ComponentType getComponent(Class<ComponentType> type, String componentName) {
+ public <ComponentType extends ReplicationComponent> ComponentType getComponent(Class<ComponentType> type, String componentName) {
if (type.isAssignableFrom(ReplicationQueueProvider.class)) {
return (ComponentType) queueProvider;
} else if (type.isAssignableFrom(ReplicationQueueDistributionStrategy.class)) {
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=1634582&r1=1634581&r2=1634582&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 Mon Oct 27 15:57:12 2014
@@ -34,6 +34,7 @@ import org.apache.sling.replication.agen
import org.apache.sling.replication.agent.ReplicationRequestAuthorizationStrategy;
import org.apache.sling.replication.communication.ReplicationRequest;
import org.apache.sling.replication.communication.ReplicationResponse;
+import org.apache.sling.replication.component.ManagedReplicationComponent;
import org.apache.sling.replication.component.ReplicationComponent;
import org.apache.sling.replication.event.ReplicationEventFactory;
import org.apache.sling.replication.event.ReplicationEventType;
@@ -57,7 +58,7 @@ import org.slf4j.LoggerFactory;
/**
* Basic implementation of a {@link ReplicationAgent}
*/
-public class SimpleReplicationAgent implements ReplicationAgent, ReplicationComponent {
+public class SimpleReplicationAgent implements ReplicationAgent, ManagedReplicationComponent {
private final Logger log = LoggerFactory.getLogger(getClass());
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=1634582&r1=1634581&r2=1634582&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 Mon Oct 27 15:57:12 2014
@@ -33,6 +33,7 @@ import org.apache.felix.scr.annotations.
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.component.ManagedReplicationComponent;
import org.apache.sling.replication.component.ReplicationComponent;
import org.apache.sling.replication.component.ReplicationComponentFactory;
import org.apache.sling.replication.component.ReplicationComponentProvider;
@@ -146,9 +147,8 @@ public class SimpleReplicationAgentFacto
// register agent service
componentReg = context.registerService(ReplicationAgent.class.getName(), agent, props);
-
- if (agent instanceof ReplicationComponent) {
- ((ReplicationComponent) agent).enable();
+ if (agent instanceof ManagedReplicationComponent) {
+ ((ManagedReplicationComponent) agent).enable();
}
}
}
@@ -161,8 +161,8 @@ public class SimpleReplicationAgentFacto
if (componentReg != null) {
ServiceReference reference = componentReg.getReference();
Object service = context.getService(reference);
- if (service instanceof ReplicationComponent) {
- ((ReplicationComponent) service).disable();
+ if (service instanceof ManagedReplicationComponent) {
+ ((ManagedReplicationComponent) service).disable();
}
componentReg.unregister();
@@ -171,7 +171,7 @@ public class SimpleReplicationAgentFacto
}
- public <ComponentType> ComponentType getComponent(Class<ComponentType> type, String componentName) {
+ public <ComponentType extends ReplicationComponent> ComponentType getComponent(Class<ComponentType> type, String componentName) {
if (type.isAssignableFrom(ReplicationQueueProvider.class)) {
return (ComponentType) queueProvider;
}
@@ -189,7 +189,7 @@ public class SimpleReplicationAgentFacto
if (componentReg == null) {
activate(savedContext, savedConfig);
}
- else if (componentReg != null) {
+ else {
deactivate(savedContext);
activate(savedContext, savedConfig);
}
Added: sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/component/ManagedReplicationComponent.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/component/ManagedReplicationComponent.java?rev=1634582&view=auto
==============================================================================
--- sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/component/ManagedReplicationComponent.java (added)
+++ sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/component/ManagedReplicationComponent.java Mon Oct 27 15:57:12 2014
@@ -0,0 +1,37 @@
+/*
+ * 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.component;
+
+/**
+ * A managed {@link org.apache.sling.replication.component.ReplicationComponent} is a component which requires explicit
+ * initialization and releasing of its underlying (and implementation specific) resources.
+ */
+public interface ManagedReplicationComponent {
+
+ /**
+ * Enable the component
+ */
+ void enable();
+
+ /**
+ * Disable the component
+ */
+ void disable();
+
+}
Propchange: sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/component/ManagedReplicationComponent.java
------------------------------------------------------------------------------
svn:eol-style = native
Modified: sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/component/ReplicationComponent.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/component/ReplicationComponent.java?rev=1634582&r1=1634581&r2=1634582&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/component/ReplicationComponent.java (original)
+++ sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/component/ReplicationComponent.java Mon Oct 27 15:57:12 2014
@@ -19,19 +19,10 @@
package org.apache.sling.replication.component;
/**
- * A {@link ReplicationComponent} is a component requiring explicit enabling and disabling.
- * Examples of such components are {@link org.apache.sling.replication.agent.ReplicationAgent}s and some {@link org.apache.sling.replication.trigger.ReplicationTrigger}s,
- * but this extends to basically all the replication infrastructure items that can be configured and built.
+ * Marker interface for Sling Replication components like: {@link org.apache.sling.replication.agent.ReplicationAgent}s,
+ * {@link org.apache.sling.replication.trigger.ReplicationTrigger}s, {@link org.apache.sling.replication.packaging.ReplicationPackageExporter}s
+ * and {@link org.apache.sling.replication.packaging.ReplicationPackageImporter}s.
*/
public interface ReplicationComponent {
- /**
- * Enable the component
- */
- void enable();
-
- /**
- * Disable the component
- */
- void disable();
}
Modified: sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/component/ReplicationComponentFactory.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/component/ReplicationComponentFactory.java?rev=1634582&r1=1634581&r2=1634582&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/component/ReplicationComponentFactory.java (original)
+++ sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/component/ReplicationComponentFactory.java Mon Oct 27 15:57:12 2014
@@ -283,7 +283,7 @@ public interface ReplicationComponentFac
* to be created
* @return a {@link ReplicationComponent} of the specified type initialized with given properties
*/
- <ComponentType> ComponentType createComponent(java.lang.Class<ComponentType> type,
+ <ComponentType extends ReplicationComponent> ComponentType createComponent(java.lang.Class<ComponentType> type,
Map<String, Object> properties,
ReplicationComponentProvider componentProvider);
}
Modified: sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/component/ReplicationComponentProvider.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/component/ReplicationComponentProvider.java?rev=1634582&r1=1634581&r2=1634582&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/component/ReplicationComponentProvider.java (original)
+++ sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/component/ReplicationComponentProvider.java Mon Oct 27 15:57:12 2014
@@ -35,6 +35,6 @@ public interface ReplicationComponentPro
* with the specified name, or <code>null</code> if such a {@link ReplicationComponent}
* doesn't exist
*/
- <ComponentType> ComponentType getComponent(java.lang.Class<ComponentType> type,
+ <ComponentType extends ReplicationComponent> ComponentType getComponent(java.lang.Class<ComponentType> type,
String componentName);
}
Modified: sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/component/impl/DefaultReplicationComponentFactory.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/component/impl/DefaultReplicationComponentFactory.java?rev=1634582&r1=1634581&r2=1634582&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/component/impl/DefaultReplicationComponentFactory.java (original)
+++ sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/component/impl/DefaultReplicationComponentFactory.java Mon Oct 27 15:57:12 2014
@@ -36,6 +36,7 @@ import org.apache.sling.jcr.api.SlingRep
import org.apache.sling.replication.agent.ReplicationAgent;
import org.apache.sling.replication.agent.impl.PrivilegeReplicationRequestAuthorizationStrategy;
import org.apache.sling.replication.agent.impl.SimpleReplicationAgent;
+import org.apache.sling.replication.component.ReplicationComponent;
import org.apache.sling.replication.component.ReplicationComponentFactory;
import org.apache.sling.replication.component.ReplicationComponentProvider;
import org.apache.sling.replication.agent.ReplicationRequestAuthorizationStrategy;
@@ -106,7 +107,7 @@ public class DefaultReplicationComponent
this.bundleContext = bundleContext;
}
- public <ComponentType> ComponentType createComponent(Class<ComponentType> type, Map<String, Object> properties,
+ public <ComponentType extends ReplicationComponent> ComponentType createComponent(Class<ComponentType> type, Map<String, Object> properties,
ReplicationComponentProvider componentProvider) {
if (componentProvider == null) {
@@ -371,7 +372,7 @@ public class DefaultReplicationComponent
return result;
}
- public <ComponentType> ComponentType getComponent(Class<ComponentType> type, String componentName) {
+ public <ComponentType extends ReplicationComponent> ComponentType getComponent(Class<ComponentType> type, String componentName) {
return null;
}
}
Modified: sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/component/impl/DefaultReplicationComponentProvider.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/component/impl/DefaultReplicationComponentProvider.java?rev=1634582&r1=1634581&r2=1634582&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/component/impl/DefaultReplicationComponentProvider.java (original)
+++ sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/component/impl/DefaultReplicationComponentProvider.java Mon Oct 27 15:57:12 2014
@@ -29,6 +29,7 @@ import org.apache.felix.scr.annotations.
import org.apache.felix.scr.annotations.References;
import org.apache.felix.scr.annotations.Service;
import org.apache.sling.replication.agent.ReplicationAgent;
+import org.apache.sling.replication.component.ReplicationComponent;
import org.apache.sling.replication.component.ReplicationComponentProvider;
import org.apache.sling.replication.packaging.ReplicationPackageExporter;
import org.apache.sling.replication.packaging.ReplicationPackageImporter;
@@ -68,7 +69,7 @@ public class DefaultReplicationComponent
Map<String, ReplicationPackageExporter> replicationPackageExporterMap = new ConcurrentHashMap<String, ReplicationPackageExporter>();
private BundleContext bundleContext;
- public <ComponentType> ComponentType getComponent(Class<ComponentType> type, String componentName) {
+ public <ComponentType extends ReplicationComponent> ComponentType getComponent(Class<ComponentType> type, String componentName) {
if (type.isAssignableFrom(ReplicationPackageExporter.class)) {
return (ComponentType) replicationPackageExporterMap.get(componentName);
} else if (type.isAssignableFrom(ReplicationPackageImporter.class)) {
Modified: sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/component/impl/GenericReplicationComponentFactory.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/component/impl/GenericReplicationComponentFactory.java?rev=1634582&r1=1634581&r2=1634582&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/component/impl/GenericReplicationComponentFactory.java (original)
+++ sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/component/impl/GenericReplicationComponentFactory.java Mon Oct 27 15:57:12 2014
@@ -33,6 +33,7 @@ import org.apache.felix.scr.annotations.
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.component.ManagedReplicationComponent;
import org.apache.sling.replication.component.ReplicationComponent;
import org.apache.sling.replication.component.ReplicationComponentFactory;
import org.apache.sling.replication.component.ReplicationComponentProvider;
@@ -130,8 +131,8 @@ public class GenericReplicationComponent
}
if (componentObject != null && componentClass != null) {
- if (componentObject instanceof ReplicationComponent) {
- ((ReplicationComponent) componentObject).enable();
+ if (componentObject instanceof ManagedReplicationComponent) {
+ ((ManagedReplicationComponent) componentObject).enable();
}
componentReg = context.registerService(componentClass, componentObject, props);
@@ -149,8 +150,8 @@ public class GenericReplicationComponent
if (componentReg != null) {
ServiceReference reference = componentReg.getReference();
Object service = context.getService(reference);
- if (service instanceof ReplicationComponent) {
- ((ReplicationComponent) service).disable();
+ if (service instanceof ManagedReplicationComponent) {
+ ((ManagedReplicationComponent) service).disable();
}
componentReg.unregister();
@@ -164,7 +165,7 @@ public class GenericReplicationComponent
if (componentReg == null) {
activate(savedContext, savedConfig);
}
- else if (componentReg != null) {
+ else {
deactivate(savedContext);
activate(savedContext, savedConfig);
}
@@ -181,7 +182,7 @@ public class GenericReplicationComponent
refresh();
}
- public <ComponentType> ComponentType getComponent(Class<ComponentType> type, String componentName) {
+ public <ComponentType extends ReplicationComponent> ComponentType getComponent(Class<ComponentType> type, String componentName) {
if (type.isAssignableFrom(TransportAuthenticationProvider.class)) {
return (ComponentType) transportAuthenticationProvider;
}
Modified: sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/packaging/ReplicationPackageExporter.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/packaging/ReplicationPackageExporter.java?rev=1634582&r1=1634581&r2=1634582&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/packaging/ReplicationPackageExporter.java (original)
+++ sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/packaging/ReplicationPackageExporter.java Mon Oct 27 15:57:12 2014
@@ -23,6 +23,7 @@ import java.util.List;
import org.apache.sling.api.resource.ResourceResolver;
import org.apache.sling.replication.communication.ReplicationRequest;
+import org.apache.sling.replication.component.ReplicationComponent;
import org.apache.sling.replication.serialization.ReplicationPackageBuildingException;
/**
@@ -30,7 +31,7 @@ import org.apache.sling.replication.seri
* {@link org.apache.sling.replication.packaging.ReplicationPackage}s to be then imported by a {@link org.apache.sling.replication.agent.ReplicationAgent}
* (via a {@link org.apache.sling.replication.packaging.ReplicationPackageImporter}).
*/
-public interface ReplicationPackageExporter {
+public interface ReplicationPackageExporter extends ReplicationComponent {
/**
* Exports the {@link org.apache.sling.replication.packaging.ReplicationPackage}s built from the
Modified: sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/packaging/ReplicationPackageImporter.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/packaging/ReplicationPackageImporter.java?rev=1634582&r1=1634581&r2=1634582&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/packaging/ReplicationPackageImporter.java (original)
+++ sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/packaging/ReplicationPackageImporter.java Mon Oct 27 15:57:12 2014
@@ -21,13 +21,14 @@ package org.apache.sling.replication.pac
import java.io.InputStream;
import org.apache.sling.api.resource.ResourceResolver;
+import org.apache.sling.replication.component.ReplicationComponent;
import org.apache.sling.replication.serialization.ReplicationPackageReadingException;
/**
* A {@link org.apache.sling.replication.packaging.ReplicationPackageImporter} is responsible for importing
* {@link org.apache.sling.replication.packaging.ReplicationPackage}s into the resource tree.
*/
-public interface ReplicationPackageImporter {
+public interface ReplicationPackageImporter extends ReplicationComponent {
/**
* Imports the given replication package
*
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=1634582&r1=1634581&r2=1634582&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 Mon Oct 27 15:57:12 2014
@@ -30,6 +30,7 @@ import org.apache.felix.scr.annotations.
import org.apache.felix.scr.annotations.Service;
import org.apache.sling.api.resource.ResourceResolver;
import org.apache.sling.replication.agent.ReplicationAgent;
+import org.apache.sling.replication.component.ReplicationComponent;
import org.apache.sling.replication.component.ReplicationComponentFactory;
import org.apache.sling.replication.component.ReplicationComponentProvider;
import org.apache.sling.replication.communication.ReplicationRequest;
@@ -79,7 +80,7 @@ public class AgentReplicationPackageExpo
return packageExporter.exportPackageById(resourceResolver, replicationPackageId);
}
- public <ComponentType> ComponentType getComponent(Class<ComponentType> type, String componentName) {
+ public <ComponentType extends ReplicationComponent> ComponentType getComponent(Class<ComponentType> type, String componentName) {
if (type.isAssignableFrom(ReplicationAgent.class)) {
return (ComponentType) agent;
}
Modified: sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/packaging/impl/exporter/RemoteReplicationPackageExporterFactory.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/packaging/impl/exporter/RemoteReplicationPackageExporterFactory.java?rev=1634582&r1=1634581&r2=1634582&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/packaging/impl/exporter/RemoteReplicationPackageExporterFactory.java (original)
+++ sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/packaging/impl/exporter/RemoteReplicationPackageExporterFactory.java Mon Oct 27 15:57:12 2014
@@ -31,6 +31,7 @@ import org.apache.felix.scr.annotations.
import org.apache.felix.scr.annotations.ReferencePolicy;
import org.apache.felix.scr.annotations.Service;
import org.apache.sling.api.resource.ResourceResolver;
+import org.apache.sling.replication.component.ReplicationComponent;
import org.apache.sling.replication.component.ReplicationComponentFactory;
import org.apache.sling.replication.component.ReplicationComponentProvider;
import org.apache.sling.replication.communication.ReplicationRequest;
@@ -108,7 +109,7 @@ public class RemoteReplicationPackageExp
return exporter.exportPackageById(resourceResolver, replicationPackageId);
}
- public <ComponentType> ComponentType getComponent(Class<ComponentType> type, String componentName) {
+ public <ComponentType extends ReplicationComponent> ComponentType getComponent(Class<ComponentType> type, String componentName) {
if (type.isAssignableFrom(TransportAuthenticationProvider.class)) {
return (ComponentType) transportAuthenticationProvider;
}
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=1634582&r1=1634581&r2=1634582&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 Mon Oct 27 15:57:12 2014
@@ -30,6 +30,7 @@ import org.apache.felix.scr.annotations.
import org.apache.felix.scr.annotations.ReferencePolicy;
import org.apache.felix.scr.annotations.Service;
import org.apache.sling.api.resource.ResourceResolver;
+import org.apache.sling.replication.component.ReplicationComponent;
import org.apache.sling.replication.component.ReplicationComponentFactory;
import org.apache.sling.replication.component.ReplicationComponentProvider;
import org.apache.sling.replication.packaging.ReplicationPackage;
@@ -99,7 +100,7 @@ public class RemoteReplicationPackageImp
return importer.readPackage(resourceResolver, stream);
}
- public <ComponentType> ComponentType getComponent(Class<ComponentType> type, String componentName) {
+ public <ComponentType extends ReplicationComponent> ComponentType getComponent(Class<ComponentType> type, String componentName) {
if (type.isAssignableFrom(TransportAuthenticationProvider.class)) {
return (ComponentType) transportAuthenticationProvider;
}
Modified: sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/queue/ReplicationQueueDistributionStrategy.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/queue/ReplicationQueueDistributionStrategy.java?rev=1634582&r1=1634581&r2=1634582&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/queue/ReplicationQueueDistributionStrategy.java (original)
+++ sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/queue/ReplicationQueueDistributionStrategy.java Mon Oct 27 15:57:12 2014
@@ -19,12 +19,13 @@
package org.apache.sling.replication.queue;
import org.apache.sling.replication.agent.ReplicationAgent;
+import org.apache.sling.replication.component.ReplicationComponent;
/**
* a {@link ReplicationQueueDistributionStrategy} implements an algorithm for the distribution of
* {@link org.apache.sling.replication.queue.ReplicationQueueItem}s among the available queues for a certain agent
*/
-public interface ReplicationQueueDistributionStrategy {
+public interface ReplicationQueueDistributionStrategy extends ReplicationComponent {
/**
* synchronously distribute a {@link org.apache.sling.replication.queue.ReplicationQueueItem} to a {@link ReplicationAgent}
Modified: sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/queue/ReplicationQueueProvider.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/queue/ReplicationQueueProvider.java?rev=1634582&r1=1634581&r2=1634582&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/queue/ReplicationQueueProvider.java (original)
+++ sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/queue/ReplicationQueueProvider.java Mon Oct 27 15:57:12 2014
@@ -20,10 +20,12 @@ package org.apache.sling.replication.que
import java.util.Collection;
+import org.apache.sling.replication.component.ReplicationComponent;
+
/**
* A provider for {@link ReplicationQueue}s
*/
-public interface ReplicationQueueProvider {
+public interface ReplicationQueueProvider extends ReplicationComponent {
/**
* provide a named queue for the given agent or creates it if the queue doesn't exist
Modified: sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/transport/authentication/TransportAuthenticationProvider.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/transport/authentication/TransportAuthenticationProvider.java?rev=1634582&r1=1634581&r2=1634582&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/transport/authentication/TransportAuthenticationProvider.java (original)
+++ sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/transport/authentication/TransportAuthenticationProvider.java Mon Oct 27 15:57:12 2014
@@ -18,11 +18,13 @@
*/
package org.apache.sling.replication.transport.authentication;
+import org.apache.sling.replication.component.ReplicationComponent;
+
/**
* A <code>TransportAuthenticationProvider</code> is responsible for authentication of instances sending and
* receiving replication items via {@link org.apache.sling.replication.transport.ReplicationTransportHandler}s
*/
-public interface TransportAuthenticationProvider<A, T> {
+public interface TransportAuthenticationProvider<A, T> extends ReplicationComponent {
/**
* check if this provider is able to authenticate objects belonging to given 'authenticable' class.
Modified: sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/trigger/ReplicationTrigger.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/trigger/ReplicationTrigger.java?rev=1634582&r1=1634581&r2=1634582&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/trigger/ReplicationTrigger.java (original)
+++ sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/trigger/ReplicationTrigger.java Mon Oct 27 15:57:12 2014
@@ -18,10 +18,12 @@
*/
package org.apache.sling.replication.trigger;
+import org.apache.sling.replication.component.ReplicationComponent;
+
/**
* a replication trigger
*/
-public interface ReplicationTrigger {
+public interface ReplicationTrigger extends ReplicationComponent {
/**
* register a replication trigger
Modified: sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/trigger/impl/ChainReplicateReplicationTrigger.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/trigger/impl/ChainReplicateReplicationTrigger.java?rev=1634582&r1=1634581&r2=1634582&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/trigger/impl/ChainReplicateReplicationTrigger.java (original)
+++ sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/trigger/impl/ChainReplicateReplicationTrigger.java Mon Oct 27 15:57:12 2014
@@ -23,9 +23,9 @@ import java.util.Hashtable;
import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;
-import org.apache.sling.replication.component.ReplicationComponent;
import org.apache.sling.replication.communication.ReplicationActionType;
import org.apache.sling.replication.communication.ReplicationRequest;
+import org.apache.sling.replication.component.ManagedReplicationComponent;
import org.apache.sling.replication.event.ReplicationEvent;
import org.apache.sling.replication.event.ReplicationEventType;
import org.apache.sling.replication.trigger.ReplicationTrigger;
@@ -41,7 +41,7 @@ import org.slf4j.LoggerFactory;
/**
* {@link org.apache.sling.replication.trigger.ReplicationTrigger} for chain replication upon a certain {@link org.apache.sling.replication.event.ReplicationEventType}
*/
-public class ChainReplicateReplicationTrigger implements ReplicationTrigger, ReplicationComponent {
+public class ChainReplicateReplicationTrigger implements ReplicationTrigger, ManagedReplicationComponent {
public static final String PATH = "path";
Modified: sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/trigger/impl/ResourceEventReplicationTrigger.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/trigger/impl/ResourceEventReplicationTrigger.java?rev=1634582&r1=1634581&r2=1634582&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/trigger/impl/ResourceEventReplicationTrigger.java (original)
+++ sling/trunk/contrib/extensions/replication/core/src/main/java/org/apache/sling/replication/trigger/impl/ResourceEventReplicationTrigger.java Mon Oct 27 15:57:12 2014
@@ -24,6 +24,7 @@ import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;
import org.apache.sling.api.SlingConstants;
+import org.apache.sling.replication.component.ManagedReplicationComponent;
import org.apache.sling.replication.component.ReplicationComponent;
import org.apache.sling.replication.communication.ReplicationActionType;
import org.apache.sling.replication.communication.ReplicationRequest;
@@ -41,7 +42,7 @@ import org.slf4j.LoggerFactory;
* {@link org.apache.sling.replication.trigger.ReplicationTrigger} for triggering a specific handler (e.g. agent) upon
* node / properties being changed under a certain path
*/
-public class ResourceEventReplicationTrigger implements ReplicationTrigger, ReplicationComponent {
+public class ResourceEventReplicationTrigger implements ReplicationTrigger, ManagedReplicationComponent {
private final Logger log = LoggerFactory.getLogger(getClass());