You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sling.apache.org by to...@apache.org on 2014/11/21 15:51:52 UTC
svn commit: r1640924 [1/2] - in /sling/trunk/contrib/extensions/distribution:
api/src/main/java/org/apache/sling/distribution/agent/
api/src/main/java/org/apache/sling/distribution/communication/
api/src/main/java/org/apache/sling/distribution/componen...
Author: tommaso
Date: Fri Nov 21 14:51:51 2014
New Revision: 1640924
URL: http://svn.apache.org/r1640924
Log:
SLING-4153 - improve javadoc, added distribution request state, minor fixes
Added:
sling/trunk/contrib/extensions/distribution/api/src/main/java/org/apache/sling/distribution/communication/DistributionActionType.java
- copied, changed from r1640691, sling/trunk/contrib/extensions/distribution/api/src/main/java/org/apache/sling/distribution/communication/DistributionActionType.java
sling/trunk/contrib/extensions/distribution/api/src/main/java/org/apache/sling/distribution/communication/DistributionRequestState.java (with props)
Modified:
sling/trunk/contrib/extensions/distribution/api/src/main/java/org/apache/sling/distribution/agent/DistributionAgent.java
sling/trunk/contrib/extensions/distribution/api/src/main/java/org/apache/sling/distribution/communication/DistributionRequest.java
sling/trunk/contrib/extensions/distribution/api/src/main/java/org/apache/sling/distribution/communication/DistributionResponse.java
sling/trunk/contrib/extensions/distribution/api/src/main/java/org/apache/sling/distribution/component/DistributionComponentFactory.java
sling/trunk/contrib/extensions/distribution/api/src/main/java/org/apache/sling/distribution/component/DistributionComponentProvider.java
sling/trunk/contrib/extensions/distribution/api/src/main/java/org/apache/sling/distribution/packaging/DistributionPackage.java
sling/trunk/contrib/extensions/distribution/api/src/main/java/org/apache/sling/distribution/packaging/DistributionPackageExporter.java
sling/trunk/contrib/extensions/distribution/api/src/main/java/org/apache/sling/distribution/packaging/DistributionPackageImporter.java
sling/trunk/contrib/extensions/distribution/api/src/main/java/org/apache/sling/distribution/packaging/DistributionPackageInfo.java
sling/trunk/contrib/extensions/distribution/api/src/main/java/org/apache/sling/distribution/packaging/SharedDistributionPackage.java
sling/trunk/contrib/extensions/distribution/api/src/main/java/org/apache/sling/distribution/queue/DistributionQueue.java
sling/trunk/contrib/extensions/distribution/api/src/main/java/org/apache/sling/distribution/queue/DistributionQueueProcessor.java
sling/trunk/contrib/extensions/distribution/api/src/main/java/org/apache/sling/distribution/transport/authentication/TransportAuthenticationProvider.java
sling/trunk/contrib/extensions/distribution/api/src/main/java/org/apache/sling/distribution/trigger/DistributionTrigger.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/component/impl/DefaultDistributionComponentFactory.java
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/component/impl/DefaultDistributionComponentFactoryConstants.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/LocalDistributionPackageImporter.java
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/queue/impl/ErrorAwareQueueDispatchingStrategy.java
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/queue/impl/PriorityPathQueueDispatchingStrategy.java
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/queue/impl/SingleQueueDispatchingStrategy.java
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/queue/impl/jobhandling/JobHandlingUtils.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/serialization/impl/ResourceSharedDistributionPackage.java
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/serialization/impl/ResourceSharedDistributionPackageBuilder.java
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/serialization/impl/VoidDistributionPackage.java
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/serialization/impl/vlt/FileVaultDistributionPackage.java
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/servlet/DistributionAgentRootServlet.java
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/servlet/DistributionAgentServlet.java
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/transport/impl/AdvancedHttpDistributionTransportHandler.java
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/transport/impl/SimpleHttpDistributionTransportHandler.java
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/trigger/impl/RemoteEventDistributionTrigger.java
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/util/RequestUtils.java
sling/trunk/contrib/extensions/distribution/core/src/test/java/org/apache/sling/distribution/agent/impl/SimpleDistributionAgentTest.java
sling/trunk/contrib/extensions/distribution/core/src/test/java/org/apache/sling/distribution/packaging/impl/exporter/LocalDistributionPackageExporterTest.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/serialization/impl/VoidDistributionPackageBuilderTest.java
sling/trunk/contrib/extensions/distribution/core/src/test/java/org/apache/sling/distribution/serialization/impl/VoidDistributionPackageTest.java
sling/trunk/contrib/extensions/distribution/core/src/test/java/org/apache/sling/distribution/serialization/impl/vlt/FileVaultDistributionPackageBuilderTest.java
sling/trunk/contrib/extensions/distribution/core/src/test/java/org/apache/sling/distribution/serialization/impl/vlt/FileVaultDistributionPackageTest.java
sling/trunk/contrib/extensions/distribution/core/src/test/java/org/apache/sling/distribution/transport/impl/MultipleEndpointDistributionTransportHandlerTest.java
sling/trunk/contrib/extensions/distribution/core/src/test/java/org/apache/sling/distribution/transport/impl/SimpleHttpDistributionTransportHandlerTest.java
sling/trunk/contrib/extensions/distribution/it/src/main/resources/SLING-CONTENT/libs/test/install.author/org.apache.sling.distribution.component.impl.GenericDistributionComponentFactory-trigger-test-scheduled-event.json
sling/trunk/contrib/extensions/distribution/it/src/test/java/org/apache/sling/distribution/it/triggers/ScheduledDistributionTriggerTest.java
sling/trunk/contrib/extensions/distribution/sample/src/main/resources/SLING-CONTENT/libs/sling/distribution/install.author/org.apache.sling.distribution.agent.impl.SimpleDistributionAgentFactory-publish-reverse.json
Modified: sling/trunk/contrib/extensions/distribution/api/src/main/java/org/apache/sling/distribution/agent/DistributionAgent.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/api/src/main/java/org/apache/sling/distribution/agent/DistributionAgent.java?rev=1640924&r1=1640923&r2=1640924&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/distribution/api/src/main/java/org/apache/sling/distribution/agent/DistributionAgent.java (original)
+++ sling/trunk/contrib/extensions/distribution/api/src/main/java/org/apache/sling/distribution/agent/DistributionAgent.java Fri Nov 21 14:51:51 2014
@@ -20,7 +20,6 @@ package org.apache.sling.distribution.ag
import javax.annotation.CheckForNull;
import javax.annotation.Nonnull;
-import javax.annotation.Nullable;
import aQute.bnd.annotation.ProviderType;
import org.apache.sling.api.resource.ResourceResolver;
@@ -39,9 +38,9 @@ import org.apache.sling.distribution.que
@ProviderType
public interface DistributionAgent extends DistributionComponent {
-
/**
* retrieves the names of the queues for this agent.
+ *
* @return the list of queue names
*/
@Nonnull
@@ -51,17 +50,25 @@ public interface DistributionAgent exten
* get the agent queue with the given name
*
* @param name a queue name
- * @return a {@link org.apache.sling.distribution.queue.DistributionQueue} with the given name bound to this agent, if it exists, <code>null</code> otherwise
+ * @return a {@link org.apache.sling.distribution.queue.DistributionQueue} with the given name bound to this agent, if it exists,
+ * {@code null} otherwise
* @throws DistributionAgentException if an error occurs in retrieving the queue
*/
@CheckForNull
DistributionQueue getQueue(@Nonnull String name) throws DistributionAgentException;
/**
- * executes a {@link org.apache.sling.distribution.communication.DistributionRequest}
+ * Perform a {@link org.apache.sling.distribution.communication.DistributionRequest} to distribute content from a source
+ * instance to a target instance.
+ * The content to be sent will be assembled according to the information contained in the request.
+ * A {@link org.apache.sling.distribution.communication.DistributionResponse} holding the {@link org.apache.sling.distribution.communication.DistributionRequestState}
+ * of the provided request will be returned.
+ * Synchronous {@link org.apache.sling.distribution.agent.DistributionAgent}s will usally block until the execution has finished
+ * while asynchronous agents will usually return the response as soon as the content to be distributed has been assembled
+ * and scheduled for distribution.
*
* @param distributionRequest the distribution request
- * @param resourceResolver the resource resolver used for authenticating the request,
+ * @param resourceResolver the resource resolver used for authenticating the request,
* @return a {@link org.apache.sling.distribution.communication.DistributionResponse}
* @throws DistributionAgentException if any error happens during the execution of the request or if the authentication fails
*/
Copied: sling/trunk/contrib/extensions/distribution/api/src/main/java/org/apache/sling/distribution/communication/DistributionActionType.java (from r1640691, sling/trunk/contrib/extensions/distribution/api/src/main/java/org/apache/sling/distribution/communication/DistributionActionType.java)
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/api/src/main/java/org/apache/sling/distribution/communication/DistributionActionType.java?p2=sling/trunk/contrib/extensions/distribution/api/src/main/java/org/apache/sling/distribution/communication/DistributionActionType.java&p1=sling/trunk/contrib/extensions/distribution/api/src/main/java/org/apache/sling/distribution/communication/DistributionActionType.java&r1=1640691&r2=1640924&rev=1640924&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/distribution/api/src/main/java/org/apache/sling/distribution/communication/DistributionActionType.java (original)
+++ sling/trunk/contrib/extensions/distribution/api/src/main/java/org/apache/sling/distribution/communication/DistributionActionType.java Fri Nov 21 14:51:51 2014
@@ -18,57 +18,43 @@
*/
package org.apache.sling.distribution.communication;
+import javax.annotation.CheckForNull;
+
/**
- * The type of a specific distribution action, used to decide what to do with specific distribution
- * items / requests.
+ * The action type tied to a specific {@link org.apache.sling.distribution.communication.DistributionRequest}, used to decide how
+ * the distribution content should be aggregated.
+ * <p/>
+ * {@code ADD} requests can for example lead to the creation of a package of resources to be persisted on the target instance.
+ * {@code DELETE} requests can for example lead to the creation of a "command package" to be sent to the target instance
+ * to actually remove the resources specified in {@link DistributionRequest#getPaths()}.
+ * {@code PULL} requests can for example lead to the creation of a "command package" that will trigger fetching of content
+ * from the target instance.
*/
public enum DistributionActionType {
/**
- * Content is added
- */
- ADD("Add"),
-
- /**
- * Content is deleted
- */
- DELETE("Delete"),
-
- /**
- * Content is polled
+ * Action type for adding content
*/
- POLL("Poll");
+ ADD,
/**
- * internal human readable name
+ * Action type for deleting content
*/
- private final String name;
+ DELETE,
/**
- * Create a type
- *
- * @param name name
+ * Action type for pulling content
*/
- private DistributionActionType(String name) {
- this.name = name;
- }
-
- /**
- * Returns the human readable type name of this type.
- *
- * @return the name
- */
- public String getName() {
- return name;
- }
+ PULL;
/**
* Creates an action type for the given name. if the name cannot be mapped to a enum type or if
- * it's <code>null</code>, <code>null</code> is returned.
+ * it's {@code null}, {@code null} is returned.
*
* @param n the name
- * @return the type or <code>null</code>
+ * @return the type or {@code null}
*/
+ @CheckForNull
public static DistributionActionType fromName(String n) {
if (n == null) {
return null;
Modified: sling/trunk/contrib/extensions/distribution/api/src/main/java/org/apache/sling/distribution/communication/DistributionRequest.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/api/src/main/java/org/apache/sling/distribution/communication/DistributionRequest.java?rev=1640924&r1=1640923&r2=1640924&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/distribution/api/src/main/java/org/apache/sling/distribution/communication/DistributionRequest.java (original)
+++ sling/trunk/contrib/extensions/distribution/api/src/main/java/org/apache/sling/distribution/communication/DistributionRequest.java Fri Nov 21 14:51:51 2014
@@ -22,24 +22,25 @@ import javax.annotation.Nonnull;
import java.util.Arrays;
/**
- * A distribution request
+ * A {@link org.apache.sling.distribution.communication.DistributionRequest} represents the need from the caller to have
+ * some content being distributed from a source instance to a target instance.
*/
-public class DistributionRequest {
+public final class DistributionRequest {
private final long time;
- private final DistributionActionType action;
+ private final DistributionActionType actionType;
private final String[] paths;
- public DistributionRequest(@Nonnull DistributionActionType action, @Nonnull String... paths) {
+ public DistributionRequest(@Nonnull DistributionActionType actionType, @Nonnull String... paths) {
this.time = System.currentTimeMillis();
- this.action = action;
+ this.actionType = actionType;
this.paths = paths;
}
/**
- * get the time this distribution request was created
+ * get the time this distribution request was created as a {@code long} returned by {@code System#currentTimeMillis}.
*
* @return the distribution request creation time as returned by {@code System#currentTimeMillis}
*/
@@ -50,10 +51,10 @@ public class DistributionRequest {
/**
* get the {@link DistributionActionType} associated with this request
*
- * @return the action as a {@link org.apache.sling.distribution.communication.DistributionActionType}
+ * @return the type of actionType for request as a {@link DistributionActionType}
*/
public DistributionActionType getActionType() {
- return action;
+ return actionType;
}
/**
@@ -69,7 +70,7 @@ public class DistributionRequest {
public String toString() {
return "DistributionRequest{" +
"time=" + time +
- ", action=" + action +
+ ", actionType=" + actionType +
", paths=" + Arrays.toString(paths) +
'}';
}
Added: sling/trunk/contrib/extensions/distribution/api/src/main/java/org/apache/sling/distribution/communication/DistributionRequestState.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/api/src/main/java/org/apache/sling/distribution/communication/DistributionRequestState.java?rev=1640924&view=auto
==============================================================================
--- sling/trunk/contrib/extensions/distribution/api/src/main/java/org/apache/sling/distribution/communication/DistributionRequestState.java (added)
+++ sling/trunk/contrib/extensions/distribution/api/src/main/java/org/apache/sling/distribution/communication/DistributionRequestState.java Fri Nov 21 14:51:51 2014
@@ -0,0 +1,55 @@
+/*
+ * 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.communication;
+
+/**
+ * The different states a {@link org.apache.sling.distribution.communication.DistributionRequest} can have during its lifecycle.
+ * Allowed transitions of {@link org.apache.sling.distribution.communication.DistributionRequestState}Â for a certain
+ * {@link org.apache.sling.distribution.communication.DistributionRequest} are:
+ * {@code #SUCCEEDED} -> ø
+ * {@code #FAILED} -> ø
+ * {@code #ACCEPTED} -> {@code #FAILED}
+ * {@code #ACCEPTED} -> {@code #SUCCEEDED}
+ * <p/>
+ * {@link org.apache.sling.distribution.communication.DistributionRequest}s against synchronous {@link org.apache.sling.distribution.agent.DistributionAgent}s
+ * will only results in {@code #SUCCEEDED} or {@code #FAILED} {@link org.apache.sling.distribution.communication.DistributionRequestState}s
+ * while requests against asynchronous agents can result in any of {@code #SUCCEEDED}, {@code #FAILED} or {@code #ACCEPTED} states.
+ */
+public enum DistributionRequestState {
+
+ /**
+ * A {@link org.apache.sling.distribution.communication.DistributionRequest} has succeeded when the content has been
+ * successfully distributed (created, transported and persisted) from the source instance to the target instance.
+ */
+ SUCCEEDED,
+
+ /**
+ * A {@link org.apache.sling.distribution.communication.DistributionRequest} has failed when the content cannot be
+ * successfully distributed from the source instance to target instance, this means the request execution failed during
+ * one of: creation, transport, persistence.
+ */
+ FAILED,
+
+ /**
+ * A {@link org.apache.sling.distribution.communication.DistributionRequest} has been accepted when the content to be
+ * distributed has been successfully created, but not yet either transported or persisted correctly to the target instance.
+ */
+ ACCEPTED
+
+}
Propchange: sling/trunk/contrib/extensions/distribution/api/src/main/java/org/apache/sling/distribution/communication/DistributionRequestState.java
------------------------------------------------------------------------------
svn:eol-style = native
Modified: sling/trunk/contrib/extensions/distribution/api/src/main/java/org/apache/sling/distribution/communication/DistributionResponse.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/api/src/main/java/org/apache/sling/distribution/communication/DistributionResponse.java?rev=1640924&r1=1640923&r2=1640924&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/distribution/api/src/main/java/org/apache/sling/distribution/communication/DistributionResponse.java (original)
+++ sling/trunk/contrib/extensions/distribution/api/src/main/java/org/apache/sling/distribution/communication/DistributionResponse.java Fri Nov 21 14:51:51 2014
@@ -18,32 +18,37 @@
*/
package org.apache.sling.distribution.communication;
-import com.sun.istack.internal.Nullable;
+import javax.annotation.Nonnull;
+import javax.annotation.Nullable;
/**
- * A distribution response
+ * A {@link org.apache.sling.distribution.communication.DistributionResponse} represents the outcome of a
+ * {@link org.apache.sling.distribution.communication.DistributionRequest} as handled by a certain {@link org.apache.sling.distribution.agent.DistributionAgent}.
+ * Such a response will include the {@link org.apache.sling.distribution.communication.DistributionRequestState state} of
+ * the {@link org.apache.sling.distribution.communication.DistributionRequest request} and optionally a message for more
+ * verbose information about the outcome of the request.
*/
public class DistributionResponse {
+ private final DistributionRequestState state;
private final String message;
- private final boolean successful;
- public DistributionResponse(boolean successful, @Nullable String message) {
- this.successful = successful;
+ public DistributionResponse(@Nonnull DistributionRequestState state, @Nullable String message) {
+ this.state = state;
this.message = message;
}
- public boolean isSuccessful() {
- return successful;
+ public DistributionRequestState getState() {
+ return state;
}
- @Override
- public String toString() {
- return "{\"success\":" + isSuccessful() + ", \"message\":\"" + getMessage() + "\"}";
+ public String getMessage() {
+ return message != null ? message : "";
}
- public String getMessage() {
- return message != null ? message : "done nothing";
+ @Override
+ public String toString() {
+ return "{\"state\":" + state + ", \"message\":\"" + message + "\"}";
}
}
Modified: sling/trunk/contrib/extensions/distribution/api/src/main/java/org/apache/sling/distribution/component/DistributionComponentFactory.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/api/src/main/java/org/apache/sling/distribution/component/DistributionComponentFactory.java?rev=1640924&r1=1640923&r2=1640924&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/distribution/api/src/main/java/org/apache/sling/distribution/component/DistributionComponentFactory.java (original)
+++ sling/trunk/contrib/extensions/distribution/api/src/main/java/org/apache/sling/distribution/component/DistributionComponentFactory.java Fri Nov 21 14:51:51 2014
@@ -43,7 +43,7 @@ public interface DistributionComponentFa
* @param <ComponentType> the actual type of the {@link DistributionComponent}
* to be created
* @param subComponentFactory the factory to be called for creating sub components
- * @return a {@link DistributionComponent} of the specified type initialized with given properties or <code>null</code>
+ * @return a {@link DistributionComponent} of the specified type initialized with given properties or {@code null}
* if that could not be created
*/
@CheckForNull
Modified: sling/trunk/contrib/extensions/distribution/api/src/main/java/org/apache/sling/distribution/component/DistributionComponentProvider.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/api/src/main/java/org/apache/sling/distribution/component/DistributionComponentProvider.java?rev=1640924&r1=1640923&r2=1640924&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/distribution/api/src/main/java/org/apache/sling/distribution/component/DistributionComponentProvider.java (original)
+++ sling/trunk/contrib/extensions/distribution/api/src/main/java/org/apache/sling/distribution/component/DistributionComponentProvider.java Fri Nov 21 14:51:51 2014
@@ -32,14 +32,14 @@ public interface DistributionComponentPr
/**
* Retrieves an already existing component by name.
- * If <code>null</code> is passed as componentName then a default component is returned.
+ * If {@code null} is passed as componentName then a default component is returned.
*
* @param type the {@link java.lang.Class} of the component to be retrieved
* @param componentName the component name
* @param <ComponentType> the actual type of the {@link DistributionComponent}
* to be retrieved
* @return the {@link DistributionComponent} of the specified type,
- * with the specified name, or <code>null</code> if such a {@link DistributionComponent}
+ * with the specified name, or {@code null} if such a {@link DistributionComponent}
* doesn't exist
*/
@CheckForNull
Modified: sling/trunk/contrib/extensions/distribution/api/src/main/java/org/apache/sling/distribution/packaging/DistributionPackage.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/api/src/main/java/org/apache/sling/distribution/packaging/DistributionPackage.java?rev=1640924&r1=1640923&r2=1640924&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/distribution/api/src/main/java/org/apache/sling/distribution/packaging/DistributionPackage.java (original)
+++ sling/trunk/contrib/extensions/distribution/api/src/main/java/org/apache/sling/distribution/packaging/DistributionPackage.java Fri Nov 21 14:51:51 2014
@@ -53,7 +53,7 @@ public interface DistributionPackage {
* @return the action
*/
@Nonnull
- String getAction();
+ String getActionType();
/**
* get the type of package
@@ -85,7 +85,6 @@ public interface DistributionPackage {
*/
void delete();
-
/**
* gets an additional info holder for this package.
* The additional info object contains control information rather than content information.
Modified: sling/trunk/contrib/extensions/distribution/api/src/main/java/org/apache/sling/distribution/packaging/DistributionPackageExporter.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/api/src/main/java/org/apache/sling/distribution/packaging/DistributionPackageExporter.java?rev=1640924&r1=1640923&r2=1640924&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/distribution/api/src/main/java/org/apache/sling/distribution/packaging/DistributionPackageExporter.java (original)
+++ sling/trunk/contrib/extensions/distribution/api/src/main/java/org/apache/sling/distribution/packaging/DistributionPackageExporter.java Fri Nov 21 14:51:51 2014
@@ -42,7 +42,7 @@ public interface DistributionPackageExpo
*
* @param resourceResolver - the resource resolver used to export the packages
* @param distributionRequest - the request containing the information about which content is to be exported
- * @return a <code>List</code> of {@link DistributionPackage}s
+ * @return a {@link java.util.List} of {@link DistributionPackage}s
*/
@Nonnull
List<DistributionPackage> exportPackages(@Nonnull ResourceResolver resourceResolver, @Nonnull DistributionRequest distributionRequest) throws DistributionPackageExportException;
@@ -52,7 +52,7 @@ public interface DistributionPackageExpo
*
* @param resourceResolver - the resource resolver use to obtain the package.
* @param distributionPackageId - the id of the package to be retrieved
- * @return a {@link DistributionPackage} if available, <code>null</code> otherwise
+ * @return a {@link DistributionPackage} if available, {@code null} otherwise
*/
@CheckForNull
DistributionPackage getPackage(@Nonnull ResourceResolver resourceResolver, @Nonnull String distributionPackageId);
Modified: sling/trunk/contrib/extensions/distribution/api/src/main/java/org/apache/sling/distribution/packaging/DistributionPackageImporter.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/api/src/main/java/org/apache/sling/distribution/packaging/DistributionPackageImporter.java?rev=1640924&r1=1640923&r2=1640924&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/distribution/api/src/main/java/org/apache/sling/distribution/packaging/DistributionPackageImporter.java (original)
+++ sling/trunk/contrib/extensions/distribution/api/src/main/java/org/apache/sling/distribution/packaging/DistributionPackageImporter.java Fri Nov 21 14:51:51 2014
@@ -38,7 +38,7 @@ public interface DistributionPackageImpo
*
* @param resourceResolver - the resource resolver used to import the resources
* @param distributionPackage - the package to be imported
- * @return <code>true</code> if the import succeeded, <code>false</code> otherwise
+ * @return {@code true} if the import succeeded, {@code false} otherwise
* @throws DistributionPackageImportException if any error occurs during import
*/
boolean importPackage(@Nonnull ResourceResolver resourceResolver, @Nonnull DistributionPackage distributionPackage) throws DistributionPackageImportException;
Modified: sling/trunk/contrib/extensions/distribution/api/src/main/java/org/apache/sling/distribution/packaging/DistributionPackageInfo.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/api/src/main/java/org/apache/sling/distribution/packaging/DistributionPackageInfo.java?rev=1640924&r1=1640923&r2=1640924&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/distribution/api/src/main/java/org/apache/sling/distribution/packaging/DistributionPackageInfo.java (original)
+++ sling/trunk/contrib/extensions/distribution/api/src/main/java/org/apache/sling/distribution/packaging/DistributionPackageInfo.java Fri Nov 21 14:51:51 2014
@@ -19,20 +19,23 @@
package org.apache.sling.distribution.packaging;
+import javax.annotation.CheckForNull;
+import java.net.URI;
/**
* Additional information about a package.
* Additional information is optional and components should expect every piece of it to be null.
*/
-public class DistributionPackageInfo {
+public final class DistributionPackageInfo {
- private String origin;
+ private URI origin;
/**
* retrieves the origin of the package.
* @return the package origin
*/
- public String getOrigin() {
+ @CheckForNull
+ public URI getOrigin() {
return origin;
}
@@ -40,7 +43,7 @@ public class DistributionPackageInfo {
* sets the origin of the package.
* @param origin the originating instance of this package
*/
- public void setOrigin(String origin) {
+ public void setOrigin(URI origin) {
this.origin = origin;
}
Modified: sling/trunk/contrib/extensions/distribution/api/src/main/java/org/apache/sling/distribution/packaging/SharedDistributionPackage.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/api/src/main/java/org/apache/sling/distribution/packaging/SharedDistributionPackage.java?rev=1640924&r1=1640923&r2=1640924&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/distribution/api/src/main/java/org/apache/sling/distribution/packaging/SharedDistributionPackage.java (original)
+++ sling/trunk/contrib/extensions/distribution/api/src/main/java/org/apache/sling/distribution/packaging/SharedDistributionPackage.java Fri Nov 21 14:51:51 2014
@@ -36,7 +36,7 @@ public interface SharedDistributionPacka
/**
* release a reference to this package and decrease the reference count.
- * when no more references are hold the package <code>delete</code> method is called.
+ * when no more references are hold the package {@code DistributionPackage#delete} method is called.
*/
void release(@Nonnull String holderName);
Modified: sling/trunk/contrib/extensions/distribution/api/src/main/java/org/apache/sling/distribution/queue/DistributionQueue.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/api/src/main/java/org/apache/sling/distribution/queue/DistributionQueue.java?rev=1640924&r1=1640923&r2=1640924&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/distribution/api/src/main/java/org/apache/sling/distribution/queue/DistributionQueue.java (original)
+++ sling/trunk/contrib/extensions/distribution/api/src/main/java/org/apache/sling/distribution/queue/DistributionQueue.java Fri Nov 21 14:51:51 2014
@@ -33,7 +33,7 @@ public interface DistributionQueue {
/**
* get this queue name
*
- * @return queue name as a <code>String</code>
+ * @return the queue name
*/
@Nonnull
String getName();
@@ -42,8 +42,8 @@ public interface DistributionQueue {
* add a distribution item to this queue
*
* @param item a distribution item representing the package to distribute
- * @return <code>true</code> if the distribution item was added correctly to the queue,
- * <code>false</code otherwise
+ * @return {@code true} if the distribution item was added correctly to the queue,
+ * {@code false} otherwise
*/
boolean add(@Nonnull DistributionQueueItem item);
@@ -61,7 +61,7 @@ public interface DistributionQueue {
/**
* get the first item (FIFO wise, the next to be processed) into the queue
*
- * @return the first item into the queue or <code>null</code> if the queue is empty
+ * @return the first item into the queue or {@code null} if the queue is empty
*/
@CheckForNull
DistributionQueueItem getHead();
@@ -69,7 +69,7 @@ public interface DistributionQueue {
/**
* check if the queue is empty
*
- * @return <code>true</code> if the queue is empty, <code>false</code> otherwise
+ * @return {@code true} if the queue is empty, {@code false} otherwise
*/
boolean isEmpty();
@@ -78,7 +78,7 @@ public interface DistributionQueue {
*
* @param queueItemSelector represents the criteria to filter queue items.
* if null is passed then all items are returned.
- * @return a <code>Iterable</code> of {@link DistributionQueueItem}s
+ * @return a {@link java.lang.Iterable} of {@link DistributionQueueItem}s
*/
@Nonnull
Iterable<DistributionQueueItem> getItems(@Nullable DistributionQueueItemSelector queueItemSelector);
@@ -86,7 +86,7 @@ public interface DistributionQueue {
/**
* remove an item from the queue by specifying its id
*
- * @param id <code>String</code> representing an item's identifier
+ * @param id an item's identifier
*/
void remove(@Nonnull String id);
}
Modified: sling/trunk/contrib/extensions/distribution/api/src/main/java/org/apache/sling/distribution/queue/DistributionQueueProcessor.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/api/src/main/java/org/apache/sling/distribution/queue/DistributionQueueProcessor.java?rev=1640924&r1=1640923&r2=1640924&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/distribution/api/src/main/java/org/apache/sling/distribution/queue/DistributionQueueProcessor.java (original)
+++ sling/trunk/contrib/extensions/distribution/api/src/main/java/org/apache/sling/distribution/queue/DistributionQueueProcessor.java Fri Nov 21 14:51:51 2014
@@ -29,11 +29,11 @@ import aQute.bnd.annotation.ConsumerType
public interface DistributionQueueProcessor {
/**
- * Process an item from a certain <code>distributionQueue</code>
+ * Process an item from a certain {@link org.apache.sling.distribution.queue.DistributionQueue}
*
- * @param queueName the name of the <code>distributionQueue</code> to be processed
- * @param distributionQueueItem the <code>distributionQueueItem</code> to be processed
- * @return <code>true</code> if the item was successfully processed, <code>false</code> otherwise
+ * @param queueName the name of the {@link org.apache.sling.distribution.queue.DistributionQueue} to be processed
+ * @param distributionQueueItem the {@link org.apache.sling.distribution.queue.DistributionQueueItem} to be processed
+ * @return {@code true} if the item was successfully processed, {@code false} otherwise
*/
public boolean process(@Nonnull String queueName, @Nonnull DistributionQueueItem distributionQueueItem);
}
Modified: sling/trunk/contrib/extensions/distribution/api/src/main/java/org/apache/sling/distribution/transport/authentication/TransportAuthenticationProvider.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/api/src/main/java/org/apache/sling/distribution/transport/authentication/TransportAuthenticationProvider.java?rev=1640924&r1=1640923&r2=1640924&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/distribution/api/src/main/java/org/apache/sling/distribution/transport/authentication/TransportAuthenticationProvider.java (original)
+++ sling/trunk/contrib/extensions/distribution/api/src/main/java/org/apache/sling/distribution/transport/authentication/TransportAuthenticationProvider.java Fri Nov 21 14:51:51 2014
@@ -35,7 +35,7 @@ public interface TransportAuthentication
* Check if this provider is able to authenticate objects belonging to given 'authenticable' class.
*
* @param authenticable class of objects to be authenticated
- * @return <code>true</code> if this provider can check authentication on instances of this class, <code>false</code>
+ * @return {@code true} if this provider can check authentication on instances of this class, {@code false}
* otherwise
*/
boolean canAuthenticate(Class<A> authenticable);
Modified: sling/trunk/contrib/extensions/distribution/api/src/main/java/org/apache/sling/distribution/trigger/DistributionTrigger.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/api/src/main/java/org/apache/sling/distribution/trigger/DistributionTrigger.java?rev=1640924&r1=1640923&r2=1640924&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/distribution/api/src/main/java/org/apache/sling/distribution/trigger/DistributionTrigger.java (original)
+++ sling/trunk/contrib/extensions/distribution/api/src/main/java/org/apache/sling/distribution/trigger/DistributionTrigger.java Fri Nov 21 14:51:51 2014
@@ -26,7 +26,7 @@ import org.apache.sling.distribution.com
/**
* A {@link DistributionTrigger} is responsible to trigger
* {@link org.apache.sling.distribution.communication.DistributionRequest}s upon certain 'events' (e.g. Sling / Jcr events,
- * periodic polling, etc.).
+ * periodic pulling, etc.).
* A {@link DistributionTrigger} is meant to be stateless so that more than one
* {@link DistributionRequestHandler} can be registered into the same trigger.
*/
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=1640924&r1=1640923&r2=1640924&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 Fri Nov 21 14:51:51 2014
@@ -37,6 +37,7 @@ import org.apache.sling.distribution.age
import org.apache.sling.distribution.agent.DistributionAgentException;
import org.apache.sling.distribution.agent.DistributionRequestAuthorizationStrategy;
import org.apache.sling.distribution.communication.DistributionRequest;
+import org.apache.sling.distribution.communication.DistributionRequestState;
import org.apache.sling.distribution.communication.DistributionResponse;
import org.apache.sling.distribution.component.ManagedDistributionComponent;
import org.apache.sling.distribution.event.DistributionEventType;
@@ -60,6 +61,8 @@ import org.apache.sling.distribution.tri
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+import static org.apache.sling.distribution.queue.DistributionQueueItemState.ItemState;
+
/**
* Basic implementation of a {@link org.apache.sling.distribution.agent.DistributionAgent}
*/
@@ -98,7 +101,6 @@ public class SimpleDistributionAgent imp
ResourceResolverFactory resourceResolverFactory,
List<DistributionTrigger> triggers) {
-
// check configuration is valid
if (name == null
|| distributionPackageImporter == null
@@ -139,7 +141,6 @@ public class SimpleDistributionAgent imp
public DistributionResponse execute(@Nonnull ResourceResolver resourceResolver, @Nonnull DistributionRequest distributionRequest)
throws DistributionAgentException {
-
ResourceResolver agentResourceResolver = null;
try {
@@ -179,7 +180,6 @@ public class SimpleDistributionAgent imp
Collection<DistributionResponse> distributionResponses = new LinkedList<DistributionResponse>();
log.info("scheduling distribution of package {}", distributionPackage);
-
// dispatch the distribution package to the queue distribution handler
try {
Iterable<DistributionQueueItemState> states = queueDistributionStrategy.add(distributionPackage, queueProvider);
@@ -189,16 +189,49 @@ public class SimpleDistributionAgent imp
properties.put("distribution.agent.name", name);
distributionEventFactory.generateEvent(DistributionEventType.PACKAGE_QUEUED, properties);
- distributionResponses.add(new DistributionResponse(state.isSuccessful(), state.getItemState().toString()));
+ DistributionRequestState requestState = getRequestStateFromQueueState(state.getItemState());
+ distributionResponses.add(new DistributionResponse(requestState, state.getItemState().toString()));
}
} catch (Exception e) {
log.error("an error happened during dispatching items to the queue(s)", e);
- distributionResponses.add(new DistributionResponse(false, e.toString()));
+ distributionResponses.add(new DistributionResponse(DistributionRequestState.FAILED, e.toString()));
}
return distributionResponses;
}
+ /* Convert the state of a certain item in the queue into a request state */
+ private DistributionRequestState getRequestStateFromQueueState(ItemState itemState) {
+ DistributionRequestState requestState;
+ switch (itemState) {
+ case QUEUED:
+ requestState = DistributionRequestState.ACCEPTED;
+ break;
+ case ACTIVE:
+ requestState = DistributionRequestState.ACCEPTED;
+ break;
+ case SUCCEEDED:
+ requestState = DistributionRequestState.SUCCEEDED;
+ break;
+ case STOPPED:
+ requestState = DistributionRequestState.FAILED;
+ break;
+ case GIVEN_UP:
+ requestState = DistributionRequestState.FAILED;
+ break;
+ case ERROR:
+ requestState = DistributionRequestState.FAILED;
+ break;
+ case DROPPED:
+ requestState = DistributionRequestState.FAILED;
+ break;
+ default:
+ requestState = DistributionRequestState.FAILED;
+ break;
+ }
+ return requestState;
+ }
+
@Nonnull
public Iterable<String> getQueueNames() {
return queueDistributionStrategy.getQueueNames();
@@ -362,36 +395,59 @@ public class SimpleDistributionAgent imp
private class CompositeDistributionResponse extends DistributionResponse {
- private boolean successful;
+ private DistributionRequestState state;
- private String status;
+ private String message;
public CompositeDistributionResponse(List<DistributionResponse> distributionResponses) {
- super(false, null);
+ super(DistributionRequestState.FAILED, null);
if (distributionResponses.isEmpty()) {
- successful = false;
- status = "empty response";
+ state = DistributionRequestState.FAILED;
+ message = "empty response";
} else {
- successful = true;
- StringBuilder statusBuilder = new StringBuilder("[");
+ state = DistributionRequestState.SUCCEEDED;
+ StringBuilder messageBuilder = new StringBuilder("[");
for (DistributionResponse response : distributionResponses) {
- successful &= response.isSuccessful();
- statusBuilder.append(response.getMessage()).append(", ");
+ state = aggregatedState(state, response.getState());
+ messageBuilder.append(response.getMessage()).append(", ");
}
- int lof = statusBuilder.lastIndexOf(", ");
- statusBuilder.replace(lof, lof + 2, "]");
- status = statusBuilder.toString();
+ int lof = messageBuilder.lastIndexOf(", ");
+ messageBuilder.replace(lof, lof + 2, "]");
+ message = messageBuilder.toString();
}
}
@Override
- public boolean isSuccessful() {
- return successful;
+ public DistributionRequestState getState() {
+ return state;
}
@Override
public String getMessage() {
- return status;
+ return message;
+ }
+ }
+
+ /* Provide the aggregated state of two {@link org.apache.sling.distribution.communication.DistributionRequestState}s */
+ private DistributionRequestState aggregatedState(DistributionRequestState first, DistributionRequestState second) {
+ DistributionRequestState aggregatedState;
+ switch (second) {
+ case SUCCEEDED:
+ aggregatedState = first;
+ break;
+ case FAILED:
+ aggregatedState = DistributionRequestState.FAILED;
+ break;
+ case ACCEPTED:
+ if (first.equals(DistributionRequestState.SUCCEEDED)) {
+ aggregatedState = DistributionRequestState.ACCEPTED;
+ } else {
+ aggregatedState = first;
+ }
+ break;
+ default:
+ aggregatedState = DistributionRequestState.FAILED;
}
+ return aggregatedState;
}
}
Modified: sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/component/impl/DefaultDistributionComponentFactory.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/component/impl/DefaultDistributionComponentFactory.java?rev=1640924&r1=1640923&r2=1640924&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/component/impl/DefaultDistributionComponentFactory.java (original)
+++ sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/component/impl/DefaultDistributionComponentFactory.java Fri Nov 21 14:51:51 2014
@@ -19,7 +19,6 @@
package org.apache.sling.distribution.component.impl;
import javax.annotation.Nonnull;
-import javax.annotation.Nullable;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
@@ -37,7 +36,6 @@ import org.apache.sling.distribution.age
import org.apache.sling.distribution.communication.DistributionActionType;
import org.apache.sling.distribution.component.DistributionComponent;
import org.apache.sling.distribution.component.DistributionComponentFactory;
-import org.apache.sling.distribution.component.DistributionComponentProvider;
import org.apache.sling.distribution.event.impl.DistributionEventFactory;
import org.apache.sling.distribution.packaging.DistributionPackageExporter;
import org.apache.sling.distribution.packaging.DistributionPackageImporter;
@@ -221,9 +219,9 @@ public class DefaultDistributionComponen
String[] endpoints = PropertiesUtil.toStringArray(properties.get(PACKAGE_EXPORTER_REMOTE_PROPERTY_ENDPOINTS), new String[0]);
String endpointStrategyName = PropertiesUtil.toString(properties.get(PACKAGE_EXPORTER_REMOTE_PROPERTY_ENDPOINTS_STRATEGY), "One");
- int pollItems = PropertiesUtil.toInteger(properties.get(PACKAGE_EXPORTER_REMOTE_PROPERTY_POLL_ITEMS), Integer.MAX_VALUE);
+ int pullItems = PropertiesUtil.toInteger(properties.get(PACKAGE_EXPORTER_REMOTE_PROPERTY_PULL_ITEMS), Integer.MAX_VALUE);
- return new RemoteDistributionPackageExporter(packageBuilder, authenticationProvider, endpoints, endpointStrategyName, pollItems);
+ return new RemoteDistributionPackageExporter(packageBuilder, authenticationProvider, endpoints, endpointStrategyName, pullItems);
} else if (PACKAGE_EXPORTER_AGENT.equals(factory)) {
Map<String, Object> builderProperties = extractMap(COMPONENT_PACKAGE_BUILDER, properties);
DistributionPackageBuilder packageBuilder = createBuilder(builderProperties);
@@ -334,7 +332,7 @@ public class DefaultDistributionComponen
return new ResourceEventDistributionTrigger(path, bundleContext);
} else if (TRIGGER_SCHEDULED_EVENT.equals(factory)) {
- String action = PropertiesUtil.toString(properties.get(TRIGGER_SCHEDULED_EVENT_PROPERTY_ACTION), DistributionActionType.POLL.name());
+ String action = PropertiesUtil.toString(properties.get(TRIGGER_SCHEDULED_EVENT_PROPERTY_ACTION), DistributionActionType.PULL.name());
String path = PropertiesUtil.toString(properties.get(TRIGGER_SCHEDULED_EVENT_PROPERTY_PATH), "/");
int interval = PropertiesUtil.toInteger(properties.get(TRIGGER_SCHEDULED_EVENT_PROPERTY_SECONDS), 30);
Modified: sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/component/impl/DefaultDistributionComponentFactoryConstants.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/component/impl/DefaultDistributionComponentFactoryConstants.java?rev=1640924&r1=1640923&r2=1640924&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/component/impl/DefaultDistributionComponentFactoryConstants.java (original)
+++ sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/component/impl/DefaultDistributionComponentFactoryConstants.java Fri Nov 21 14:51:51 2014
@@ -124,9 +124,9 @@ public final class DefaultDistributionCo
public static final String PACKAGE_EXPORTER_REMOTE_PROPERTY_ENDPOINTS_STRATEGY = "endpoints.strategy";
/**
- * no. of items to poll property
+ * no. of items to pull property
*/
- public static final String PACKAGE_EXPORTER_REMOTE_PROPERTY_POLL_ITEMS = "poll.items";
+ public static final String PACKAGE_EXPORTER_REMOTE_PROPERTY_PULL_ITEMS = "pull.items";
/**
* package exporter's agent property
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=1640924&r1=1640923&r2=1640924&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 Fri Nov 21 14:51:51 2014
@@ -48,7 +48,7 @@ public class RemoteDistributionPackageEx
TransportAuthenticationProvider transportAuthenticationProvider,
String[] endpoints,
String transportEndpointStrategyName,
- int pollItems) {
+ int pullItems) {
if (packageBuilder == null) {
throw new IllegalArgumentException("packageBuilder is required");
}
@@ -62,7 +62,7 @@ public class RemoteDistributionPackageEx
for (String endpoint : endpoints) {
if (endpoint != null && endpoint.length() > 0) {
transportHandlers.add(new SimpleHttpDistributionTransportHandler(transportAuthenticationProvider,
- new DistributionEndpoint(endpoint), packageBuilder, pollItems));
+ new DistributionEndpoint(endpoint), packageBuilder, pullItems));
}
}
transportHandler = new MultipleEndpointDistributionTransportHandler(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=1640924&r1=1640923&r2=1640924&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 Fri Nov 21 14:51:51 2014
@@ -76,8 +76,8 @@ public class RemoteDistributionPackageEx
@Property(cardinality = 100)
public static final String ENDPOINTS = DefaultDistributionComponentFactoryConstants.PACKAGE_EXPORTER_REMOTE_PROPERTY_ENDPOINTS;
- @Property(name = "poll items", description = "number of subsequent poll requests to make", intValue = 1)
- public static final String POLL_ITEMS = "poll.items";
+ @Property(name = "pull items", description = "number of subsequent pull requests to make", intValue = 1)
+ public static final String PULL_ITEMS = "pull.items";
@Property(options = {
@PropertyOption(name = "All",
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=1640924&r1=1640923&r2=1640924&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 Fri Nov 21 14:51:51 2014
@@ -73,7 +73,7 @@ public class LocalDistributionPackageImp
log.info("Distribution package read and installed for path(s) {}", Arrays.toString(distributionPackage.getPaths()));
Dictionary<String, Object> dictionary = new Hashtable<String, Object>();
- dictionary.put("distribution.action", distributionPackage.getAction());
+ dictionary.put("distribution.action", distributionPackage.getActionType());
dictionary.put("distribution.path", distributionPackage.getPaths());
distributionEventFactory.generateEvent(DistributionEventType.PACKAGE_INSTALLED, dictionary);
Modified: sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/queue/impl/ErrorAwareQueueDispatchingStrategy.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/queue/impl/ErrorAwareQueueDispatchingStrategy.java?rev=1640924&r1=1640923&r2=1640924&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/queue/impl/ErrorAwareQueueDispatchingStrategy.java (original)
+++ sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/queue/impl/ErrorAwareQueueDispatchingStrategy.java Fri Nov 21 14:51:51 2014
@@ -125,7 +125,7 @@ public class ErrorAwareQueueDispatchingS
private DistributionQueueItem getItem(DistributionPackage distributionPackage) {
DistributionQueueItem distributionQueueItem = new DistributionQueueItem(distributionPackage.getId(),
distributionPackage.getPaths(),
- distributionPackage.getAction(),
+ distributionPackage.getActionType(),
distributionPackage.getType(),
distributionPackage.getInfo());
Modified: sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/queue/impl/PriorityPathQueueDispatchingStrategy.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/queue/impl/PriorityPathQueueDispatchingStrategy.java?rev=1640924&r1=1640923&r2=1640924&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/queue/impl/PriorityPathQueueDispatchingStrategy.java (original)
+++ sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/queue/impl/PriorityPathQueueDispatchingStrategy.java Fri Nov 21 14:51:51 2014
@@ -98,7 +98,7 @@ public class PriorityPathQueueDispatchin
private DistributionQueueItem getItem(DistributionPackage distributionPackage) {
DistributionQueueItem distributionQueueItem = new DistributionQueueItem(distributionPackage.getId(),
distributionPackage.getPaths(),
- distributionPackage.getAction(),
+ distributionPackage.getActionType(),
distributionPackage.getType(),
distributionPackage.getInfo());
Modified: sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/queue/impl/SingleQueueDispatchingStrategy.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/queue/impl/SingleQueueDispatchingStrategy.java?rev=1640924&r1=1640923&r2=1640924&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/queue/impl/SingleQueueDispatchingStrategy.java (original)
+++ sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/queue/impl/SingleQueueDispatchingStrategy.java Fri Nov 21 14:51:51 2014
@@ -59,7 +59,7 @@ public class SingleQueueDispatchingStrat
private DistributionQueueItem getItem(DistributionPackage distributionPackage) {
DistributionQueueItem distributionQueueItem = new DistributionQueueItem(distributionPackage.getId(),
distributionPackage.getPaths(),
- distributionPackage.getAction(),
+ distributionPackage.getActionType(),
distributionPackage.getType(),
distributionPackage.getInfo());
Modified: sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/queue/impl/jobhandling/JobHandlingUtils.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/queue/impl/jobhandling/JobHandlingUtils.java?rev=1640924&r1=1640923&r2=1640924&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/queue/impl/jobhandling/JobHandlingUtils.java (original)
+++ sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/queue/impl/jobhandling/JobHandlingUtils.java Fri Nov 21 14:51:51 2014
@@ -18,6 +18,7 @@
*/
package org.apache.sling.distribution.queue.impl.jobhandling;
+import java.net.URI;
import java.util.HashMap;
import java.util.Map;
@@ -39,7 +40,7 @@ public class JobHandlingUtils {
public static DistributionQueueItem getPackage(final Job job) {
DistributionPackageInfo packageInfo = new DistributionPackageInfo();
- packageInfo.setOrigin((String) job.getProperty(ORIGIN));
+ packageInfo.setOrigin((URI) job.getProperty(ORIGIN));
return new DistributionQueueItem((String) job.getProperty(ID),
(String[]) job.getProperty(PATHS),
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=1640924&r1=1640923&r2=1640924&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 Fri Nov 21 14:51:51 2014
@@ -66,7 +66,7 @@ public abstract class AbstractDistributi
distributionPackage = createPackageForAdd(resourceResolver, request);
} else if (DistributionActionType.DELETE.equals(request.getActionType())) {
distributionPackage = new VoidDistributionPackage(request, type);
- } else if (DistributionActionType.POLL.equals(request.getActionType())) {
+ } else if (DistributionActionType.PULL.equals(request.getActionType())) {
distributionPackage = new VoidDistributionPackage(request, type);
} else {
throw new DistributionPackageBuildingException("unknown action type "
@@ -74,7 +74,7 @@ public abstract class AbstractDistributi
}
if (distributionPackage != null && distributionEventFactory != null) {
Dictionary<String, Object> dictionary = new Hashtable<String, Object>();
- dictionary.put("distribution.action", distributionPackage.getAction());
+ dictionary.put("distribution.action", distributionPackage.getActionType());
dictionary.put("distribution.path", distributionPackage.getPaths());
distributionEventFactory.generateEvent(DistributionEventType.PACKAGE_CREATED, dictionary);
}
@@ -109,7 +109,7 @@ public abstract class AbstractDistributi
}
public boolean installPackage(@Nonnull ResourceResolver resourceResolver, @Nonnull DistributionPackage distributionPackage) throws DistributionPackageReadingException {
- DistributionActionType actionType = DistributionActionType.fromName(distributionPackage.getAction());
+ DistributionActionType actionType = DistributionActionType.fromName(distributionPackage.getActionType());
boolean installed;
if (DistributionActionType.DELETE.equals(actionType)) {
installed = installDeletePackage(resourceResolver, distributionPackage);
@@ -119,7 +119,7 @@ public abstract class AbstractDistributi
if (installed && distributionEventFactory != null) {
Dictionary<String, Object> dictionary = new Hashtable<String, Object>();
- dictionary.put("distribution.action", distributionPackage.getAction());
+ dictionary.put("distribution.action", distributionPackage.getActionType());
dictionary.put("distribution.path", distributionPackage.getPaths());
distributionEventFactory.generateEvent(DistributionEventType.PACKAGE_INSTALLED, dictionary);
}
Modified: sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/serialization/impl/ResourceSharedDistributionPackage.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/serialization/impl/ResourceSharedDistributionPackage.java?rev=1640924&r1=1640923&r2=1640924&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/serialization/impl/ResourceSharedDistributionPackage.java (original)
+++ sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/serialization/impl/ResourceSharedDistributionPackage.java Fri Nov 21 14:51:51 2014
@@ -92,8 +92,8 @@ public class ResourceSharedDistributionP
}
@Nonnull
- public String getAction() {
- return distributionPackage.getAction();
+ public String getActionType() {
+ return distributionPackage.getActionType();
}
@Nonnull
Modified: sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/serialization/impl/ResourceSharedDistributionPackageBuilder.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/serialization/impl/ResourceSharedDistributionPackageBuilder.java?rev=1640924&r1=1640923&r2=1640924&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/serialization/impl/ResourceSharedDistributionPackageBuilder.java (original)
+++ sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/serialization/impl/ResourceSharedDistributionPackageBuilder.java Fri Nov 21 14:51:51 2014
@@ -123,7 +123,7 @@ public class ResourceSharedDistributionP
Map<String, Object> properties = new HashMap<String, Object>();
properties.put(PN_ORIGINAL_ID, distributionPackage.getId());
- properties.put(PN_ORIGINAL_ACTION, distributionPackage.getAction());
+ properties.put(PN_ORIGINAL_ACTION, distributionPackage.getActionType());
properties.put(PN_ORIGINAL_PATHS, distributionPackage.getPaths());
Resource resource = ResourceUtil.getOrCreateResource(resourceResolver, packagePath, "sling:Folder", "sling:Folder", false);
Modified: sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/serialization/impl/VoidDistributionPackage.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/serialization/impl/VoidDistributionPackage.java?rev=1640924&r1=1640923&r2=1640924&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/serialization/impl/VoidDistributionPackage.java (original)
+++ sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/serialization/impl/VoidDistributionPackage.java Fri Nov 21 14:51:51 2014
@@ -119,7 +119,7 @@ public class VoidDistributionPackage ext
}
@Nonnull
- public String getAction() {
+ public String getActionType() {
return action;
}
Modified: sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/serialization/impl/vlt/FileVaultDistributionPackage.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/serialization/impl/vlt/FileVaultDistributionPackage.java?rev=1640924&r1=1640923&r2=1640924&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/serialization/impl/vlt/FileVaultDistributionPackage.java (original)
+++ sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/serialization/impl/vlt/FileVaultDistributionPackage.java Fri Nov 21 14:51:51 2014
@@ -95,7 +95,7 @@ public class FileVaultDistributionPackag
}
@Nonnull
- public String getAction() {
+ public String getActionType() {
return action;
}
Modified: sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/servlet/DistributionAgentRootServlet.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/servlet/DistributionAgentRootServlet.java?rev=1640924&r1=1640923&r2=1640924&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/servlet/DistributionAgentRootServlet.java (original)
+++ sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/servlet/DistributionAgentRootServlet.java Fri Nov 21 14:51:51 2014
@@ -58,7 +58,6 @@ public class DistributionAgentRootServle
DistributionActionType action = DistributionActionType.fromName(a);
-
DistributionRequest distributionRequest = new DistributionRequest(action, paths);
ResourceResolver resourceResolver = request.getResourceResolver();
Modified: sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/servlet/DistributionAgentServlet.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/servlet/DistributionAgentServlet.java?rev=1640924&r1=1640923&r2=1640924&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/servlet/DistributionAgentServlet.java (original)
+++ sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/servlet/DistributionAgentServlet.java Fri Nov 21 14:51:51 2014
@@ -20,9 +20,6 @@ package org.apache.sling.distribution.se
import javax.servlet.ServletException;
import java.io.IOException;
-import java.util.ArrayList;
-import java.util.Enumeration;
-import java.util.List;
import org.apache.felix.scr.annotations.sling.SlingServlet;
import org.apache.sling.api.SlingHttpServletRequest;
@@ -33,7 +30,6 @@ import org.apache.sling.distribution.age
import org.apache.sling.distribution.agent.DistributionAgentException;
import org.apache.sling.distribution.communication.DistributionRequest;
import org.apache.sling.distribution.communication.DistributionResponse;
-import org.apache.sling.distribution.queue.DistributionQueueItemState.ItemState;
import org.apache.sling.distribution.resources.DistributionConstants;
import org.apache.sling.distribution.util.RequestUtils;
import org.slf4j.Logger;
@@ -55,6 +51,8 @@ public class DistributionAgentServlet ex
DistributionRequest distributionRequest = RequestUtils.fromServletRequest(request);
+ log.debug("distribution request : {}", distributionRequest);
+
DistributionAgent agent = request.getResource().adaptTo(DistributionAgent.class);
ResourceResolver resourceResolver = request.getResourceResolver();
@@ -62,26 +60,20 @@ public class DistributionAgentServlet ex
if (agent != null) {
try {
DistributionResponse distributionResponse = agent.execute(resourceResolver, distributionRequest);
- if (distributionResponse.isSuccessful()) {
- if (ItemState.SUCCEEDED.toString().equals(distributionResponse.getMessage())) {
+ switch (distributionResponse.getState()) {
+ case SUCCEEDED:
response.setStatus(200);
- }
- if (ItemState.QUEUED.toString().equals(distributionResponse.getMessage())
- || ItemState.ACTIVE.toString().equals(
- distributionResponse.getMessage())) {
- response.setStatus(202);
- }
-
- }
- else {
- if (ItemState.DROPPED.toString().equals(distributionResponse.getMessage())) {
- response.setStatus(404);
- } else {
+ break;
+ case FAILED:
response.setStatus(400);
- }
+ break;
+ case ACCEPTED:
+ response.setStatus(202);
+ break;
}
-
response.getWriter().append(distributionResponse.toString());
+
+ log.debug("distribution response : {}", distributionResponse);
} catch (DistributionAgentException e) {
response.setStatus(503);
response.getWriter().append("{\"error\" : \"").append(e.toString()).append("\"}");
@@ -93,12 +85,4 @@ public class DistributionAgentServlet ex
}
}
- String[] toStringArray(Enumeration<String> e) {
- List<String> l = new ArrayList<String>();
- while (e.hasMoreElements()) {
- l.add(e.nextElement());
- }
-
- return l.toArray(new String[l.size()]);
- }
}
Modified: sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/transport/impl/AdvancedHttpDistributionTransportHandler.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/transport/impl/AdvancedHttpDistributionTransportHandler.java?rev=1640924&r1=1640923&r2=1640924&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/transport/impl/AdvancedHttpDistributionTransportHandler.java (original)
+++ sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/transport/impl/AdvancedHttpDistributionTransportHandler.java Fri Nov 21 14:51:51 2014
@@ -147,7 +147,7 @@ public class AdvancedHttpDistributionTra
Request req = Request.Post(distributionEndpoint.getUri()).useExpectContinue();
if (useCustomHeaders) {
- String[] customizedHeaders = getCustomizedHeaders(customHeaders, distributionPackage.getAction(), distributionPackage.getPaths());
+ String[] customizedHeaders = getCustomizedHeaders(customHeaders, distributionPackage.getActionType(), distributionPackage.getPaths());
for (String header : customizedHeaders) {
addHeader(req, header);
}
Modified: sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/transport/impl/SimpleHttpDistributionTransportHandler.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/transport/impl/SimpleHttpDistributionTransportHandler.java?rev=1640924&r1=1640923&r2=1640924&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/transport/impl/SimpleHttpDistributionTransportHandler.java (original)
+++ sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/transport/impl/SimpleHttpDistributionTransportHandler.java Fri Nov 21 14:51:51 2014
@@ -77,12 +77,12 @@ public class SimpleHttpDistributionTrans
public void deliverPackage(@Nonnull ResourceResolver resourceResolver, @Nonnull DistributionPackage distributionPackage) throws DistributionTransportException {
String hostAndPort = getHostAndPort(distributionEndpoint.getUri());
- if (hostAndPort.equals(distributionPackage.getInfo().getOrigin())) {
+ URI packageOrigin = distributionPackage.getInfo().getOrigin();
+ if (packageOrigin != null && hostAndPort.equals(getHostAndPort(packageOrigin))) {
log.info("skipping distribution of package {}Â to same origin {}", distributionPackage.getId(), hostAndPort);
return;
}
-
log.info("delivering package {} to {} using auth {}", new Object[]{
distributionPackage.getId(),
distributionEndpoint.getUri(),
@@ -128,7 +128,7 @@ public class SimpleHttpDistributionTrans
@Nonnull
public List<DistributionPackage> retrievePackages(@Nonnull final ResourceResolver resourceResolver, @Nonnull final DistributionRequest distributionRequest) throws DistributionTransportException {
- log.debug("polling from {}", distributionEndpoint.getUri());
+ log.debug("pulling from {}", distributionEndpoint.getUri());
try {
URI distributionURI = RequestUtils.appendDistributionRequest(distributionEndpoint.getUri(), distributionRequest);
@@ -149,30 +149,29 @@ public class SimpleHttpDistributionTrans
HttpResponse httpResponse;
try {
- int polls = 0;
+ int pulls = 0;
while ((httpResponse = executor.execute(req).returnResponse())
.getStatusLine().getStatusCode() == 200
- && polls < maxNumberOfPackages) {
+ && pulls < maxNumberOfPackages) {
HttpEntity entity = httpResponse.getEntity();
if (entity != null) {
final DistributionPackage responsePackage = packageBuilder.readPackage(resourceResolver, entity.getContent());
if (responsePackage != null) {
- String origin = getHostAndPort(distributionURI);
- responsePackage.getInfo().setOrigin(origin);
+ responsePackage.getInfo().setOrigin(distributionURI);
result.add(responsePackage);
}
else {
log.warn("responsePackage is null");
}
- polls++;
+ pulls++;
} else {
log.info("");
break;
}
}
- log.info("polled {} packages from {}", polls, distributionEndpoint.getUri());
+ log.info("pulled {} packages from {}", pulls, distributionEndpoint.getUri());
} catch (HttpHostConnectException e) {
log.info("could not connect to {} - skipping", distributionEndpoint.getUri());
Modified: sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/trigger/impl/RemoteEventDistributionTrigger.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/trigger/impl/RemoteEventDistributionTrigger.java?rev=1640924&r1=1640923&r2=1640924&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/trigger/impl/RemoteEventDistributionTrigger.java (original)
+++ sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/trigger/impl/RemoteEventDistributionTrigger.java Fri Nov 21 14:51:51 2014
@@ -124,8 +124,8 @@ public class RemoteEventDistributionTrig
decoder.read(buffer);
log.debug("content {} received {},{}", new Object[]{buffer, decoder, ioctrl});
- // TODO : currently it always triggers poll request on /, should this be configurable?
- DistributionRequest distributionRequest = new DistributionRequest(DistributionActionType.POLL, "/");
+ // TODO : currently it always triggers pull request on /, should this be configurable?
+ DistributionRequest distributionRequest = new DistributionRequest(DistributionActionType.PULL, "/");
handler.handle(distributionRequest);
log.info("distribution request to agent {} sent ({} {})", new Object[]{
handler,
Modified: sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/util/RequestUtils.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/util/RequestUtils.java?rev=1640924&r1=1640923&r2=1640924&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/util/RequestUtils.java (original)
+++ sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/util/RequestUtils.java Fri Nov 21 14:51:51 2014
@@ -41,7 +41,7 @@ public class RequestUtils {
public static URI appendDistributionRequest(URI uri, DistributionRequest distributionRequest) throws URISyntaxException {
URIBuilder uriBuilder = new URIBuilder(uri);
- uriBuilder.addParameter(DistributionParameter.ACTION.toString(), distributionRequest.getActionType().getName());
+ uriBuilder.addParameter(DistributionParameter.ACTION.toString(), distributionRequest.getActionType().name());
for (String path : distributionRequest.getPaths()) {
uriBuilder.addParameter(DistributionParameter.PATH.toString(), path);
}
Modified: sling/trunk/contrib/extensions/distribution/core/src/test/java/org/apache/sling/distribution/agent/impl/SimpleDistributionAgentTest.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/test/java/org/apache/sling/distribution/agent/impl/SimpleDistributionAgentTest.java?rev=1640924&r1=1640923&r2=1640924&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/distribution/core/src/test/java/org/apache/sling/distribution/agent/impl/SimpleDistributionAgentTest.java (original)
+++ sling/trunk/contrib/extensions/distribution/core/src/test/java/org/apache/sling/distribution/agent/impl/SimpleDistributionAgentTest.java Fri Nov 21 14:51:51 2014
@@ -19,7 +19,6 @@
package org.apache.sling.distribution.agent.impl;
import java.util.Arrays;
-import java.util.Iterator;
import org.apache.sling.api.resource.ResourceResolver;
import org.apache.sling.api.resource.ResourceResolverFactory;
Modified: sling/trunk/contrib/extensions/distribution/core/src/test/java/org/apache/sling/distribution/packaging/impl/exporter/LocalDistributionPackageExporterTest.java
URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/test/java/org/apache/sling/distribution/packaging/impl/exporter/LocalDistributionPackageExporterTest.java?rev=1640924&r1=1640923&r2=1640924&view=diff
==============================================================================
--- sling/trunk/contrib/extensions/distribution/core/src/test/java/org/apache/sling/distribution/packaging/impl/exporter/LocalDistributionPackageExporterTest.java (original)
+++ sling/trunk/contrib/extensions/distribution/core/src/test/java/org/apache/sling/distribution/packaging/impl/exporter/LocalDistributionPackageExporterTest.java Fri Nov 21 14:51:51 2014
@@ -21,6 +21,7 @@ package org.apache.sling.distribution.pa
import java.util.List;
import org.apache.sling.api.resource.ResourceResolver;
+import org.apache.sling.distribution.communication.DistributionActionType;
import org.apache.sling.distribution.communication.DistributionRequest;
import org.apache.sling.distribution.packaging.DistributionPackage;
import org.apache.sling.distribution.serialization.DistributionPackageBuilder;
@@ -40,7 +41,7 @@ public class LocalDistributionPackageExp
DistributionPackageBuilder packageBuilder = mock(DistributionPackageBuilder.class);
LocalDistributionPackageExporter localdistributionPackageExporter = new LocalDistributionPackageExporter(packageBuilder);
ResourceResolver resourceResolver = mock(ResourceResolver.class);
- DistributionRequest distributionRequest = mock(DistributionRequest.class);
+ DistributionRequest distributionRequest = new DistributionRequest(DistributionActionType.ADD, "/");
List<DistributionPackage> distributionPackages = localdistributionPackageExporter.exportPackages(resourceResolver, distributionRequest);
assertNotNull(distributionPackages);
assertTrue(distributionPackages.isEmpty());