You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sling.apache.org by mp...@apache.org on 2015/02/04 10:23:47 UTC
svn commit: r1657034 - in /sling/trunk/contrib/extensions/distribution:
api/src/main/java/org/apache/sling/distribution/
core/src/main/java/org/apache/sling/distribution/agent/impl/
core/src/main/java/org/apache/sling/distribution/packaging/impl/ core/...
Author: mpetria
Date: Wed Feb 4 09:23:46 2015
New Revision: 1657034
URL: http://svn.apache.org/r1657034
Log:
SLING-4389: Adding a trivial request type TEST for testing connectivity of a distribution agent
Added:
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/DistributionPackageUtils.java
Modified:
sling/trunk/contrib/extensions/distribution/api/src/main/java/org/apache/sling/distribution/DistributionRequestType.java
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/agent/impl/ForwardDistributionAgentFactory.java
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/agent/impl/ReverseDistributionAgentFactory.java
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/agent/impl/SimpleDistributionAgent.java
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/agent/impl/SyncDistributionAgentFactory.java
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/exporter/RemoteDistributionPackageExporter.java
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/exporter/RemoteDistributionPackageExporterFactory.java
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/importer/AdvancedRemoteDistributionPackageImporter.java
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/importer/LocalDistributionPackageImporter.java
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/importer/RemoteDistributionPackageImporter.java
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/importer/RemoteDistributionPackageImporterFactory.java
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/queue/impl/MultipleQueueDispatchingStrategy.java
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/serialization/impl/AbstractDistributionPackageBuilder.java
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/servlet/DistributionAgentQueueServlet.java
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/transport/impl/AdvancedHttpDistributionTransport.java
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/transport/impl/SimpleHttpDistributionTransport.java
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/trigger/impl/PersistedJcrEventDistributionTrigger.java
sling/trunk/contrib/extensions/distribution/core/src/test/java/org/apache/sling/distribution/packaging/impl/exporter/RemoteDistributionPackageExporterTest.java
sling/trunk/contrib/extensions/distribution/core/src/test/java/org/apache/sling/distribution/packaging/impl/importer/RemoteDistributionPackageImporterTest.java
sling/trunk/contrib/extensions/distribution/core/src/test/java/org/apache/sling/distribution/transport/impl/SimpleHttpDistributionTransportTest.java
sling/trunk/contrib/extensions/distribution/it/src/test/java/org/apache/sling/distribution/it/ForwardDistributionTest.java
Modified: sling/trunk/contrib/extensions/distribution/api/src/main/java/org/apache/sling/distribution/DistributionRequestType.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/api/src/main/java/org/apache/sling/distribution/DistributionRequestType.java?rev=1657034&r1=1657033&r2=1657034&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/distribution/api/src/main/java/org/apache/sling/distribution/DistributionRequestType.java (original)
+++ sling/trunk/contrib/extensions/distribution/api/src/main/java/org/apache/sling/distribution/DistributionRequestType.java Wed Feb 4 09:23:46 2015
@@ -45,7 +45,12 @@ public enum DistributionRequestType {
/**
* Action type for pulling content
*/
- PULL;
+ PULL,
+
+ /**
+ * Action type for testing connection. No content is modified.
+ */
+ TEST;
/**
* Creates an action type for the given name. if the name cannot be mapped to a enum type or if
Modified: sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/agent/impl/ForwardDistributionAgentFactory.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/agent/impl/ForwardDistributionAgentFactory.java?rev=1657034&r1=1657033&r2=1657034&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/agent/impl/ForwardDistributionAgentFactory.java (original)
+++ sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/agent/impl/ForwardDistributionAgentFactory.java Wed Feb 4 09:23:46 2015
@@ -191,10 +191,10 @@ public class ForwardDistributionAgentFac
java.util.Set<String> var = importerEndpointsMap.keySet();
String[] queueNames = var.toArray(new String[var.size()]);
dispatchingStrategy = new MultipleQueueDispatchingStrategy(queueNames);
- packageImporter = new RemoteDistributionPackageImporter(transportSecretProvider, importerEndpointsMap, TransportEndpointStrategyType.One);
+ packageImporter = new RemoteDistributionPackageImporter(distributionLog, transportSecretProvider, importerEndpointsMap, TransportEndpointStrategyType.One);
} else {
dispatchingStrategy = new SingleQueueDispatchingStrategy();
- packageImporter = new RemoteDistributionPackageImporter(transportSecretProvider, importerEndpointsMap, TransportEndpointStrategyType.All);
+ packageImporter = new RemoteDistributionPackageImporter(distributionLog, transportSecretProvider, importerEndpointsMap, TransportEndpointStrategyType.All);
}
DistributionRequestType[] allowedRequests = new DistributionRequestType[] { DistributionRequestType.ADD, DistributionRequestType.DELETE };
Modified: sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/agent/impl/ReverseDistributionAgentFactory.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/agent/impl/ReverseDistributionAgentFactory.java?rev=1657034&r1=1657033&r2=1657034&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/agent/impl/ReverseDistributionAgentFactory.java (original)
+++ sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/agent/impl/ReverseDistributionAgentFactory.java Wed Feb 4 09:23:46 2015
@@ -180,7 +180,7 @@ public class ReverseDistributionAgentFac
int pollItems = PropertiesUtil.toInteger(config.get(PULL_ITEMS), Integer.MAX_VALUE);
- DistributionPackageExporter packageExporter = new RemoteDistributionPackageExporter(packageBuilder, transportSecretProvider, exporterEndpoints,
+ DistributionPackageExporter packageExporter = new RemoteDistributionPackageExporter(distributionLog, packageBuilder, transportSecretProvider, exporterEndpoints,
TransportEndpointStrategyType.All, pollItems);
DistributionPackageImporter packageImporter = new LocalDistributionPackageImporter(packageBuilder);
DistributionQueueProvider queueProvider = new JobHandlingDistributionQueueProvider(agentName, jobManager, context);
Modified: sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/agent/impl/SimpleDistributionAgent.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/agent/impl/SimpleDistributionAgent.java?rev=1657034&r1=1657033&r2=1657034&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/agent/impl/SimpleDistributionAgent.java (original)
+++ sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/agent/impl/SimpleDistributionAgent.java Wed Feb 4 09:23:46 2015
@@ -50,8 +50,7 @@ import org.apache.sling.distribution.pac
import org.apache.sling.distribution.packaging.DistributionPackageExporter;
import org.apache.sling.distribution.packaging.DistributionPackageImportException;
import org.apache.sling.distribution.packaging.DistributionPackageImporter;
-import org.apache.sling.distribution.packaging.DistributionPackageInfo;
-import org.apache.sling.distribution.packaging.SharedDistributionPackage;
+import org.apache.sling.distribution.packaging.impl.DistributionPackageUtils;
import org.apache.sling.distribution.queue.DistributionQueue;
import org.apache.sling.distribution.queue.DistributionQueueState;
import org.apache.sling.distribution.queue.impl.DistributionQueueDispatchingStrategy;
@@ -347,7 +346,7 @@ public class SimpleDistributionAgent imp
}
- private boolean processQueue(String queueName, DistributionQueueItem queueItem) {
+ private boolean processQueueItem(String queueName, DistributionQueueItem queueItem) {
boolean success = false;
ResourceResolver agentResourceResolver = null;
try {
@@ -362,23 +361,18 @@ public class SimpleDistributionAgent imp
distributionPackageImporter.importPackage(agentResourceResolver, distributionPackage);
- if (distributionPackage instanceof SharedDistributionPackage) {
- ((SharedDistributionPackage) distributionPackage).release(queueName);
- log.debug("package {} released from queue {}", distributionPackage.getId(), queueName);
- } else {
- distributionPackage.delete();
- log.debug("package {} deleted", distributionPackage.getId());
- }
+ DistributionPackageUtils.releaseOrDelete(distributionPackage, queueName);
generatePackageEvent(DistributionEventType.AGENT_PACKAGE_DISTRIBUTED, distributionPackage);
success = true;
+ log.info("distribution package {} was delivered", queueItem.getId());
} else {
success = true; // return success if package does not exist in order to clear the queue.
- log.error("distribution package with id {} does not exist", queueItem.getId());
+ log.error("distribution package with id {} does not exist. the package will be skipped.", queueItem.getId());
}
} catch (DistributionPackageImportException e) {
- log.error("could not process transport queue", e);
+ log.error("could not deliver package {}", queueItem.getId(), e);
} catch (LoginException e) {
log.info("cannot obtain resource resolver", e);
} finally {
@@ -423,6 +417,10 @@ public class SimpleDistributionAgent imp
return true;
}
+ if (DistributionRequestType.TEST.equals(request.getRequestType())) {
+ return true;
+ }
+
for (DistributionRequestType requestType : allowedRequests) {
if (requestType.equals(request.getRequestType())) {
return true;
@@ -436,11 +434,11 @@ public class SimpleDistributionAgent imp
public boolean process(@Nonnull String queueName, @Nonnull DistributionQueueItem queueItem) {
try {
- log.info("queue {} processing item {}", queueName, queueItem);
+ log.debug("queue {} processing item {}", queueName, queueItem);
- boolean success = processQueue(queueName, queueItem);
+ boolean success = processQueueItem(queueName, queueItem);
- log.info("queue {} processing item ended with status {}", queueName, success);
+ log.debug("queue {} processing item {} ended with status {}", queueName, queueItem, success);
return success;
Modified: sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/agent/impl/SyncDistributionAgentFactory.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/agent/impl/SyncDistributionAgentFactory.java?rev=1657034&r1=1657033&r2=1657034&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/agent/impl/SyncDistributionAgentFactory.java (original)
+++ sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/agent/impl/SyncDistributionAgentFactory.java Wed Feb 4 09:23:46 2015
@@ -200,13 +200,13 @@ public class SyncDistributionAgentFactor
java.util.Set<String> var = importerEndpointsMap.keySet();
String[] queueNames = var.toArray(new String[var.size()]);
dispatchingStrategy = new MultipleQueueDispatchingStrategy(queueNames);
- packageImporter = new RemoteDistributionPackageImporter(transportSecretProvider, importerEndpointsMap, TransportEndpointStrategyType.One);
+ packageImporter = new RemoteDistributionPackageImporter(distributionLog, transportSecretProvider, importerEndpointsMap, TransportEndpointStrategyType.One);
} else {
dispatchingStrategy = new SingleQueueDispatchingStrategy();
- packageImporter = new RemoteDistributionPackageImporter(transportSecretProvider, importerEndpointsMap, TransportEndpointStrategyType.All);
+ packageImporter = new RemoteDistributionPackageImporter(distributionLog, transportSecretProvider, importerEndpointsMap, TransportEndpointStrategyType.All);
}
- DistributionPackageExporter packageExporter = new RemoteDistributionPackageExporter(packageBuilder, transportSecretProvider, exporterEndpoints, TransportEndpointStrategyType.All, 1);
+ DistributionPackageExporter packageExporter = new RemoteDistributionPackageExporter(distributionLog, packageBuilder, transportSecretProvider, exporterEndpoints, TransportEndpointStrategyType.All, 1);
DistributionQueueProvider queueProvider = new JobHandlingDistributionQueueProvider(agentName, jobManager, context);
DistributionRequestType[] allowedRequests = new DistributionRequestType[] { DistributionRequestType.PULL };
Added: sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/DistributionPackageUtils.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/DistributionPackageUtils.java?rev=1657034&view=auto
==============================================================================
--- sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/DistributionPackageUtils.java (added)
+++ sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/DistributionPackageUtils.java Wed Feb 4 09:23:46 2015
@@ -0,0 +1,57 @@
+/*
+ * 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.distribution.packaging.impl;
+
+
+import org.apache.sling.api.resource.ResourceResolver;
+import org.apache.sling.distribution.packaging.DistributionPackage;
+import org.apache.sling.distribution.packaging.SharedDistributionPackage;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+public class DistributionPackageUtils {
+
+ static Logger log = LoggerFactory.getLogger(DistributionPackageUtils.class);
+
+
+ public static void acquire(DistributionPackage distributionPackage, String queueName) {
+ if (distributionPackage instanceof SharedDistributionPackage) {
+ ((SharedDistributionPackage) distributionPackage).acquire(queueName);
+ }
+ }
+
+
+ public static void releaseOrDelete(DistributionPackage distributionPackage, String queueName) {
+ if (distributionPackage instanceof SharedDistributionPackage) {
+ if (distributionPackage instanceof SharedDistributionPackage) {
+ if (queueName != null) {
+ ((SharedDistributionPackage) distributionPackage).release(queueName);
+ log.debug("package {} released from queue {}", distributionPackage.getId(), queueName);
+ } else {
+ log.error("package {} cannot be released from null queue", distributionPackage.getId());
+ }
+ }
+ } else {
+ distributionPackage.delete();
+ log.debug("package {} deleted", distributionPackage.getId());
+ }
+ }
+
+}
Modified: sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/exporter/RemoteDistributionPackageExporter.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/exporter/RemoteDistributionPackageExporter.java?rev=1657034&r1=1657033&r2=1657034&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/exporter/RemoteDistributionPackageExporter.java (original)
+++ sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/exporter/RemoteDistributionPackageExporter.java Wed Feb 4 09:23:46 2015
@@ -24,6 +24,7 @@ import java.util.List;
import org.apache.sling.api.resource.ResourceResolver;
import org.apache.sling.distribution.DistributionRequest;
+import org.apache.sling.distribution.log.impl.DefaultDistributionLog;
import org.apache.sling.distribution.packaging.DistributionPackage;
import org.apache.sling.distribution.packaging.DistributionPackageExportException;
import org.apache.sling.distribution.packaging.DistributionPackageExporter;
@@ -42,18 +43,19 @@ import org.slf4j.LoggerFactory;
*/
public class RemoteDistributionPackageExporter implements DistributionPackageExporter {
- private final Logger log = LoggerFactory.getLogger(getClass());
private final DistributionPackageBuilder packageBuilder;
private final DistributionTransportSecretProvider secretProvider;
+ private final DefaultDistributionLog log;
private DistributionTransport transportHandler;
- public RemoteDistributionPackageExporter(DistributionPackageBuilder packageBuilder,
+ public RemoteDistributionPackageExporter(DefaultDistributionLog log, DistributionPackageBuilder packageBuilder,
DistributionTransportSecretProvider secretProvider,
String[] endpoints,
TransportEndpointStrategyType transportEndpointStrategyType,
int pullItems) {
+ this.log = log;
if (packageBuilder == null) {
throw new IllegalArgumentException("packageBuilder is required");
}
@@ -70,7 +72,7 @@ public class RemoteDistributionPackageEx
for (String endpoint : endpoints) {
if (endpoint != null && endpoint.length() > 0) {
- transportHandlers.add(new SimpleHttpDistributionTransport(new DistributionEndpoint(endpoint), packageBuilder, secretProvider, pullItems));
+ transportHandlers.add(new SimpleHttpDistributionTransport(log, new DistributionEndpoint(endpoint), packageBuilder, secretProvider, pullItems));
}
}
transportHandler = new MultipleEndpointDistributionTransport(transportHandlers,
Modified: sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/exporter/RemoteDistributionPackageExporterFactory.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/exporter/RemoteDistributionPackageExporterFactory.java?rev=1657034&r1=1657033&r2=1657034&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/exporter/RemoteDistributionPackageExporterFactory.java (original)
+++ sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/exporter/RemoteDistributionPackageExporterFactory.java Wed Feb 4 09:23:46 2015
@@ -33,7 +33,10 @@ import org.apache.felix.scr.annotations.
import org.apache.sling.api.resource.ResourceResolver;
import org.apache.sling.commons.osgi.PropertiesUtil;
import org.apache.sling.distribution.DistributionRequest;
+import org.apache.sling.distribution.agent.impl.SimpleDistributionAgent;
+import org.apache.sling.distribution.component.impl.DistributionComponentKind;
import org.apache.sling.distribution.component.impl.DistributionComponentUtils;
+import org.apache.sling.distribution.log.impl.DefaultDistributionLog;
import org.apache.sling.distribution.packaging.DistributionPackage;
import org.apache.sling.distribution.packaging.DistributionPackageExportException;
import org.apache.sling.distribution.packaging.DistributionPackageExporter;
@@ -113,7 +116,14 @@ public class RemoteDistributionPackageEx
int pollItems = PropertiesUtil.toInteger(config.get(PULL_ITEMS), Integer.MAX_VALUE);
TransportEndpointStrategyType transportEndpointStrategyType = TransportEndpointStrategyType.valueOf(endpointStrategyName);
- exporter = new RemoteDistributionPackageExporter(packageBuilder, transportSecretProvider, endpoints,
+
+
+ String exporterName = PropertiesUtil.toString(config.get(NAME), null);
+
+ DefaultDistributionLog distributionLog = new DefaultDistributionLog(DistributionComponentKind.EXPORTER, exporterName, RemoteDistributionPackageExporter.class, DefaultDistributionLog.LogLevel.ERROR);
+
+
+ exporter = new RemoteDistributionPackageExporter(distributionLog, packageBuilder, transportSecretProvider, endpoints,
transportEndpointStrategyType, pollItems);
}
Modified: sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/importer/AdvancedRemoteDistributionPackageImporter.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/importer/AdvancedRemoteDistributionPackageImporter.java?rev=1657034&r1=1657033&r2=1657034&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/importer/AdvancedRemoteDistributionPackageImporter.java (original)
+++ sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/importer/AdvancedRemoteDistributionPackageImporter.java Wed Feb 4 09:23:46 2015
@@ -30,7 +30,10 @@ import org.apache.felix.scr.annotations.
import org.apache.felix.scr.annotations.Reference;
import org.apache.sling.api.resource.ResourceResolver;
import org.apache.sling.commons.osgi.PropertiesUtil;
+import org.apache.sling.distribution.component.impl.DistributionComponentKind;
+import org.apache.sling.distribution.component.impl.DistributionComponentUtils;
import org.apache.sling.distribution.event.impl.DistributionEventFactory;
+import org.apache.sling.distribution.log.impl.DefaultDistributionLog;
import org.apache.sling.distribution.packaging.DistributionPackage;
import org.apache.sling.distribution.packaging.DistributionPackageImportException;
import org.apache.sling.distribution.packaging.DistributionPackageImporter;
@@ -53,6 +56,12 @@ public class AdvancedRemoteDistributionP
private final Logger log = LoggerFactory.getLogger(getClass());
+ /**
+ * name of this importer.
+ */
+ @Property(label = "Name", description = "The name of the importer.")
+ public static final String NAME = DistributionComponentUtils.PN_NAME;
+
@Property(name = "transportSecretProvider.target")
@Reference(name = "transportSecretProvider")
private volatile DistributionTransportSecretProvider distributionTransportSecretProvider;
@@ -103,15 +112,23 @@ public class AdvancedRemoteDistributionP
String customBody = PropertiesUtil.toString(config.get(CUSTOM_BODY), "");
+
+
+ String importerName = PropertiesUtil.toString(config.get(NAME), null);
+
+ DefaultDistributionLog distributionLog = new DefaultDistributionLog(DistributionComponentKind.IMPORTER, importerName, RemoteDistributionPackageImporter.class, DefaultDistributionLog.LogLevel.ERROR);
+
+
List<DistributionTransport> transportHandlers = new ArrayList<DistributionTransport>();
for (String endpoint : endpoints) {
if (endpoint != null && endpoint.length() > 0) {
- transportHandlers.add(new AdvancedHttpDistributionTransport(useCustomHeaders, customHeaders,
+ transportHandlers.add(new AdvancedHttpDistributionTransport(distributionLog, useCustomHeaders, customHeaders,
useCustomBody, customBody,
new DistributionEndpoint(endpoint), null, distributionTransportSecretProvider, -1));
}
}
+
transportHandler = new MultipleEndpointDistributionTransport(transportHandlers,
transportEndpointStrategyType);
Modified: sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/importer/LocalDistributionPackageImporter.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/importer/LocalDistributionPackageImporter.java?rev=1657034&r1=1657033&r2=1657034&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/importer/LocalDistributionPackageImporter.java (original)
+++ sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/importer/LocalDistributionPackageImporter.java Wed Feb 4 09:23:46 2015
@@ -60,7 +60,7 @@ public class LocalDistributionPackageImp
log.info("Distribution package read and installed for path(s) {}", Arrays.toString(distributionPackage.getInfo().getPaths()));
} else {
- log.warn("could not read a distribution package");
+ log.warn("could not install distribution package {}", distributionPackage.getId());
}
} catch (Exception e) {
log.error("cannot import a package from the given stream of type {}", distributionPackage.getType());
Modified: sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/importer/RemoteDistributionPackageImporter.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/importer/RemoteDistributionPackageImporter.java?rev=1657034&r1=1657033&r2=1657034&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/importer/RemoteDistributionPackageImporter.java (original)
+++ sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/importer/RemoteDistributionPackageImporter.java Wed Feb 4 09:23:46 2015
@@ -24,6 +24,7 @@ import java.util.HashMap;
import java.util.Map;
import org.apache.sling.api.resource.ResourceResolver;
+import org.apache.sling.distribution.log.impl.DefaultDistributionLog;
import org.apache.sling.distribution.packaging.DistributionPackage;
import org.apache.sling.distribution.packaging.DistributionPackageImportException;
import org.apache.sling.distribution.packaging.DistributionPackageImporter;
@@ -41,15 +42,16 @@ import org.slf4j.LoggerFactory;
*/
public class RemoteDistributionPackageImporter implements DistributionPackageImporter {
- private final Logger log = LoggerFactory.getLogger(getClass());
private DistributionTransport transportHandler;
+ private final DefaultDistributionLog log;
private DistributionTransportSecretProvider distributionTransportSecretProvider;
- public RemoteDistributionPackageImporter(DistributionTransportSecretProvider distributionTransportSecretProvider,
+ public RemoteDistributionPackageImporter(DefaultDistributionLog log, DistributionTransportSecretProvider distributionTransportSecretProvider,
Map<String, String> endpointsMap,
TransportEndpointStrategyType transportEndpointStrategyType) {
+ this.log = log;
this.distributionTransportSecretProvider = distributionTransportSecretProvider;
if (distributionTransportSecretProvider == null) {
@@ -63,7 +65,7 @@ public class RemoteDistributionPackageIm
String endpointKey = entry.getKey();
String endpoint = entry.getValue();
if (endpoint != null && endpoint.length() > 0) {
- transportHandlers.put(endpointKey, new SimpleHttpDistributionTransport(new DistributionEndpoint(endpoint), null, distributionTransportSecretProvider, -1));
+ transportHandlers.put(endpointKey, new SimpleHttpDistributionTransport(log, new DistributionEndpoint(endpoint), null, distributionTransportSecretProvider, -1));
}
}
transportHandler = new MultipleEndpointDistributionTransport(transportHandlers,
Modified: sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/importer/RemoteDistributionPackageImporterFactory.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/importer/RemoteDistributionPackageImporterFactory.java?rev=1657034&r1=1657033&r2=1657034&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/importer/RemoteDistributionPackageImporterFactory.java (original)
+++ sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/importer/RemoteDistributionPackageImporterFactory.java Wed Feb 4 09:23:46 2015
@@ -31,8 +31,11 @@ import org.apache.felix.scr.annotations.
import org.apache.felix.scr.annotations.Service;
import org.apache.sling.api.resource.ResourceResolver;
import org.apache.sling.commons.osgi.PropertiesUtil;
+import org.apache.sling.distribution.agent.impl.SimpleDistributionAgent;
+import org.apache.sling.distribution.component.impl.DistributionComponentKind;
import org.apache.sling.distribution.component.impl.DistributionComponentUtils;
import org.apache.sling.distribution.component.impl.SettingsUtils;
+import org.apache.sling.distribution.log.impl.DefaultDistributionLog;
import org.apache.sling.distribution.packaging.DistributionPackage;
import org.apache.sling.distribution.packaging.DistributionPackageImportException;
import org.apache.sling.distribution.packaging.DistributionPackageImporter;
@@ -99,7 +102,12 @@ public class RemoteDistributionPackageIm
TransportEndpointStrategyType transportEndpointStrategyType = TransportEndpointStrategyType.valueOf(endpointStrategyName);
- importer = new RemoteDistributionPackageImporter(transportSecretProvider, endpoints, transportEndpointStrategyType);
+ String importerName = PropertiesUtil.toString(config.get(NAME), null);
+
+ DefaultDistributionLog distributionLog = new DefaultDistributionLog(DistributionComponentKind.IMPORTER, importerName, RemoteDistributionPackageImporter.class, DefaultDistributionLog.LogLevel.ERROR);
+
+
+ importer = new RemoteDistributionPackageImporter(distributionLog, transportSecretProvider, endpoints, transportEndpointStrategyType);
}
Modified: sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/queue/impl/MultipleQueueDispatchingStrategy.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/queue/impl/MultipleQueueDispatchingStrategy.java?rev=1657034&r1=1657033&r2=1657034&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/queue/impl/MultipleQueueDispatchingStrategy.java (original)
+++ sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/queue/impl/MultipleQueueDispatchingStrategy.java Wed Feb 4 09:23:46 2015
@@ -20,6 +20,7 @@ package org.apache.sling.distribution.qu
import org.apache.sling.distribution.packaging.DistributionPackage;
import org.apache.sling.distribution.packaging.SharedDistributionPackage;
+import org.apache.sling.distribution.packaging.impl.DistributionPackageUtils;
import org.apache.sling.distribution.queue.DistributionQueue;
import org.apache.sling.distribution.queue.DistributionQueueException;
import org.apache.sling.distribution.queue.DistributionQueueItem;
@@ -48,22 +49,24 @@ public class MultipleQueueDispatchingStr
}
public Iterable<DistributionQueueItemStatus> add(@Nonnull DistributionPackage distributionPackage, @Nonnull DistributionQueueProvider queueProvider) throws DistributionQueueException {
+
+
+ if (!(distributionPackage instanceof SharedDistributionPackage) && queueNames.length > 1) {
+ throw new DistributionQueueException("distribution package must be a shared package to be added in multiple queues");
+ }
+
DistributionQueueItem queueItem = getItem(distributionPackage);
List<DistributionQueueItemStatus> result = new ArrayList<DistributionQueueItemStatus>();
for (String queueName: queueNames) {
DistributionQueue queue = queueProvider.getQueue(queueName);
- if (distributionPackage instanceof SharedDistributionPackage) {
- ((SharedDistributionPackage) distributionPackage).acquire(queueName);
- }
+ DistributionPackageUtils.acquire(distributionPackage, queueName);
DistributionQueueItemStatus status = new DistributionQueueItemStatus(DistributionQueueItemStatus.ItemState.ERROR, queue.getName());
if (queue.add(queueItem)) {
status = queue.getStatus(queueItem);
}
else {
- if (distributionPackage instanceof SharedDistributionPackage) {
- ((SharedDistributionPackage) distributionPackage).release(queueName);
- }
+ DistributionPackageUtils.releaseOrDelete(distributionPackage, queueName);
}
result.add(status);
Modified: sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/serialization/impl/AbstractDistributionPackageBuilder.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/serialization/impl/AbstractDistributionPackageBuilder.java?rev=1657034&r1=1657033&r2=1657034&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/serialization/impl/AbstractDistributionPackageBuilder.java (original)
+++ sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/serialization/impl/AbstractDistributionPackageBuilder.java Wed Feb 4 09:23:46 2015
@@ -64,6 +64,8 @@ public abstract class AbstractDistributi
distributionPackage = new SimpleDistributionPackage(request, type);
} else if (DistributionRequestType.PULL.equals(request.getRequestType())) {
distributionPackage = new SimpleDistributionPackage(request, type);
+ } else if (DistributionRequestType.TEST.equals(request.getRequestType())) {
+ distributionPackage = new SimpleDistributionPackage(request, type);
} else {
throw new DistributionPackageBuildingException("unknown action type "
+ request.getRequestType());
@@ -96,10 +98,13 @@ public abstract class AbstractDistributi
public boolean installPackage(@Nonnull ResourceResolver resourceResolver, @Nonnull DistributionPackage distributionPackage) throws DistributionPackageReadingException {
DistributionRequestType actionType = distributionPackage.getInfo().getRequestType();
- boolean installed;
+ boolean installed = false;
if (DistributionRequestType.DELETE.equals(actionType)) {
installed = installDeletePackage(resourceResolver, distributionPackage);
- } else {
+ } else if (DistributionRequestType.TEST.equals(actionType)) {
+ // do nothing for test packages
+ installed = true;
+ } else if (DistributionRequestType.ADD.equals(actionType)) {
installed = installPackageInternal(resourceResolver, distributionPackage);
}
Modified: sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/servlet/DistributionAgentQueueServlet.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/servlet/DistributionAgentQueueServlet.java?rev=1657034&r1=1657033&r2=1657034&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/servlet/DistributionAgentQueueServlet.java (original)
+++ sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/servlet/DistributionAgentQueueServlet.java Wed Feb 4 09:23:46 2015
@@ -20,7 +20,6 @@ package org.apache.sling.distribution.se
import javax.servlet.ServletException;
import java.io.IOException;
-import java.util.List;
import org.apache.felix.scr.annotations.Reference;
import org.apache.felix.scr.annotations.sling.SlingServlet;
@@ -28,12 +27,8 @@ import org.apache.sling.api.SlingHttpSer
import org.apache.sling.api.SlingHttpServletResponse;
import org.apache.sling.api.resource.ResourceResolver;
import org.apache.sling.api.servlets.SlingAllMethodsServlet;
-import org.apache.sling.distribution.component.impl.DistributionComponent;
-import org.apache.sling.distribution.component.impl.DistributionComponentKind;
-import org.apache.sling.distribution.component.impl.DistributionComponentProvider;
-import org.apache.sling.distribution.component.impl.DistributionComponentUtils;
import org.apache.sling.distribution.packaging.DistributionPackage;
-import org.apache.sling.distribution.packaging.SharedDistributionPackage;
+import org.apache.sling.distribution.packaging.impl.DistributionPackageUtils;
import org.apache.sling.distribution.queue.DistributionQueue;
import org.apache.sling.distribution.queue.DistributionQueueItem;
import org.apache.sling.distribution.resources.DistributionResourceTypes;
@@ -111,11 +106,7 @@ public class DistributionAgentQueueServl
DistributionPackage distributionPackage = packageBuilder.getPackage(resourceResolver, id);
if (distributionPackage != null) {
- if (distributionPackage instanceof SharedDistributionPackage) {
- ((SharedDistributionPackage) distributionPackage).release(queue.getName());
- } else {
- distributionPackage.delete();
- }
+ DistributionPackageUtils.releaseOrDelete(distributionPackage, queue.getName());
}
}
}
Modified: sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/transport/impl/AdvancedHttpDistributionTransport.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/transport/impl/AdvancedHttpDistributionTransport.java?rev=1657034&r1=1657033&r2=1657034&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/transport/impl/AdvancedHttpDistributionTransport.java (original)
+++ sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/transport/impl/AdvancedHttpDistributionTransport.java Wed Feb 4 09:23:46 2015
@@ -33,6 +33,7 @@ import org.apache.http.client.fluent.Req
import org.apache.http.client.fluent.Response;
import org.apache.http.entity.ContentType;
import org.apache.sling.api.resource.ResourceResolver;
+import org.apache.sling.distribution.log.impl.DefaultDistributionLog;
import org.apache.sling.distribution.packaging.DistributionPackage;
import org.apache.sling.distribution.serialization.DistributionPackageBuilder;
import org.apache.sling.distribution.transport.DistributionTransportSecretProvider;
@@ -49,7 +50,6 @@ public class AdvancedHttpDistributionTra
private static final String PATH_VARIABLE_NAME = "{path}";
- private static final Logger log = LoggerFactory.getLogger(AdvancedHttpDistributionTransport.class);
private final DistributionEndpoint distributionEndpoint;
@@ -61,7 +61,7 @@ public class AdvancedHttpDistributionTra
private final String customBody;
- public AdvancedHttpDistributionTransport(boolean useCustomHeaders,
+ public AdvancedHttpDistributionTransport(DefaultDistributionLog log, boolean useCustomHeaders,
String[] customHeaders,
boolean useCustomBody,
String customBody,
@@ -71,7 +71,7 @@ public class AdvancedHttpDistributionTra
int maxNoOfPackages) {
- super(distributionEndpoint, packageBuilder, secretProvider, maxNoOfPackages);
+ super(log, distributionEndpoint, packageBuilder, secretProvider, maxNoOfPackages);
this.useCustomHeaders = useCustomHeaders;
this.customHeaders = customHeaders;
this.useCustomBody = useCustomBody;
Modified: sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/transport/impl/SimpleHttpDistributionTransport.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/transport/impl/SimpleHttpDistributionTransport.java?rev=1657034&r1=1657033&r2=1657034&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/transport/impl/SimpleHttpDistributionTransport.java (original)
+++ sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/transport/impl/SimpleHttpDistributionTransport.java Wed Feb 4 09:23:46 2015
@@ -38,6 +38,7 @@ import org.apache.http.conn.HttpHostConn
import org.apache.http.entity.ContentType;
import org.apache.sling.api.resource.ResourceResolver;
import org.apache.sling.distribution.DistributionRequest;
+import org.apache.sling.distribution.log.impl.DefaultDistributionLog;
import org.apache.sling.distribution.packaging.DistributionPackage;
import org.apache.sling.distribution.serialization.DistributionPackageBuilder;
import org.apache.sling.distribution.transport.DistributionTransportSecretProvider;
@@ -50,17 +51,22 @@ import org.slf4j.LoggerFactory;
public class SimpleHttpDistributionTransport implements DistributionTransport {
- private final Logger log = LoggerFactory.getLogger(getClass());
+ private static final String USERNAME = "username";
+ private static final String PASSWORD = "password";
+
+
+ protected final DefaultDistributionLog log;
private final DistributionEndpoint distributionEndpoint;
private final DistributionPackageBuilder packageBuilder;
protected final DistributionTransportSecretProvider secretProvider;
private final int maxNumberOfPackages;
- public SimpleHttpDistributionTransport(DistributionEndpoint distributionEndpoint,
+ public SimpleHttpDistributionTransport(DefaultDistributionLog log, DistributionEndpoint distributionEndpoint,
DistributionPackageBuilder packageBuilder,
DistributionTransportSecretProvider secretProvider,
int maxNumberOfPackages) {
+ this.log = log;
this.distributionEndpoint = distributionEndpoint;
this.packageBuilder = packageBuilder;
@@ -75,16 +81,19 @@ public class SimpleHttpDistributionTrans
if (packageOrigin != null && hostAndPort.equals(getHostAndPort(packageOrigin))) {
log.info("skipping distribution of package {}Â to same origin {}", distributionPackage.getId(), hostAndPort);
} else {
- log.info("delivering package {} to {} using secret {}", new Object[]{
- distributionPackage.getId(),
- distributionEndpoint.getUri(),
- secretProvider
- });
+
try {
Executor executor = Executor.newInstance();
DistributionTransportSecret secret = secretProvider.getSecret(distributionEndpoint.getUri());
+
+ log.info("delivering package {} to {} with user {}", new Object[]{
+ distributionPackage.getId(),
+ distributionEndpoint.getUri(),
+ secret.asCredentialsMap().get(USERNAME)
+ });
+
executor = authenticate(secret, executor);
Request req = Request.Post(distributionEndpoint.getUri()).useExpectContinue();
@@ -183,7 +192,7 @@ public class SimpleHttpDistributionTrans
Map<String, String> credentialsMap = secret.asCredentialsMap();
if (credentialsMap != null) {
executor = executor.auth(new HttpHost(distributionEndpoint.getUri().getHost(), distributionEndpoint.getUri().getPort()),
- credentialsMap.get("username"), credentialsMap.get("password")).authPreemptive(
+ credentialsMap.get(USERNAME), credentialsMap.get(PASSWORD)).authPreemptive(
new HttpHost(distributionEndpoint.getUri().getHost(), distributionEndpoint.getUri().getPort()));
log.debug("authenticated executor HTTP client with user and password");
}
Modified: sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/trigger/impl/PersistedJcrEventDistributionTrigger.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/trigger/impl/PersistedJcrEventDistributionTrigger.java?rev=1657034&r1=1657033&r2=1657034&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/trigger/impl/PersistedJcrEventDistributionTrigger.java (original)
+++ sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/trigger/impl/PersistedJcrEventDistributionTrigger.java Wed Feb 4 09:23:46 2015
@@ -41,7 +41,7 @@ import org.slf4j.LoggerFactory;
*/
public class PersistedJcrEventDistributionTrigger extends AbstractJcrEventTrigger implements DistributionTrigger {
- public static final String DEFAULT_NUGGETS_PATH = "/var/distribution/nuggets";
+ public static final String DEFAULT_NUGGETS_PATH = "/var/sling/distribution/nuggets";
private final Logger log = LoggerFactory.getLogger(getClass());
Modified: sling/trunk/contrib/extensions/distribution/core/src/test/java/org/apache/sling/distribution/packaging/impl/exporter/RemoteDistributionPackageExporterTest.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/test/java/org/apache/sling/distribution/packaging/impl/exporter/RemoteDistributionPackageExporterTest.java?rev=1657034&r1=1657033&r2=1657034&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/distribution/core/src/test/java/org/apache/sling/distribution/packaging/impl/exporter/RemoteDistributionPackageExporterTest.java (original)
+++ sling/trunk/contrib/extensions/distribution/core/src/test/java/org/apache/sling/distribution/packaging/impl/exporter/RemoteDistributionPackageExporterTest.java Wed Feb 4 09:23:46 2015
@@ -24,6 +24,7 @@ import org.apache.sling.api.resource.Res
import org.apache.sling.distribution.DistributionRequest;
import org.apache.sling.distribution.DistributionRequestType;
import org.apache.sling.distribution.SimpleDistributionRequest;
+import org.apache.sling.distribution.log.impl.DefaultDistributionLog;
import org.apache.sling.distribution.packaging.DistributionPackage;
import org.apache.sling.distribution.serialization.DistributionPackageBuilder;
import org.apache.sling.distribution.transport.DistributionTransportSecretProvider;
@@ -45,7 +46,7 @@ public class RemoteDistributionPackageEx
DistributionTransportSecretProvider distributionTransportSecretProvider = mock(DistributionTransportSecretProvider.class);
String[] endpoints = new String[0];
for (TransportEndpointStrategyType strategy : TransportEndpointStrategyType.values()) {
- RemoteDistributionPackageExporter remotedistributionPackageExporter = new RemoteDistributionPackageExporter(
+ RemoteDistributionPackageExporter remotedistributionPackageExporter = new RemoteDistributionPackageExporter(mock(DefaultDistributionLog.class),
packageBuilder, distributionTransportSecretProvider, endpoints, strategy, 1);
ResourceResolver resourceResolver = mock(ResourceResolver.class);
DistributionRequest distributionRequest = new SimpleDistributionRequest(DistributionRequestType.ADD, "/");
Modified: sling/trunk/contrib/extensions/distribution/core/src/test/java/org/apache/sling/distribution/packaging/impl/importer/RemoteDistributionPackageImporterTest.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/test/java/org/apache/sling/distribution/packaging/impl/importer/RemoteDistributionPackageImporterTest.java?rev=1657034&r1=1657033&r2=1657034&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/distribution/core/src/test/java/org/apache/sling/distribution/packaging/impl/importer/RemoteDistributionPackageImporterTest.java (original)
+++ sling/trunk/contrib/extensions/distribution/core/src/test/java/org/apache/sling/distribution/packaging/impl/importer/RemoteDistributionPackageImporterTest.java Wed Feb 4 09:23:46 2015
@@ -19,6 +19,7 @@
package org.apache.sling.distribution.packaging.impl.importer;
import org.apache.sling.api.resource.ResourceResolver;
+import org.apache.sling.distribution.log.impl.DefaultDistributionLog;
import org.apache.sling.distribution.packaging.DistributionPackage;
import org.apache.sling.distribution.transport.DistributionTransportSecretProvider;
import org.apache.sling.distribution.transport.impl.TransportEndpointStrategyType;
@@ -39,7 +40,7 @@ public class RemoteDistributionPackageIm
DistributionTransportSecretProvider distributionTransportSecretProvider = mock(DistributionTransportSecretProvider.class);
Map<String, String> endpoints = new HashMap<String, String>();
for (TransportEndpointStrategyType strategy : TransportEndpointStrategyType.values()) {
- RemoteDistributionPackageImporter remotedistributionPackageImporter = new RemoteDistributionPackageImporter(
+ RemoteDistributionPackageImporter remotedistributionPackageImporter = new RemoteDistributionPackageImporter(mock(DefaultDistributionLog.class),
distributionTransportSecretProvider, endpoints, strategy);
ResourceResolver resourceResolver = mock(ResourceResolver.class);
DistributionPackage distributionPackage = mock(DistributionPackage.class);
Modified: sling/trunk/contrib/extensions/distribution/core/src/test/java/org/apache/sling/distribution/transport/impl/SimpleHttpDistributionTransportTest.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/test/java/org/apache/sling/distribution/transport/impl/SimpleHttpDistributionTransportTest.java?rev=1657034&r1=1657033&r2=1657034&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/distribution/core/src/test/java/org/apache/sling/distribution/transport/impl/SimpleHttpDistributionTransportTest.java (original)
+++ sling/trunk/contrib/extensions/distribution/core/src/test/java/org/apache/sling/distribution/transport/impl/SimpleHttpDistributionTransportTest.java Wed Feb 4 09:23:46 2015
@@ -35,6 +35,7 @@ import org.apache.sling.api.resource.Res
import org.apache.sling.distribution.DistributionRequest;
import org.apache.sling.distribution.DistributionRequestType;
import org.apache.sling.distribution.SimpleDistributionRequest;
+import org.apache.sling.distribution.log.impl.DefaultDistributionLog;
import org.apache.sling.distribution.packaging.DistributionPackage;
import org.apache.sling.distribution.packaging.DistributionPackageInfo;
import org.apache.sling.distribution.serialization.DistributionPackageBuilder;
@@ -73,7 +74,7 @@ public class SimpleHttpDistributionTrans
DistributionEndpoint endpoint = new DistributionEndpoint("http://127.0.0.1:8080/some/resource");
DistributionPackageBuilder packageBuilder = mock(DistributionPackageBuilder.class);
int maxNoOfPackages = Integer.MAX_VALUE;
- SimpleHttpDistributionTransport simpleHttpDistributionTransport = new SimpleHttpDistributionTransport(
+ SimpleHttpDistributionTransport simpleHttpDistributionTransport = new SimpleHttpDistributionTransport(mock(DefaultDistributionLog.class),
endpoint, packageBuilder, secretProvider, maxNoOfPackages);
ResourceResolver resourceResolver = mock(ResourceResolver.class);
DistributionPackage distributionPackage = mock(DistributionPackage.class);
@@ -104,7 +105,7 @@ public class SimpleHttpDistributionTrans
DistributionEndpoint endpoint = new DistributionEndpoint("http://127.0.0.1:8080/some/resource");
DistributionPackageBuilder packageBuilder = mock(DistributionPackageBuilder.class);
int maxNoOfPackages = 1;
- SimpleHttpDistributionTransport simpleHttpDistributionTransport = new SimpleHttpDistributionTransport(
+ SimpleHttpDistributionTransport simpleHttpDistributionTransport = new SimpleHttpDistributionTransport(mock(DefaultDistributionLog.class),
endpoint, packageBuilder, secretProvider, maxNoOfPackages);
ResourceResolver resourceResolver = mock(ResourceResolver.class);
DistributionRequest distributionRequest = new SimpleDistributionRequest(DistributionRequestType.ADD, "/");
@@ -141,7 +142,7 @@ public class SimpleHttpDistributionTrans
when(distributionPackage.getInfo()).thenReturn(new DistributionPackageInfo());
when(packageBuilder.readPackage(any(ResourceResolver.class), any(InputStream.class))).thenReturn(distributionPackage);
int maxNoOfPackages = 1;
- SimpleHttpDistributionTransport simpleHttpDistributionTransport = new SimpleHttpDistributionTransport(
+ SimpleHttpDistributionTransport simpleHttpDistributionTransport = new SimpleHttpDistributionTransport(mock(DefaultDistributionLog.class),
endpoint, packageBuilder, secretProvider, maxNoOfPackages);
ResourceResolver resourceResolver = mock(ResourceResolver.class);
DistributionRequest distributionRequest = new SimpleDistributionRequest(DistributionRequestType.ADD, "/");
Modified: sling/trunk/contrib/extensions/distribution/it/src/test/java/org/apache/sling/distribution/it/ForwardDistributionTest.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/it/src/test/java/org/apache/sling/distribution/it/ForwardDistributionTest.java?rev=1657034&r1=1657033&r2=1657034&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/distribution/it/src/test/java/org/apache/sling/distribution/it/ForwardDistributionTest.java (original)
+++ sling/trunk/contrib/extensions/distribution/it/src/test/java/org/apache/sling/distribution/it/ForwardDistributionTest.java Wed Feb 4 09:23:46 2015
@@ -41,6 +41,15 @@ public class ForwardDistributionTest ext
}
@Test
+ public void testTestContent() throws Exception {
+ String nodePath = createRandomNode(authorClient, "/content/forward_test_" + System.nanoTime());
+ assertExists(authorClient, nodePath);
+ distribute(author, "publish", DistributionRequestType.TEST, nodePath);
+ Thread.sleep(10000);
+ assertNotExists(publishClient, nodePath);
+ }
+
+ @Test
public void testDeleteContent() throws Exception {
String nodePath = createRandomNode(publishClient, "/content/forward_del_" + System.nanoTime());
assertExists(publishClient, nodePath);