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 <[email protected]> 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 "[email protected]" <[email protected]>.
