svn commit: r1800389 - in /sling/trunk/contrib/extensions/distribution/core: ./ src/main/java/org/apache/sling/distribution/component/impl/ src/main/java/org/apache/sling/distribution/monitor/impl/ sr

2017-06-30 Thread tommaso
Author: tommaso
Date: Fri Jun 30 12:26:46 2017
New Revision: 1800389

URL: http://svn.apache.org/viewvc?rev=1800389=rev
Log:
SLING-6977 - applied patch from Simone Tripodi

Modified:
sling/trunk/contrib/extensions/distribution/core/pom.xml

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/monitor/impl/MonitoringDistributionPackageBuilder.java

sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/queue/impl/jobhandling/JobHandlingDistributionQueue.java

Modified: sling/trunk/contrib/extensions/distribution/core/pom.xml
URL: 
http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/pom.xml?rev=1800389=1800388=1800389=diff
==
--- sling/trunk/contrib/extensions/distribution/core/pom.xml (original)
+++ sling/trunk/contrib/extensions/distribution/core/pom.xml Fri Jun 30 
12:26:46 2017
@@ -244,12 +244,10 @@
 servlet-api
 
 
-org.osgi
-org.osgi.core
-
-
-org.osgi
-org.osgi.compendium
+org.apache.felix
+org.apache.felix.framework
+5.6.4
+provided
 
 
 

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=1800389=1800388=1800389=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
 Fri Jun 30 12:26:46 2017
@@ -59,11 +59,17 @@ public class DefaultDistributionComponen
 private static final String NAME = DistributionComponentConstants.PN_NAME;
 
 private final Map<String, DistributionComponent> 
distributionAgentMap = new ConcurrentHashMap<String, 
DistributionComponent>();
+
 private final Map<String, 
DistributionComponent> distributionQueueProviderMap 
= new ConcurrentHashMap<String, 
DistributionComponent>();
+
 private final Map<String, 
DistributionComponent> 
distributionQueueDistributionStrategyMap = new ConcurrentHashMap<String, 
DistributionComponent>();
+
 private final Map<String, 
DistributionComponent> 
distributionTransportSecretProviderMap = new ConcurrentHashMap<String, 
DistributionComponent>();
+
 private final Map<String, 
DistributionComponent> 
distributionPackageImporterMap = new ConcurrentHashMap<String, 
DistributionComponent>();
+
 private final Map<String, 
DistributionComponent> 
distributionPackageExporterMap = new ConcurrentHashMap<String, 
DistributionComponent>();
+
 private final Map<String, 
DistributionComponent> 
distributionPackageBuilderMap = new ConcurrentHashMap<String, 
DistributionComponent>();
 
 public DistributionComponent getComponent(DistributionComponentKind 
kind, String componentName) {
@@ -92,7 +98,6 @@ public class DefaultDistributionComponen
 return type.cast(component.getService());
 }
 
-
 @SuppressWarnings({ "unchecked", "rawtypes" })
 private Map<String, DistributionComponent> getComponentMap(Class 
type) {
 if (type.isAssignableFrom(DistributionAgent.class)) {
@@ -114,83 +119,66 @@ public class DefaultDistributionComponen
 return null;
 }
 
-// TODO are these methods still needed?!?
-
-private void bindDistributionQueueProvider(DistributionQueueProvider 
distributionQueueProvider, Map<String, Object> config) {
+// (un)binding methods
 
+public void bindDistributionQueueProvider(DistributionQueueProvider 
distributionQueueProvider, Map<String, Object> config) {
 put(DistributionQueueProvider.class, distributionQueueProvider, 
config);
 }
 
-private void unbindDistributionQueueProvider(DistributionQueueProvider 
distributionQueueProvider, Map<String, Object> config) {
-
+public void unbindDistributionQueueProvider(DistributionQueueProvider 
distributionQueueProvider, Map<String, Object> config) {
 remove(DistributionQueueProvider.class, distributionQueueProvider, 
config);
 }
 
-private void 
bindDistributionQueueDistributio

svn commit: r1800364 - in /sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/queue/impl: AsyncDeliveryDispatchingStrategy.java jobhandling/JobHandlingDistrib

2017-06-30 Thread tommaso
Author: tommaso
Date: Fri Jun 30 09:05:00 2017
New Revision: 1800364

URL: http://svn.apache.org/viewvc?rev=1800364=rev
Log:
SLING-6988 - async delivery should use an unordered queue

Modified:

sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/queue/impl/AsyncDeliveryDispatchingStrategy.java

sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/queue/impl/jobhandling/JobHandlingDistributionQueueProvider.java

Modified: 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/queue/impl/AsyncDeliveryDispatchingStrategy.java
URL: 
http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/queue/impl/AsyncDeliveryDispatchingStrategy.java?rev=1800364=1800363=1800364=diff
==
--- 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/queue/impl/AsyncDeliveryDispatchingStrategy.java
 (original)
+++ 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/queue/impl/AsyncDeliveryDispatchingStrategy.java
 Fri Jun 30 09:05:00 2017
@@ -28,12 +28,7 @@ import org.apache.sling.distribution.pac
 import org.apache.sling.distribution.packaging.impl.DistributionPackageUtils;
 import org.apache.sling.distribution.packaging.impl.ReferencePackage;
 import org.apache.sling.distribution.packaging.impl.SharedDistributionPackage;
-import org.apache.sling.distribution.queue.DistributionQueue;
-import org.apache.sling.distribution.queue.DistributionQueueEntry;
-import org.apache.sling.distribution.queue.DistributionQueueItem;
-import org.apache.sling.distribution.queue.DistributionQueueItemState;
-import org.apache.sling.distribution.queue.DistributionQueueItemStatus;
-import org.apache.sling.distribution.queue.DistributionQueueProvider;
+import org.apache.sling.distribution.queue.*;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -92,7 +87,7 @@ public class AsyncDeliveryDispatchingStr
 DistributionPackageUtils.acquire(distributionPackage, 
deliveryQueueName);
 
 // add the actual package to the delivery queue
-DistributionQueue deliveryQueue = 
queueProvider.getQueue(deliveryQueueName);
+DistributionQueue deliveryQueue = 
queueProvider.getQueue(deliveryQueueName, DistributionQueueType.PARALLEL);
 DistributionQueueEntry deliveryQueueEntry = 
deliveryQueue.add(item);
 if (deliveryQueueEntry != null) {
 DistributionQueueItemStatus status = 
deliveryQueueEntry.getStatus();

Modified: 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/queue/impl/jobhandling/JobHandlingDistributionQueueProvider.java
URL: 
http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/queue/impl/jobhandling/JobHandlingDistributionQueueProvider.java?rev=1800364=1800363=1800364=diff
==
--- 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/queue/impl/jobhandling/JobHandlingDistributionQueueProvider.java
 (original)
+++ 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/queue/impl/jobhandling/JobHandlingDistributionQueueProvider.java
 Fri Jun 30 09:05:00 2017
@@ -101,12 +101,14 @@ public class JobHandlingDistributionQueu
 QueueConfiguration.class.getName(), null);
 Dictionary<String, Object> props = new Hashtable<String, 
Object>();
 props.put(ConfigurationConstants.PROP_NAME, queueName);
-props.put(ConfigurationConstants.PROP_TYPE, 
QueueConfiguration.Type.UNORDERED.name());
+props.put(ConfigurationConstants.PROP_TYPE, 
DistributionQueueType.PARALLEL.equals(type) ?
+QueueConfiguration.Type.UNORDERED.name() : 
QueueConfiguration.Type.ORDERED.name());
 props.put(ConfigurationConstants.PROP_TOPICS, new 
String[]{topic});
 props.put(ConfigurationConstants.PROP_RETRIES, -1);
 props.put(ConfigurationConstants.PROP_RETRY_DELAY, 2000L);
 props.put(ConfigurationConstants.PROP_KEEP_JOBS, true);
 props.put(ConfigurationConstants.PROP_PRIORITY, "MAX");
+props.put(ConfigurationConstants.PROP_MAX_PARALLEL, 
ConfigurationConstants.DEFAULT_MAX_PARALLEL);
 config.update(props);
 }
 } catch (IOException e) {




svn commit: r1800167 - /sling/trunk/contrib/extensions/distribution/it/pom.xml

2017-06-28 Thread tommaso
Author: tommaso
Date: Wed Jun 28 13:30:41 2017
New Revision: 1800167

URL: http://svn.apache.org/viewvc?rev=1800167=rev
Log:
SLING-6933 - added missing commons.collections 3.2.2

Modified:
sling/trunk/contrib/extensions/distribution/it/pom.xml

Modified: sling/trunk/contrib/extensions/distribution/it/pom.xml
URL: 
http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/it/pom.xml?rev=1800167=1800166=1800167=diff
==
--- sling/trunk/contrib/extensions/distribution/it/pom.xml (original)
+++ sling/trunk/contrib/extensions/distribution/it/pom.xml Wed Jun 28 13:30:41 
2017
@@ -325,7 +325,7 @@
 
 
httpcore-osgi
 
httpclient-osgi
-
org.apache.sling.event
+
org.apache.sling.event
 
org.apache.sling.hc.core
 
org.apache.jackrabbit.vault
 
org.apache.sling.distribution.api
@@ -333,6 +333,7 @@
 
org.apache.sling.distribution.sample
 
${project.build.finalName}.jar
 
org.apache.sling.commons.johnzon
+
commons-collections
 
 
 
@@ -385,6 +386,12 @@
 2.4
 provided
 
+
+commons-collections
+commons-collections
+3.2.2
+provided
+
 
 
 




svn commit: r1794817 - in /sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution: monitor/impl/ serialization/impl/ serialization/impl/vlt/

2017-05-11 Thread tommaso
Author: tommaso
Date: Thu May 11 12:12:12 2017
New Revision: 1794817

URL: http://svn.apache.org/viewvc?rev=1794817=rev
Log:
SLING-6848 - package level monitoring not enabled by default

Modified:

sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/monitor/impl/MonitoringDistributionPackageBuilder.java

sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/serialization/impl/DistributionPackageBuilderFactory.java

sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/serialization/impl/vlt/VaultDistributionPackageBuilderFactory.java

Modified: 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/monitor/impl/MonitoringDistributionPackageBuilder.java
URL: 
http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/monitor/impl/MonitoringDistributionPackageBuilder.java?rev=1794817=1794816=1794817=diff
==
--- 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/monitor/impl/MonitoringDistributionPackageBuilder.java
 (original)
+++ 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/monitor/impl/MonitoringDistributionPackageBuilder.java
 Thu May 11 12:12:12 2017
@@ -23,6 +23,7 @@ import java.util.Dictionary;
 import java.util.Hashtable;
 import java.util.Queue;
 import java.util.concurrent.ArrayBlockingQueue;
+import java.util.concurrent.LinkedBlockingDeque;
 
 import javax.annotation.Nonnull;
 import javax.management.ObjectName;
@@ -51,7 +52,7 @@ public final class MonitoringDistributio
 this.context = context;
 this.queueCapacity = queueCapacity;
 
-mBeans = new ArrayBlockingQueue(queueCapacity);
+mBeans = new LinkedBlockingDeque();
 }
 
 @Override
@@ -64,7 +65,9 @@ public final class MonitoringDistributio
 public DistributionPackage createPackage(@Nonnull ResourceResolver 
resourceResolver, @Nonnull DistributionRequest request) throws 
DistributionException {
 long start = System.currentTimeMillis();
 DistributionPackage distributionPackage = 
wrapped.createPackage(resourceResolver, request);
-registerDistributionPackageMBean(start, distributionPackage);
+if (queueCapacity > 0) {
+registerDistributionPackageMBean(start, distributionPackage);
+}
 return distributionPackage;
 }
 

Modified: 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/serialization/impl/DistributionPackageBuilderFactory.java
URL: 
http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/serialization/impl/DistributionPackageBuilderFactory.java?rev=1794817=1794816=1794817=diff
==
--- 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/serialization/impl/DistributionPackageBuilderFactory.java
 (original)
+++ 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/serialization/impl/DistributionPackageBuilderFactory.java
 Thu May 11 12:12:12 2017
@@ -154,7 +154,7 @@ public class DistributionPackageBuilderF
 )
 private static final String DIGEST_ALGORITHM = "digestAlgorithm";
 
