svn commit: r1800432 - /sling/trunk/bundles/jcr/api/src/main/java/org/apache/sling/jcr/api/SlingRepository.java

2017-06-30 Thread kwin
Author: kwin
Date: Fri Jun 30 15:14:46 2017
New Revision: 1800432

URL: http://svn.apache.org/viewvc?rev=1800432&view=rev
Log:
SLING-6991 add missing JSR305 annotations

Modified:

sling/trunk/bundles/jcr/api/src/main/java/org/apache/sling/jcr/api/SlingRepository.java

Modified: 
sling/trunk/bundles/jcr/api/src/main/java/org/apache/sling/jcr/api/SlingRepository.java
URL: 
http://svn.apache.org/viewvc/sling/trunk/bundles/jcr/api/src/main/java/org/apache/sling/jcr/api/SlingRepository.java?rev=1800432&r1=1800431&r2=1800432&view=diff
==
--- 
sling/trunk/bundles/jcr/api/src/main/java/org/apache/sling/jcr/api/SlingRepository.java
 (original)
+++ 
sling/trunk/bundles/jcr/api/src/main/java/org/apache/sling/jcr/api/SlingRepository.java
 Fri Jun 30 15:14:46 2017
@@ -84,7 +84,7 @@ public interface SlingRepository extends
  * the {@link #loginService(String, String)} instead.
  */
 @Deprecated
-Session loginAdministrative(String workspace) throws LoginException, 
RepositoryException;
+@Nonnull Session loginAdministrative(String workspace) throws 
LoginException, RepositoryException;
 
 /**
  * Returns a session to the given workspace with privileges assigned to the
@@ -107,7 +107,7 @@ public interface SlingRepository extends
  *  
href="http://sling.apache.org/documentation/the-sling-engine/service-authentication.html";>Service
  *  Authentication
  */
-Session loginService(String subServiceName, String workspace) throws 
LoginException, RepositoryException;
+@Nonnull Session loginService(String subServiceName, String workspace) 
throws LoginException, RepositoryException;
 
 /**
  * Impersonates the service session provided by the calling bundle (and 
further
@@ -137,5 +137,5 @@ public interface SlingRepository extends
  * @throws RepositoryException If another error occurs.
  * @since 2.3
  */
-Session impersonateFromService(String subServiceName, @Nonnull Credentials 
credentials, String workspaceName) throws LoginException, RepositoryException;
+@Nonnull Session impersonateFromService(String subServiceName, @Nonnull 
Credentials credentials, String workspaceName) throws LoginException, 
RepositoryException;
 }




svn commit: r1014785 - /websites/production/sling/content/

2017-06-30 Thread kwin
Author: kwin
Date: Fri Jun 30 15:13:35 2017
New Revision: 1014785

Log:
Publishing svnmucc operation to sling site by kwin

Added:
websites/production/sling/content/
  - copied from r1014784, websites/staging/sling/trunk/content/



svn commit: r1014784 - in /websites/staging/sling/trunk/content: ./ documentation/development/jsr-305.html

2017-06-30 Thread buildbot
Author: buildbot
Date: Fri Jun 30 15:13:00 2017
New Revision: 1014784

Log:
Staging update by buildbot for sling

Modified:
websites/staging/sling/trunk/content/   (props changed)
websites/staging/sling/trunk/content/documentation/development/jsr-305.html

Propchange: websites/staging/sling/trunk/content/
--
--- cms:source-revision (original)
+++ cms:source-revision Fri Jun 30 15:13:00 2017
@@ -1 +1 @@
-1800271
+1800431

Modified: 
websites/staging/sling/trunk/content/documentation/development/jsr-305.html
==
--- websites/staging/sling/trunk/content/documentation/development/jsr-305.html 
(original)
+++ websites/staging/sling/trunk/content/documentation/development/jsr-305.html 
Fri Jun 30 15:13:00 2017
@@ -135,10 +135,11 @@ h2:hover > .headerlink, h3:hover > .head
 The annotations used within Sling are based on the https://jcp.org/en/jsr/detail?id=305";>JSR-305 which is dormant since 
2012. Nevertheless those annotations are understood by most of the tools and 
used by other Apache Projects like Apache Oak https://issues.apache.org/jira/browse/OAK-37";>OAK-37.
 Due to the fact that Eclipse and FindBugs are interpreting annotations 
