Author: mpetria
Date: Mon Dec 15 08:35:48 2014
New Revision: 1645598
URL: http://svn.apache.org/r1645598
Log:
SLING-4153: adding distributor type and making DistributionRequest and interface
Added:
sling/trunk/contrib/extensions/distribution/api/src/main/java/org/apache/sling/distribution/communication/Distributor.java
sling/trunk/contrib/extensions/distribution/api/src/main/java/org/apache/sling/distribution/communication/SimpleDistributionRequest.java
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/communication/
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/communication/impl/
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/communication/impl/DefaultDistributor.java
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/communication/impl/DistributionParameter.java
Removed:
sling/trunk/contrib/extensions/distribution/api/src/main/java/org/apache/sling/distribution/communication/DistributionParameter.java
sling/trunk/contrib/extensions/distribution/api/src/main/java/org/apache/sling/distribution/queue/DistributionQueueItemSelector.java
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/queue/DistributionQueue.java
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/component/impl/DefaultDistributionComponentProvider.java
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/queue/impl/jobhandling/JobHandlingDistributionQueue.java
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/queue/impl/simple/SimpleDistributionQueue.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/FileVaultDistributionPackageBuilder.java
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/serialization/impl/vlt/JcrVaultDistributionPackageBuilder.java
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/serialization/impl/vlt/VltUtils.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/servlet/DistributionAgentRootServlet.java
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/trigger/impl/ChainDistributeDistributionTrigger.java
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/trigger/impl/JcrEventDistributionTrigger.java
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/trigger/impl/PersistingJcrEventDistributionTrigger.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/trigger/impl/ResourceEventDistributionTrigger.java
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/trigger/impl/ScheduledDistributionTrigger.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/transport/impl/MultipleEndpointDistributionTransportTest.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/DistributionUtils.java
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=1645598&r1=1645597&r2=1645598&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
Mon Dec 15 08:35:48 2014
@@ -62,12 +62,12 @@ public interface DistributionAgent {
* 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
+ * Synchronous {@link
org.apache.sling.distribution.agent.DistributionAgent}s will usually 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 authorizing
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
*/
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=1645598&r1=1645597&r2=1645598&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
Mon Dec 15 08:35:48 2014
@@ -25,69 +25,31 @@ import java.util.Arrays;
* 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 final class DistributionRequest {
+public interface DistributionRequest {
- private final DistributionRequestType requestType;
-
- private final boolean deep;
- private final String[] paths;
-
- /**
- * Creates distribution request with "deep" or "shallow" paths.
- * @param requestType the request type
- * @param isDeep is <code>true</code> if all paths are "deep" and is
<code>false</code> if all paths are "shallow"
- * @param paths the array of paths to be distributed
- */
- public DistributionRequest(@Nonnull DistributionRequestType requestType,
boolean isDeep, @Nonnull String... paths) {
- this.requestType = requestType;
- deep = isDeep;
- this.paths = paths;
- }
-
- /**
- * Creates a distribution request with "shallow" paths.
- * @param requestType the request type
- * @param paths the array of paths to be distributed
- */
- public DistributionRequest(@Nonnull DistributionRequestType requestType,
@Nonnull String... paths) {
- this(requestType, false, paths);
- }
-
/**
* get the {@link DistributionRequestType} associated with this request
*
* @return the type of the request as a {@link DistributionRequestType}
*/
- public DistributionRequestType getRequestType() {
- return requestType;
- }
+ public DistributionRequestType getRequestType();
/**
* get the paths for this distribution request
*
* @return an array of paths
*/
- public String[] getPaths() {
- return paths;
- }
+ public String[] getPaths();
/**
* Returns whether the paths are covering the entire subtree (deep) or
just the specified nodes (shallow)
+ *
+ * @param path the path to be checked
* @return <code>true</code> if the paths are deep
*/
- public boolean isDeep() {
- return deep;
- }
-
- @Override
- public String toString() {
- return "DistributionRequest{" +
- ", requestType=" + requestType +
- ", paths=" + Arrays.toString(paths) +
- '}';
- }
+ public boolean isDeep(String path);
}
Added:
sling/trunk/contrib/extensions/distribution/api/src/main/java/org/apache/sling/distribution/communication/Distributor.java
URL:
http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/api/src/main/java/org/apache/sling/distribution/communication/Distributor.java?rev=1645598&view=auto
==============================================================================
---
sling/trunk/contrib/extensions/distribution/api/src/main/java/org/apache/sling/distribution/communication/Distributor.java
(added)
+++
sling/trunk/contrib/extensions/distribution/api/src/main/java/org/apache/sling/distribution/communication/Distributor.java
Mon Dec 15 08:35:48 2014
@@ -0,0 +1,29 @@
+package org.apache.sling.distribution.communication;
+
+import aQute.bnd.annotation.ProviderType;
+import org.apache.sling.api.resource.ResourceResolver;
+import org.apache.sling.distribution.agent.DistributionAgentException;
+
+import javax.annotation.Nonnull;
+
+@ProviderType
+public interface Distributor {
+ /**
+ * 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 usually 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 agentName the name of the agent used to distribute the request
+ * @param distributionRequest the distribution request
+ * @param resourceResolver the resource resolver used for authorizing
the request,
+ * @return a {@link
org.apache.sling.distribution.communication.DistributionResponse}
+ */
+ DistributionResponse distribute(@Nonnull String agentName, @Nonnull
ResourceResolver resourceResolver, @Nonnull DistributionRequest
distributionRequest);
+
+
+}
Added:
sling/trunk/contrib/extensions/distribution/api/src/main/java/org/apache/sling/distribution/communication/SimpleDistributionRequest.java
URL:
http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/api/src/main/java/org/apache/sling/distribution/communication/SimpleDistributionRequest.java?rev=1645598&view=auto
==============================================================================
---
sling/trunk/contrib/extensions/distribution/api/src/main/java/org/apache/sling/distribution/communication/SimpleDistributionRequest.java
(added)
+++
sling/trunk/contrib/extensions/distribution/api/src/main/java/org/apache/sling/distribution/communication/SimpleDistributionRequest.java
Mon Dec 15 08:35:48 2014
@@ -0,0 +1,92 @@
+/*
+ * 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;
+
+import javax.annotation.Nonnull;
+import java.util.Arrays;
+
+/**
+ * A {@link SimpleDistributionRequest} is a {@link DistributionRequest} where
all paths are either "deep" or "shallow".
+ */
+public final class SimpleDistributionRequest implements DistributionRequest {
+
+
+ private final DistributionRequestType requestType;
+
+ private final boolean deep;
+ private final String[] paths;
+
+ /**
+ * Creates distribution request with "deep" or "shallow" paths.
+ * @param requestType the request type
+ * @param isDeep is <code>true</code> if all paths are "deep" and is
<code>false</code> if all paths are "shallow"
+ * @param paths the array of paths to be distributed
+ */
+ public SimpleDistributionRequest(@Nonnull DistributionRequestType
requestType, boolean isDeep, @Nonnull String... paths) {
+ this.requestType = requestType;
+ deep = isDeep;
+ this.paths = paths;
+ }
+
+ /**
+ * Creates a distribution request with "shallow" paths.
+ * @param requestType the request type
+ * @param paths the array of paths to be distributed
+ */
+ public SimpleDistributionRequest(@Nonnull DistributionRequestType
requestType, @Nonnull String... paths) {
+ this(requestType, false, paths);
+ }
+
+ /**
+ * get the {@link DistributionRequestType} associated with this request
+ *
+ * @return the type of the request as a {@link DistributionRequestType}
+ */
+ public DistributionRequestType getRequestType() {
+ return requestType;
+ }
+
+ /**
+ * get the paths for this distribution request
+ *
+ * @return an array of paths
+ */
+ public String[] getPaths() {
+ return paths;
+ }
+
+
+ /**
+ * Returns whether the a path is covering the entire subtree (deep) or
just the specified nodes (shallow)
+ * @return <code>true</code> if the path is deep
+ */
+ public boolean isDeep(String path) {
+ return deep;
+ }
+
+ @Override
+ public String toString() {
+ return "DistributionRequest{" +
+ ", requestType=" + requestType +
+ ", paths=" + Arrays.toString(paths) +
+ '}';
+ }
+
+
+}
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=1645598&r1=1645597&r2=1645598&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
Mon Dec 15 08:35:48 2014
@@ -84,19 +84,19 @@ public interface DistributionQueue {
/**
* get all the items in the queue
*
- * @param queueItemSelector represents the criteria to filter queue items.
- * if null is passed then all items are returned.
+ * @param skip the number of items to skip
+ * @param limit the maximum number of items to return. use -1 to return
all items.
* @return a {@link java.lang.Iterable} of {@link DistributionQueueItem}s
*/
@Nonnull
- Iterable<DistributionQueueItem> getItems(@Nullable
DistributionQueueItemSelector queueItemSelector);
+ Iterable<DistributionQueueItem> getItems(int skip, int limit);
/**
* remove an item from the queue by specifying its id
*
- * @param id an item's identifier
+ * @param packageId the id of the package represented by the item
* @return the removed item, or {@code null} if the item with the given id
* doesn't exist
*/
- DistributionQueueItem remove(@Nonnull String id);
+ DistributionQueueItem remove(@Nonnull String packageId);
}
Added:
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/communication/impl/DefaultDistributor.java
URL:
http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/communication/impl/DefaultDistributor.java?rev=1645598&view=auto
==============================================================================
---
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/communication/impl/DefaultDistributor.java
(added)
+++
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/communication/impl/DefaultDistributor.java
Mon Dec 15 08:35:48 2014
@@ -0,0 +1,49 @@
+package org.apache.sling.distribution.communication.impl;
+
+import org.apache.felix.scr.annotations.Component;
+import org.apache.felix.scr.annotations.Reference;
+import org.apache.felix.scr.annotations.ReferenceCardinality;
+import org.apache.felix.scr.annotations.ReferencePolicy;
+import org.apache.felix.scr.annotations.References;
+import org.apache.felix.scr.annotations.Service;
+import org.apache.sling.api.resource.ResourceResolver;
+import org.apache.sling.distribution.agent.DistributionAgent;
+import org.apache.sling.distribution.agent.DistributionAgentException;
+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.communication.Distributor;
+import
org.apache.sling.distribution.component.impl.DefaultDistributionComponentProvider;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import javax.annotation.Nonnull;
+
+/**
+ * Default implementation of Distributor interface that dispatches the request
to available agents.
+ */
+@Component
+@Service(Distributor.class)
+public class DefaultDistributor implements Distributor {
+
+ private final Logger log = LoggerFactory.getLogger(getClass());
+
+
+ @Reference
+ DefaultDistributionComponentProvider componentProvider;
+
+ public DistributionResponse distribute(@Nonnull String agentName, @Nonnull
ResourceResolver resourceResolver, @Nonnull DistributionRequest
distributionRequest) {
+ DistributionAgent agent =
componentProvider.getComponent(DistributionAgent.class, agentName);
+
+ if (agentName == null) {
+ return new DistributionResponse(DistributionRequestState.FAILED,
"Agent is not available");
+ }
+
+ try {
+ return agent.execute(resourceResolver, distributionRequest);
+ } catch (DistributionAgentException e) {
+ log.error("cannot execute", e);
+ return new DistributionResponse(DistributionRequestState.FAILED,
"Cannot execute request");
+ }
+ }
+}
Added:
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/communication/impl/DistributionParameter.java
URL:
http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/communication/impl/DistributionParameter.java?rev=1645598&view=auto
==============================================================================
---
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/communication/impl/DistributionParameter.java
(added)
+++
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/communication/impl/DistributionParameter.java
Mon Dec 15 08:35:48 2014
@@ -0,0 +1,42 @@
+/*
+ * 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.impl;
+
+/**
+ * HTTP Parameters for distribution
+ */
+public enum DistributionParameter {
+
+ QUEUE("queue"),
+ TYPE("type"),
+ ACTION("action"),
+ PATH("path"),
+ DEEP("deep");
+
+ private final String name;
+
+ DistributionParameter(String name) {
+ this.name = name;
+ }
+
+ @Override
+ public String toString() {
+ return name;
+ }
+}
Modified:
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/component/impl/DefaultDistributionComponentProvider.java
URL:
http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/component/impl/DefaultDistributionComponentProvider.java?rev=1645598&r1=1645597&r2=1645598&view=diff
==============================================================================
---
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/component/impl/DefaultDistributionComponentProvider.java
(original)
+++
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/component/impl/DefaultDistributionComponentProvider.java
Mon Dec 15 08:35:48 2014
@@ -29,6 +29,7 @@ import org.apache.felix.scr.annotations.
import org.apache.felix.scr.annotations.ReferenceCardinality;
import org.apache.felix.scr.annotations.ReferencePolicy;
import org.apache.felix.scr.annotations.References;
+import org.apache.felix.scr.annotations.Service;
import org.apache.sling.commons.osgi.PropertiesUtil;
import org.apache.sling.distribution.agent.DistributionAgent;
import org.apache.sling.distribution.packaging.DistributionPackageExporter;
@@ -51,6 +52,7 @@ import org.slf4j.LoggerFactory;
@Reference(name = "distributionQueueDistributionStrategy",
referenceInterface = DistributionQueueDispatchingStrategy.class, cardinality =
ReferenceCardinality.OPTIONAL_MULTIPLE, policy = ReferencePolicy.DYNAMIC),
@Reference(name = "distributionTransportSecretProvider",
referenceInterface = DistributionTransportSecretProvider.class, cardinality =
ReferenceCardinality.OPTIONAL_MULTIPLE, policy = ReferencePolicy.DYNAMIC)
})
+@Service(DefaultDistributionComponentProvider.class)
public class DefaultDistributionComponentProvider {
public static final String NAME = DistributionComponentUtils.PN_NAME;
Modified:
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/queue/impl/jobhandling/JobHandlingDistributionQueue.java
URL:
http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/queue/impl/jobhandling/JobHandlingDistributionQueue.java?rev=1645598&r1=1645597&r2=1645598&view=diff
==============================================================================
---
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/queue/impl/jobhandling/JobHandlingDistributionQueue.java
(original)
+++
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/queue/impl/jobhandling/JobHandlingDistributionQueue.java
Mon Dec 15 08:35:48 2014
@@ -27,7 +27,6 @@ import java.util.Map;
import org.apache.sling.distribution.queue.DistributionQueue;
import org.apache.sling.distribution.queue.DistributionQueueException;
import org.apache.sling.distribution.queue.DistributionQueueItem;
-import org.apache.sling.distribution.queue.DistributionQueueItemSelector;
import org.apache.sling.distribution.queue.DistributionQueueItemStatus;
import
org.apache.sling.distribution.queue.DistributionQueueItemStatus.ItemState;
import org.apache.sling.event.jobs.Job;
@@ -156,13 +155,11 @@ public class JobHandlingDistributionQueu
}
@Nonnull
- public List<DistributionQueueItem> getItems(DistributionQueueItemSelector
selector) {
- if (selector == null) {
- selector = new DistributionQueueItemSelector(0, -1);
- }
+ public List<DistributionQueueItem> getItems(int skip, int limit) {
+
List<DistributionQueueItem> items = new
ArrayList<DistributionQueueItem>();
- Collection<Job> jobs = getJobs(selector.getSkip(),
selector.getLimit());
+ Collection<Job> jobs = getJobs(skip, limit);
for (Job job : jobs) {
items.add(JobHandlingUtils.getItem(job));
}
Modified:
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/queue/impl/simple/SimpleDistributionQueue.java
URL:
http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/queue/impl/simple/SimpleDistributionQueue.java?rev=1645598&r1=1645597&r2=1645598&view=diff
==============================================================================
---
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/queue/impl/simple/SimpleDistributionQueue.java
(original)
+++
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/queue/impl/simple/SimpleDistributionQueue.java
Mon Dec 15 08:35:48 2014
@@ -28,7 +28,6 @@ import java.util.concurrent.TimeUnit;
import org.apache.sling.distribution.queue.DistributionQueue;
import org.apache.sling.distribution.queue.DistributionQueueItem;
-import org.apache.sling.distribution.queue.DistributionQueueItemSelector;
import org.apache.sling.distribution.queue.DistributionQueueItemStatus;
import
org.apache.sling.distribution.queue.DistributionQueueItemStatus.ItemState;
import org.slf4j.Logger;
@@ -103,7 +102,7 @@ public class SimpleDistributionQueue imp
}
@Nonnull
- public Iterable<DistributionQueueItem>
getItems(DistributionQueueItemSelector queueItemSelector) {
+ public Iterable<DistributionQueueItem> getItems(int skip, int limit) {
return queue;
}
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=1645598&r1=1645597&r2=1645598&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
Mon Dec 15 08:35:48 2014
@@ -28,6 +28,7 @@ import org.apache.commons.io.IOUtils;
import org.apache.jackrabbit.vault.util.Text;
import org.apache.sling.distribution.communication.DistributionRequest;
import org.apache.sling.distribution.communication.DistributionRequestType;
+import org.apache.sling.distribution.communication.SimpleDistributionRequest;
import org.apache.sling.distribution.packaging.DistributionPackage;
/**
@@ -79,7 +80,7 @@ public class VoidDistributionPackage ext
pathsString = Text.unescape(pathsString);
String[] paths = pathsString.split(", ");
- DistributionRequest request = new
DistributionRequest(distributionRequestType, paths);
+ DistributionRequest request = new
SimpleDistributionRequest(distributionRequestType, paths);
distributionPackage = new VoidDistributionPackage(request,
typeString);
}
Modified:
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/serialization/impl/vlt/FileVaultDistributionPackageBuilder.java
URL:
http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/serialization/impl/vlt/FileVaultDistributionPackageBuilder.java?rev=1645598&r1=1645597&r2=1645598&view=diff
==============================================================================
---
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/serialization/impl/vlt/FileVaultDistributionPackageBuilder.java
(original)
+++
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/serialization/impl/vlt/FileVaultDistributionPackageBuilder.java
Mon Dec 15 08:35:48 2014
@@ -85,12 +85,11 @@ public class FileVaultDistributionPackag
// TODO : no tokens
final String[] paths = request.getPaths();
- final boolean deep = request.isDeep();
String packageGroup = "sling/distribution";
String packageName = PACKAGING_TYPE + "_" +
System.currentTimeMillis() + "_" + UUID.randomUUID();
- WorkspaceFilter filter = VltUtils.createFilter(paths, deep);
+ WorkspaceFilter filter = VltUtils.createFilter(request);
ExportOptions opts = VltUtils.getExportOptions(filter,
packageGroup, packageName, VERSION);
log.debug("assembling package {}", packageGroup + '/' +
packageName + "-" + VERSION);
Modified:
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/serialization/impl/vlt/JcrVaultDistributionPackageBuilder.java
URL:
http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/serialization/impl/vlt/JcrVaultDistributionPackageBuilder.java?rev=1645598&r1=1645597&r2=1645598&view=diff
==============================================================================
---
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/serialization/impl/vlt/JcrVaultDistributionPackageBuilder.java
(original)
+++
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/serialization/impl/vlt/JcrVaultDistributionPackageBuilder.java
Mon Dec 15 08:35:48 2014
@@ -61,13 +61,12 @@ public class JcrVaultDistributionPackage
JcrPackageManager packageManager =
packaging.getPackageManager(session);
final String[] paths = request.getPaths();
- final boolean deep = request.isDeep();
String packageGroup = PACKAGE_GROUP;
String packageName = PACKAGING_TYPE + "_" +
System.currentTimeMillis() + "_" + UUID.randomUUID();
- WorkspaceFilter filter = VltUtils.createFilter(paths, deep);
+ WorkspaceFilter filter = VltUtils.createFilter(request);
final JcrPackage jcrPackage = packageManager.create(packageGroup,
packageName, VERSION);
final JcrPackageDefinition jcrPackageDefinition =
jcrPackage.getDefinition();
Modified:
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/serialization/impl/vlt/VltUtils.java
URL:
http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/serialization/impl/vlt/VltUtils.java?rev=1645598&r1=1645597&r2=1645598&view=diff
==============================================================================
---
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/serialization/impl/vlt/VltUtils.java
(original)
+++
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/serialization/impl/vlt/VltUtils.java
Mon Dec 15 08:35:48 2014
@@ -32,6 +32,7 @@ import org.apache.jackrabbit.vault.fs.io
import org.apache.jackrabbit.vault.fs.io.ImportOptions;
import org.apache.jackrabbit.vault.packaging.ExportOptions;
import org.apache.jackrabbit.vault.packaging.VaultPackage;
+import org.apache.sling.distribution.communication.DistributionRequest;
import java.util.List;
import java.util.Properties;
@@ -41,10 +42,11 @@ import java.util.Properties;
*/
public class VltUtils {
- public static WorkspaceFilter createFilter(String[] paths, boolean deep) {
+ public static WorkspaceFilter createFilter(DistributionRequest
distributionRequest) {
DefaultWorkspaceFilter filter = new DefaultWorkspaceFilter();
- for (String path : paths) {
+ for (String path : distributionRequest.getPaths()) {
+ boolean deep = distributionRequest.isDeep(path);
PathFilterSet filterSet = createFilterSet(path, deep);
filter.add(filterSet);
}
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=1645598&r1=1645597&r2=1645598&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
Mon Dec 15 08:35:48 2014
@@ -26,7 +26,7 @@ import org.apache.sling.api.SlingHttpSer
import org.apache.sling.api.SlingHttpServletResponse;
import org.apache.sling.api.servlets.SlingAllMethodsServlet;
import org.apache.sling.distribution.agent.DistributionAgent;
-import org.apache.sling.distribution.communication.DistributionParameter;
+import org.apache.sling.distribution.communication.impl.DistributionParameter;
import org.apache.sling.distribution.queue.DistributionQueue;
import
org.apache.sling.distribution.queue.impl.DistributionQueueDispatchingStrategy;
import org.apache.sling.distribution.queue.DistributionQueueItem;
@@ -102,7 +102,7 @@ public class DistributionAgentQueueServl
StringBuilder builder = new StringBuilder("{\"name\":\"" +
queue.getName() + "\",\"empty\":" + queue.isEmpty());
if (!queue.isEmpty()) {
builder.append(",\"items\":[");
- for (DistributionQueueItem item : queue.getItems(null)) {
+ for (DistributionQueueItem item : queue.getItems(0, -1)) {
builder.append('{');
builder.append(toJSoN(item));
builder.append(',');
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=1645598&r1=1645597&r2=1645598&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
Mon Dec 15 08:35:48 2014
@@ -30,6 +30,7 @@ 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.DistributionRequestType;
+import org.apache.sling.distribution.communication.SimpleDistributionRequest;
import org.apache.sling.distribution.resources.DistributionConstants;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -58,7 +59,7 @@ public class DistributionAgentRootServle
DistributionRequestType action = DistributionRequestType.fromName(a);
- DistributionRequest distributionRequest = new
DistributionRequest(action, paths);
+ DistributionRequest distributionRequest = new
SimpleDistributionRequest(action, paths);
ResourceResolver resourceResolver = request.getResourceResolver();
Modified:
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/trigger/impl/ChainDistributeDistributionTrigger.java
URL:
http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/trigger/impl/ChainDistributeDistributionTrigger.java?rev=1645598&r1=1645597&r2=1645598&view=diff
==============================================================================
---
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/trigger/impl/ChainDistributeDistributionTrigger.java
(original)
+++
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/trigger/impl/ChainDistributeDistributionTrigger.java
Mon Dec 15 08:35:48 2014
@@ -26,6 +26,7 @@ import java.util.concurrent.ConcurrentHa
import org.apache.sling.distribution.communication.DistributionRequest;
import org.apache.sling.distribution.communication.DistributionRequestType;
+import org.apache.sling.distribution.communication.SimpleDistributionRequest;
import org.apache.sling.distribution.event.DistributionEventType;
import org.apache.sling.distribution.trigger.DistributionRequestHandler;
import org.apache.sling.distribution.trigger.DistributionTrigger;
@@ -118,7 +119,7 @@ public class ChainDistributeDistribution
log.info("triggering chain distribution from event
{}", event);
DistributionRequestType action =
DistributionRequestType.valueOf(String.valueOf(actionProperty));
- requestHandler.handle(new DistributionRequest(action,
paths));
+ requestHandler.handle(new
SimpleDistributionRequest(action, paths));
break;
}
}
Modified:
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/trigger/impl/JcrEventDistributionTrigger.java
URL:
http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/trigger/impl/JcrEventDistributionTrigger.java?rev=1645598&r1=1645597&r2=1645598&view=diff
==============================================================================
---
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/trigger/impl/JcrEventDistributionTrigger.java
(original)
+++
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/trigger/impl/JcrEventDistributionTrigger.java
Mon Dec 15 08:35:48 2014
@@ -23,6 +23,7 @@ import javax.jcr.observation.Event;
import org.apache.sling.distribution.communication.DistributionRequest;
import org.apache.sling.distribution.communication.DistributionRequestType;
+import org.apache.sling.distribution.communication.SimpleDistributionRequest;
import org.apache.sling.distribution.trigger.DistributionTrigger;
import org.apache.sling.jcr.api.SlingRepository;
import org.slf4j.Logger;
@@ -50,7 +51,7 @@ public class JcrEventDistributionTrigger
if (Event.PROPERTY_REMOVED == type || Event.PROPERTY_CHANGED ==
type || Event.PROPERTY_ADDED == type) {
replicatingPath = replicatingPath.substring(0,
replicatingPath.lastIndexOf('/'));
}
- distributionRequest = new DistributionRequest(Event.NODE_REMOVED ==
+ distributionRequest = new
SimpleDistributionRequest(Event.NODE_REMOVED ==
type ? DistributionRequestType.DELETE :
DistributionRequestType.ADD, replicatingPath);
log.info("distributing {}", distributionRequest);
}
Modified:
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/trigger/impl/PersistingJcrEventDistributionTrigger.java
URL:
http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/trigger/impl/PersistingJcrEventDistributionTrigger.java?rev=1645598&r1=1645597&r2=1645598&view=diff
==============================================================================
---
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/trigger/impl/PersistingJcrEventDistributionTrigger.java
(original)
+++
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/trigger/impl/PersistingJcrEventDistributionTrigger.java
Mon Dec 15 08:35:48 2014
@@ -29,6 +29,7 @@ import java.util.Set;
import org.apache.sling.distribution.communication.DistributionRequest;
import org.apache.sling.distribution.communication.DistributionRequestType;
+import org.apache.sling.distribution.communication.SimpleDistributionRequest;
import org.apache.sling.distribution.trigger.DistributionTrigger;
import org.apache.sling.jcr.api.SlingRepository;
import org.slf4j.Logger;
@@ -86,7 +87,7 @@ public class PersistingJcrEventDistribut
createdNode.setProperty("info", values.toArray(new
String[values.size()]));
session.save();
log.info("event persisted at {}", path);
- distributionRequest = new
DistributionRequest(DistributionRequestType.ADD, path);
+ distributionRequest = new
SimpleDistributionRequest(DistributionRequestType.ADD, path);
} else {
log.warn("could not create node {}", nuggetsPath + "/" +
nodeName);
}
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=1645598&r1=1645597&r2=1645598&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
Mon Dec 15 08:35:48 2014
@@ -44,6 +44,7 @@ import org.apache.sling.commons.schedule
import org.apache.sling.commons.scheduler.Scheduler;
import org.apache.sling.distribution.communication.DistributionRequest;
import org.apache.sling.distribution.communication.DistributionRequestType;
+import org.apache.sling.distribution.communication.SimpleDistributionRequest;
import
org.apache.sling.distribution.transport.DistributionTransportSecretProvider;
import org.apache.sling.distribution.transport.impl.DistributionEndpoint;
import org.apache.sling.distribution.trigger.DistributionRequestHandler;
@@ -122,7 +123,7 @@ public class RemoteEventDistributionTrig
log.debug("content {} received {},{}", new Object[]{buffer,
decoder, ioctrl});
// TODO : currently it always triggers pull request on /, should
this be configurable?
- DistributionRequest distributionRequest = new
DistributionRequest(DistributionRequestType.PULL, "/");
+ DistributionRequest distributionRequest = new
SimpleDistributionRequest(DistributionRequestType.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/trigger/impl/ResourceEventDistributionTrigger.java
URL:
http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/trigger/impl/ResourceEventDistributionTrigger.java?rev=1645598&r1=1645597&r2=1645598&view=diff
==============================================================================
---
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/trigger/impl/ResourceEventDistributionTrigger.java
(original)
+++
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/trigger/impl/ResourceEventDistributionTrigger.java
Mon Dec 15 08:35:48 2014
@@ -27,6 +27,7 @@ import java.util.concurrent.ConcurrentHa
import org.apache.sling.api.SlingConstants;
import org.apache.sling.distribution.communication.DistributionRequest;
import org.apache.sling.distribution.communication.DistributionRequestType;
+import org.apache.sling.distribution.communication.SimpleDistributionRequest;
import org.apache.sling.distribution.trigger.DistributionRequestHandler;
import org.apache.sling.distribution.trigger.DistributionTrigger;
import org.apache.sling.distribution.trigger.DistributionTriggerException;
@@ -121,7 +122,7 @@ public class ResourceEventDistributionTr
Object pathProperty = event.getProperty("path");
if (pathProperty != null) {
String distributingPath = String.valueOf(pathProperty);
- requestHandler.handle(new DistributionRequest(action,
distributingPath));
+ requestHandler.handle(new SimpleDistributionRequest(action,
distributingPath));
}
}
}
Modified:
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/trigger/impl/ScheduledDistributionTrigger.java
URL:
http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/trigger/impl/ScheduledDistributionTrigger.java?rev=1645598&r1=1645597&r2=1645598&view=diff
==============================================================================
---
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/trigger/impl/ScheduledDistributionTrigger.java
(original)
+++
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/trigger/impl/ScheduledDistributionTrigger.java
Mon Dec 15 08:35:48 2014
@@ -24,6 +24,7 @@ import org.apache.sling.commons.schedule
import org.apache.sling.commons.scheduler.Scheduler;
import org.apache.sling.distribution.communication.DistributionRequest;
import org.apache.sling.distribution.communication.DistributionRequestType;
+import org.apache.sling.distribution.communication.SimpleDistributionRequest;
import org.apache.sling.distribution.trigger.DistributionRequestHandler;
import org.apache.sling.distribution.trigger.DistributionTrigger;
import org.apache.sling.distribution.trigger.DistributionTriggerException;
@@ -113,7 +114,7 @@ public class ScheduledDistributionTrigge
public void run() {
log.debug("agent {}: scheduling {} distribution of {}", new
Object[]{requestHandler, distributionAction, path});
- requestHandler.handle(new DistributionRequest(distributionAction,
path));
+ requestHandler.handle(new
SimpleDistributionRequest(distributionAction, path));
}
}
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=1645598&r1=1645597&r2=1645598&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
Mon Dec 15 08:35:48 2014
@@ -23,7 +23,8 @@ import java.net.URI;
import java.net.URISyntaxException;
import org.apache.http.client.utils.URIBuilder;
-import org.apache.sling.distribution.communication.DistributionParameter;
+import org.apache.sling.distribution.communication.SimpleDistributionRequest;
+import org.apache.sling.distribution.communication.impl.DistributionParameter;
import org.apache.sling.distribution.communication.DistributionRequest;
import org.apache.sling.distribution.communication.DistributionRequestType;
@@ -43,18 +44,13 @@ public class RequestUtils {
}
- return new
DistributionRequest(DistributionRequestType.fromName(action), deep, paths);
+ return new
SimpleDistributionRequest(DistributionRequestType.fromName(action), deep,
paths);
}
public static URI appendDistributionRequest(URI uri, DistributionRequest
distributionRequest) throws URISyntaxException {
URIBuilder uriBuilder = new URIBuilder(uri);
uriBuilder.addParameter(DistributionParameter.ACTION.toString(),
distributionRequest.getRequestType().name());
- if (distributionRequest.isDeep()) {
- uriBuilder.addParameter(DistributionParameter.DEEP.toString(),
"true");
- }
- for (String path : distributionRequest.getPaths()) {
- uriBuilder.addParameter(DistributionParameter.PATH.toString(),
path);
- }
+
return uriBuilder.build();
}
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=1645598&r1=1645597&r2=1645598&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
Mon Dec 15 08:35:48 2014
@@ -25,6 +25,7 @@ import org.apache.sling.api.resource.Res
import org.apache.sling.distribution.communication.DistributionRequest;
import org.apache.sling.distribution.communication.DistributionRequestType;
import org.apache.sling.distribution.communication.DistributionResponse;
+import org.apache.sling.distribution.communication.SimpleDistributionRequest;
import org.apache.sling.distribution.event.impl.DistributionEventFactory;
import org.apache.sling.distribution.packaging.DistributionPackage;
import org.apache.sling.distribution.packaging.DistributionPackageExporter;
@@ -67,7 +68,7 @@ public class SimpleDistributionAgentTest
packageExporter, packageExporterStrategy,
queueProvider, distributionHandler,
distributionEventFactory, resolverFactory, null);
- DistributionRequest request = new
DistributionRequest(DistributionRequestType.ADD, "/");
+ DistributionRequest request = new
SimpleDistributionRequest(DistributionRequestType.ADD, "/");
DistributionPackage distributionPackage =
mock(DistributionPackage.class);
ResourceResolver resourceResolver = mock(ResourceResolver.class);
@@ -96,7 +97,7 @@ public class SimpleDistributionAgentTest
packageExporter, packageExporterStrategy,
queueProvider,
distributionHandler, distributionEventFactory,
resolverFactory, null);
- DistributionRequest request = new
DistributionRequest(DistributionRequestType.ADD, "/");
+ DistributionRequest request = new
SimpleDistributionRequest(DistributionRequestType.ADD, "/");
DistributionPackage distributionPackage =
mock(DistributionPackage.class);
ResourceResolver resourceResolver = mock(ResourceResolver.class);
@@ -129,7 +130,7 @@ public class SimpleDistributionAgentTest
packageExporter, packageExporterStrategy,
queueProvider, distributionHandler,
distributionEventFactory, resolverFactory, null);
- DistributionRequest request = new
DistributionRequest(DistributionRequestType.ADD, "/");
+ DistributionRequest request = new
SimpleDistributionRequest(DistributionRequestType.ADD, "/");
DistributionPackage distributionPackage =
mock(DistributionPackage.class);
DistributionPackageInfo packageInfo = new DistributionPackageInfo();
when(distributionPackage.getInfo()).thenReturn(packageInfo);
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=1645598&r1=1645597&r2=1645598&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
Mon Dec 15 08:35:48 2014
@@ -23,6 +23,7 @@ import java.util.List;
import org.apache.sling.api.resource.ResourceResolver;
import org.apache.sling.distribution.communication.DistributionRequest;
import org.apache.sling.distribution.communication.DistributionRequestType;
+import org.apache.sling.distribution.communication.SimpleDistributionRequest;
import org.apache.sling.distribution.packaging.DistributionPackage;
import org.apache.sling.distribution.serialization.DistributionPackageBuilder;
import org.junit.Test;
@@ -41,7 +42,7 @@ public class LocalDistributionPackageExp
DistributionPackageBuilder packageBuilder =
mock(DistributionPackageBuilder.class);
LocalDistributionPackageExporter localdistributionPackageExporter =
new LocalDistributionPackageExporter(packageBuilder);
ResourceResolver resourceResolver = mock(ResourceResolver.class);
- DistributionRequest distributionRequest = new
DistributionRequest(DistributionRequestType.ADD, "/");
+ DistributionRequest distributionRequest = new
SimpleDistributionRequest(DistributionRequestType.ADD, "/");
List<DistributionPackage> distributionPackages =
localdistributionPackageExporter.exportPackages(resourceResolver,
distributionRequest);
assertNotNull(distributionPackages);
assertTrue(distributionPackages.isEmpty());
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=1645598&r1=1645597&r2=1645598&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
Mon Dec 15 08:35:48 2014
@@ -23,6 +23,7 @@ import java.util.List;
import org.apache.sling.api.resource.ResourceResolver;
import org.apache.sling.distribution.communication.DistributionRequest;
import org.apache.sling.distribution.communication.DistributionRequestType;
+import org.apache.sling.distribution.communication.SimpleDistributionRequest;
import org.apache.sling.distribution.packaging.DistributionPackage;
import org.apache.sling.distribution.serialization.DistributionPackageBuilder;
import
org.apache.sling.distribution.transport.DistributionTransportSecretProvider;
@@ -47,7 +48,7 @@ public class RemoteDistributionPackageEx
RemoteDistributionPackageExporter
remotedistributionPackageExporter = new RemoteDistributionPackageExporter(
packageBuilder, distributionTransportSecretProvider,
endpoints, strategy, 1);
ResourceResolver resourceResolver = mock(ResourceResolver.class);
- DistributionRequest distributionRequest = new
DistributionRequest(DistributionRequestType.ADD, "/");
+ DistributionRequest distributionRequest = new
SimpleDistributionRequest(DistributionRequestType.ADD, "/");
List<DistributionPackage> distributionPackages =
remotedistributionPackageExporter.exportPackages(resourceResolver,
distributionRequest);
assertNotNull(distributionPackages);
assertTrue(distributionPackages.isEmpty());
Modified:
sling/trunk/contrib/extensions/distribution/core/src/test/java/org/apache/sling/distribution/serialization/impl/VoidDistributionPackageBuilderTest.java
URL:
http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/test/java/org/apache/sling/distribution/serialization/impl/VoidDistributionPackageBuilderTest.java?rev=1645598&r1=1645597&r2=1645598&view=diff
==============================================================================
---
sling/trunk/contrib/extensions/distribution/core/src/test/java/org/apache/sling/distribution/serialization/impl/VoidDistributionPackageBuilderTest.java
(original)
+++
sling/trunk/contrib/extensions/distribution/core/src/test/java/org/apache/sling/distribution/serialization/impl/VoidDistributionPackageBuilderTest.java
Mon Dec 15 08:35:48 2014
@@ -24,6 +24,7 @@ import java.io.InputStream;
import org.apache.sling.api.resource.ResourceResolver;
import org.apache.sling.distribution.communication.DistributionRequest;
import org.apache.sling.distribution.communication.DistributionRequestType;
+import org.apache.sling.distribution.communication.SimpleDistributionRequest;
import org.apache.sling.distribution.packaging.DistributionPackage;
import
org.apache.sling.distribution.serialization.DistributionPackageReadingException;
import org.junit.Test;
@@ -45,7 +46,7 @@ public class VoidDistributionPackageBuil
ResourceResolver resourceResolver = mock(ResourceResolver.class);
String[] paths = new String[0];
for (DistributionRequestType action :
DistributionRequestType.values()) {
- DistributionRequest distributionRequest = new
DistributionRequest(action, paths);
+ DistributionRequest distributionRequest = new
SimpleDistributionRequest(action, paths);
DistributionPackage distributionPackage =
voiddistributionPackageBuilder.createPackage(resourceResolver,
distributionRequest);
assertNotNull(distributionPackage);
}
@@ -78,7 +79,7 @@ public class VoidDistributionPackageBuil
VoidDistributionPackageBuilder voiddistributionPackageBuilder = new
VoidDistributionPackageBuilder();
ResourceResolver resourceResolver = mock(ResourceResolver.class);
for (DistributionRequestType action :
DistributionRequestType.values()) {
- DistributionRequest request = new DistributionRequest(action, new
String[]{"/"});
+ DistributionRequest request = new
SimpleDistributionRequest(action, new String[]{"/"});
InputStream stream = new
VoidDistributionPackage(request).createInputStream();
DistributionPackage distributionPackage =
voiddistributionPackageBuilder.readPackage(resourceResolver, stream);
assertNotNull(distributionPackage);
@@ -97,7 +98,7 @@ public class VoidDistributionPackageBuil
public void testGetMatchingIdPackage() throws Exception {
VoidDistributionPackageBuilder voiddistributionPackageBuilder = new
VoidDistributionPackageBuilder();
ResourceResolver resourceResolver = mock(ResourceResolver.class);
- String id = new VoidDistributionPackage(new
DistributionRequest(DistributionRequestType.DELETE, new String[]{"/"})).getId();
+ String id = new VoidDistributionPackage(new
SimpleDistributionRequest(DistributionRequestType.DELETE, new
String[]{"/"})).getId();
DistributionPackage distributionPackage =
voiddistributionPackageBuilder.getPackage(resourceResolver, id);
assertNotNull(distributionPackage);
}
Modified:
sling/trunk/contrib/extensions/distribution/core/src/test/java/org/apache/sling/distribution/serialization/impl/VoidDistributionPackageTest.java
URL:
http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/test/java/org/apache/sling/distribution/serialization/impl/VoidDistributionPackageTest.java?rev=1645598&r1=1645597&r2=1645598&view=diff
==============================================================================
---
sling/trunk/contrib/extensions/distribution/core/src/test/java/org/apache/sling/distribution/serialization/impl/VoidDistributionPackageTest.java
(original)
+++
sling/trunk/contrib/extensions/distribution/core/src/test/java/org/apache/sling/distribution/serialization/impl/VoidDistributionPackageTest.java
Mon Dec 15 08:35:48 2014
@@ -24,6 +24,7 @@ import java.util.Arrays;
import org.apache.commons.io.IOUtils;
import org.apache.sling.distribution.communication.DistributionRequest;
import org.apache.sling.distribution.communication.DistributionRequestType;
+import org.apache.sling.distribution.communication.SimpleDistributionRequest;
import org.junit.Test;
import static org.junit.Assert.assertEquals;
@@ -36,7 +37,7 @@ public class VoidDistributionPackageTest
@Test
public void testCreatedAndReadPackagesEquality() throws Exception {
- DistributionRequest request = new
DistributionRequest(DistributionRequestType.DELETE, "/abc");
+ DistributionRequest request = new
SimpleDistributionRequest(DistributionRequestType.DELETE, "/abc");
VoidDistributionPackage createdPackage = new
VoidDistributionPackage(request);
VoidDistributionPackage readPackage =
VoidDistributionPackage.fromStream(new
ByteArrayInputStream(("DELETE:/abc:VOID").getBytes()));
assertEquals(createdPackage.getType(), readPackage.getType());
Modified:
sling/trunk/contrib/extensions/distribution/core/src/test/java/org/apache/sling/distribution/serialization/impl/vlt/FileVaultDistributionPackageBuilderTest.java
URL:
http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/test/java/org/apache/sling/distribution/serialization/impl/vlt/FileVaultDistributionPackageBuilderTest.java?rev=1645598&r1=1645597&r2=1645598&view=diff
==============================================================================
---
sling/trunk/contrib/extensions/distribution/core/src/test/java/org/apache/sling/distribution/serialization/impl/vlt/FileVaultDistributionPackageBuilderTest.java
(original)
+++
sling/trunk/contrib/extensions/distribution/core/src/test/java/org/apache/sling/distribution/serialization/impl/vlt/FileVaultDistributionPackageBuilderTest.java
Mon Dec 15 08:35:48 2014
@@ -35,6 +35,7 @@ import org.apache.jackrabbit.vault.packa
import org.apache.sling.api.resource.ResourceResolver;
import org.apache.sling.distribution.communication.DistributionRequest;
import org.apache.sling.distribution.communication.DistributionRequestType;
+import org.apache.sling.distribution.communication.SimpleDistributionRequest;
import org.apache.sling.distribution.event.impl.DistributionEventFactory;
import org.apache.sling.distribution.packaging.DistributionPackage;
import org.apache.sling.distribution.packaging.DistributionPackageInfo;
@@ -76,7 +77,7 @@ public class FileVaultDistributionPackag
FileVaultDistributionPackageBuilder
fileVaultdistributionPackageBuilder = new
FileVaultDistributionPackageBuilder(packaging, null, null);
- DistributionRequest request = new
DistributionRequest(DistributionRequestType.ADD, new String[]{"/"});
+ DistributionRequest request = new
SimpleDistributionRequest(DistributionRequestType.ADD, new String[]{"/"});
DistributionPackage distributionPackage =
fileVaultdistributionPackageBuilder.createPackageForAdd(resourceResolver,
request);
assertNotNull(distributionPackage);
}
Modified:
sling/trunk/contrib/extensions/distribution/core/src/test/java/org/apache/sling/distribution/transport/impl/MultipleEndpointDistributionTransportTest.java
URL:
http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/test/java/org/apache/sling/distribution/transport/impl/MultipleEndpointDistributionTransportTest.java?rev=1645598&r1=1645597&r2=1645598&view=diff
==============================================================================
---
sling/trunk/contrib/extensions/distribution/core/src/test/java/org/apache/sling/distribution/transport/impl/MultipleEndpointDistributionTransportTest.java
(original)
+++
sling/trunk/contrib/extensions/distribution/core/src/test/java/org/apache/sling/distribution/transport/impl/MultipleEndpointDistributionTransportTest.java
Mon Dec 15 08:35:48 2014
@@ -25,6 +25,7 @@ import java.util.List;
import org.apache.sling.api.resource.ResourceResolver;
import org.apache.sling.distribution.communication.DistributionRequest;
import org.apache.sling.distribution.communication.DistributionRequestType;
+import org.apache.sling.distribution.communication.SimpleDistributionRequest;
import org.apache.sling.distribution.packaging.DistributionPackage;
import org.apache.sling.distribution.transport.DistributionTransport;
import org.apache.sling.distribution.transport.DistributionTransport;
@@ -59,7 +60,7 @@ public class MultipleEndpointDistributio
public void testRetrievePackagesWithoutSubHandlers() throws Exception {
List<DistributionTransport> subHandlers = new
ArrayList<DistributionTransport>();
ResourceResolver resourceResolver = mock(ResourceResolver.class);
- DistributionRequest distributionRequest = new
DistributionRequest(DistributionRequestType.ADD, "/");
+ DistributionRequest distributionRequest = new
SimpleDistributionRequest(DistributionRequestType.ADD, "/");
DistributionTransportSecret secret =
mock(DistributionTransportSecret.class);
for (TransportEndpointStrategyType strategy :
TransportEndpointStrategyType.values()) {
MultipleEndpointDistributionTransport
multipleEndpointdistributionTransport = new
MultipleEndpointDistributionTransport(subHandlers, strategy);
@@ -89,7 +90,7 @@ public class MultipleEndpointDistributio
public void testRetrievePackagesWithSubHandlers() throws Exception {
ResourceResolver resourceResolver = mock(ResourceResolver.class);
DistributionTransportSecret secret =
mock(DistributionTransportSecret.class);
- DistributionRequest distributionRequest = new
DistributionRequest(DistributionRequestType.ADD, "/");
+ DistributionRequest distributionRequest = new
SimpleDistributionRequest(DistributionRequestType.ADD, "/");
List<DistributionTransport> subHandlers = new
ArrayList<DistributionTransport>();
DistributionTransport first = mock(DistributionTransport.class);
Iterable<DistributionPackage> packages = Collections.emptyList();
@@ -108,7 +109,7 @@ public class MultipleEndpointDistributio
@Test
public void testRetrievePackagesWithOneReturningSubHandlerAndAllStrategy()
throws Exception {
- DistributionRequest distributionRequest = new
DistributionRequest(DistributionRequestType.ADD, "/");
+ DistributionRequest distributionRequest = new
SimpleDistributionRequest(DistributionRequestType.ADD, "/");
DistributionTransportSecret secret =
mock(DistributionTransportSecret.class);
ResourceResolver resourceResolver = mock(ResourceResolver.class);
List<DistributionTransport> subHandlers = new
ArrayList<DistributionTransport>();
@@ -128,7 +129,7 @@ public class MultipleEndpointDistributio
@Test
public void
testRetrievePackagesWithOneEmptyOneReturningSubHandlerAndOneStrategy() throws
Exception {
- DistributionRequest distributionRequest = new
DistributionRequest(DistributionRequestType.ADD, "/");
+ DistributionRequest distributionRequest = new
SimpleDistributionRequest(DistributionRequestType.ADD, "/");
ResourceResolver resourceResolver = mock(ResourceResolver.class);
DistributionTransportSecret secret =
mock(DistributionTransportSecret.class);
List<DistributionTransport> subHandlers = new
ArrayList<DistributionTransport>();
@@ -150,7 +151,7 @@ public class MultipleEndpointDistributio
@Test
public void
testRetrievePackagesWithTwoReturningSubHandlersAndAllStrategy() throws
Exception {
- DistributionRequest distributionRequest = new
DistributionRequest(DistributionRequestType.ADD, "/");
+ DistributionRequest distributionRequest = new
SimpleDistributionRequest(DistributionRequestType.ADD, "/");
ResourceResolver resourceResolver = mock(ResourceResolver.class);
List<DistributionTransport> subHandlers = new
ArrayList<DistributionTransport>();
DistributionTransport handler1 = mock(DistributionTransport.class);
@@ -179,7 +180,7 @@ public class MultipleEndpointDistributio
@Test
public void
testRetrievePackagesWithTwoReturningSubHandlersAndOneStrategy() throws
Exception {
- DistributionRequest distributionRequest = new
DistributionRequest(DistributionRequestType.ADD, "/");
+ DistributionRequest distributionRequest = new
SimpleDistributionRequest(DistributionRequestType.ADD, "/");
ResourceResolver resourceResolver = mock(ResourceResolver.class);
List<DistributionTransport> subHandlers = new
ArrayList<DistributionTransport>();
DistributionTransport handler1 = mock(DistributionTransport.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=1645598&r1=1645597&r2=1645598&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
Mon Dec 15 08:35:48 2014
@@ -33,6 +33,7 @@ import org.apache.http.client.fluent.Res
import org.apache.sling.api.resource.ResourceResolver;
import org.apache.sling.distribution.communication.DistributionRequest;
import org.apache.sling.distribution.communication.DistributionRequestType;
+import org.apache.sling.distribution.communication.SimpleDistributionRequest;
import org.apache.sling.distribution.packaging.DistributionPackage;
import org.apache.sling.distribution.packaging.DistributionPackageInfo;
import org.apache.sling.distribution.serialization.DistributionPackageBuilder;
@@ -98,7 +99,7 @@ public class SimpleHttpDistributionTrans
SimpleHttpDistributionTransport simpleHttpDistributionTransport = new
SimpleHttpDistributionTransport(
endpoint, packageBuilder, maxNoOfPackages);
ResourceResolver resourceResolver = mock(ResourceResolver.class);
- DistributionRequest distributionRequest = new
DistributionRequest(DistributionRequestType.ADD, "/");
+ DistributionRequest distributionRequest = new
SimpleDistributionRequest(DistributionRequestType.ADD, "/");
List<DistributionPackage> packages =
simpleHttpDistributionTransport.retrievePackages(resourceResolver,
distributionRequest, secret);
assertNotNull(packages);
assertTrue(packages.isEmpty());
@@ -132,7 +133,7 @@ public class SimpleHttpDistributionTrans
SimpleHttpDistributionTransport simpleHttpDistributionTransport = new
SimpleHttpDistributionTransport(
endpoint, packageBuilder, maxNoOfPackages);
ResourceResolver resourceResolver = mock(ResourceResolver.class);
- DistributionRequest distributionRequest = new
DistributionRequest(DistributionRequestType.ADD, "/");
+ DistributionRequest distributionRequest = new
SimpleDistributionRequest(DistributionRequestType.ADD, "/");
List<DistributionPackage> packages =
simpleHttpDistributionTransport.retrievePackages(resourceResolver,
distributionRequest, secret);
assertNotNull(packages);
assertFalse(packages.isEmpty());
Modified:
sling/trunk/contrib/extensions/distribution/it/src/test/java/org/apache/sling/distribution/it/DistributionUtils.java
URL:
http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/it/src/test/java/org/apache/sling/distribution/it/DistributionUtils.java?rev=1645598&r1=1645597&r2=1645598&view=diff
==============================================================================
---
sling/trunk/contrib/extensions/distribution/it/src/test/java/org/apache/sling/distribution/it/DistributionUtils.java
(original)
+++
sling/trunk/contrib/extensions/distribution/it/src/test/java/org/apache/sling/distribution/it/DistributionUtils.java
Mon Dec 15 08:35:48 2014
@@ -28,7 +28,6 @@ import org.apache.http.NameValuePair;
import org.apache.http.client.entity.UrlEncodedFormEntity;
import org.apache.http.entity.ByteArrayEntity;
import org.apache.http.message.BasicNameValuePair;
-import org.apache.sling.distribution.communication.DistributionParameter;
import org.apache.sling.distribution.communication.DistributionRequestType;
import org.apache.sling.testing.tools.http.Request;
import org.apache.sling.testing.tools.sling.SlingClient;
@@ -117,17 +116,17 @@ public class DistributionUtils {
public static String executeDistributionRequest(SlingInstance
slingInstance, int status, String resource, DistributionRequestType action,
boolean deep, String... paths) throws IOException {
List<String> args = new ArrayList<String>();
- args.add(DistributionParameter.ACTION.toString());
+ args.add("action");
args.add(action.toString());
if (deep) {
- args.add(DistributionParameter.DEEP.toString());
+ args.add("deep");
args.add("true");
}
if (paths != null) {
for (String path : paths) {
- args.add(DistributionParameter.PATH.toString());
+ args.add("path");
args.add(path);
}
}