You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sling.apache.org by ro...@apache.org on 2017/11/07 09:29:43 UTC
[sling-org-apache-sling-distribution-sample] 01/42: SLING-3978 -
added 'sample' replication bundle
This is an automated email from the ASF dual-hosted git repository.
rombert pushed a commit to annotated tag org.apache.sling.distribution.sample-0.1.0
in repository https://gitbox.apache.org/repos/asf/sling-org-apache-sling-distribution-sample.git
commit bb3b2c9bea783203dacb96e05cd1fb8efa42eeac
Author: Tommaso Teofili <to...@apache.org>
AuthorDate: Mon Sep 29 13:31:47 2014 +0000
SLING-3978 - added 'sample' replication bundle
git-svn-id: https://svn.apache.org/repos/asf/sling/trunk/contrib/extensions/replication/sample@1628179 13f79535-47bb-0310-9956-ffa450edef68
---
pom.xml | 221 +++++++++++++++++++++
...pleReplicationAgentFactory-publish-reverse.json | 47 +++++
...mpactSimpleReplicationAgentFactory-publish.json | 32 +++
...ationComponentFactory-trigger-remote-event.json | 15 ++
...AuthenticationProviderFactory-publishAdmin.json | 6 +
...tSimpleReplicationAgentFactory-cache-flush.json | 25 +++
...mpactSimpleReplicationAgentFactory-reverse.json | 34 ++++
...onComponentFactory-trigger-content-changed.json | 12 ++
...tReplicationPackageExporterFactory-reverse.json | 7 +
...lReplicationPackageExporterFactory-default.json | 6 +
...moteReplicationPackageImporter-cache-flush.json | 13 ++
...lReplicationPackageImporterFactory-default.json | 5 +
...eVaultReplicationPackageBuilderFactory-vlt.json | 5 +
....ServiceUserMapperImpl.amended-replication.json | 5 +
...giPropertiesResourceProviderFactory-agents.json | 13 ++
...ropertiesResourceProviderFactory-exporters.json | 12 ++
...ropertiesResourceProviderFactory-importers.json | 12 ++
...PropertiesResourceProviderFactory-triggers.json | 12 ++
...ertiesResourceProviderFactory-simpleAgents.json | 19 ++
.../replication/service/agent/replicate.html.esp | 18 ++
.../libs/sling/replication/service/html.esp | 21 ++
.../libs/sling/replication/service/list/html.esp | 35 ++++
.../libs/sling/replication/setting/html.esp | 33 +++
.../libs/sling/replication/setting/list/html.esp | 26 +++
24 files changed, 634 insertions(+)
diff --git a/pom.xml b/pom.xml
new file mode 100644
index 0000000..e7c3dff
--- /dev/null
+++ b/pom.xml
@@ -0,0 +1,221 @@
+<?xml version="1.0"?>
+<!--
+ 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.
+-->
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+ <!-- ======================================================================= -->
+ <!-- P A R E N T P R O J E C T -->
+ <!-- ======================================================================= -->
+ <parent>
+ <groupId>org.apache.sling</groupId>
+ <artifactId>sling</artifactId>
+ <version>20</version>
+ </parent>
+
+ <!-- ======================================================================= -->
+ <!-- P R O J E C T -->
+ <!-- ======================================================================= -->
+ <artifactId>org.apache.sling.replication.sample</artifactId>
+ <version>0.0.1-SNAPSHOT</version>
+ <packaging>bundle</packaging>
+
+ <name>Apache Sling Replication Sample</name>
+ <description>
+ The Apache Sling Replication sample bundle provides a set of sample configurations and custom component implementations.
+ </description>
+
+ <scm>
+ <connection>scm:svn:http://svn.apache.org/repos/asf/sling/trunk/contrib/extensions/replication/sample</connection>
+ <developerConnection>scm:svn:https://svn.apache.org/repos/asf/sling/trunk/contrib/extensions/replication/sample</developerConnection>
+ <url>http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/replication/sample</url>
+ </scm>
+
+ <!-- ======================================================================= -->
+ <!-- B U I L D -->
+ <!-- ======================================================================= -->
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.felix</groupId>
+ <artifactId>maven-scr-plugin</artifactId>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.sling</groupId>
+ <artifactId>maven-sling-plugin</artifactId>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.felix</groupId>
+ <artifactId>maven-bundle-plugin</artifactId>
+ <extensions>true</extensions>
+ <configuration>
+ <instructions>
+ <Bundle-SymbolicName>org.apache.sling.replication.sample</Bundle-SymbolicName>
+ <Sling-Initial-Content>
+ SLING-CONTENT/libs/sling/replication;path:=/libs/sling/replication;overwrite:=true
+ </Sling-Initial-Content>
+ <Export-Package>
+ </Export-Package>
+ <Embed-Dependency>httpasyncclient</Embed-Dependency>
+ </instructions>
+ </configuration>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-javadoc-plugin</artifactId>
+ </plugin>
+ </plugins>
+ </build>
+
+ <!-- ======================================================================= -->
+ <!-- D E P E N D E N C I E S -->
+ <!-- ======================================================================= -->
+ <dependencies>
+ <!-- TESTING -->
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <scope>test</scope>
+ </dependency>
+ <!-- SLING -->
+ <dependency>
+ <groupId>org.apache.sling</groupId>
+ <artifactId>org.apache.sling.replication.core</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.sling</groupId>
+ <artifactId>org.apache.sling.api</artifactId>
+ <version>2.3.0</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.sling</groupId>
+ <artifactId>org.apache.sling.commons.osgi</artifactId>
+ <version>2.2.0</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.sling</groupId>
+ <artifactId>org.apache.sling.commons.scheduler</artifactId>
+ <version>2.4.0</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.sling</groupId>
+ <artifactId>org.apache.sling.jcr.api</artifactId>
+ <version>2.2.0</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.sling</groupId>
+ <artifactId>org.apache.sling.event</artifactId>
+ <version>3.3.0</version>
+ <scope>provided</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.sling</groupId>
+ <artifactId>org.apache.sling.hc.core</artifactId>
+ <version>1.0.6</version>
+ <scope>provided</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.sling</groupId>
+ <artifactId>org.apache.sling.settings</artifactId>
+ <version>1.3.0</version>
+ <scope>provided</scope>
+ </dependency>
+ <!-- LOGGING -->
+ <dependency>
+ <groupId>org.slf4j</groupId>
+ <artifactId>slf4j-api</artifactId>
+ <version>1.6.2</version>
+ </dependency>
+ <dependency>
+ <groupId>org.slf4j</groupId>
+ <artifactId>slf4j-simple</artifactId>
+ <version>1.6.2</version>
+ <scope>runtime</scope>
+ </dependency>
+ <!-- SPECs -->
+ <dependency>
+ <groupId>javax.jcr</groupId>
+ <artifactId>jcr</artifactId>
+ <version>2.0</version>
+ </dependency>
+ <dependency>
+ <groupId>javax.servlet</groupId>
+ <artifactId>servlet-api</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.osgi</groupId>
+ <artifactId>org.osgi.core</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.osgi</groupId>
+ <artifactId>org.osgi.compendium</artifactId>
+ </dependency>
+ <!-- FILEVAULT -->
+ <dependency>
+ <groupId>org.apache.jackrabbit.vault</groupId>
+ <artifactId>org.apache.jackrabbit.vault</artifactId>
+ <version>3.0.0</version>
+ </dependency>
+ <!-- HTTP -->
+ <dependency>
+ <groupId>org.apache.httpcomponents</groupId>
+ <artifactId>fluent-hc</artifactId>
+ <version>4.3.2</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.httpcomponents</groupId>
+ <artifactId>httpasyncclient</artifactId>
+ <version>4.0</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.httpcomponents</groupId>
+ <artifactId>httpcore-osgi</artifactId>
+ <version>4.3.1</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.httpcomponents</groupId>
+ <artifactId>httpclient-osgi</artifactId>
+ <version>4.3.4</version>
+ </dependency>
+ <!-- JACKRABBIT -->
+ <dependency>
+ <groupId>org.apache.jackrabbit</groupId>
+ <artifactId>jackrabbit-jcr-commons</artifactId>
+ <version>2.6.2</version>
+ <scope>provided</scope>
+ </dependency>
+ <!-- COMMONS -->
+ <dependency>
+ <groupId>commons-io</groupId>
+ <artifactId>commons-io</artifactId>
+ <version>2.4</version>
+ <scope>provided</scope>
+ </dependency>
+ </dependencies>
+ <reporting>
+ <plugins>
+ <plugin>
+ <groupId>org.codehaus.mojo</groupId>
+ <artifactId>findbugs-maven-plugin</artifactId>
+ <version>2.5.3</version>
+ </plugin>
+ </plugins>
+ </reporting>
+</project>
diff --git a/src/main/resources/SLING-CONTENT/libs/sling/replication/install.author/org.apache.sling.replication.agent.impl.CompactSimpleReplicationAgentFactory-publish-reverse.json b/src/main/resources/SLING-CONTENT/libs/sling/replication/install.author/org.apache.sling.replication.agent.impl.CompactSimpleReplicationAgentFactory-publish-reverse.json
new file mode 100644
index 0000000..7fe693f
--- /dev/null
+++ b/src/main/resources/SLING-CONTENT/libs/sling/replication/install.author/org.apache.sling.replication.agent.impl.CompactSimpleReplicationAgentFactory-publish-reverse.json
@@ -0,0 +1,47 @@
+{
+ "jcr:primaryType": "sling:OsgiConfig",
+ "name": "publish-reverse",
+ "type": "simple",
+
+ "packageExporter": [
+ "type=remote",
+ "endpoints[0]=http://localhost:4503/libs/sling/replication/services/exporters/reverse",
+
+ "authenticationProvider/type=service",
+ "authenticationProvider/name=publishAdmin",
+
+ "packageBuilder/type=vlt",
+ "packageBuilder/servicename=replicationService"
+ ],
+
+ "packageImporter": [
+ "type=local",
+ "packageBuilder/type=vlt",
+ "packageBuilder/servicename=replicationService"
+ ],
+
+ "queueProvider": [
+ "type=service",
+ "name=sjh"
+ ],
+
+ "queueDistributionStrategy": [
+ "type=service",
+ "name=error"
+ ],
+
+ "trigger0": [
+ "type=scheduledEvent",
+ "action=poll",
+ "seconds=30"
+ ],
+
+ "trigger1": [
+ "type=remoteEvent",
+ "endpoint=http://localhost:4503/libs/sling/replication/services/triggers/content-changed.event",
+
+ "authenticationProvider/type=service",
+ "authenticationProvider/name=publishAdmin"
+ ]
+
+}
\ No newline at end of file
diff --git a/src/main/resources/SLING-CONTENT/libs/sling/replication/install.author/org.apache.sling.replication.agent.impl.CompactSimpleReplicationAgentFactory-publish.json b/src/main/resources/SLING-CONTENT/libs/sling/replication/install.author/org.apache.sling.replication.agent.impl.CompactSimpleReplicationAgentFactory-publish.json
new file mode 100644
index 0000000..e100788
--- /dev/null
+++ b/src/main/resources/SLING-CONTENT/libs/sling/replication/install.author/org.apache.sling.replication.agent.impl.CompactSimpleReplicationAgentFactory-publish.json
@@ -0,0 +1,32 @@
+{
+ "jcr:primaryType": "sling:OsgiConfig",
+ "name": "publish",
+ "type": "simple",
+
+ "packageExporter": [
+ "type=local",
+ "packageBuilder/type=vlt",
+ "packageBuilder/servicename=replicationService"
+ ],
+
+ "packageImporter": [
+ "type=remote",
+ "endpoints[0]=http://localhost:4503/libs/sling/replication/services/importers/default",
+
+ "authenticationProvider/type=service",
+ "authenticationProvider/name=publishAdmin",
+
+ "packageBuilder/type=vlt",
+ "packageBuilder/servicename=replicationService"
+ ],
+
+ "queueProvider": [
+ "type=service",
+ "name=sjh"
+ ],
+
+ "queueDistributionStrategy": [
+ "type=service",
+ "name=error"
+ ]
+}
\ No newline at end of file
diff --git a/src/main/resources/SLING-CONTENT/libs/sling/replication/install.author/org.apache.sling.replication.agent.impl.DefaultReplicationComponentFactory-trigger-remote-event.json b/src/main/resources/SLING-CONTENT/libs/sling/replication/install.author/org.apache.sling.replication.agent.impl.DefaultReplicationComponentFactory-trigger-remote-event.json
new file mode 100644
index 0000000..7504064
--- /dev/null
+++ b/src/main/resources/SLING-CONTENT/libs/sling/replication/install.author/org.apache.sling.replication.agent.impl.DefaultReplicationComponentFactory-trigger-remote-event.json
@@ -0,0 +1,15 @@
+{
+ "jcr:primaryType": "sling:OsgiConfig",
+ "name": "remote-event",
+
+ "kind": "trigger",
+
+ "properties": [
+ "type=remoteEvent",
+ "endpoint=http://localhost:4503/libs/sling/replication/services/triggers/content-changed.event",
+
+ "authenticationProvider/type=service",
+ "authenticationProvider/name=publishAdmin"
+ ]
+
+}
\ No newline at end of file
diff --git a/src/main/resources/SLING-CONTENT/libs/sling/replication/install.author/org.apache.sling.replication.transport.authentication.impl.UserCredentialsTransportAuthenticationProviderFactory-publishAdmin.json b/src/main/resources/SLING-CONTENT/libs/sling/replication/install.author/org.apache.sling.replication.transport.authentication.impl.UserCredentialsTransportAuthenticationProviderFactory-publishAdmin.json
new file mode 100644
index 0000000..10fbe4d
--- /dev/null
+++ b/src/main/resources/SLING-CONTENT/libs/sling/replication/install.author/org.apache.sling.replication.transport.authentication.impl.UserCredentialsTransportAuthenticationProviderFactory-publishAdmin.json
@@ -0,0 +1,6 @@
+{
+ "jcr:primaryType": "sling:OsgiConfig",
+ "name": "publishAdmin",
+ "username": "admin",
+ "password": "admin"
+}
\ No newline at end of file
diff --git a/src/main/resources/SLING-CONTENT/libs/sling/replication/install.publish/org.apache.sling.replication.agent.impl.CompactSimpleReplicationAgentFactory-cache-flush.json b/src/main/resources/SLING-CONTENT/libs/sling/replication/install.publish/org.apache.sling.replication.agent.impl.CompactSimpleReplicationAgentFactory-cache-flush.json
new file mode 100644
index 0000000..9284f55
--- /dev/null
+++ b/src/main/resources/SLING-CONTENT/libs/sling/replication/install.publish/org.apache.sling.replication.agent.impl.CompactSimpleReplicationAgentFactory-cache-flush.json
@@ -0,0 +1,25 @@
+{
+ "jcr:primaryType": "sling:OsgiConfig",
+ "name": "cache-flush",
+ "type": "simple",
+
+ "packageExporter": [
+ "type=service",
+ "name=void"
+ ],
+
+ "packageImporter": [
+ "type=service",
+ "name=cache-flush"
+ ],
+
+ "queueProvider": [
+ "type=service",
+ "name=sjh"
+ ],
+
+ "queueDistributionStrategy": [
+ "type=service",
+ "name=error"
+ ]
+}
diff --git a/src/main/resources/SLING-CONTENT/libs/sling/replication/install.publish/org.apache.sling.replication.agent.impl.CompactSimpleReplicationAgentFactory-reverse.json b/src/main/resources/SLING-CONTENT/libs/sling/replication/install.publish/org.apache.sling.replication.agent.impl.CompactSimpleReplicationAgentFactory-reverse.json
new file mode 100644
index 0000000..72ad2fe
--- /dev/null
+++ b/src/main/resources/SLING-CONTENT/libs/sling/replication/install.publish/org.apache.sling.replication.agent.impl.CompactSimpleReplicationAgentFactory-reverse.json
@@ -0,0 +1,34 @@
+{
+ "jcr:primaryType": "sling:OsgiConfig",
+ "name": "reverse",
+ "type": "simple",
+
+ "isPassive": true,
+
+ "packageExporter": [
+ "type=local",
+ "packageBuilder/type=vlt",
+ "packageBuilder/servicename=replicationService"
+ ],
+
+ "packageImporter": [
+ "type=local",
+ "packageBuilder/type=vlt",
+ "packageBuilder/servicename=replicationService"
+ ],
+
+ "queueProvider": [
+ "type=service",
+ "name=sjh"
+ ],
+
+ "queueDistributionStrategy": [
+ "type=service",
+ "name=error"
+ ],
+
+ "trigger0": [
+ "type=resourceEvent",
+ "path=/content/usergenerated"
+ ]
+}
diff --git a/src/main/resources/SLING-CONTENT/libs/sling/replication/install.publish/org.apache.sling.replication.agent.impl.DefaultReplicationComponentFactory-trigger-content-changed.json b/src/main/resources/SLING-CONTENT/libs/sling/replication/install.publish/org.apache.sling.replication.agent.impl.DefaultReplicationComponentFactory-trigger-content-changed.json
new file mode 100644
index 0000000..4e32f7d
--- /dev/null
+++ b/src/main/resources/SLING-CONTENT/libs/sling/replication/install.publish/org.apache.sling.replication.agent.impl.DefaultReplicationComponentFactory-trigger-content-changed.json
@@ -0,0 +1,12 @@
+{
+ "jcr:primaryType": "sling:OsgiConfig",
+ "name": "content-changed",
+
+ "kind": "trigger",
+
+ "properties": [
+ "type=resourceEvent",
+ "path=/content/usergenerated"
+ ]
+
+}
\ No newline at end of file
diff --git a/src/main/resources/SLING-CONTENT/libs/sling/replication/install.publish/org.apache.sling.replication.packaging.impl.exporter.AgentReplicationPackageExporterFactory-reverse.json b/src/main/resources/SLING-CONTENT/libs/sling/replication/install.publish/org.apache.sling.replication.packaging.impl.exporter.AgentReplicationPackageExporterFactory-reverse.json
new file mode 100644
index 0000000..a6b5348
--- /dev/null
+++ b/src/main/resources/SLING-CONTENT/libs/sling/replication/install.publish/org.apache.sling.replication.packaging.impl.exporter.AgentReplicationPackageExporterFactory-reverse.json
@@ -0,0 +1,7 @@
+{
+ "jcr:primaryType": "sling:OsgiConfig",
+ "name": "reverse",
+
+ "ReplicationPackageBuilder.target": "(name=vlt)",
+ "ReplicationAgent.target": "(name=reverse)"
+}
\ No newline at end of file
diff --git a/src/main/resources/SLING-CONTENT/libs/sling/replication/install.publish/org.apache.sling.replication.packaging.impl.exporter.LocalReplicationPackageExporterFactory-default.json b/src/main/resources/SLING-CONTENT/libs/sling/replication/install.publish/org.apache.sling.replication.packaging.impl.exporter.LocalReplicationPackageExporterFactory-default.json
new file mode 100644
index 0000000..55fe7ee
--- /dev/null
+++ b/src/main/resources/SLING-CONTENT/libs/sling/replication/install.publish/org.apache.sling.replication.packaging.impl.exporter.LocalReplicationPackageExporterFactory-default.json
@@ -0,0 +1,6 @@
+{
+ "jcr:primaryType": "sling:OsgiConfig",
+ "name": "default",
+
+ "ReplicationPackageBuilder.target": "(name=vlt)"
+}
\ No newline at end of file
diff --git a/src/main/resources/SLING-CONTENT/libs/sling/replication/install.publish/org.apache.sling.replication.packaging.impl.importer.AdvancedRemoteReplicationPackageImporter-cache-flush.json b/src/main/resources/SLING-CONTENT/libs/sling/replication/install.publish/org.apache.sling.replication.packaging.impl.importer.AdvancedRemoteReplicationPackageImporter-cache-flush.json
new file mode 100644
index 0000000..f3cd9ca
--- /dev/null
+++ b/src/main/resources/SLING-CONTENT/libs/sling/replication/install.publish/org.apache.sling.replication.packaging.impl.importer.AdvancedRemoteReplicationPackageImporter-cache-flush.json
@@ -0,0 +1,13 @@
+{
+ "jcr:primaryType": "sling:OsgiConfig",
+ "name": "cache-flush",
+ "useCustomHeaders": true,
+ "customHeaders": [
+ "Path: {path}",
+ "add -> Action : REFRESH",
+ "delete -> Change : REMOVE" ],
+ "useCustomBody": true,
+ "customBody": "",
+ "TransportAuthenticationProviderFactory.target": "(name=nop)",
+ "endpoints": [ "http://localhost:8000/invalidatecache" ]
+}
\ No newline at end of file
diff --git a/src/main/resources/SLING-CONTENT/libs/sling/replication/install.publish/org.apache.sling.replication.packaging.impl.importer.LocalReplicationPackageImporterFactory-default.json b/src/main/resources/SLING-CONTENT/libs/sling/replication/install.publish/org.apache.sling.replication.packaging.impl.importer.LocalReplicationPackageImporterFactory-default.json
new file mode 100644
index 0000000..9381551
--- /dev/null
+++ b/src/main/resources/SLING-CONTENT/libs/sling/replication/install.publish/org.apache.sling.replication.packaging.impl.importer.LocalReplicationPackageImporterFactory-default.json
@@ -0,0 +1,5 @@
+{
+ "jcr:primaryType": "sling:OsgiConfig",
+ "name": "default",
+ "ReplicationPackageBuilder.target": "(name=vlt)"
+}
\ No newline at end of file
diff --git a/src/main/resources/SLING-CONTENT/libs/sling/replication/install/org.apache.sling.replication.serialization.impl.vlt.FileVaultReplicationPackageBuilderFactory-vlt.json b/src/main/resources/SLING-CONTENT/libs/sling/replication/install/org.apache.sling.replication.serialization.impl.vlt.FileVaultReplicationPackageBuilderFactory-vlt.json
new file mode 100644
index 0000000..7ed8af7
--- /dev/null
+++ b/src/main/resources/SLING-CONTENT/libs/sling/replication/install/org.apache.sling.replication.serialization.impl.vlt.FileVaultReplicationPackageBuilderFactory-vlt.json
@@ -0,0 +1,5 @@
+{
+ "jcr:primaryType": "sling:OsgiConfig",
+ "name": "vlt",
+ "servicename": "replicationService"
+}
\ No newline at end of file
diff --git a/src/main/resources/SLING-CONTENT/libs/sling/replication/install/org.apache.sling.serviceusermapping.impl.ServiceUserMapperImpl.amended-replication.json b/src/main/resources/SLING-CONTENT/libs/sling/replication/install/org.apache.sling.serviceusermapping.impl.ServiceUserMapperImpl.amended-replication.json
new file mode 100644
index 0000000..14729c8
--- /dev/null
+++ b/src/main/resources/SLING-CONTENT/libs/sling/replication/install/org.apache.sling.serviceusermapping.impl.ServiceUserMapperImpl.amended-replication.json
@@ -0,0 +1,5 @@
+{
+ "jcr:primaryType": "sling:OsgiConfig",
+ "user.default": "",
+ "user.mapping": "org.apache.sling.replication:replicationService=admin"
+}
diff --git a/src/main/resources/SLING-CONTENT/libs/sling/replication/install/resources/services/org.apache.sling.replication.resources.impl.OsgiPropertiesResourceProviderFactory-agents.json b/src/main/resources/SLING-CONTENT/libs/sling/replication/install/resources/services/org.apache.sling.replication.resources.impl.OsgiPropertiesResourceProviderFactory-agents.json
new file mode 100644
index 0000000..5d166ff
--- /dev/null
+++ b/src/main/resources/SLING-CONTENT/libs/sling/replication/install/resources/services/org.apache.sling.replication.resources.impl.OsgiPropertiesResourceProviderFactory-agents.json
@@ -0,0 +1,13 @@
+{
+ "jcr:primaryType": "sling:OsgiConfig",
+ "name": "replicationAgents",
+ "provider.roots": [ "/libs/sling/replication/services/agents" ],
+ "serviceType": "org.apache.sling.replication.agent.ReplicationAgent",
+ "resourceProperties": [
+ "sling:resourceType=sling/replication/service/agent",
+ "sling:resourceSuperType=sling/replication/service",
+ "name={name}",
+
+ "queue/sling:resourceType=sling/replication/service/agent/queue"
+ ]
+}
\ No newline at end of file
diff --git a/src/main/resources/SLING-CONTENT/libs/sling/replication/install/resources/services/org.apache.sling.replication.resources.impl.OsgiPropertiesResourceProviderFactory-exporters.json b/src/main/resources/SLING-CONTENT/libs/sling/replication/install/resources/services/org.apache.sling.replication.resources.impl.OsgiPropertiesResourceProviderFactory-exporters.json
new file mode 100644
index 0000000..58180b6
--- /dev/null
+++ b/src/main/resources/SLING-CONTENT/libs/sling/replication/install/resources/services/org.apache.sling.replication.resources.impl.OsgiPropertiesResourceProviderFactory-exporters.json
@@ -0,0 +1,12 @@
+{
+ "jcr:primaryType": "sling:OsgiConfig",
+ "name": "replicationExporters",
+ "provider.roots": [ "/libs/sling/replication/services/exporters" ],
+ "serviceType": "org.apache.sling.replication.packaging.ReplicationPackageExporter",
+ "resourceProperties": [
+ "sling:resourceType=sling/replication/service/exporter",
+ "sling:resourceSuperType=sling/replication/service",
+
+ "name={name}"
+ ]
+}
\ No newline at end of file
diff --git a/src/main/resources/SLING-CONTENT/libs/sling/replication/install/resources/services/org.apache.sling.replication.resources.impl.OsgiPropertiesResourceProviderFactory-importers.json b/src/main/resources/SLING-CONTENT/libs/sling/replication/install/resources/services/org.apache.sling.replication.resources.impl.OsgiPropertiesResourceProviderFactory-importers.json
new file mode 100644
index 0000000..85b4e30
--- /dev/null
+++ b/src/main/resources/SLING-CONTENT/libs/sling/replication/install/resources/services/org.apache.sling.replication.resources.impl.OsgiPropertiesResourceProviderFactory-importers.json
@@ -0,0 +1,12 @@
+{
+ "jcr:primaryType": "sling:OsgiConfig",
+ "name": "replicationImporters",
+ "provider.roots": [ "/libs/sling/replication/services/importers" ],
+ "serviceType": "org.apache.sling.replication.packaging.ReplicationPackageImporter",
+ "resourceProperties": [
+ "sling:resourceType=sling/replication/service/importer",
+ "sling:resourceSuperType=sling/replication/service",
+
+ "name={name}"
+ ]
+}
\ No newline at end of file
diff --git a/src/main/resources/SLING-CONTENT/libs/sling/replication/install/resources/services/org.apache.sling.replication.resources.impl.OsgiPropertiesResourceProviderFactory-triggers.json b/src/main/resources/SLING-CONTENT/libs/sling/replication/install/resources/services/org.apache.sling.replication.resources.impl.OsgiPropertiesResourceProviderFactory-triggers.json
new file mode 100644
index 0000000..14c715e
--- /dev/null
+++ b/src/main/resources/SLING-CONTENT/libs/sling/replication/install/resources/services/org.apache.sling.replication.resources.impl.OsgiPropertiesResourceProviderFactory-triggers.json
@@ -0,0 +1,12 @@
+{
+ "jcr:primaryType": "sling:OsgiConfig",
+ "name": "replicationTriggers",
+ "provider.roots": [ "/libs/sling/replication/services/triggers" ],
+ "serviceType": "org.apache.sling.replication.trigger.ReplicationTrigger",
+ "resourceProperties": [
+ "sling:resourceType=sling/replication/service/trigger",
+ "sling:resourceSuperType=sling/replication/service",
+
+ "name={name}"
+ ]
+}
\ No newline at end of file
diff --git a/src/main/resources/SLING-CONTENT/libs/sling/replication/install/resources/settings/org.apache.sling.replication.resources.impl.OsgiPropertiesResourceProviderFactory-simpleAgents.json b/src/main/resources/SLING-CONTENT/libs/sling/replication/install/resources/settings/org.apache.sling.replication.resources.impl.OsgiPropertiesResourceProviderFactory-simpleAgents.json
new file mode 100644
index 0000000..b52ff51
--- /dev/null
+++ b/src/main/resources/SLING-CONTENT/libs/sling/replication/install/resources/settings/org.apache.sling.replication.resources.impl.OsgiPropertiesResourceProviderFactory-simpleAgents.json
@@ -0,0 +1,19 @@
+{
+ "jcr:primaryType": "sling:OsgiConfig",
+ "name": "simpleAgents",
+ "provider.roots": [ "/libs/sling/replication/settings/agents" ],
+ "serviceType": "org.apache.sling.replication.agent.impl.CompactSimpleReplicationAgentFactory",
+ "providerType": "osgiConfig",
+ "groupPrefix": "agents",
+
+
+ "resourceProperties": [
+ "sling:resourceType=sling/replication/setting/agent",
+ "sling:resourceSuperType=sling/replication/setting",
+ "name={name}",
+ "packageExporter={packageExporter}",
+ "packageImporter={packageImporter}"
+ ]
+
+
+}
\ No newline at end of file
diff --git a/src/main/resources/SLING-CONTENT/libs/sling/replication/service/agent/replicate.html.esp b/src/main/resources/SLING-CONTENT/libs/sling/replication/service/agent/replicate.html.esp
new file mode 100644
index 0000000..b94cfc8
--- /dev/null
+++ b/src/main/resources/SLING-CONTENT/libs/sling/replication/service/agent/replicate.html.esp
@@ -0,0 +1,18 @@
+<%
+var valueMap = resource.adaptTo(Packages.org.apache.sling.api.resource.ValueMap);
+var pit = valueMap.keySet().iterator();
+%>
+<html>
+ <body>
+ <h1>Replicate: <%= valueMap.get("name") %></h1>
+
+ <form action="<%= request.contextPath + resource.path %>" method="POST">
+ Path: <input type="text" name="path"><br>
+ Action: <input type="radio" name="action" value="ADD">Add
+ <input type="radio" name="action" value="DELETE">Delete<br>
+
+ <input type="submit" value="Submit">
+
+ </form>
+ </body>
+</html>
diff --git a/src/main/resources/SLING-CONTENT/libs/sling/replication/service/html.esp b/src/main/resources/SLING-CONTENT/libs/sling/replication/service/html.esp
new file mode 100644
index 0000000..e2fc96d
--- /dev/null
+++ b/src/main/resources/SLING-CONTENT/libs/sling/replication/service/html.esp
@@ -0,0 +1,21 @@
+<%
+var valueMap = resource.adaptTo(Packages.org.apache.sling.api.resource.ValueMap);
+var pit = valueMap.keySet().iterator();
+%>
+<html>
+ <body>
+ <h1>Agent: <%= valueMap.get("name") %></h1>
+
+ <ul>
+ <% while(pit.hasNext()) { %>
+
+ <% var pname = pit.next(); %>
+
+ <li>
+ <%= pname %>: <%= valueMap.get(pname) %>
+ </li>
+
+ <% } %>
+ </ul>
+ </body>
+</html>
diff --git a/src/main/resources/SLING-CONTENT/libs/sling/replication/service/list/html.esp b/src/main/resources/SLING-CONTENT/libs/sling/replication/service/list/html.esp
new file mode 100644
index 0000000..b86c0be
--- /dev/null
+++ b/src/main/resources/SLING-CONTENT/libs/sling/replication/service/list/html.esp
@@ -0,0 +1,35 @@
+<%
+var settingsUrl = request.contextPath + "/libs/sling/replication/settings/";
+var valueMap = resource.adaptTo(Packages.org.apache.sling.api.resource.ValueMap);
+var childrenNames = valueMap.get("items"); %>
+<html>
+ <body>
+ <h1><%= valueMap.get("sling:resourceType") %></h1>
+
+ <ul>
+
+ <% for(var i=0; i<childrenNames.length; i++) { %>
+
+ <%
+ var childName = childrenNames[i];
+ var serviceName = childName;
+
+ var index = childName.lastIndexOf("/");
+ if (index >= 0) {
+ serviceName = childName.substring(index+1);
+ }
+
+ var childUrl = request.contextPath + resource.path + "/" + serviceName + ".html";
+ var childSettingsUrl = settingsUrl + childName + ".html";
+
+
+ %>
+ <li>
+ <a href="<%= childUrl %>"><%= childName %></a> <a href="<%= childSettingsUrl %>">(settings)</a>
+ </li>
+
+ <% } %>
+
+ </ul>
+ </body>
+</html>
diff --git a/src/main/resources/SLING-CONTENT/libs/sling/replication/setting/html.esp b/src/main/resources/SLING-CONTENT/libs/sling/replication/setting/html.esp
new file mode 100644
index 0000000..1bb968c
--- /dev/null
+++ b/src/main/resources/SLING-CONTENT/libs/sling/replication/setting/html.esp
@@ -0,0 +1,33 @@
+<%
+var valueMap = resource.adaptTo(Packages.org.apache.sling.api.resource.ValueMap);
+var pit = valueMap.keySet().iterator();
+var settingsUrl = request.contextPath + "/libs/sling/replication/settings/";
+%>
+<html>
+ <body>
+ <h1>Settings: <%= valueMap.get("name") %></h1>
+
+ <ul>
+ <% while(pit.hasNext()) { %>
+
+ <%
+ var pname = pit.next();
+ var pvalue = valueMap.get(pname).toString();
+ var purl = "";
+ if (!pname.contains(":") && pvalue.contains("/")) {
+ purl = settingsUrl + pvalue + ".html";
+ }
+ %>
+
+ <li>
+ <%= pname %>:
+ <% if(purl.length > 0) { %>
+ <a href="<%= purl %>"><%= pvalue %></a>
+ <% } else { %>
+ <%= pvalue %>
+ <% } %>
+ </li>
+ <% } %>
+ </ul>
+ </body>
+</html>
diff --git a/src/main/resources/SLING-CONTENT/libs/sling/replication/setting/list/html.esp b/src/main/resources/SLING-CONTENT/libs/sling/replication/setting/list/html.esp
new file mode 100644
index 0000000..b327903
--- /dev/null
+++ b/src/main/resources/SLING-CONTENT/libs/sling/replication/setting/list/html.esp
@@ -0,0 +1,26 @@
+<%
+var settingsUrl = request.contextPath + "/libs/sling/replication/settings/"
+var valueMap = resource.adaptTo(Packages.org.apache.sling.api.resource.ValueMap);
+var childrenNames = valueMap.get("items");
+%>
+<html>
+ <body>
+ <h1><%= valueMap.get("sling:resourceType") %></h1>
+
+ <ul>
+
+ <% for(var i=0; i<childrenNames.length; i++) { %>
+
+ <%
+ var childName = childrenNames[i];
+ var childUrl = settingsUrl + childName + ".html"
+ %>
+ <li>
+ <a href="<%= childUrl %>"><%= childName %></a>
+ </li>
+
+ <% } %>
+
+ </ul>
+ </body>
+</html>
--
To stop receiving notification emails like this one, please contact
"commits@sling.apache.org" <co...@sling.apache.org>.