differently (https://sourceforge.net/p/findbugs/bugs/1355/";>Findbugs-1355). Sling 
only uses the following two different annotations which are supported by both 
tools:
 
-javax.annotation.CheckForNull
-javax.annotation.Nonnull
+javax.annotation.CheckForNull (only on return values which 
may be null)
+javax.annotation.Nonnull (on return values and arguments 
which are never supposed to be null)
 
 Annotations which support setting the default null semantics of return 
values and or parameters on a package level cannot be leveraged for that 
reason.
+In case no annotations have been set on method arguments those accept 
null as a value. Return values should always be explicitly 
annotated, as from both cases checks can be derived.
 The annotations have a retention policy of runtime, therefore 
bundles using these automatically have a Import-Package header 
listing javax.annotation. That package is by default exported by 
the system bundle (as this package is also part of the https://docs.oracle.com/javase/7/docs/api/javax/annotation/package-summary.html";>JRE).
 To be able to resolve the bundle through this exported package from the system 
bundle you should use the com.google.code.findbugs:jsr305 artifact 
in version 3.0.0 as that exports the package javax.annotation in 
no specific version. Newer versions use version directives which automatically 
restrict the version range for the generated Import-Package header 
to [3,4) https://github.com/amaembo/jsr-305/issues/31";>which usually cannot be 
resolved at run time.
 Use With Eclipse¶
 Eclipse since Juno supports http://help.eclipse.org/juno/index.jsp?topic=%2Forg.eclipse.jdt.doc.user%2Freference%2Fpreferences%2Fjava%2Fcompiler%2Fref-preferences-errors-warnings.htm&anchor=null_analysis";>null
 analysis based on any annotations. Those need to be enabled in 
@@ -222,7 +223,7 @@ This method was presented by Michael Vor
 Use with SonarQube¶
 At least rule https://sonarqube.com/coding_rules#rule_key=squid%3AS2259";>squid:S2259
 in SonarQube supports JSR-305 annotations as well for null checks.
   
-Rev. 1792488 by kwin on Mon, 24 Apr 2017 15:15:56 +
+Rev. 1800431 by kwin on Fri, 30 Jun 2017 15:12:38 +
   

 Apache Sling, Sling, Apache, the Apache feather logo, and the Apache 
Sling project




svn commit: r1800431 - /sling/site/trunk/content/documentation/development/jsr-305.mdtext

2017-06-30 Thread kwin
Author: kwin
Date: Fri Jun 30 15:12:38 2017
New Revision: 1800431

URL: http://svn.apache.org/viewvc?rev=1800431&view=rev
Log:
clarify where to use which JSR305 annotation

Modified:
sling/site/trunk/content/documentation/development/jsr-305.mdtext

Modified: sling/site/trunk/content/documentation/development/jsr-305.mdtext
URL: 
http://svn.apache.org/viewvc/sling/site/trunk/content/documentation/development/jsr-305.mdtext?rev=1800431&r1=1800430&r2=1800431&view=diff
==
--- sling/site/trunk/content/documentation/development/jsr-305.mdtext (original)
+++ sling/site/trunk/content/documentation/development/jsr-305.mdtext Fri Jun 
30 15:12:38 2017
@@ -10,11 +10,13 @@ The annotations used within Sling are ba
 
 Due to the fact that Eclipse and FindBugs are interpreting annotations 
differently ([Findbugs-1355](https://sourceforge.net/p/findbugs/bugs/1355/)). 
Sling only uses the following two different annotations which are supported by 
both tools:
 
-1. `javax.annotation.CheckForNull`
-1. `javax.annotation.Nonnull`
+1. `javax.annotation.CheckForNull` (only on return values which may be `null`)
+1. `javax.annotation.Nonnull` (on return values and arguments which are never 
supposed to be `null`)
 
 Annotations which support setting the default null semantics of return values 
and or parameters on a package level cannot be leveraged for that reason.
 
+In case no annotations have been set on method arguments those accept `null` 
as a value. Return values should always be explicitly annotated, as from both 
cases checks can be derived.
+
 The annotations have a retention policy of `runtime`, therefore bundles using 
these automatically have a `Import-Package` header listing `javax.annotation`. 
That package is by default exported by the system bundle (as this package is 
also part of the 
[JRE](https://docs.oracle.com/javase/7/docs/api/javax/annotation/package-summary.html)).
 To be able to resolve the bundle through this exported package from the system 
bundle you should use the `com.google.code.findbugs:jsr305` artifact in version 
3.0.0 as that exports the package `javax.annotation` in no specific version. 
Newer versions use version directives which automatically restrict the version 
range for the generated `Import-Package` header to `[3,4)` [which usually 
cannot be resolved at run time](https://github.com/amaembo/jsr-305/issues/31).
 
 # Use With Eclipse




svn commit: r1800430 - in /sling/trunk/bundles/jcr/api: pom.xml src/main/java/org/apache/sling/jcr/api/NamespaceMapper.java src/main/java/org/apache/sling/jcr/api/SlingRepository.java src/main/java/or

2017-06-30 Thread kwin
Author: kwin
Date: Fri Jun 30 15:03:33 2017
New Revision: 1800430

URL: http://svn.apache.org/viewvc?rev=1800430&view=rev
Log:
SLING-6991 add JSR305 annotations

Modified:
sling/trunk/bundles/jcr/api/pom.xml

sling/trunk/bundles/jcr/api/src/main/java/org/apache/sling/jcr/api/NamespaceMapper.java

sling/trunk/bundles/jcr/api/src/main/java/org/apache/sling/jcr/api/SlingRepository.java

sling/trunk/bundles/jcr/api/src/main/java/org/apache/sling/jcr/api/SlingRepositoryInitializer.java

Modified: sling/trunk/bundles/jcr/api/pom.xml
URL: 
http://svn.apache.org/viewvc/sling/trunk/bundles/jcr/api/pom.xml?rev=1800430&r1=1800429&r2=1800430&view=diff
==
--- sling/trunk/bundles/jcr/api/pom.xml (original)
+++ sling/trunk/bundles/jcr/api/pom.xml Fri Jun 30 15:03:33 2017
@@ -66,6 +66,10 @@
 javax.jcr
 jcr
 
+
+com.google.code.findbugs
+jsr305
+
 
 
 

Modified: 
sling/trunk/bundles/jcr/api/src/main/java/org/apache/sling/jcr/api/NamespaceMapper.java
URL: 
http://svn.apache.org/viewvc/sling/trunk/bundles/jcr/api/src/main/java/org/apache/sling/jcr/api/NamespaceMapper.java?rev=1800430&r1=1800429&r2=1800430&view=diff
==
--- 
sling/trunk/bundles/jcr/api/src/main/java/org/apache/sling/jcr/api/NamespaceMapper.java
 (original)
+++ 
sling/trunk/bundles/jcr/api/src/main/java/org/apache/sling/jcr/api/NamespaceMapper.java
 Fri Jun 30 15:03:33 2017
@@ -18,6 +18,7 @@
  */
 package org.apache.sling.jcr.api;
 
+import javax.annotation.Nonnull;
 import javax.jcr.RepositoryException;
 import javax.jcr.Session;
 
@@ -39,6 +40,5 @@ public interface NamespaceMapper {
  * @param session The new session
  * @throws RepositoryException If anything goes wrong
  */
-void defineNamespacePrefixes(Session session)
-throws RepositoryException;
+void defineNamespacePrefixes(@Nonnull Session session) throws 
RepositoryException;
 }

Modified: 
sling/trunk/bundles/jcr/api/src/main/java/org/apache/sling/jcr/api/SlingRepository.java
URL: 
http://svn.apache.org/viewvc/sling/trunk/bundles/jcr/api/src/main/java/org/apache/sling/jcr/api/SlingRepository.java?rev=1800430&r1=1800429&r2=1800430&view=diff
==
--- 
sling/trunk/bundles/jcr/api/src/main/java/org/apache/sling/jcr/api/SlingRepository.java
 (original)
+++ 
sling/trunk/bundles/jcr/api/src/main/java/org/apache/sling/jcr/api/SlingRepository.java
 Fri Jun 30 15:03:33 2017
@@ -18,6 +18,8 @@
  */
 package org.apache.sling.jcr.api;
 
+import javax.annotation.CheckForNull;
+import javax.annotation.Nonnull;
 import javax.jcr.Credentials;
 import javax.jcr.LoginException;
 import javax.jcr.Repository;
@@ -52,7 +54,7 @@ public interface SlingRepository extends
  *
  * @return null if the configured default workspace name is empty, 
SLING-256
  */
-String getDefaultWorkspace();
+@CheckForNull String getDefaultWorkspace();
 
 /**
  * Returns a session to the given workspace which has administrative 
powers.
@@ -135,5 +137,5 @@ public interface SlingRepository extends
  * @throws RepositoryException If another error occurs.
  * @since 2.3
  */
-Session impersonateFromService(String subServiceName, Credentials 
credentials, String workspaceName) throws LoginException, RepositoryException;
+Session impersonateFromService(String subServiceName, @Nonnull Credentials 
credentials, String workspaceName) throws LoginException, RepositoryException;
 }

Modified: 
sling/trunk/bundles/jcr/api/src/main/java/org/apache/sling/jcr/api/SlingRepositoryInitializer.java
URL: 
http://svn.apache.org/viewvc/sling/trunk/bundles/jcr/api/src/main/java/org/apache/sling/jcr/api/SlingRepositoryInitializer.java?rev=1800430&r1=1800429&r2=1800430&view=diff
==
--- 
sling/trunk/bundles/jcr/api/src/main/java/org/apache/sling/jcr/api/SlingRepositoryInitializer.java
 (original)
+++ 
sling/trunk/bundles/jcr/api/src/main/java/org/apache/sling/jcr/api/SlingRepositoryInitializer.java
 Fri Jun 30 15:03:33 2017
@@ -18,6 +18,8 @@
  */
 package org.apache.sling.jcr.api;
 
+import javax.annotation.Nonnull;
+
 import org.osgi.annotation.versioning.ConsumerType;
 
 /**
@@ -38,5 +40,5 @@ public interface SlingRepositoryInitiali
  *  @throws Exception If anything happens that should prevent
  *  the SlingRepository service from being registered.
  */
-public void processRepository(SlingRepository repo) throws Exception;
+public void processRepository(@Nonnull SlingRepository repo) throws 
Exception;
 }




svn commit: r1800416 - /sling/trunk/installer/factories/packages/src/main/java/org/apache/sling/installer/factory/packages/impl/PackageTransformer.java

2017-06-30 Thread kwin
Author: kwin
Date: Fri Jun 30 14:17:43 2017
New Revision: 1800416

URL: http://svn.apache.org/viewvc?rev=1800416&view=rev
Log:
SLING-6987 remove obsolete import package

Modified:

sling/trunk/installer/factories/packages/src/main/java/org/apache/sling/installer/factory/packages/impl/PackageTransformer.java

Modified: 
sling/trunk/installer/factories/packages/src/main/java/org/apache/sling/installer/factory/packages/impl/PackageTransformer.java
URL: 
http://svn.apache.org/viewvc/sling/trunk/installer/factories/packages/src/main/java/org/apache/sling/installer/factory/packages/impl/PackageTransformer.java?rev=1800416&r1=1800415&r2=1800416&view=diff
==
--- 
sling/trunk/installer/factories/packages/src/main/java/org/apache/sling/installer/factory/packages/impl/PackageTransformer.java
 (original)
+++ 
sling/trunk/installer/factories/packages/src/main/java/org/apache/sling/installer/factory/packages/impl/PackageTransformer.java
 Fri Jun 30 14:17:43 2017
@@ -21,10 +21,8 @@ package org.apache.sling.installer.facto
 import java.io.BufferedInputStream;
 import java.io.IOException;
 import java.text.MessageFormat;
-import java.util.Calendar;
 import java.util.HashMap;
 import java.util.Map;
-import java.util.Properties;
 import java.util.regex.Matcher;
 import java.util.regex.Pattern;
 import java.util.zip.ZipInputStream;
@@ -32,7 +30,6 @@ import java.util.zip.ZipInputStream;
 import javax.jcr.RepositoryException;
 import javax.jcr.Session;
 
-import org.apache.jackrabbit.util.ISO8601;
 import org.apache.jackrabbit.vault.fs.io.Archive;
 import org.apache.jackrabbit.vault.fs.io.ImportOptions;
 import org.apache.jackrabbit.vault.fs.io.ZipStreamArchive;
@@ -41,7 +38,6 @@ import org.apache.jackrabbit.vault.packa
 import org.apache.jackrabbit.vault.packaging.JcrPackageManager;
 import org.apache.jackrabbit.vault.packaging.PackageException;
 import org.apache.jackrabbit.vault.packaging.PackageId;
-import org.apache.jackrabbit.vault.packaging.PackageProperties;
 import org.apache.jackrabbit.vault.packaging.Packaging;
 import org.apache.sling.installer.api.InstallableResource;
 import org.apache.sling.installer.api.tasks.ChangeStateTask;




svn commit: r1800415 - in /sling/trunk/installer/factories/packages/src/main/java/org/apache/sling/installer/factory/packages/impl: PackageTransformer.java PackageTransformerConfiguration.java

2017-06-30 Thread kwin
Author: kwin
Date: Fri Jun 30 14:16:53 2017
New Revision: 1800415

URL: http://svn.apache.org/viewvc?rev=1800415&view=rev
Log:
SLING-6987 initial support for hollow packages added

Modified:

sling/trunk/installer/factories/packages/src/main/java/org/apache/sling/installer/factory/packages/impl/PackageTransformer.java

sling/trunk/installer/factories/packages/src/main/java/org/apache/sling/installer/factory/packages/impl/PackageTransformerConfiguration.java

Modified: 
sling/trunk/installer/factories/packages/src/main/java/org/apache/sling/installer/factory/packages/impl/PackageTransformer.java
URL: 
http://svn.apache.org/viewvc/sling/trunk/installer/factories/packages/src/main/java/org/apache/sling/installer/factory/packages/impl/PackageTransformer.java?rev=1800415&r1=1800414&r2=1800415&view=diff
==
--- 
sling/trunk/installer/factories/packages/src/main/java/org/apache/sling/installer/factory/packages/impl/PackageTransformer.java
 (original)
+++ 
sling/trunk/installer/factories/packages/src/main/java/org/apache/sling/installer/factory/packages/impl/PackageTransformer.java
 Fri Jun 30 14:16:53 2017
@@ -21,19 +21,27 @@ package org.apache.sling.installer.facto
 import java.io.BufferedInputStream;
 import java.io.IOException;
 import java.text.MessageFormat;
+import java.util.Calendar;
 import java.util.HashMap;
 import java.util.Map;
+import java.util.Properties;
 import java.util.regex.Matcher;
 import java.util.regex.Pattern;
 import java.util.zip.ZipInputStream;
 
+import javax.jcr.RepositoryException;
 import javax.jcr.Session;
 
+import org.apache.jackrabbit.util.ISO8601;
+import org.apache.jackrabbit.vault.fs.io.Archive;
 import org.apache.jackrabbit.vault.fs.io.ImportOptions;
+import org.apache.jackrabbit.vault.fs.io.ZipStreamArchive;
 import org.apache.jackrabbit.vault.packaging.Dependency;
 import org.apache.jackrabbit.vault.packaging.JcrPackage;
 import org.apache.jackrabbit.vault.packaging.JcrPackageManager;
+import org.apache.jackrabbit.vault.packaging.PackageException;
 import org.apache.jackrabbit.vault.packaging.PackageId;
+import org.apache.jackrabbit.vault.packaging.PackageProperties;
 import org.apache.jackrabbit.vault.packaging.Packaging;
 import org.apache.sling.installer.api.InstallableResource;
 import org.apache.sling.installer.api.tasks.ChangeStateTask;
@@ -52,30 +60,29 @@ import org.osgi.framework.Version;
 import org.osgi.service.component.annotations.Activate;
 import org.osgi.service.component.annotations.Component;
 import org.osgi.service.component.annotations.Reference;
+import org.osgi.service.metatype.annotations.Designate;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-
-/**
- * The package transformer:
+/** The package transformer:
  * 
- *   detects content packages (ResourceTransformer)
- *   and creates tasks for installing / removing of content packages
+ * detects content packages (ResourceTransformer)
+ * and creates tasks for installing / removing of content packages
  * 
- */
-@Component( service = {ResourceTransformer.class, InstallTaskFactory.class})
+*/
+@Component(service = { ResourceTransformer.class, InstallTaskFactory.class })
+@Designate(ocd=PackageTransformerConfiguration.class)
 public class PackageTransformer implements ResourceTransformer, 
InstallTaskFactory {
 
 /** The attribute holding the package id. */
 private static final String ATTR_PCK_ID = "package-id";
 
-/** The resource type for packages. */
-private static final String RESOURCE_TYPE = "content-package";
+/** The resource types for packages. */
+private static final String RESOURCE_TYPE_REGULAR = "content-package";
+private static final String RESOURCE_TYPE_HOLLOW = 
"content-package-hollow";
 
-/**
- * The logger.
- */
-private final Logger logger = LoggerFactory.getLogger(this.getClass());
+/** The logger. */
+private static final Logger logger = 
LoggerFactory.getLogger(PackageTransformer.class);
 
 @Reference
 private SlingRepository repository;
@@ -93,9 +100,7 @@ public class PackageTransformer implemen
 this.configuration = configuration;
 }
 
-/**
- * @see 
org.apache.sling.installer.api.tasks.ResourceTransformer#transform(org.apache.sling.installer.api.tasks.RegisteredResource)
- */
+/** @see 
org.apache.sling.installer.api.tasks.ResourceTransformer#transform(org.apache.sling.installer.api.tasks.RegisteredResource)
 */
 @Override
 public TransformationResult[] transform(final RegisteredResource resource) 
{
 if (resource.getType().equals(InstallableResource.TYPE_FILE)) {
@@ -104,11 +109,10 @@ public class PackageTransformer implemen
 return null;
 }
 
-/**
- * Check if the resource is a content package
+/** Check if the resource is a content package
+ * 
  * @param resource The resource
- * @return {@code null} if not a content package, a result ot

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&view=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&r1=1800388&r2=1800389&view=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&r1=1800388&r2=1800389&view=diff
==
--- 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/component/impl/DefaultDistributionComponentProvider.java
 (original)
+++ 
sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/component/impl/DefaultDistributionComponentProvider.java
 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> 
distributionAgentMap = new ConcurrentHashMap>();
+
 private final Map> distributionQueueProviderMap 
= new ConcurrentHashMap>();
+
 private final Map> 
distributionQueueDistributionStrategyMap = new ConcurrentHashMap>();
+
 private final Map> 
distributionTransportSecretProviderMap = new ConcurrentHashMap>();
+
 private final Map> 
distributionPackageImporterMap = new ConcurrentHashMap>();
+
 private final Map> 
distributionPackageExporterMap = new ConcurrentHashMap>();
+
 private final Map> 
distributionPackageBuilderMap = new ConcurrentHashMap>();
 
 public DistributionComponent getComponent(DistributionComponentKind 
kind, String componentName) {
@@ -92,7 +98,6 @@ public class DefaultDistributionComponen
 return type.cast(component.getService());
 }
 
-
 @SuppressWarnings({ "unchecked", "rawtypes" })
 private Map> 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 config) {
+// (un)binding methods
 
+public void bindDistributionQueueProvider(DistributionQueueProvider 
distributionQueueProvider, Map config) {
 put(DistributionQueueProvider.class, distributionQueueProvider, 
config);
 }
 
-private void unbindDistributionQueueProvider(DistributionQueueProvider 
distributionQueueProvider, Map config) {
-
+public void unbindDistributionQueueProvider(DistributionQueueProvider 
distributionQueueProvider, Map config) {
 remove(DistributionQueueProvider.class, distributionQueueProvider, 
config);
 }
 
-private void 
bindDistributionQueueDistributionStrategy(DistributionQueueDispatchingStrategy 
distributionQueueDispatchingStrategy, Map config) {
-
+public void 
bindDistributionQueueDistributionStrategy(DistributionQueueDispatchingStrategy 
distributionQueueDispatchingStrategy, Map config) {
 put(DistributionQueueDispatchingStrategy.class, 
distributionQueueDispatchingStrategy, config);
 }
 
-private void 
unbindDistributionQueueDistributionStrategy(DistributionQueueDispatchingStrategy
 distributionQueueDispatchingStrategy, Map config) {
-
+public void 
unbindDistributionQueueDistributionStrategy(DistributionQueueDispatchingStrategy
 distributionQueueDispatchingStrategy, Map config) {

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&view=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&r1=1800363&r2=1800364&view=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&r1=1800363&r2=1800364&view=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 props = new Hashtable();
 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) {