-private static final int DEFAULT_MONITORING_QUEUE_SIZE = 100;
+private static final int DEFAULT_MONITORING_QUEUE_SIZE = 0;
 
 @Property(
 label="The number of items for monitoring distribution packages 
creation/installation",

Modified: 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/serialization/impl/vlt/VaultDistributionPackageBuilderFactory.java
URL: 
http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/serialization/impl/vlt/VaultDistributionPackageBuilderFactory.java?rev=1794817=1794816=1794817=diff
==
--- 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/serialization/impl/vlt/VaultDistributionPackageBuilderFactory.java
 (original)
+++ 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/serialization/impl/vlt/VaultDistributionPackageBuilderFactory.java
 Thu May 11 12:12:12 2017
@@ -18,23 +18,7 @@
  */
 package org.apache.sling.distribution.serialization.impl.vlt;
 
-import java.io.InputStream;
-import java.util.Dictionary;
-import java.util.Hashtable;
-import java.util.Map;
-
-import javax.annotation.CheckForNull;
-import javax.annotation.Nonnull;
-
-import org.apache.felix.s

svn commit: r1794300 - in /sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/transport/impl: HttpTransportUtils.java SimpleHttpDistributionTransport.java

2017-05-08 Thread tommaso
Author: tommaso
Date: Mon May  8 09:32:46 2017
New Revision: 1794300

URL: http://svn.apache.org/viewvc?rev=1794300=rev
Log:
SLING-6838 - HTTP connection : close header, closing IS after http fetch

Modified:

sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/transport/impl/HttpTransportUtils.java

sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/transport/impl/SimpleHttpDistributionTransport.java

Modified: 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/transport/impl/HttpTransportUtils.java
URL: 
http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/transport/impl/HttpTransportUtils.java?rev=1794300=1794299=1794300=diff
==
--- 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/transport/impl/HttpTransportUtils.java
 (original)
+++ 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/transport/impl/HttpTransportUtils.java
 Mon May  8 09:32:46 2017
@@ -24,6 +24,7 @@ import org.apache.http.HttpResponse;
 import org.apache.http.client.fluent.Executor;
 import org.apache.http.client.fluent.Request;
 import org.apache.http.client.utils.URIBuilder;
+import org.apache.http.protocol.HTTP;
 
 import java.io.IOException;
 import java.io.InputStream;
@@ -38,6 +39,7 @@ class HttpTransportUtils {
 Request fetchReq = Request.Post(fetchUri)
 .connectTimeout(httpConfiguration.getConnectTimeout())
 .socketTimeout(httpConfiguration.getSocketTimeout())
+.addHeader(HTTP.CONN_DIRECTIVE, HTTP.CONN_CLOSE)
 .useExpectContinue();
 HttpResponse httpResponse = 
executor.execute(fetchReq).returnResponse();
 

Modified: 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/transport/impl/SimpleHttpDistributionTransport.java
URL: 
http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/transport/impl/SimpleHttpDistributionTransport.java?rev=1794300=1794299=1794300=diff
==
--- 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/transport/impl/SimpleHttpDistributionTransport.java
 (original)
+++ 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/transport/impl/SimpleHttpDistributionTransport.java
 Mon May  8 09:32:46 2017
@@ -33,6 +33,7 @@ import org.apache.http.client.fluent.Req
 import org.apache.http.client.fluent.Response;
 import org.apache.http.conn.HttpHostConnectException;
 import org.apache.http.entity.ContentType;
+import org.apache.http.protocol.HTTP;
 import org.apache.sling.api.resource.ResourceResolver;
 import org.apache.sling.distribution.DistributionRequest;
 import org.apache.sling.distribution.common.DistributionException;
@@ -104,6 +105,7 @@ public class SimpleHttpDistributionTrans
 Request req = Request.Post(distributionEndpoint.getUri())
 .connectTimeout(httpConfiguration.getConnectTimeout())
 .socketTimeout(httpConfiguration.getSocketTimeout())
+.addHeader(HTTP.CONN_DIRECTIVE, HTTP.CONN_CLOSE)
 .useExpectContinue();
 
 // add the message body digest, see 
https://tools.ietf.org/html/rfc3230#section-4.3.2
@@ -159,11 +161,15 @@ public class SimpleHttpDistributionTrans
 return null;
 }
 
-final DistributionPackage responsePackage = 
packageBuilder.readPackage(resourceResolver, inputStream);
-responsePackage.getInfo().put(PACKAGE_INFO_PROPERTY_ORIGIN_URI, 
distributionURI);
-log.debug("pulled package with info {}", 
responsePackage.getInfo());
-
-return new DefaultRemoteDistributionPackage(responsePackage, 
executor, distributionURI);
+try {
+final DistributionPackage responsePackage = 
packageBuilder.readPackage(resourceResolver, inputStream);
+
responsePackage.getInfo().put(PACKAGE_INFO_PROPERTY_ORIGIN_URI, 
distributionURI);
+log.debug("pulled package with info {}", 
responsePackage.getInfo());
+
+return new DefaultRemoteDistributionPackage(responsePackage, 
executor, distributionURI);
+} finally {
+IOUtils.closeQuietly(inputStream);
+}
 } catch (HttpHostConnectException e) {
 log.debug("could not connect to {} - skipping", 
distributionEndpoint.getUri());
 } catch (Exception ex) {




svn commit: r1793996 - /sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/SimpleDistributionPackage.java

2017-05-05 Thread tommaso
Author: tommaso
Date: Fri May  5 09:50:24 2017
New Revision: 1793996

URL: http://svn.apache.org/viewvc?rev=1793996=rev
Log:
SLING-4075 - removed too loud logs

Modified:

sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/SimpleDistributionPackage.java

Modified: 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/SimpleDistributionPackage.java
URL: 
http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/SimpleDistributionPackage.java?rev=1793996=1793995=1793996=diff
==
--- 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/SimpleDistributionPackage.java
 (original)
+++ 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/SimpleDistributionPackage.java
 Fri May  5 09:50:24 2017
@@ -143,13 +143,9 @@ public class SimpleDistributionPackage e
 stream.reset();
 String s = new String(buffer, "UTF-8");
 
-log.info("buffer {}", s);
-
 if (bytesRead > 0 && buffer[0] > 0 && 
s.startsWith(SimpleDistributionPackage.PACKAGE_START)) {
 String streamString = IOUtils.toString(stream, "UTF-8");
 
-log.info("stream string {}", streamString);
-
 return fromIdString(streamString, type);
 }
 } catch (IOException e) {




svn commit: r1793810 - /sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/transport/impl/HttpConfiguration.java

2017-05-04 Thread tommaso
Author: tommaso
Date: Thu May  4 14:18:22 2017
New Revision: 1793810

URL: http://svn.apache.org/viewvc?rev=1793810=rev
Log:
SLING-5952 - added missing http config class

Added:

sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/transport/impl/HttpConfiguration.java
   (with props)

Added: 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/transport/impl/HttpConfiguration.java
URL: 
http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/transport/impl/HttpConfiguration.java?rev=1793810=auto
==
--- 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/transport/impl/HttpConfiguration.java
 (added)
+++ 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/transport/impl/HttpConfiguration.java
 Thu May  4 14:18:22 2017
@@ -0,0 +1,46 @@
+/*
+ * 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.transport.impl;
+
+/**
+ * HTTP related configuration for {@link SimpleHttpDistributionTransport}
+ */
+public class HttpConfiguration {
+
+private final Integer connectTimeout;
+private final Integer socketTimeout;
+
+public HttpConfiguration(Integer timeout) {
+this.socketTimeout = timeout;
+this.connectTimeout = timeout;
+}
+
+public HttpConfiguration(Integer connectTimeout, Integer socketTimeout) {
+this.connectTimeout = connectTimeout;
+this.socketTimeout = socketTimeout;
+}
+
+public Integer getConnectTimeout() {
+return connectTimeout;
+}
+
+public Integer getSocketTimeout() {
+return socketTimeout;
+}
+}

Propchange: 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/transport/impl/HttpConfiguration.java
--
svn:eol-style = native




svn commit: r1793803 - in /sling/trunk/contrib/extensions/distribution/core/src: main/java/org/apache/sling/distribution/agent/impl/ main/java/org/apache/sling/distribution/packaging/impl/exporter/ ma

2017-05-04 Thread tommaso
Author: tommaso
Date: Thu May  4 14:00:21 2017
New Revision: 1793803

URL: http://svn.apache.org/viewvc?rev=1793803=rev
Log:
SLING-5952 - added timeout configs to http transport

Modified:

sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/agent/impl/ForwardDistributionAgentFactory.java

sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/agent/impl/ReverseDistributionAgentFactory.java

sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/agent/impl/SyncDistributionAgentFactory.java

sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/exporter/RemoteDistributionPackageExporter.java

sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/exporter/RemoteDistributionPackageExporterFactory.java

sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/importer/RemoteDistributionPackageImporter.java

sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/importer/RemoteDistributionPackageImporterFactory.java

sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/transport/impl/DistributionTransport.java

sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/transport/impl/HttpTransportUtils.java

sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/transport/impl/SimpleHttpDistributionTransport.java

sling/trunk/contrib/extensions/distribution/core/src/test/java/org/apache/sling/distribution/packaging/impl/exporter/RemoteDistributionPackageExporterTest.java

sling/trunk/contrib/extensions/distribution/core/src/test/java/org/apache/sling/distribution/packaging/impl/importer/RemoteDistributionPackageImporterTest.java

sling/trunk/contrib/extensions/distribution/core/src/test/java/org/apache/sling/distribution/transport/impl/SimpleHttpDistributionTransportTest.java

Modified: 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/agent/impl/ForwardDistributionAgentFactory.java
URL: 
http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/agent/impl/ForwardDistributionAgentFactory.java?rev=1793803=1793802=1793803=diff
==
--- 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/agent/impl/ForwardDistributionAgentFactory.java
 (original)
+++ 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/agent/impl/ForwardDistributionAgentFactory.java
 Thu May  4 14:00:21 2017
@@ -61,6 +61,7 @@ import org.apache.sling.distribution.que
 import 
org.apache.sling.distribution.queue.impl.jobhandling.JobHandlingDistributionQueueProvider;
 import 
org.apache.sling.distribution.queue.impl.simple.SimpleDistributionQueueProvider;
 import 
org.apache.sling.distribution.transport.DistributionTransportSecretProvider;
+import org.apache.sling.distribution.transport.impl.HttpConfiguration;
 import org.apache.sling.distribution.trigger.DistributionTrigger;
 import org.apache.sling.event.jobs.JobManager;
 import org.apache.sling.jcr.api.SlingRepository;
@@ -179,6 +180,12 @@ public class ForwardDistributionAgentFac
 @Property(boolValue = false, label = "Async delivery", description = 
"Whether or not to use a separate delivery queue to maximize transport 
throughput when queue has more than 100 items")
 public static final String ASYNC_DELIVERY = "async.delivery";
 
+/**
+ * timeout for HTTP requests
+ */
+@Property(label = "HTTP connection timeout", intValue = 10, description = 
"The connection timeout for HTTP requests (in seconds).")
+public static final String HTTP = "http.conn.timeout";
+
 @Reference
 private Packaging packaging;
 
@@ -239,6 +246,9 @@ public class ForwardDistributionAgentFac
 Map<String, String> priorityQueues = 
PropertiesUtil.toMap(config.get(PRIORITY_QUEUES), new String[0]);
 priorityQueues = SettingsUtils.removeEmptyEntries(priorityQueues);
 
+Integer timeout = PropertiesUtil.toInteger(HTTP, 10) * 1000;
+HttpConfiguration httpConfiguration = new HttpConfiguration(timeout);
+
 DistributionPackageExporter packageExporter = new 
LocalDistributionPackageExporter(packageBuilder);
 
 DistributionQueueProvider queueProvider;
@@ -293,7 +303,8 @@ public class ForwardDistributionAgentFac
 processingQueues.addAll(endpointNames);
 processingQueues.removeAll(Arrays.asList(passiveQueues));
 
-packag

svn commit: r1790941 - in /sling/trunk/contrib/extensions/distribution: ./ api/src/main/java/org/apache/sling/distribution/ api/src/main/java/org/apache/sling/distribution/event/ avro-serializer/src/t

2017-04-11 Thread tommaso
Author: tommaso
Date: Tue Apr 11 09:04:05 2017
New Revision: 1790941

URL: http://svn.apache.org/viewvc?rev=1790941=rev
Log:
SLING-4075 - added some tests, minor static analysis related fixes

Modified:
sling/trunk/contrib/extensions/distribution/README.md

sling/trunk/contrib/extensions/distribution/api/src/main/java/org/apache/sling/distribution/DistributionRequest.java

sling/trunk/contrib/extensions/distribution/api/src/main/java/org/apache/sling/distribution/event/DistributionEventProperties.java

sling/trunk/contrib/extensions/distribution/api/src/main/java/org/apache/sling/distribution/event/DistributionEventTopics.java

sling/trunk/contrib/extensions/distribution/avro-serializer/src/test/java/org/apache/sling/distribution/serialization/impl/avro/AvroContentSerializerTest.java

sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/SimpleDistributionPackage.java

sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/queue/impl/simple/SimpleDistributionQueueCheckpoint.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/test/java/org/apache/sling/distribution/packaging/impl/SimpleDistributionPackageTest.java

sling/trunk/contrib/extensions/distribution/core/src/test/java/org/apache/sling/distribution/packaging/impl/exporter/AgentDistributionPackageExporterTest.java

sling/trunk/contrib/extensions/distribution/it/src/main/java/org/apache/sling/distribution/test/DistributorServlet.java

sling/trunk/contrib/extensions/distribution/it/src/test/java/org/apache/sling/distribution/it/DistributionUtils.java

sling/trunk/contrib/extensions/distribution/it/src/test/java/org/apache/sling/distribution/it/ForwardBinaryDistributionTest.java

sling/trunk/contrib/extensions/distribution/kryo-serializer/src/main/java/org/apache/sling/distribution/serialization/impl/kryo/KryoContentSerializer.java

sling/trunk/contrib/extensions/distribution/kryo-serializer/src/test/java/org/apache/sling/distribution/serialization/impl/kryo/KryoContentSerializerTest.java

sling/trunk/contrib/extensions/distribution/sample/src/main/java/org/apache/sling/distribution/test/Init.java

Modified: sling/trunk/contrib/extensions/distribution/README.md
URL: 
http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/README.md?rev=1790941=1790940=1790941=diff
==
--- sling/trunk/contrib/extensions/distribution/README.md (original)
+++ sling/trunk/contrib/extensions/distribution/README.md Tue Apr 11 09:04:05 
2017
@@ -26,17 +26,17 @@ The Sling Content Distribution module co
  
 ## Design
 
-The Sling Content Distribution module main design goals resume in being: 
_Reliable_, _extensible_ and _simple_.
+The Sling Content Distribution aims to be: _Reliable_, _simple_ and 
_extensible_.
 
 Reliability means that the system should be able to keep working also in 
presence of failures regarding I/O, network, etc.
 An example of such problems is when pushing content from instance A to 
instance B fails because B is unreachable: in such 
  scenarios instance A should be able to keep pushing (pulling, etc.) content 
to other instances seamlessly. Another example
  is when delivery of a certain content (package) fails too many times the 
distribution module should be able to either drop 
  it or move it into a different "bucket" of failed items.
+Simplicity means that this module should be able to accomplish its tasks by 
providing clear, minimal and easy to use APIs together 
+with smart but not overly complicated or "hacky" implementations (see ["Simple 
software is 
hard"](http://events.linuxfoundation.org/events/apachecon-europe/program/schedule)).
 Extensibility means that the Sling Content Distribution module provides a set 
of APIs for distributing resources where each
 component coming into place during the distribution lifecycle can be extended 
or totally replaced.
-Simplicity means that this module should be able to accomplish its tasks by 
providing clear and easy to use APIs together 
-with smart but not overly complicated or "hacky" implementations (see 
Bertrand's talk ["Simple software is 
hard"](http://events.linuxfoundation.org/events/apachecon-europe/program/schedule)).
 
 A distribution _request_ represents the need of aggregating some resources and 
to copy them from / to another Sling instance.
 Such requests are handled by _agents_ that are the main entry point for 
working with the distribution module.
@@ -65,22 +65,17 @@ _package_.
 
 Distribution agents configurations are proper OSGi configurations (backed by 
nodes of type `sling:OsgiConfig` in the repository).
 
-
-
 There are specialized 

svn commit: r1785834 - /sling/trunk/contrib/extensions/distribution/README.md

2017-03-07 Thread tommaso
Author: tommaso
Date: Tue Mar  7 12:36:01 2017
New Revision: 1785834

URL: http://svn.apache.org/viewvc?rev=1785834=rev
Log:
SLING-6325 - updated readme to reflect split of extensions bundle

Modified:
sling/trunk/contrib/extensions/distribution/README.md

Modified: sling/trunk/contrib/extensions/distribution/README.md
URL: 
http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/README.md?rev=1785834=1785833=1785834=diff
==
--- sling/trunk/contrib/extensions/distribution/README.md (original)
+++ sling/trunk/contrib/extensions/distribution/README.md Tue Mar  7 12:36:01 
2017
@@ -19,7 +19,8 @@ The Sling Content Distribution module co
 
  - org.apache.sling.distribution.api: this is where the APIs are defined
  - org.apache.sling.distribution.core: this is where the basic infrastructure 
for distributing content is implemented
- - org.apache.sling.distribution.extensions: this is where some additional 
(optional) extensions for distributing content are implemented
+ - org.apache.sling.distribution.kryo-serializer: Kryo based distribution 
package serializer
+ - org.apache.sling.distribution.avro-serializer: Apache Avro based 
distribution package serializer
  - org.apache.sling.distribution.sample: this is a set of sample 
configurations and implementations for demo purpose 
  - org.apache.sling.distribution.it: this is the integration testing suite
  




svn commit: r1785829 - /sling/trunk/contrib/extensions/distribution/README.md

2017-03-07 Thread tommaso
Author: tommaso
Date: Tue Mar  7 11:05:12 2017
New Revision: 1785829

URL: http://svn.apache.org/viewvc?rev=1785829=rev
Log:
SLING-6325 - updated readme to reflect split of extensions bundle

Modified:
sling/trunk/contrib/extensions/distribution/README.md

Modified: sling/trunk/contrib/extensions/distribution/README.md
URL: 
http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/README.md?rev=1785829=1785828=1785829=diff
==
--- sling/trunk/contrib/extensions/distribution/README.md (original)
+++ sling/trunk/contrib/extensions/distribution/README.md Tue Mar  7 11:05:12 
2017
@@ -239,13 +239,13 @@ There is a single entry point in trigger
 
 ## Extensions
 
-The _org.apache.sling.distribution.extensions_ bundle contains the following 
extensions:
+The following extensions for Apache Sling Content Distribution exist.
 
-### Apache Avro distribution serialization
-A _DistributionContentSerializer_ based on [Apache 
Avro](http://avro.apache.org).
+### Apache Avro serializer
+The _org.apache.sling.distribution.avro-serializer_ contains a 
_DistributionContentSerializer_ based on [Apache Avro](http://avro.apache.org).
 
-### Kryo distribution serialization
-A _DistributionContentSerializer_ based on 
[Kryo](http://github.com/EsotericSoftware/kryo).
+### Kryo serializer
+The _org.apache.sling.distribution.kryo-serializer_ contains a 
_DistributionContentSerializer_ based on 
[Kryo](http://github.com/EsotericSoftware/kryo).
 
 ## Ideas for future developments
 




svn commit: r1784266 - /sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/agent/impl/SimpleDistributionAgentQueueProcessor.java

2017-02-24 Thread tommaso
Author: tommaso
Date: Fri Feb 24 11:36:25 2017
New Revision: 1784266

URL: http://svn.apache.org/viewvc?rev=1784266=rev
Log:
SLING-6564 - logs sent to SLF4J logging too

Modified:

sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/agent/impl/SimpleDistributionAgentQueueProcessor.java

Modified: 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/agent/impl/SimpleDistributionAgentQueueProcessor.java
URL: 
http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/agent/impl/SimpleDistributionAgentQueueProcessor.java?rev=1784266=1784265=1784266=diff
==
--- 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/agent/impl/SimpleDistributionAgentQueueProcessor.java
 (original)
+++ 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/agent/impl/SimpleDistributionAgentQueueProcessor.java
 Fri Feb 24 11:36:25 2017
@@ -39,9 +39,11 @@ import org.apache.sling.distribution.que
 import org.apache.sling.distribution.queue.DistributionQueueProvider;
 import 
org.apache.sling.distribution.queue.impl.DistributionQueueDispatchingStrategy;
 import org.apache.sling.distribution.util.impl.DistributionUtils;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 /**
- * A processor of agent queue entries, each entry's underlying package is 
fecthed and passed to the
+ * A processor of agent queue entries, each entry's underlying package is 
fetched and passed to the
  * {@link DistributionPackageImporter} for import.
  * If item can be delivered it can be removed from the queue, if it cannot be 
delivered because of a {@link RecoverableDistributionException}
  * like a connection issue the item will stay in the queue, for other types of 
errors the item will be moved to the
@@ -49,11 +51,13 @@ import org.apache.sling.distribution.uti
  */
 class SimpleDistributionAgentQueueProcessor implements 
DistributionQueueProcessor {
 
+private final Logger log = LoggerFactory.getLogger(getClass());
+
 private final DistributionPackageExporter distributionPackageExporter;
 private final DistributionPackageImporter distributionPackageImporter;
 private final int retryAttempts;
 private final DistributionQueueDispatchingStrategy errorQueueStrategy;
-private final DefaultDistributionLog log;
+private final DefaultDistributionLog distributionLog;
 private final DistributionQueueProvider queueProvider;
 private final DistributionEventFactory distributionEventFactory;
 private final SimpleDistributionAgentAuthenticationInfo authenticationInfo;
@@ -69,7 +73,7 @@ class SimpleDistributionAgentQueueProces
 this.distributionPackageImporter = distributionPackageImporter;
 this.retryAttempts = retryAttempts;
 this.errorQueueStrategy = errorQueueStrategy;
-this.log = log;
+this.distributionLog = log;
 this.queueProvider = queueProvider;
 this.distributionEventFactory = distributionEventFactory;
 this.authenticationInfo = authenticationInfo;
@@ -83,18 +87,18 @@ class SimpleDistributionAgentQueueProces
 try {
 final long startTime = System.currentTimeMillis();
 
-log.debug("[{}] ITEM-PROCESS processing item={}", queueName, 
queueItem);
+distributionLog.debug("[{}] ITEM-PROCESS processing item={}", 
queueName, queueItem);
 
 boolean success = processQueueItem(queueName, queueEntry);
 
 final long endTime = System.currentTimeMillis();
 
-log.debug("[{}] ITEM-PROCESSED item={}, status={}, 
processingTime={}ms", queueName, queueItem, success, endTime - startTime);
+distributionLog.debug("[{}] ITEM-PROCESSED item={}, status={}, 
processingTime={}ms", queueName, queueItem, success, endTime - startTime);
 
 return success;
 
 } catch (Throwable t) {
-log.error("[{}] ITEM-FAIL item={}", queueName, queueItem, t);
+distributionLog.error("[{}] ITEM-FAIL item={}", queueName, 
queueItem, t);
 return false;
 }
 }
@@ -137,24 +141,29 @@ class SimpleDistributionAgentQueueProces
 removeItemFromQueue = true;
 final long endTime = System.currentTimeMillis();
 
-log.info("[{}] PACKAGE-DELIVERED {}: {} paths={}, 
importTime={}ms, execTime={}ms, size={}B", queueName, requestId,
+distributionLog.info("[{}] PACKAGE-DELIVERED {}: {} 
paths={}, importTime={}ms, execTime={}ms, size={}B", queueName, requestId,
 requestType, paths,
 endTime - startTime, endTime - globalStartTime,
 

svn commit: r1784154 [1/2] - in /sling/trunk/contrib/extensions/distribution: ./ avro-serializer/ avro-serializer/src/ avro-serializer/src/main/ avro-serializer/src/main/avro/ avro-serializer/src/main

2017-02-23 Thread tommaso
Author: tommaso
Date: Thu Feb 23 15:28:47 2017
New Revision: 1784154

URL: http://svn.apache.org/viewvc?rev=1784154=rev
Log:
SLING-6325 - split Avro and Kryo serializers into own bundles

Added:
sling/trunk/contrib/extensions/distribution/avro-serializer/   (with props)
sling/trunk/contrib/extensions/distribution/avro-serializer/pom.xml   (with 
props)
sling/trunk/contrib/extensions/distribution/avro-serializer/src/
sling/trunk/contrib/extensions/distribution/avro-serializer/src/main/
sling/trunk/contrib/extensions/distribution/avro-serializer/src/main/avro/

sling/trunk/contrib/extensions/distribution/avro-serializer/src/main/avro/shallowresource.avsc
sling/trunk/contrib/extensions/distribution/avro-serializer/src/main/java/

sling/trunk/contrib/extensions/distribution/avro-serializer/src/main/java/org/

sling/trunk/contrib/extensions/distribution/avro-serializer/src/main/java/org/apache/

sling/trunk/contrib/extensions/distribution/avro-serializer/src/main/java/org/apache/sling/

sling/trunk/contrib/extensions/distribution/avro-serializer/src/main/java/org/apache/sling/distribution/

sling/trunk/contrib/extensions/distribution/avro-serializer/src/main/java/org/apache/sling/distribution/serialization/

sling/trunk/contrib/extensions/distribution/avro-serializer/src/main/java/org/apache/sling/distribution/serialization/impl/

sling/trunk/contrib/extensions/distribution/avro-serializer/src/main/java/org/apache/sling/distribution/serialization/impl/avro/

sling/trunk/contrib/extensions/distribution/avro-serializer/src/main/java/org/apache/sling/distribution/serialization/impl/avro/AvroContentSerializer.java
   (with props)

sling/trunk/contrib/extensions/distribution/avro-serializer/src/main/java/org/apache/sling/distribution/serialization/impl/avro/AvroDistributionContentSerializerFactory.java
   (with props)

sling/trunk/contrib/extensions/distribution/avro-serializer/src/main/java/org/apache/sling/distribution/serialization/impl/avro/AvroShallowResource.java
   (with props)
sling/trunk/contrib/extensions/distribution/avro-serializer/src/test/
sling/trunk/contrib/extensions/distribution/avro-serializer/src/test/java/

sling/trunk/contrib/extensions/distribution/avro-serializer/src/test/java/org/

sling/trunk/contrib/extensions/distribution/avro-serializer/src/test/java/org/apache/

sling/trunk/contrib/extensions/distribution/avro-serializer/src/test/java/org/apache/sling/

sling/trunk/contrib/extensions/distribution/avro-serializer/src/test/java/org/apache/sling/distribution/

sling/trunk/contrib/extensions/distribution/avro-serializer/src/test/java/org/apache/sling/distribution/serialization/

sling/trunk/contrib/extensions/distribution/avro-serializer/src/test/java/org/apache/sling/distribution/serialization/impl/

sling/trunk/contrib/extensions/distribution/avro-serializer/src/test/java/org/apache/sling/distribution/serialization/impl/avro/

sling/trunk/contrib/extensions/distribution/avro-serializer/src/test/java/org/apache/sling/distribution/serialization/impl/avro/AvroContentSerializerTest.java
   (with props)

sling/trunk/contrib/extensions/distribution/avro-serializer/src/test/resources/

sling/trunk/contrib/extensions/distribution/avro-serializer/src/test/resources/avro/

sling/trunk/contrib/extensions/distribution/avro-serializer/src/test/resources/avro/dp.avro
   (with props)
sling/trunk/contrib/extensions/distribution/kryo-serializer/   (with props)
sling/trunk/contrib/extensions/distribution/kryo-serializer/pom.xml   (with 
props)
sling/trunk/contrib/extensions/distribution/kryo-serializer/src/
sling/trunk/contrib/extensions/distribution/kryo-serializer/src/main/
sling/trunk/contrib/extensions/distribution/kryo-serializer/src/main/java/

sling/trunk/contrib/extensions/distribution/kryo-serializer/src/main/java/org/

sling/trunk/contrib/extensions/distribution/kryo-serializer/src/main/java/org/apache/

sling/trunk/contrib/extensions/distribution/kryo-serializer/src/main/java/org/apache/sling/

sling/trunk/contrib/extensions/distribution/kryo-serializer/src/main/java/org/apache/sling/distribution/

sling/trunk/contrib/extensions/distribution/kryo-serializer/src/main/java/org/apache/sling/distribution/serialization/

sling/trunk/contrib/extensions/distribution/kryo-serializer/src/main/java/org/apache/sling/distribution/serialization/impl/

sling/trunk/contrib/extensions/distribution/kryo-serializer/src/main/java/org/apache/sling/distribution/serialization/impl/kryo/

sling/trunk/contrib/extensions/distribution/kryo-serializer/src/main/java/org/apache/sling/distribution/serialization/impl/kryo/KryoContentSerializer.java
   (with props)

sling/trunk/contrib/extensions/distribution/kryo-serializer/src/main/java/org/apache/sling/distribution/serialization/impl/kryo/KryoDistributionContentSerializerFactory.java
   (with props

svn commit: r1784154 [2/2] - in /sling/trunk/contrib/extensions/distribution: ./ avro-serializer/ avro-serializer/src/ avro-serializer/src/main/ avro-serializer/src/main/avro/ avro-serializer/src/main

2017-02-23 Thread tommaso
Added: 
sling/trunk/contrib/extensions/distribution/kryo-serializer/src/main/java/org/apache/sling/distribution/serialization/impl/kryo/KryoContentSerializer.java
URL: 
http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/kryo-serializer/src/main/java/org/apache/sling/distribution/serialization/impl/kryo/KryoContentSerializer.java?rev=1784154=auto
==
--- 
sling/trunk/contrib/extensions/distribution/kryo-serializer/src/main/java/org/apache/sling/distribution/serialization/impl/kryo/KryoContentSerializer.java
 (added)
+++ 
sling/trunk/contrib/extensions/distribution/kryo-serializer/src/main/java/org/apache/sling/distribution/serialization/impl/kryo/KryoContentSerializer.java
 Thu Feb 23 15:28:47 2017
@@ -0,0 +1,242 @@
+/*
+ * 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.serialization.impl.kryo;
+
+import javax.annotation.Nonnull;
+import javax.annotation.Nullable;
+import java.io.ByteArrayInputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.OutputStream;
+import java.util.HashMap;
+import java.util.LinkedList;
+import java.util.Map;
+
+import com.esotericsoftware.kryo.Kryo;
+import com.esotericsoftware.kryo.Serializer;
+import com.esotericsoftware.kryo.io.Input;
+import com.esotericsoftware.kryo.io.Output;
+import org.apache.commons.io.IOUtils;
+import org.apache.sling.api.resource.PersistenceException;
+import org.apache.sling.api.resource.Resource;
+import org.apache.sling.api.resource.ResourceResolver;
+import org.apache.sling.api.resource.SyntheticResource;
+import org.apache.sling.api.resource.ValueMap;
+import org.apache.sling.api.wrappers.ValueMapDecorator;
+import org.apache.sling.distribution.common.DistributionException;
+import 
org.apache.sling.distribution.serialization.DistributionContentSerializer;
+import org.apache.sling.distribution.serialization.DistributionExportFilter;
+import org.apache.sling.distribution.serialization.DistributionExportOptions;
+import org.objenesis.strategy.StdInstantiatorStrategy;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+/**
+ * Kryo based {@link DistributionContentSerializer}
+ */
+public class KryoContentSerializer implements DistributionContentSerializer {
+
+private final Logger log = LoggerFactory.getLogger(getClass());
+
+private final String name;
+
+public KryoContentSerializer(String name) {
+this.name = name;
+}
+
+@Override
+public void exportToStream(ResourceResolver resourceResolver, 
DistributionExportOptions options, OutputStream outputStream) throws 
DistributionException {
+
+DistributionExportFilter filter = options.getFilter();
+
+Kryo kryo = new Kryo();
+kryo.setInstantiatorStrategy(new Kryo.DefaultInstantiatorStrategy(new 
StdInstantiatorStrategy()));
+kryo.addDefaultSerializer(Resource.class, new 
ResourceSerializer(filter.getPropertyFilter()));
+kryo.addDefaultSerializer(InputStream.class, new 
InputStreamSerializer());
+
+Output output = new Output(outputStream);
+LinkedList resources = new LinkedList();
+for (DistributionExportFilter.TreeFilter nodeFilter : 
filter.getNodeFilters()) {
+Resource resource = 
resourceResolver.getResource(nodeFilter.getPath());
+if (resource != null) {
+addResource(nodeFilter, resources, resource);
+}
+}
+kryo.writeObject(output, resources);
+output.flush();
+
+}
+
+@Override
+public void importFromStream(ResourceResolver resourceResolver, 
InputStream stream) throws DistributionException {
+Kryo kryo = new Kryo();
+kryo.setInstantiatorStrategy(new Kryo.DefaultInstantiatorStrategy(new 
StdInstantiatorStrategy()));
+kryo.addDefaultSerializer(Resource.class, new 
ResourceSerializer(null));
+kryo.addDefaultSerializer(InputStream.class, new 
InputStreamSerializer());
+try {
+Input input = new Input(stream);
+LinkedList resources = (LinkedList) 
kryo.readObject(input, LinkedList.class);
+input.close();
+

svn commit: r1784108 - /sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/ResourceDistributionPackage.java

2017-02-23 Thread tommaso
Author: tommaso
Date: Thu Feb 23 10:57:16 2017
New Revision: 1784108

URL: http://svn.apache.org/viewvc?rev=1784108=rev
Log:
SLING-6554 - calculate size at instance creation time

Modified:

sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/ResourceDistributionPackage.java

Modified: 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/ResourceDistributionPackage.java
URL: 
http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/ResourceDistributionPackage.java?rev=1784108=1784107=1784108=diff
==
--- 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/ResourceDistributionPackage.java
 (original)
+++ 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/ResourceDistributionPackage.java
 Thu Feb 23 10:57:16 2017
@@ -44,6 +44,7 @@ public class ResourceDistributionPackage
 
 private final Resource resource;
 private final ResourceResolver resourceResolver;
+private final long size;
 
 ResourceDistributionPackage(Resource resource,
 String type,
@@ -55,6 +56,8 @@ public class ResourceDistributionPackage
 ValueMap valueMap = resource.getValueMap();
 assert type.equals(valueMap.get("type")) : "wrong resource type";
 this.resource = resource;
+Object sizeProperty = resource.getValueMap().get("size");
+this.size = sizeProperty == null ? -1 : 
Long.parseLong(sizeProperty.toString());
 
 this.getInfo().put(DistributionPackageInfo.PROPERTY_REQUEST_TYPE, 
DistributionRequestType.ADD);
 }
@@ -71,8 +74,7 @@ public class ResourceDistributionPackage
 
 @Override
 public long getSize() {
-Object size = resource.getValueMap().get("size");
-return size == null ? -1 : Long.parseLong(size.toString());
+return size;
 }
 
 @Override




svn commit: r1783190 - /sling/trunk/contrib/extensions/distribution/it/src/test/java/org/apache/sling/distribution/it/SelectiveForwardDistributionTest.java

2017-02-16 Thread tommaso
Author: tommaso
Date: Thu Feb 16 10:29:08 2017
New Revision: 1783190

URL: http://svn.apache.org/viewvc?rev=1783190=rev
Log:
SLING-6523 - removed unused import in IT

Modified:

sling/trunk/contrib/extensions/distribution/it/src/test/java/org/apache/sling/distribution/it/SelectiveForwardDistributionTest.java

Modified: 
sling/trunk/contrib/extensions/distribution/it/src/test/java/org/apache/sling/distribution/it/SelectiveForwardDistributionTest.java
URL: 
http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/it/src/test/java/org/apache/sling/distribution/it/SelectiveForwardDistributionTest.java?rev=1783190=1783189=1783190=diff
==
--- 
sling/trunk/contrib/extensions/distribution/it/src/test/java/org/apache/sling/distribution/it/SelectiveForwardDistributionTest.java
 (original)
+++ 
sling/trunk/contrib/extensions/distribution/it/src/test/java/org/apache/sling/distribution/it/SelectiveForwardDistributionTest.java
 Thu Feb 16 10:29:08 2017
@@ -19,7 +19,6 @@
 package org.apache.sling.distribution.it;
 
 import org.apache.sling.distribution.DistributionRequestType;
-import org.junit.Ignore;
 import org.junit.Test;
 
 import java.util.Map;




svn commit: r1783186 - in /sling/trunk/contrib/extensions/distribution: core/src/main/java/org/apache/sling/distribution/agent/impl/ it/src/test/java/org/apache/sling/distribution/it/

2017-02-16 Thread tommaso
Author: tommaso
Date: Thu Feb 16 09:48:46 2017
New Revision: 1783186

URL: http://svn.apache.org/viewvc?rev=1783186=rev
Log:
SLING-6523 - priority queues back to processing queues

Modified:

sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/agent/impl/ForwardDistributionAgentFactory.java

sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/agent/impl/SimpleDistributionAgentQueueProcessor.java

sling/trunk/contrib/extensions/distribution/it/src/test/java/org/apache/sling/distribution/it/SelectiveForwardDistributionTest.java

Modified: 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/agent/impl/ForwardDistributionAgentFactory.java
URL: 
http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/agent/impl/ForwardDistributionAgentFactory.java?rev=1783186=1783185=1783186=diff
==
--- 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/agent/impl/ForwardDistributionAgentFactory.java
 (original)
+++ 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/agent/impl/ForwardDistributionAgentFactory.java
 Thu Feb 16 09:48:46 2017
@@ -273,6 +273,7 @@ public class ForwardDistributionAgentFac
 Map<String, String> queueAliases = 
dispatchingStrategy.getMatchingQueues(null);
 importerEndpointsMap = 
SettingsUtils.expandUriMap(importerEndpointsMap, queueAliases);
 exportQueueStrategy = dispatchingStrategy;
+endpointNames = importerEndpointsMap.keySet();
 } else {
 boolean asyncDelivery = 
PropertiesUtil.toBoolean(config.get(ASYNC_DELIVERY), false);
 if (asyncDelivery) {

Modified: 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/agent/impl/SimpleDistributionAgentQueueProcessor.java
URL: 
http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/agent/impl/SimpleDistributionAgentQueueProcessor.java?rev=1783186=1783185=1783186=diff
==
--- 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/agent/impl/SimpleDistributionAgentQueueProcessor.java
 (original)
+++ 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/agent/impl/SimpleDistributionAgentQueueProcessor.java
 Thu Feb 16 09:48:46 2017
@@ -41,7 +41,11 @@ import org.apache.sling.distribution.que
 import org.apache.sling.distribution.util.impl.DistributionUtils;
 
 /**
- * A processor of agent queue entries, each entry's underlying package is 
fecthed and passed to the {@link DistributionPackageImporter} for import.
+ * A processor of agent queue entries, each entry's underlying package is 
fecthed and passed to the
+ * {@link DistributionPackageImporter} for import.
+ * If item can be delivered it can be removed from the queue, if it cannot be 
delivered because of a {@link RecoverableDistributionException}
+ * like a connection issue the item will stay in the queue, for other types of 
errors the item will be moved to the
+ * current queue "error queue" if that exists.
  */
 class SimpleDistributionAgentQueueProcessor implements 
DistributionQueueProcessor {
 

Modified: 
sling/trunk/contrib/extensions/distribution/it/src/test/java/org/apache/sling/distribution/it/SelectiveForwardDistributionTest.java
URL: 
http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/it/src/test/java/org/apache/sling/distribution/it/SelectiveForwardDistributionTest.java?rev=1783186=1783185=1783186=diff
==
--- 
sling/trunk/contrib/extensions/distribution/it/src/test/java/org/apache/sling/distribution/it/SelectiveForwardDistributionTest.java
 (original)
+++ 
sling/trunk/contrib/extensions/distribution/it/src/test/java/org/apache/sling/distribution/it/SelectiveForwardDistributionTest.java
 Thu Feb 16 09:48:46 2017
@@ -36,7 +36,6 @@ import static org.junit.Assert.assertEqu
 public class SelectiveForwardDistributionTest extends 
DistributionIntegrationTestBase {
 
 
-@Ignore
 @Test
 public void testQueues() throws Exception {
 
@@ -44,7 +43,6 @@ public class SelectiveForwardDistributio
 assertEquals(2, queues.size());
 }
 
-@Ignore
 @Test
 public void testAddContent() throws Exception {
 String nodePath1 = createRandomNode(authorClient, 
"/content/news/forward_add_" + System.nanoTime());
@@ -60,7 +58,6 @@ public class SelectiveForwardDistributio
 assertExists(publishClient, nodePath2);
 }
 
-@Ignore
 @Test
 pub

svn commit: r1779477 - in /sling/trunk/contrib/extensions/distribution: core/src/main/java/org/apache/sling/distribution/agent/impl/ core/src/main/java/org/apache/sling/distribution/component/impl/ co

2017-01-19 Thread tommaso
Author: tommaso
Date: Thu Jan 19 15:03:06 2017
New Revision: 1779477

URL: http://svn.apache.org/viewvc?rev=1779477=rev
Log:
minor static analysis fixes, fixed rat excludes on it project

Modified:

sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/agent/impl/AbstractDistributionAgentFactory.java

sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/agent/impl/SimpleDistributionAgent.java

sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/agent/impl/SimpleDistributionAgentAuthenticationInfo.java

sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/agent/impl/SimpleDistributionAgentQueueProcessor.java

sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/component/impl/DefaultDistributionConfigurationManager.java

sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/component/impl/OsgiConfigurationManager.java

sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/component/impl/ResourceConfigurationManager.java

sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/AbstractDistributionPackage.java

sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/AbstractDistributionPackageBuilder.java

sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/DistributionPackageUtils.java

sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/FileDistributionPackage.java

sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/ResourceDistributionPackage.java

sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/ResourceDistributionPackageBuilder.java

sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/queue/impl/AsyncDeliveryDispatchingStrategy.java

sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/queue/impl/CachingDistributionQueue.java

sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/queue/impl/DistributionQueueWrapper.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/jobhandling/JobHandlingDistributionQueueProvider.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/resources/impl/DistributionConfigurationResourceProvider.java

sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/resources/impl/common/AbstractReadableResourceProvider.java

sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/serialization/impl/vlt/FileVaultContentSerializer.java

sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/transport/impl/HttpTransportUtils.java

sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/trigger/impl/AbstractJcrEventTrigger.java

sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/util/impl/DigestUtils.java

sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/util/impl/FileBackedMemoryOutputStream.java

sling/trunk/contrib/extensions/distribution/core/src/test/java/org/apache/sling/distribution/agent/impl/SimpleDistributionAgentQueueProcessorTest.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/agent/impl/TriggerAgentRequestHandlerTest.java

sling/trunk/contrib/extensions/distribution/core/src/test/java/org/apache/sling/distribution/serialization/impl/vlt/FileVaultContentSerializerTest.java

sling/trunk/contrib/extensions/distribution/core/src/test/java/org/apache/sling/distribution/trigger/impl/AbstractJcrEventTriggerTest.java
sling/trunk/contrib/extensions/distribution/it/pom.xml

Modified: 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/agent/impl/AbstractDistributionAgentFactory.java
URL: 
http

svn commit: r1779444 - in /sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution: agent/impl/ util/impl/

2017-01-19 Thread tommaso
Author: tommaso
Date: Thu Jan 19 10:24:17 2017
New Revision: 1779444

URL: http://svn.apache.org/viewvc?rev=1779444=rev
Log:
SLING-6477 - use service user when impersonating API is not available

Modified:

sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/agent/impl/ForwardDistributionAgentFactory.java

sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/agent/impl/QueueDistributionAgentFactory.java

sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/agent/impl/SimpleDistributionAgent.java

sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/agent/impl/SyncDistributionAgentFactory.java

sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/util/impl/DistributionUtils.java

Modified: 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/agent/impl/ForwardDistributionAgentFactory.java
URL: 
http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/agent/impl/ForwardDistributionAgentFactory.java?rev=1779444=1779443=1779444=diff
==
--- 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/agent/impl/ForwardDistributionAgentFactory.java
 (original)
+++ 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/agent/impl/ForwardDistributionAgentFactory.java
 Thu Jan 19 10:24:17 2017
@@ -97,7 +97,8 @@ public class ForwardDistributionAgentFac
 @Property(boolValue = true, label = "Enabled", description = "Whether or 
not to start the distribution agent.")
 private static final String ENABLED = "enabled";
 
-@Property(label = "Service Name", description = "The name of the service 
used to access the repository.")
+@Property(label = "Service Name", description = "The name of the service 
used to access the repository. " +
+"If not set, the calling user ResourceResolver will be used")
 private static final String SERVICE_NAME = "serviceName";
 
 @Property(options = {

Modified: 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/agent/impl/QueueDistributionAgentFactory.java
URL: 
http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/agent/impl/QueueDistributionAgentFactory.java?rev=1779444=1779443=1779444=diff
==
--- 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/agent/impl/QueueDistributionAgentFactory.java
 (original)
+++ 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/agent/impl/QueueDistributionAgentFactory.java
 Thu Jan 19 10:24:17 2017
@@ -88,7 +88,8 @@ public class QueueDistributionAgentFacto
 private static final String ENABLED = "enabled";
 
 
-@Property(label = "Service Name", description = "The name of the service 
used to access the repository.")
+@Property(label = "Service Name", description = "The name of the service 
used to access the repository. " +
+"If not set, the calling user ResourceResolver will be used")
 private static final String SERVICE_NAME = "serviceName";
 
 @Property(options = {

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=1779444=1779443=1779444=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
 Thu Jan 19 10:24:17 2017
@@ -59,7 +59,7 @@ import org.apache.sling.jcr.api.SlingRep
  * Basic implementation of a {@link 
org.apache.sling.distribution.agent.DistributionAgent}
  */
 public class SimpleDistributionAgent implements DistributionAgent {
-private final static String DEFAULT_AGENT_SERVICE = "defaultAgentService";
+public final static String DEFAULT_AGENT_SERVICE = "defaultAgentService";
 
 private final DistributionQueueProvider queueProvider;
 private final DistributionPackageImporter di

svn commit: r1779298 - /sling/trunk/contrib/extensions/distribution/extensions/src/main/java/org/apache/sling/distribution/serialization/impl/kryo/KryoContentSerializer.java

2017-01-18 Thread tommaso
Author: tommaso
Date: Wed Jan 18 08:37:33 2017
New Revision: 1779298

URL: http://svn.apache.org/viewvc?rev=1779298=rev
Log:
SLING-6475 - reverted unwanted change in kryo serializer

Modified:

sling/trunk/contrib/extensions/distribution/extensions/src/main/java/org/apache/sling/distribution/serialization/impl/kryo/KryoContentSerializer.java

Modified: 
sling/trunk/contrib/extensions/distribution/extensions/src/main/java/org/apache/sling/distribution/serialization/impl/kryo/KryoContentSerializer.java
URL: 
http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/extensions/src/main/java/org/apache/sling/distribution/serialization/impl/kryo/KryoContentSerializer.java?rev=1779298=1779297=1779298=diff
==
--- 
sling/trunk/contrib/extensions/distribution/extensions/src/main/java/org/apache/sling/distribution/serialization/impl/kryo/KryoContentSerializer.java
 (original)
+++ 
sling/trunk/contrib/extensions/distribution/extensions/src/main/java/org/apache/sling/distribution/serialization/impl/kryo/KryoContentSerializer.java
 Wed Jan 18 08:37:33 2017
@@ -230,10 +230,9 @@ public class KryoContentSerializer imple
 }
 
 private void addResource(DistributionExportFilter.TreeFilter nodeFilter, 
LinkedList resources, Resource resource) {
-if (nodeFilter.matches(resource.getPath())) {
-resources.add(resource);
-for (Resource child : resource.getChildren()) {
-resources.add(child);
+resources.add(resource);
+for (Resource child : resource.getChildren()) {
+if (nodeFilter.matches(child.getPath())) {
 addResource(nodeFilter, resources, child);
 }
 }




svn commit: r1779297 - in /sling/trunk/contrib/extensions/distribution: extensions/src/main/java/org/apache/sling/distribution/serialization/impl/kryo/KryoContentSerializer.java it/pom.xml sample/src/

2017-01-18 Thread tommaso
Author: tommaso
Date: Wed Jan 18 08:35:27 2017
New Revision: 1779297

URL: http://svn.apache.org/viewvc?rev=1779297=rev
Log:
SLING-6475 - making it possible to run ITs with launchpad 8, adjusted timeout 
and sample init

Modified:

sling/trunk/contrib/extensions/distribution/extensions/src/main/java/org/apache/sling/distribution/serialization/impl/kryo/KryoContentSerializer.java
sling/trunk/contrib/extensions/distribution/it/pom.xml

sling/trunk/contrib/extensions/distribution/sample/src/main/java/org/apache/sling/distribution/test/Init.java

Modified: 
sling/trunk/contrib/extensions/distribution/extensions/src/main/java/org/apache/sling/distribution/serialization/impl/kryo/KryoContentSerializer.java
URL: 
http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/extensions/src/main/java/org/apache/sling/distribution/serialization/impl/kryo/KryoContentSerializer.java?rev=1779297=1779296=1779297=diff
==
--- 
sling/trunk/contrib/extensions/distribution/extensions/src/main/java/org/apache/sling/distribution/serialization/impl/kryo/KryoContentSerializer.java
 (original)
+++ 
sling/trunk/contrib/extensions/distribution/extensions/src/main/java/org/apache/sling/distribution/serialization/impl/kryo/KryoContentSerializer.java
 Wed Jan 18 08:35:27 2017
@@ -230,14 +230,13 @@ public class KryoContentSerializer imple
 }
 
 private void addResource(DistributionExportFilter.TreeFilter nodeFilter, 
LinkedList resources, Resource resource) {
-resources.add(resource);
-for (Resource child : resource.getChildren()) {
-if (nodeFilter.matches(child.getPath())) {
+if (nodeFilter.matches(resource.getPath())) {
+resources.add(resource);
+for (Resource child : resource.getChildren()) {
+resources.add(child);
 addResource(nodeFilter, resources, child);
 }
 }
-
-
 }
 
 

Modified: sling/trunk/contrib/extensions/distribution/it/pom.xml
URL: 
http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/it/pom.xml?rev=1779297=1779296=1779297=diff
==
--- sling/trunk/contrib/extensions/distribution/it/pom.xml (original)
+++ sling/trunk/contrib/extensions/distribution/it/pom.xml Wed Jan 18 08:35:27 
2017
@@ -67,7 +67,7 @@
 
 
 
--Xmx512m
+-Xmx2048m
 
 
 
1.0
@@ -306,14 +306,12 @@
 
${project.build.directory},${project.build.directory}/sling/additional-bundles
 
 ${keepJarRunning}
-
60
+
360
 
${sling.testing.timeout.multiplier}
 
 /:script 
src="system/sling.js"
-
/.explorer.html:href="/libs/sling/explorer/css/explorer.css"
-
-
/sling-test/sling/sling-test.html:Sling client library 
tests
-
+
/.explorer.html:href="/libs/sling/explorer/css/explorer.css"
+
/sling-test/sling/sling-test.html:Sling client library 
tests
 
30
 
20
 
@@ -363,7 +361,7 @@
 
 org.apache.jackrabbit.vault
 org.apache.jackrabbit.vault
-3.1.28
+3.1.30
 provided
 
 
@@ -394,7 +392,7 @@
 
 org.apache.sling
 org.apache.sling.launchpad
-9-SNAPSHOT
+8
 
 
 org.slf4j

Modified: 
sling/trunk/contrib/extensions/distribution/sample/src/main/java/org/apache/sling/distribution/test/Init.java
URL: 
http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/sample/src/main/java/org/apache/sling/distribution/test/Init.java?rev=1779297=1779296=1779297=diff
==
--- 
sling/trunk/contrib/extensions/distribution/sample/src/main/java/org/apache/sling/distribution/test/Init.java
 (original)
+++ 
sling/trunk/contrib/extensions/distribution/sample/src/main/java/org/apache/sling/distribution/test/Init.java
 Wed Jan 18 08:35:27 2017
@@ -29,6 +29,7 @@ import org.apache.jackrabbit.api.securit
 import org.apache.jackrabbit.api.security.user.UserManager;
 
 import javax.jcr.RepositoryException;
+import javax.jcr.SimpleCredentials;
 import javax.jcr.security.Privilege;
 
 import org.apache.jackrabbit.commons.JcrUtils;
@@ -57,7 +58,7 @@ public class Init {
 final String serviceUserName = "testDistributionUser";
 final String distributorUserName = "testDistributorUser";
 
-Session session = slingRepository.login

svn commit: r1779164 - in /sling/trunk/contrib/extensions/distribution/core: ./ src/main/java/org/apache/sling/distribution/util/impl/ src/test/java/org/apache/sling/distribution/packaging/impl/import

2017-01-17 Thread tommaso
Author: tommaso
Date: Tue Jan 17 10:37:11 2017
New Revision: 1779164

URL: http://svn.apache.org/viewvc?rev=1779164=rev
Log:
SLING-6250 - addede test from Julian Sedding

Modified:
sling/trunk/contrib/extensions/distribution/core/pom.xml

sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/util/impl/DistributionUtils.java

sling/trunk/contrib/extensions/distribution/core/src/test/java/org/apache/sling/distribution/packaging/impl/importer/LocalDistributionPackageImporterTest.java

Modified: sling/trunk/contrib/extensions/distribution/core/pom.xml
URL: 
http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/pom.xml?rev=1779164=1779163=1779164=diff
==
--- sling/trunk/contrib/extensions/distribution/core/pom.xml (original)
+++ sling/trunk/contrib/extensions/distribution/core/pom.xml Tue Jan 17 
10:37:11 2017
@@ -84,6 +84,12 @@
 
 
 
+maven-surefire-plugin
+
+true
+
+
+
 org.apache.maven.plugins
 maven-javadoc-plugin
 
@@ -103,6 +109,12 @@
 
 
 
+
+
+org.apache.sling
+org.apache.sling.commons.osgi
+2.2.0
+
 
 
 junit
@@ -127,6 +139,25 @@
 1.1.16
 test
 
+
+
+org.apache.sling
+org.apache.sling.testing.osgi-mock
+1.7.2
+test
+
+
+org.apache.sling
+org.apache.sling.testing.sling-mock
+1.6.2
+test
+
+
+org.apache.sling
+org.apache.sling.testing.sling-mock-oak
+1.0.0
+test
+
 
 
 org.apache.sling
@@ -140,11 +171,6 @@
 
 
 org.apache.sling
-org.apache.sling.commons.osgi
-2.2.0
-
-
-org.apache.sling
 org.apache.sling.commons.scheduler
 2.4.0
 
@@ -183,12 +209,6 @@
 1.0.0
 provided
 
-
-org.apache.sling
-org.apache.sling.jcr.resource
-2.3.12
-provided
-
 
 
 org.slf4j

Modified: 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/util/impl/DistributionUtils.java
URL: 
http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/util/impl/DistributionUtils.java?rev=1779164=1779163=1779164=diff
==
--- 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/util/impl/DistributionUtils.java
 (original)
+++ 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/util/impl/DistributionUtils.java
 Tue Jan 17 10:37:11 2017
@@ -25,7 +25,6 @@ import org.apache.sling.api.resource.Res
 import org.apache.sling.api.resource.ResourceResolverFactory;
 import org.apache.sling.distribution.common.DistributionException;
 import org.apache.sling.jcr.api.SlingRepository;
-import org.apache.sling.jcr.resource.JcrResourceConstants;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -38,7 +37,7 @@ import java.util.Map;
 
 public class DistributionUtils {
 private static final Logger log = 
LoggerFactory.getLogger(DistributionUtils.class);
-
+private static final String AUTHENTICATION_INFO_SESSION = 
"user.jcr.credentials";
 
 public static ResourceResolver loginService(ResourceResolverFactory 
resolverFactory, String serviceName) throws LoginException {
 Map<String, Object> authInfo = new HashMap<String, Object>();
@@ -87,7 +86,7 @@ public class DistributionUtils {
 
 if (subServiceName == null && user != null) {
 Session session = 
slingRepository.impersonateFromService(service, new SimpleCredentials(user, new 
char[0]), null);
-
authenticationInfo.put(JcrResourceConstants.AUTHENTICATION_INFO_SESSION, 
session);
+authenticationInfo.put(AUTHENTICATION_INFO_SESSION, session);
 resourceResolver = 
resourceResolverFactory.getResourceResolver(authenticationInfo);
 } else {
 authenticationInfo.put(ResourceResolverFactory.SUBSERVICE, 
subServiceName);

Modified: 
sling/trunk/contrib/extensions/distribution/core/src/test/java/org/apache/sling/distribution/packaging/impl/importer/LocalDistributionPackageImporterTest.java
URL: 
http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/test/java/org/apach

svn commit: r1778443 - /sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/importer/LocalDistributionPackageImporter.java

2017-01-12 Thread tommaso
Author: tommaso
Date: Thu Jan 12 15:22:39 2017
New Revision: 1778443

URL: http://svn.apache.org/viewvc?rev=1778443=rev
Log:
SLING-5695 - no need to make stream.reset failure return a RE

Modified:

sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/importer/LocalDistributionPackageImporter.java

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=1778443=1778442=1778443=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
 Thu Jan 12 15:22:39 2017
@@ -119,9 +119,9 @@ public class LocalDistributionPackageImp
 }
 } else {
 try {
-stream.reset();
+stream.reset(); // TODO : see if this can be removed 
entirely
 } catch (IOException e) {
-throw new RuntimeException(e);
+// do nothing
 }
 DistributionPackageInfo packageInfo;
 Object rr = headerInfo.get("reference-required");




svn commit: r1778196 - /sling/trunk/contrib/extensions/distribution/core/src/test/java/org/apache/sling/distribution/trigger/impl/JcrEventDistributionTriggerTest.java

2017-01-10 Thread tommaso
Author: tommaso
Date: Tue Jan 10 20:41:13 2017
New Revision: 1778196

URL: http://svn.apache.org/viewvc?rev=1778196=rev
Log:
SLING-6210 - added additional test for ignored paths

Modified:

sling/trunk/contrib/extensions/distribution/core/src/test/java/org/apache/sling/distribution/trigger/impl/JcrEventDistributionTriggerTest.java

Modified: 
sling/trunk/contrib/extensions/distribution/core/src/test/java/org/apache/sling/distribution/trigger/impl/JcrEventDistributionTriggerTest.java
URL: 
http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/test/java/org/apache/sling/distribution/trigger/impl/JcrEventDistributionTriggerTest.java?rev=1778196=1778195=1778196=diff
==
--- 
sling/trunk/contrib/extensions/distribution/core/src/test/java/org/apache/sling/distribution/trigger/impl/JcrEventDistributionTriggerTest.java
 (original)
+++ 
sling/trunk/contrib/extensions/distribution/core/src/test/java/org/apache/sling/distribution/trigger/impl/JcrEventDistributionTriggerTest.java
 Tue Jan 10 20:41:13 2017
@@ -80,4 +80,20 @@ public class JcrEventDistributionTrigger
 DistributionRequest distributionRequest = 
jcrEventdistributionTrigger.processEvent(event);
 assertNull(distributionRequest);
 }
+
+@Test
+public void testProcessEventOnMultipleIgnoredPattern() throws Exception {
+SlingRepository repository = mock(SlingRepository.class);
+Scheduler scheduler = mock(Scheduler.class);
+ResourceResolverFactory resolverFactory = 
mock(ResourceResolverFactory.class);
+
+String path = "/home/users";
+String serviceName = "serviceId";
+String[] ignoredPaths = new String[]{".*/.tokens.*", 
".*/.rep:cache.*"};
+JcrEventDistributionTrigger jcrEventdistributionTrigger = new 
JcrEventDistributionTrigger(repository, scheduler, resolverFactory, path, 
false, serviceName, ignoredPaths);
+Event event = mock(Event.class);
+
when(event.getPath()).thenReturn("/home/users/3/3U3HxUUzJJ60BdN4lEDJ/.tokens/2017-01-10T15.52.37.842+01.00");
+DistributionRequest distributionRequest = 
jcrEventdistributionTrigger.processEvent(event);
+assertNull(distributionRequest);
+}
 }
\ No newline at end of file




svn commit: r1773934 - /sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/component/impl/DefaultDistributionConfigurationManager.java

2016-12-13 Thread tommaso
Author: tommaso
Date: Tue Dec 13 09:24:18 2016
New Revision: 1773934

URL: http://svn.apache.org/viewvc?rev=1773934=rev
Log:
SLING-6391 - added some javadoc and comments

Modified:

sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/component/impl/DefaultDistributionConfigurationManager.java

Modified: 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/component/impl/DefaultDistributionConfigurationManager.java
URL: 
http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/component/impl/DefaultDistributionConfigurationManager.java?rev=1773934=1773933=1773934=diff
==
--- 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/component/impl/DefaultDistributionConfigurationManager.java
 (original)
+++ 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/component/impl/DefaultDistributionConfigurationManager.java
 Tue Dec 13 09:24:18 2016
@@ -54,10 +54,10 @@ public class DefaultDistributionConfigur
 @Property(label = "Resource Config Root", description = "The resource 
config root", value = "/etc/distribution")
 public static final String CONFIG_ROOT = "resource.config.root";
 
-@Property(label = "Resource Config Properties", description = "The 
resource config properties", value = { "enabled" } )
-public static final String CONFIG_PROPERTIES= "resource.config.properties";
+@Property(label = "Resource Config Properties", description = "The 
resource config properties", value = {"enabled"})
+public static final String CONFIG_PROPERTIES = 
"resource.config.properties";
 
-@Property(label = "Resource Config Defaults", description = "The default 
values for resource config properties", value = { 
"serializationType=distribution" } )
+@Property(label = "Resource Config Defaults", description = "The default 
values for resource config properties", value = 
{"serializationType=distribution"})
 public static final String CONFIG_DEFAULTS = "resource.config.defaults";
 
 @Reference
@@ -209,21 +209,32 @@ public class DefaultDistributionConfigur
 return result;
 }
 
+/**
+ * Split a {@link DistributionConfiguration} into two configurations, so 
that properties starting with a certain prefix
+ * go to a separate configuration while the remaining ones will live in a 
new configuration
+ * @param config a configuration
+ * @param prefix a prefix
+ * @return a {@link Map} of prefix -> configuration
+ */
 static Map<String, DistributionConfiguration> 
splitConfig(DistributionConfiguration config, String prefix) {
-Map<String, Object> properties = config.getProperties();
+Map<String, Object> distributionConfigurationProperties = 
config.getProperties();
 
+// properties for OSGi configuration
 Map<String, Object> defaultMap = new HashMap<String, Object>();
-Map<String, Object> prefixMap = new HashMap<String, Object>();
 
+// properties for resource configuration
+Map<String, Object> prefixMap = new HashMap<String, Object>();
 
-for (String propertyKey : properties.keySet()) {
-if (propertyKey.startsWith(prefix)) {
-prefixMap.put(propertyKey.substring(prefix.length()), 
properties.get(propertyKey));
+// split the properties of the given configuration between the OSGi 
config and the persisted config
+for (String configurationPropertyKey : 
distributionConfigurationProperties.keySet()) {
+if (configurationPropertyKey.startsWith(prefix)) {
+
prefixMap.put(configurationPropertyKey.substring(prefix.length()), 
distributionConfigurationProperties.get(configurationPropertyKey));
 } else {
-defaultMap.put(propertyKey, properties.get(propertyKey));
+defaultMap.put(configurationPropertyKey, 
distributionConfigurationProperties.get(configurationPropertyKey));
 }
 }
 
+// create an OSGi and a persisted configuration
 Map<String, DistributionConfiguration> result = new HashMap<String, 
DistributionConfiguration>();
 result.put(OSGI_PREFIX, new 
DistributionConfiguration(config.getKind(), config.getName(), defaultMap));
 if (prefixMap.size() > 0) {




svn commit: r1773933 - in /sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/component/impl: DefaultDistributionConfigurationManager.java DistributionConfigu

2016-12-13 Thread tommaso
Author: tommaso
Date: Tue Dec 13 09:09:47 2016
New Revision: 1773933

URL: http://svn.apache.org/viewvc?rev=1773933=rev
Log:
SLING-6391 - avoid overriding from defaults in ResourceConfigManager, minor 
fixes

Modified:

sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/component/impl/DefaultDistributionConfigurationManager.java

sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/component/impl/DistributionConfiguration.java

sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/component/impl/ResourceConfigurationManager.java

Modified: 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/component/impl/DefaultDistributionConfigurationManager.java
URL: 
http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/component/impl/DefaultDistributionConfigurationManager.java?rev=1773933=1773932=1773933=diff
==
--- 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/component/impl/DefaultDistributionConfigurationManager.java
 (original)
+++ 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/component/impl/DefaultDistributionConfigurationManager.java
 Tue Dec 13 09:09:47 2016
@@ -33,6 +33,8 @@ import org.apache.felix.scr.annotations.
 import org.apache.sling.api.resource.ResourceResolver;
 import org.apache.sling.commons.osgi.PropertiesUtil;
 import org.osgi.service.cm.ConfigurationAdmin;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 /**
  * {@link 
org.apache.sling.distribution.component.impl.DistributionConfigurationManager} 
implementation based on OSGI configs.
@@ -67,7 +69,7 @@ public class DefaultDistributionConfigur
 static String resourcePrefix;
 static final String OSGI_PREFIX = "";
 
-
+private final Logger log = LoggerFactory.getLogger(getClass());
 
 @Activate
 void activate(Map<String, Object> properties) {
@@ -121,8 +123,7 @@ public class DefaultDistributionConfigur
 
 @Override
 public void saveConfig(ResourceResolver resolver, 
DistributionConfiguration config) {
-
-
+log.debug("saving config {}", config);
 
 if (resourceManager != null) {
 Map<String, DistributionConfiguration> splitConfig = 
splitConfig(config, resourcePrefix);
@@ -132,12 +133,15 @@ public class DefaultDistributionConfigur
 osgiManager.saveConfig(resolver, defaultConfig);
 
 DistributionConfiguration resourceConfig = 
splitConfig.get(resourcePrefix);
+log.debug("retrieved config {}", resourceConfig);
 
 if (resourceConfig != null) {
 resourceManager.saveConfig(resolver, resourceConfig);
+log.debug("saved resource config: {}", resourceConfig);
 }
 } else {
 osgiManager.saveConfig(resolver, config);
+log.debug("saved osgi config: {}", config);
 }
 }
 
@@ -150,7 +154,6 @@ public class DefaultDistributionConfigur
 }
 }
 
-
 static DistributionConfiguration mergeConfig(DistributionConfiguration 
main, DistributionConfiguration extension, String prefix) {
 
 if (main == null) {
@@ -165,8 +168,6 @@ public class DefaultDistributionConfigur
 return mergeConfig(main.getKind(), main.getName(), configMap);
 }
 
-
-
 static DistributionConfiguration mergeConfig(DistributionComponentKind 
kind, String name, Map<String, DistributionConfiguration> configMap) {
 Map<String, Object> result = new HashMap<String, Object>();
 for (String prefixKey : configMap.keySet()) {
@@ -197,7 +198,6 @@ public class DefaultDistributionConfigur
 sourceMap.put(config.getName(), config);
 }
 
-
 for (DistributionConfiguration targetConfig : target) {
 DistributionConfiguration sourceConfig = 
sourceMap.get(targetConfig.getName());
 

Modified: 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/component/impl/DistributionConfiguration.java
URL: 
http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/component/impl/DistributionConfiguration.java?rev=1773933=1773932=1773933=diff
==
--- 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/component/impl/DistributionConfiguration.java
 (original)
+++ 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/component/impl/DistributionConfiguration.java
 Tue Dec 13 09:09:47 2016
@@ -51

svn commit: r1771915 - in /sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution: monitor/impl/ packaging/impl/ packaging/impl/exporter/ packaging/impl/importer/

2016-11-29 Thread tommaso
Author: tommaso
Date: Tue Nov 29 15:21:05 2016
New Revision: 1771915

URL: http://svn.apache.org/viewvc?rev=1771915=rev
Log:
SLING-6339 - applied patch from Simone Tripodi for warnings cleanup

Modified:

sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/monitor/impl/MonitoringDistributionPackageBuilder.java

sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/AbstractDistributionPackageBuilder.java

sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/DistributionPackageUtils.java

sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/exporter/AgentDistributionPackageExporter.java

sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/exporter/AgentDistributionPackageExporterFactory.java

sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/exporter/LocalDistributionPackageExporterFactory.java

sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/importer/RemoteDistributionPackageImporterFactory.java

sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/importer/RepositoryDistributionPackageImporterFactory.java

sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/trigger/impl/JcrEventDistributionTriggerFactory.java

Modified: 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/monitor/impl/MonitoringDistributionPackageBuilder.java
URL: 
http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/monitor/impl/MonitoringDistributionPackageBuilder.java?rev=1771915=1771914=1771915=diff
==
--- 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/monitor/impl/MonitoringDistributionPackageBuilder.java
 (original)
+++ 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/monitor/impl/MonitoringDistributionPackageBuilder.java
 Tue Nov 29 15:21:05 2016
@@ -86,7 +86,7 @@ public final class MonitoringDistributio
 return wrapped.installPackage(resourceResolver, stream);
 }
 
-private final void registerDistributionPackageMBean(long start, 
DistributionPackage distributionPackage) {
+private void registerDistributionPackageMBean(long start, 
DistributionPackage distributionPackage) {
 long processingTime = System.currentTimeMillis() - start;
 
 DistributionPackageMBean mBean = new 
DistributionPackageMBeanImpl(distributionPackage,

Modified: 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/AbstractDistributionPackageBuilder.java
URL: 
http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/AbstractDistributionPackageBuilder.java?rev=1771915=1771914=1771915=diff
==
--- 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/AbstractDistributionPackageBuilder.java
 (original)
+++ 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/AbstractDistributionPackageBuilder.java
 Tue Nov 29 15:21:05 2016
@@ -18,21 +18,18 @@
  */
 package org.apache.sling.distribution.packaging.impl;
 
-import javax.annotation.CheckForNull;
-import javax.annotation.Nonnull;
-import javax.jcr.RepositoryException;
-import javax.jcr.Session;
 import java.io.BufferedInputStream;
 import java.io.IOException;
 import java.io.InputStream;
 import java.util.HashMap;
-import java.util.HashSet;
 import java.util.Map;
-import java.util.Set;
-import java.util.regex.Pattern;
+
+import javax.annotation.CheckForNull;
+import javax.annotation.Nonnull;
+import javax.jcr.RepositoryException;
+import javax.jcr.Session;
 
 import org.apache.commons.io.IOUtils;
-import org.apache.sling.api.resource.Resource;
 import org.apache.sling.api.resource.ResourceResolver;
 import org.apache.sling.distribution.DistributionRequest;
 import org.apache.sling.distribution.DistributionRequestType;

Modified: 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/DistributionPackageUtils.java
URL: 
http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/DistributionPackageUtils.java?rev=1771915=1771914=1771915=diff

svn commit: r1771761 - /sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/

2016-11-28 Thread tommaso
Author: tommaso
Date: Mon Nov 28 15:27:54 2016
New Revision: 1771761

URL: http://svn.apache.org/viewvc?rev=1771761=rev
Log:
SLING-6324 - avoiding exposing resource / file path of packages within their ids

Modified:

sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/FileDistributionPackage.java

sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/FileDistributionPackageBuilder.java

sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/ResourceDistributionPackage.java

sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/ResourceDistributionPackageBuilder.java

Modified: 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/FileDistributionPackage.java
URL: 
http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/FileDistributionPackage.java?rev=1771761=1771760=1771761=diff
==
--- 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/FileDistributionPackage.java
 (original)
+++ 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/FileDistributionPackage.java
 Mon Nov 28 15:27:54 2016
@@ -45,7 +45,7 @@ public class FileDistributionPackage ext
@Nonnull String type,
@Nullable String digestAlgorithm,
@Nullable String digestMessage) {
-super(file.getAbsolutePath(), type, digestAlgorithm, digestMessage);
+super(file.getName(), type, digestAlgorithm, digestMessage);
 this.file = file;
 
 this.getInfo().put(DistributionPackageInfo.PROPERTY_REQUEST_TYPE, 
DistributionRequestType.ADD);

Modified: 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/FileDistributionPackageBuilder.java
URL: 
http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/FileDistributionPackageBuilder.java?rev=1771761=1771760=1771761=diff
==
--- 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/FileDistributionPackageBuilder.java
 (original)
+++ 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/FileDistributionPackageBuilder.java
 Mon Nov 28 15:27:54 2016
@@ -157,6 +157,6 @@ public class FileDistributionPackageBuil
 
 @Override
 protected DistributionPackage getPackageInternal(@Nonnull ResourceResolver 
resourceResolver, @Nonnull String id) {
-return new FileDistributionPackage(new File(id), getType(), null, 
null);
+return new FileDistributionPackage(new File(tempDirectory, id), 
getType(), null, null);
 }
 }

Modified: 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/ResourceDistributionPackage.java
URL: 
http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/ResourceDistributionPackage.java?rev=1771761=1771760=1771761=diff
==
--- 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/ResourceDistributionPackage.java
 (original)
+++ 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/ResourceDistributionPackage.java
 Mon Nov 28 15:27:54 2016
@@ -52,7 +52,7 @@ public class ResourceDistributionPackage
 ResourceResolver resourceResolver,
 @Nullable String digestAlgorithm,
 @Nullable String digestMessage) {
-super(resource.getPath() + '-' + randomUUID(), type, digestAlgorithm, 
digestMessage);
+super(resource.getName(), type, digestAlgorithm, digestMessage);
 this.resourceResolver = resourceResolver;
 ValueMap valueMap = resource.getValueMap();
 assert type.equals(valueMap.get("type")) : "wrong resource type";

Modified: 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/ResourceDistributionPackageBuilder.java
URL: 
http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/ResourceDistributio

svn commit: r1771756 - /sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/monitor/impl/MonitoringDistributionPackageBuilder.java

2016-11-28 Thread tommaso
Author: tommaso
Date: Mon Nov 28 15:01:29 2016
New Revision: 1771756

URL: http://svn.apache.org/viewvc?rev=1771756=rev
Log:
SLING-6324 - removed duplicated / unneeded mbean registrations

Modified:

sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/monitor/impl/MonitoringDistributionPackageBuilder.java

Modified: 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/monitor/impl/MonitoringDistributionPackageBuilder.java
URL: 
http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/monitor/impl/MonitoringDistributionPackageBuilder.java?rev=1771756=1771755=1771756=diff
==
--- 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/monitor/impl/MonitoringDistributionPackageBuilder.java
 (original)
+++ 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/monitor/impl/MonitoringDistributionPackageBuilder.java
 Mon Nov 28 15:01:29 2016
@@ -68,26 +68,17 @@ public final class MonitoringDistributio
 
 @Override
 public DistributionPackage readPackage(ResourceResolver resourceResolver, 
InputStream stream) throws DistributionException {
-long start = System.currentTimeMillis();
-DistributionPackage distributionPackage = 
wrapped.readPackage(resourceResolver, stream);
-registerDistributionPackageMBean(start, distributionPackage);
-return distributionPackage;
+return wrapped.readPackage(resourceResolver, stream);
 }
 
 @Override
 public DistributionPackage getPackage(ResourceResolver resourceResolver, 
String id) throws DistributionException {
-long start = System.currentTimeMillis();
-DistributionPackage distributionPackage = 
wrapped.getPackage(resourceResolver, id);
-registerDistributionPackageMBean(start, distributionPackage);
-return distributionPackage;
+return wrapped.getPackage(resourceResolver, id);
 }
 
 @Override
 public boolean installPackage(ResourceResolver resourceResolver, 
DistributionPackage distributionPackage) throws DistributionException {
-long start = System.currentTimeMillis();
-boolean installed = wrapped.installPackage(resourceResolver, 
distributionPackage);
-registerDistributionPackageMBean(start, distributionPackage);
-return installed;
+return wrapped.installPackage(resourceResolver, distributionPackage);
 }
 
 @Override




svn commit: r1771164 - in /sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl: FileDistributionPackageBuilder.java ResourceDistributionPackage.

2016-11-24 Thread tommaso
Author: tommaso
Date: Thu Nov 24 15:23:44 2016
New Revision: 1771164

URL: http://svn.apache.org/viewvc?rev=1771164=rev
Log:
SLING-6324 - added randomization to package ids, patch from Simone Tripodi

Modified:

sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/FileDistributionPackageBuilder.java

sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/ResourceDistributionPackage.java

Modified: 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/FileDistributionPackageBuilder.java
URL: 
http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/FileDistributionPackageBuilder.java?rev=1771164=1771163=1771164=diff
==
--- 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/FileDistributionPackageBuilder.java
 (original)
+++ 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/FileDistributionPackageBuilder.java
 Thu Nov 24 15:23:44 2016
@@ -19,6 +19,8 @@
 
 package org.apache.sling.distribution.packaging.impl;
 
+import static java.util.UUID.randomUUID;
+
 import javax.annotation.Nonnull;
 import java.io.File;
 import java.io.FileOutputStream;
@@ -81,7 +83,7 @@ public class FileDistributionPackageBuil
 final File file;
 
 try {
-file = File.createTempFile("distrpck-create-" + System.nanoTime(), 
"." + getType(), tempDirectory);
+file = File.createTempFile("distrpck-create-" + randomUUID(), "." 
+ getType(), tempDirectory);
 if (digestAlgorithm != null) {
 outputStream = openDigestOutputStream(new 
FileOutputStream(file), digestAlgorithm);
 } else {

Modified: 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/ResourceDistributionPackage.java
URL: 
http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/ResourceDistributionPackage.java?rev=1771164=1771163=1771164=diff
==
--- 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/ResourceDistributionPackage.java
 (original)
+++ 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/ResourceDistributionPackage.java
 Thu Nov 24 15:23:44 2016
@@ -18,6 +18,8 @@
  */
 package org.apache.sling.distribution.packaging.impl;
 
+import static java.util.UUID.randomUUID;
+
 import javax.annotation.Nonnull;
 import javax.annotation.Nullable;
 import javax.jcr.RepositoryException;
@@ -50,7 +52,7 @@ public class ResourceDistributionPackage
 ResourceResolver resourceResolver,
 @Nullable String digestAlgorithm,
 @Nullable String digestMessage) {
-super(resource.getPath(), type, digestAlgorithm, digestMessage);
+super(resource.getPath() + '-' + randomUUID(), type, digestAlgorithm, 
digestMessage);
 this.resourceResolver = resourceResolver;
 ValueMap valueMap = resource.getValueMap();
 assert type.equals(valueMap.get("type")) : "wrong resource type";




svn commit: r1771163 - in /sling/trunk/contrib/extensions/distribution/core/src: main/java/org/apache/sling/distribution/serialization/ test/java/org/apache/sling/distribution/serialization/impl/vlt/

2016-11-24 Thread tommaso
Author: tommaso
Date: Thu Nov 24 15:22:47 2016
New Revision: 1771163

URL: http://svn.apache.org/viewvc?rev=1771163=rev
Log:
SLING-5815 - added missing toString to export filter, minor tweak to fv 
serializer test

Modified:

sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/serialization/DistributionExportFilter.java

sling/trunk/contrib/extensions/distribution/core/src/test/java/org/apache/sling/distribution/serialization/impl/vlt/FileVaultContentSerializerTest.java

Modified: 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/serialization/DistributionExportFilter.java
URL: 
http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/serialization/DistributionExportFilter.java?rev=1771163=1771162=1771163=diff
==
--- 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/serialization/DistributionExportFilter.java
 (original)
+++ 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/serialization/DistributionExportFilter.java
 Thu Nov 24 15:22:47 2016
@@ -184,6 +184,16 @@ public class DistributionExportFilter {
 return match;
 }
 
+@Override
+public String toString() {
+return "TreeFilter{" +
+"path='" + path + '\'' +
+", includes=" + includes +
+", excludes=" + excludes +
+", deepIncludes=" + deepIncludes +
+'}';
+}
+
 private static class Entry {
 private final String path;
 private final boolean include;
@@ -203,5 +213,11 @@ public class DistributionExportFilter {
 }
 }
 
-
+@Override
+public String toString() {
+return "DistributionExportFilter{" +
+"nodeFilters=" + nodeFilters +
+", propertyFilter=" + propertyFilter +
+'}';
+}
 }

Modified: 
sling/trunk/contrib/extensions/distribution/core/src/test/java/org/apache/sling/distribution/serialization/impl/vlt/FileVaultContentSerializerTest.java
URL: 
http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/test/java/org/apache/sling/distribution/serialization/impl/vlt/FileVaultContentSerializerTest.java?rev=1771163=1771162=1771163=diff
==
--- 
sling/trunk/contrib/extensions/distribution/core/src/test/java/org/apache/sling/distribution/serialization/impl/vlt/FileVaultContentSerializerTest.java
 (original)
+++ 
sling/trunk/contrib/extensions/distribution/core/src/test/java/org/apache/sling/distribution/serialization/impl/vlt/FileVaultContentSerializerTest.java
 Thu Nov 24 15:22:47 2016
@@ -82,8 +82,6 @@ public class FileVaultContentSerializerT
 FileVaultContentSerializer fileVaultContentSerializer = new 
FileVaultContentSerializer("vlt", packaging, importMode,
 aclHandling, packageRoots, nodeFilters, propertyFilters, 
useReferences, threshold);
 
-List paths = new LinkedList();
-paths.add("/libs");
 ResourceResolver sessionResolver = mock(ResourceResolver.class);
 Session session = mock(Session.class);
 




svn commit: r1771121 - in /sling/trunk/contrib/extensions/distribution: core/src/main/java/org/apache/sling/distribution/serialization/ extensions/src/test/java/org/apache/sling/distribution/serializa

2016-11-24 Thread tommaso
Author: tommaso
Date: Thu Nov 24 11:58:29 2016
New Revision: 1771121

URL: http://svn.apache.org/viewvc?rev=1771121=rev
Log:
SLING-5815 - added more tests for kryo and avro serializers, added some 
nullable/checkfornull annotations to export options/filter

Modified:

sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/serialization/DistributionExportFilter.java

sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/serialization/DistributionExportOptions.java

sling/trunk/contrib/extensions/distribution/extensions/src/test/java/org/apache/sling/distribution/serialization/impl/avro/AvroContentSerializerTest.java

sling/trunk/contrib/extensions/distribution/extensions/src/test/java/org/apache/sling/distribution/serialization/impl/kryo/KryoContentSerializerTest.java

Modified: 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/serialization/DistributionExportFilter.java
URL: 
http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/serialization/DistributionExportFilter.java?rev=1771121=1771120=1771121=diff
==
--- 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/serialization/DistributionExportFilter.java
 (original)
+++ 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/serialization/DistributionExportFilter.java
 Thu Nov 24 11:58:29 2016
@@ -18,6 +18,7 @@
  */
 package org.apache.sling.distribution.serialization;
 
+import javax.annotation.Nonnull;
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.Collection;
@@ -42,10 +43,12 @@ public class DistributionExportFilter {
 // can only be constructed by #createFilter
 }
 
+@Nonnull
 public Set getNodeFilters() {
 return nodeFilters;
 }
 
+@Nonnull
 public TreeFilter getPropertyFilter() {
 return propertyFilter;
 }
@@ -157,6 +160,7 @@ public class DistributionExportFilter {
 excludes.add(path);
 }
 
+@Nonnull
 public String getPath() {
 return path;
 }

Modified: 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/serialization/DistributionExportOptions.java
URL: 
http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/serialization/DistributionExportOptions.java?rev=1771121=1771120=1771121=diff
==
--- 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/serialization/DistributionExportOptions.java
 (original)
+++ 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/serialization/DistributionExportOptions.java
 Thu Nov 24 11:58:29 2016
@@ -18,6 +18,8 @@
  */
 package org.apache.sling.distribution.serialization;
 
+import javax.annotation.CheckForNull;
+import javax.annotation.Nullable;
 import java.io.OutputStream;
 
 import org.apache.sling.api.resource.ResourceResolver;
@@ -32,7 +34,7 @@ public final class DistributionExportOpt
 private final DistributionRequest request;
 private final DistributionExportFilter filter;
 
-public DistributionExportOptions(DistributionRequest request, 
DistributionExportFilter filter) {
+public DistributionExportOptions(@Nullable DistributionRequest request, 
@Nullable DistributionExportFilter filter) {
 this.request = request;
 this.filter = filter;
 }
@@ -41,6 +43,7 @@ public final class DistributionExportOpt
  * get the distribution request
  * @return the distribution request
  */
+@CheckForNull
 public DistributionRequest getRequest() {
 return request;
 }
@@ -49,6 +52,7 @@ public final class DistributionExportOpt
  * get the export filter
  * @return the export filter
  */
+@CheckForNull
 public DistributionExportFilter getFilter() {
 return filter;
 }

Modified: 
sling/trunk/contrib/extensions/distribution/extensions/src/test/java/org/apache/sling/distribution/serialization/impl/avro/AvroContentSerializerTest.java
URL: 
http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/extensions/src/test/java/org/apache/sling/distribution/serialization/impl/avro/AvroContentSerializerTest.java?rev=1771121=1771120=1771121=diff
==
--- 
sling/trunk/contrib/extensions/distribution/extensions/src/test/java/org/apache/sling/distribution/serialization/impl/avro/AvroContentSerializerTest.java
 (original)
+++ 
sling/trunk/contrib/extensions/distribution/extensions/src/test/java/org/apache/sling

svn commit: r1771120 - /sling/trunk/contrib/extensions/distribution/extensions/src/main/java/org/apache/sling/distribution/serialization/impl/kryo/KryoContentSerializer.java

2016-11-24 Thread tommaso
Author: tommaso
Date: Thu Nov 24 11:57:04 2016
New Revision: 1771120

URL: http://svn.apache.org/viewvc?rev=1771120=rev
Log:
SLING-6323 - fixed deserialization with depth one resources / parents

Modified:

sling/trunk/contrib/extensions/distribution/extensions/src/main/java/org/apache/sling/distribution/serialization/impl/kryo/KryoContentSerializer.java

Modified: 
sling/trunk/contrib/extensions/distribution/extensions/src/main/java/org/apache/sling/distribution/serialization/impl/kryo/KryoContentSerializer.java
URL: 
http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/extensions/src/main/java/org/apache/sling/distribution/serialization/impl/kryo/KryoContentSerializer.java?rev=1771120=1771119=1771120=diff
==
--- 
sling/trunk/contrib/extensions/distribution/extensions/src/main/java/org/apache/sling/distribution/serialization/impl/kryo/KryoContentSerializer.java
 (original)
+++ 
sling/trunk/contrib/extensions/distribution/extensions/src/main/java/org/apache/sling/distribution/serialization/impl/kryo/KryoContentSerializer.java
 Thu Nov 24 11:57:04 2016
@@ -131,6 +131,9 @@ public class KryoContentSerializer imple
 
 private Resource createParent(ResourceResolver resourceResolver, String 
path) throws PersistenceException {
 String parentPath = path.substring(0, path.lastIndexOf('/'));
+if (parentPath.length() == 0) {
+parentPath = "/";
+}
 String name = path.substring(path.lastIndexOf('/') + 1);
 Resource parentResource = resourceResolver.getResource(parentPath);
 if (parentResource == null) {




svn commit: r1771119 - /sling/trunk/contrib/extensions/distribution/extensions/src/main/java/org/apache/sling/distribution/serialization/impl/avro/AvroContentSerializer.java

2016-11-24 Thread tommaso
Author: tommaso
Date: Thu Nov 24 11:53:17 2016
New Revision: 1771119

URL: http://svn.apache.org/viewvc?rev=1771119=rev
Log:
SLING-6322 - fixed multiple resources deserialization for avro serializer

Modified:

sling/trunk/contrib/extensions/distribution/extensions/src/main/java/org/apache/sling/distribution/serialization/impl/avro/AvroContentSerializer.java

Modified: 
sling/trunk/contrib/extensions/distribution/extensions/src/main/java/org/apache/sling/distribution/serialization/impl/avro/AvroContentSerializer.java
URL: 
http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/extensions/src/main/java/org/apache/sling/distribution/serialization/impl/avro/AvroContentSerializer.java?rev=1771119=1771118=1771119=diff
==
--- 
sling/trunk/contrib/extensions/distribution/extensions/src/main/java/org/apache/sling/distribution/serialization/impl/avro/AvroContentSerializer.java
 (original)
+++ 
sling/trunk/contrib/extensions/distribution/extensions/src/main/java/org/apache/sling/distribution/serialization/impl/avro/AvroContentSerializer.java
 Thu Nov 24 11:53:17 2016
@@ -172,12 +172,7 @@ public class AvroContentSerializer imple
 DataFileReader dataFileReader = new 
DataFileReader(new SeekableByteArrayInput(bytes), 
datumReader);
 Collection avroResources = new 
LinkedList();
 try {
-AvroShallowResource avroResource = null;
-while (dataFileReader.hasNext()) {
-// Reuse avroResource object by passing it to next(). This saves us from
-// allocating and garbage collecting many objects for files with
-// many items.
-avroResource = dataFileReader.next(avroResource);
+for (AvroShallowResource avroResource : dataFileReader) {
 avroResources.add(avroResource);
 }
 } finally {




svn commit: r1771114 - in /sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl: FileDistributionPackageBuilder.java ResourceDistributionPackageB

2016-11-24 Thread tommaso
Author: tommaso
Date: Thu Nov 24 11:05:18 2016
New Revision: 1771114

URL: http://svn.apache.org/viewvc?rev=1771114=rev
Log:
SLING-5815 - fixed inverted requestFiltering handling in file builder

Modified:

sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/FileDistributionPackageBuilder.java

sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/ResourceDistributionPackageBuilder.java

Modified: 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/FileDistributionPackageBuilder.java
URL: 
http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/FileDistributionPackageBuilder.java?rev=1771114=1771113=1771114=diff
==
--- 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/FileDistributionPackageBuilder.java
 (original)
+++ 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/FileDistributionPackageBuilder.java
 Thu Nov 24 11:05:18 2016
@@ -88,7 +88,7 @@ public class FileDistributionPackageBuil
 outputStream = new FileOutputStream(file);
 }
 
-final DistributionExportFilter filter = 
distributionContentSerializer.isRequestFiltering() ? 
DistributionExportFilter.createFilter(request, nodeFilters, propertyFilters) : 
null;
+final DistributionExportFilter filter = 
distributionContentSerializer.isRequestFiltering() ? null : 
DistributionExportFilter.createFilter(request, nodeFilters, propertyFilters);
 DistributionExportOptions distributionExportOptions = new 
DistributionExportOptions(request, filter);
 distributionContentSerializer.exportToStream(resourceResolver, 
distributionExportOptions, outputStream);
 outputStream.flush();

Modified: 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/ResourceDistributionPackageBuilder.java
URL: 
http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/ResourceDistributionPackageBuilder.java?rev=1771114=1771113=1771114=diff
==
--- 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/ResourceDistributionPackageBuilder.java
 (original)
+++ 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/ResourceDistributionPackageBuilder.java
 Thu Nov 24 11:05:18 2016
@@ -40,6 +40,7 @@ import org.apache.commons.io.IOUtils;
 import org.apache.sling.api.resource.PersistenceException;
 import org.apache.sling.api.resource.Resource;
 import org.apache.sling.api.resource.ResourceResolver;
+import org.apache.sling.api.resource.ResourceUtil;
 import org.apache.sling.distribution.DistributionRequest;
 import org.apache.sling.distribution.common.DistributionException;
 import org.apache.sling.distribution.packaging.DistributionPackage;
@@ -211,6 +212,10 @@ public class ResourceDistributionPackage
 Resource r = resourceResolver.getResource(parent, name);
 if (r != null) {
 resourceResolver.delete(r);
+} else {
+// check parent is there at least
+Resource parentResource = 
ResourceUtil.getOrCreateResource(resourceResolver, parent.getPath(), 
"nt:unstructured", "nt:unstructured", true);
+log.debug("created parent {}", parentResource.getPath());
 }
 
 Resource resource = resourceResolver.create(parent, name, props);




svn commit: r1770949 - /sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/ResourceDistributionPackageBuilder.java

2016-11-23 Thread tommaso
Author: tommaso
Date: Wed Nov 23 11:24:06 2016
New Revision: 1770949

URL: http://svn.apache.org/viewvc?rev=1770949=rev
Log:
SLING-5815 - fixed inverted requestFiltering handling

Modified:

sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/ResourceDistributionPackageBuilder.java

Modified: 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/ResourceDistributionPackageBuilder.java
URL: 
http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/ResourceDistributionPackageBuilder.java?rev=1770949=1770948=1770949=diff
==
--- 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/ResourceDistributionPackageBuilder.java
 (original)
+++ 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/ResourceDistributionPackageBuilder.java
 Wed Nov 23 11:24:06 2016
@@ -136,7 +136,7 @@ public class ResourceDistributionPackage
 }
 
 private void export(@Nonnull ResourceResolver resourceResolver, @Nonnull 
final DistributionRequest request, OutputStream outputStream) throws 
DistributionException {
-final DistributionExportFilter filter = 
distributionContentSerializer.isRequestFiltering() ? 
DistributionExportFilter.createFilter(request, nodeFilters, propertyFilters) : 
null;
+final DistributionExportFilter filter = 
distributionContentSerializer.isRequestFiltering() ? null : 
DistributionExportFilter.createFilter(request, nodeFilters, propertyFilters);
 DistributionExportOptions distributionExportOptions = new 
DistributionExportOptions(request, filter);
 distributionContentSerializer.exportToStream(resourceResolver, 
distributionExportOptions, outputStream);
 }




svn commit: r1770947 - /sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/AbstractDistributionPackageBuilder.java

2016-11-23 Thread tommaso
Author: tommaso
Date: Wed Nov 23 11:07:18 2016
New Revision: 1770947

URL: http://svn.apache.org/viewvc?rev=1770947=rev
Log:
SLING-5815 - removed unused code

Modified:

sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/AbstractDistributionPackageBuilder.java

Modified: 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/AbstractDistributionPackageBuilder.java
URL: 
http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/AbstractDistributionPackageBuilder.java?rev=1770947=1770946=1770947=diff
==
--- 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/AbstractDistributionPackageBuilder.java
 (original)
+++ 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/AbstractDistributionPackageBuilder.java
 Wed Nov 23 11:07:18 2016
@@ -258,62 +258,4 @@ public abstract class AbstractDistributi
 @CheckForNull
 protected abstract DistributionPackage getPackageInternal(@Nonnull 
ResourceResolver resourceResolver, @Nonnull String id);
 
-/**
- * extract the set of paths of resources that should be included in the 
package
- * @param request the request
- * @param resourceResolver the resource resolver used to browse the 
resource tree
- * @return a set of paths
- */
-protected Set readPaths(DistributionRequest request, 
ResourceResolver resourceResolver) {
-Set paths = new HashSet();
-
-for (String path : request.getPaths()) {
-paths.add(path);
-Resource resource = resourceResolver.getResource(path);
-if (request.isDeep(path)) {
-addSubtree(paths, resource);
-} else {
-for (Resource child : resource.getChildren()) {
-addFilteredPaths(request, child, paths);
-}
-}
-}
-return paths;
-}
-
-private void addFilteredPaths(DistributionRequest request, Resource 
resource, Set paths) {
-String path = resource.getPath();
-if (filtersAllow(request.getFilters(path), path)) {
-paths.add(path);
-for (Resource child : resource.getChildren()) {
-addFilteredPaths(request, child, paths);
-}
-}
-}
-
-private boolean filtersAllow(String[] filters, String path) {
-boolean allowed = false;
-for (String pattern : filters) {
-if (pattern.startsWith("+")) {
-if 
(Pattern.compile(pattern.substring(1)).matcher(path).matches()) {
-allowed = true;
-}
-} else if (pattern.startsWith("-")) {
-if 
(Pattern.compile(pattern.substring(1)).matcher(path).matches()) {
-allowed = false;
-}
-} else {
-allowed = Pattern.compile(pattern).matcher(path).matches();
-}
-}
-return allowed;
-}
-
-private void addSubtree(Set paths, Resource resource) {
-for (Resource r : resource.getChildren()) {
-paths.add(r.getPath());
-addSubtree(paths, r);
-}
-}
-
 }




svn commit: r1770942 - in /sling/trunk/contrib/extensions/distribution: core/ core/src/main/java/org/apache/sling/distribution/packaging/impl/ core/src/main/java/org/apache/sling/distribution/serializ

2016-11-23 Thread tommaso
Author: tommaso
Date: Wed Nov 23 10:22:05 2016
New Revision: 1770942

URL: http://svn.apache.org/viewvc?rev=1770942=rev
Log:
SLING-5815 - expose content serializer

Added:

sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/serialization/DistributionExportFilter.java
   (with props)

sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/serialization/DistributionExportOptions.java
   (with props)

sling/trunk/contrib/extensions/distribution/core/src/test/java/org/apache/sling/distribution/serialization/DistributionExportFilterTest.java
   (with props)

sling/trunk/contrib/extensions/distribution/core/src/test/java/org/apache/sling/distribution/serialization/impl/vlt/FileVaultContentSerializerTest.java
   (with props)
sling/trunk/contrib/extensions/distribution/core/src/test/resources/vlt/

sling/trunk/contrib/extensions/distribution/core/src/test/resources/vlt/dp.vlt  
 (with props)
Modified:
sling/trunk/contrib/extensions/distribution/core/pom.xml

sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/AbstractDistributionPackageBuilder.java

sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/FileDistributionPackageBuilder.java

sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/ResourceDistributionPackageBuilder.java

sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/serialization/DistributionContentSerializer.java

sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/serialization/impl/DistributionPackageBuilderFactory.java

sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/serialization/impl/vlt/FileVaultContentSerializer.java

sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/serialization/impl/vlt/VaultDistributionPackageBuilderFactory.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/test/java/org/apache/sling/distribution/queue/impl/PriorityQueueDispatchingStrategyTest.java

sling/trunk/contrib/extensions/distribution/extensions/src/main/java/org/apache/sling/distribution/serialization/impl/avro/AvroContentSerializer.java

sling/trunk/contrib/extensions/distribution/extensions/src/main/java/org/apache/sling/distribution/serialization/impl/avro/AvroDistributionContentSerializerFactory.java

sling/trunk/contrib/extensions/distribution/extensions/src/main/java/org/apache/sling/distribution/serialization/impl/kryo/KryoContentSerializer.java

sling/trunk/contrib/extensions/distribution/extensions/src/main/java/org/apache/sling/distribution/serialization/impl/kryo/KryoDistributionContentSerializerFactory.java

sling/trunk/contrib/extensions/distribution/extensions/src/test/java/org/apache/sling/distribution/serialization/impl/avro/AvroContentSerializerTest.java

sling/trunk/contrib/extensions/distribution/extensions/src/test/java/org/apache/sling/distribution/serialization/impl/kryo/KryoContentSerializerTest.java

Modified: sling/trunk/contrib/extensions/distribution/core/pom.xml
URL: 
http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/pom.xml?rev=1770942=1770941=1770942=diff
==
--- sling/trunk/contrib/extensions/distribution/core/pom.xml (original)
+++ sling/trunk/contrib/extensions/distribution/core/pom.xml Wed Nov 23 
10:22:05 2016
@@ -68,7 +68,9 @@
 
 
org.apache.sling.distribution.core
 
-org.apache.sling.distribution.util
+org.apache.sling.distribution.util,
+org.apache.sling.distribution.common,
+org.apache.sling.distribution.serialization
 
 
 org.apache.http.nio.*;resolution:=optional,
@@ -125,6 +127,12 @@
 1.1.14
 test
 
+
+org.apache.sling
+
org.apache.sling.testing.resourceresolver-mock
+1.1.12
+test
+
 
 
 org.apache.sling
@@ -267,6 +275,12 @@
 2.0.0
 provided
 
+
+org.apache.sling
+
org.apache.sling.testing.resourceresolver-mock
+1.1.15-SNAPSHOT
+test
+
 
 
 

Modified: 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl

svn commit: r1770384 - /sling/trunk/contrib/extensions/distribution/core/src/test/java/org/apache/sling/distribution/monitor/impl/

2016-11-18 Thread tommaso
Author: tommaso
Date: Fri Nov 18 14:17:30 2016
New Revision: 1770384

URL: http://svn.apache.org/viewvc?rev=1770384=rev
Log:
SLING-6300 - added patch from Simone Tripodi for MBeans testing, minor fixes to 
JcrEventTriggerTest

Added:

sling/trunk/contrib/extensions/distribution/core/src/test/java/org/apache/sling/distribution/monitor/impl/

sling/trunk/contrib/extensions/distribution/core/src/test/java/org/apache/sling/distribution/monitor/impl/DistributionPackageMBeanTest.java
   (with props)

sling/trunk/contrib/extensions/distribution/core/src/test/java/org/apache/sling/distribution/monitor/impl/DistributionQueueMBeanTest.java
   (with props)

sling/trunk/contrib/extensions/distribution/core/src/test/java/org/apache/sling/distribution/monitor/impl/ForwardDistributionAgentMBeanTest.java
   (with props)

sling/trunk/contrib/extensions/distribution/core/src/test/java/org/apache/sling/distribution/monitor/impl/QueueDistributionAgentMBeanTest.java
   (with props)

sling/trunk/contrib/extensions/distribution/core/src/test/java/org/apache/sling/distribution/monitor/impl/ReverseDistributionAgentMBeanTest.java
   (with props)

sling/trunk/contrib/extensions/distribution/core/src/test/java/org/apache/sling/distribution/monitor/impl/SimpleDistributionAgentMBeanTest.java
   (with props)

sling/trunk/contrib/extensions/distribution/core/src/test/java/org/apache/sling/distribution/monitor/impl/SyncDistributionAgentMBeanTest.java
   (with props)

sling/trunk/contrib/extensions/distribution/core/src/test/java/org/apache/sling/distribution/monitor/impl/UserCredentialsDistributionTransportSecretMBeanTest.java
   (with props)

Added: 
sling/trunk/contrib/extensions/distribution/core/src/test/java/org/apache/sling/distribution/monitor/impl/DistributionPackageMBeanTest.java
URL: 
http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/test/java/org/apache/sling/distribution/monitor/impl/DistributionPackageMBeanTest.java?rev=1770384=auto
==
--- 
sling/trunk/contrib/extensions/distribution/core/src/test/java/org/apache/sling/distribution/monitor/impl/DistributionPackageMBeanTest.java
 (added)
+++ 
sling/trunk/contrib/extensions/distribution/core/src/test/java/org/apache/sling/distribution/monitor/impl/DistributionPackageMBeanTest.java
 Fri Nov 18 14:17:30 2016
@@ -0,0 +1,68 @@
+/*
+ * 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.monitor.impl;
+
+import static 
org.apache.sling.distribution.packaging.DistributionPackageInfo.*;
+
+import static org.junit.Assert.assertArrayEquals;
+import static org.junit.Assert.assertEquals;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.when;
+
+import java.util.HashMap;
+import java.util.Map;
+
+import org.apache.sling.distribution.DistributionRequestType;
+import org.apache.sling.distribution.packaging.DistributionPackage;
+import org.apache.sling.distribution.packaging.DistributionPackageInfo;
+import org.junit.Test;
+
+/**
+ * Test case for {@link DistributionPackageMBean}
+ */
+public class DistributionPackageMBeanTest {
+
+@Test
+public void verifyMBeanExposedValues() {
+String type = "jcrvlt";
+long processingTime = 2000L;
+
+Map<String, Object> base = new HashMap<String, Object>();
+base.put(PROPERTY_REQUEST_PATHS, new String[]{ "a", "b", "c" });
+base.put(PROPERTY_REQUEST_TYPE, DistributionRequestType.ADD);
+DistributionPackageInfo distributionPackageInfo = new 
DistributionPackageInfo(type, base);
+
+DistributionPackage distributionPackage = 
mock(DistributionPackage.class);
+when(distributionPackage.getId()).thenReturn("#distributionPackage");
+when(distributionPackage.getSize()).thenReturn(1000L);
+
when(distributionPackage.getInfo()).thenReturn(distributionPackageInfo);
+
+DistributionPackageMBean mBean = new 
DistributionPackageMBeanImpl(distributionPackag

svn commit: r1770383 - in /sling/trunk/contrib/extensions/distribution/core/src: main/java/org/apache/sling/distribution/monitor/impl/ main/java/org/apache/sling/distribution/trigger/impl/ test/java/o

2016-11-18 Thread tommaso
Author: tommaso
Date: Fri Nov 18 14:17:09 2016
New Revision: 1770383

URL: http://svn.apache.org/viewvc?rev=1770383=rev
Log:
SLING-6300 - added patch from Simone Tripodi for MBeans testing, minor fixes to 
JcrEventTriggerTest

Modified:

sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/monitor/impl/DistributionPackageMBeanImpl.java

sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/monitor/impl/MonitoringDistributionPackageBuilder.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/test/java/org/apache/sling/distribution/trigger/impl/JcrEventDistributionTriggerTest.java

Modified: 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/monitor/impl/DistributionPackageMBeanImpl.java
URL: 
http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/monitor/impl/DistributionPackageMBeanImpl.java?rev=1770383=1770382=1770383=diff
==
--- 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/monitor/impl/DistributionPackageMBeanImpl.java
 (original)
+++ 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/monitor/impl/DistributionPackageMBeanImpl.java
 Fri Nov 18 14:17:09 2016
@@ -18,40 +18,30 @@
  */
 package org.apache.sling.distribution.monitor.impl;
 
+import org.apache.sling.distribution.packaging.DistributionPackage;
+
 /**
  * Implementation of {@link DistributionPackageMBean}
  */
 public final class DistributionPackageMBeanImpl implements 
DistributionPackageMBean {
 
-private final String id;
+private final DistributionPackage distributionPackage;
 
 private final String type;
 
-private final String[] paths;
-
-private final String requestType;
-
-private final long size;
-
 private final long processingTime;
 
-public DistributionPackageMBeanImpl(String id,
+public DistributionPackageMBeanImpl(DistributionPackage 
distributionPackage,
 String type,
-String[] paths,
-String requestType,
-long size,
 long processingTime) {
-this.id = id;
+this.distributionPackage = distributionPackage;
 this.type = type;
-this.paths = paths;
-this.requestType = requestType;
-this.size = size;
 this.processingTime = processingTime;
 }
 
 @Override
 public String getId() {
-return id;
+return distributionPackage.getId();
 }
 
 @Override
@@ -61,17 +51,17 @@ public final class DistributionPackageMB
 
 @Override
 public String[] getPaths() {
-return paths;
+return distributionPackage.getInfo().getPaths();
 }
 
 @Override
 public String getRequestType() {
-return requestType;
+return 
distributionPackage.getInfo().getRequestType().name().toLowerCase();
 }
 
 @Override
 public long getSize() {
-return size;
+return distributionPackage.getSize();
 }
 
 @Override

Modified: 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/monitor/impl/MonitoringDistributionPackageBuilder.java
URL: 
http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/monitor/impl/MonitoringDistributionPackageBuilder.java?rev=1770383=1770382=1770383=diff
==
--- 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/monitor/impl/MonitoringDistributionPackageBuilder.java
 (original)
+++ 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/monitor/impl/MonitoringDistributionPackageBuilder.java
 Fri Nov 18 14:17:09 2016
@@ -98,11 +98,8 @@ public final class MonitoringDistributio
 private final void registerDistributionPackageMBean(long start, 
DistributionPackage distributionPackage) {
 long processingTime = System.currentTimeMillis() - start;
 
-DistributionPackageMBean mBean = new 
DistributionPackageMBeanImpl(distributionPackage.getId(),
+DistributionPackageMBean mBean = new 
DistributionPackageMBeanImpl(distributionPackage,
   
wrapped.getType(),
-  
distributionPackage.getInfo().getPaths

svn commit: r1769290 - in /sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution: agent/impl/ monitor/impl/

2016-11-11 Thread tommaso
Author: tommaso
Date: Fri Nov 11 14:25:37 2016
New Revision: 1769290

URL: http://svn.apache.org/viewvc?rev=1769290=rev
Log:
SLING-6238 - adding jmx support for queue providers

Added:

sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/monitor/impl/DistributionQueueMBean.java
   (with props)

sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/monitor/impl/DistributionQueueMBeanImpl.java
   (with props)

sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/monitor/impl/MonitoringDistributionQueueProvider.java
   (with props)
Modified:

sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/agent/impl/ForwardDistributionAgentFactory.java

sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/agent/impl/QueueDistributionAgentFactory.java

sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/agent/impl/ReverseDistributionAgentFactory.java

sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/agent/impl/SyncDistributionAgentFactory.java

Modified: 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/agent/impl/ForwardDistributionAgentFactory.java
URL: 
http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/agent/impl/ForwardDistributionAgentFactory.java?rev=1769290=1769289=1769290=diff
==
--- 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/agent/impl/ForwardDistributionAgentFactory.java
 (original)
+++ 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/agent/impl/ForwardDistributionAgentFactory.java
 Fri Nov 11 14:25:37 2016
@@ -46,6 +46,7 @@ import org.apache.sling.distribution.eve
 import org.apache.sling.distribution.log.impl.DefaultDistributionLog;
 import 
org.apache.sling.distribution.monitor.impl.ForwardDistributionAgentMBean;
 import 
org.apache.sling.distribution.monitor.impl.ForwardDistributionAgentMBeanImpl;
+import 
org.apache.sling.distribution.monitor.impl.MonitoringDistributionQueueProvider;
 import org.apache.sling.distribution.packaging.DistributionPackageBuilder;
 import org.apache.sling.distribution.packaging.DistributionPackageExporter;
 import org.apache.sling.distribution.packaging.DistributionPackageImporter;
@@ -248,6 +249,7 @@ public class ForwardDistributionAgentFac
 } else {
 queueProvider = new SimpleDistributionQueueProvider(scheduler, 
agentName, true);
 }
+queueProvider = new MonitoringDistributionQueueProvider(queueProvider, 
context);
 
 DistributionQueueDispatchingStrategy exportQueueStrategy;
 DistributionQueueDispatchingStrategy errorQueueStrategy = null;

Modified: 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/agent/impl/QueueDistributionAgentFactory.java
URL: 
http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/agent/impl/QueueDistributionAgentFactory.java?rev=1769290=1769289=1769290=diff
==
--- 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/agent/impl/QueueDistributionAgentFactory.java
 (original)
+++ 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/agent/impl/QueueDistributionAgentFactory.java
 Fri Nov 11 14:25:37 2016
@@ -38,6 +38,7 @@ import org.apache.sling.distribution.com
 import org.apache.sling.distribution.component.impl.SettingsUtils;
 import org.apache.sling.distribution.event.impl.DistributionEventFactory;
 import org.apache.sling.distribution.log.impl.DefaultDistributionLog;
+import 
org.apache.sling.distribution.monitor.impl.MonitoringDistributionQueueProvider;
 import org.apache.sling.distribution.monitor.impl.QueueDistributionAgentMBean;
 import 
org.apache.sling.distribution.monitor.impl.QueueDistributionAgentMBeanImpl;
 import org.apache.sling.distribution.packaging.DistributionPackageBuilder;
@@ -176,7 +177,8 @@ public class QueueDistributionAgentFacto
 priorityQueues = SettingsUtils.removeEmptyEntries(priorityQueues);
 
 
-DistributionQueueProvider queueProvider = new 
JobHandlingDistributionQueueProvider(agentName, jobManager, context);
+DistributionQueueProvider queueProvider = new 
MonitoringDistributionQueueProvider(new 
JobHandlingDistributionQueueProvider(agentName, jobManager, context), context);
+
 DistributionQueueDispatchingStrategy exportQueueStrategy = null;
 
 

Modified: 
sling/trunk/contrib/extensions

svn commit: r1768058 - in /sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution: monitor/impl/ serialization/impl/ serialization/impl/vlt/

2016-11-04 Thread tommaso
Author: tommaso
Date: Fri Nov  4 15:57:44 2016
New Revision: 1768058

URL: http://svn.apache.org/viewvc?rev=1768058=rev
Log:
SLING-6232 - applied patch from Simone Tripodi about monitoring package builders

Added:

sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/monitor/impl/DistributionPackageMBean.java
   (with props)

sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/monitor/impl/DistributionPackageMBeanImpl.java
   (with props)

sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/monitor/impl/MonitoringDistributionPackageBuilder.java
   (with props)
Modified:

sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/serialization/impl/DistributionPackageBuilderFactory.java

sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/serialization/impl/vlt/VaultDistributionPackageBuilderFactory.java

Added: 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/monitor/impl/DistributionPackageMBean.java
URL: 
http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/monitor/impl/DistributionPackageMBean.java?rev=1768058=auto
==
--- 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/monitor/impl/DistributionPackageMBean.java
 (added)
+++ 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/monitor/impl/DistributionPackageMBean.java
 Fri Nov  4 15:57:44 2016
@@ -0,0 +1,40 @@
+/*
+ * 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.monitor.impl;
+
+import org.apache.sling.distribution.packaging.DistributionPackage;
+
+/**
+ * An Mbean for a {@link DistributionPackage}
+ */
+public interface DistributionPackageMBean {
+
+String getId();
+
+String getType();
+
+String[] getPaths();
+
+String getRequestType();
+
+long getSize();
+
+long getProcessingTime();
+
+}

Propchange: 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/monitor/impl/DistributionPackageMBean.java
--
svn:eol-style = native

Added: 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/monitor/impl/DistributionPackageMBeanImpl.java
URL: 
http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/monitor/impl/DistributionPackageMBeanImpl.java?rev=1768058=auto
==
--- 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/monitor/impl/DistributionPackageMBeanImpl.java
 (added)
+++ 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/monitor/impl/DistributionPackageMBeanImpl.java
 Fri Nov  4 15:57:44 2016
@@ -0,0 +1,82 @@
+/*
+ * 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.monitor.impl;
+
+/**
+ * Implementation of {@link Distributi

svn commit: r1767845 - /sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/trigger/impl/JcrEventDistributionTriggerFactory.java

2016-11-03 Thread tommaso
Author: tommaso
Date: Thu Nov  3 09:15:17 2016
New Revision: 1767845

URL: http://svn.apache.org/viewvc?rev=1767845=rev
Log:
SLING-6210 - added missing default value for deep distribution

Modified:

sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/trigger/impl/JcrEventDistributionTriggerFactory.java

Modified: 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/trigger/impl/JcrEventDistributionTriggerFactory.java
URL: 
http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/trigger/impl/JcrEventDistributionTriggerFactory.java?rev=1767845=1767844=1767845=diff
==
--- 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/trigger/impl/JcrEventDistributionTriggerFactory.java
 (original)
+++ 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/trigger/impl/JcrEventDistributionTriggerFactory.java
 Thu Nov  3 09:15:17 2016
@@ -74,7 +74,7 @@ public class JcrEventDistributionTrigger
 /**
  * use deep distribution
  */
-@Property(label = "Use deep distribution", description = "Distribute 
entire subtree of the event node path")
+@Property(label = "Use deep distribution", description = "Distribute 
entire subtree of the event node path", boolValue = false)
 private static final String DEEP = "deep";
 
 




svn commit: r1767029 - in /sling/trunk/contrib/extensions/distribution/core/src: main/java/org/apache/sling/distribution/agent/impl/ main/java/org/apache/sling/distribution/trigger/impl/ test/java/org

2016-10-28 Thread tommaso
Author: tommaso
Date: Fri Oct 28 14:34:01 2016
New Revision: 1767029

URL: http://svn.apache.org/viewvc?rev=1767029=rev
Log:
SLING-6210 - added deep option to jcr event trigger, minor fix to abstract 
agent factory to sync triggers registration

Modified:

sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/agent/impl/AbstractDistributionAgentFactory.java

sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/trigger/impl/AbstractJcrEventTrigger.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/JcrEventDistributionTriggerFactory.java

sling/trunk/contrib/extensions/distribution/core/src/test/java/org/apache/sling/distribution/trigger/impl/JcrEventDistributionTriggerTest.java

Modified: 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/agent/impl/AbstractDistributionAgentFactory.java
URL: 
http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/agent/impl/AbstractDistributionAgentFactory.java?rev=1767029=1767028=1767029=diff
==
--- 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/agent/impl/AbstractDistributionAgentFactory.java
 (original)
+++ 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/agent/impl/AbstractDistributionAgentFactory.java
 Fri Oct 28 14:34:01 2016
@@ -144,7 +144,7 @@ abstract class AbstractDistributionAgent
 }
 }
 
-void bindDistributionTrigger(DistributionTrigger distributionTrigger, 
Map<String, Object> config) {
+synchronized void bindDistributionTrigger(DistributionTrigger 
distributionTrigger, Map<String, Object> config) {
 triggers.add(distributionTrigger);
 if (agent != null && triggersEnabled) {
 agent.enableTrigger(distributionTrigger);
@@ -152,7 +152,7 @@ abstract class AbstractDistributionAgent
 
 }
 
-void unbindDistributionTrigger(DistributionTrigger distributionTrigger, 
Map<String, Object> config) {
+synchronized void unbindDistributionTrigger(DistributionTrigger 
distributionTrigger, Map<String, Object> config) {
 triggers.remove(distributionTrigger);
 
 if (agent != null) {

Modified: 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/trigger/impl/AbstractJcrEventTrigger.java
URL: 
http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/trigger/impl/AbstractJcrEventTrigger.java?rev=1767029=1767028=1767029=diff
==
--- 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/trigger/impl/AbstractJcrEventTrigger.java
 (original)
+++ 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/trigger/impl/AbstractJcrEventTrigger.java
 Fri Oct 28 14:34:01 2016
@@ -150,6 +150,7 @@ public abstract class AbstractJcrEventTr
 void addToList(DistributionRequest request, List 
requestList) {
 DistributionRequest lastRequest = requestList.isEmpty() ? null : 
requestList.get(requestList.size() - 1);
 
+log.debug("adding request {} to {}", request, requestList);
 if (lastRequest == null || 
!lastRequest.getRequestType().equals(request.getRequestType())) {
 requestList.add(request);
 } else if (hasDeepPaths(request) || hasDeepPaths(lastRequest)) {
@@ -164,6 +165,7 @@ public abstract class AbstractJcrEventTr
 lastRequest = new 
SimpleDistributionRequest(lastRequest.getRequestType(), allPaths.toArray(new 
String[allPaths.size()]));
 requestList.set(requestList.size() - 1, lastRequest);
 }
+log.debug("current requests {}", requestList);
 }
 
 void addMissingPaths(Set allPaths) {

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=1767029=1767028=1767029=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/distri

svn commit: r1766673 - in /sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/monitor/impl: UserCredentialsDistributionTransportSecretMBean.java UserCredentia

2016-10-26 Thread tommaso
Author: tommaso
Date: Wed Oct 26 11:59:09 2016
New Revision: 1766673

URL: http://svn.apache.org/viewvc?rev=1766673=rev
Log:
SLING-6189 - applied patch from Simone Tripodi for UCDTSP mbean

Added:

sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/monitor/impl/UserCredentialsDistributionTransportSecretMBean.java
   (with props)

sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/monitor/impl/UserCredentialsDistributionTransportSecretMBeanImpl.java
   (with props)

Added: 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/monitor/impl/UserCredentialsDistributionTransportSecretMBean.java
URL: 
http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/monitor/impl/UserCredentialsDistributionTransportSecretMBean.java?rev=1766673=auto
==
--- 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/monitor/impl/UserCredentialsDistributionTransportSecretMBean.java
 (added)
+++ 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/monitor/impl/UserCredentialsDistributionTransportSecretMBean.java
 Wed Oct 26 11:59:09 2016
@@ -0,0 +1,33 @@
+/*
+ * 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.monitor.impl;
+
+/**
+ * User Credentials based Distribution Transport Secret.
+ */
+public interface UserCredentialsDistributionTransportSecretMBean {
+
+/**
+ * Check if the current credential is using the administrative user to 
transport.
+ *
+ * @return true, if the current credential is using the administrative 
user to transport, false otherwise.
+ */
+boolean useAdministrativeTransport();
+
+}

Propchange: 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/monitor/impl/UserCredentialsDistributionTransportSecretMBean.java
--
svn:eol-style = native

Added: 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/monitor/impl/UserCredentialsDistributionTransportSecretMBeanImpl.java
URL: 
http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/monitor/impl/UserCredentialsDistributionTransportSecretMBeanImpl.java?rev=1766673=auto
==
--- 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/monitor/impl/UserCredentialsDistributionTransportSecretMBeanImpl.java
 (added)
+++ 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/monitor/impl/UserCredentialsDistributionTransportSecretMBeanImpl.java
 Wed Oct 26 11:59:09 2016
@@ -0,0 +1,40 @@
+/*
+ * 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.monitor.impl;
+
+/**
+ * The {@link UserCredentialsDistributionTransportSecretMBean} implementation.
+ */
+public class UserCredentialsDistributionTransportSecretMBeanImpl
+implements UserCredentialsDistributionTransportSecretMBean {
+
+private static fina

svn commit: r1766672 - /sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/transport/impl/UserCredentialsDistributionTransportSecretProvider.java

2016-10-26 Thread tommaso
Author: tommaso
Date: Wed Oct 26 11:58:43 2016
New Revision: 1766672

URL: http://svn.apache.org/viewvc?rev=1766672=rev
Log:
SLING-6189 - applied patch from Simone Tripodi for UCDTSP mbean

Modified:

sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/transport/impl/UserCredentialsDistributionTransportSecretProvider.java

Modified: 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/transport/impl/UserCredentialsDistributionTransportSecretProvider.java
URL: 
http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/transport/impl/UserCredentialsDistributionTransportSecretProvider.java?rev=1766672=1766671=1766672=diff
==
--- 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/transport/impl/UserCredentialsDistributionTransportSecretProvider.java
 (original)
+++ 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/transport/impl/UserCredentialsDistributionTransportSecretProvider.java
 Wed Oct 26 11:58:43 2016
@@ -20,18 +20,27 @@ package org.apache.sling.distribution.tr
 
 import java.net.URI;
 import java.util.Collections;
+import java.util.Dictionary;
 import java.util.HashMap;
+import java.util.Hashtable;
 import java.util.Map;
 
+import javax.management.ObjectName;
+
 import org.apache.felix.scr.annotations.Activate;
 import org.apache.felix.scr.annotations.Component;
 import org.apache.felix.scr.annotations.ConfigurationPolicy;
+import org.apache.felix.scr.annotations.Deactivate;
 import org.apache.felix.scr.annotations.Property;
 import org.apache.felix.scr.annotations.Service;
 import org.apache.sling.commons.osgi.PropertiesUtil;
 import 
org.apache.sling.distribution.component.impl.DistributionComponentConstants;
+import 
org.apache.sling.distribution.monitor.impl.UserCredentialsDistributionTransportSecretMBean;
+import 
org.apache.sling.distribution.monitor.impl.UserCredentialsDistributionTransportSecretMBeanImpl;
 import org.apache.sling.distribution.transport.DistributionTransportSecret;
 import 
org.apache.sling.distribution.transport.DistributionTransportSecretProvider;
+import org.osgi.framework.BundleContext;
+import org.osgi.framework.ServiceRegistration;
 
 @Component(metatype = true,
 label = "Apache Sling Distribution Transport Credentials - User 
Credentials based DistributionTransportSecretProvider",
@@ -58,10 +67,30 @@ public class UserCredentialsDistribution
 private String username;
 private String password;
 
+private ServiceRegistration mbeanServiceRegistration;
+
 @Activate
-protected void activate(Map<String, Object> config) {
+protected void activate(BundleContext context, Map<String, Object> config) 
{
 username = PropertiesUtil.toString(config.get(USERNAME), "").trim();
 password = PropertiesUtil.toString(config.get(PASSWORD), "").trim();
+
+String id = String.valueOf(username.hashCode());
+
+Dictionary<String, String> mbeanProps = new Hashtable<String, 
String>();
+mbeanProps.put("jmx.objectname", 
"org.apache.sling.distribution:type=transport,id=" + ObjectName.quote(id));
+
+UserCredentialsDistributionTransportSecretMBean mbean =
+new 
UserCredentialsDistributionTransportSecretMBeanImpl(username);
+mbeanServiceRegistration =
+
context.registerService(UserCredentialsDistributionTransportSecretMBean.class.getName(),
 mbean, mbeanProps);
+}
+
+@Deactivate
+protected void deactivate() {
+if (mbeanServiceRegistration != null) {
+mbeanServiceRegistration.unregister();
+}
+mbeanServiceRegistration = null;
 }
 
 public DistributionTransportSecret getSecret(URI uri) {




svn commit: r1764869 - in /sling/trunk/contrib/extensions/distribution/core: ./ src/main/java/org/apache/sling/distribution/trigger/impl/ src/test/java/org/apache/sling/distribution/trigger/impl/

2016-10-14 Thread tommaso
Author: tommaso
Date: Fri Oct 14 10:50:42 2016
New Revision: 1764869

URL: http://svn.apache.org/viewvc?rev=1764869=rev
Log:
SLING-6054 - fixed missing paths check

Added:

sling/trunk/contrib/extensions/distribution/core/src/test/java/org/apache/sling/distribution/trigger/impl/AbstractJcrEventTriggerTest.java
   (with props)
Modified:
sling/trunk/contrib/extensions/distribution/core/pom.xml

sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/trigger/impl/AbstractJcrEventTrigger.java

sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/trigger/impl/JcrEventDistributionTriggerFactory.java

Modified: sling/trunk/contrib/extensions/distribution/core/pom.xml
URL: 
http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/pom.xml?rev=1764869=1764868=1764869=diff
==
--- sling/trunk/contrib/extensions/distribution/core/pom.xml (original)
+++ sling/trunk/contrib/extensions/distribution/core/pom.xml Fri Oct 14 
10:50:42 2016
@@ -119,6 +119,12 @@
 2.6.4
 test
 
+
+org.apache.sling
+
org.apache.sling.testing.resourceresolver-mock
+1.1.14
+test
+
 
 
 org.apache.sling

Modified: 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/trigger/impl/AbstractJcrEventTrigger.java
URL: 
http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/trigger/impl/AbstractJcrEventTrigger.java?rev=1764869=1764868=1764869=diff
==
--- 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/trigger/impl/AbstractJcrEventTrigger.java
 (original)
+++ 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/trigger/impl/AbstractJcrEventTrigger.java
 Fri Oct 14 10:50:42 2016
@@ -26,6 +26,7 @@ import javax.jcr.observation.EventIterat
 import javax.jcr.observation.EventListener;
 import java.util.ArrayList;
 import java.util.Arrays;
+import java.util.HashSet;
 import java.util.List;
 import java.util.Map;
 import java.util.Set;
@@ -70,7 +71,8 @@ public abstract class AbstractJcrEventTr
 
 private final Scheduler scheduler;
 
-AbstractJcrEventTrigger(SlingRepository repository, Scheduler scheduler, 
ResourceResolverFactory resolverFactory, String path, String serviceUser) {
+AbstractJcrEventTrigger(SlingRepository repository, Scheduler scheduler, 
ResourceResolverFactory resolverFactory,
+String path, String serviceUser) {
 this.resolverFactory = resolverFactory;
 if (path == null || serviceUser == null) {
 throw new IllegalArgumentException("path and service are 
required");
@@ -107,7 +109,7 @@ public abstract class AbstractJcrEventTr
 }
 }
 
-private class JcrEventDistributionTriggerListener implements EventListener 
{
+class JcrEventDistributionTriggerListener implements EventListener {
 private final DistributionRequestHandler requestHandler;
 
 public JcrEventDistributionTriggerListener(DistributionRequestHandler 
requestHandler) {
@@ -145,7 +147,7 @@ public abstract class AbstractJcrEventTr
 }
 }
 
-private void addToList(DistributionRequest request, 
List requestList) {
+void addToList(DistributionRequest request, List 
requestList) {
 DistributionRequest lastRequest = requestList.isEmpty() ? null : 
requestList.get(requestList.size() - 1);
 
 if (lastRequest == null || 
!lastRequest.getRequestType().equals(request.getRequestType())) {
@@ -157,20 +159,20 @@ public abstract class AbstractJcrEventTr
 allPaths.addAll(Arrays.asList(lastRequest.getPaths()));
 allPaths.addAll(Arrays.asList(request.getPaths()));
 
-addMissingPaths(request, allPaths);
+addMissingPaths(allPaths);
 
 lastRequest = new 
SimpleDistributionRequest(lastRequest.getRequestType(), allPaths.toArray(new 
String[allPaths.size()]));
 requestList.set(requestList.size() - 1, lastRequest);
 }
 }
 
-private void addMissingPaths(DistributionRequest request, Set 
allPaths) {
-List requestPaths = Arrays.asList(request.getPaths());
+void addMissingPaths(Set allPaths) {
+Set newPaths = new HashSet();
 
-for (String path : requestPaths) {
+for (String path : allPaths) {
 for (String existingPath : allPaths) {
 // in case a requested path is descendant of an existing path, 
also add its siblings
-if (existingPath.length() > path.length() && 
path.startsWith(existingPath)) {
+  

svn commit: r1763764 - in /sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution: agent/impl/ monitor/impl/

2016-10-07 Thread tommaso
Author: tommaso
Date: Fri Oct  7 13:42:17 2016
New Revision: 1763764

URL: http://svn.apache.org/viewvc?rev=1763764=rev
Log:
SLING-6101 - introduced agent mbeans, patch by Simone Tripodi

Added:

sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/monitor/impl/

sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/monitor/impl/ForwardDistributionAgentMBean.java
   (with props)

sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/monitor/impl/ForwardDistributionAgentMBeanImpl.java
   (with props)

sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/monitor/impl/QueueDistributionAgentMBean.java
   (with props)

sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/monitor/impl/QueueDistributionAgentMBeanImpl.java
   (with props)

sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/monitor/impl/ReverseDistributionAgentMBean.java
   (with props)

sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/monitor/impl/ReverseDistributionAgentMBeanImpl.java
   (with props)

sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/monitor/impl/SimpleDistributionAgentMBean.java
   (with props)

sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/monitor/impl/SimpleDistributionAgentMBeanImpl.java
   (with props)

sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/monitor/impl/SyncDistributionAgentMBean.java
   (with props)

sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/monitor/impl/SyncDistributionAgentMBeanImpl.java
   (with props)
Modified:

sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/agent/impl/AbstractDistributionAgentFactory.java

sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/agent/impl/ForwardDistributionAgentFactory.java

sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/agent/impl/QueueDistributionAgentFactory.java

sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/agent/impl/ReverseDistributionAgentFactory.java

sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/agent/impl/SimpleDistributionAgentFactory.java

sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/agent/impl/SyncDistributionAgentFactory.java

Modified: 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/agent/impl/AbstractDistributionAgentFactory.java
URL: 
http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/agent/impl/AbstractDistributionAgentFactory.java?rev=1763764=1763763=1763764=diff
==
--- 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/agent/impl/AbstractDistributionAgentFactory.java
 (original)
+++ 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/agent/impl/AbstractDistributionAgentFactory.java
 Fri Oct  7 13:42:17 2016
@@ -24,6 +24,8 @@ import java.util.List;
 import java.util.Map;
 import java.util.concurrent.CopyOnWriteArrayList;
 
+import javax.management.ObjectName;
+
 import org.apache.sling.commons.osgi.PropertiesUtil;
 import org.apache.sling.distribution.agent.DistributionAgent;
 import 
org.apache.sling.distribution.component.impl.DistributionComponentConstants;
@@ -41,7 +43,7 @@ import org.slf4j.LoggerFactory;
 /**
  * An abstract OSGi service factory for registering {@link 
org.apache.sling.distribution.agent.impl.SimpleDistributionAgent}s
  */
-abstract class AbstractDistributionAgentFactory {
+abstract class AbstractDistributionAgentFactory {
 private final Logger log = LoggerFactory.getLogger(getClass());
 
 private static final String NAME = DistributionComponentConstants.PN_NAME;
@@ -54,14 +56,20 @@ abstract class AbstractDistributionAgent
 
 static final String LOG_LEVEL = "log.level";
 
+private final Class distributionAgentMBeanType;
 
 private ServiceRegistration componentReg;
+private ServiceRegistration mbeanServiceRegistration;
 private String agentName;
 private final List triggers = new 
CopyOnWriteArrayList();
 private boolean triggersEnabled = false;
 
 private SimpleDistributionAgent agent;
 
+public AbstractDistributionAgentFactory(Class 
distributionAgentMBeanType) {
+this.distributionAgen

svn commit: r1763231 - /sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/servlet/DistributionAgentCreationFilter.java

2016-10-04 Thread tommaso
Author: tommaso
Date: Tue Oct  4 06:31:29 2016
New Revision: 1763231

URL: http://svn.apache.org/viewvc?rev=1763231=rev
Log:
SLING-5900 - added filter to avoid creation of duplicate IDs, patch from Simone 
Tripodi

Added:

sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/servlet/DistributionAgentCreationFilter.java
   (with props)

Added: 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/servlet/DistributionAgentCreationFilter.java
URL: 
http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/servlet/DistributionAgentCreationFilter.java?rev=1763231=auto
==
--- 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/servlet/DistributionAgentCreationFilter.java
 (added)
+++ 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/servlet/DistributionAgentCreationFilter.java
 Tue Oct  4 06:31:29 2016
@@ -0,0 +1,117 @@
+/*
+ * 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.servlet;
+
+import javax.servlet.Filter;
+import javax.servlet.FilterChain;
+import javax.servlet.FilterConfig;
+import javax.servlet.ServletException;
+import javax.servlet.ServletRequest;
+import javax.servlet.ServletResponse;
+import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
+
+import org.apache.felix.scr.annotations.Activate;
+import org.apache.felix.scr.annotations.Component;
+import org.apache.felix.scr.annotations.Properties;
+import org.apache.felix.scr.annotations.Property;
+import org.apache.felix.scr.annotations.Service;
+import org.apache.sling.api.SlingHttpServletRequest;
+import org.apache.sling.distribution.agent.DistributionAgent;
+import org.osgi.framework.BundleContext;
+import org.osgi.framework.InvalidSyntaxException;
+import org.osgi.framework.ServiceReference;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import static java.lang.String.format;
+import static javax.servlet.http.HttpServletResponse.SC_CONFLICT;
+
+/**
+ * {@link Filter} to avoid creation of duplicate agents.
+ */
+@Component(immediate = true, metatype = false)
+@Service(value = Filter.class)
+@Properties({
+@Property(name = "service.description", value = "Duplicate replication 
agents IDs checking Filter"),
+@Property(name = "service.vendor", value = "The Apache Software 
Foundation"),
+@Property(name = "sling.filter.scope", value = "request"),
+@Property(name = "sling.filter.pattern", value = 
"/libs/sling/distribution/settings/agents/.*"),
+@Property(name = "osgi.http.whiteboard.filter.regex", value = 
"/libs/sling/distribution/settings/agents/.*"),
+@Property(name = "service.ranking", intValue = Integer.MAX_VALUE)
+})
+public final class DistributionAgentCreationFilter implements Filter {
+
+private static final String METHOD_POST = "POST";
+
+private static final String NAME = "name";
+
+private static final String TYPE = "type";
+
+private static final String FACTORY_FILTER_PATTERN = 
"(&(name=%s)(!(type=%s)))";
+
+private BundleContext context;
+
+private final Logger log = LoggerFactory.getLogger(getClass());
+
+@Activate
+protected void activate(BundleContext context) {
+this.context = context;
+}
+
+@Override
+public void init(FilterConfig filterConfig) throws ServletException {
+// do nothing
+}
+
+@Override
+public void doFilter(ServletRequest request, ServletResponse response, 
FilterChain chain) throws IOException, ServletException {
+SlingHttpServletRequest servletRequest = (SlingHttpServletRequest) 
request;
+
+// only intercept POST requests
+if (METHOD_POST.equalsIgnoreCase(servletRequest.getMethod())) {
+String name = request.getParameter(NAME);
+ 

svn commit: r1761073 - /sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/trigger/impl/AbstractJcrEventTrigger.java

2016-09-16 Thread tommaso
Author: tommaso
Date: Fri Sep 16 19:53:47 2016
New Revision: 1761073

URL: http://svn.apache.org/viewvc?rev=1761073=rev
Log:
SLING-6054 - creating missing paths for jcr event trigger

Modified:

sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/trigger/impl/AbstractJcrEventTrigger.java

Modified: 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/trigger/impl/AbstractJcrEventTrigger.java
URL: 
http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/trigger/impl/AbstractJcrEventTrigger.java?rev=1761073=1761072=1761073=diff
==
--- 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/trigger/impl/AbstractJcrEventTrigger.java
 (original)
+++ 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/trigger/impl/AbstractJcrEventTrigger.java
 Fri Sep 16 19:53:47 2016
@@ -33,6 +33,7 @@ import java.util.TreeSet;
 import java.util.concurrent.ConcurrentHashMap;
 
 import org.apache.sling.api.resource.LoginException;
+import org.apache.sling.api.resource.Resource;
 import org.apache.sling.api.resource.ResourceResolver;
 import org.apache.sling.api.resource.ResourceResolverFactory;
 import org.apache.sling.commons.scheduler.Scheduler;
@@ -114,7 +115,7 @@ public abstract class AbstractJcrEventTr
 }
 
 public void onEvent(EventIterator eventIterator) {
-log.info("jcr trigger onevent");
+log.debug("jcr trigger on event");
 
 List requestList = new 
ArrayList();
 
@@ -128,14 +129,13 @@ public abstract class AbstractJcrEventTr
 addToList(request, requestList);
 }
 } else {
-log.info("skip unsafe event {}", event);
+log.debug("skip unsafe event {}", event);
 }
 } catch (RepositoryException e) {
 log.error("Error while handling event {}", event, e);
 }
 }
 
-
 if (requestList.size() > 0) {
 boolean scheduled = scheduler.schedule(new 
DistributionExecutor(requestList, requestHandler), scheduler.NOW());
 
@@ -156,11 +156,46 @@ public abstract class AbstractJcrEventTr
 Set allPaths = new TreeSet();
 allPaths.addAll(Arrays.asList(lastRequest.getPaths()));
 allPaths.addAll(Arrays.asList(request.getPaths()));
+
+addMissingPaths(request, allPaths);
+
 lastRequest = new 
SimpleDistributionRequest(lastRequest.getRequestType(), allPaths.toArray(new 
String[allPaths.size()]));
 requestList.set(requestList.size() - 1, lastRequest);
 }
 }
 
+private void addMissingPaths(DistributionRequest request, Set 
allPaths) {
+List requestPaths = Arrays.asList(request.getPaths());
+
+for (String path : requestPaths) {
+for (String existingPath : allPaths) {
+// in case a requested path is descendant of an existing path, 
also add its siblings
+if (existingPath.length() > path.length() && 
path.startsWith(existingPath)) {
+ResourceResolver resourceResolver = null;
+try {
+resourceResolver = 
DistributionUtils.loginService(resolverFactory, serviceUser);
+Resource resource = resourceResolver.getResource(path);
+if (resource != null) {
+for (Resource child : 
resource.getParent().getChildren()) {
+String childPath = child.getPath();
+if (!childPath.equals(path)) {
+allPaths.add(childPath);
+}
+}
+} else {
+throw new RuntimeException("resource at path " + 
path + " is null");
+}
+} catch (LoginException le) {
+log.error("cannot obtain resource resolver for {}", 
serviceUser);
+} finally {
+DistributionUtils.safelyLogout(resourceResolver);
+}
+}
+}
+}
+
+}
+
 public void enable() {
 
 }
@@ -211,7 +246,7 @@ public abstract class AbstractJcrEventTr
  */
 Session getSession() throws RepositoryException {
 return cachedSession != null ? cachedSession
-: (cachedSession = repository.loginService(serviceUser, null));
+: (cachedSession = repository.loginService(serviceUser, null));
 }
 
 




svn commit: r1761028 - /sling/trunk/contrib/extensions/distribution/core/pom.xml

2016-09-16 Thread tommaso
Author: tommaso
Date: Fri Sep 16 13:13:54 2016
New Revision: 1761028

URL: http://svn.apache.org/viewvc?rev=1761028=rev
Log:
SLING-6041 - fixed import-package directive

Modified:
sling/trunk/contrib/extensions/distribution/core/pom.xml

Modified: sling/trunk/contrib/extensions/distribution/core/pom.xml
URL: 
http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/pom.xml?rev=1761028=1761027=1761028=diff
==
--- sling/trunk/contrib/extensions/distribution/core/pom.xml (original)
+++ sling/trunk/contrib/extensions/distribution/core/pom.xml Fri Sep 16 
13:13:54 2016
@@ -71,7 +71,8 @@
 org.apache.sling.distribution.util
 
 
-org.apache.http.nio.*resolution:=optional,
+org.apache.http.nio.*;resolution:=optional,
+
org.apache.http.impl.nio.client.*;resolution:=optional,
 org.apache.sling.event.jobs;version="[1.5.0,3.0)",
 
org.apache.sling.event.jobs.consumer;version="[1.1,2)",
 org.apache.sling.jcr.api;version="2.2.0",




svn commit: r1759441 - /sling/trunk/contrib/extensions/distribution/core/pom.xml

2016-09-06 Thread tommaso
Author: tommaso
Date: Tue Sep  6 15:01:01 2016
New Revision: 1759441

URL: http://svn.apache.org/viewvc?rev=1759441=rev
Log:
SLING-6041 - avoid embedding httpasyncclient

Modified:
sling/trunk/contrib/extensions/distribution/core/pom.xml

Modified: sling/trunk/contrib/extensions/distribution/core/pom.xml
URL: 
http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/pom.xml?rev=1759441=1759440=1759441=diff
==
--- sling/trunk/contrib/extensions/distribution/core/pom.xml (original)
+++ sling/trunk/contrib/extensions/distribution/core/pom.xml Tue Sep  6 
15:01:01 2016
@@ -71,9 +71,12 @@
 org.apache.sling.distribution.util
 
 
-
org.apache.sling.event.jobs;version="[1.5.0,3.0)",org.apache.sling.event.jobs.consumer;version="[1.1,2)",org.apache.sling.jcr.api;version="2.2.0",*
+org.apache.http.nio.*resolution:=optional,
+org.apache.sling.event.jobs;version="[1.5.0,3.0)",
+
org.apache.sling.event.jobs.consumer;version="[1.1,2)",
+org.apache.sling.jcr.api;version="2.2.0",
+*
 
-httpasyncclient
 
 
 
@@ -218,6 +221,7 @@
 org.apache.httpcomponents
 httpasyncclient
 4.0.2
+provided
 
 
 org.apache.httpcomponents




svn commit: r1756793 - in /sling/trunk/contrib/extensions/distribution/core/src: main/java/org/apache/sling/distribution/agent/impl/ test/java/org/apache/sling/distribution/agent/impl/

2016-08-18 Thread tommaso
Author: tommaso
Date: Thu Aug 18 14:29:47 2016
New Revision: 1756793

URL: http://svn.apache.org/viewvc?rev=1756793=rev
Log:
SLING-5977 - moved SimpleDistributionAgent remaining inner class out, added 
tests

Added:

sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/agent/impl/TriggerAgentRequestHandler.java
   (with props)

sling/trunk/contrib/extensions/distribution/core/src/test/java/org/apache/sling/distribution/agent/impl/TriggerAgentRequestHandlerTest.java
   (with props)
Modified:

sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/agent/impl/SimpleDistributionAgent.java

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=1756793=1756792=1756793=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
 Thu Aug 18 14:29:47 2016
@@ -19,7 +19,6 @@
 package org.apache.sling.distribution.agent.impl;
 
 import javax.annotation.Nonnull;
-import javax.annotation.Nullable;
 import java.util.Arrays;
 import java.util.List;
 import java.util.Set;
@@ -52,7 +51,6 @@ import org.apache.sling.distribution.que
 import org.apache.sling.distribution.queue.DistributionQueueState;
 import 
org.apache.sling.distribution.queue.impl.DistributionQueueDispatchingStrategy;
 import org.apache.sling.distribution.queue.impl.SimpleAgentDistributionQueue;
-import org.apache.sling.distribution.trigger.DistributionRequestHandler;
 import org.apache.sling.distribution.trigger.DistributionTrigger;
 import org.apache.sling.distribution.util.impl.DistributionUtils;
 import org.apache.sling.jcr.api.SlingRepository;
@@ -72,7 +70,7 @@ public class SimpleDistributionAgent imp
 private final DefaultDistributionLog log;
 private final DistributionEventFactory distributionEventFactory;
 private final DistributionQueueProcessor queueProcessor;
-private AgentBasedRequestHandler agentBasedRequestHandler;
+private TriggerAgentRequestHandler agentBasedRequestHandler;
 
 private final String name;
 private final boolean queueProcessingEnabled;
@@ -292,7 +290,7 @@ public class SimpleDistributionAgent imp
 log.info("enabling agent");
 
 // register triggers if any
-agentBasedRequestHandler = new AgentBasedRequestHandler(this);
+agentBasedRequestHandler = new TriggerAgentRequestHandler(this, 
agentAuthenticationInfo, log, active);
 
 if (!isPassive()) {
 try {
@@ -411,44 +409,4 @@ public class SimpleDistributionAgent imp
 return true;
 }
 
-public class AgentBasedRequestHandler implements 
DistributionRequestHandler {
-private final DistributionAgent agent;
-
-public AgentBasedRequestHandler(DistributionAgent agent) {
-this.agent = agent;
-}
-
-public void handle(@Nullable ResourceResolver resourceResolver, 
@Nonnull DistributionRequest request) {
-
-if (!active) {
-log.warn("skipping agent handler as agent is disabled");
-return;
-}
-
-if (resourceResolver != null) {
-try {
-agent.execute(resourceResolver, request);
-} catch (Throwable t) {
-log.error("Error executing handler {}", request, t);
-}
-} else {
-ResourceResolver agentResourceResolver = null;
-
-try {
-agentResourceResolver = 
DistributionUtils.getResourceResolver(null, 
agentAuthenticationInfo.getAgentService(),
-agentAuthenticationInfo.getSlingRepository(), 
agentAuthenticationInfo.getSubServiceName(),
-
agentAuthenticationInfo.getResourceResolverFactory());
-
-agent.execute(agentResourceResolver, request);
-} catch (Throwable e) {
-log.error("Error executing handler {}", request, e);
-} finally {
-
DistributionUtils.ungetResourceResolver(agentResourceResolver);
-}
-}
-
-}
-}
-
-
-}
+}
\ No newline at end of file

Added: 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/agent/impl/TriggerAgentRequestHandler.java
URL: 
http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/main/

svn commit: r1756791 - in /sling/trunk/contrib/extensions/distribution/core/src: main/java/org/apache/sling/distribution/agent/impl/ main/java/org/apache/sling/distribution/util/impl/ test/java/org/ap

2016-08-18 Thread tommaso
Author: tommaso
Date: Thu Aug 18 14:17:38 2016
New Revision: 1756791

URL: http://svn.apache.org/viewvc?rev=1756791=rev
Log:
SLING-5977 - moved SimpleDistributionAgent inner classes out, added tests, 
created proper class for agent authentication info

Added:

sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/agent/impl/DistributionPackageExporterProcessor.java
   (with props)

sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/agent/impl/SimpleDistributionAgentAuthenticationInfo.java
   (with props)

sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/agent/impl/SimpleDistributionAgentQueueProcessor.java
   (with props)

sling/trunk/contrib/extensions/distribution/core/src/test/java/org/apache/sling/distribution/agent/impl/DistributionPackageExporterProcessorTest.java
   (with props)

sling/trunk/contrib/extensions/distribution/core/src/test/java/org/apache/sling/distribution/agent/impl/SimpleDistributionAgentAuthenticationInfoTest.java
   (with props)

sling/trunk/contrib/extensions/distribution/core/src/test/java/org/apache/sling/distribution/agent/impl/SimpleDistributionAgentQueueProcessorTest.java
   (with props)
Modified:

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/util/impl/ByteBufferBackedInputStream.java

sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/util/impl/DistributionUtils.java

sling/trunk/contrib/extensions/distribution/core/src/test/java/org/apache/sling/distribution/util/impl/FileBackedMemoryOutputStreamTest.java

Added: 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/agent/impl/DistributionPackageExporterProcessor.java
URL: 
http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/agent/impl/DistributionPackageExporterProcessor.java?rev=1756791=auto
==
--- 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/agent/impl/DistributionPackageExporterProcessor.java
 (added)
+++ 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/agent/impl/DistributionPackageExporterProcessor.java
 Thu Aug 18 14:17:38 2016
@@ -0,0 +1,150 @@
+/*
+ * 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.agent.impl;
+
+import javax.annotation.Nonnull;
+import javax.annotation.Nullable;
+import java.util.Collection;
+import java.util.LinkedList;
+import java.util.List;
+import java.util.concurrent.atomic.AtomicInteger;
+import java.util.concurrent.atomic.AtomicLong;
+
+import org.apache.sling.distribution.DistributionRequestState;
+import org.apache.sling.distribution.DistributionResponse;
+import org.apache.sling.distribution.common.DistributionException;
+import org.apache.sling.distribution.component.impl.DistributionComponentKind;
+import org.apache.sling.distribution.event.DistributionEventTopics;
+import org.apache.sling.distribution.event.impl.DistributionEventFactory;
+import org.apache.sling.distribution.impl.SimpleDistributionResponse;
+import org.apache.sling.distribution.log.impl.DefaultDistributionLog;
+import org.apache.sling.distribution.packaging.DistributionPackage;
+import org.apache.sling.distribution.packaging.DistributionPackageProcessor;
+import org.apache.sling.distribution.packaging.impl.DistributionPackageUtils;
+import org.apache.sling.distribution.queue.DistributionQueueItemState;
+import org.apache.sling.distribution.queue.DistributionQueueItemStatus;
+import org.apache.sling.distribution.queue.DistributionQueueProvider;
+import 
org.apache.sling.distribution.queue.impl.DistributionQueueDispatchingStrategy;
+
+/**
+ * The package exporter callback function is responsible to process the 
exported packages.
+ * T

svn commit: r1756640 - in /sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution: packaging/impl/ serialization/impl/ serialization/impl/vlt/ servlet/ transport/

2016-08-17 Thread tommaso
Author: tommaso
Date: Wed Aug 17 14:21:09 2016
New Revision: 1756640

URL: http://svn.apache.org/viewvc?rev=1756640=rev
Log:
SLING-5941 - applied patch from Simone Tripodi for optionally verifying package 
integrity

Modified:

sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/AbstractDistributionPackage.java

sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/FileDistributionPackage.java

sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/FileDistributionPackageBuilder.java

sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/ReferencePackage.java

sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/ResourceDistributionPackage.java

sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/ResourceDistributionPackageBuilder.java

sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/SimpleDistributionPackage.java

sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/serialization/impl/DistributionPackageBuilderFactory.java

sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/serialization/impl/vlt/VaultDistributionPackageBuilderFactory.java

sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/servlet/DistributionPackageImporterServlet.java

sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/transport/impl/SimpleHttpDistributionTransport.java

Modified: 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/AbstractDistributionPackage.java
URL: 
http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/AbstractDistributionPackage.java?rev=1756640=1756639=1756640=diff
==
--- 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/AbstractDistributionPackage.java
 (original)
+++ 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/AbstractDistributionPackage.java
 Wed Aug 17 14:21:09 2016
@@ -19,6 +19,7 @@
 package org.apache.sling.distribution.packaging.impl;
 
 import javax.annotation.Nonnull;
+import javax.annotation.Nullable;
 
 import org.apache.sling.distribution.packaging.DistributionPackage;
 import org.apache.sling.distribution.packaging.DistributionPackageInfo;
@@ -32,10 +33,14 @@ public abstract class AbstractDistributi
 
 private final DistributionPackageInfo info;
 private final String id;
+private final String digestAlgorithm;
+private final String digestMessage;
 
-protected AbstractDistributionPackage(String id, String type) {
+protected AbstractDistributionPackage(String id, String type, String 
digestAlgorithm, String digestMessage) {
 this.id = id;
 this.info = new DistributionPackageInfo(type);
+this.digestAlgorithm = digestAlgorithm;
+this.digestMessage = digestMessage;
 }
 
 @Nonnull
@@ -53,4 +58,14 @@ public abstract class AbstractDistributi
 return info.getType();
 }
 
+@Nullable
+public String getDigestAlgorithm() {
+return digestAlgorithm;
+}
+
+@Nullable
+public String getDigestMessage() {
+return digestMessage;
+}
+
 }

Modified: 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/FileDistributionPackage.java
URL: 
http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/FileDistributionPackage.java?rev=1756640=1756639=1756640=diff
==
--- 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/FileDistributionPackage.java
 (original)
+++ 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/FileDistributionPackage.java
 Wed Aug 17 14:21:09 2016
@@ -19,6 +19,8 @@
 package org.apache.sling.distribution.packaging.impl;
 
 import javax.annotation.Nonnull;
+import javax.annotation.Nullable;
+
 import java.io.BufferedInputStream;
 import java.io.File;
 import java.io.IOException;
@@ -39,8 +41,11 @@ public class FileDistributionPackage ext
 
 private final File file;
 
-public FileDistributionPackage(@Nonnull File file, @Nonnull String type

svn commit: r1755300 - in /sling/trunk/contrib/extensions/distribution/core/src: main/java/org/apache/sling/distribution/packaging/impl/ main/java/org/apache/sling/distribution/queue/ main/java/org/ap

2016-08-05 Thread tommaso
Author: tommaso
Date: Fri Aug  5 12:01:55 2016
New Revision: 1755300

URL: http://svn.apache.org/viewvc?rev=1755300=rev
Log:
SLING-5934 - added size to DistributionQueueItem

Modified:

sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/DistributionPackageUtils.java

sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/queue/DistributionQueueItem.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/resources/impl/ExtendedDistributionServiceResourceProvider.java

sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/util/impl/FileBackedMemoryOutputStream.java

sling/trunk/contrib/extensions/distribution/core/src/test/java/org/apache/sling/distribution/queue/impl/jobhandling/JobHandlingUtilsTest.java

Modified: 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/DistributionPackageUtils.java
URL: 
http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/DistributionPackageUtils.java?rev=1755300=1755299=1755300=diff
==
--- 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/DistributionPackageUtils.java
 (original)
+++ 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/DistributionPackageUtils.java
 Fri Aug  5 12:01:55 2016
@@ -166,7 +166,7 @@ public class DistributionPackageUtils {
  * @return a distribution queue item
  */
 public static DistributionQueueItem toQueueItem(DistributionPackage 
distributionPackage) {
-return new DistributionQueueItem(distributionPackage.getId(), 
distributionPackage.getInfo());
+return new DistributionQueueItem(distributionPackage.getId(), 
distributionPackage.getSize(), distributionPackage.getInfo());
 }
 
 /**

Modified: 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/queue/DistributionQueueItem.java
URL: 
http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/queue/DistributionQueueItem.java?rev=1755300=1755299=1755300=diff
==
--- 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/queue/DistributionQueueItem.java
 (original)
+++ 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/queue/DistributionQueueItem.java
 Fri Aug  5 12:01:55 2016
@@ -34,10 +34,17 @@ import org.apache.sling.distribution.pac
 public class DistributionQueueItem extends ValueMapDecorator implements 
ValueMap {
 
 private final String packageId;
+private final long size;
 
 public DistributionQueueItem(@Nonnull String packageId, Map<String, 
Object> base) {
+this(packageId, -1, base);
+}
+
+public DistributionQueueItem(String id, long size, Map<String, Object> 
base) {
 super(base);
-this.packageId = packageId;
+this.packageId = id;
+this.size = size;
+
 }
 
 @Nonnull
@@ -45,6 +52,13 @@ public class DistributionQueueItem exten
 return packageId;
 }
 
+/**
+ * retrieve the size of the package referenced by this queue item.
+ * @return the size of the underlying package or {@code -1} if not 
available.
+ */
+public long getSize() {
+return size;
+}
 
 @Override
 public String toString() {

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=1755300=1755299=1755300=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 Aug  5 12:01:55 2016
@@ -18,12 +18,11 @@
  */
 package org.apache.sling.distribution.queue.impl.jobhandling;
 
+import javax.annotation.CheckForNull;
 import java.util.HashMap;
 import java.util.Map;
 import java.util.Set;
 
-import javax.annotation.CheckForNul

svn commit: r1755270 - in /sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution: agent/impl/ component/impl/ resources/impl/

2016-08-05 Thread tommaso
Author: tommaso
Date: Fri Aug  5 09:54:02 2016
New Revision: 1755270

URL: http://svn.apache.org/viewvc?rev=1755270=rev
Log:
SLING-5913 - patch from Simone Tripodi for code cleaning

Modified:

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/DistributionComponentKind.java

sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/resources/impl/DistributionServiceResourceProvider.java

sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/resources/impl/ExtendedDistributionServiceResourceProvider.java

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=1755270=1755269=1755270=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 Aug  5 09:54:02 2016
@@ -328,11 +328,11 @@ public class SimpleDistributionAgent imp
 DistributionQueue queue = getQueue(queueName);
 
 DistributionQueueState state = queue.getStatus().getState();
-if (DistributionQueueState.BLOCKED.equals(state)) {
+if (DistributionQueueState.BLOCKED == state) {
 return DistributionAgentState.BLOCKED;
 }
 
-if (DistributionQueueState.RUNNING.equals(state)) {
+if (DistributionQueueState.RUNNING == state) {
 agentState = DistributionAgentState.RUNNING;
 }
 }
@@ -520,7 +520,6 @@ public class SimpleDistributionAgent imp
 DistributionUtils.safelyLogout(resourceResolver);
 }
 }
-
 }
 
 private void generatePackageEvent(String topic, DistributionPackage... 
distributionPackages) {

Modified: 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/component/impl/DistributionComponentKind.java
URL: 
http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/component/impl/DistributionComponentKind.java?rev=1755270=1755269=1755270=diff
==
--- 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/component/impl/DistributionComponentKind.java
 (original)
+++ 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/component/impl/DistributionComponentKind.java
 Fri Aug  5 09:54:02 2016
@@ -18,6 +18,15 @@
  */
 package org.apache.sling.distribution.component.impl;
 
+import static 
org.apache.sling.distribution.resources.DistributionResourceTypes.AGENT_LIST_RESOURCE_TYPE;
+import static 
org.apache.sling.distribution.resources.DistributionResourceTypes.AGENT_RESOURCE_TYPE;
+import static 
org.apache.sling.distribution.resources.DistributionResourceTypes.DEFAULT_SERVICE_RESOURCE_TYPE;
+import static 
org.apache.sling.distribution.resources.DistributionResourceTypes.EXPORTER_LIST_RESOURCE_TYPE;
+import static 
org.apache.sling.distribution.resources.DistributionResourceTypes.EXPORTER_RESOURCE_TYPE;
+import static 
org.apache.sling.distribution.resources.DistributionResourceTypes.IMPORTER_LIST_RESOURCE_TYPE;
+import static 
org.apache.sling.distribution.resources.DistributionResourceTypes.IMPORTER_RESOURCE_TYPE;
+import static 
org.apache.sling.distribution.resources.DistributionResourceTypes.TRIGGER_LIST_RESOURCE_TYPE;
+import static 
org.apache.sling.distribution.resources.DistributionResourceTypes.TRIGGER_RESOURCE_TYPE;
 
 import java.util.ArrayList;
 import java.util.HashMap;
@@ -59,7 +68,7 @@ import org.apache.sling.distribution.tri
 @SuppressWarnings( "serial" )
 public enum DistributionComponentKind {
 
-AGENT("agent", DistributionAgent.class, new HashMap<String, Class>() {
+AGENT("agent", AGENT_RESOURCE_TYPE, AGENT_LIST_RESOURCE_TYPE, 
DistributionAgent.class, new HashMap<String, Class>() {
 {
 put("simple", SimpleDistributionAgentFactory.class);
 put("sync", SyncDistributionAgentFactory.class);
@@ -69,14 +78,14 @@ public enum DistributionComponentKind {
 }
 }),
 
-IMPORTER("importer", DistributionPackageImporter.class, new 
Has

svn commit: r1755269 - in /sling/trunk/contrib/extensions/distribution/core/src: main/java/org/apache/sling/distribution/packaging/impl/ main/java/org/apache/sling/distribution/util/impl/ test/java/or

2016-08-05 Thread tommaso
Author: tommaso
Date: Fri Aug  5 09:42:52 2016
New Revision: 1755269

URL: http://svn.apache.org/viewvc?rev=1755269=rev
Log:
SLING-5730 - patch from Simone Tripodi for improved IO performance

Modified:

sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/DistributionPackageUtils.java

sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/ResourceDistributionPackageBuilder.java

sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/util/impl/ByteBufferBackedInputStream.java

sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/util/impl/FileBackedMemoryOutputStream.java

sling/trunk/contrib/extensions/distribution/core/src/test/java/org/apache/sling/distribution/util/impl/FileBackedMemoryOutputStreamTest.java

Modified: 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/DistributionPackageUtils.java
URL: 
http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/DistributionPackageUtils.java?rev=1755269=1755268=1755269=diff
==
--- 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/DistributionPackageUtils.java
 (original)
+++ 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/DistributionPackageUtils.java
 Fri Aug  5 09:42:52 2016
@@ -275,7 +275,9 @@ public class DistributionPackageUtils {
 }
 
 synchronized (repolock) {
-resourceResolver.refresh();
+if (resourceResolver.hasChanges()) {
+resourceResolver.refresh();
+}
 packagesRoot = ResourceUtil.getOrCreateResource(resourceResolver, 
packagesRootPath, "sling:Folder", "sling:Folder", true);
 }
 

Modified: 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/ResourceDistributionPackageBuilder.java
URL: 
http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/ResourceDistributionPackageBuilder.java?rev=1755269=1755268=1755269=diff
==
--- 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/ResourceDistributionPackageBuilder.java
 (original)
+++ 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/ResourceDistributionPackageBuilder.java
 Fri Aug  5 09:42:52 2016
@@ -92,7 +92,7 @@ public class ResourceDistributionPackage
 try {
 inputStream = outputStream.openWrittenDataInputStream();
 
-packageResource = uploadStream(packagesRoot, inputStream, 
outputStream.size());
+packageResource = uploadStream(resourceResolver, packagesRoot, 
inputStream, outputStream.size());
 } finally {
 IOUtils.closeQuietly(inputStream);
 }
@@ -114,7 +114,7 @@ public class ResourceDistributionPackage
 try {
 Resource packagesRoot = 
DistributionPackageUtils.getPackagesRoot(resourceResolver, packagesPath);
 
-Resource packageResource = uploadStream(packagesRoot, inputStream, 
-1);
+Resource packageResource = uploadStream(resourceResolver, 
packagesRoot, inputStream, -1);
 return new ResourceDistributionPackage(packageResource, getType(), 
resourceResolver);
 } catch (PersistenceException e) {
 throw new DistributionException(e);
@@ -143,7 +143,7 @@ public class ResourceDistributionPackage
 }
 
 
-Resource uploadStream(Resource parent, InputStream stream, long size) 
throws PersistenceException {
+Resource uploadStream(ResourceResolver resourceResolver, Resource parent, 
InputStream stream, long size) throws PersistenceException {
 
 String name;
 log.debug("uploading stream");
@@ -151,17 +151,17 @@ public class ResourceDistributionPackage
 // stable id
 Map<String, Object> info = new HashMap<String, Object>();
 DistributionPackageUtils.readInfo(stream, info);
-log.info("read header {}", info);
+log.debug("read header {}", info);
 Object remoteId = 
info.get(DistributionPackageUtils.PROPERTY_REMOTE_PACKAGE_ID);
 if (remoteId != null) {
 name = remoteId.toString();
 if (name.contains("/")) {
 name = name.substring(name.lastIndexOf('/') + 1);

svn commit: r1755053 - /sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/FileDistributionPackageBuilder.java

2016-08-03 Thread tommaso
Author: tommaso
Date: Wed Aug  3 09:17:34 2016
New Revision: 1755053

URL: http://svn.apache.org/viewvc?rev=1755053=rev
Log:
SLING-5695 - too loud logs

Modified:

sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/FileDistributionPackageBuilder.java

Modified: 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/FileDistributionPackageBuilder.java
URL: 
http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/FileDistributionPackageBuilder.java?rev=1755053=1755052=1755053=diff
==
--- 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/FileDistributionPackageBuilder.java
 (original)
+++ 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/FileDistributionPackageBuilder.java
 Wed Aug  3 09:17:34 2016
@@ -91,10 +91,10 @@ public class FileDistributionPackageBuil
 Object remoteId = 
info.get(DistributionPackageUtils.PROPERTY_REMOTE_PACKAGE_ID);
 if (remoteId != null) {
 name = remoteId.toString();
-log.info("preserving remote id {}", name);
+log.debug("preserving remote id {}", name);
 } else {
 name = "distrpck-read-" + System.nanoTime();
-log.info("generating a new id {}", name);
+log.debug("generating a new id {}", name);
 }
 File file = File.createTempFile(name, "." + getType(), 
tempDirectory);
 outputStream = new BufferedOutputStream(new 
FileOutputStream(file));




svn commit: r1754948 - in /sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution: packaging/impl/ queue/impl/ transport/impl/

2016-08-02 Thread tommaso
Author: tommaso
Date: Tue Aug  2 15:19:41 2016
New Revision: 1754948

URL: http://svn.apache.org/viewvc?rev=1754948=rev
Log:
SLING-5695 - remved commented code, trivial fixes

Modified:

sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/FileDistributionPackage.java

sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/queue/impl/AsyncDeliveryDispatchingStrategy.java

sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/transport/impl/SimpleHttpDistributionTransport.java

Modified: 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/FileDistributionPackage.java
URL: 
http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/FileDistributionPackage.java?rev=1754948=1754947=1754948=diff
==
--- 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/FileDistributionPackage.java
 (original)
+++ 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/FileDistributionPackage.java
 Tue Aug  2 15:19:41 2016
@@ -37,7 +37,6 @@ import org.slf4j.LoggerFactory;
 public class FileDistributionPackage extends AbstractDistributionPackage {
 private final Logger log = LoggerFactory.getLogger(getClass());
 
-
 private final File file;
 
 public FileDistributionPackage(@Nonnull File file, @Nonnull String type) {
@@ -47,7 +46,6 @@ public class FileDistributionPackage ext
 this.getInfo().put(DistributionPackageInfo.PROPERTY_REQUEST_TYPE, 
DistributionRequestType.ADD);
 }
 
-
 @Nonnull
 public InputStream createInputStream() throws IOException {
 return new PackageInputStream(file);

Modified: 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/queue/impl/AsyncDeliveryDispatchingStrategy.java
URL: 
http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/queue/impl/AsyncDeliveryDispatchingStrategy.java?rev=1754948=1754947=1754948=diff
==
--- 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/queue/impl/AsyncDeliveryDispatchingStrategy.java
 (original)
+++ 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/queue/impl/AsyncDeliveryDispatchingStrategy.java
 Tue Aug  2 15:19:41 2016
@@ -38,9 +38,9 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 /**
- * Dispatching strategy that delivers items to their target queue unless the 
queue contains too many items, in such a case
- * a reference package is created and put into that queue while the actual 
package is sent using a different queue for
- * storage at the receiving side so that it'll be installed only once the 
reference is processed.
+ * Dispatching strategy that delivers items to their target queue unless the 
queue contains too many items (beyond {@code MAX_QUEUE_ITEMS_THRESHOLD}),
+ * in such a case a reference package is created and put into that queue while 
the actual package is sent using a different
+ * queue for storage at the receiving side so that it'll be installed only 
once the reference is processed.
  * This guarantees delivery order while maximizing the network throughput when 
there're many items in the queues.
  */
 public class AsyncDeliveryDispatchingStrategy implements 
DistributionQueueDispatchingStrategy {
@@ -49,6 +49,7 @@ public class AsyncDeliveryDispatchingStr
 
 private final List queues;
 private final Map<String, String> deliveryMappings;
+private final int MAX_QUEUE_ITEMS_THRESHOLD = 100;
 
 /**
  * create an async delivery strategy
@@ -76,7 +77,7 @@ public class AsyncDeliveryDispatchingStr
 for (String referenceQueueName : deliveryMappings.keySet()) {
 DistributionQueue queue = 
queueProvider.getQueue(referenceQueueName);
 
-if (queue.getStatus().getItemsCount() > 100) {
+if (queue.getStatus().getItemsCount() > MAX_QUEUE_ITEMS_THRESHOLD) 
{
 // too many items in the queue, let's send actual packages and 
references separately
 
 distributionPackage.getInfo().put("reference-required", true);

Modified: 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/transport/impl/SimpleHttpDistributionTransport.java
URL: 
http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/transport/impl/SimpleHttpDistributionTransport.java?rev=175494

svn commit: r1754749 - /sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/agent/impl/ForwardDistributionAgentFactory.java

2016-08-01 Thread tommaso
Author: tommaso
Date: Mon Aug  1 13:33:57 2016
New Revision: 1754749

URL: http://svn.apache.org/viewvc?rev=1754749=rev
Log:
SLING-5933 - make it possible to configure async delivery in forward agent

Modified:

sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/agent/impl/ForwardDistributionAgentFactory.java

Modified: 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/agent/impl/ForwardDistributionAgentFactory.java
URL: 
http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/agent/impl/ForwardDistributionAgentFactory.java?rev=1754749=1754748=1754749=diff
==
--- 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/agent/impl/ForwardDistributionAgentFactory.java
 (original)
+++ 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/agent/impl/ForwardDistributionAgentFactory.java
 Mon Aug  1 13:33:57 2016
@@ -52,6 +52,7 @@ import org.apache.sling.distribution.que
 import 
org.apache.sling.distribution.queue.impl.AsyncDeliveryDispatchingStrategy;
 import 
org.apache.sling.distribution.queue.impl.DistributionQueueDispatchingStrategy;
 import org.apache.sling.distribution.queue.impl.ErrorQueueDispatchingStrategy;
+import 
org.apache.sling.distribution.queue.impl.MultipleQueueDispatchingStrategy;
 import 
org.apache.sling.distribution.queue.impl.PriorityQueueDispatchingStrategy;
 import 
org.apache.sling.distribution.queue.impl.jobhandling.JobHandlingDistributionQueueProvider;
 import 
org.apache.sling.distribution.queue.impl.simple.SimpleDistributionQueueProvider;
@@ -92,7 +93,6 @@ public class ForwardDistributionAgentFac
 @Property(boolValue = true, label = "Enabled", description = "Whether or 
not to start the distribution agent.")
 private static final String ENABLED = "enabled";
 
-
 @Property(label = "Service Name", description = "The name of the service 
used to access the repository.")
 private static final String SERVICE_NAME = "serviceName";
 
@@ -171,6 +171,9 @@ public class ForwardDistributionAgentFac
 )
 public static final String QUEUE_PROVIDER = "queue.provider";
 
+@Property(boolValue = false, label = "Async delivery", description = 
"Whether or not to use a separate delivery queue to maximize transport 
throughput when queue has more than 100 items")
+public static final String ASYNC_DELIVERY = "async.delivery";
+
 @Reference
 private Packaging packaging;
 
@@ -261,14 +264,19 @@ public class ForwardDistributionAgentFac
 importerEndpointsMap = 
SettingsUtils.expandUriMap(importerEndpointsMap, queueAliases);
 exportQueueStrategy = dispatchingStrategy;
 } else {
-// delivery queues' names
-Map<String, String> deliveryQueues = new HashMap<String, String>();
-for (String e : endpointNames) {
-deliveryQueues.put(e, "delivery-"+e);
+boolean asyncDelivery = 
PropertiesUtil.toBoolean(config.get(ASYNC_DELIVERY), false);
+if (asyncDelivery) {
+// delivery queues' names
+Map<String, String> deliveryQueues = new HashMap<String, 
String>();
+for (String e : endpointNames) {
+deliveryQueues.put(e, "delivery-" + e);
+}
+
+processingQueues.addAll(deliveryQueues.values());
+exportQueueStrategy = new 
AsyncDeliveryDispatchingStrategy(deliveryQueues);
+} else {
+exportQueueStrategy = new 
MultipleQueueDispatchingStrategy(endpointNames.toArray(new 
String[endpointNames.size()]));
 }
-
-processingQueues.addAll(deliveryQueues.values());
-exportQueueStrategy = new 
AsyncDeliveryDispatchingStrategy(deliveryQueues);
 }
 
 processingQueues.addAll(endpointNames);




svn commit: r1754735 - in /sling/trunk/contrib/extensions/distribution/core/src: main/java/org/apache/sling/distribution/packaging/impl/ main/java/org/apache/sling/distribution/queue/impl/ main/java/o

2016-08-01 Thread tommaso
Author: tommaso
Date: Mon Aug  1 11:21:08 2016
New Revision: 1754735

URL: http://svn.apache.org/viewvc?rev=1754735=rev
Log:
SLING-5924 - applied patch from Simone Tripodi for using direct/indirect 
ByteBuffer for resource package builder

Added:

sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/util/impl/ByteBufferBackedInputStream.java
   (with props)
Modified:

sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/ResourceDistributionPackageBuilder.java

sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/queue/impl/AsyncDeliveryDispatchingStrategy.java

sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/serialization/impl/DistributionPackageBuilderFactory.java

sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/serialization/impl/vlt/VaultDistributionPackageBuilderFactory.java

sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/util/impl/FileBackedMemoryOutputStream.java

sling/trunk/contrib/extensions/distribution/core/src/test/java/org/apache/sling/distribution/util/impl/FileBackedMemoryOutputStreamTest.java

Modified: 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/ResourceDistributionPackageBuilder.java
URL: 
http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/ResourceDistributionPackageBuilder.java?rev=1754735=1754734=1754735=diff
==
--- 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/ResourceDistributionPackageBuilder.java
 (original)
+++ 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/ResourceDistributionPackageBuilder.java
 Mon Aug  1 11:21:08 2016
@@ -39,6 +39,7 @@ import org.apache.sling.distribution.pac
 import 
org.apache.sling.distribution.serialization.DistributionContentSerializer;
 import org.apache.sling.distribution.serialization.impl.vlt.VltUtils;
 import org.apache.sling.distribution.util.impl.FileBackedMemoryOutputStream;
+import 
org.apache.sling.distribution.util.impl.FileBackedMemoryOutputStream.MemoryUnit;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -51,13 +52,22 @@ public class ResourceDistributionPackage
 private final File tempDirectory;
 private final DistributionContentSerializer distributionContentSerializer;
 private final int fileThreshold;
+private final MemoryUnit memoryUnit;
+private final boolean useOffHeapMemory;
 
-public ResourceDistributionPackageBuilder(String type, 
DistributionContentSerializer distributionContentSerializer, String 
tempFilesFolder, int fileThreshold) {
+public ResourceDistributionPackageBuilder(String type,
+  DistributionContentSerializer 
distributionContentSerializer,
+  String tempFilesFolder,
+  int fileThreshold,
+  MemoryUnit memoryUnit,
+  boolean useOffHeapMemory) {
 super(type);
 this.distributionContentSerializer = distributionContentSerializer;
 this.packagesPath = PREFIX_PATH + type + "/data";
 this.tempDirectory = VltUtils.getTempFolder(tempFilesFolder);
 this.fileThreshold = fileThreshold;
+this.memoryUnit = memoryUnit;
+this.useOffHeapMemory = useOffHeapMemory;
 }
 
 @Override
@@ -67,7 +77,7 @@ public class ResourceDistributionPackage
 FileBackedMemoryOutputStream outputStream = null;
 try {
 try {
-outputStream = new FileBackedMemoryOutputStream(fileThreshold, 
tempDirectory, "distrpck-create-", "." + getType());
+outputStream = new FileBackedMemoryOutputStream(fileThreshold, 
memoryUnit, useOffHeapMemory, tempDirectory, "distrpck-create-", "." + 
getType());
 distributionContentSerializer.exportToStream(resourceResolver, 
request, outputStream);
 outputStream.flush();
 } finally {

Modified: 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/queue/impl/AsyncDeliveryDispatchingStrategy.java
URL: 
http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/queue/impl/AsyncDeliveryDispatchingStrategy.java?rev=1754735=1754734=1754735=diff
==
---

svn commit: r1754527 - in /sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/serialization/impl: DistributionPackageBuilderFactory.java vlt/VaultDistribution

2016-07-29 Thread tommaso
Author: tommaso
Date: Fri Jul 29 13:54:29 2016
New Revision: 1754527

URL: http://svn.apache.org/viewvc?rev=1754527=rev
Log:
SLING-5924 - raised the file threashold default for resource pb to 1M

Modified:

sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/serialization/impl/DistributionPackageBuilderFactory.java

sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/serialization/impl/vlt/VaultDistributionPackageBuilderFactory.java

Modified: 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/serialization/impl/DistributionPackageBuilderFactory.java
URL: 
http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/serialization/impl/DistributionPackageBuilderFactory.java?rev=1754527=1754526=1754527=diff
==
--- 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/serialization/impl/DistributionPackageBuilderFactory.java
 (original)
+++ 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/serialization/impl/DistributionPackageBuilderFactory.java
 Fri Jul 29 13:54:29 2016
@@ -88,8 +88,8 @@ public class DistributionPackageBuilderF
 @Property(label = "Temp Filesystem Folder", description = "The filesystem 
folder where the temporary files should be saved.")
 private static final String TEMP_FS_FOLDER = "tempFsFolder";
 
-// 128K
-private static final int DEFAULT_FILE_THRESHOLD_VALUE = 1024000;
+// 1M
+private static final int DEFAULT_FILE_THRESHOLD_VALUE = 1024;
 
 @Property(
 label="File threshold (in bytes)",

Modified: 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/serialization/impl/vlt/VaultDistributionPackageBuilderFactory.java
URL: 
http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/serialization/impl/vlt/VaultDistributionPackageBuilderFactory.java?rev=1754527=1754526=1754527=diff
==
--- 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/serialization/impl/vlt/VaultDistributionPackageBuilderFactory.java
 (original)
+++ 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/serialization/impl/vlt/VaultDistributionPackageBuilderFactory.java
 Fri Jul 29 13:54:29 2016
@@ -118,8 +118,8 @@ public class VaultDistributionPackageBui
 @Property(label="Autosave threshold", description = "The value after which 
autosave is triggered for intermediate changes.", intValue = -1)
 public static final String AUTOSAVE_THRESHOLD = "autoSaveThreshold";
 
-// 128K
-private static final int DEFAULT_FILE_THRESHOLD_VALUE = 1024000;
+// 1M
+private static final int DEFAULT_FILE_THRESHOLD_VALUE = 1024;
 
 @Property(
 label="File threshold (in bytes)",




svn commit: r1754498 - /sling/trunk/contrib/extensions/distribution/core/pom.xml

2016-07-29 Thread tommaso
Author: tommaso
Date: Fri Jul 29 11:58:43 2016
New Revision: 1754498

URL: http://svn.apache.org/viewvc?rev=1754498=rev
Log:
SLING-5913 - reverted unwanted change on pom

Modified:
sling/trunk/contrib/extensions/distribution/core/pom.xml

Modified: sling/trunk/contrib/extensions/distribution/core/pom.xml
URL: 
http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/pom.xml?rev=1754498=1754497=1754498=diff
==
--- sling/trunk/contrib/extensions/distribution/core/pom.xml (original)
+++ sling/trunk/contrib/extensions/distribution/core/pom.xml Fri Jul 29 
11:58:43 2016
@@ -68,9 +68,7 @@
 
 
org.apache.sling.distribution.core
 
-org.apache.sling.distribution.util,
-org.apache.sling.distribution.common,
-org.apache.sling.distribution.serialization
+org.apache.sling.distribution.util
 
 
 
org.apache.sling.event.jobs;version="[1.5.0,3.0)",org.apache.sling.event.jobs.consumer;version="[1.1,2)",org.apache.sling.jcr.api;version="2.2.0",*




svn commit: r1754497 - in /sling/trunk/contrib/extensions/distribution/core: ./ src/test/java/org/apache/sling/distribution/agent/impl/ src/test/java/org/apache/sling/distribution/packaging/impl/ src/

2016-07-29 Thread tommaso
Author: tommaso
Date: Fri Jul 29 11:57:43 2016
New Revision: 1754497

URL: http://svn.apache.org/viewvc?rev=1754497=rev
Log:
SLING-5913 - testcode cleanup, applying patch by Simone Tripodi

Modified:
sling/trunk/contrib/extensions/distribution/core/pom.xml

sling/trunk/contrib/extensions/distribution/core/src/test/java/org/apache/sling/distribution/agent/impl/PrivilegeDistributionRequestAuthorizationStrategyTest.java

sling/trunk/contrib/extensions/distribution/core/src/test/java/org/apache/sling/distribution/packaging/impl/ReferencePackageTest.java

sling/trunk/contrib/extensions/distribution/core/src/test/java/org/apache/sling/distribution/packaging/impl/importer/RepositoryDistributionPackageImporterTest.java

sling/trunk/contrib/extensions/distribution/core/src/test/java/org/apache/sling/distribution/queue/impl/AsyncDeliveryDispatchingStrategyTest.java

sling/trunk/contrib/extensions/distribution/core/src/test/java/org/apache/sling/distribution/trigger/impl/ScheduledDistributionTriggerTest.java

Modified: sling/trunk/contrib/extensions/distribution/core/pom.xml
URL: 
http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/pom.xml?rev=1754497=1754496=1754497=diff
==
--- sling/trunk/contrib/extensions/distribution/core/pom.xml (original)
+++ sling/trunk/contrib/extensions/distribution/core/pom.xml Fri Jul 29 
11:57:43 2016
@@ -68,7 +68,9 @@
 
 
org.apache.sling.distribution.core
 
-org.apache.sling.distribution.util
+org.apache.sling.distribution.util,
+org.apache.sling.distribution.common,
+org.apache.sling.distribution.serialization
 
 
 
org.apache.sling.event.jobs;version="[1.5.0,3.0)",org.apache.sling.event.jobs.consumer;version="[1.1,2)",org.apache.sling.jcr.api;version="2.2.0",*

Modified: 
sling/trunk/contrib/extensions/distribution/core/src/test/java/org/apache/sling/distribution/agent/impl/PrivilegeDistributionRequestAuthorizationStrategyTest.java
URL: 
http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/test/java/org/apache/sling/distribution/agent/impl/PrivilegeDistributionRequestAuthorizationStrategyTest.java?rev=1754497=1754496=1754497=diff
==
--- 
sling/trunk/contrib/extensions/distribution/core/src/test/java/org/apache/sling/distribution/agent/impl/PrivilegeDistributionRequestAuthorizationStrategyTest.java
 (original)
+++ 
sling/trunk/contrib/extensions/distribution/core/src/test/java/org/apache/sling/distribution/agent/impl/PrivilegeDistributionRequestAuthorizationStrategyTest.java
 Fri Jul 29 11:57:43 2016
@@ -18,6 +18,9 @@
  */
 package org.apache.sling.distribution.agent.impl;
 
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.when;
+
 import javax.jcr.Session;
 import javax.jcr.security.AccessControlManager;
 import javax.jcr.security.Privilege;
@@ -28,27 +31,18 @@ import org.apache.sling.distribution.Dis
 import org.apache.sling.distribution.common.DistributionException;
 import org.junit.Test;
 
-import static org.junit.Assert.fail;
-import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.when;
-
 /**
  * Tests for {@link PrivilegeDistributionRequestAuthorizationStrategy}
  */
 public class PrivilegeDistributionRequestAuthorizationStrategyTest {
 
-@Test
+@Test(expected = DistributionException.class)
 public void testCheckPermissionWithoutSession() throws Exception {
 String jcrPrivilege = "foo";
 PrivilegeDistributionRequestAuthorizationStrategy strategy = new 
PrivilegeDistributionRequestAuthorizationStrategy(jcrPrivilege);
 DistributionRequest distributionRequest = 
mock(DistributionRequest.class);
 ResourceResolver resourceResolver = mock(ResourceResolver.class);
-try {
-strategy.checkPermission(resourceResolver, distributionRequest);
-fail("permission check should fail without a Session");
-} catch (DistributionException e) {
-// expected
-}
+strategy.checkPermission(resourceResolver, distributionRequest);
 }
 
 @Test
@@ -62,7 +56,7 @@ public class PrivilegeDistributionReques
 strategy.checkPermission(resourceResolver, distributionRequest);
 }
 
-@Test
+@Test(expected = DistributionException.class)
 public void testNoPermissionOnAdd() throws Exception {
 String jcrPrivilege = "somePermission";
 PrivilegeDistributionRequestAuthorizationStrategy strategy = new 
PrivilegeDistributionRequestAuthorizationStrategy(jcrPrivilege);
@@ -82,12 +76

svn commit: r1754495 - in /sling/trunk/contrib/extensions/distribution/core/src: main/java/org/apache/sling/distribution/agent/impl/ main/java/org/apache/sling/distribution/common/ main/java/org/apach

2016-07-29 Thread tommaso
Author: tommaso
Date: Fri Jul 29 10:12:23 2016
New Revision: 1754495

URL: http://svn.apache.org/viewvc?rev=1754495=rev
Log:
SLING-5913 - code cleanup, applying patch by Simone Tripodi

Modified:

sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/agent/impl/ForwardDistributionAgentFactory.java

sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/common/DistributionException.java

sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/common/RecoverableDistributionException.java

sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/monitor/DistributionQueueHealthCheck.java

sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/queue/impl/SimpleAgentDistributionQueue.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/jobhandling/JobHandlingUtils.java

sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/queue/impl/simple/SimpleDistributionQueueCheckpoint.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/component/impl/SettingsUtilsTest.java

sling/trunk/contrib/extensions/distribution/core/src/test/java/org/apache/sling/distribution/packaging/impl/exporter/AgentDistributionPackageExporterTest.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/queue/impl/jobhandling/JobHandlingUtilsTest.java

sling/trunk/contrib/extensions/distribution/core/src/test/java/org/apache/sling/distribution/queue/impl/simple/SimpleDistributionQueueCheckpointTest.java

sling/trunk/contrib/extensions/distribution/core/src/test/java/org/apache/sling/distribution/transport/impl/SimpleHttpDistributionTransportTest.java

Modified: 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/agent/impl/ForwardDistributionAgentFactory.java
URL: 
http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/agent/impl/ForwardDistributionAgentFactory.java?rev=1754495=1754494=1754495=diff
==
--- 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/agent/impl/ForwardDistributionAgentFactory.java
 (original)
+++ 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/agent/impl/ForwardDistributionAgentFactory.java
 Fri Jul 29 10:12:23 2016
@@ -62,8 +62,6 @@ import org.apache.sling.jcr.api.SlingRep
 import org.apache.sling.settings.SlingSettingsService;
 import org.osgi.framework.BundleContext;
 import org.osgi.service.cm.ConfigurationAdmin;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
 
 /**
  * An OSGi service factory for {@link 
org.apache.sling.distribution.agent.DistributionAgent}s which references 
already existing OSGi services.

Modified: 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/common/DistributionException.java
URL: 
http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/common/DistributionException.java?rev=1754495=1754494=1754495=diff
==
--- 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/common/DistributionException.java
 (original)
+++ 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/common/DistributionException.java
 Fri Jul 29 10:12:23 2016
@@ -21,6 +21,7 @@ package org.apache.sling.distribution.co
 /**
  * Generic checked exception for distribution
  */
+@SuppressWarnings("serial")
 public class DistributionException extends Exception {
 
 public DistributionException(Throwable e) {

Modified: 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/common/RecoverableDistributionException.java
URL: 
http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/common/RecoverableDistributionException.java?rev=1754495=1754494=17

svn commit: r1754420 - in /sling/trunk/contrib/extensions/distribution/api/src/main/java/org/apache/sling/distribution: DistributionRequest.java DistributionResponse.java transport/DistributionTranspo

2016-07-28 Thread tommaso
Author: tommaso
Date: Thu Jul 28 15:06:44 2016
New Revision: 1754420

URL: http://svn.apache.org/viewvc?rev=1754420=rev
Log:
SLING-5913 - fixed some imports in api module too

Modified:

sling/trunk/contrib/extensions/distribution/api/src/main/java/org/apache/sling/distribution/DistributionRequest.java

sling/trunk/contrib/extensions/distribution/api/src/main/java/org/apache/sling/distribution/DistributionResponse.java

sling/trunk/contrib/extensions/distribution/api/src/main/java/org/apache/sling/distribution/transport/DistributionTransportSecret.java

Modified: 
sling/trunk/contrib/extensions/distribution/api/src/main/java/org/apache/sling/distribution/DistributionRequest.java
URL: 
http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/api/src/main/java/org/apache/sling/distribution/DistributionRequest.java?rev=1754420=1754419=1754420=diff
==
--- 
sling/trunk/contrib/extensions/distribution/api/src/main/java/org/apache/sling/distribution/DistributionRequest.java
 (original)
+++ 
sling/trunk/contrib/extensions/distribution/api/src/main/java/org/apache/sling/distribution/DistributionRequest.java
 Thu Jul 28 15:06:44 2016
@@ -18,12 +18,9 @@
  */
 package org.apache.sling.distribution;
 
-import aQute.bnd.annotation.ProviderType;
-
-import javax.annotation.CheckForNull;
 import javax.annotation.Nonnull;
-import java.util.Arrays;
-import java.util.Set;
+
+import aQute.bnd.annotation.ProviderType;
 
 /**
  * A {@link org.apache.sling.distribution.DistributionRequest} represents the 
need from the caller to have

Modified: 
sling/trunk/contrib/extensions/distribution/api/src/main/java/org/apache/sling/distribution/DistributionResponse.java
URL: 
http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/api/src/main/java/org/apache/sling/distribution/DistributionResponse.java?rev=1754420=1754419=1754420=diff
==
--- 
sling/trunk/contrib/extensions/distribution/api/src/main/java/org/apache/sling/distribution/DistributionResponse.java
 (original)
+++ 
sling/trunk/contrib/extensions/distribution/api/src/main/java/org/apache/sling/distribution/DistributionResponse.java
 Thu Jul 28 15:06:44 2016
@@ -18,11 +18,10 @@
  */
 package org.apache.sling.distribution;
 
-import aQute.bnd.annotation.ProviderType;
-
 import javax.annotation.CheckForNull;
 import javax.annotation.Nonnull;
-import javax.annotation.Nullable;
+
+import aQute.bnd.annotation.ProviderType;
 
 /**
  * A {@link org.apache.sling.distribution.DistributionResponse} represents the 
outcome of a

Modified: 
sling/trunk/contrib/extensions/distribution/api/src/main/java/org/apache/sling/distribution/transport/DistributionTransportSecret.java
URL: 
http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/api/src/main/java/org/apache/sling/distribution/transport/DistributionTransportSecret.java?rev=1754420=1754419=1754420=diff
==
--- 
sling/trunk/contrib/extensions/distribution/api/src/main/java/org/apache/sling/distribution/transport/DistributionTransportSecret.java
 (original)
+++ 
sling/trunk/contrib/extensions/distribution/api/src/main/java/org/apache/sling/distribution/transport/DistributionTransportSecret.java
 Thu Jul 28 15:06:44 2016
@@ -19,7 +19,6 @@
 package org.apache.sling.distribution.transport;
 
 import javax.annotation.CheckForNull;
-import java.io.InputStream;
 import java.util.Map;
 
 import aQute.bnd.annotation.ConsumerType;




svn commit: r1754418 - in /sling/trunk/contrib/extensions/distribution/core/src: main/java/org/apache/sling/distribution/agent/impl/ main/java/org/apache/sling/distribution/component/impl/ main/java/o

2016-07-28 Thread tommaso
Author: tommaso
Date: Thu Jul 28 14:27:26 2016
New Revision: 1754418

URL: http://svn.apache.org/viewvc?rev=1754418=rev
Log:
SLING-5913 - applied patch from Simone Tripodi for code cleanup

Added:

sling/trunk/contrib/extensions/distribution/core/src/test/java/org/apache/sling/distribution/util/

sling/trunk/contrib/extensions/distribution/core/src/test/java/org/apache/sling/distribution/util/impl/

sling/trunk/contrib/extensions/distribution/core/src/test/java/org/apache/sling/distribution/util/impl/FileBackedMemoryOutputStreamTest.java
   (with props)
Modified:

sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/agent/impl/AbstractDistributionAgentFactory.java

sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/agent/impl/ForwardDistributionAgentFactory.java

sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/agent/impl/QueueDistributionAgentFactory.java

sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/agent/impl/SimpleDistributionAgentFactory.java

sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/agent/impl/SyncDistributionAgentFactory.java

sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/component/impl/DefaultDistributionComponentProvider.java

sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/component/impl/DefaultDistributionConfigurationManager.java

sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/component/impl/DistributionComponentKind.java

sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/component/impl/DistributionComponentProvider.java

sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/component/impl/OsgiConfigurationManager.java

sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/component/impl/SettingsUtils.java

sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/log/impl/DefaultDistributionLog.java

sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/resources/impl/DistributionConfigurationResourceProvider.java

sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/resources/impl/DistributionServiceResourceProvider.java

sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/resources/impl/ExtendedDistributionServiceResourceProvider.java

sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/resources/impl/OsgiUtils.java

sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/resources/impl/common/AbstractReadableResourceProvider.java

sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/resources/impl/common/SimpleModifiableResource.java

sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/resources/impl/common/SimpleReadableResource.java

sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/serialization/impl/DefaultDistributionPackageBuilderProvider.java

sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/servlet/DistributionAgentLogServlet.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/DistributionAgentServlet.java

sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/servlet/DistributionPackageExporterServlet.java

sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/servlet/DistributionPackageImporterServlet.java

sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/servlet/DistributionTriggerServlet.java

sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/servlet/ServletJsonUtils.java

sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/transport/impl/HttpTransportUtils.java

sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/transport/impl/UserCredentialsDistributionTransportSecretProvider.java

sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/trigger/impl/PersistedJcrEventDistributionTrigger.java

Modified: 
sling

svn commit: r1754417 - in /sling/trunk/contrib/extensions/distribution/core/src: main/java/org/apache/sling/distribution/packaging/impl/ main/java/org/apache/sling/distribution/packaging/impl/importer

2016-07-28 Thread tommaso
Author: tommaso
Date: Thu Jul 28 14:25:06 2016
New Revision: 1754417

URL: http://svn.apache.org/viewvc?rev=1754417=rev
Log:
SLING-5695 - minor refactoring and testing

Added:

sling/trunk/contrib/extensions/distribution/core/src/test/java/org/apache/sling/distribution/packaging/impl/ReferencePackageTest.java
   (with props)

sling/trunk/contrib/extensions/distribution/core/src/test/java/org/apache/sling/distribution/queue/impl/AsyncDeliveryDispatchingStrategyTest.java
   (with props)
Modified:

sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/FileDistributionPackage.java

sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/ReferencePackage.java

sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/ResourceDistributionPackage.java

sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/SharedDistributionPackage.java

sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/SimpleDistributionPackage.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/jobhandling/JobHandlingDistributionQueue.java

Modified: 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/FileDistributionPackage.java
URL: 
http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/FileDistributionPackage.java?rev=1754417=1754416=1754417=diff
==
--- 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/FileDistributionPackage.java
 (original)
+++ 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/FileDistributionPackage.java
 Thu Jul 28 14:25:06 2016
@@ -72,7 +72,7 @@ public class FileDistributionPackage ext
 }
 
 @Override
-public void acquire(@Nonnull String[] holderNames) {
+public void acquire(@Nonnull String... holderNames) {
 try {
 DistributionPackageUtils.acquire(getStatusFile(), holderNames);
 } catch (IOException e) {
@@ -81,7 +81,7 @@ public class FileDistributionPackage ext
 }
 
 @Override
-public void release(@Nonnull String[] holderNames) {
+public void release(@Nonnull String... holderNames) {
 try {
 boolean doDelete = 
DistributionPackageUtils.release(getStatusFile(), holderNames);
 

Modified: 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/ReferencePackage.java
URL: 
http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/ReferencePackage.java?rev=1754417=1754416=1754417=diff
==
--- 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/ReferencePackage.java
 (original)
+++ 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/ReferencePackage.java
 Thu Jul 28 14:25:06 2016
@@ -18,6 +18,7 @@
  */
 package org.apache.sling.distribution.packaging.impl;
 
+import javax.annotation.CheckForNull;
 import javax.annotation.Nonnull;
 import java.io.ByteArrayInputStream;
 import java.io.IOException;
@@ -30,7 +31,7 @@ import org.apache.sling.distribution.pac
  * by its {@link DistributionPackage#getId()}.
  */
 public class ReferencePackage extends AbstractDistributionPackage {
-private static final String REFERENCE_PREFIX = "reference-";
+static final String REFERENCE_PREFIX = "reference-";
 private final DistributionPackage distributionPackage;
 private final String reference;
 
@@ -43,14 +44,14 @@ public class ReferencePackage extends Ab
 }
 
 @Override
-public void acquire(@Nonnull String[] holderNames) {
+public void acquire(@Nonnull String... holderNames) {
 if (distributionPackage instanceof AbstractDistributionPackage) {
 ((AbstractDistributionPackage) 
distributionPackage).acquire(holderNames);
 }
 }
 
 @Override
-public void release(@Nonnull String[] holderNames) {
+public void release(@Nonnull String... holderNames) {
 if (distributionPackage instanceof AbstractDistributionPackage) {
 ((AbstractDistributionPackage) 
distributionPackage).release(holderNames);
 }
@@ -

svn commit: r1754389 - in /sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution: agent/impl/ForwardDistributionAgentFactory.java queue/impl/jobhandling/JobHandl

2016-07-28 Thread tommaso
Author: tommaso
Date: Thu Jul 28 10:28:52 2016
New Revision: 1754389

URL: http://svn.apache.org/viewvc?rev=1754389=rev
Log:
SLING-5695 - create an unsorted queue for async delivery

Modified:

sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/agent/impl/ForwardDistributionAgentFactory.java

sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/queue/impl/jobhandling/JobHandlingDistributionQueueProvider.java

Modified: 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/agent/impl/ForwardDistributionAgentFactory.java
URL: 
http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/agent/impl/ForwardDistributionAgentFactory.java?rev=1754389=1754388=1754389=diff
==
--- 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/agent/impl/ForwardDistributionAgentFactory.java
 (original)
+++ 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/agent/impl/ForwardDistributionAgentFactory.java
 Thu Jul 28 10:28:52 2016
@@ -61,6 +61,7 @@ import org.apache.sling.event.jobs.JobMa
 import org.apache.sling.jcr.api.SlingRepository;
 import org.apache.sling.settings.SlingSettingsService;
 import org.osgi.framework.BundleContext;
+import org.osgi.service.cm.ConfigurationAdmin;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -194,6 +195,8 @@ public class ForwardDistributionAgentFac
 @Reference
 private Scheduler scheduler;
 
+@Reference
+private ConfigurationAdmin configAdmin;
 
 @Activate
 protected void activate(BundleContext context, Map<String, Object> config) 
{
@@ -232,7 +235,7 @@ public class ForwardDistributionAgentFac
 DistributionQueueProvider queueProvider;
 String queueProviderName = 
PropertiesUtil.toString(config.get(QUEUE_PROVIDER), 
JobHandlingDistributionQueueProvider.TYPE);
 if 
(JobHandlingDistributionQueueProvider.TYPE.equals(queueProviderName)) {
-queueProvider = new 
JobHandlingDistributionQueueProvider(agentName, jobManager, context);
+queueProvider = new 
JobHandlingDistributionQueueProvider(agentName, jobManager, context, 
configAdmin);
 } else if 
(SimpleDistributionQueueProvider.TYPE.equals(queueProviderName)) {
 queueProvider = new SimpleDistributionQueueProvider(scheduler, 
agentName, false);
 } else {

Modified: 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/queue/impl/jobhandling/JobHandlingDistributionQueueProvider.java
URL: 
http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/queue/impl/jobhandling/JobHandlingDistributionQueueProvider.java?rev=1754389=1754388=1754389=diff
==
--- 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/queue/impl/jobhandling/JobHandlingDistributionQueueProvider.java
 (original)
+++ 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/queue/impl/jobhandling/JobHandlingDistributionQueueProvider.java
 Thu Jul 28 10:28:52 2016
@@ -19,6 +19,7 @@
 package org.apache.sling.distribution.queue.impl.jobhandling;
 
 import javax.annotation.Nonnull;
+import java.io.IOException;
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.Dictionary;
@@ -33,10 +34,14 @@ import org.apache.sling.distribution.que
 import org.apache.sling.distribution.queue.DistributionQueueProvider;
 import org.apache.sling.distribution.queue.DistributionQueueType;
 import org.apache.sling.distribution.queue.impl.CachingDistributionQueue;
+import org.apache.sling.event.impl.jobs.config.ConfigurationConstants;
 import org.apache.sling.event.jobs.JobManager;
+import org.apache.sling.event.jobs.QueueConfiguration;
 import org.apache.sling.event.jobs.consumer.JobConsumer;
 import org.osgi.framework.BundleContext;
 import org.osgi.framework.ServiceRegistration;
+import org.osgi.service.cm.Configuration;
+import org.osgi.service.cm.ConfigurationAdmin;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -59,8 +64,14 @@ public class JobHandlingDistributionQueu
 private BundleContext context;
 private Set processingQueueNames = null;
 
+private ConfigurationAdmin configAdmin;
 
 public JobHandlingDistributionQueueProvider(String prefix, JobManager 
jobManager, BundleContext context) {
+this(prefix, jobManager, context, null);
+}
+
+public JobHandlingDistributionQueueProvider(String prefix, JobManager 
jobManager, BundleContext context, ConfigurationAdmin configAdmin) {
+this.configAdmin = confi

svn commit: r1754387 - /sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/importer/LocalDistributionPackageImporter.java

2016-07-28 Thread tommaso
Author: tommaso
Date: Thu Jul 28 10:23:49 2016
New Revision: 1754387

URL: http://svn.apache.org/viewvc?rev=1754387=rev
Log:
SLING-5695 - fixed local importer

Modified:

sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/importer/LocalDistributionPackageImporter.java

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=1754387=1754386=1754387=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
 Thu Jul 28 10:23:49 2016
@@ -102,10 +102,14 @@ public class LocalDistributionPackageImp
 log.info("installing from reference {}", actualPackageId);
 DistributionPackage distributionPackage = 
packageBuilder.getPackage(resourceResolver, actualPackageId);
 if (distributionPackage != null) {
-DistributionPackageInfo packageInfo = 
packageBuilder.installPackage(resourceResolver, stream);
-log.info("package installed {}", packageInfo);
-
eventFactory.generatePackageEvent(DistributionEventTopics.IMPORTER_PACKAGE_IMPORTED,
 DistributionComponentKind.IMPORTER, name, packageInfo);
-return distributionPackage.getInfo();
+if (packageBuilder.installPackage(resourceResolver, 
distributionPackage)) {
+DistributionPackageInfo info = 
distributionPackage.getInfo();
+log.info("package installed {}", info);
+
eventFactory.generatePackageEvent(DistributionEventTopics.IMPORTER_PACKAGE_IMPORTED,
 DistributionComponentKind.IMPORTER, name, info);
+return info;
+} else {
+throw new DistributionException("could not install 
package {}" + distributionPackage);
+}
 } else {
 throw new DistributionException("could not install package 
from reference " + actualPackageId);
 }




svn commit: r1754385 - in /sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution: packaging/impl/ packaging/impl/importer/ queue/impl/ queue/impl/simple/ seriali

2016-07-28 Thread tommaso
Author: tommaso
Date: Thu Jul 28 10:10:00 2016
New Revision: 1754385

URL: http://svn.apache.org/viewvc?rev=1754385=rev
Log:
SLING-5695 - fixed local importer, minor fixes, reduced too loud logs

Modified:

sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/ResourceDistributionPackageBuilder.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/AsyncDeliveryDispatchingStrategy.java

sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/queue/impl/simple/SimpleDistributionQueueProvider.java

sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/serialization/impl/vlt/FileVaultContentSerializer.java

Modified: 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/ResourceDistributionPackageBuilder.java
URL: 
http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/ResourceDistributionPackageBuilder.java?rev=1754385=1754384=1754385=diff
==
--- 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/ResourceDistributionPackageBuilder.java
 (original)
+++ 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/ResourceDistributionPackageBuilder.java
 Thu Jul 28 10:10:00 2016
@@ -116,7 +116,6 @@ public class ResourceDistributionPackage
 throws DistributionException {
 try {
 distributionContentSerializer.importFromStream(resourceResolver, 
inputStream);
-
 return true;
 } finally {
 IOUtils.closeQuietly(inputStream);
@@ -137,7 +136,7 @@ public class ResourceDistributionPackage
 Resource uploadStream(Resource parent, InputStream stream, long size) 
throws PersistenceException {
 
 String name;
-log.info("uploading stream");
+log.debug("uploading stream");
 if (size == -1) {
 // stable id
 Map<String, Object> info = new HashMap<String, Object>();
@@ -157,7 +156,6 @@ public class ResourceDistributionPackage
 } else {
 name = "dstrpck-" + System.currentTimeMillis() + "-" + 
UUID.randomUUID().toString();
 }
-log.info("name ok");
 
 Map<String, Object> props = new HashMap<String, Object>();
 props.put(ResourceResolver.PROPERTY_RESOURCE_TYPE, "sling:Folder");
@@ -167,7 +165,6 @@ public class ResourceDistributionPackage
 props.put("size", size);
 }
 
-
 ResourceResolver resourceResolver = parent.getResourceResolver();
 
 Resource r = resourceResolver.getResource(parent, name);

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=1754385=1754384=1754385=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
 Thu Jul 28 10:10:00 2016
@@ -101,7 +101,7 @@ public class LocalDistributionPackageImp
 String actualPackageId = 
ReferencePackage.idFromReference(reference);
 log.info("installing from reference {}", actualPackageId);
 DistributionPackage distributionPackage = 
packageBuilder.getPackage(resourceResolver, actualPackageId);
-if (distributionPackage != null && 
packageBuilder.installPackage(resourceResolver, distributionPackage)) {
+if (distributionPackage != null) {
 DistributionPackageInfo packageInfo = 
packageBuilder.installPackage(resourceResolver, stream);
 log.info("package installed {}", packageInfo);
 
eventFactory.generatePackageEvent(DistributionEventTopics.IMPORTER_PACKAGE_IMPORTED,
 DistributionComponentKind.IMPORTER, name, packageInfo);

Modified: 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org

svn commit: r1754361 - in /sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution: packaging/impl/ serialization/impl/ serialization/impl/vlt/ util/impl/

2016-07-28 Thread tommaso
Author: tommaso
Date: Thu Jul 28 08:18:29 2016
New Revision: 1754361

URL: http://svn.apache.org/viewvc?rev=1754361=rev
Log:
SLING-5730 - applied patch from Simone Tripodi for writing packages in memory 
below a certain size

Added:

sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/util/impl/FileBackedMemoryOutputStream.java
   (with props)
Modified:

sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/ResourceDistributionPackageBuilder.java

sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/serialization/impl/DistributionPackageBuilderFactory.java

sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/serialization/impl/vlt/VaultDistributionPackageBuilderFactory.java

Modified: 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/ResourceDistributionPackageBuilder.java
URL: 
http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/ResourceDistributionPackageBuilder.java?rev=1754361=1754360=1754361=diff
==
--- 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/ResourceDistributionPackageBuilder.java
 (original)
+++ 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/ResourceDistributionPackageBuilder.java
 Thu Jul 28 08:18:29 2016
@@ -19,21 +19,16 @@
 
 package org.apache.sling.distribution.packaging.impl;
 
-import javax.annotation.Nonnull;
-import javax.jcr.RepositoryException;
-import java.io.BufferedInputStream;
-import java.io.BufferedOutputStream;
 import java.io.File;
-import java.io.FileInputStream;
-import java.io.FileOutputStream;
 import java.io.IOException;
 import java.io.InputStream;
-import java.io.OutputStream;
 import java.util.HashMap;
 import java.util.Map;
 import java.util.UUID;
 
-import org.apache.commons.io.FileUtils;
+import javax.annotation.Nonnull;
+import javax.jcr.RepositoryException;
+
 import org.apache.commons.io.IOUtils;
 import org.apache.sling.api.resource.PersistenceException;
 import org.apache.sling.api.resource.Resource;
@@ -43,6 +38,7 @@ import org.apache.sling.distribution.com
 import org.apache.sling.distribution.packaging.DistributionPackage;
 import 
org.apache.sling.distribution.serialization.DistributionContentSerializer;
 import org.apache.sling.distribution.serialization.impl.vlt.VltUtils;
+import org.apache.sling.distribution.util.impl.FileBackedMemoryOutputStream;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -54,28 +50,24 @@ public class ResourceDistributionPackage
 private final String packagesPath;
 private final File tempDirectory;
 private final DistributionContentSerializer distributionContentSerializer;
+private final int fileThreshold;
 
-public ResourceDistributionPackageBuilder(String type, 
DistributionContentSerializer distributionContentSerializer, String 
tempFilesFolder) {
+public ResourceDistributionPackageBuilder(String type, 
DistributionContentSerializer distributionContentSerializer, String 
tempFilesFolder, int fileThreshold) {
 super(type);
 this.distributionContentSerializer = distributionContentSerializer;
 this.packagesPath = PREFIX_PATH + type + "/data";
 this.tempDirectory = VltUtils.getTempFolder(tempFilesFolder);
-
+this.fileThreshold = fileThreshold;
 }
 
 @Override
 protected DistributionPackage createPackageForAdd(@Nonnull 
ResourceResolver resourceResolver, @Nonnull DistributionRequest request) throws 
DistributionException {
 DistributionPackage distributionPackage;
-// TODO : write to file if size > threshold
 
-File file = null;
+FileBackedMemoryOutputStream outputStream = null;
 try {
-file = File.createTempFile("distrpck-create-" + System.nanoTime(), 
"." + getType(), tempDirectory);
-
-OutputStream outputStream = null;
-
 try {
-outputStream = new BufferedOutputStream(new 
FileOutputStream(file));
+outputStream = new FileBackedMemoryOutputStream(fileThreshold, 
tempDirectory, "distrpck-create-", "." + getType());
 distributionContentSerializer.exportToStream(resourceResolver, 
request, outputStream);
 outputStream.flush();
 } finally {
@@ -88,9 +80,9 @@ public class ResourceDistributionPackage
 Resource packageResource = null;
 
 try {
-inputStream = new BufferedInputStream(new 
FileInputStream(file));
+inputStream = outputStream.openWritten

svn commit: r1754277 [1/2] - in /sling/trunk/contrib/extensions/distribution/core/src: main/java/org/apache/sling/distribution/agent/impl/ main/java/org/apache/sling/distribution/component/impl/ main/

2016-07-27 Thread tommaso
Author: tommaso
Date: Wed Jul 27 14:27:54 2016
New Revision: 1754277

URL: http://svn.apache.org/viewvc?rev=1754277=rev
Log:
SLING-5695 - async delivery when normal queue has too many items

Added:

sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/ReferencePackage.java
   (with props)

sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/queue/DistributionQueueType.java
   (with props)

sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/queue/impl/AsyncDeliveryDispatchingStrategy.java
   (with props)
Modified:

sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/agent/impl/ForwardDistributionAgentFactory.java

sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/agent/impl/SimpleDistributionAgent.java

sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/component/impl/DefaultDistributionConfigurationManager.java

sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/DistributionPackage.java

sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/AbstractDistributionPackageBuilder.java

sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/DistributionPackageUtils.java

sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/FileDistributionPackageBuilder.java

sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/ResourceDistributionPackageBuilder.java

sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/exporter/AgentDistributionPackageExporter.java

sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/importer/LocalDistributionPackageImporter.java

sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/importer/RemoteDistributionPackageImporter.java

sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/queue/DistributionQueue.java

sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/queue/DistributionQueueProvider.java

sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/queue/impl/CachingDistributionQueue.java

sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/queue/impl/MultipleQueueDispatchingStrategy.java

sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/queue/impl/SimpleAgentDistributionQueue.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/jobhandling/JobHandlingDistributionQueueProvider.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/queue/impl/simple/SimpleDistributionQueue.java

sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/queue/impl/simple/SimpleDistributionQueueCheckpoint.java

sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/queue/impl/simple/SimpleDistributionQueueProvider.java

sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/resources/impl/DistributionConfigurationResourceProvider.java

sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/resources/impl/ExtendedDistributionServiceResourceProvider.java

sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/resources/impl/common/SimpleReadableResourceIterator.java

sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/transport/impl/HttpTransportUtils.java

sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/transport/impl/SimpleHttpDistributionTransport.java

sling/trunk/contrib/extensions/distribution/core/src/test/java/org/apache/sling/distribution/queue/impl/jobhandling/JobHandlingDistributionQueueTest.java

Modified: 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/agent/impl

svn commit: r1754277 [2/2] - in /sling/trunk/contrib/extensions/distribution/core/src: main/java/org/apache/sling/distribution/agent/impl/ main/java/org/apache/sling/distribution/component/impl/ main/

2016-07-27 Thread tommaso
Modified: 
sling/trunk/contrib/extensions/distribution/core/src/test/java/org/apache/sling/distribution/queue/impl/jobhandling/JobHandlingDistributionQueueTest.java
URL: 
http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/test/java/org/apache/sling/distribution/queue/impl/jobhandling/JobHandlingDistributionQueueTest.java?rev=1754277=1754276=1754277=diff
==
--- 
sling/trunk/contrib/extensions/distribution/core/src/test/java/org/apache/sling/distribution/queue/impl/jobhandling/JobHandlingDistributionQueueTest.java
 (original)
+++ 
sling/trunk/contrib/extensions/distribution/core/src/test/java/org/apache/sling/distribution/queue/impl/jobhandling/JobHandlingDistributionQueueTest.java
 Wed Jul 27 14:27:54 2016
@@ -27,6 +27,7 @@ import org.apache.sling.distribution.que
 import org.apache.sling.distribution.queue.DistributionQueueItem;
 import org.apache.sling.distribution.queue.DistributionQueueItemState;
 import org.apache.sling.distribution.queue.DistributionQueueItemStatus;
+import org.apache.sling.distribution.queue.DistributionQueueType;
 import org.apache.sling.event.jobs.Job;
 import org.apache.sling.event.jobs.JobBuilder;
 import org.apache.sling.event.jobs.JobManager;
@@ -58,7 +59,7 @@ public class JobHandlingDistributionQueu
 when(jobManager.createJob(topic)).thenReturn(builder);
 when(jobManager.findJobs(JobManager.QueryType.ALL, topic, 
-1)).thenReturn(Collections.emptySet());
 when(builder.properties(any(Map.class))).thenReturn(builder);
-DistributionQueue queue = new JobHandlingDistributionQueue("aname", 
topic, jobManager, true);
+DistributionQueue queue = new JobHandlingDistributionQueue("aname", 
topic, jobManager, true, DistributionQueueType.ORDERED);
 DistributionPackageInfo packageInfo = new 
DistributionPackageInfo("type");
 packageInfo.put(DistributionPackageInfo.PROPERTY_REQUEST_PATHS, new 
String[]{"/foo"});
 packageInfo.put(DistributionPackageInfo.PROPERTY_REQUEST_TYPE, 
DistributionRequestType.ADD);
@@ -80,7 +81,7 @@ public class JobHandlingDistributionQueu
 when(jobManager.createJob(topic)).thenReturn(builder);
 when(jobManager.getJobById(anyString())).thenReturn(job);
 when(builder.properties(any(Map.class))).thenReturn(builder);
-DistributionQueue queue = new JobHandlingDistributionQueue("aname", 
topic, jobManager, true);
+DistributionQueue queue = new JobHandlingDistributionQueue("aname", 
topic, jobManager, true, DistributionQueueType.ORDERED);
 DistributionPackageInfo packageInfo = new 
DistributionPackageInfo("type");
 packageInfo.put(DistributionPackageInfo.PROPERTY_REQUEST_PATHS, new 
String[]{"/foo"});
 packageInfo.put(DistributionPackageInfo.PROPERTY_REQUEST_TYPE, 
DistributionRequestType.ADD);




svn commit: r1753527 - /sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/component/impl/OsgiConfigurationManager.java

2016-07-20 Thread tommaso
Author: tommaso
Date: Wed Jul 20 14:46:38 2016
New Revision: 1753527

URL: http://svn.apache.org/viewvc?rev=1753527=rev
Log:
This closes #154
commit d24ef381afdc4d4c93378694772c9afe53e45ba9
Author: tmaret <tma...@adobe.com>
Date: 2016-07-20T07:02:52Z
SLING-5872 - Management of agent configurations must identify configurations by 
name
Remove the agents with the same name wich are not bind to the same factory

Modified:

sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/component/impl/OsgiConfigurationManager.java

Modified: 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/component/impl/OsgiConfigurationManager.java
URL: 
http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/component/impl/OsgiConfigurationManager.java?rev=1753527=1753526=1753527=diff
==
--- 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/component/impl/OsgiConfigurationManager.java
 (original)
+++ 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/component/impl/OsgiConfigurationManager.java
 Wed Jul 20 14:46:38 2016
@@ -32,6 +32,7 @@ import java.io.IOException;
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.Dictionary;
+import java.util.Iterator;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
@@ -39,13 +40,11 @@ import java.util.regex.Matcher;
 import java.util.regex.Pattern;
 
 /**
- * Created by mpetria on 5/31/16.
+ * Manager implementation which represents the distribution configurations as 
OSGI configuration.
  */
 public class OsgiConfigurationManager implements 
DistributionConfigurationManager {
-private final Logger log = LoggerFactory.getLogger(getClass());
-
-
 final ConfigurationAdmin configurationAdmin;
+private final Logger log = LoggerFactory.getLogger(getClass());
 
 public OsgiConfigurationManager(ConfigurationAdmin configurationAdmin) {
 
@@ -57,7 +56,7 @@ public class OsgiConfigurationManager im
 List configurations = getOsgiConfigurations(kind, null);
 
 List result = new 
ArrayList();
-if (configurations == null || configurations.size() == 0) {
+if (configurations == null || configurations.isEmpty()) {
 return result;
 }
 
@@ -78,10 +77,15 @@ public class OsgiConfigurationManager im
 public DistributionConfiguration getConfig(ResourceResolver resolver, 
DistributionComponentKind kind, String name) {
 List configurations = getOsgiConfigurations(kind, name);
 
-if (configurations == null || configurations.size() == 0) {
+if (configurations == null || configurations.isEmpty()) {
 return null;
 }
 
+if (configurations.size() > 1) {
+log.warn("Found more than one configuration of kind: {} and with 
name: {}",
+new String[]{kind.getName(), name});
+}
+
 Configuration configuration = configurations.get(0);
 
 if (configuration != null) {
@@ -111,6 +115,18 @@ public class OsgiConfigurationManager im
 
 String factoryPid = componentKind.getFactory(componentType);
 if (factoryPid != null) {
+
+// SLING-5872 - Management of agent configurations must identify 
configurations by name
+// Remove the agents with the same name wich are not bind to the 
same factory.
+List configs = getOsgiConfigurations(componentKind, 
componentName);
+for (Iterator iter = configs.iterator() ; 
iter.hasNext() ; ) {
+Configuration conf = iter.next();
+if (factoryPid.equals(conf.getFactoryPid())) {
+iter.remove();
+}
+}
+deleteOsgiConfigs(configs);
+
 properties.put(DistributionComponentConstants.PN_NAME, 
componentName);
 Configuration configuration = saveOsgiConfig(factoryPid, 
componentName, properties);
 }
@@ -157,7 +173,7 @@ public class OsgiConfigurationManager im
 try {
 List configurations = 
getOsgiConfigurationsFromFactory(factoryPid, componentName);
 Configuration configuration = null;
-if (configurations == null || configurations.size() == 0) {
+if (configurations == null || configurations.isEmpty()) {
 configuration = 
configurationAdmin.createFactoryConfiguration(factoryPid);
 } else {
 configuration = configurations.get(0);




svn commit: r1753517 - in /sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution: component/impl/ResourceConfigurationManager.java resources/impl/common/Abstract

2016-07-20 Thread tommaso
Author: tommaso
Date: Wed Jul 20 13:56:59 2016
New Revision: 1753517

URL: http://svn.apache.org/viewvc?rev=1753517=rev
Log:
This closes #155
commit 419d686f1ab0828171e0a9eb245a026e5b443875
Author: tmaret <tma...@adobe.com>
Date: 2016-07-20T07:11:58Z
SLING-5875 - Distribution resource configuration manager does update resources
Use the content resource node if it exists already
Fix the infinite recursion of commit calls

Modified:

sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/component/impl/ResourceConfigurationManager.java

sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/resources/impl/common/AbstractModifyingResourceProvider.java

Modified: 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/component/impl/ResourceConfigurationManager.java
URL: 
http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/component/impl/ResourceConfigurationManager.java?rev=1753517=1753516=1753517=diff
==
--- 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/component/impl/ResourceConfigurationManager.java
 (original)
+++ 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/component/impl/ResourceConfigurationManager.java
 Wed Jul 20 13:56:59 2016
@@ -33,13 +33,14 @@ import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 
+/**
+ * Manager implementation which represents the distribution configurations as 
resources.
+ */
 public class ResourceConfigurationManager implements 
DistributionConfigurationManager {
 
-private final Logger log = LoggerFactory.getLogger(getClass());
-
-
 final String CONTENT_NODE = "jcr:content";
 final String configRootPath;
+private final Logger log = LoggerFactory.getLogger(getClass());
 private final String[] configProperties;
 private final Map<String, String> configDefaults;
 
@@ -100,7 +101,9 @@ public class ResourceConfigurationManage
 }
 
 Resource configResource = configRoot.getChild(config.getName());
-Resource contentResource = null;
+Resource contentResource = (configResource != null)
+? configResource.getChild(CONTENT_NODE)
+: null ;
 
 try {
 if (configResource == null) {
@@ -121,7 +124,6 @@ public class ResourceConfigurationManage
 
 ModifiableValueMap valueMap = 
contentResource.adaptTo(ModifiableValueMap.class);
 valueMap.putAll(properties);
-resolver.commit();
 } catch (PersistenceException e) {
 log.error("cannot save config {}", config.getName(),  e);
 }

Modified: 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/resources/impl/common/AbstractModifyingResourceProvider.java
URL: 
http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/resources/impl/common/AbstractModifyingResourceProvider.java?rev=1753517=1753516=1753517=diff
==
--- 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/resources/impl/common/AbstractModifyingResourceProvider.java
 (original)
+++ 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/resources/impl/common/AbstractModifyingResourceProvider.java
 Wed Jul 20 13:56:59 2016
@@ -96,6 +96,7 @@ public abstract class AbstractModifyingR
 saveInternalResources(resolver, changedResources, deletedResources);
 
 reset();
+resolver.commit();
 }
 
 public boolean hasChanges(ResourceResolver resolver) {




svn commit: r1753341 - in /sling/trunk/contrib/extensions/distribution/core/src: main/java/org/apache/sling/distribution/agent/impl/ main/java/org/apache/sling/distribution/packaging/impl/importer/ te

2016-07-19 Thread tommaso
Author: tommaso
Date: Tue Jul 19 07:20:24 2016
New Revision: 1753341

URL: http://svn.apache.org/viewvc?rev=1753341=rev
Log:
This closes #152
commit 4151cda6cb741ceaa0975ec0180fedf7ce75434c
Author: tmaret <tma...@adobe.com>
Date: 2016-07-15T14:42:35Z
SLING-5849 - Inconsistent event handling between local package importer and its 
factory
Generate Package Events in the package importer instead of the factory

Modified:

sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/agent/impl/ReverseDistributionAgentFactory.java

sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/importer/LocalDistributionPackageImporter.java

sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/importer/LocalDistributionPackageImporterFactory.java

sling/trunk/contrib/extensions/distribution/core/src/test/java/org/apache/sling/distribution/packaging/impl/importer/LocalDistributionPackageImporterTest.java

Modified: 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/agent/impl/ReverseDistributionAgentFactory.java
URL: 
http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/agent/impl/ReverseDistributionAgentFactory.java?rev=1753341=1753340=1753341=diff
==
--- 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/agent/impl/ReverseDistributionAgentFactory.java
 (original)
+++ 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/agent/impl/ReverseDistributionAgentFactory.java
 Tue Jul 19 07:20:24 2016
@@ -54,8 +54,6 @@ import org.apache.sling.event.jobs.JobMa
 import org.apache.sling.jcr.api.SlingRepository;
 import org.apache.sling.settings.SlingSettingsService;
 import org.osgi.framework.BundleContext;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
 
 /**
  * An OSGi service factory for "reverse agents" that pull resources from 
remote instances (e.g. from "queueing agents").
@@ -74,8 +72,6 @@ import org.slf4j.LoggerFactory;
 bind = "bindDistributionTrigger", unbind = "unbindDistributionTrigger")
 @Property(name="webconsole.configurationFactory.nameHint", value="Agent name: 
{name}")
 public class ReverseDistributionAgentFactory extends 
AbstractDistributionAgentFactory {
-private final Logger log = LoggerFactory.getLogger(getClass());
-
 
 @Property(label = "Name", description = "The name of the agent.")
 public static final String NAME = DistributionComponentConstants.PN_NAME;
@@ -183,16 +179,13 @@ public class ReverseDistributionAgentFac
 String serviceName = PropertiesUtil.toString(config.get(SERVICE_NAME), 
null);
 boolean queueProcessingEnabled = 
PropertiesUtil.toBoolean(config.get(QUEUE_PROCESSING_ENABLED), true);
 
-
 String[] exporterEndpoints = 
PropertiesUtil.toStringArray(config.get(EXPORTER_ENDPOINTS), new String[0]);
 exporterEndpoints = 
SettingsUtils.removeEmptyEntries(exporterEndpoints);
 
-
 int pullItems = PropertiesUtil.toInteger(config.get(PULL_ITEMS), 
Integer.MAX_VALUE);
 
-
 DistributionPackageExporter packageExporter = new 
RemoteDistributionPackageExporter(distributionLog, packageBuilder, 
transportSecretProvider, exporterEndpoints, pullItems);
-DistributionPackageImporter packageImporter = new 
LocalDistributionPackageImporter(packageBuilder);
+DistributionPackageImporter packageImporter = new 
LocalDistributionPackageImporter(agentName, distributionEventFactory, 
packageBuilder);
 DistributionQueueProvider queueProvider = new 
JobHandlingDistributionQueueProvider(agentName, jobManager, context);
 
 DistributionQueueDispatchingStrategy exportQueueStrategy = new 
SingleQueueDispatchingStrategy();
@@ -207,6 +200,5 @@ public class ReverseDistributionAgentFac
 serviceName, packageImporter, packageExporter, 
requestAuthorizationStrategy,
 queueProvider, exportQueueStrategy, importQueueStrategy, 
distributionEventFactory, resourceResolverFactory, slingRepository, 
distributionLog, allowedRequests, null, 0);
 
-
 }
 }

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=1753341=1753340=1753341=diff
==
--- 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/a

svn commit: r1751462 - /sling/trunk/contrib/extensions/distribution/extensions/src/main/java/org/apache/sling/distribution/serialization/impl/kryo/KryoContentSerializer.java

2016-07-05 Thread tommaso
Author: tommaso
Date: Tue Jul  5 13:04:36 2016
New Revision: 1751462

URL: http://svn.apache.org/viewvc?rev=1751462=rev
Log:
SLING-5823 - Kryo instance not cached anymore

Modified:

sling/trunk/contrib/extensions/distribution/extensions/src/main/java/org/apache/sling/distribution/serialization/impl/kryo/KryoContentSerializer.java

Modified: 
sling/trunk/contrib/extensions/distribution/extensions/src/main/java/org/apache/sling/distribution/serialization/impl/kryo/KryoContentSerializer.java
URL: 
http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/extensions/src/main/java/org/apache/sling/distribution/serialization/impl/kryo/KryoContentSerializer.java?rev=1751462=1751461=1751462=diff
==
--- 
sling/trunk/contrib/extensions/distribution/extensions/src/main/java/org/apache/sling/distribution/serialization/impl/kryo/KryoContentSerializer.java
 (original)
+++ 
sling/trunk/contrib/extensions/distribution/extensions/src/main/java/org/apache/sling/distribution/serialization/impl/kryo/KryoContentSerializer.java
 Tue Jul  5 13:04:36 2016
@@ -58,15 +58,12 @@ public class KryoContentSerializer imple
 private final Logger log = LoggerFactory.getLogger(getClass());
 
 private final String name;
-private final Kryo kryo = new Kryo();
 private final Set ignoredProperties;
 private final Set ignoredNodeNames;
 
 public KryoContentSerializer(String name) {
 this.name = name;
-kryo.setInstantiatorStrategy(new Kryo.DefaultInstantiatorStrategy(new 
StdInstantiatorStrategy()));
-kryo.addDefaultSerializer(Resource.class, new ResourceSerializer());
-kryo.addDefaultSerializer(InputStream.class, new 
InputStreamSerializer());
+
 Set iProps = new HashSet();
 iProps.add(JcrConstants.JCR_FROZENMIXINTYPES);
 iProps.add(JcrConstants.JCR_FROZENPRIMARYTYPE);
@@ -87,6 +84,10 @@ public class KryoContentSerializer imple
 @Override
 public void exportToStream(ResourceResolver resourceResolver, 
DistributionRequest request, OutputStream outputStream) throws 
DistributionException {
 
+Kryo kryo = new Kryo();
+kryo.setInstantiatorStrategy(new Kryo.DefaultInstantiatorStrategy(new 
StdInstantiatorStrategy()));
+kryo.addDefaultSerializer(Resource.class, new ResourceSerializer());
+kryo.addDefaultSerializer(InputStream.class, new 
InputStreamSerializer());
 String[] paths = request.getPaths();
 Output output = new Output(outputStream);
 LinkedList resources = new LinkedList();
@@ -103,6 +104,10 @@ public class KryoContentSerializer imple
 
 @Override
 public void importFromStream(ResourceResolver resourceResolver, 
InputStream stream) throws DistributionException {
+Kryo kryo = new Kryo();
+kryo.setInstantiatorStrategy(new Kryo.DefaultInstantiatorStrategy(new 
StdInstantiatorStrategy()));
+kryo.addDefaultSerializer(Resource.class, new ResourceSerializer());
+kryo.addDefaultSerializer(InputStream.class, new 
InputStreamSerializer());
 try {
 Input input = new Input(stream);
 LinkedList resources = (LinkedList) 
kryo.readObject(input, LinkedList.class);




svn commit: r1751459 - in /sling/trunk/contrib/extensions/distribution/extensions/src/main/java/org/apache/sling/distribution/serialization/impl: avro/AvroContentSerializer.java kryo/KryoContentSerial

2016-07-05 Thread tommaso
Author: tommaso
Date: Tue Jul  5 12:29:51 2016
New Revision: 1751459

URL: http://svn.apache.org/viewvc?rev=1751459=rev
Log:
SLING-5822 - added getFilters(path) handling in avro and kyro serializers

Modified:

sling/trunk/contrib/extensions/distribution/extensions/src/main/java/org/apache/sling/distribution/serialization/impl/avro/AvroContentSerializer.java

sling/trunk/contrib/extensions/distribution/extensions/src/main/java/org/apache/sling/distribution/serialization/impl/kryo/KryoContentSerializer.java

Modified: 
sling/trunk/contrib/extensions/distribution/extensions/src/main/java/org/apache/sling/distribution/serialization/impl/avro/AvroContentSerializer.java
URL: 
http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/extensions/src/main/java/org/apache/sling/distribution/serialization/impl/avro/AvroContentSerializer.java?rev=1751459=1751458=1751459=diff
==
--- 
sling/trunk/contrib/extensions/distribution/extensions/src/main/java/org/apache/sling/distribution/serialization/impl/avro/AvroContentSerializer.java
 (original)
+++ 
sling/trunk/contrib/extensions/distribution/extensions/src/main/java/org/apache/sling/distribution/serialization/impl/avro/AvroContentSerializer.java
 Tue Jul  5 12:29:51 2016
@@ -36,6 +36,7 @@ import java.util.LinkedList;
 import java.util.List;
 import java.util.Map;
 import java.util.Set;
+import java.util.regex.Pattern;
 
 import org.apache.avro.Schema;
 import org.apache.avro.file.DataFileReader;
@@ -110,7 +111,7 @@ public class AvroContentSerializer imple
 try {
 for (String path : request.getPaths()) {
 Resource resource = resourceResolver.getResource(path);
-AvroShallowResource avroShallowResource = 
getAvroShallowResource(request.isDeep(path), path, resource);
+AvroShallowResource avroShallowResource = 
getAvroShallowResource(request, path, resource);
 writer.append(avroShallowResource);
 }
 outputStream.flush();
@@ -144,7 +145,7 @@ public class AvroContentSerializer imple
 return name;
 }
 
-private AvroShallowResource getAvroShallowResource(boolean deep, String 
path, Resource resource) throws IOException {
+private AvroShallowResource getAvroShallowResource(DistributionRequest 
request, String path, Resource resource) throws IOException {
 AvroShallowResource avroShallowResource = new AvroShallowResource();
 avroShallowResource.setName("avro_" + System.nanoTime());
 avroShallowResource.setPath(path);
@@ -167,11 +168,20 @@ public class AvroContentSerializer imple
 }
 avroShallowResource.setValueMap(map);
 List children = new 
LinkedList();
+boolean deep = request.isDeep(path);
+String[] filters = request.getFilters(path);
 if (deep) {
 for (Resource child : resource.getChildren()) {
 String childPath = child.getPath();
 if (!ignoredNodeNames.contains(child.getName())) {
-children.add(getAvroShallowResource(true, childPath, 
child));
+children.add(getAvroShallowResource(request, childPath, 
child));
+}
+}
+} else {
+for (Resource child : resource.getChildren()) {
+String childPath = child.getPath();
+if (filtersAllow(filters, childPath) && 
!ignoredNodeNames.contains(child.getName())) {
+children.add(getAvroShallowResource(request, childPath, 
child));
 }
 }
 }
@@ -179,6 +189,25 @@ public class AvroContentSerializer imple
 return avroShallowResource;
 }
 
+private boolean filtersAllow(String[] filters, String path) {
+boolean allowed = false;
+for (String pattern : filters) {
+if (pattern.startsWith("+")) {
+if 
(Pattern.compile(pattern.substring(1)).matcher(path).matches()) {
+allowed = true;
+}
+} else if (pattern.startsWith("-")) {
+if 
(Pattern.compile(pattern.substring(1)).matcher(path).matches()) {
+allowed = false;
+}
+} else {
+allowed = Pattern.compile(pattern).matcher(path).matches();
+}
+}
+return allowed;
+}
+
+
 private Collection readAvroResources(byte[] bytes) 
throws IOException {
 DatumReader datumReader = new 
SpecificDatumReader(AvroShallowResource.class);
 DataFileReader dataFileReader = new 
DataFileReader(new SeekableByteArrayInput(bytes), 
datumReader);

Modified: 
sling/trunk/contrib/extensions/distribution/extensions/src/main/java/org/apache/sling/distribution/serialization/impl/kryo/KryoContentSerializer.java
URL: 
http://svn.apache.org/viewvc/sling

svn commit: r1751343 - in /sling/trunk/contrib/extensions/distribution/extensions/src/main/java/org/apache/sling/distribution/serialization/impl: avro/AvroContentSerializer.java kryo/KryoContentSerial

2016-07-04 Thread tommaso
Author: tommaso
Date: Mon Jul  4 16:54:27 2016
New Revision: 1751343

URL: http://svn.apache.org/viewvc?rev=1751343=rev
Log:
DataFileWriter should not be reused across requests, moving created resource 
log to debug

Modified:

sling/trunk/contrib/extensions/distribution/extensions/src/main/java/org/apache/sling/distribution/serialization/impl/avro/AvroContentSerializer.java

sling/trunk/contrib/extensions/distribution/extensions/src/main/java/org/apache/sling/distribution/serialization/impl/kryo/KryoContentSerializer.java

Modified: 
sling/trunk/contrib/extensions/distribution/extensions/src/main/java/org/apache/sling/distribution/serialization/impl/avro/AvroContentSerializer.java
URL: 
http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/extensions/src/main/java/org/apache/sling/distribution/serialization/impl/avro/AvroContentSerializer.java?rev=1751343=1751342=1751343=diff
==
--- 
sling/trunk/contrib/extensions/distribution/extensions/src/main/java/org/apache/sling/distribution/serialization/impl/avro/AvroContentSerializer.java
 (original)
+++ 
sling/trunk/contrib/extensions/distribution/extensions/src/main/java/org/apache/sling/distribution/serialization/impl/avro/AvroContentSerializer.java
 Mon Jul  4 16:54:27 2016
@@ -67,15 +67,12 @@ public class AvroContentSerializer imple
 private final Logger log = LoggerFactory.getLogger(getClass());
 
 private final String name;
-private final DataFileWriter dataFileWriter;
 private final Schema schema;
 private final Set ignoredProperties;
 private final Set ignoredNodeNames;
 private final SimpleDateFormat dateFormat = new 
SimpleDateFormat("-MM-dd'T'hh:mm:ss.sss+hh:mm");
 
 public AvroContentSerializer(String name) {
-DatumWriter datumWriter = new 
SpecificDatumWriter(AvroShallowResource.class);
-this.dataFileWriter = new 
DataFileWriter(datumWriter);
 try {
 schema = new 
Schema.Parser().parse(getClass().getResourceAsStream("/shallowresource.avsc"));
 } catch (IOException e) {
@@ -102,22 +99,21 @@ public class AvroContentSerializer imple
 @Override
 public void exportToStream(ResourceResolver resourceResolver, 
DistributionRequest request, OutputStream outputStream) throws 
DistributionException {
 
-DataFileWriter writer;
+DatumWriter datumWriter = new 
SpecificDatumWriter(AvroShallowResource.class);
+DataFileWriter writer = new 
DataFileWriter(datumWriter);
 try {
-writer = dataFileWriter.create(schema, outputStream);
+writer.create(schema, outputStream);
 } catch (IOException e) {
 throw new DistributionException(e);
 }
 
 try {
-
 for (String path : request.getPaths()) {
 Resource resource = resourceResolver.getResource(path);
 AvroShallowResource avroShallowResource = 
getAvroShallowResource(request.isDeep(path), path, resource);
 writer.append(avroShallowResource);
 }
 outputStream.flush();
-
 } catch (Exception e) {
 throw new DistributionException(e);
 } finally {
@@ -127,7 +123,6 @@ public class AvroContentSerializer imple
 // do nothing
 }
 }
-
 }
 
 @Override
@@ -237,7 +232,7 @@ public class AvroContentSerializer imple
 parent = createParent(resourceResolver, parentPath);
 }
 Resource createdResource = resourceResolver.create(parent, name, map);
-log.info("created resource {}", createdResource);
+log.debug("created resource {}", createdResource);
 for (AvroShallowResource child : r.getChildren()) {
 persistResource(createdResource.getResourceResolver(), child);
 }

Modified: 
sling/trunk/contrib/extensions/distribution/extensions/src/main/java/org/apache/sling/distribution/serialization/impl/kryo/KryoContentSerializer.java
URL: 
http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/extensions/src/main/java/org/apache/sling/distribution/serialization/impl/kryo/KryoContentSerializer.java?rev=1751343=1751342=1751343=diff
==
--- 
sling/trunk/contrib/extensions/distribution/extensions/src/main/java/org/apache/sling/distribution/serialization/impl/kryo/KryoContentSerializer.java
 (original)
+++ 
sling/trunk/contrib/extensions/distribution/extensions/src/main/java/org/apache/sling/distribution/serialization/impl/kryo/KryoContentSerializer.java
 Mon Jul  4 16:54:27 2016
@@ -134,7 +134,7 @@ public class KryoContentSerializer imple
 parent = createParent(resourceResolver, parentPath);
 }
 Resource createdResource = resourceResolver.create(parent, name, 
resource.getValueMap());
-log.inf

svn commit: r1750795 - /sling/trunk/contrib/extensions/distribution/extensions/src/main/java/org/apache/sling/distribution/serialization/impl/avro/AvroContentSerializer.java

2016-06-30 Thread tommaso
Author: tommaso
Date: Thu Jun 30 13:16:10 2016
New Revision: 1750795

URL: http://svn.apache.org/viewvc?rev=1750795=rev
Log:
SLING-5817 - data file reader is always closed

Modified:

sling/trunk/contrib/extensions/distribution/extensions/src/main/java/org/apache/sling/distribution/serialization/impl/avro/AvroContentSerializer.java

Modified: 
sling/trunk/contrib/extensions/distribution/extensions/src/main/java/org/apache/sling/distribution/serialization/impl/avro/AvroContentSerializer.java
URL: 
http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/extensions/src/main/java/org/apache/sling/distribution/serialization/impl/avro/AvroContentSerializer.java?rev=1750795=1750794=1750795=diff
==
--- 
sling/trunk/contrib/extensions/distribution/extensions/src/main/java/org/apache/sling/distribution/serialization/impl/avro/AvroContentSerializer.java
 (original)
+++ 
sling/trunk/contrib/extensions/distribution/extensions/src/main/java/org/apache/sling/distribution/serialization/impl/avro/AvroContentSerializer.java
 Thu Jun 30 13:16:10 2016
@@ -187,14 +187,18 @@ public class AvroContentSerializer imple
 private Collection readAvroResources(byte[] bytes) 
throws IOException {
 DatumReader datumReader = new 
SpecificDatumReader(AvroShallowResource.class);
 DataFileReader dataFileReader = new 
DataFileReader(new SeekableByteArrayInput(bytes), 
datumReader);
-AvroShallowResource avroResource = null;
 Collection avroResources = new 
LinkedList();
-while (dataFileReader.hasNext()) {
+try {
+AvroShallowResource avroResource = null;
+while (dataFileReader.hasNext()) {
 // Reuse avroResource object by passing it to next(). This saves us from
 // allocating and garbage collecting many objects for files with
 // many items.
-avroResource = dataFileReader.next(avroResource);
-avroResources.add(avroResource);
+avroResource = dataFileReader.next(avroResource);
+avroResources.add(avroResource);
+}
+} finally {
+dataFileReader.close();
 }
 return avroResources;
 }




svn commit: r1750344 [2/2] - in /sling/trunk/contrib/extensions/distribution/core/src: main/java/org/apache/sling/distribution/agent/impl/ main/java/org/apache/sling/distribution/component/impl/ main/

2016-06-27 Thread tommaso
Modified: 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/serialization/impl/DefaultDistributionPackageBuilderProvider.java
URL: 
http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/serialization/impl/DefaultDistributionPackageBuilderProvider.java?rev=1750344=1750343=1750344=diff
==
--- 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/serialization/impl/DefaultDistributionPackageBuilderProvider.java
 (original)
+++ 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/serialization/impl/DefaultDistributionPackageBuilderProvider.java
 Mon Jun 27 14:11:06 2016
@@ -26,8 +26,8 @@ import org.apache.felix.scr.annotations.
 import org.apache.sling.distribution.component.impl.DistributionComponent;
 import org.apache.sling.distribution.component.impl.DistributionComponentKind;
 import 
org.apache.sling.distribution.component.impl.DistributionComponentProvider;
-import org.apache.sling.distribution.serialization.DistributionPackageBuilder;
-import 
org.apache.sling.distribution.serialization.DistributionPackageBuilderProvider;
+import org.apache.sling.distribution.packaging.DistributionPackageBuilder;
+import 
org.apache.sling.distribution.packaging.DistributionPackageBuilderProvider;
 
 @Component
 @Service(DistributionPackageBuilderProvider.class)

Modified: 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/serialization/impl/DistributionPackageBuilderFactory.java
URL: 
http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/serialization/impl/DistributionPackageBuilderFactory.java?rev=1750344=1750343=1750344=diff
==
--- 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/serialization/impl/DistributionPackageBuilderFactory.java
 (original)
+++ 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/serialization/impl/DistributionPackageBuilderFactory.java
 Mon Jun 27 14:11:06 2016
@@ -36,10 +36,12 @@ import org.apache.sling.distribution.Dis
 import org.apache.sling.distribution.common.DistributionException;
 import 
org.apache.sling.distribution.component.impl.DistributionComponentConstants;
 import org.apache.sling.distribution.component.impl.SettingsUtils;
-import org.apache.sling.distribution.serialization.DistributionPackage;
-import org.apache.sling.distribution.serialization.DistributionPackageBuilder;
+import org.apache.sling.distribution.packaging.DistributionPackage;
+import org.apache.sling.distribution.packaging.DistributionPackageBuilder;
+import 
org.apache.sling.distribution.packaging.impl.FileDistributionPackageBuilder;
+import 
org.apache.sling.distribution.packaging.impl.ResourceDistributionPackageBuilder;
 import 
org.apache.sling.distribution.serialization.DistributionContentSerializer;
-import org.apache.sling.distribution.serialization.DistributionPackageInfo;
+import org.apache.sling.distribution.packaging.DistributionPackageInfo;
 
 /**
  * A factory for package builders

Modified: 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/serialization/impl/vlt/FileVaultContentSerializer.java
URL: 
http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/serialization/impl/vlt/FileVaultContentSerializer.java?rev=1750344=1750343=1750344=diff
==
--- 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/serialization/impl/vlt/FileVaultContentSerializer.java
 (original)
+++ 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/serialization/impl/vlt/FileVaultContentSerializer.java
 Mon Jun 27 14:11:06 2016
@@ -43,7 +43,7 @@ import org.apache.sling.api.resource.Res
 import org.apache.sling.distribution.DistributionRequest;
 import org.apache.sling.distribution.common.DistributionException;
 import 
org.apache.sling.distribution.serialization.DistributionContentSerializer;
-import 
org.apache.sling.distribution.serialization.impl.FileDistributionPackage;
+import org.apache.sling.distribution.packaging.impl.FileDistributionPackage;
 import org.apache.sling.distribution.util.DistributionJcrUtils;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;

Modified: 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/serialization/impl/vlt/VaultDistributionPackageBuilderFactory.java
URL: 

svn commit: r1750344 [1/2] - in /sling/trunk/contrib/extensions/distribution/core/src: main/java/org/apache/sling/distribution/agent/impl/ main/java/org/apache/sling/distribution/component/impl/ main/

2016-06-27 Thread tommaso
Author: tommaso
Date: Mon Jun 27 14:11:06 2016
New Revision: 1750344

URL: http://svn.apache.org/viewvc?rev=1750344=rev
Log:
SLING-5815 - moving DistributionPackage and related APIs in packaging package

Added:

sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/DistributionPackage.java
  - copied, changed from r1750297, 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/serialization/DistributionPackage.java

sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/DistributionPackageBuilder.java
  - copied, changed from r1750297, 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/serialization/DistributionPackageBuilder.java

sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/DistributionPackageBuilderProvider.java
  - copied, changed from r1750297, 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/serialization/DistributionPackageBuilderProvider.java

sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/DistributionPackageInfo.java
  - copied, changed from r1750297, 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/serialization/DistributionPackageInfo.java

sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/AbstractDistributionPackage.java
  - copied, changed from r1750297, 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/serialization/impl/AbstractDistributionPackage.java

sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/AbstractDistributionPackageBuilder.java
  - copied, changed from r1750297, 
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/packaging/impl/DistributionPackageWrapper.java
  - copied, changed from r1750297, 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/serialization/impl/DistributionPackageWrapper.java

sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/FileDistributionPackage.java
  - copied, changed from r1750297, 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/serialization/impl/FileDistributionPackage.java

sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/FileDistributionPackageBuilder.java
  - copied, changed from r1750297, 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/serialization/impl/FileDistributionPackageBuilder.java

sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/ResourceDistributionPackage.java
  - copied, changed from r1750297, 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/serialization/impl/ResourceDistributionPackage.java

sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/ResourceDistributionPackageBuilder.java
  - copied, changed from r1750297, 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/serialization/impl/ResourceDistributionPackageBuilder.java

sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/SharedDistributionPackage.java
  - copied, changed from r1750297, 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/serialization/impl/SharedDistributionPackage.java

sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/SimpleDistributionPackage.java
  - copied, changed from r1750297, 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/serialization/impl/SimpleDistributionPackage.java

sling/trunk/contrib/extensions/distribution/core/src/test/java/org/apache/sling/distribution/packaging/impl/SimpleDistributionPackageTest.java
  - copied, changed from r1750297, 
sling/trunk/contrib/extensions/distribution/core/src/test/java/org/apache/sling/distribution/serialization/impl/SimpleDistributionPackageTest.java
Removed:

sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/serialization/DistributionPackage.java

sling/trunk/contrib/extensions

svn commit: r1748564 - /sling/trunk/contrib/extensions/distribution/core/src/test/java/org/apache/sling/distribution/queue/impl/simple/SimpleDistributionQueueProviderTest.java

2016-06-15 Thread tommaso
Author: tommaso
Date: Wed Jun 15 12:02:35 2016
New Revision: 1748564

URL: http://svn.apache.org/viewvc?rev=1748564=rev
Log:
SLING-5789 - checkpointing directories should be pruned at the end of the tests

Modified:

sling/trunk/contrib/extensions/distribution/core/src/test/java/org/apache/sling/distribution/queue/impl/simple/SimpleDistributionQueueProviderTest.java

Modified: 
sling/trunk/contrib/extensions/distribution/core/src/test/java/org/apache/sling/distribution/queue/impl/simple/SimpleDistributionQueueProviderTest.java
URL: 
http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/test/java/org/apache/sling/distribution/queue/impl/simple/SimpleDistributionQueueProviderTest.java?rev=1748564=1748563=1748564=diff
==
--- 
sling/trunk/contrib/extensions/distribution/core/src/test/java/org/apache/sling/distribution/queue/impl/simple/SimpleDistributionQueueProviderTest.java
 (original)
+++ 
sling/trunk/contrib/extensions/distribution/core/src/test/java/org/apache/sling/distribution/queue/impl/simple/SimpleDistributionQueueProviderTest.java
 Wed Jun 15 12:02:35 2016
@@ -19,7 +19,6 @@
 package org.apache.sling.distribution.queue.impl.simple;
 
 import java.io.File;
-import java.util.Map;
 
 import org.apache.commons.io.FileUtils;
 import org.apache.sling.commons.scheduler.ScheduleOptions;
@@ -30,9 +29,7 @@ import org.apache.sling.distribution.que
 import org.apache.sling.distribution.queue.DistributionQueueProcessor;
 import org.junit.Test;
 
-import static org.junit.Assert.assertArrayEquals;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.*;
 import static org.mockito.Matchers.any;
 import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.when;
@@ -44,16 +41,23 @@ public class SimpleDistributionQueueProv
 
 @Test
 public void testGetOrCreateQueue() throws Exception {
-SimpleDistributionQueueProvider simpledistributionQueueProvider = new 
SimpleDistributionQueueProvider(mock(Scheduler.class), "agentName", false);
+SimpleDistributionQueueProvider simpledistributionQueueProvider = new 
SimpleDistributionQueueProvider(mock(Scheduler.class),
+"agentName", false);
 DistributionQueue queue = 
simpledistributionQueueProvider.getQueue("default");
 assertNotNull(queue);
 }
 
 @Test
 public void testGetOrCreateQueueWithCheckpointing() throws Exception {
-SimpleDistributionQueueProvider simpledistributionQueueProvider = new 
SimpleDistributionQueueProvider(mock(Scheduler.class), "agentName", true);
-DistributionQueue queue = 
simpledistributionQueueProvider.getQueue("default");
-assertNotNull(queue);
+String name = "agentName";
+try {
+SimpleDistributionQueueProvider simpledistributionQueueProvider = 
new SimpleDistributionQueueProvider(mock(Scheduler.class),
+name, true);
+DistributionQueue queue = 
simpledistributionQueueProvider.getQueue("default");
+assertNotNull(queue);
+} finally {
+new File(name + "-simple-queues-checkpoints").deleteOnExit();
+}
 }
 
 @Test
@@ -63,7 +67,9 @@ public class SimpleDistributionQueueProv
 when(scheduler.NOW(-1, 1)).thenReturn(options);
 when(options.canRunConcurrently(false)).thenReturn(options);
 when(options.name(any(String.class))).thenReturn(options);
-SimpleDistributionQueueProvider simpledistributionQueueProvider = new 
SimpleDistributionQueueProvider(scheduler, "dummy-agent", false);
+String name = "dummy-agent";
+SimpleDistributionQueueProvider simpledistributionQueueProvider = new 
SimpleDistributionQueueProvider(scheduler,
+name, false);
 DistributionQueueProcessor processor = 
mock(DistributionQueueProcessor.class);
 simpledistributionQueueProvider.enableQueueProcessing(processor);
 }
@@ -80,37 +86,48 @@ public class SimpleDistributionQueueProv
 when(scheduler.NOW(-1, 15)).thenReturn(options);
 when(options.canRunConcurrently(false)).thenReturn(options);
 when(options.name(any(String.class))).thenReturn(options);
-SimpleDistributionQueueProvider simpledistributionQueueProvider = new 
SimpleDistributionQueueProvider(scheduler, "dummy-agent", true);
-DistributionQueueProcessor processor = 
mock(DistributionQueueProcessor.class);
-simpledistributionQueueProvider.enableQueueProcessing(processor, 
"dummy-agent");
-DistributionQueue queue = 
simpledistributionQueueProvider.getQueue("dummy-agent");
-assertNotNull(queue);
-assertEquals(1, queue.getStatus().getItemsCount());
-DistributionQueueEntry 

svn commit: r1746263 - in /sling/trunk/contrib/extensions/distribution/core/src: main/java/org/apache/sling/distribution/transport/impl/ test/java/org/apache/sling/distribution/transport/impl/

2016-05-31 Thread tommaso
Author: tommaso
Date: Tue May 31 10:56:06 2016
New Revision: 1746263

URL: http://svn.apache.org/viewvc?rev=1746263=rev
Log:
SLING-5752 - re-enabled SimpleHttpDistributionTransportTest

Modified:

sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/transport/impl/SimpleHttpDistributionTransport.java

sling/trunk/contrib/extensions/distribution/core/src/test/java/org/apache/sling/distribution/transport/impl/SimpleHttpDistributionTransportTest.java

Modified: 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/transport/impl/SimpleHttpDistributionTransport.java
URL: 
http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/transport/impl/SimpleHttpDistributionTransport.java?rev=1746263=1746262=1746263=diff
==
--- 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/transport/impl/SimpleHttpDistributionTransport.java
 (original)
+++ 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/transport/impl/SimpleHttpDistributionTransport.java
 Tue May 31 10:56:06 2016
@@ -124,18 +124,12 @@ public class SimpleHttpDistributionTrans
 @Nullable
 public RemoteDistributionPackage retrievePackage(@Nonnull ResourceResolver 
resourceResolver, @Nonnull DistributionRequest distributionRequest, @Nonnull 
DistributionTransportContext distributionContext) throws DistributionException {
 log.debug("pulling from {}", distributionEndpoint.getUri());
-List result = new 
ArrayList();
-
 
 try {
 URI distributionURI = 
RequestUtils.appendDistributionRequest(distributionEndpoint.getUri(), 
distributionRequest);
 
-// TODO : executor should be cached and reused
-
 Executor executor = getExecutor(distributionContext);
 
-//Request req = Request.Post(distributionURI).useExpectContinue();
-
 // TODO : add queue parameter
 InputStream inputStream = 
HttpTransportUtils.fetchNextPackage(executor, distributionURI);
 

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=1746263=1746262=1746263=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
 Tue May 31 10:56:06 2016
@@ -36,11 +36,10 @@ import org.apache.sling.distribution.Dis
 import org.apache.sling.distribution.SimpleDistributionRequest;
 import org.apache.sling.distribution.log.impl.DefaultDistributionLog;
 import org.apache.sling.distribution.serialization.DistributionPackage;
-import org.apache.sling.distribution.serialization.DistributionPackageInfo;
 import org.apache.sling.distribution.serialization.DistributionPackageBuilder;
+import org.apache.sling.distribution.serialization.DistributionPackageInfo;
 import org.apache.sling.distribution.transport.DistributionTransportSecret;
 import 
org.apache.sling.distribution.transport.DistributionTransportSecretProvider;
-import org.junit.Ignore;
 import org.junit.Test;
 
 import static org.junit.Assert.assertNotNull;
@@ -52,7 +51,6 @@ import static org.mockito.Mockito.when;
 /**
  * Testcase for {@link SimpleHttpDistributionTransport}
  */
-@Ignore
 public class SimpleHttpDistributionTransportTest {
 
 @Test
@@ -77,7 +75,10 @@ public class SimpleHttpDistributionTrans
 when(distributionPackage.getInfo()).thenReturn(new 
DistributionPackageInfo("type"));
 InputStream stream = mock(InputStream.class);
 when(distributionPackage.createInputStream()).thenReturn(stream);
-simpleHttpDistributionTransport.deliverPackage(resourceResolver, 
distributionPackage, new DistributionTransportContext());
+DistributionTransportContext distributionContext = 
mock(DistributionTransportContext.class);
+when(distributionContext.get(any(String.class), 
any(Class.class))).thenReturn(executor);
+
when(distributionContext.containsKey(any(String.class))).thenReturn(true);
+simpleHttpDistributionTransport.deliverPackage(resourceResolver, 
distributionPackage, distributionContext);
 }
 
 @Test
@@ -139,7 +140,11 @@ public class SimpleHttpDistributionTrans
 endpoint, packageBuilder, secretProvider);
 

svn commit: r1746247 - /sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/transport/impl/SimpleHttpDistributionTransport.java

2016-05-31 Thread tommaso
Author: tommaso
Date: Tue May 31 07:36:58 2016
New Revision: 1746247

URL: http://svn.apache.org/viewvc?rev=1746247=rev
Log:
This closes #144
commit e876de40c51cbcbc2f0aac41f3e0607b7c0c6ca2
Author: tmaret <tma...@adobe.com>
Date: 2016-05-30T15:34:30Z
SLING-5752 - SimpleHttpDistributionTransport does not leverage configured 
scheme from distribution endpoint
Pass scheme from distribution endpoint when building Executor's HttpHost

Modified:

sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/transport/impl/SimpleHttpDistributionTransport.java

Modified: 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/transport/impl/SimpleHttpDistributionTransport.java
URL: 
http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/transport/impl/SimpleHttpDistributionTransport.java?rev=1746247=1746246=1746247=diff
==
--- 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/transport/impl/SimpleHttpDistributionTransport.java
 (original)
+++ 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/transport/impl/SimpleHttpDistributionTransport.java
 Tue May 31 07:36:58 2016
@@ -160,9 +160,10 @@ public class SimpleHttpDistributionTrans
 private Executor authenticate(DistributionTransportSecret secret, Executor 
executor) {
 Map<String, String> credentialsMap = secret.asCredentialsMap();
 if (credentialsMap != null) {
-executor = executor.auth(new 
HttpHost(distributionEndpoint.getUri().getHost(), 
distributionEndpoint.getUri().getPort()),
+URI uri = distributionEndpoint.getUri();
+executor = executor.auth(new HttpHost(uri.getHost(), 
uri.getPort(), uri.getScheme()),
 credentialsMap.get(USERNAME), 
credentialsMap.get(PASSWORD)).authPreemptive(
-new HttpHost(distributionEndpoint.getUri().getHost(), 
distributionEndpoint.getUri().getPort()));
+new HttpHost(uri.getHost(), uri.getPort(), 
uri.getScheme()));
 log.debug("authenticate user={}, endpoint={}", 
secret.asCredentialsMap().get(USERNAME), distributionEndpoint.getUri());
 }
 return executor;




svn commit: r1745367 - in /sling/trunk/contrib/extensions/distribution/core/src: main/java/org/apache/sling/distribution/queue/impl/simple/ test/java/org/apache/sling/distribution/queue/impl/simple/ t

2016-05-24 Thread tommaso
Author: tommaso
Date: Tue May 24 14:30:08 2016
New Revision: 1745367

URL: http://svn.apache.org/viewvc?rev=1745367=rev
Log:
SLING-5737 - fix checkpointing with String[], added more proper testing of the 
reloaded item

Modified:

sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/queue/impl/simple/SimpleDistributionQueueCheckpoint.java

sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/queue/impl/simple/SimpleDistributionQueueProvider.java

sling/trunk/contrib/extensions/distribution/core/src/test/java/org/apache/sling/distribution/queue/impl/simple/SimpleDistributionQueueCheckpointTest.java

sling/trunk/contrib/extensions/distribution/core/src/test/java/org/apache/sling/distribution/queue/impl/simple/SimpleDistributionQueueProviderTest.java

sling/trunk/contrib/extensions/distribution/core/src/test/resources/dummy-agent-checkpoint

Modified: 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/queue/impl/simple/SimpleDistributionQueueCheckpoint.java
URL: 
http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/queue/impl/simple/SimpleDistributionQueueCheckpoint.java?rev=1745367=1745366=1745367=diff
==
--- 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/queue/impl/simple/SimpleDistributionQueueCheckpoint.java
 (original)
+++ 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/queue/impl/simple/SimpleDistributionQueueCheckpoint.java
 Tue May 24 14:30:08 2016
@@ -22,6 +22,7 @@ import java.io.File;
 import java.io.FileOutputStream;
 import java.io.StringWriter;
 import java.nio.charset.Charset;
+import java.util.Arrays;
 import java.util.Collection;
 import java.util.LinkedList;
 import java.util.Map;
@@ -70,7 +71,17 @@ class SimpleDistributionQueueCheckpoint
 jsonWriter.object();
 for (Map.Entry entry : item.entrySet()) {
 jsonWriter.key(String.valueOf(entry.getKey()));
-jsonWriter.value(String.valueOf(entry.getValue()));
+Object value = entry.getValue();
+boolean isArray = value instanceof String[];
+if (isArray) {
+jsonWriter.array();
+for (String s : ((String[]) value)) {
+jsonWriter.value(s);
+}
+jsonWriter.endArray();
+} else {
+jsonWriter.value(value);
+}
 }
 jsonWriter.endObject();
 lines.add(packageId + " " + w.toString());

Modified: 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/queue/impl/simple/SimpleDistributionQueueProvider.java
URL: 
http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/queue/impl/simple/SimpleDistributionQueueProvider.java?rev=1745367=1745366=1745367=diff
==
--- 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/queue/impl/simple/SimpleDistributionQueueProvider.java
 (original)
+++ 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/queue/impl/simple/SimpleDistributionQueueProvider.java
 Tue May 24 14:30:08 2016
@@ -23,6 +23,7 @@ import java.io.File;
 import java.io.FileNotFoundException;
 import java.io.FileReader;
 import java.io.FilenameFilter;
+import java.util.Arrays;
 import java.util.Collection;
 import java.util.HashMap;
 import java.util.Iterator;
@@ -31,6 +32,7 @@ import java.util.concurrent.ConcurrentHa
 
 import org.apache.commons.io.IOUtils;
 import org.apache.commons.io.LineIterator;
+import org.apache.sling.commons.json.JSONArray;
 import org.apache.sling.commons.json.JSONException;
 import org.apache.sling.commons.json.JSONObject;
 import org.apache.sling.commons.json.JSONTokener;
@@ -131,7 +133,16 @@ public class SimpleDistributionQueueProv
 Iterator keys = jsonObject.keys();
 while (keys.hasNext()) {
 String key = keys.next();
-info.put(key, jsonObject.get(key));
+JSONArray v = jsonObject.optJSONArray(key);
+if (v != null) {
+String[] a = new String[v.length()];
+for (int i = 0; i < a.length; i++) {
+a[i] = 

svn commit: r1745364 - in /sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution: common/ packaging/ packaging/impl/importer/ queue/impl/ serialization/ serializ

2016-05-24 Thread tommaso
Author: tommaso
Date: Tue May 24 14:01:51 2016
New Revision: 1745364

URL: http://svn.apache.org/viewvc?rev=1745364=rev
Log:
SLING-5711 - adjusted some more javadocs

Modified:

sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/common/DistributionException.java

sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/DistributionPackageExporter.java

sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/DistributionPackageImporter.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/CachingDistributionQueue.java

sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/queue/impl/DistributionQueueDispatchingStrategy.java

sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/serialization/DistributionContentSerializer.java

sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/serialization/DistributionPackageBuilderProvider.java

sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/serialization/impl/FileDistributionPackageBuilder.java

sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/servlet/DistributionPackageExporterServlet.java

Modified: 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/common/DistributionException.java
URL: 
http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/common/DistributionException.java?rev=1745364=1745363=1745364=diff
==
--- 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/common/DistributionException.java
 (original)
+++ 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/common/DistributionException.java
 Tue May 24 14:01:51 2016
@@ -16,13 +16,13 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-
 package org.apache.sling.distribution.common;
 
 /**
  * Generic checked exception for distribution
  */
 public class DistributionException extends Exception {
+
 public DistributionException(Throwable e) {
 super(e);
 }

Modified: 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/DistributionPackageExporter.java
URL: 
http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/DistributionPackageExporter.java?rev=1745364=1745363=1745364=diff
==
--- 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/DistributionPackageExporter.java
 (original)
+++ 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/DistributionPackageExporter.java
 Tue May 24 14:01:51 2016
@@ -28,13 +28,13 @@ import org.apache.sling.distribution.com
 import org.apache.sling.distribution.serialization.DistributionPackage;
 
 /**
- * A {@link DistributionPackageExporter ) is responsible of exporting
- * {@link DistributionPackage }s to be then imported by a {@link 
org.apache.sling.distribution.agent.DistributionAgent }
- * (via a {@link DistributionPackageImporter }).
- * 
- * Exporting a {@link DistributionPackage } means obtaining that package by 
either
- * directly creating it by bundling local Sling resources together or 
retrieving it from a remote endpoint, e.g. by
- * executing an HTTP POST request on another Sling instance exposing already 
created packages (for remotely changed resources).
+ * A {@link DistributionPackageExporter) is responsible of exporting {@link 
DistributionPackage}s from a local or remote
+ * Sling instance.
+ * Such packages are usually imported by a {@link DistributionPackageImporter} 
or put inside
+ * {@link org.apache.sling.distribution.queue.DistributionQueue}s for others 
to consume them.
+ * Exporting a {@link DistributionPackage} means obtaining that package by 
e.g. directly creating it by bundling local
+ * Sling resources, retrieving it from a remote endpoint (by executing an HTTP 
POST request on another Sling
+ * instance exposing packages ina queue).
  */
 @ConsumerType
 public interface DistributionPackageExporter {
@@ -43,11 +43,12 @@ public interface DistributionPackageExpo
  * Exports the {@link DistributionPackage}s built from the
  * passed

svn commit: r1745362 - in /sling/trunk/contrib/extensions/distribution/core: ./ src/main/java/org/apache/sling/distribution/agent/impl/ src/main/java/org/apache/sling/distribution/queue/impl/simple/ s

2016-05-24 Thread tommaso
Author: tommaso
Date: Tue May 24 13:55:53 2016
New Revision: 1745362

URL: http://svn.apache.org/viewvc?rev=1745362=rev
Log:
SLING-5748 - checkpointing memory queue made optional, updated forward agent 
factory

Added:
sling/trunk/contrib/extensions/distribution/core/src/test/resources/

sling/trunk/contrib/extensions/distribution/core/src/test/resources/dummy-agent-checkpoint
Modified:
sling/trunk/contrib/extensions/distribution/core/pom.xml

sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/agent/impl/ForwardDistributionAgentFactory.java

sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/queue/impl/simple/SimpleDistributionQueueProvider.java

sling/trunk/contrib/extensions/distribution/core/src/test/java/org/apache/sling/distribution/queue/impl/simple/SimpleDistributionQueueProviderTest.java

Modified: sling/trunk/contrib/extensions/distribution/core/pom.xml
URL: 
http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/pom.xml?rev=1745362=1745361=1745362=diff
==
--- sling/trunk/contrib/extensions/distribution/core/pom.xml (original)
+++ sling/trunk/contrib/extensions/distribution/core/pom.xml Tue May 24 
13:55:53 2016
@@ -81,6 +81,15 @@
 org.apache.maven.plugins
 maven-javadoc-plugin
 
+
+org.apache.rat
+apache-rat-plugin
+
+
+**/*-checkpoint
+
+
+
 
 
 

Modified: 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/agent/impl/ForwardDistributionAgentFactory.java
URL: 
http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/agent/impl/ForwardDistributionAgentFactory.java?rev=1745362=1745361=1745362=diff
==
--- 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/agent/impl/ForwardDistributionAgentFactory.java
 (original)
+++ 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/agent/impl/ForwardDistributionAgentFactory.java
 Tue May 24 13:55:53 2016
@@ -51,7 +51,6 @@ import org.apache.sling.distribution.que
 import org.apache.sling.distribution.queue.impl.ErrorQueueDispatchingStrategy;
 import 
org.apache.sling.distribution.queue.impl.MultipleQueueDispatchingStrategy;
 import 
org.apache.sling.distribution.queue.impl.PriorityQueueDispatchingStrategy;
-import 
org.apache.sling.distribution.queue.impl.jobhandling.JobHandlingDistributionQueue;
 import 
org.apache.sling.distribution.queue.impl.jobhandling.JobHandlingDistributionQueueProvider;
 import 
org.apache.sling.distribution.queue.impl.simple.SimpleDistributionQueueProvider;
 import org.apache.sling.distribution.serialization.DistributionPackageBuilder;
@@ -77,7 +76,7 @@ import org.slf4j.LoggerFactory;
 @Reference(name = "triggers", referenceInterface = DistributionTrigger.class,
 policy = ReferencePolicy.DYNAMIC, cardinality = 
ReferenceCardinality.OPTIONAL_MULTIPLE,
 bind = "bindDistributionTrigger", unbind = "unbindDistributionTrigger")
-@Property(name="webconsole.configurationFactory.nameHint", value="Agent name: 
{name}")
+@Property(name = "webconsole.configurationFactory.nameHint", value = "Agent 
name: {name}")
 public class ForwardDistributionAgentFactory extends 
AbstractDistributionAgentFactory {
 private final Logger log = LoggerFactory.getLogger(getClass());
 
@@ -166,7 +165,8 @@ public class ForwardDistributionAgentFac
 
 @Property(options = {
 @PropertyOption(name = JobHandlingDistributionQueueProvider.TYPE, 
value = "Sling Jobs"),
-@PropertyOption(name = SimpleDistributionQueueProvider.TYPE, value 
= "In-memory")},
+@PropertyOption(name = SimpleDistributionQueueProvider.TYPE, value 
= "In-memory"),
+@PropertyOption(name = 
SimpleDistributionQueueProvider.TYPE_CHECKPOINT, value = "In-file")},
 value = "jobs",
 label = "Queue provider", description = "The queue provider 
implementation."
 )
@@ -231,10 +231,11 @@ public class ForwardDistributionAgentFac
 DistributionQueueProvider queueProvider;
 String queueProviderName = 
PropertiesUtil.toString(config.get(QUEUE_PROVIDER), 
JobHandlingDistributionQueueProvider.TYPE);
 if 
(JobHandlingDistributionQueueProvider.TYPE.equals(queueProviderName)) {
-   queueProvider = new JobHandlingDistributionQueueProvider(agentName, 
jobManager, context);
-   

svn commit: r1745354 - /sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/queue/impl/simple/SimpleDistributionQueueCheckpoint.java

2016-05-24 Thread tommaso
Author: tommaso
Date: Tue May 24 12:53:13 2016
New Revision: 1745354

URL: http://svn.apache.org/viewvc?rev=1745354=rev
Log:
SLING-5737 - log an error if checkpointing fails, no runtime exception

Modified:

sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/queue/impl/simple/SimpleDistributionQueueCheckpoint.java

Modified: 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/queue/impl/simple/SimpleDistributionQueueCheckpoint.java
URL: 
http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/queue/impl/simple/SimpleDistributionQueueCheckpoint.java?rev=1745354=1745353=1745354=diff
==
--- 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/queue/impl/simple/SimpleDistributionQueueCheckpoint.java
 (original)
+++ 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/queue/impl/simple/SimpleDistributionQueueCheckpoint.java
 Tue May 24 12:53:13 2016
@@ -82,7 +82,7 @@ class SimpleDistributionQueueCheckpoint
 boolean success = checkpointFile.renameTo(new 
File(checkpointDirectory, fileName));
 log.debug("checkpoint succeeded: {}", success);
 } catch (Exception e) {
-throw new RuntimeException(e);
+log.error("failed checkpointing for queue {}", queue.getName());
 }
 }
 }




svn commit: r1745353 - /sling/trunk/contrib/extensions/distribution/core/src/test/java/org/apache/sling/distribution/queue/impl/simple/SimpleDistributionQueueCheckpointTest.java

2016-05-24 Thread tommaso
Author: tommaso
Date: Tue May 24 12:39:30 2016
New Revision: 1745353

URL: http://svn.apache.org/viewvc?rev=1745353=rev
Log:
SLING-5737 - added entries to the map in the test

Modified:

sling/trunk/contrib/extensions/distribution/core/src/test/java/org/apache/sling/distribution/queue/impl/simple/SimpleDistributionQueueCheckpointTest.java

Modified: 
sling/trunk/contrib/extensions/distribution/core/src/test/java/org/apache/sling/distribution/queue/impl/simple/SimpleDistributionQueueCheckpointTest.java
URL: 
http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/test/java/org/apache/sling/distribution/queue/impl/simple/SimpleDistributionQueueCheckpointTest.java?rev=1745353=1745352=1745353=diff
==
--- 
sling/trunk/contrib/extensions/distribution/core/src/test/java/org/apache/sling/distribution/queue/impl/simple/SimpleDistributionQueueCheckpointTest.java
 (original)
+++ 
sling/trunk/contrib/extensions/distribution/core/src/test/java/org/apache/sling/distribution/queue/impl/simple/SimpleDistributionQueueCheckpointTest.java
 Tue May 24 12:39:30 2016
@@ -58,7 +58,10 @@ public class SimpleDistributionQueueChec
 String queueName = "sample-queue";
 when(queue.getName()).thenReturn(queueName);
 LinkedList entries = new 
LinkedList();
-entries.add(new DistributionQueueEntry("123", new 
DistributionQueueItem("pid123", new HashedMap()),
+HashedMap base = new HashedMap();
+base.put("here","there");
+base.put("foo","bar");
+entries.add(new DistributionQueueEntry("123", new 
DistributionQueueItem("pid123", base),
 new 
DistributionQueueItemStatus(DistributionQueueItemState.QUEUED, queueName)));
 when(queue.getItems(0, -1)).thenReturn(entries);
 File checkpointDirectory = FileUtils.getTempDirectory();




svn commit: r1745352 - in /sling/trunk/contrib/extensions/distribution/core/src: main/java/org/apache/sling/distribution/queue/impl/simple/ test/java/org/apache/sling/distribution/queue/impl/simple/

2016-05-24 Thread tommaso
Author: tommaso
Date: Tue May 24 12:36:51 2016
New Revision: 1745352

URL: http://svn.apache.org/viewvc?rev=1745352=rev
Log:
SLING-5737 - added light file based checkpointing

Added:

sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/queue/impl/simple/SimpleDistributionQueueCheckpoint.java
   (with props)

sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/queue/impl/simple/SimpleDistributionQueueProcessor.java
  - copied, changed from r1745339, 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/queue/impl/simple/ScheduledDistributionQueueProcessorTask.java

sling/trunk/contrib/extensions/distribution/core/src/test/java/org/apache/sling/distribution/queue/impl/simple/SimpleDistributionQueueCheckpointTest.java
   (with props)

sling/trunk/contrib/extensions/distribution/core/src/test/java/org/apache/sling/distribution/queue/impl/simple/SimpleDistributionQueueProcessorTest.java
  - copied, changed from r1745339, 
sling/trunk/contrib/extensions/distribution/core/src/test/java/org/apache/sling/distribution/queue/impl/simple/ScheduledDistributionQueueProcessorTaskTest.java
Removed:

sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/queue/impl/simple/ScheduledDistributionQueueProcessorTask.java

sling/trunk/contrib/extensions/distribution/core/src/test/java/org/apache/sling/distribution/queue/impl/simple/ScheduledDistributionQueueProcessorTaskTest.java
Modified:

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/queue/impl/simple/SimpleDistributionQueueProvider.java

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=1745352=1745351=1745352=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
 Tue May 24 12:36:51 2016
@@ -59,7 +59,7 @@ public class SimpleDistributionQueue imp
 private final Map<DistributionQueueItem, DistributionQueueItemStatus> 
statusMap;
 
 public SimpleDistributionQueue(String agentName, String name) {
-log.debug("starting a simple queue for agent {}", agentName);
+log.debug("starting a simple queue {} for agent {}", name, agentName);
 this.name = name;
 this.queue = new LinkedBlockingQueue();
 this.statusMap = new WeakHashMap<DistributionQueueItem, 
DistributionQueueItemStatus>(10);

Added: 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/queue/impl/simple/SimpleDistributionQueueCheckpoint.java
URL: 
http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/queue/impl/simple/SimpleDistributionQueueCheckpoint.java?rev=1745352=auto
==
--- 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/queue/impl/simple/SimpleDistributionQueueCheckpoint.java
 (added)
+++ 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/queue/impl/simple/SimpleDistributionQueueCheckpoint.java
 Tue May 24 12:36:51 2016
@@ -0,0 +1,88 @@
+/*
+ * 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.queue.impl.simple;
+
+import java.io.File;
+import java.io.FileOutputStream;
+import ja

svn commit: r1745346 - /sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/agent/impl/ForwardDistributionAgentFactory.java

2016-05-24 Thread tommaso
Author: tommaso
Date: Tue May 24 12:07:03 2016
New Revision: 1745346

URL: http://svn.apache.org/viewvc?rev=1745346=rev
Log:
SLING-5734 - fixed property description

Modified:

sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/agent/impl/ForwardDistributionAgentFactory.java

Modified: 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/agent/impl/ForwardDistributionAgentFactory.java
URL: 
http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/agent/impl/ForwardDistributionAgentFactory.java?rev=1745346=1745345=1745346=diff
==
--- 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/agent/impl/ForwardDistributionAgentFactory.java
 (original)
+++ 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/agent/impl/ForwardDistributionAgentFactory.java
 Tue May 24 12:07:03 2016
@@ -167,8 +167,8 @@ public class ForwardDistributionAgentFac
 @Property(options = {
 @PropertyOption(name = JobHandlingDistributionQueueProvider.TYPE, 
value = "Sling Jobs"),
 @PropertyOption(name = SimpleDistributionQueueProvider.TYPE, value 
= "In-memory")},
-value = "info",
-label = "Log Level", description = "The log level recorded in the 
transient log accessible via http."
+value = "jobs",
+label = "Queue provider", description = "The queue provider 
implementation."
 )
 public static final String QUEUE_PROVIDER = "queue.provider";
 
@@ -201,7 +201,6 @@ public class ForwardDistributionAgentFac
 
 protected void bindDistributionTrigger(DistributionTrigger 
distributionTrigger, Map<String, Object> config) {
 super.bindDistributionTrigger(distributionTrigger, config);
-
 }
 
 protected void unbindDistributionTrigger(DistributionTrigger 
distributionTrigger, Map<String, Object> config) {




svn commit: r1744533 - in /sling/trunk/contrib/extensions/distribution/extensions/src/main/java/org/apache/sling/distribution/serialization/impl: avro/AvroDistributionContentSerializerFactory.java kry

2016-05-19 Thread tommaso
Author: tommaso
Date: Thu May 19 08:43:25 2016
New Revision: 1744533

URL: http://svn.apache.org/viewvc?rev=1744533=rev
Log:
SLING-5736 - added webconsole.configurationFactory.nameHint to avro and kryo cs 
factories, minor fixes to logging

Modified:

sling/trunk/contrib/extensions/distribution/extensions/src/main/java/org/apache/sling/distribution/serialization/impl/avro/AvroDistributionContentSerializerFactory.java

sling/trunk/contrib/extensions/distribution/extensions/src/main/java/org/apache/sling/distribution/serialization/impl/kryo/KryoDistributionContentSerializerFactory.java

Modified: 
sling/trunk/contrib/extensions/distribution/extensions/src/main/java/org/apache/sling/distribution/serialization/impl/avro/AvroDistributionContentSerializerFactory.java
URL: 
http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/extensions/src/main/java/org/apache/sling/distribution/serialization/impl/avro/AvroDistributionContentSerializerFactory.java?rev=1744533=1744532=1744533=diff
==
--- 
sling/trunk/contrib/extensions/distribution/extensions/src/main/java/org/apache/sling/distribution/serialization/impl/avro/AvroDistributionContentSerializerFactory.java
 (original)
+++ 
sling/trunk/contrib/extensions/distribution/extensions/src/main/java/org/apache/sling/distribution/serialization/impl/avro/AvroDistributionContentSerializerFactory.java
 Thu May 19 08:43:25 2016
@@ -46,6 +46,7 @@ import org.slf4j.LoggerFactory;
 policy = ConfigurationPolicy.REQUIRE
 )
 @Service(DistributionContentSerializer.class)
+@Property(name = "webconsole.configurationFactory.nameHint", value = "Content 
serializer name: {name}")
 public class AvroDistributionContentSerializerFactory implements 
DistributionContentSerializer {
 
 /**
@@ -62,10 +63,9 @@ public class AvroDistributionContentSeri
 public void activate(Map<String, Object> config) {
 
 String name = PropertiesUtil.toString(config.get(NAME), null);
-log.info("starting avro format {}", name);
 
 format = new AvroContentSerializer(name);
-log.info("started avro resource package builder");
+log.info("started avro content serializer {}", name);
 }
 
 

Modified: 
sling/trunk/contrib/extensions/distribution/extensions/src/main/java/org/apache/sling/distribution/serialization/impl/kryo/KryoDistributionContentSerializerFactory.java
URL: 
http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/extensions/src/main/java/org/apache/sling/distribution/serialization/impl/kryo/KryoDistributionContentSerializerFactory.java?rev=1744533=1744532=1744533=diff
==
--- 
sling/trunk/contrib/extensions/distribution/extensions/src/main/java/org/apache/sling/distribution/serialization/impl/kryo/KryoDistributionContentSerializerFactory.java
 (original)
+++ 
sling/trunk/contrib/extensions/distribution/extensions/src/main/java/org/apache/sling/distribution/serialization/impl/kryo/KryoDistributionContentSerializerFactory.java
 Thu May 19 08:43:25 2016
@@ -46,6 +46,7 @@ import org.slf4j.LoggerFactory;
 policy = ConfigurationPolicy.REQUIRE
 )
 @Service(DistributionContentSerializer.class)
+@Property(name = "webconsole.configurationFactory.nameHint", value = "Content 
serializer name: {name}")
 public class KryoDistributionContentSerializerFactory implements 
DistributionContentSerializer {
 
 private final Logger log = LoggerFactory.getLogger(getClass());
@@ -62,10 +63,9 @@ public class KryoDistributionContentSeri
 public void activate(Map<String, Object> config) {
 
 String name = PropertiesUtil.toString(config.get(NAME), null);
-log.info("starting Kryo format {}", name);
 
 format = new KryoContentSerializer(name);
-log.info("started Kryo resource package builder");
+log.info("started Kryo content serializer {}", name);
 }
 
 




svn commit: r1744404 - in /sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution: agent/impl/ queue/impl/jobhandling/ queue/impl/simple/

2016-05-18 Thread tommaso
Author: tommaso
Date: Wed May 18 12:40:31 2016
New Revision: 1744404

URL: http://svn.apache.org/viewvc?rev=1744404=rev
Log:
SLING-5734 - added support for using both in-memory and jobs queues

Modified:

sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/agent/impl/ForwardDistributionAgentFactory.java

sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/queue/impl/jobhandling/JobHandlingDistributionQueueProvider.java

sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/queue/impl/simple/SimpleDistributionQueueProvider.java

Modified: 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/agent/impl/ForwardDistributionAgentFactory.java
URL: 
http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/agent/impl/ForwardDistributionAgentFactory.java?rev=1744404=1744403=1744404=diff
==
--- 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/agent/impl/ForwardDistributionAgentFactory.java
 (original)
+++ 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/agent/impl/ForwardDistributionAgentFactory.java
 Wed May 18 12:40:31 2016
@@ -36,6 +36,7 @@ import org.apache.felix.scr.annotations.
 import org.apache.jackrabbit.vault.packaging.Packaging;
 import org.apache.sling.api.resource.ResourceResolverFactory;
 import org.apache.sling.commons.osgi.PropertiesUtil;
+import org.apache.sling.commons.scheduler.Scheduler;
 import org.apache.sling.distribution.DistributionRequestType;
 import 
org.apache.sling.distribution.component.impl.DistributionComponentConstants;
 import org.apache.sling.distribution.component.impl.SettingsUtils;
@@ -50,7 +51,9 @@ import org.apache.sling.distribution.que
 import org.apache.sling.distribution.queue.impl.ErrorQueueDispatchingStrategy;
 import 
org.apache.sling.distribution.queue.impl.MultipleQueueDispatchingStrategy;
 import 
org.apache.sling.distribution.queue.impl.PriorityQueueDispatchingStrategy;
+import 
org.apache.sling.distribution.queue.impl.jobhandling.JobHandlingDistributionQueue;
 import 
org.apache.sling.distribution.queue.impl.jobhandling.JobHandlingDistributionQueueProvider;
+import 
org.apache.sling.distribution.queue.impl.simple.SimpleDistributionQueueProvider;
 import org.apache.sling.distribution.serialization.DistributionPackageBuilder;
 import 
org.apache.sling.distribution.transport.DistributionTransportSecretProvider;
 import org.apache.sling.distribution.trigger.DistributionTrigger;
@@ -161,6 +164,14 @@ public class ForwardDistributionAgentFac
 "e.g. use target=(name=...) to bind to services by name.")
 public static final String TRIGGERS_TARGET = "triggers.target";
 
+@Property(options = {
+@PropertyOption(name = JobHandlingDistributionQueueProvider.TYPE, 
value = "Sling Jobs"),
+@PropertyOption(name = SimpleDistributionQueueProvider.TYPE, value 
= "In-memory")},
+value = "info",
+label = "Log Level", description = "The log level recorded in the 
transient log accessible via http."
+)
+public static final String QUEUE_PROVIDER = "queue.provider";
+
 @Reference
 private Packaging packaging;
 
@@ -179,6 +190,9 @@ public class ForwardDistributionAgentFac
 @Reference
 private SlingRepository slingRepository;
 
+@Reference
+private Scheduler scheduler;
+
 
 @Activate
 protected void activate(BundleContext context, Map<String, Object> config) 
{
@@ -213,9 +227,16 @@ public class ForwardDistributionAgentFac
 Map<String, String> priorityQueues = 
PropertiesUtil.toMap(config.get(PRIORITY_QUEUES), new String[0]);
 priorityQueues = SettingsUtils.removeEmptyEntries(priorityQueues);
 
-
 DistributionPackageExporter packageExporter = new 
LocalDistributionPackageExporter(packageBuilder);
-DistributionQueueProvider queueProvider = new 
JobHandlingDistributionQueueProvider(agentName, jobManager, context);
+
+DistributionQueueProvider queueProvider;
+String queueProviderName = 
PropertiesUtil.toString(config.get(QUEUE_PROVIDER), 
JobHandlingDistributionQueueProvider.TYPE);
+if 
(JobHandlingDistributionQueueProvider.TYPE.equals(queueProviderName)) {
+   queueProvider = new JobHandlingDistributionQueueProvider(agentName, 
jobManager, context);
+}
+else {
+queueProvider = new SimpleDistributionQueueProvider(scheduler, 
agentName);
+}
 
 DistributionQueueDispatchingStrategy exportQueueStrategy;
 DistributionQueueDispatchingStrategy errorQueueStrategy = null;

Modified: 
sling/trunk

svn commit: r1744367 - /sling/trunk/contrib/extensions/distribution/core/src/test/java/org/apache/sling/distribution/packaging/impl/exporter/RemoteDistributionPackageExporterTest.java

2016-05-18 Thread tommaso
Author: tommaso
Date: Wed May 18 09:27:35 2016
New Revision: 1744367

URL: http://svn.apache.org/viewvc?rev=1744367=rev
Log:
SLING-4075 - added test for getPackage on remote exporter

Modified:

sling/trunk/contrib/extensions/distribution/core/src/test/java/org/apache/sling/distribution/packaging/impl/exporter/RemoteDistributionPackageExporterTest.java

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=1744367=1744366=1744367=diff
==
--- 
sling/trunk/contrib/extensions/distribution/core/src/test/java/org/apache/sling/distribution/packaging/impl/exporter/RemoteDistributionPackageExporterTest.java
 (original)
+++ 
sling/trunk/contrib/extensions/distribution/core/src/test/java/org/apache/sling/distribution/packaging/impl/exporter/RemoteDistributionPackageExporterTest.java
 Wed May 18 09:27:35 2016
@@ -34,8 +34,11 @@ import org.apache.sling.distribution.tra
 import org.junit.Test;
 
 import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertNull;
 import static org.junit.Assert.assertTrue;
+import static org.mockito.Matchers.any;
 import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.when;
 
 /**
  * Testcase for {@link RemoteDistributionPackageExporter}
@@ -43,7 +46,7 @@ import static org.mockito.Mockito.mock;
 public class RemoteDistributionPackageExporterTest {
 
 @Test
-public void testDummyExport() throws Exception {
+public void testNothingExported() throws Exception {
 DistributionPackageBuilder packageBuilder = 
mock(DistributionPackageBuilder.class);
 DistributionTransportSecretProvider 
distributionTransportSecretProvider = 
mock(DistributionTransportSecretProvider.class);
 String[] endpoints = new String[0];
@@ -61,4 +64,17 @@ public class RemoteDistributionPackageEx
 assertNotNull(distributionPackages);
 assertTrue(distributionPackages.isEmpty());
 }
+
+@Test
+public void testFailedPackageRetrieval() throws Exception {
+DistributionPackageBuilder packageBuilder = 
mock(DistributionPackageBuilder.class);
+DistributionTransportSecretProvider 
distributionTransportSecretProvider = 
mock(DistributionTransportSecretProvider.class);
+String[] endpoints = new String[0];
+RemoteDistributionPackageExporter remotedistributionPackageExporter = 
new RemoteDistributionPackageExporter(mock(DefaultDistributionLog.class),
+packageBuilder, distributionTransportSecretProvider, 
endpoints, 1);
+
+ResourceResolver resourceResolver = mock(ResourceResolver.class);
+DistributionPackage distributionPackage = 
remotedistributionPackageExporter.getPackage(resourceResolver, "123");
+assertNull(distributionPackage);
+}
 }




svn commit: r1744362 - /sling/trunk/contrib/extensions/distribution/core/src/test/java/org/apache/sling/distribution/packaging/impl/exporter/LocalDistributionPackageExporterTest.java

2016-05-18 Thread tommaso
Author: tommaso
Date: Wed May 18 08:49:17 2016
New Revision: 1744362

URL: http://svn.apache.org/viewvc?rev=1744362=rev
Log:
SLING-4075 - added test for getPackage on local exporter

Modified:

sling/trunk/contrib/extensions/distribution/core/src/test/java/org/apache/sling/distribution/packaging/impl/exporter/LocalDistributionPackageExporterTest.java

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=1744362=1744361=1744362=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
 Wed May 18 08:49:17 2016
@@ -42,7 +42,7 @@ import static org.mockito.Mockito.when;
 public class LocalDistributionPackageExporterTest {
 
 @Test
-public void testDummyExport() throws Exception {
+public void testExport() throws Exception {
 DistributionPackageBuilder packageBuilder = 
mock(DistributionPackageBuilder.class);
 when(packageBuilder.createPackage(any(ResourceResolver.class), 
any(DistributionRequest.class))).thenReturn(mock(DistributionPackage.class));
 LocalDistributionPackageExporter localdistributionPackageExporter = 
new LocalDistributionPackageExporter(packageBuilder);
@@ -58,4 +58,14 @@ public class LocalDistributionPackageExp
 assertNotNull(distributionPackages);
 assertEquals(1, distributionPackages.size());
 }
+
+@Test
+public void testGetPackage() throws Exception {
+DistributionPackageBuilder packageBuilder = 
mock(DistributionPackageBuilder.class);
+when(packageBuilder.getPackage(any(ResourceResolver.class), 
any(String.class))).thenReturn(mock(DistributionPackage.class));
+LocalDistributionPackageExporter localdistributionPackageExporter = 
new LocalDistributionPackageExporter(packageBuilder);
+ResourceResolver resourceResolver = mock(ResourceResolver.class);
+DistributionPackage distributionPackage = 
localdistributionPackageExporter.getPackage(resourceResolver, "123");
+assertNotNull(distributionPackage);
+}
 }




svn commit: r1744358 - /sling/trunk/contrib/extensions/distribution/core/src/test/java/org/apache/sling/distribution/queue/impl/simple/ScheduledDistributionQueueProcessorTaskTest.java

2016-05-18 Thread tommaso
Author: tommaso
Date: Wed May 18 08:13:50 2016
New Revision: 1744358

URL: http://svn.apache.org/viewvc?rev=1744358=rev
Log:
SLING-5733 - adjusted processor task test

Modified:

sling/trunk/contrib/extensions/distribution/core/src/test/java/org/apache/sling/distribution/queue/impl/simple/ScheduledDistributionQueueProcessorTaskTest.java

Modified: 
sling/trunk/contrib/extensions/distribution/core/src/test/java/org/apache/sling/distribution/queue/impl/simple/ScheduledDistributionQueueProcessorTaskTest.java
URL: 
http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/test/java/org/apache/sling/distribution/queue/impl/simple/ScheduledDistributionQueueProcessorTaskTest.java?rev=1744358=1744357=1744358=diff
==
--- 
sling/trunk/contrib/extensions/distribution/core/src/test/java/org/apache/sling/distribution/queue/impl/simple/ScheduledDistributionQueueProcessorTaskTest.java
 (original)
+++ 
sling/trunk/contrib/extensions/distribution/core/src/test/java/org/apache/sling/distribution/queue/impl/simple/ScheduledDistributionQueueProcessorTaskTest.java
 Wed May 18 08:13:50 2016
@@ -47,8 +47,8 @@ public class ScheduledDistributionQueueP
 @Test
 public void testRunWithOneEmptyQueue() throws Exception {
 SimpleDistributionQueueProvider queueProvider = 
mock(SimpleDistributionQueueProvider.class);
-Collection queues = new 
LinkedList();
-DistributionQueue queue = mock(DistributionQueue.class);
+Collection queues = new 
LinkedList();
+SimpleDistributionQueue queue = mock(SimpleDistributionQueue.class);
 when(queue.getHead()).thenReturn(null);
 queues.add(queue);
 when(queueProvider.getQueues()).thenReturn(queues);
@@ -61,8 +61,8 @@ public class ScheduledDistributionQueueP
 @Test
 public void testRunWithOneNonEmptyQueue() throws Exception {
 SimpleDistributionQueueProvider queueProvider = 
mock(SimpleDistributionQueueProvider.class);
-Collection queues = new 
LinkedList();
-DistributionQueue queue = mock(DistributionQueue.class);
+Collection queues = new 
LinkedList();
+SimpleDistributionQueue queue = mock(SimpleDistributionQueue.class);
 DistributionQueueItem item = mock(DistributionQueueItem.class);
 when(queue.getHead()).thenReturn(new DistributionQueueEntry(null, 
item, null)).thenReturn(null);
 




svn commit: r1744357 - in /sling/trunk/contrib/extensions/distribution/core/src: main/java/org/apache/sling/distribution/queue/ main/java/org/apache/sling/distribution/queue/impl/ main/java/org/apache

2016-05-18 Thread tommaso
Author: tommaso
Date: Wed May 18 08:12:16 2016
New Revision: 1744357

URL: http://svn.apache.org/viewvc?rev=1744357=rev
Log:
SLING-5733 - one processor per in memory queue, triggered every second

Modified:

sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/queue/DistributionQueue.java

sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/queue/impl/CachingDistributionQueue.java

sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/queue/impl/simple/ScheduledDistributionQueueProcessorTask.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/queue/impl/simple/SimpleDistributionQueueProvider.java

sling/trunk/contrib/extensions/distribution/core/src/test/java/org/apache/sling/distribution/queue/impl/simple/ScheduledDistributionQueueProcessorTaskTest.java

sling/trunk/contrib/extensions/distribution/core/src/test/java/org/apache/sling/distribution/queue/impl/simple/SimpleDistributionQueueProviderTest.java

Modified: 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/queue/DistributionQueue.java
URL: 
http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/queue/DistributionQueue.java?rev=1744357=1744356=1744357=diff
==
--- 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/queue/DistributionQueue.java
 (original)
+++ 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/queue/DistributionQueue.java
 Wed May 18 08:12:16 2016
@@ -77,7 +77,7 @@ public interface DistributionQueue {
 /**
  * gets an item from the queue by specifying its id
  *
- * @param itemId the id of the item
+ * @param itemId the id of the item as returned by {@link 
DistributionQueueItem#getPackageId()}
  * @return the item, or {@code null} if the item with the given id
  * doesn't exist
  */
@@ -87,7 +87,7 @@ public interface DistributionQueue {
 /**
  * remove an item from the queue by specifying its id
  *
- * @param itemId the id the item
+ * @param itemId the id the item as returned by {@link 
DistributionQueueItem#getPackageId()}
  * @return the removed item, or {@code null} if the item with the given id
  * doesn't exist
  */

Modified: 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/queue/impl/CachingDistributionQueue.java
URL: 
http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/queue/impl/CachingDistributionQueue.java?rev=1744357=1744356=1744357=diff
==
--- 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/queue/impl/CachingDistributionQueue.java
 (original)
+++ 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/queue/impl/CachingDistributionQueue.java
 Wed May 18 08:12:16 2016
@@ -43,6 +43,7 @@ public class CachingDistributionQueue ex
 }
 
 
+@Nonnull
 @Override
 public DistributionQueueStatus getStatus() {
 

Modified: 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/queue/impl/simple/ScheduledDistributionQueueProcessorTask.java
URL: 
http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/queue/impl/simple/ScheduledDistributionQueueProcessorTask.java?rev=1744357=1744356=1744357=diff
==
--- 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/queue/impl/simple/ScheduledDistributionQueueProcessorTask.java
 (original)
+++ 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/queue/impl/simple/ScheduledDistributionQueueProcessorTask.java
 Wed May 18 08:12:16 2016
@@ -30,28 +30,25 @@ import org.slf4j.LoggerFactory;
 class ScheduledDistributionQueueProcessorTask implements Runnable {
 
 private final Logger log = LoggerFactory.getLogger(getClass());
-private final SimpleDistributionQueueProvider queueProvider;
+private final DistributionQueue queue;
 private final DistributionQueueProcessor queueProcessor;
 
-public 
ScheduledDistributionQueueProcessorTask(SimpleDistributionQueueProvider 
queueProvider,
+public ScheduledDistributionQueueProcessorTask(DistributionQueue queue

  1   2   3   4   >