[sling-org-apache-sling-event] 01/01: [maven-release-plugin] prepare for next development iteration
This is an automated email from the ASF dual-hosted git repository. tmaret pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/sling-org-apache-sling-event.git commit 3ab8f6069e4f839446fe32a8901c2c48662c7ac0 Author: tmaret <tma...@adobe.com> AuthorDate: Mon Nov 6 16:53:05 2017 +0100 [maven-release-plugin] prepare for next development iteration --- pom.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pom.xml b/pom.xml index 72c9983..354be4e 100644 --- a/pom.xml +++ b/pom.xml @@ -29,7 +29,7 @@ org.apache.sling.event bundle -4.2.10 +4.2.11-SNAPSHOT Apache Sling Event Support @@ -40,7 +40,7 @@ scm:git:https://gitbox.apache.org/repos/asf/sling-org-apache-sling-event.git scm:git:https://gitbox.apache.org/repos/asf/sling-org-apache-sling-event.git https://gitbox.apache.org/repos/asf?p=sling-org-apache-sling-event.git - org.apache.sling.event-4.2.10 + HEAD -- To stop receiving notification emails like this one, please contact "commits@sling.apache.org" <commits@sling.apache.org>.
[sling-org-apache-sling-event] 01/01: [maven-release-plugin] prepare release org.apache.sling.event-4.2.10
This is an automated email from the ASF dual-hosted git repository. tmaret pushed a commit to annotated tag org.apache.sling.event-4.2.10 in repository https://gitbox.apache.org/repos/asf/sling-org-apache-sling-event.git commit 98c9efcfa7a2f333bf766914976fb6aeb91bf806 Author: tmaret <tma...@adobe.com> AuthorDate: Mon Nov 6 16:51:22 2017 +0100 [maven-release-plugin] prepare release org.apache.sling.event-4.2.10 --- pom.xml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/pom.xml b/pom.xml index ea5180b..72c9983 100644 --- a/pom.xml +++ b/pom.xml @@ -29,7 +29,7 @@ org.apache.sling.event bundle -4.2.9-SNAPSHOT +4.2.10 Apache Sling Event Support @@ -40,7 +40,8 @@ scm:git:https://gitbox.apache.org/repos/asf/sling-org-apache-sling-event.git scm:git:https://gitbox.apache.org/repos/asf/sling-org-apache-sling-event.git https://gitbox.apache.org/repos/asf?p=sling-org-apache-sling-event.git - + org.apache.sling.event-4.2.10 + 12315369 -- To stop receiving notification emails like this one, please contact "commits@sling.apache.org" <commits@sling.apache.org>.
[sling-org-apache-sling-event] branch master updated (8177d76 -> 3ab8f60)
This is an automated email from the ASF dual-hosted git repository. tmaret pushed a change to branch master in repository https://gitbox.apache.org/repos/asf/sling-org-apache-sling-event.git. from 8177d76 Merge pull request #1 from prafulVaishnav/issue/SLING-7197 add 98c9efc [maven-release-plugin] prepare release org.apache.sling.event-4.2.10 new 3ab8f60 [maven-release-plugin] prepare for next development iteration The 1 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "add" were already present in the repository and have only been added to this reference. Summary of changes: pom.xml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) -- To stop receiving notification emails like this one, please contact ['"commits@sling.apache.org" <commits@sling.apache.org>'].
[sling-org-apache-sling-event] annotated tag org.apache.sling.event-4.2.10 created (now 17b3f9c)
This is an automated email from the ASF dual-hosted git repository. tmaret pushed a change to annotated tag org.apache.sling.event-4.2.10 in repository https://gitbox.apache.org/repos/asf/sling-org-apache-sling-event.git. at 17b3f9c (tag) tagging 98c9efcfa7a2f333bf766914976fb6aeb91bf806 (commit) by tmaret on Mon Nov 6 16:52:39 2017 +0100 - Log - [maven-release-plugin] copy for tag org.apache.sling.event-4.2.10 --- This annotated tag includes the following new commits: new 98c9efc [maven-release-plugin] prepare release org.apache.sling.event-4.2.10 The 1 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "add" were already present in the repository and have only been added to this reference. -- To stop receiving notification emails like this one, please contact ['"commits@sling.apache.org" <commits@sling.apache.org>'].
[sling-org-apache-sling-distribution-core] branch master updated: SLING-7229 - DistributionAgentServlet throws NPE upon test action
This is an automated email from the ASF dual-hosted git repository. tmaret pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/sling-org-apache-sling-distribution-core.git The following commit(s) were added to refs/heads/master by this push: new 57abab2 SLING-7229 - DistributionAgentServlet throws NPE upon test action 57abab2 is described below commit 57abab27db7adfc3bcd06083e090c83f8e82e10b Author: tmaret <tma...@adobe.com> AuthorDate: Fri Nov 3 13:53:34 2017 +0100 SLING-7229 - DistributionAgentServlet throws NPE upon test action --- .../distribution/servlet/ServletJsonUtils.java | 55 ++--- .../distribution/servlet/ServletJsonUtilsTest.java | 69 ++ 2 files changed, 104 insertions(+), 20 deletions(-) diff --git a/src/main/java/org/apache/sling/distribution/servlet/ServletJsonUtils.java b/src/main/java/org/apache/sling/distribution/servlet/ServletJsonUtils.java index 0aac3e4..4c4b925 100644 --- a/src/main/java/org/apache/sling/distribution/servlet/ServletJsonUtils.java +++ b/src/main/java/org/apache/sling/distribution/servlet/ServletJsonUtils.java @@ -43,15 +43,6 @@ class ServletJsonUtils { private final static Logger log = LoggerFactory.getLogger(ServletJsonUtils.class); public static void writeJson(SlingHttpServletResponse response, DistributionResponse distributionResponse) throws IOException { -JsonObjectBuilder json = Json.createObjectBuilder(); -try { -json.add("success", distributionResponse.isSuccessful()); -json.add("state", distributionResponse.getState().name()); -json.add("message", distributionResponse.getMessage()); - -} catch (JsonException e) { -log.error("Cannot write json", e); -} switch (distributionResponse.getState()) { case DISTRIBUTED: @@ -67,14 +58,46 @@ class ServletJsonUtils { // TODO break; } -append(json.build(), response.getWriter()); +JsonObject body = buildBody(distributionResponse); +append(body, response.getWriter()); } public static void writeJson(SlingHttpServletResponse response, int status, String message, @Nullable Map<String, String> kv) throws IOException { + +response.setStatus(status); +JsonObject body = buildBody(message, kv); +append(body, response.getWriter()); +} + +private static void append(JsonObject json, Writer writer) throws IOException { +StringWriter buffer = new StringWriter(); +Json.createWriter(buffer).writeObject(json); +writer.append(buffer.toString()); +} + +protected static JsonObject buildBody(DistributionResponse distributionResponse) { JsonObjectBuilder json = Json.createObjectBuilder(); try { -json.add("message", message); +json.add("success", distributionResponse.isSuccessful()); +json.add("state", distributionResponse.getState().name()); +String message = distributionResponse.getMessage(); +if (message != null) { +json.add("message", message); +} + +} catch (JsonException e) { +log.error("Cannot write json", e); +} +return json.build(); +} + +protected static JsonObject buildBody(String message, @Nullable Map<String, String> kv) { +JsonObjectBuilder json = Json.createObjectBuilder(); +try { +if (message != null) { +json.add("message", message); +} if (kv != null && kv.size() > 0) { for (Map.Entry<String, String> entry : kv.entrySet()) { json.add(entry.getKey(), entry.getValue()); @@ -83,14 +106,6 @@ class ServletJsonUtils { } catch (JsonException e) { log.error("Cannot write json", e); } -response.setStatus(status); - -append(json.build(), response.getWriter()); -} - -private static void append(JsonObject json, Writer writer) throws IOException { -StringWriter buffer = new StringWriter(); -Json.createWriter(buffer).writeObject(json); -writer.append(buffer.toString()); +return json.build(); } } diff --git a/src/test/java/org/apache/sling/distribution/servlet/ServletJsonUtilsTest.java b/src/test/java/org/apache/sling/distribution/servlet/ServletJsonUtilsTest.java new file mode 100644 index 000..1ccbe4e --- /dev/null +++ b/src/test/java/org/apache/sling/distribution/servlet/ServletJsonUtilsTest.java @@ -0,0 +1,69 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distrib
svn commit: r1809535 - /sling/trunk/launchpad/builder/src/main/provisioning/repoinit.txt
Author: tmaret Date: Sun Sep 24 19:03:14 2017 New Revision: 1809535 URL: http://svn.apache.org/viewvc?rev=1809535=rev Log: Update Apache Sling Repoinit JCR version 1.1.6 and Repoinit Parser version 1.2.0 Modified: sling/trunk/launchpad/builder/src/main/provisioning/repoinit.txt Modified: sling/trunk/launchpad/builder/src/main/provisioning/repoinit.txt URL: http://svn.apache.org/viewvc/sling/trunk/launchpad/builder/src/main/provisioning/repoinit.txt?rev=1809535=1809534=1809535=diff == --- sling/trunk/launchpad/builder/src/main/provisioning/repoinit.txt (original) +++ sling/trunk/launchpad/builder/src/main/provisioning/repoinit.txt Sun Sep 24 19:03:14 2017 @@ -19,8 +19,8 @@ [feature name=repoinit] [artifacts] - org.apache.sling/org.apache.sling.repoinit.parser/1.1.0 - org.apache.sling/org.apache.sling.jcr.repoinit/1.1.4 + org.apache.sling/org.apache.sling.repoinit.parser/1.2.0 + org.apache.sling/org.apache.sling.jcr.repoinit/1.1.6 org.apache.sling/org.apache.sling.provisioning.model/1.8.2 [:repoinit]
svn commit: r1809529 - in /sling/site/trunk/content: downloads.list news.mdtext
Author: tmaret Date: Sun Sep 24 18:39:36 2017 New Revision: 1809529 URL: http://svn.apache.org/viewvc?rev=1809529=rev Log: Apache Sling Repoinit JCR version 1.1.6 and Repoinit Parser version 1.2.0 Modified: sling/site/trunk/content/downloads.list sling/site/trunk/content/news.mdtext Modified: sling/site/trunk/content/downloads.list URL: http://svn.apache.org/viewvc/sling/site/trunk/content/downloads.list?rev=1809529=1809528=1809529=diff == --- sling/site/trunk/content/downloads.list (original) +++ sling/site/trunk/content/downloads.list Sun Sep 24 18:39:36 2017 @@ -118,7 +118,7 @@ JCR Jackrabbit UserManager|org.apache.sl JCR Oak Server|org.apache.sling.jcr.oak.server|1.1.4 JCR Prefs|org.apache.sling.jcr.prefs|1.0.0 JCR Registration|org.apache.sling.jcr.registration|1.0.2 -JCR Repoinit|org.apache.sling.jcr.repoinit|1.1.4 +JCR Repoinit|org.apache.sling.jcr.repoinit|1.1.6 JCR Resource|org.apache.sling.jcr.resource|3.0.4 JCR Resource Security|org.apache.sling.jcr.resourcesecurity|1.0.2 JCR Web Console Plugin|org.apache.sling.jcr.webconsole|1.0.2 @@ -158,7 +158,7 @@ Pax Exam Utilities|org.apache.sling.paxe Performance Test Utilities|org.apache.sling.performance.base|1.0.2 Pipes|org.apache.sling.pipes|0.0.10 Provisioning Model|org.apache.sling.provisioning.model|1.8.4 -Repoinit Parser|org.apache.sling.repoinit.parser|1.1.0 +Repoinit Parser|org.apache.sling.repoinit.parser|1.2.0 Resource Access Security|org.apache.sling.resourceaccesssecurity|1.0.0 Resource Builder|org.apache.sling.resourcebuilder|1.0.2 Resource Collection|org.apache.sling.resourcecollection|1.0.0 Modified: sling/site/trunk/content/news.mdtext URL: http://svn.apache.org/viewvc/sling/site/trunk/content/news.mdtext?rev=1809529=1809528=1809529=diff == --- sling/site/trunk/content/news.mdtext (original) +++ sling/site/trunk/content/news.mdtext Sun Sep 24 18:39:36 2017 @@ -1,5 +1,6 @@ Title: News * New Release: Apache Sling Maven Sling Plugin 2.3.2 (September 23th, 2017) +* New Release: Apache Sling Repoinit JCR version 1.1.6, Apache Sling Repoinit Parser version 1.2.0 (September 22th, 2017) * New Release: Apache Sling Context-Aware Configuration Impl 1.4.4 (September 22th, 2017) * New Releases: Apache Sling Scripting HTL Compiler 1.0.14, Apache Sling Scripting HTL Java Compiler 1.0.14, Apache Sling Scripting HTL Engine 1.0.42 (September 20th, 2017) * New Release: Apache Sling Commons Scheduler 2.7.2 (September 19th, 2017)
svn commit: r1808902 - /sling/trunk/bundles/jcr/repoinit/pom.xml
Author: tmaret Date: Tue Sep 19 15:35:10 2017 New Revision: 1808902 URL: http://svn.apache.org/viewvc?rev=1808902=rev Log: Update org.apache.sling.repoinit.parser dependency to latest snapshot Modified: sling/trunk/bundles/jcr/repoinit/pom.xml Modified: sling/trunk/bundles/jcr/repoinit/pom.xml URL: http://svn.apache.org/viewvc/sling/trunk/bundles/jcr/repoinit/pom.xml?rev=1808902=1808901=1808902=diff == --- sling/trunk/bundles/jcr/repoinit/pom.xml (original) +++ sling/trunk/bundles/jcr/repoinit/pom.xml Tue Sep 19 15:35:10 2017 @@ -157,7 +157,7 @@ org.apache.sling org.apache.sling.repoinit.parser -1.2.0 +1.2.1-SNAPSHOT provided
svn commit: r1808900 - /sling/tags/org.apache.sling.jcr.repoinit-1.1.6/
Author: tmaret Date: Tue Sep 19 15:15:45 2017 New Revision: 1808900 URL: http://svn.apache.org/viewvc?rev=1808900=rev Log: [maven-release-plugin] copy for tag org.apache.sling.jcr.repoinit-1.1.6 Added: sling/tags/org.apache.sling.jcr.repoinit-1.1.6/ - copied from r1808899, sling/trunk/bundles/jcr/repoinit/
svn commit: r1808901 - /sling/trunk/bundles/jcr/repoinit/pom.xml
Author: tmaret Date: Tue Sep 19 15:15:47 2017 New Revision: 1808901 URL: http://svn.apache.org/viewvc?rev=1808901=rev Log: [maven-release-plugin] prepare for next development iteration Modified: sling/trunk/bundles/jcr/repoinit/pom.xml Modified: sling/trunk/bundles/jcr/repoinit/pom.xml URL: http://svn.apache.org/viewvc/sling/trunk/bundles/jcr/repoinit/pom.xml?rev=1808901=1808900=1808901=diff == --- sling/trunk/bundles/jcr/repoinit/pom.xml (original) +++ sling/trunk/bundles/jcr/repoinit/pom.xml Tue Sep 19 15:15:47 2017 @@ -29,7 +29,7 @@ org.apache.sling.jcr.repoinit bundle - 1.1.6 + 1.1.7-SNAPSHOT Apache Sling JCR RepoInit module Initializes a JCR repository based on the output @@ -41,9 +41,9 @@ - scm:svn:https://svn.apache.org/repos/asf/sling/tags/org.apache.sling.jcr.repoinit-1.1.6 - scm:svn:https://svn.apache.org/repos/asf/sling/tags/org.apache.sling.jcr.repoinit-1.1.6 - https://svn.apache.org/repos/asf/sling/tags/org.apache.sling.jcr.repoinit-1.1.6 + scm:svn:https://svn.apache.org/repos/asf/sling/trunk/bundles/jcr/repoinit + scm:svn:https://svn.apache.org/repos/asf/sling/trunk/bundles/jcr/repoinit + https://svn.apache.org/repos/asf/sling/trunk/bundles/jcr/repoinit
svn commit: r1808899 - /sling/trunk/bundles/jcr/repoinit/pom.xml
Author: tmaret Date: Tue Sep 19 15:15:30 2017 New Revision: 1808899 URL: http://svn.apache.org/viewvc?rev=1808899=rev Log: [maven-release-plugin] prepare release org.apache.sling.jcr.repoinit-1.1.6 Modified: sling/trunk/bundles/jcr/repoinit/pom.xml Modified: sling/trunk/bundles/jcr/repoinit/pom.xml URL: http://svn.apache.org/viewvc/sling/trunk/bundles/jcr/repoinit/pom.xml?rev=1808899=1808898=1808899=diff == --- sling/trunk/bundles/jcr/repoinit/pom.xml (original) +++ sling/trunk/bundles/jcr/repoinit/pom.xml Tue Sep 19 15:15:30 2017 @@ -29,7 +29,7 @@ org.apache.sling.jcr.repoinit bundle - 1.1.5-SNAPSHOT + 1.1.6 Apache Sling JCR RepoInit module Initializes a JCR repository based on the output @@ -41,9 +41,9 @@ - scm:svn:https://svn.apache.org/repos/asf/sling/trunk/bundles/jcr/repoinit - scm:svn:https://svn.apache.org/repos/asf/sling/trunk/bundles/jcr/repoinit - https://svn.apache.org/repos/asf/sling/trunk/bundles/jcr/repoinit + scm:svn:https://svn.apache.org/repos/asf/sling/tags/org.apache.sling.jcr.repoinit-1.1.6 + scm:svn:https://svn.apache.org/repos/asf/sling/tags/org.apache.sling.jcr.repoinit-1.1.6 + https://svn.apache.org/repos/asf/sling/tags/org.apache.sling.jcr.repoinit-1.1.6
svn commit: r1808898 - /sling/trunk/bundles/jcr/repoinit/pom.xml
Author: tmaret Date: Tue Sep 19 15:13:52 2017 New Revision: 1808898 URL: http://svn.apache.org/viewvc?rev=1808898=rev Log: Prepare to release org.apache.sling.repoinit.parser and org.apache.sling.jcr.repoinit Modified: sling/trunk/bundles/jcr/repoinit/pom.xml Modified: sling/trunk/bundles/jcr/repoinit/pom.xml URL: http://svn.apache.org/viewvc/sling/trunk/bundles/jcr/repoinit/pom.xml?rev=1808898=1808897=1808898=diff == --- sling/trunk/bundles/jcr/repoinit/pom.xml (original) +++ sling/trunk/bundles/jcr/repoinit/pom.xml Tue Sep 19 15:13:52 2017 @@ -157,7 +157,7 @@ org.apache.sling org.apache.sling.repoinit.parser -1.1.1-SNAPSHOT +1.2.0 provided
svn commit: r1808894 - /sling/trunk/bundles/extensions/repoinit/parser/pom.xml
Author: tmaret Date: Tue Sep 19 15:00:21 2017 New Revision: 1808894 URL: http://svn.apache.org/viewvc?rev=1808894=rev Log: [maven-release-plugin] prepare release org.apache.sling.repoinit.parser-1.2.0 Modified: sling/trunk/bundles/extensions/repoinit/parser/pom.xml Modified: sling/trunk/bundles/extensions/repoinit/parser/pom.xml URL: http://svn.apache.org/viewvc/sling/trunk/bundles/extensions/repoinit/parser/pom.xml?rev=1808894=1808893=1808894=diff == --- sling/trunk/bundles/extensions/repoinit/parser/pom.xml (original) +++ sling/trunk/bundles/extensions/repoinit/parser/pom.xml Tue Sep 19 15:00:21 2017 @@ -29,14 +29,14 @@ org.apache.sling.repoinit.parser bundle - 1.1.1-SNAPSHOT + 1.2.0 Apache Sling RepoInit Parser Parser for the Repository Initialization language used in Sling - scm:svn:https://svn.apache.org/repos/asf/sling/trunk/bundles/extensions/repoinit/parser - scm:svn:https://svn.apache.org/repos/asf/sling/trunk/bundles/extensions/repoinit/parser - https://svn.apache.org/repos/asf/sling/trunk/bundles/extensions/repoinit/parser + scm:svn:https://svn.apache.org/repos/asf/sling/tags/org.apache.sling.repoinit.parser-1.2.0 + scm:svn:https://svn.apache.org/repos/asf/sling/tags/org.apache.sling.repoinit.parser-1.2.0 + https://svn.apache.org/repos/asf/sling/tags/org.apache.sling.repoinit.parser-1.2.0
svn commit: r1808895 - /sling/tags/org.apache.sling.repoinit.parser-1.2.0/
Author: tmaret Date: Tue Sep 19 15:00:35 2017 New Revision: 1808895 URL: http://svn.apache.org/viewvc?rev=1808895=rev Log: [maven-release-plugin] copy for tag org.apache.sling.repoinit.parser-1.2.0 Added: sling/tags/org.apache.sling.repoinit.parser-1.2.0/ - copied from r1808894, sling/trunk/bundles/extensions/repoinit/parser/
svn commit: r1808896 - /sling/trunk/bundles/extensions/repoinit/parser/pom.xml
Author: tmaret Date: Tue Sep 19 15:00:37 2017 New Revision: 1808896 URL: http://svn.apache.org/viewvc?rev=1808896=rev Log: [maven-release-plugin] prepare for next development iteration Modified: sling/trunk/bundles/extensions/repoinit/parser/pom.xml Modified: sling/trunk/bundles/extensions/repoinit/parser/pom.xml URL: http://svn.apache.org/viewvc/sling/trunk/bundles/extensions/repoinit/parser/pom.xml?rev=1808896=1808895=1808896=diff == --- sling/trunk/bundles/extensions/repoinit/parser/pom.xml (original) +++ sling/trunk/bundles/extensions/repoinit/parser/pom.xml Tue Sep 19 15:00:37 2017 @@ -29,14 +29,14 @@ org.apache.sling.repoinit.parser bundle - 1.2.0 + 1.2.1-SNAPSHOT Apache Sling RepoInit Parser Parser for the Repository Initialization language used in Sling - scm:svn:https://svn.apache.org/repos/asf/sling/tags/org.apache.sling.repoinit.parser-1.2.0 - scm:svn:https://svn.apache.org/repos/asf/sling/tags/org.apache.sling.repoinit.parser-1.2.0 - https://svn.apache.org/repos/asf/sling/tags/org.apache.sling.repoinit.parser-1.2.0 + scm:svn:https://svn.apache.org/repos/asf/sling/trunk/bundles/extensions/repoinit/parser + scm:svn:https://svn.apache.org/repos/asf/sling/trunk/bundles/extensions/repoinit/parser + https://svn.apache.org/repos/asf/sling/trunk/bundles/extensions/repoinit/parser
svn commit: r1808885 - /sling/trunk/bundles/extensions/repoinit/parser/src/test/java/org/apache/sling/repoinit/parser/test/ParsingErrorsTest.java
Author: tmaret Date: Tue Sep 19 14:20:54 2017 New Revision: 1808885 URL: http://svn.apache.org/viewvc?rev=1808885=rev Log: SLING-7061 - Access control setup of repository-level permissions (i.e. null path) * Add test for invalid repository ACL syntax Modified: sling/trunk/bundles/extensions/repoinit/parser/src/test/java/org/apache/sling/repoinit/parser/test/ParsingErrorsTest.java Modified: sling/trunk/bundles/extensions/repoinit/parser/src/test/java/org/apache/sling/repoinit/parser/test/ParsingErrorsTest.java URL: http://svn.apache.org/viewvc/sling/trunk/bundles/extensions/repoinit/parser/src/test/java/org/apache/sling/repoinit/parser/test/ParsingErrorsTest.java?rev=1808885=1808884=1808885=diff == --- sling/trunk/bundles/extensions/repoinit/parser/src/test/java/org/apache/sling/repoinit/parser/test/ParsingErrorsTest.java (original) +++ sling/trunk/bundles/extensions/repoinit/parser/src/test/java/org/apache/sling/repoinit/parser/test/ParsingErrorsTest.java Tue Sep 19 14:20:54 2017 @@ -78,6 +78,10 @@ public class ParsingErrorsTest { // SLING-7066 default mixin is not supported add(new Object[] { "create path (sling:Folder mixin mix:A) /var/foo", ParseException.class }); add(new Object[] { "create path (mixin mix:A) /var/foo", ParseException.class }); + +// SLING-7061 +add(new Object[] { "set repository ACL for principal1\nallow jcr:somePermission on /\nend", ParseException.class }); + }}; return result; }
svn commit: r1808883 - /sling/trunk/bundles/extensions/repoinit/parser/src/test/java/org/apache/sling/repoinit/parser/test/ParsingErrorsTest.java
Author: tmaret Date: Tue Sep 19 14:16:33 2017 New Revision: 1808883 URL: http://svn.apache.org/viewvc?rev=1808883=rev Log: SLING-7066 - Support mixins in repoinit "create path" statements * Add test for invalid mixin syntax Modified: sling/trunk/bundles/extensions/repoinit/parser/src/test/java/org/apache/sling/repoinit/parser/test/ParsingErrorsTest.java Modified: sling/trunk/bundles/extensions/repoinit/parser/src/test/java/org/apache/sling/repoinit/parser/test/ParsingErrorsTest.java URL: http://svn.apache.org/viewvc/sling/trunk/bundles/extensions/repoinit/parser/src/test/java/org/apache/sling/repoinit/parser/test/ParsingErrorsTest.java?rev=1808883=1808882=1808883=diff == --- sling/trunk/bundles/extensions/repoinit/parser/src/test/java/org/apache/sling/repoinit/parser/test/ParsingErrorsTest.java (original) +++ sling/trunk/bundles/extensions/repoinit/parser/src/test/java/org/apache/sling/repoinit/parser/test/ParsingErrorsTest.java Tue Sep 19 14:16:33 2017 @@ -74,6 +74,10 @@ public class ParsingErrorsTest { add(new Object[] { "disable service user foo \"missing colon\"", ParseException.class }); add(new Object[] { "disable service user foo : missing start quote\"", ParseException.class }); add(new Object[] { "disable service user foo : \"missing end quote", ParseException.class }); + +// SLING-7066 default mixin is not supported +add(new Object[] { "create path (sling:Folder mixin mix:A) /var/foo", ParseException.class }); +add(new Object[] { "create path (mixin mix:A) /var/foo", ParseException.class }); }}; return result; }
svn commit: r1808879 - in /sling/trunk/bundles: extensions/repoinit/parser/src/main/javacc/ extensions/repoinit/parser/src/test/resources/testcases/ jcr/repoinit/src/test/java/org/apache/sling/jcr/rep
Author: tmaret Date: Tue Sep 19 14:06:25 2017 New Revision: 1808879 URL: http://svn.apache.org/viewvc?rev=1808879=rev Log: SLING-6774 - Allowed character set in repo init is too restrictive * Extend path parser and JCR implementation with valid symbols '+', '@' and ':' Added: sling/trunk/bundles/extensions/repoinit/parser/src/test/resources/testcases/test-14-output.txt sling/trunk/bundles/extensions/repoinit/parser/src/test/resources/testcases/test-14.txt Modified: sling/trunk/bundles/extensions/repoinit/parser/src/main/javacc/RepoInitGrammar.jjt sling/trunk/bundles/extensions/repoinit/parser/src/test/resources/testcases/test-20-output.txt sling/trunk/bundles/extensions/repoinit/parser/src/test/resources/testcases/test-20.txt sling/trunk/bundles/jcr/repoinit/src/test/java/org/apache/sling/jcr/repoinit/CreatePathsTest.java Modified: sling/trunk/bundles/extensions/repoinit/parser/src/main/javacc/RepoInitGrammar.jjt URL: http://svn.apache.org/viewvc/sling/trunk/bundles/extensions/repoinit/parser/src/main/javacc/RepoInitGrammar.jjt?rev=1808879=1808878=1808879=diff == --- sling/trunk/bundles/extensions/repoinit/parser/src/main/javacc/RepoInitGrammar.jjt (original) +++ sling/trunk/bundles/extensions/repoinit/parser/src/main/javacc/RepoInitGrammar.jjt Tue Sep 19 14:06:25 2017 @@ -90,7 +90,7 @@ TOKEN: /* The order of these fuzzy statements is important (first match wins?) */ | < NAMESPACED_ITEM: (["a"-"z"] | ["A"-"Z"])+ ":" (["a"-"z"] | ["A"-"Z"])+ > -| < PATH_STRING: "/" (["a"-"z"] | ["A"-"Z"] | ["0"-"9"] | ["-"] | ["_"] | ["."] | ["/"]) * > +| < PATH_STRING: "/" (["a"-"z"] | ["A"-"Z"] | ["0"-"9"] | ["-"] | ["_"] | ["."] | ["@"] | [":"] | ["+"] | ["/"]) * > | < STRING: (["a"-"z"] | ["A"-"Z"] | ["0"-"9"] | ["-"] | ["_"] | ["."] | ["/"] | [":"] | ["*"]) * > | < EOL: "\n" > } Added: sling/trunk/bundles/extensions/repoinit/parser/src/test/resources/testcases/test-14-output.txt URL: http://svn.apache.org/viewvc/sling/trunk/bundles/extensions/repoinit/parser/src/test/resources/testcases/test-14-output.txt?rev=1808879=auto == --- sling/trunk/bundles/extensions/repoinit/parser/src/test/resources/testcases/test-14-output.txt (added) +++ sling/trunk/bundles/extensions/repoinit/parser/src/test/resources/testcases/test-14-output.txt Tue Sep 19 14:06:25 2017 @@ -0,0 +1,3 @@ +SetAclPaths on /one:name /two+name /three@name + AclLine REMOVE_ALL {principals=[user1]} + AclLine ALLOW {principals=[user1], privileges=[jcr:read]} Added: sling/trunk/bundles/extensions/repoinit/parser/src/test/resources/testcases/test-14.txt URL: http://svn.apache.org/viewvc/sling/trunk/bundles/extensions/repoinit/parser/src/test/resources/testcases/test-14.txt?rev=1808879=auto == --- sling/trunk/bundles/extensions/repoinit/parser/src/test/resources/testcases/test-14.txt (added) +++ sling/trunk/bundles/extensions/repoinit/parser/src/test/resources/testcases/test-14.txt Tue Sep 19 14:06:25 2017 @@ -0,0 +1,5 @@ +# Test allowed path characters, see SLING-6774 +set ACL on /one:name,/two+name,/three@name +remove * for user1 +allow jcr:read for user1 +end \ No newline at end of file Modified: sling/trunk/bundles/extensions/repoinit/parser/src/test/resources/testcases/test-20-output.txt URL: http://svn.apache.org/viewvc/sling/trunk/bundles/extensions/repoinit/parser/src/test/resources/testcases/test-20-output.txt?rev=1808879=1808878=1808879=diff == --- sling/trunk/bundles/extensions/repoinit/parser/src/test/resources/testcases/test-20-output.txt (original) +++ sling/trunk/bundles/extensions/repoinit/parser/src/test/resources/testcases/test-20-output.txt Tue Sep 19 14:06:25 2017 @@ -6,4 +6,7 @@ CreatePath [one(mixin [nt:art]), step(mi CreatePath [one(nt:foxtrot), step(nt:foxtrot mixin [nt:dance]), two(nt:foxtrot), steps(nt:foxtrot)] CreatePath [one, step(mixin [nt:dance, nt:art]), two, steps] CreatePath [one, step(nt:foxtrot mixin [nt:dance]), two, steps] -CreatePath [one, step(nt:foxtrot mixin [nt:dance, nt:art]), two, steps] \ No newline at end of file +CreatePath [one, step(nt:foxtrot mixin [nt:dance, nt:art]), two, steps] +CreatePath [one:and, step, two:and, steps] +Cre
svn commit: r1808849 - in /sling/trunk/bundles/extensions/repoinit/parser/src/test/resources/testcases: test-13-output.txt test-13.txt
Author: tmaret Date: Tue Sep 19 09:31:40 2017 New Revision: 1808849 URL: http://svn.apache.org/viewvc?rev=1808849=rev Log: SLING-7061 - Access control setup of repository-level permissions (i.e. null path) * Add parser tests Added: sling/trunk/bundles/extensions/repoinit/parser/src/test/resources/testcases/test-13-output.txt sling/trunk/bundles/extensions/repoinit/parser/src/test/resources/testcases/test-13.txt Added: sling/trunk/bundles/extensions/repoinit/parser/src/test/resources/testcases/test-13-output.txt URL: http://svn.apache.org/viewvc/sling/trunk/bundles/extensions/repoinit/parser/src/test/resources/testcases/test-13-output.txt?rev=1808849=auto == --- sling/trunk/bundles/extensions/repoinit/parser/src/test/resources/testcases/test-13-output.txt (added) +++ sling/trunk/bundles/extensions/repoinit/parser/src/test/resources/testcases/test-13-output.txt Tue Sep 19 09:31:40 2017 @@ -0,0 +1,4 @@ +SetAclPrincipals for user1 user2 + AclLine REMOVE_ALL {} + AclLine ALLOW {privileges=[jcr:read, jcr:lockManagement]} + AclLine DENY {privileges=[jcr:write]} Added: sling/trunk/bundles/extensions/repoinit/parser/src/test/resources/testcases/test-13.txt URL: http://svn.apache.org/viewvc/sling/trunk/bundles/extensions/repoinit/parser/src/test/resources/testcases/test-13.txt?rev=1808849=auto == --- sling/trunk/bundles/extensions/repoinit/parser/src/test/resources/testcases/test-13.txt (added) +++ sling/trunk/bundles/extensions/repoinit/parser/src/test/resources/testcases/test-13.txt Tue Sep 19 09:31:40 2017 @@ -0,0 +1,6 @@ +# Test for repository-level ACL (SLING-7061) +set repository ACL for user1,user2 +remove * +allow jcr:read,jcr:lockManagement +deny jcr:write +end \ No newline at end of file
svn commit: r1808846 - /sling/site/trunk/content/documentation/bundles/repository-initialization.mdtext
Author: tmaret Date: Tue Sep 19 09:11:25 2017 New Revision: 1808846 URL: http://svn.apache.org/viewvc?rev=1808846=rev Log: SLING-7061 - Access control setup of repository-level permissions (i.e. null path) * Add example of repository-level ACL setup Modified: sling/site/trunk/content/documentation/bundles/repository-initialization.mdtext Modified: sling/site/trunk/content/documentation/bundles/repository-initialization.mdtext URL: http://svn.apache.org/viewvc/sling/site/trunk/content/documentation/bundles/repository-initialization.mdtext?rev=1808846=1808845=1808846=diff == --- sling/site/trunk/content/documentation/bundles/repository-initialization.mdtext (original) +++ sling/site/trunk/content/documentation/bundles/repository-initialization.mdtext Tue Sep 19 09:11:25 2017 @@ -53,6 +53,9 @@ The language is self-explaining but plea create path /content/example.com(sling:Folder) # Nodetypes and mixins applied to just a path element +# Specifying mixins require +# o.a.s.repoinit.parser 1.2.0 and +# o.a.s.jcr.repoinit 1.2.0 create path /content/example.com(sling:Folder mixin mix:referenceable,mix:shareable) # Mixins applied to just a path element @@ -75,6 +78,14 @@ The language is self-explaining but plea allow jcr:modifyProperties on /apps restriction(rep:ntNames,sling:Folder,nt:unstructured) restriction(rep:itemNames,prop1,prop2) allow jcr:addChildNodes on /apps,/content restriction(rep:glob,/cat/*,*/cat,*cat/*) end + + # Set repository level ACL + # Setting repository level ACL require +# o.a.s.repoinit.parser 1.2.0 and +# o.a.s.jcr.repoinit 1.2.0 +set repository ACL for alice,bob +allow jcr:namespaceManagement,jcr:nodeTypeDefinitionManagement +end # register namespace requires # o.a.s.repoinit.parser 1.0.4
svn commit: r1808845 - in /sling/trunk/bundles: extensions/repoinit/parser/src/main/javacc/ jcr/repoinit/src/main/java/org/apache/sling/jcr/repoinit/impl/ jcr/repoinit/src/test/java/org/apache/sling/j
Author: tmaret Date: Tue Sep 19 09:01:32 2017 New Revision: 1808845 URL: http://svn.apache.org/viewvc?rev=1808845=rev Log: SLING-7061 - Access control setup of repository-level permissions (i.e. null path) * Add parser and JCR implementation Modified: sling/trunk/bundles/extensions/repoinit/parser/src/main/javacc/RepoInitGrammar.jjt sling/trunk/bundles/jcr/repoinit/src/main/java/org/apache/sling/jcr/repoinit/impl/AclUtil.java sling/trunk/bundles/jcr/repoinit/src/main/java/org/apache/sling/jcr/repoinit/impl/AclVisitor.java sling/trunk/bundles/jcr/repoinit/src/test/java/org/apache/sling/jcr/repoinit/GeneralAclTest.java Modified: sling/trunk/bundles/extensions/repoinit/parser/src/main/javacc/RepoInitGrammar.jjt URL: http://svn.apache.org/viewvc/sling/trunk/bundles/extensions/repoinit/parser/src/main/javacc/RepoInitGrammar.jjt?rev=1808845=1808844=1808845=diff == --- sling/trunk/bundles/extensions/repoinit/parser/src/main/javacc/RepoInitGrammar.jjt (original) +++ sling/trunk/bundles/extensions/repoinit/parser/src/main/javacc/RepoInitGrammar.jjt Tue Sep 19 09:01:32 2017 @@ -68,6 +68,7 @@ TOKEN: | < MIXIN: "mixin" > | < PATH: "path" > | < END: "end" > +| < REPOSITORY: "repository" > | < USER: "user" > | < NODETYPES: "nodetypes" > | < REGISTER: "register" > @@ -127,6 +128,7 @@ List parse() : serviceUserStatement(result) | setAclPaths(result) | setAclPrincipals(result) +| setAclRepository(result) | createPathStatement(result) | registerNamespaceStatement(result) | registerNodetypesStatement(result) @@ -400,6 +402,38 @@ List aclOptions() : } } +void setAclRepository(List result) : +{ +List lines = new ArrayList(); +List principals; +List privileges; +List aclOptions; +AclLine line = null; + +} +{ +principals = principalsList() aclOptions=aclOptions() +( +( ) +{ +line = new AclLine(AclLine.Action.REMOVE_ALL); +lines.add(line); +} +| ( line = privilegesLineOperation() privileges = namespacedItemsList() ) +{ +line.setProperty(AclLine.PROP_PRIVILEGES, privileges); +lines.add(line); +} +| ( blankLine() ) +)+ + +( | ) + +{ +result.add(new SetAclPrincipals(principals, lines, aclOptions)); +} +} + void setAclPrincipals(List result) : { List principals; Modified: sling/trunk/bundles/jcr/repoinit/src/main/java/org/apache/sling/jcr/repoinit/impl/AclUtil.java URL: http://svn.apache.org/viewvc/sling/trunk/bundles/jcr/repoinit/src/main/java/org/apache/sling/jcr/repoinit/impl/AclUtil.java?rev=1808845=1808844=1808845=diff == --- sling/trunk/bundles/jcr/repoinit/src/main/java/org/apache/sling/jcr/repoinit/impl/AclUtil.java (original) +++ sling/trunk/bundles/jcr/repoinit/src/main/java/org/apache/sling/jcr/repoinit/impl/AclUtil.java Tue Sep 19 09:01:32 2017 @@ -100,52 +100,60 @@ public class AclUtil { public static void setAcl(Session session, List principals, List paths, List privileges, boolean isAllow, List restrictionClauses) throws RepositoryException { - -final String [] privArray = privileges.toArray(new String[privileges.size()]); -final Privilege[] jcrPriv = AccessControlUtils.privilegesFromNames(session, privArray); - -for(String path : paths) { +for (String path : paths) { if(!session.nodeExists(path)) { throw new PathNotFoundException("Cannot set ACL on non-existent path " + path); } +setAcl(session, principals, path, privileges, isAllow, restrictionClauses); +} +} + +private static void setAcl(Session session, List principals, String path, List privileges, boolean isAllow, List restrictionClauses) +throws RepositoryException { + +final String [] privArray = privileges.toArray(new String[privileges.size()]); +final Privilege[] jcrPriv = AccessControlUtils.privilegesFromNames(session, privArray); -JackrabbitAccessControlList acl = AccessControlUtils.getAccessControlList(session, path); +JackrabbitAccessControlList acl = AccessControlUtils.getAccessControlList(session, path); -LocalRestrictions localRestrictions = createLocalRestrictions(restrictionClauses, acl, session); +LocalRestrictions localRestrictions = createLocalRestrictions(restrictionClauses, acl, session); -AccessControlEntry[] existingAces = acl.getAccessControlEntries(); +AccessControlEntry[] existingAces = acl.getAccessCont
svn commit: r1808435 - /sling/site/trunk/content/documentation/bundles/repository-initialization.mdtext
Author: tmaret Date: Fri Sep 15 08:43:09 2017 New Revision: 1808435 URL: http://svn.apache.org/viewvc?rev=1808435=rev Log: SLING-7066 - Support mixins in repoinit "create path" statements * Add example of path created with mixins Modified: sling/site/trunk/content/documentation/bundles/repository-initialization.mdtext Modified: sling/site/trunk/content/documentation/bundles/repository-initialization.mdtext URL: http://svn.apache.org/viewvc/sling/site/trunk/content/documentation/bundles/repository-initialization.mdtext?rev=1808435=1808434=1808435=diff == --- sling/site/trunk/content/documentation/bundles/repository-initialization.mdtext (original) +++ sling/site/trunk/content/documentation/bundles/repository-initialization.mdtext Fri Sep 15 08:43:09 2017 @@ -51,6 +51,12 @@ The language is self-explaining but plea # Nodetypes inside the path apply to just that path element create path /content/example.com(sling:Folder) + +# Nodetypes and mixins applied to just a path element +create path /content/example.com(sling:Folder mixin mix:referenceable,mix:shareable) + +# Mixins applied to just a path element +create path /content/example.com(mixin mix:referenceable) # A nodetype in front is used as the default for all path elements create path (nt:unstructured) /var
svn commit: r1808431 - in /sling/trunk/bundles: extensions/repoinit/parser/src/main/java/org/apache/sling/repoinit/parser/operations/ extensions/repoinit/parser/src/main/javacc/ extensions/repoinit/pa
Author: tmaret Date: Fri Sep 15 08:27:58 2017 New Revision: 1808431 URL: http://svn.apache.org/viewvc?rev=1808431=rev Log: SLING-7066 - Support mixins in repoinit "create path" statements * Add parser support for creating paths with mixins * Add JCR implementation Modified: sling/trunk/bundles/extensions/repoinit/parser/src/main/java/org/apache/sling/repoinit/parser/operations/CreatePath.java sling/trunk/bundles/extensions/repoinit/parser/src/main/java/org/apache/sling/repoinit/parser/operations/PathSegmentDefinition.java sling/trunk/bundles/extensions/repoinit/parser/src/main/javacc/RepoInitGrammar.jjt sling/trunk/bundles/extensions/repoinit/parser/src/test/resources/testcases/test-20-output.txt sling/trunk/bundles/extensions/repoinit/parser/src/test/resources/testcases/test-20.txt sling/trunk/bundles/jcr/repoinit/src/main/java/org/apache/sling/jcr/repoinit/impl/AclVisitor.java sling/trunk/bundles/jcr/repoinit/src/test/java/org/apache/sling/jcr/repoinit/CreatePathsTest.java sling/trunk/bundles/jcr/repoinit/src/test/java/org/apache/sling/jcr/repoinit/impl/TestUtil.java Modified: sling/trunk/bundles/extensions/repoinit/parser/src/main/java/org/apache/sling/repoinit/parser/operations/CreatePath.java URL: http://svn.apache.org/viewvc/sling/trunk/bundles/extensions/repoinit/parser/src/main/java/org/apache/sling/repoinit/parser/operations/CreatePath.java?rev=1808431=1808430=1808431=diff == --- sling/trunk/bundles/extensions/repoinit/parser/src/main/java/org/apache/sling/repoinit/parser/operations/CreatePath.java (original) +++ sling/trunk/bundles/extensions/repoinit/parser/src/main/java/org/apache/sling/repoinit/parser/operations/CreatePath.java Fri Sep 15 08:27:58 2017 @@ -44,8 +44,12 @@ public class CreatePath extends Operatio public void accept(OperationVisitor v) { v.visitCreatePath(this); } - + public void addSegment(String path, String primaryType) { +addSegment(path, primaryType, null); +} + +public void addSegment(String path, String primaryType, List mixins) { // We might get a path like /var/discovery, in which case // the specified primary type applies to the last // segment only @@ -55,10 +59,16 @@ public class CreatePath extends Operatio continue; } String pt = defaultPrimaryType; -if(i == segments.length -1 && primaryType != null) { -pt = primaryType; +List ms = null; +if(i == segments.length -1) { +if (primaryType != null) { +pt = primaryType; +} +if (mixins != null && ! mixins.isEmpty()) { +ms = mixins; +} } -pathDef.add(new PathSegmentDefinition(segments[i], pt)); +pathDef.add(new PathSegmentDefinition(segments[i], pt, ms)); } } Modified: sling/trunk/bundles/extensions/repoinit/parser/src/main/java/org/apache/sling/repoinit/parser/operations/PathSegmentDefinition.java URL: http://svn.apache.org/viewvc/sling/trunk/bundles/extensions/repoinit/parser/src/main/java/org/apache/sling/repoinit/parser/operations/PathSegmentDefinition.java?rev=1808431=1808430=1808431=diff == --- sling/trunk/bundles/extensions/repoinit/parser/src/main/java/org/apache/sling/repoinit/parser/operations/PathSegmentDefinition.java (original) +++ sling/trunk/bundles/extensions/repoinit/parser/src/main/java/org/apache/sling/repoinit/parser/operations/PathSegmentDefinition.java Fri Sep 15 08:27:58 2017 @@ -17,23 +17,44 @@ package org.apache.sling.repoinit.parser.operations; -/** Defines a segment of a path to be created, - * with its name and an optional primary type +import java.util.List; + +/** Defines a segment of a path to be created, + * with its name and an optional primary type and optional mixins */ public class PathSegmentDefinition { private final String segment; private final String primaryType; +private final List mixins; public PathSegmentDefinition(String segment, String primaryType) { +this(segment, primaryType, null); +} + +public PathSegmentDefinition(String segment, String primaryType, List mixins) { this.segment = segment; this.primaryType = primaryType; +this.mixins = mixins; } public String toString() { final StringBuilder sb = new StringBuilder(); sb.append(segment); -if(primaryType != null) { -sb.append("(").append(primaryType).append(")"); +boolean hasPrimaryType = primaryType != null; +boolean hasMixin = mixins != null && ! mixins.isEmpty(); +if
svn commit: r1808044 - 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
Author: tmaret Date: Mon Sep 11 15:59:43 2017 New Revision: 1808044 URL: http://svn.apache.org/viewvc?rev=1808044=rev Log: SLING-7120 - Checkpoints not stored in file when using In-file queue * Fix parsing for number types * remove un-needed charset in checkpoints entries Added: sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/queue/impl/simple/QueueItemMapper.java sling/trunk/contrib/extensions/distribution/core/src/test/java/org/apache/sling/distribution/queue/impl/simple/QueueItemMapperTest.java 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/resources/dummy-agent-checkpoint Added: sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/queue/impl/simple/QueueItemMapper.java URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/queue/impl/simple/QueueItemMapper.java?rev=1808044=auto == --- sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/queue/impl/simple/QueueItemMapper.java (added) +++ sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/queue/impl/simple/QueueItemMapper.java Mon Sep 11 15:59:43 2017 @@ -0,0 +1,119 @@ +/* + * 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.StringReader; +import java.io.StringWriter; +import java.text.NumberFormat; +import java.text.ParseException; +import java.util.HashMap; +import java.util.Map; + +import javax.json.Json; +import javax.json.JsonArray; +import javax.json.JsonObject; +import javax.json.JsonReader; +import javax.json.JsonString; +import javax.json.JsonValue; +import javax.json.stream.JsonGenerator; + +import org.apache.sling.distribution.queue.DistributionQueueItem; + +/** + * Serialize/Unserialize {@link DistributionQueueItem} items. + */ +public class QueueItemMapper { + +DistributionQueueItem readQueueItem(String line) { +String[] split = line.split(" ", 2); +if (split.length != 2) { +throw new IllegalArgumentException("Invalid item found " + line); +} +String packageId = split[0]; +String infoString = split[1]; + +Map<String, Object> info = new HashMap<String, Object>(); + +JsonReader reader = Json.createReader(new StringReader(infoString)); +JsonObject jsonObject = reader.readObject(); +NumberFormat numberFormat = NumberFormat.getInstance(); + +for (Map.Entry<String, JsonValue> entry : jsonObject.entrySet()) { +if (entry.getValue().getValueType().equals(JsonValue.ValueType.ARRAY)) { +JsonArray value = jsonObject.getJsonArray(entry.getKey()); +String[] a = new String[value.size()]; +for (int i = 0; i < a.length; i++) { +a[i] = value.getString(i); +} +info.put(entry.getKey(), a); +} else if (JsonValue.NULL.equals(entry.getValue())) { +info.put(entry.getKey(), null); +} else if (entry.getValue().getValueType().equals(JsonValue.ValueType.NUMBER)) { +try { +Number n = numberFormat.parse(entry.getValue().toString()); +info.put(entry.getKey(), n); +} catch (ParseException e) { +throw new IllegalStateException("Failed to read queue item", e); +} +} else { +info.put(entry.getKey(), ((JsonString) entry.getValue()).getString()); +} +} + +return new DistributionQueueItem(packageId
svn commit: r1805423 - /sling/site/trunk/content/documentation/bundles/repository-initialization.mdtext
Author: tmaret Date: Fri Aug 18 13:20:34 2017 New Revision: 1805423 URL: http://svn.apache.org/viewvc?rev=1805423=rev Log: SLING-6984 - Allow to disable service user * Add an example Modified: sling/site/trunk/content/documentation/bundles/repository-initialization.mdtext Modified: sling/site/trunk/content/documentation/bundles/repository-initialization.mdtext URL: http://svn.apache.org/viewvc/sling/site/trunk/content/documentation/bundles/repository-initialization.mdtext?rev=1805423=1805422=1805423=diff == --- sling/site/trunk/content/documentation/bundles/repository-initialization.mdtext (original) +++ sling/site/trunk/content/documentation/bundles/repository-initialization.mdtext Fri Aug 18 13:20:34 2017 @@ -95,6 +95,10 @@ The language is self-explaining but plea create user demoUser with password {SHA-256} dc460da4ad72c482231e28e688e01f2778a88ce31a08826899d54ef7183998b5 +# disable service user +create service user deprecated_service_user +disable service user deprecated_service_user : "Disabled user to make an example" + create service user the-last-one ## Providing repoinit statements from the Sling provisioning model or other URLs
svn commit: r1805421 - in /sling/trunk/bundles: extensions/repoinit/it/src/main/provisioning/ extensions/repoinit/it/src/test/java/org/apache/sling/repoinit/it/ extensions/repoinit/parser/src/main/jav
Author: tmaret Date: Fri Aug 18 13:11:46 2017 New Revision: 1805421 URL: http://svn.apache.org/viewvc?rev=1805421=rev Log: SLING-6984 - Allow to disable service user * Implement UserVisitor#visitDisableServiceUser * Add integration test Modified: sling/trunk/bundles/extensions/repoinit/it/src/main/provisioning/repoinit.txt sling/trunk/bundles/extensions/repoinit/it/src/test/java/org/apache/sling/repoinit/it/ProvisioningModelIT.java sling/trunk/bundles/extensions/repoinit/it/src/test/java/org/apache/sling/repoinit/it/U.java sling/trunk/bundles/extensions/repoinit/parser/src/main/java/org/apache/sling/repoinit/parser/operations/DisableServiceUser.java sling/trunk/bundles/jcr/repoinit/src/main/java/org/apache/sling/jcr/repoinit/impl/UserUtil.java sling/trunk/bundles/jcr/repoinit/src/main/java/org/apache/sling/jcr/repoinit/impl/UserVisitor.java Modified: sling/trunk/bundles/extensions/repoinit/it/src/main/provisioning/repoinit.txt URL: http://svn.apache.org/viewvc/sling/trunk/bundles/extensions/repoinit/it/src/main/provisioning/repoinit.txt?rev=1805421=1805420=1805421=diff == --- sling/trunk/bundles/extensions/repoinit/it/src/main/provisioning/repoinit.txt (original) +++ sling/trunk/bundles/extensions/repoinit/it/src/main/provisioning/repoinit.txt Fri Aug 18 13:11:46 2017 @@ -45,6 +45,9 @@ set ACL for userFromProvisioningModel deny jcr:write on /repoinit/fromProvisioningModel end +create service user thirdUserFromProvisioningModel +disable service user thirdUserFromProvisioningModel : "Disabled for testing reason" + register namespace (slingtest) http://sling.apache.org/ns/test/repoinit-it/v1.0 register nodetypes Modified: sling/trunk/bundles/extensions/repoinit/it/src/test/java/org/apache/sling/repoinit/it/ProvisioningModelIT.java URL: http://svn.apache.org/viewvc/sling/trunk/bundles/extensions/repoinit/it/src/test/java/org/apache/sling/repoinit/it/ProvisioningModelIT.java?rev=1805421=1805420=1805421=diff == --- sling/trunk/bundles/extensions/repoinit/it/src/test/java/org/apache/sling/repoinit/it/ProvisioningModelIT.java (original) +++ sling/trunk/bundles/extensions/repoinit/it/src/test/java/org/apache/sling/repoinit/it/ProvisioningModelIT.java Fri Aug 18 13:11:46 2017 @@ -37,6 +37,7 @@ public class ProvisioningModelIT { private static final String TEST_PATH = "/repoinit/fromProvisioningModel"; private static final String TEST_USER = "userFromProvisioningModel"; private static final String SECOND_TEST_USER = "secondUserFromProvisioningModel"; +private static final String THIRD_TEST_USER = "thirdUserFromProvisioningModel"; private final String uniqueID = UUID.randomUUID().toString(); @Rule @@ -58,6 +59,13 @@ public class ProvisioningModelIT { public void usersCreated() throws Exception { assertTrue("Expecting user " + TEST_USER, U.userExists(session, TEST_USER)); assertTrue("Expecting user " + SECOND_TEST_USER, U.userExists(session, SECOND_TEST_USER)); +assertTrue("Expecting user " + THIRD_TEST_USER, U.userExists(session, THIRD_TEST_USER)); +} + +@Test +public void userDisabled() throws Exception { +assertTrue(String.format("Expecting user %s to be disabled", THIRD_TEST_USER), U.userIsDisabled(session, THIRD_TEST_USER)); +assertFalse(String.format("Expecting user %s to be enabled", TEST_USER), U.userIsDisabled(session,TEST_USER)); } @Test Modified: sling/trunk/bundles/extensions/repoinit/it/src/test/java/org/apache/sling/repoinit/it/U.java URL: http://svn.apache.org/viewvc/sling/trunk/bundles/extensions/repoinit/it/src/test/java/org/apache/sling/repoinit/it/U.java?rev=1805421=1805420=1805421=diff == --- sling/trunk/bundles/extensions/repoinit/it/src/test/java/org/apache/sling/repoinit/it/U.java (original) +++ sling/trunk/bundles/extensions/repoinit/it/src/test/java/org/apache/sling/repoinit/it/U.java Fri Aug 18 13:11:46 2017 @@ -28,6 +28,7 @@ import javax.jcr.SimpleCredentials; import org.apache.jackrabbit.api.JackrabbitSession; import org.apache.jackrabbit.api.security.user.Authorizable; +import org.apache.jackrabbit.api.security.user.User; /** Test utilities */ public class U { @@ -35,7 +36,18 @@ public class U { final Authorizable a = ((JackrabbitSession)session).getUserManager().getAuthorizable(id); return a != null; } - + +public static boolean userIsDisabled(Session session, String id) throws RepositoryException { +final Authorizable a = ((JackrabbitSession)session).getUserManager().getAuthorizable(id); +if (a == null) { +
svn commit: r1805305 - /sling/site/trunk/content/documentation/bundles/content-distribution.mdtext
Author: tmaret Date: Thu Aug 17 15:50:56 2017 New Revision: 1805305 URL: http://svn.apache.org/viewvc?rev=1805305=rev Log: SLING-5755 - Complete Distribution documentation Modified: sling/site/trunk/content/documentation/bundles/content-distribution.mdtext Modified: sling/site/trunk/content/documentation/bundles/content-distribution.mdtext URL: http://svn.apache.org/viewvc/sling/site/trunk/content/documentation/bundles/content-distribution.mdtext?rev=1805305=1805304=1805305=diff == --- sling/site/trunk/content/documentation/bundles/content-distribution.mdtext (original) +++ sling/site/trunk/content/documentation/bundles/content-distribution.mdtext Thu Aug 17 15:50:56 2017 @@ -33,6 +33,13 @@ A forward distribution setup allows one org.apache.sling.distribution.packaging.impl.importer.LocalDistributionPackageImporterFactory-default name="default" + Trigger forward distribution + +Forward distribution can be triggered by sending a `POST` HTTP request to the agent resource on the source instance with the parameter `action=ADD` and parameters `path=`. + +The example below distributes the path `/content/sample1` + +$ curl -v -u admin:admin http://localhost:8080/libs/sling/distribution/services/agents/publish -d 'action=ADD' -d 'path=/content/sample1' ### Reverse distribution @@ -63,6 +70,13 @@ A reverse distribution setup allows one agent.target="(name=reverse)" + Trigger reverse distribution + +Reverse distribution can be triggered by sending a `POST` HTTP request to the agent resource on the target instance with the parameter `action=PULL`. + +The example below adds the the path `/content/sample1` and then reverse distribute it. + +$ curl -v -u admin:admin http://localhost:8081/libs/sling/distribution/services/agents/publish -d 'action=PULL' -d 'path=/content/sample1' ### Sync distribution @@ -161,11 +175,42 @@ A multidatacenter sync distribution setu ## Additional options -### How to trigger distribution over HTTP? - ### How to configure binary-less distribution? -### How to configure priority paths? +Binary-less distribution is supported for deployments over a shared data store and involving agents that leverage the +Vault based Distribution package exporter (Factory PID: +org.apache.sling.distribution.serialization.impl.vlt.VaultDistributionPackageBuilderFactory) package builder. + +With binary-less mode enabled, the content packages distributed contain references to binaries rather than +the actual binaries. + +SCD does not explicitly deal with binary references. Instead, it configures Apache Jackrabbit FileVault +export options in order to assemble/import binary references. + +Upon import, if a referenced binary is not visible on the destination instance, SCD will retry distributing the content package +after a delay has elapsed. + +Binary-less is configured by setting the 'useReferences' to true on the VaultDistributionPackageBuilderFactory. + +### How to configure priority queue? + +SCD agents allow to prioritize the distribution of content depending on its path. +This feature improves the delays in use cases where a subset of the content to be distributed must meet tighter delay +than the remaining one (e.g. news flash). + +Each agent can be configured with one or more priority queues. + +In order to setup the priority queues, configure the 'priorityQueues' agent property by providing the queuePrefix and path regular expression. + +### How to configure retry strategy? + +The agent behaviour upon failed distribution request can be configured via the Retry Strategy 'retry.strategy' and +'retry.attempts' properties. -### How to configure error queues? +With the 'none' strategy, an agent will retry distributing an item forever, blocking the queue until the distribution succeeds. +The 'none' strategy guarantees the distribution order but may block the queue until someone resolves the situation. +With the 'errorQueue' strategy, an agent will automatically create an additional error queue. The agent will +retry up to 'retry.attempts' attempts then move the failed item to the error queue. The error queue is passive and allow +to keep track of the failed distribution item for post analysis. +The 'errorQueue' strategy does not guarantee the distribution order, but it guarantee that the queue is stuck for a bounded number of retries.
svn commit: r1802937 - /sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/component/impl/DefaultDistributionComponentProvider.java
Author: tmaret Date: Tue Jul 25 13:26:35 2017 New Revision: 1802937 URL: http://svn.apache.org/viewvc?rev=1802937=rev Log: SLING-7020 - DefaultDistributionComponentProvider is causing an NPE when agents are listed * Add mapping for missing component kinds (DistributionRequestAuthorizationStrategy, DistributionTrigger) Modified: sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/component/impl/DefaultDistributionComponentProvider.java 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=1802937=1802936=1802937=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 Tue Jul 25 13:26:35 2017 @@ -32,12 +32,14 @@ import org.apache.felix.scr.annotations. import org.apache.felix.scr.annotations.Service; import org.apache.sling.commons.osgi.PropertiesUtil; import org.apache.sling.distribution.agent.DistributionAgent; +import org.apache.sling.distribution.agent.impl.DistributionRequestAuthorizationStrategy; import org.apache.sling.distribution.packaging.DistributionPackageBuilder; import org.apache.sling.distribution.packaging.DistributionPackageExporter; import org.apache.sling.distribution.packaging.DistributionPackageImporter; import org.apache.sling.distribution.queue.DistributionQueueProvider; import org.apache.sling.distribution.queue.impl.DistributionQueueDispatchingStrategy; import org.apache.sling.distribution.transport.DistributionTransportSecretProvider; +import org.apache.sling.distribution.trigger.DistributionTrigger; /** * {@link DistributionComponentProvider} OSGi service. @@ -51,6 +53,8 @@ import org.apache.sling.distribution.tra @Reference(name = "distributionQueueProvider", referenceInterface = DistributionQueueProvider.class, cardinality = ReferenceCardinality.OPTIONAL_MULTIPLE, policy = ReferencePolicy.DYNAMIC), @Reference(name = "distributionQueueDistributionStrategy", referenceInterface = DistributionQueueDispatchingStrategy.class, cardinality = ReferenceCardinality.OPTIONAL_MULTIPLE, policy = ReferencePolicy.DYNAMIC), @Reference(name = "distributionTransportSecretProvider", referenceInterface = DistributionTransportSecretProvider.class, cardinality = ReferenceCardinality.OPTIONAL_MULTIPLE, policy = ReferencePolicy.DYNAMIC), +@Reference(name = "distributionTrigger", referenceInterface = DistributionTrigger.class, cardinality = ReferenceCardinality.OPTIONAL_MULTIPLE, policy = ReferencePolicy.DYNAMIC), +@Reference(name = "distributionRequestAuthorizationStrategy", referenceInterface = DistributionRequestAuthorizationStrategy.class, cardinality = ReferenceCardinality.OPTIONAL_MULTIPLE, policy = ReferencePolicy.DYNAMIC), @Reference(name = "distributionPackageBuilder", referenceInterface = DistributionPackageBuilder.class, cardinality = ReferenceCardinality.OPTIONAL_MULTIPLE, policy = ReferencePolicy.DYNAMIC) }) @Service(DistributionComponentProvider.class) @@ -72,6 +76,10 @@ public class DefaultDistributionComponen private final Map<String, DistributionComponent> distributionPackageBuilderMap = new ConcurrentHashMap<String, DistributionComponent>(); +private final Map<String, DistributionComponent> distributionTriggerMap = new ConcurrentHashMap<String, DistributionComponent>(); + +private final Map<String, DistributionComponent> distributionRequestAuthorizationStrategy = new ConcurrentHashMap<String, DistributionComponent>(); + public DistributionComponent getComponent(DistributionComponentKind kind, String componentName) { Map<String, DistributionComponent> componentMap = getComponentMap(kind.asClass()); return componentMap.get(componentName); @@ -114,9 +122,13 @@ public class DefaultDistributionComponen return (Map) distributionTransportSecretProviderMap; } else if (type.isAssignableFrom(DistributionPackageBuilder.class)) { return (Map) distributionPackageBuilderMap; +} else if (type.isAssignableFrom(DistributionTrigger.class)) { +return (Map) distributionTriggerMap; +} else if (type.isAssignableFrom(DistributionRequestAuthorizationStrategy.class)) { +return (Map) distributionRequestAuthorization
svn commit: r1802847 - /sling/trunk/contrib/extensions/distribution/README.md
Author: tmaret Date: Mon Jul 24 18:08:43 2017 New Revision: 1802847 URL: http://svn.apache.org/viewvc?rev=1802847=rev Log: SLING-5755 - Complete Distribution documentation * Fix curl command examples 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=1802847=1802846=1802847=diff == --- sling/trunk/contrib/extensions/distribution/README.md (original) +++ sling/trunk/contrib/extensions/distribution/README.md Mon Jul 24 18:08:43 2017 @@ -79,15 +79,19 @@ For example a "forward" agent can be def The sample package contains endpoints for exposing configuration for distribution agents. The _DistributionConfigurationResourceProviderFactory_ is used to expose agent configurations as resources. +``` { "jcr:primaryType": "sling:OsgiConfig", "provider.roots": [ "/libs/sling/distribution/settings/agents" ], "kind" : "agent" } +``` Distribution agents' configurations can be retrieved via `HTTP GET`: -- `http -a admin:admin -v -f GET http://localhost:8080/libs/sling/distribution/settings/agents/{agentName}` +``` +$ curl -u admin:admin http://localhost:8080/libs/sling/distribution/settings/agents/{agentName}.json +``` ### Distribution agents services @@ -97,12 +101,13 @@ The _DistributionConfigurationResourcePr The sample package contains endpoints for exposing distribution agents. The _DistributionServiceResourceProviderFactory_ is used to expose agent services as resources. +``` { "jcr:primaryType": "sling:OsgiConfig", "provider.roots": [ "/libs/sling/distribution/services/agents" ], "kind" : "agent" } - +``` Distribution agents can be triggered by sending `HTTP POST` requests to @@ -148,11 +153,17 @@ In order to configure the "forward" dist Send `HTTP POST`request to `http://localhost:8080/libs/sling/distribution/services/agents/publish` with parameters `action=ADD` and `path=/content` -- create/update content -```http -a admin:admin -v -f POST http://localhost:8080/libs/sling/distribution/services/agents/publish action=ADD path=/content/sample1``` -- delete content -```http -a admin:admin -v -f POST http://localhost:8080/libs/sling/distribution/services/agents/publish action=DELETE path=/content/sample1``` + Create/update content + +``` +$ curl -v -u admin:admin http://localhost:8080/libs/sling/distribution/services/agents/publish -d 'action=ADD' -d 'path=/content/sample1' +``` + + Delete content +``` +$ curl -v -u admin:admin http://localhost:8080/libs/sling/distribution/services/agents/publish -d 'action= DELETE' -d 'path=/content/sample1' +``` ### Reverse distribution @@ -164,10 +175,12 @@ In order to configure the "reverse" dist Send `HTTP POST`request to `http://localhost:8080/libs/sling/distribution/services/agents/publish-reverse` with parameters `action=PULL` -- create/update content + Create/update content -```http -a admin:admin -v -f POST http://localhost:8081/libs/sling/distribution/services/agents/reverse action=ADD path=/content/sample1``` -```http -a admin:admin -v -f POST http://localhost:8080/libs/sling/distribution/services/agents/publish-reverse action=PULL``` +``` +$ curl -u admin:admin http://localhost:8081/libs/sling/distribution/services/agents/reverse -d 'action=ADD' -d 'path=/content/sample1' +$ curl -u admin:admin http://localhost:8080/libs/sling/distribution/services/agents/publish-reverse -d 'action=PULL' +``` ### Sync distribution @@ -180,12 +193,12 @@ In order to configure the "sync" distrib Send `HTTP POST`request to `http://localhost:8080/libs/sling/distribution/services/agents/pubsync` with parameters `action=PULL` -- create/update content - -```http -a admin:admin -v -f POST http://localhost:8081/libs/sling/distribution/services/agents/reverse-pubsync action=ADD path=/content/sample1``` -```http -a admin:admin -v -f POST http://localhost:8080/libs/sling/distribution/services/agents/pubsync action=PULL``` - + Create/update content +``` +$ curl -u admin:admin http://localhost:8081/libs/sling/distribution/services/agents/reverse-pubsync -d 'action=ADD' -d 'path=/content/sample1' +$ curl -u admin:admin http://localhost:8080/libs/sling/distribution/services/agents/pubsync -d 'action=PULL' +``` ### Installation
svn commit: r1800157 - /sling/trunk/contrib/extensions/distribution/it/pom.xml
Author: tmaret Date: Wed Jun 28 12:53:45 2017 New Revision: 1800157 URL: http://svn.apache.org/viewvc?rev=1800157=rev Log: SLING-6933 - [Performance] Leverage JCRVLT hollow packages * update file vault for the IT tests 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=1800157=1800156=1800157=diff == --- sling/trunk/contrib/extensions/distribution/it/pom.xml (original) +++ sling/trunk/contrib/extensions/distribution/it/pom.xml Wed Jun 28 12:53:45 2017 @@ -364,7 +364,7 @@ org.apache.jackrabbit.vault org.apache.jackrabbit.vault -3.1.30 +3.1.40 provided
svn commit: r1800142 - in /sling/trunk/contrib/extensions/distribution/core: ./ src/main/java/org/apache/sling/distribution/serialization/impl/vlt/ src/test/java/org/apache/sling/distribution/serializ
Author: tmaret Date: Wed Jun 28 10:09:41 2017 New Revision: 1800142 URL: http://svn.apache.org/viewvc?rev=1800142=rev Log: SLING-6933 - [Performance] Leverage JCRVLT hollow packages * Install content packages directly from an InputStream without temporary file Modified: sling/trunk/contrib/extensions/distribution/core/pom.xml 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/VltUtils.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/pom.xml URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/pom.xml?rev=1800142=1800141=1800142=diff == --- sling/trunk/contrib/extensions/distribution/core/pom.xml (original) +++ sling/trunk/contrib/extensions/distribution/core/pom.xml Wed Jun 28 10:09:41 2017 @@ -164,6 +164,12 @@ 1.0.0 test + +org.apache.sling +org.apache.sling.commons.testing +2.0.26 +test + org.apache.sling 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=1800142=1800141=1800142=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 Wed Jun 28 10:09:41 2017 @@ -20,28 +20,24 @@ package org.apache.sling.distribution.se import javax.jcr.RepositoryException; import javax.jcr.Session; -import java.io.BufferedOutputStream; -import java.io.File; -import java.io.FileOutputStream; import java.io.InputStream; import java.io.OutputStream; import java.util.List; import java.util.TreeMap; import java.util.UUID; -import org.apache.commons.io.FileUtils; -import org.apache.commons.io.IOUtils; import org.apache.jackrabbit.vault.fs.api.ImportMode; import org.apache.jackrabbit.vault.fs.api.WorkspaceFilter; import org.apache.jackrabbit.vault.fs.io.AccessControlHandling; +import org.apache.jackrabbit.vault.fs.io.Archive; import org.apache.jackrabbit.vault.fs.io.ImportOptions; +import org.apache.jackrabbit.vault.fs.io.Importer; +import org.apache.jackrabbit.vault.fs.io.ZipStreamArchive; import org.apache.jackrabbit.vault.packaging.ExportOptions; -import org.apache.jackrabbit.vault.packaging.PackageManager; +import org.apache.jackrabbit.vault.packaging.PackageException; import org.apache.jackrabbit.vault.packaging.Packaging; -import org.apache.jackrabbit.vault.packaging.VaultPackage; import org.apache.sling.api.resource.ResourceResolver; import org.apache.sling.distribution.common.DistributionException; -import org.apache.sling.distribution.packaging.impl.FileDistributionPackage; import org.apache.sling.distribution.serialization.DistributionContentSerializer; import org.apache.sling.distribution.serialization.DistributionExportOptions; import org.apache.sling.distribution.util.DistributionJcrUtils; @@ -106,42 +102,28 @@ public class FileVaultContentSerializer @Override public void importFromStream(ResourceResolver resourceResolver, InputStream inputStream) throws DistributionException { - Session session = null; -OutputStream outputStream = null; -File file = null; -boolean isTmp = true; +Archive archive = null; try { session = getSession(resourceResolver); ImportOptions importOptions = VltUtils.getImportOptions(aclHandling, importMode, autosaveThreshold); - -if (inputStream instanceof FileDistributionPackage.PackageInputStream) { -file = ((FileDistributionPackage.PackageInputStream) inputStream).getFile(); -isTmp = false; -} else { -file = File.createTempFile("distrpck-tmp-" + System.nanoTime(), "." + TYPE); +Importer importer = new Importer(importOptions); +archive = new ZipStreamArchive(inputStream); +archive.open(false); +importer.run(archive, session.getRootNode()); +if
svn commit: r1799909 - in /sling/trunk/contrib/extensions/distribution/core: pom.xml src/main/java/org/apache/sling/distribution/serialization/impl/vlt/VltUtils.java
Author: tmaret Date: Mon Jun 26 13:18:13 2017 New Revision: 1799909 URL: http://svn.apache.org/viewvc?rev=1799909=rev Log: SLING-6616 - [Performance] Tweak compression levels for speed Modified: sling/trunk/contrib/extensions/distribution/core/pom.xml sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/serialization/impl/vlt/VltUtils.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=1799909=1799908=1799909=diff == --- sling/trunk/contrib/extensions/distribution/core/pom.xml (original) +++ sling/trunk/contrib/extensions/distribution/core/pom.xml Mon Jun 26 13:18:13 2017 @@ -249,7 +249,7 @@ org.apache.jackrabbit.vault org.apache.jackrabbit.vault -3.1.28 +3.1.40 Modified: sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/serialization/impl/vlt/VltUtils.java URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/serialization/impl/vlt/VltUtils.java?rev=1799909=1799908=1799909=diff == --- sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/serialization/impl/vlt/VltUtils.java (original) +++ sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/serialization/impl/vlt/VltUtils.java Mon Jun 26 13:18:13 2017 @@ -35,6 +35,7 @@ import java.util.NavigableMap; import java.util.Properties; import java.util.Set; import java.util.TreeMap; +import java.util.zip.Deflater; import org.apache.commons.io.FileUtils; import org.apache.commons.io.IOUtils; @@ -155,6 +156,11 @@ public class VltUtils { opts.setRootPath(root); opts.setMountPath(root); +// Set the zlib compression level to "best speed" +// This level enables the FileVault improvement +// covered by JCRVLT-163. +opts.setCompressionLevel(Deflater.BEST_SPEED); + return opts; }
svn commit: r1799406 - /sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/transport/impl/SimpleHttpDistributionTransport.java
Author: tmaret Date: Wed Jun 21 09:03:42 2017 New Revision: 1799406 URL: http://svn.apache.org/viewvc?rev=1799406=rev Log: SLING-6969 - Support OAuth 2.0 server to server authentication in Distribution transport * Add support for authorization header provided via the DistributionTransportSecret's credential map 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=1799406=1799405=1799406=diff == --- sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/transport/impl/SimpleHttpDistributionTransport.java (original) +++ sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/transport/impl/SimpleHttpDistributionTransport.java Wed Jun 21 09:03:42 2017 @@ -22,10 +22,12 @@ import javax.annotation.Nonnull; import javax.annotation.Nullable; import java.io.InputStream; import java.net.URI; +import java.util.Collections; import java.util.Map; import java.util.UUID; import org.apache.commons.io.IOUtils; +import org.apache.http.HttpHeaders; import org.apache.http.HttpHost; import org.apache.http.client.HttpResponseException; import org.apache.http.client.fluent.Executor; @@ -33,6 +35,9 @@ 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.impl.client.HttpClientBuilder; +import org.apache.http.impl.client.HttpClients; +import org.apache.http.message.BasicHeader; import org.apache.http.protocol.HTTP; import org.apache.sling.api.resource.ResourceResolver; import org.apache.sling.distribution.DistributionRequest; @@ -53,8 +58,24 @@ import org.apache.sling.distribution.uti */ public class SimpleHttpDistributionTransport implements DistributionTransport { +/** + * The key name of an entry holding a username associated to the #PASSWORD in + * the {@link DistributionTransportSecret}'s credentials map. + */ private static final String USERNAME = "username"; + +/** + * The key name of an entry holding a password associated to the #USERNAME in + * the {@link DistributionTransportSecret}'s credentials map. + */ private static final String PASSWORD = "password"; + +/** + * The key name of an entry holding an Authorization header in + * the {@link DistributionTransportSecret}'s credentials map. + */ +private static final String AUTHORIZATION = "authorization"; + private static final String EXECUTOR_CONTEXT_KEY_PREFIX = "ExecutorContextKey"; /** @@ -179,36 +200,50 @@ public class SimpleHttpDistributionTrans return null; } -private Executor authenticate(DistributionTransportSecret secret, Executor executor) { -Map<String, String> credentialsMap = secret.asCredentialsMap(); -if (credentialsMap != null) { -URI uri = distributionEndpoint.getUri(); -executor = executor.auth(new HttpHost(uri.getHost(), uri.getPort(), uri.getScheme()), -credentialsMap.get(USERNAME), credentialsMap.get(PASSWORD)).authPreemptive( -new HttpHost(uri.getHost(), uri.getPort(), uri.getScheme())); -log.debug("authenticate user={}, endpoint={}", secret.asCredentialsMap().get(USERNAME), distributionEndpoint.getUri()); -} -return executor; -} - private String getHostAndPort(URI uri) { return uri.getHost() + ":" + uri.getPort(); } private Executor getExecutor(DistributionTransportContext distributionContext) { -if (distributionContext.containsKey(contextKeyExecutor)) { -return distributionContext.get(contextKeyExecutor, Executor.class); +Executor executor = distributionContext.get(contextKeyExecutor, Executor.class); +if (executor == null) { +executor = buildExecutor(); +distributionContext.put(contextKeyExecutor, executor); } +return executor; +} -Executor executor = Executor.newInstance(); +private Executor buildAuthExecutor(String username, String password) { +URI uri = distributionEndpoint.getUri(); +Executor executor = Executor.newInstance() +.auth(new HttpHost(uri.getHost(), uri.getPort(), uri.getScheme()), username, password) +.authPr
svn commit: r1797988 - /sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/agent/impl/ImportingDistributionPackageProcessor.java
Author: tmaret Date: Wed Jun 7 19:29:03 2017 New Revision: 1797988 URL: http://svn.apache.org/viewvc?rev=1797988=rev Log: SLING-6939 - sling distribution leaks jcr sessions * ImportingDistributionPackageProcessor does not release resource resolver Modified: sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/agent/impl/ImportingDistributionPackageProcessor.java Modified: sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/agent/impl/ImportingDistributionPackageProcessor.java URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/agent/impl/ImportingDistributionPackageProcessor.java?rev=1797988=1797987=1797988=diff == --- sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/agent/impl/ImportingDistributionPackageProcessor.java (original) +++ sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/agent/impl/ImportingDistributionPackageProcessor.java Wed Jun 7 19:29:03 2017 @@ -67,14 +67,15 @@ class ImportingDistributionPackageProces @Override public void process(DistributionPackage distributionPackage) { final long startTime = System.currentTimeMillis(); +ResourceResolver agentResourceResolver = null; try { // set up original calling RR -ResourceResolver resourceResolver = DistributionUtils.getResourceResolver(callingUser, authenticationInfo.getAgentService(), +agentResourceResolver = DistributionUtils.getResourceResolver(callingUser, authenticationInfo.getAgentService(), authenticationInfo.getSlingRepository(), authenticationInfo.getSubServiceName(), authenticationInfo.getResourceResolverFactory()); // perform importing -distributionPackageImporter.importPackage(resourceResolver, distributionPackage); +distributionPackageImporter.importPackage(agentResourceResolver, distributionPackage); // collect stats packagesSize.addAndGet(distributionPackage.getSize()); @@ -90,6 +91,8 @@ class ImportingDistributionPackageProces } catch (DistributionException e) { log.error("an error happened during package import", e); allResponses.add(new SimpleDistributionResponse(DistributionRequestState.DROPPED, e.toString())); +} finally { +DistributionUtils.ungetResourceResolver(agentResourceResolver); } }
svn commit: r1797982 - /sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/util/impl/DistributionUtils.java
Author: tmaret Date: Wed Jun 7 18:12:34 2017 New Revision: 1797982 URL: http://svn.apache.org/viewvc?rev=1797982=rev Log: SLING-6939 - sling distribution leaks jcr sessions Modified: 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/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=1797982=1797981=1797982=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 Wed Jun 7 18:12:34 2017 @@ -28,16 +28,13 @@ import org.apache.sling.jcr.api.SlingRep import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import javax.jcr.RepositoryException; import javax.jcr.Session; -import javax.jcr.SimpleCredentials; import java.util.HashMap; 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>(); @@ -84,16 +81,7 @@ public class DistributionUtils { try { Map<String, Object> authenticationInfo = new HashMap<String, Object>(); -if (subServiceName == null && user != null) { -try { -Session session = slingRepository.impersonateFromService(service, new SimpleCredentials(user, new char[0]), null); -authenticationInfo.put(AUTHENTICATION_INFO_SESSION, session); -} catch (NoSuchMethodError nsme) { -log.warn("without sling.jcr.api 2.3.0 content will be aggregated using service {}", service); -Session session = slingRepository.loginService(service, null); -authenticationInfo.put(AUTHENTICATION_INFO_SESSION, session); -} -} else { +if (subServiceName != null) { authenticationInfo.put(ResourceResolverFactory.SUBSERVICE, subServiceName); } resourceResolver = resourceResolverFactory.getServiceResourceResolver(authenticationInfo); @@ -101,8 +89,6 @@ public class DistributionUtils { return resourceResolver; } catch (LoginException le) { throw new DistributionException(le); -} catch (RepositoryException re) { -throw new DistributionException(re); } } }
svn commit: r1797909 - in /sling/trunk/contrib/extensions/distribution: avro-serializer/pom.xml it/pom.xml kryo-serializer/pom.xml
Author: tmaret Date: Wed Jun 7 10:48:54 2017 New Revision: 1797909 URL: http://svn.apache.org/viewvc?rev=1797909=rev Log: use latest org.apache.sling.distribution.core snapshot dependency Modified: sling/trunk/contrib/extensions/distribution/avro-serializer/pom.xml sling/trunk/contrib/extensions/distribution/it/pom.xml sling/trunk/contrib/extensions/distribution/kryo-serializer/pom.xml Modified: sling/trunk/contrib/extensions/distribution/avro-serializer/pom.xml URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/avro-serializer/pom.xml?rev=1797909=1797908=1797909=diff == --- sling/trunk/contrib/extensions/distribution/avro-serializer/pom.xml (original) +++ sling/trunk/contrib/extensions/distribution/avro-serializer/pom.xml Wed Jun 7 10:48:54 2017 @@ -187,7 +187,7 @@ org.apache.sling org.apache.sling.distribution.core -0.2.7-SNAPSHOT +0.2.9-SNAPSHOT org.apache.sling Modified: sling/trunk/contrib/extensions/distribution/it/pom.xml URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/it/pom.xml?rev=1797909=1797908=1797909=diff == --- sling/trunk/contrib/extensions/distribution/it/pom.xml (original) +++ sling/trunk/contrib/extensions/distribution/it/pom.xml Wed Jun 7 10:48:54 2017 @@ -457,7 +457,7 @@ org.apache.sling org.apache.sling.distribution.core -0.2.7-SNAPSHOT +0.2.9-SNAPSHOT org.apache.sling Modified: sling/trunk/contrib/extensions/distribution/kryo-serializer/pom.xml URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/kryo-serializer/pom.xml?rev=1797909=1797908=1797909=diff == --- sling/trunk/contrib/extensions/distribution/kryo-serializer/pom.xml (original) +++ sling/trunk/contrib/extensions/distribution/kryo-serializer/pom.xml Wed Jun 7 10:48:54 2017 @@ -162,7 +162,7 @@ org.apache.sling org.apache.sling.distribution.core -0.2.7-SNAPSHOT +0.2.9-SNAPSHOT provided
svn commit: r1791766 - in /sling/trunk/contrib/extensions/distribution/core/src: main/java/org/apache/sling/distribution/serialization/impl/vlt/VltUtils.java test/java/org/apache/sling/distribution/se
Author: tmaret Date: Tue Apr 18 09:24:09 2017 New Revision: 1791766 URL: http://svn.apache.org/viewvc?rev=1791766=rev Log: SLING-6781 - VltUtils only keep the last filter for a given path Modified: 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/serialization/impl/vlt/VltUtilsTest.java Modified: sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/serialization/impl/vlt/VltUtils.java URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/serialization/impl/vlt/VltUtils.java?rev=1791766=1791765=1791766=diff == --- sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/serialization/impl/vlt/VltUtils.java (original) +++ sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/serialization/impl/vlt/VltUtils.java Tue Apr 18 09:24:09 2017 @@ -318,7 +318,10 @@ public class VltUtils { continue; } -List filterSet = new ArrayList(); +List filterSet = result.get(path); +if (filterSet == null) { +filterSet = new ArrayList(); +} for (int i = 1; i < filterParts.length; i++) { String filterPart = SettingsUtils.removeEmptyEntry(filterParts[i]); Modified: sling/trunk/contrib/extensions/distribution/core/src/test/java/org/apache/sling/distribution/serialization/impl/vlt/VltUtilsTest.java URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/test/java/org/apache/sling/distribution/serialization/impl/vlt/VltUtilsTest.java?rev=1791766=1791765=1791766=diff == --- sling/trunk/contrib/extensions/distribution/core/src/test/java/org/apache/sling/distribution/serialization/impl/vlt/VltUtilsTest.java (original) +++ sling/trunk/contrib/extensions/distribution/core/src/test/java/org/apache/sling/distribution/serialization/impl/vlt/VltUtilsTest.java Tue Apr 18 09:24:09 2017 @@ -20,6 +20,7 @@ package org.apache.sling.distribution.se import java.util.Arrays; import java.util.List; +import java.util.Map; import java.util.NavigableMap; import java.util.TreeMap; @@ -84,4 +85,32 @@ public class VltUtilsTest { assertTrue(filter.matches("/foo/bar/prop1")); assertTrue(filter.matches("/foo/prop1")); } + +@Test +public void testFilterParsing() throws Exception { +Map<String, List> filters = VltUtils.parseFilters( +new String[]{"/some/path|-.*/foo"}); +assertNotNull(filters); +assertEquals(1, filters.size()); +List filtersForSomePath = filters.get("/some/path"); +assertNotNull(filtersForSomePath); +assertEquals(1, filtersForSomePath.size()); +assertEquals("-.*/foo", filtersForSomePath.get(0)); +} + +/** + * see SLING-6781 + */ +@Test +public void testFilterParsingWithSamePath() throws Exception { +Map<String, List> filters = VltUtils.parseFilters( +new String[]{"/some/path|-.*/foo","/some/path|-.*/bar"}); +assertNotNull(filters); +assertEquals(1, filters.size()); +List filtersForSomePath = filters.get("/some/path"); +assertNotNull(filtersForSomePath); +assertEquals(2, filtersForSomePath.size()); +assertEquals("-.*/foo", filtersForSomePath.get(0)); +assertEquals("-.*/bar", filtersForSomePath.get(1)); +} } \ No newline at end of file
svn commit: r1785105 - /sling/trunk/contrib/extensions/distribution/core/pom.xml
Author: tmaret Date: Thu Mar 2 11:00:36 2017 New Revision: 1785105 URL: http://svn.apache.org/viewvc?rev=1785105=rev Log: [maven-release-plugin] prepare for next development iteration 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=1785105=1785104=1785105=diff == --- sling/trunk/contrib/extensions/distribution/core/pom.xml (original) +++ sling/trunk/contrib/extensions/distribution/core/pom.xml Thu Mar 2 11:00:36 2017 @@ -32,7 +32,7 @@ org.apache.sling.distribution.core -0.2.6 +0.2.7-SNAPSHOT bundle Apache Sling Distribution Core @@ -42,9 +42,9 @@ - scm:svn:http://svn.apache.org/repos/asf/sling/tags/org.apache.sling.distribution.core-0.2.6 - scm:svn:https://svn.apache.org/repos/asf/sling/tags/org.apache.sling.distribution.core-0.2.6 - http://svn.apache.org/viewvc/sling/tags/org.apache.sling.distribution.core-0.2.6 + scm:svn:http://svn.apache.org/repos/asf/sling/trunk/contrib/extensions/distribution/core + scm:svn:https://svn.apache.org/repos/asf/sling/trunk/contrib/extensions/distribution/core + http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core
svn commit: r1785104 - /sling/tags/org.apache.sling.distribution.core-0.2.6/
Author: tmaret Date: Thu Mar 2 11:00:32 2017 New Revision: 1785104 URL: http://svn.apache.org/viewvc?rev=1785104=rev Log: [maven-release-plugin] copy for tag org.apache.sling.distribution.core-0.2.6 Added: sling/tags/org.apache.sling.distribution.core-0.2.6/ - copied from r1785103, sling/trunk/contrib/extensions/distribution/core/
svn commit: r1785103 - /sling/trunk/contrib/extensions/distribution/core/pom.xml
Author: tmaret Date: Thu Mar 2 11:00:17 2017 New Revision: 1785103 URL: http://svn.apache.org/viewvc?rev=1785103=rev Log: [maven-release-plugin] prepare release org.apache.sling.distribution.core-0.2.6 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=1785103=1785102=1785103=diff == --- sling/trunk/contrib/extensions/distribution/core/pom.xml (original) +++ sling/trunk/contrib/extensions/distribution/core/pom.xml Thu Mar 2 11:00:17 2017 @@ -32,7 +32,7 @@ org.apache.sling.distribution.core -0.2.5-SNAPSHOT +0.2.6 bundle Apache Sling Distribution Core @@ -42,9 +42,9 @@ - scm:svn:http://svn.apache.org/repos/asf/sling/trunk/contrib/extensions/distribution/core - scm:svn:https://svn.apache.org/repos/asf/sling/trunk/contrib/extensions/distribution/core - http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core + scm:svn:http://svn.apache.org/repos/asf/sling/tags/org.apache.sling.distribution.core-0.2.6 + scm:svn:https://svn.apache.org/repos/asf/sling/tags/org.apache.sling.distribution.core-0.2.6 + http://svn.apache.org/viewvc/sling/tags/org.apache.sling.distribution.core-0.2.6
svn commit: r1785100 - in /sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl: DistributionPackageUtils.java ResourceDistributionPackageCleanup
Author: tmaret Date: Thu Mar 2 10:39:52 2017 New Revision: 1785100 URL: http://svn.apache.org/viewvc?rev=1785100=rev Log: SLING-6589 - DistributionPackageUtils#disposable should handle hanging packages 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/ResourceDistributionPackageCleanup.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=1785100=1785099=1785100=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 Thu Mar 2 10:39:52 2017 @@ -318,8 +318,16 @@ public class DistributionPackageUtils { public static boolean disposable(@Nonnull Resource resource) throws RepositoryException { Node parent = resource.adaptTo(Node.class); -Node refs = parent.getNode("refs"); -return !refs.hasNodes() && refs.hasProperty("released"); +if (parent.hasNode("refs")) { +Node refs = parent.getNode("refs"); +return !refs.hasNodes() && refs.hasProperty("released"); +} else { +// Packages without refs nodes are likely the result of the concurrency +// issue fixed in SLING-6503. Yet, we consider them non disposable. +log.warn("Package {} has no refs resource. Consider removing it explicitly.", resource.getPath()); +return false; +} + } public static void release(Resource resource, @Nonnull String[] holderNames) throws RepositoryException { Modified: sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/ResourceDistributionPackageCleanup.java URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/ResourceDistributionPackageCleanup.java?rev=1785100=1785099=1785100=diff == --- sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/ResourceDistributionPackageCleanup.java (original) +++ sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/ResourceDistributionPackageCleanup.java Thu Mar 2 10:39:52 2017 @@ -61,12 +61,16 @@ public class ResourceDistributionPackage for (Iterator pkgs = packageBuilder.getPackages(serviceResolver) ; pkgs.hasNext() ; total++) { ResourceDistributionPackage pkg = pkgs.next(); if (pkg.disposable()) { -log.trace("Delete package {}", pkg.getId()); +log.debug("Delete package {}", pkg.getId()); deleted++; pkg.delete(false); +} else { +log.debug("package {} is not disposable", pkg.getId()); } } -serviceResolver.commit(); +if (serviceResolver.hasChanges()) { +serviceResolver.commit(); +} log.debug("Cleaned up {}/{} {} packages", new Object[]{deleted, total, packageBuilder.getType()}); } catch (LoginException e) {
svn commit: r1784741 - in /sling/site/trunk/content/documentation: bundles/apache-sling-eventing-and-job-handling.mdtext tutorials-how-tos/how-to-manage-events-in-sling.mdtext
Author: tmaret Date: Tue Feb 28 14:16:09 2017 New Revision: 1784741 URL: http://svn.apache.org/viewvc?rev=1784741=rev Log: SLING-6575 - Job delivery guarantee should be described as "at least once" Modified: sling/site/trunk/content/documentation/bundles/apache-sling-eventing-and-job-handling.mdtext sling/site/trunk/content/documentation/tutorials-how-tos/how-to-manage-events-in-sling.mdtext Modified: sling/site/trunk/content/documentation/bundles/apache-sling-eventing-and-job-handling.mdtext URL: http://svn.apache.org/viewvc/sling/site/trunk/content/documentation/bundles/apache-sling-eventing-and-job-handling.mdtext?rev=1784741=1784740=1784741=diff == --- sling/site/trunk/content/documentation/bundles/apache-sling-eventing-and-job-handling.mdtext (original) +++ sling/site/trunk/content/documentation/bundles/apache-sling-eventing-and-job-handling.mdtext Tue Feb 28 14:16:09 2017 @@ -23,7 +23,7 @@ In general, the eventing mechanism (OSGi On the other hand, there are use cases where the guarantee of processing is a must and usually this comes with the requirement of processing exactly once. Typical examples are sending notification emails (or sms), post processing of content (like thumbnail generation of images or documents), workflow steps etc. The Sling Event Support adds the notion of a job. A job is a special event that has to be processed exactly once. -To be precise, the processing guarantee is at most once. However, the time window for a single job where exactly +To be precise, the processing guarantee is at least once. However, the time window for a single job where exactly once can't be guaranteed is very small. It happens if the instance which processes a job crashes after the job processing is finished but before this state is persisted. Therefore a job consumer should be prepared to process a job more than once. Of course, if there is no job consumer for a job, the job is never processed. However this Modified: sling/site/trunk/content/documentation/tutorials-how-tos/how-to-manage-events-in-sling.mdtext URL: http://svn.apache.org/viewvc/sling/site/trunk/content/documentation/tutorials-how-tos/how-to-manage-events-in-sling.mdtext?rev=1784741=1784740=1784741=diff == --- sling/site/trunk/content/documentation/tutorials-how-tos/how-to-manage-events-in-sling.mdtext (original) +++ sling/site/trunk/content/documentation/tutorials-how-tos/how-to-manage-events-in-sling.mdtext Tue Feb 28 14:16:09 2017 @@ -1,6 +1,6 @@ Title: How to Manage Job in Sling -Apache Sling supports the execution of jobs with the guarantee of processing the job at most once. This can be seen as an extensions of the OSGi event admin, although jobs are not started or processed by OSGi events leveraging the OSGi event admin. +Apache Sling supports the execution of jobs with the guarantee of processing the job at least once. This can be seen as an extensions of the OSGi event admin, although jobs are not started or processed by OSGi events leveraging the OSGi event admin. For more details please refer to the following resources:
svn commit: r1784292 - /sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/ResourceDistributionPackageBuilder.java
Author: tmaret Date: Fri Feb 24 16:18:12 2017 New Revision: 1784292 URL: http://svn.apache.org/viewvc?rev=1784292=rev Log: SLING-6566 - ResourceDistributionPackageBuilder package files are never collected 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=1784292=1784291=1784292=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 Feb 24 16:18:12 2017 @@ -127,6 +127,7 @@ public class ResourceDistributionPackage packageResource = uploadStream(resourceResolver, packagesRoot, inputStream, outputStream.size()); } finally { IOUtils.closeQuietly(inputStream); +outputStream.clean(); } distributionPackage = new ResourceDistributionPackage(packageResource, getType(), resourceResolver, digestAlgorithm, digestMessage);
svn commit: r1783751 - in /sling/site/trunk/content: downloads.list news.mdtext
Author: tmaret Date: Mon Feb 20 12:42:44 2017 New Revision: 1783751 URL: http://svn.apache.org/viewvc?rev=1783751=rev Log: Release Apache Sling Content Distribution Core 0.2.4 Modified: sling/site/trunk/content/downloads.list sling/site/trunk/content/news.mdtext Modified: sling/site/trunk/content/downloads.list URL: http://svn.apache.org/viewvc/sling/site/trunk/content/downloads.list?rev=1783751=1783750=1783751=diff == --- sling/site/trunk/content/downloads.list (original) +++ sling/site/trunk/content/downloads.list Mon Feb 20 12:42:44 2017 @@ -70,7 +70,7 @@ Discovery Standalone|org.apache.sling.di Discovery Support|org.apache.sling.discovery.support|1.0.0 Distributed Event Admin|org.apache.sling.event.dea|1.1.0 Distribution API|org.apache.sling.distribution.api|0.3.0 -Distribution Core|org.apache.sling.distribution.core|0.2.0 +Distribution Core|org.apache.sling.distribution.core|0.2.4 Distribution Integration Tests|org.apache.sling.distribution.it|0.1.2 Distribution Sample|org.apache.sling.distribution.sample|0.1.6 Dynamic Include|org.apache.sling.dynamic-include|3.0.0 Modified: sling/site/trunk/content/news.mdtext URL: http://svn.apache.org/viewvc/sling/site/trunk/content/news.mdtext?rev=1783751=1783750=1783751=diff == --- sling/site/trunk/content/news.mdtext (original) +++ sling/site/trunk/content/news.mdtext Mon Feb 20 12:42:44 2017 @@ -1,5 +1,6 @@ Title: News +* New Release: Apache Sling Content Distribution Core 0.2.4 (Feb 20th, 2017) * New Release: Apache Sling Content Distribution Core 0.2.0 (Feb 14th, 2017) * New Release: Apache Sling Servlets GET 2.1.22 (Feb 12th, 2017) * New Release: Apache Sling Resource Merger 1.3.2 (Feb 8th, 2017)
svn commit: r1783381 - in /sling/trunk/contrib/extensions/distribution: extensions/pom.xml it/pom.xml
Author: tmaret Date: Fri Feb 17 12:14:21 2017 New Revision: 1783381 URL: http://svn.apache.org/viewvc?rev=1783381=rev Log: use latest org.apache.sling.distribution.core snapshot Modified: sling/trunk/contrib/extensions/distribution/extensions/pom.xml sling/trunk/contrib/extensions/distribution/it/pom.xml Modified: sling/trunk/contrib/extensions/distribution/extensions/pom.xml URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/extensions/pom.xml?rev=1783381=1783380=1783381=diff == --- sling/trunk/contrib/extensions/distribution/extensions/pom.xml (original) +++ sling/trunk/contrib/extensions/distribution/extensions/pom.xml Fri Feb 17 12:14:21 2017 @@ -188,7 +188,7 @@ org.apache.sling org.apache.sling.distribution.core -0.2.3-SNAPSHOT +0.2.5-SNAPSHOT org.apache.sling Modified: sling/trunk/contrib/extensions/distribution/it/pom.xml URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/it/pom.xml?rev=1783381=1783380=1783381=diff == --- sling/trunk/contrib/extensions/distribution/it/pom.xml (original) +++ sling/trunk/contrib/extensions/distribution/it/pom.xml Fri Feb 17 12:14:21 2017 @@ -456,7 +456,7 @@ org.apache.sling org.apache.sling.distribution.core -0.2.3-SNAPSHOT +0.2.5-SNAPSHOT org.apache.sling
svn commit: r1783378 - /sling/tags/org.apache.sling.distribution.core-0.2.2/
Author: tmaret Date: Fri Feb 17 12:10:39 2017 New Revision: 1783378 URL: http://svn.apache.org/viewvc?rev=1783378=rev Log: Cancelled Release Apache Sling Content Distribution Core 0.2.2 Removed: sling/tags/org.apache.sling.distribution.core-0.2.2/
svn commit: r1783368 - /sling/trunk/contrib/extensions/distribution/core/pom.xml
Author: tmaret Date: Fri Feb 17 11:13:27 2017 New Revision: 1783368 URL: http://svn.apache.org/viewvc?rev=1783368=rev Log: [maven-release-plugin] prepare release org.apache.sling.distribution.core-0.2.4 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=1783368=1783367=1783368=diff == --- sling/trunk/contrib/extensions/distribution/core/pom.xml (original) +++ sling/trunk/contrib/extensions/distribution/core/pom.xml Fri Feb 17 11:13:27 2017 @@ -32,7 +32,7 @@ org.apache.sling.distribution.core -0.2.3-SNAPSHOT +0.2.4 bundle Apache Sling Distribution Core @@ -42,9 +42,9 @@ - scm:svn:http://svn.apache.org/repos/asf/sling/trunk/contrib/extensions/distribution/core - scm:svn:https://svn.apache.org/repos/asf/sling/trunk/contrib/extensions/distribution/core - http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core + scm:svn:http://svn.apache.org/repos/asf/sling/tags/org.apache.sling.distribution.core-0.2.4 + scm:svn:https://svn.apache.org/repos/asf/sling/tags/org.apache.sling.distribution.core-0.2.4 + http://svn.apache.org/viewvc/sling/tags/org.apache.sling.distribution.core-0.2.4
svn commit: r1783370 - /sling/trunk/contrib/extensions/distribution/core/pom.xml
Author: tmaret Date: Fri Feb 17 11:13:45 2017 New Revision: 1783370 URL: http://svn.apache.org/viewvc?rev=1783370=rev Log: [maven-release-plugin] prepare for next development iteration 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=1783370=1783369=1783370=diff == --- sling/trunk/contrib/extensions/distribution/core/pom.xml (original) +++ sling/trunk/contrib/extensions/distribution/core/pom.xml Fri Feb 17 11:13:45 2017 @@ -32,7 +32,7 @@ org.apache.sling.distribution.core -0.2.4 +0.2.5-SNAPSHOT bundle Apache Sling Distribution Core @@ -42,9 +42,9 @@ - scm:svn:http://svn.apache.org/repos/asf/sling/tags/org.apache.sling.distribution.core-0.2.4 - scm:svn:https://svn.apache.org/repos/asf/sling/tags/org.apache.sling.distribution.core-0.2.4 - http://svn.apache.org/viewvc/sling/tags/org.apache.sling.distribution.core-0.2.4 + scm:svn:http://svn.apache.org/repos/asf/sling/trunk/contrib/extensions/distribution/core + scm:svn:https://svn.apache.org/repos/asf/sling/trunk/contrib/extensions/distribution/core + http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core
svn commit: r1783365 - /sling/trunk/contrib/extensions/distribution/core/pom.xml
Author: tmaret Date: Fri Feb 17 10:42:19 2017 New Revision: 1783365 URL: http://svn.apache.org/viewvc?rev=1783365=rev Log: SLING-6524 - SimpleDistributionQueueProviderTest#testEnableQueueProcessingWithCheckpointRecovery fails with symlinks * update commons-io to version 2.5 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=1783365=1783364=1783365=diff == --- sling/trunk/contrib/extensions/distribution/core/pom.xml (original) +++ sling/trunk/contrib/extensions/distribution/core/pom.xml Fri Feb 17 10:42:19 2017 @@ -280,7 +280,7 @@ commons-io commons-io -2.4 +2.5 provided
svn commit: r1783255 - in /sling/trunk/contrib/extensions/distribution: extensions/pom.xml it/pom.xml
Author: tmaret Date: Thu Feb 16 17:15:48 2017 New Revision: 1783255 URL: http://svn.apache.org/viewvc?rev=1783255=rev Log: use latest org.apache.sling.distribution.core snapshot Modified: sling/trunk/contrib/extensions/distribution/extensions/pom.xml sling/trunk/contrib/extensions/distribution/it/pom.xml Modified: sling/trunk/contrib/extensions/distribution/extensions/pom.xml URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/extensions/pom.xml?rev=1783255=1783254=1783255=diff == --- sling/trunk/contrib/extensions/distribution/extensions/pom.xml (original) +++ sling/trunk/contrib/extensions/distribution/extensions/pom.xml Thu Feb 16 17:15:48 2017 @@ -188,7 +188,7 @@ org.apache.sling org.apache.sling.distribution.core -0.2.1-SNAPSHOT +0.2.3-SNAPSHOT org.apache.sling Modified: sling/trunk/contrib/extensions/distribution/it/pom.xml URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/it/pom.xml?rev=1783255=1783254=1783255=diff == --- sling/trunk/contrib/extensions/distribution/it/pom.xml (original) +++ sling/trunk/contrib/extensions/distribution/it/pom.xml Thu Feb 16 17:15:48 2017 @@ -456,7 +456,7 @@ org.apache.sling org.apache.sling.distribution.core -0.2.1-SNAPSHOT +0.2.3-SNAPSHOT org.apache.sling
svn commit: r1783218 - /sling/tags/org.apache.sling.distribution.core-0.2.2/
Author: tmaret Date: Thu Feb 16 14:08:26 2017 New Revision: 1783218 URL: http://svn.apache.org/viewvc?rev=1783218=rev Log: [maven-release-plugin] copy for tag org.apache.sling.distribution.core-0.2.2 Added: sling/tags/org.apache.sling.distribution.core-0.2.2/ - copied from r1783217, sling/trunk/contrib/extensions/distribution/core/
svn commit: r1783219 - /sling/trunk/contrib/extensions/distribution/core/pom.xml
Author: tmaret Date: Thu Feb 16 14:08:30 2017 New Revision: 1783219 URL: http://svn.apache.org/viewvc?rev=1783219=rev Log: [maven-release-plugin] prepare for next development iteration 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=1783219=1783218=1783219=diff == --- sling/trunk/contrib/extensions/distribution/core/pom.xml (original) +++ sling/trunk/contrib/extensions/distribution/core/pom.xml Thu Feb 16 14:08:30 2017 @@ -32,7 +32,7 @@ org.apache.sling.distribution.core -0.2.2 +0.2.3-SNAPSHOT bundle Apache Sling Distribution Core @@ -42,9 +42,9 @@ - scm:svn:http://svn.apache.org/repos/asf/sling/tags/org.apache.sling.distribution.core-0.2.2 - scm:svn:https://svn.apache.org/repos/asf/sling/tags/org.apache.sling.distribution.core-0.2.2 - http://svn.apache.org/viewvc/sling/tags/org.apache.sling.distribution.core-0.2.2 + scm:svn:http://svn.apache.org/repos/asf/sling/trunk/contrib/extensions/distribution/core + scm:svn:https://svn.apache.org/repos/asf/sling/trunk/contrib/extensions/distribution/core + http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core
svn commit: r1783217 - /sling/trunk/contrib/extensions/distribution/core/pom.xml
Author: tmaret Date: Thu Feb 16 14:08:11 2017 New Revision: 1783217 URL: http://svn.apache.org/viewvc?rev=1783217=rev Log: [maven-release-plugin] prepare release org.apache.sling.distribution.core-0.2.2 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=1783217=1783216=1783217=diff == --- sling/trunk/contrib/extensions/distribution/core/pom.xml (original) +++ sling/trunk/contrib/extensions/distribution/core/pom.xml Thu Feb 16 14:08:11 2017 @@ -32,7 +32,7 @@ org.apache.sling.distribution.core -0.2.1-SNAPSHOT +0.2.2 bundle Apache Sling Distribution Core @@ -42,9 +42,9 @@ - scm:svn:http://svn.apache.org/repos/asf/sling/trunk/contrib/extensions/distribution/core - scm:svn:https://svn.apache.org/repos/asf/sling/trunk/contrib/extensions/distribution/core - http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core + scm:svn:http://svn.apache.org/repos/asf/sling/tags/org.apache.sling.distribution.core-0.2.2 + scm:svn:https://svn.apache.org/repos/asf/sling/tags/org.apache.sling.distribution.core-0.2.2 + http://svn.apache.org/viewvc/sling/tags/org.apache.sling.distribution.core-0.2.2
svn commit: r1782933 - in /sling/site/trunk/content: downloads.list news.mdtext
Author: tmaret Date: Tue Feb 14 09:20:30 2017 New Revision: 1782933 URL: http://svn.apache.org/viewvc?rev=1782933=rev Log: Release Apache Sling Content Distribution Core 0.2.0 * Update downloads links to latest Content Distribution released artifacts Modified: sling/site/trunk/content/downloads.list sling/site/trunk/content/news.mdtext Modified: sling/site/trunk/content/downloads.list URL: http://svn.apache.org/viewvc/sling/site/trunk/content/downloads.list?rev=1782933=1782932=1782933=diff == --- sling/site/trunk/content/downloads.list (original) +++ sling/site/trunk/content/downloads.list Tue Feb 14 09:20:30 2017 @@ -69,10 +69,10 @@ Discovery Oak|org.apache.sling.discovery Discovery Standalone|org.apache.sling.discovery.standalone|1.0.2 Discovery Support|org.apache.sling.discovery.support|1.0.0 Distributed Event Admin|org.apache.sling.event.dea|1.1.0 -Distribution API|org.apache.sling.distribution.api|0.1.0 -Distribution Core|org.apache.sling.distribution.core|0.1.2 -Distribution Integration Tests|org.apache.sling.distribution.it|0.1.0 -Distribution Sample|org.apache.sling.distribution.sample|0.1.0 +Distribution API|org.apache.sling.distribution.api|0.3.0 +Distribution Core|org.apache.sling.distribution.core|0.2.0 +Distribution Integration Tests|org.apache.sling.distribution.it|0.1.2 +Distribution Sample|org.apache.sling.distribution.sample|0.1.6 Dynamic Include|org.apache.sling.dynamic-include|3.0.0 Engine|org.apache.sling.engine|2.6.6 Event|org.apache.sling.event|4.2.0 Modified: sling/site/trunk/content/news.mdtext URL: http://svn.apache.org/viewvc/sling/site/trunk/content/news.mdtext?rev=1782933=1782932=1782933=diff == --- sling/site/trunk/content/news.mdtext (original) +++ sling/site/trunk/content/news.mdtext Tue Feb 14 09:20:30 2017 @@ -1,5 +1,6 @@ Title: News +* New Release: Apache Sling Content Distribution Core 0.2.0 (Feb 14th, 2017) * New Release: Apache Sling Servlets GET 2.1.22 (Feb 12th, 2017) * New Release: Apache Sling Resource Merger 1.3.2 (Feb 8th, 2017) * New Releases: Apache Sling DavEx Access to repositories 1.3.8, Apache Sling Simple WebDAV Access to repositories 2.3.8 (Feb 8th, 2017)
svn commit: r1782759 - in /sling/trunk/contrib/extensions/distribution: it/src/test/java/org/apache/sling/distribution/it/ sample/src/main/java/org/apache/sling/distribution/test/ sample/src/main/reso
Author: tmaret Date: Mon Feb 13 12:23:03 2017 New Revision: 1782759 URL: http://svn.apache.org/viewvc?rev=1782759=rev Log: SLING-6512 - Distribution ITs fail as they expect packages to be deleted synchronously * Configure package cleaner to run every second * Add wait to allow for packages to be cleaned * Add distribution-agent-user service user mapping configuration & setup ACL for service user Modified: sling/trunk/contrib/extensions/distribution/it/src/test/java/org/apache/sling/distribution/it/DistributionIntegrationTestBase.java sling/trunk/contrib/extensions/distribution/it/src/test/java/org/apache/sling/distribution/it/DistributionPackageExporterImporterTemporaryFoldersTest.java sling/trunk/contrib/extensions/distribution/sample/src/main/java/org/apache/sling/distribution/test/Init.java sling/trunk/contrib/extensions/distribution/sample/src/main/resources/SLING-CONTENT/libs/sling/distribution/install.notshared/org.apache.sling.distribution.serialization.impl.vlt.VaultDistributionPackageBuilderFactory-default.json sling/trunk/contrib/extensions/distribution/sample/src/main/resources/SLING-CONTENT/libs/sling/distribution/install.publish/impexp/org.apache.sling.distribution.serialization.impl.vlt.VaultDistributionPackageBuilderFactory-tempvlt.json sling/trunk/contrib/extensions/distribution/sample/src/main/resources/SLING-CONTENT/libs/sling/distribution/install.shared/org.apache.sling.distribution.serialization.impl.vlt.VaultDistributionPackageBuilderFactory-default.json sling/trunk/contrib/extensions/distribution/sample/src/main/resources/SLING-CONTENT/libs/sling/distribution/install/org.apache.sling.serviceusermapping.impl.ServiceUserMapperImpl.amended-distributionAgentService.json Modified: sling/trunk/contrib/extensions/distribution/it/src/test/java/org/apache/sling/distribution/it/DistributionIntegrationTestBase.java URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/it/src/test/java/org/apache/sling/distribution/it/DistributionIntegrationTestBase.java?rev=1782759=1782758=1782759=diff == --- sling/trunk/contrib/extensions/distribution/it/src/test/java/org/apache/sling/distribution/it/DistributionIntegrationTestBase.java (original) +++ sling/trunk/contrib/extensions/distribution/it/src/test/java/org/apache/sling/distribution/it/DistributionIntegrationTestBase.java Mon Feb 13 12:23:03 2017 @@ -19,27 +19,20 @@ package org.apache.sling.distribution.it; import java.io.IOException; -import java.util.Iterator; import org.apache.sling.commons.json.JSONException; -import org.apache.sling.commons.json.JSONObject; import org.apache.sling.testing.tools.sling.SlingClient; import org.apache.sling.testing.tools.sling.SlingInstance; import org.apache.sling.testing.tools.sling.SlingInstanceManager; import org.junit.After; -import org.junit.AfterClass; -import org.junit.BeforeClass; import static org.apache.sling.distribution.it.DistributionUtils.agentUrl; import static org.apache.sling.distribution.it.DistributionUtils.assertEmptyFolder; import static org.apache.sling.distribution.it.DistributionUtils.assertExists; -import static org.apache.sling.distribution.it.DistributionUtils.assertPostResourceWithParameters; import static org.apache.sling.distribution.it.DistributionUtils.authorAgentConfigUrl; import static org.apache.sling.distribution.it.DistributionUtils.exporterUrl; -import static org.apache.sling.distribution.it.DistributionUtils.getResource; import static org.apache.sling.distribution.it.DistributionUtils.importerUrl; import static org.apache.sling.distribution.it.DistributionUtils.setArrayProperties; -import static org.junit.Assert.assertFalse; /** * Integration test base class for distribution @@ -132,8 +125,9 @@ public abstract class DistributionIntegr @After -public void checkNoPackagesLeft() throws IOException, JSONException { +public void checkNoPackagesLeft() throws IOException, JSONException, InterruptedException { +Thread.sleep(5000); assertEmptyFolder(author, authorClient, "/var/sling/distribution/packages/default/shared"); assertEmptyFolder(author, authorClient, "/var/sling/distribution/packages/default/data"); Modified: sling/trunk/contrib/extensions/distribution/it/src/test/java/org/apache/sling/distribution/it/DistributionPackageExporterImporterTemporaryFoldersTest.java URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/it/src/test/java/org/apache/sling/distribution/it/DistributionPackageExporterImporterTemporaryFoldersTest.java?rev=1782759=1782758=1782759=diff == --- sling/trunk/contrib/extensions/distribution/it/src/test/java/org/apache/sling/distribution/it/DistributionPackageExporterImporterTemporaryFoldersTest.java (original)
svn commit: r1782031 - in /sling/trunk/contrib/extensions/distribution: extensions/pom.xml it/pom.xml
Author: tmaret Date: Tue Feb 7 16:43:25 2017 New Revision: 1782031 URL: http://svn.apache.org/viewvc?rev=1782031=rev Log: use latest org.apache.sling.distribution.core snapshot Modified: sling/trunk/contrib/extensions/distribution/extensions/pom.xml sling/trunk/contrib/extensions/distribution/it/pom.xml Modified: sling/trunk/contrib/extensions/distribution/extensions/pom.xml URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/extensions/pom.xml?rev=1782031=1782030=1782031=diff == --- sling/trunk/contrib/extensions/distribution/extensions/pom.xml (original) +++ sling/trunk/contrib/extensions/distribution/extensions/pom.xml Tue Feb 7 16:43:25 2017 @@ -188,7 +188,7 @@ org.apache.sling org.apache.sling.distribution.core -0.1.19-SNAPSHOT +0.2.1-SNAPSHOT org.apache.sling Modified: sling/trunk/contrib/extensions/distribution/it/pom.xml URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/it/pom.xml?rev=1782031=1782030=1782031=diff == --- sling/trunk/contrib/extensions/distribution/it/pom.xml (original) +++ sling/trunk/contrib/extensions/distribution/it/pom.xml Tue Feb 7 16:43:25 2017 @@ -456,7 +456,7 @@ org.apache.sling org.apache.sling.distribution.core -0.1.19-SNAPSHOT +0.2.1-SNAPSHOT org.apache.sling
svn commit: r1782017 - /sling/trunk/contrib/extensions/distribution/core/pom.xml
Author: tmaret Date: Tue Feb 7 16:09:07 2017 New Revision: 1782017 URL: http://svn.apache.org/viewvc?rev=1782017=rev Log: [maven-release-plugin] prepare release org.apache.sling.distribution.core-0.2.0 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=1782017=1782016=1782017=diff == --- sling/trunk/contrib/extensions/distribution/core/pom.xml (original) +++ sling/trunk/contrib/extensions/distribution/core/pom.xml Tue Feb 7 16:09:07 2017 @@ -32,7 +32,7 @@ org.apache.sling.distribution.core -0.1.19-SNAPSHOT +0.2.0 bundle Apache Sling Distribution Core @@ -42,9 +42,9 @@ - scm:svn:http://svn.apache.org/repos/asf/sling/trunk/contrib/extensions/distribution/core - scm:svn:https://svn.apache.org/repos/asf/sling/trunk/contrib/extensions/distribution/core - http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core + scm:svn:http://svn.apache.org/repos/asf/sling/tags/org.apache.sling.distribution.core-0.2.0 + scm:svn:https://svn.apache.org/repos/asf/sling/tags/org.apache.sling.distribution.core-0.2.0 + http://svn.apache.org/viewvc/sling/tags/org.apache.sling.distribution.core-0.2.0
svn commit: r1782018 - /sling/tags/org.apache.sling.distribution.core-0.2.0/
Author: tmaret Date: Tue Feb 7 16:09:22 2017 New Revision: 1782018 URL: http://svn.apache.org/viewvc?rev=1782018=rev Log: [maven-release-plugin] copy for tag org.apache.sling.distribution.core-0.2.0 Added: sling/tags/org.apache.sling.distribution.core-0.2.0/ - copied from r1782017, sling/trunk/contrib/extensions/distribution/core/
svn commit: r1782019 - /sling/trunk/contrib/extensions/distribution/core/pom.xml
Author: tmaret Date: Tue Feb 7 16:09:25 2017 New Revision: 1782019 URL: http://svn.apache.org/viewvc?rev=1782019=rev Log: [maven-release-plugin] prepare for next development iteration 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=1782019=1782018=1782019=diff == --- sling/trunk/contrib/extensions/distribution/core/pom.xml (original) +++ sling/trunk/contrib/extensions/distribution/core/pom.xml Tue Feb 7 16:09:25 2017 @@ -32,7 +32,7 @@ org.apache.sling.distribution.core -0.2.0 +0.2.1-SNAPSHOT bundle Apache Sling Distribution Core @@ -42,9 +42,9 @@ - scm:svn:http://svn.apache.org/repos/asf/sling/tags/org.apache.sling.distribution.core-0.2.0 - scm:svn:https://svn.apache.org/repos/asf/sling/tags/org.apache.sling.distribution.core-0.2.0 - http://svn.apache.org/viewvc/sling/tags/org.apache.sling.distribution.core-0.2.0 + scm:svn:http://svn.apache.org/repos/asf/sling/trunk/contrib/extensions/distribution/core + scm:svn:https://svn.apache.org/repos/asf/sling/trunk/contrib/extensions/distribution/core + http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core
svn commit: r1781573 - /sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/ResourceDistributionPackageBuilder.java
Author: tmaret Date: Fri Feb 3 15:49:43 2017 New Revision: 1781573 URL: http://svn.apache.org/viewvc?rev=1781573=rev Log: SLING-6503 - Concurrency issue can prevent repository packages to be cleaned up * Provide default Iterator#remove implementation in ResourceDistributionPackageIterator to compile with Java 7 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=1781573=1781572=1781573=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 Feb 3 15:49:43 2017 @@ -273,5 +273,10 @@ public class ResourceDistributionPackage Resource packageResource = packages.next(); return new ResourceDistributionPackage(packageResource, type, resourceResolver, null, null); } + +@Override +public void remove() { +throw new UnsupportedOperationException("remove"); +} } }
svn commit: r1781568 - in /sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution: packaging/impl/ serialization/impl/ serialization/impl/vlt/
Author: tmaret Date: Fri Feb 3 14:59:56 2017 New Revision: 1781568 URL: http://svn.apache.org/viewvc?rev=1781568=rev Log: SLING-6503 - Concurrency issue can prevent repository packages to be cleaned up * Cleanup the ResourceDistributionPackage packages asynchronously Added: sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/ResourceDistributionPackageCleanup.java 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/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/SharedDistributionPackage.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/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=1781568=1781567=1781568=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 Feb 3 14:59:56 2017 @@ -316,7 +316,13 @@ public class DistributionPackageUtils { } } -public static boolean release(Resource resource, @Nonnull String[] holderNames) throws RepositoryException { +public static boolean disposable(@Nonnull Resource resource) throws RepositoryException { +Node parent = resource.adaptTo(Node.class); +Node refs = parent.getNode("refs"); +return !refs.hasNodes() && refs.hasProperty("released"); +} + +public static void release(Resource resource, @Nonnull String[] holderNames) throws RepositoryException { if (holderNames.length == 0) { throw new IllegalArgumentException("holder name cannot be null or empty"); } @@ -332,12 +338,9 @@ public class DistributionPackageUtils { } } -if (!refs.hasNodes()) { -refs.remove(); -return true; +if (!refs.hasProperty("released")) { +refs.setProperty("released", true); } - -return false; } public static void acquire(File file, @Nonnull String[] holderNames) throws IOException { 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=1781568=1781567=1781568=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 Fri Feb 3 14:59:56 2017 @@ -82,12 +82,7 @@ public class ResourceDistributionPackage @Override public void delete() { -try { -resourceResolver.delete(resource); -resourceResolver.commit(); -} catch (PersistenceException e) { -throw new RuntimeException(e); -} +delete(true); } @Override @@ -108,12 +103,7 @@ public class ResourceDistributionPackage @Override public void release(@Nonnull String... holderNames) { try { -boolean doDelete = DistributionPackageUtils.release(resource, holderNames); - -if (doDelete) { -delete(); -} - +DistributionPackageUtils.release(resource, holderNames); if (resourceResolver.hasChanges()) { resourceResolver.commit(); } @@ -123,4 +113,24 @@ public class ResourceDistribution
svn commit: r1781047 - in /sling/site/trunk/content: downloads.list news.mdtext
Author: tmaret Date: Tue Jan 31 10:14:28 2017 New Revision: 1781047 URL: http://svn.apache.org/viewvc?rev=1781047=rev Log: Release Apache Sling Resource Inventory version 1.0.6 Modified: sling/site/trunk/content/downloads.list sling/site/trunk/content/news.mdtext Modified: sling/site/trunk/content/downloads.list URL: http://svn.apache.org/viewvc/sling/site/trunk/content/downloads.list?rev=1781047=1781046=1781047=diff == --- sling/site/trunk/content/downloads.list (original) +++ sling/site/trunk/content/downloads.list Tue Jan 31 10:14:28 2017 @@ -149,7 +149,7 @@ Repoinit Parser|org.apache.sling.repoini Resource Access Security|org.apache.sling.resourceaccesssecurity|1.0.0 Resource Builder|org.apache.sling.resourcebuilder|1.0.2 Resource Collection|org.apache.sling.resourcecollection|1.0.0 -Resource Inventory|org.apache.sling.resource.inventory|1.0.4 +Resource Inventory|org.apache.sling.resource.inventory|1.0.6 Resource Merger|org.apache.sling.resourcemerger|1.3.0 Resource Resolver|org.apache.sling.resourceresolver|1.5.12 Rewriter|org.apache.sling.rewriter|1.2.0 Modified: sling/site/trunk/content/news.mdtext URL: http://svn.apache.org/viewvc/sling/site/trunk/content/news.mdtext?rev=1781047=1781046=1781047=diff == --- sling/site/trunk/content/news.mdtext (original) +++ sling/site/trunk/content/news.mdtext Tue Jan 31 10:14:28 2017 @@ -1,5 +1,6 @@ Title: News +* New Release: Apache Sling Resource Inventory 1.0.6 (Jan 31st, 2017) * New Release: Apache Sling Installer Core 3.8.2 (Jan 31st, 2017) * New Releases: Apache Sling JSP 2.2.6, Apache Sling Auth Core 1.3.24 (Jan 30th, 2017) * New Releases: Apache Sling File System Resource Provider 1.2.2, Maven Sling Plugin 2.1.10, and Apache Sling Resource Resolver 1.5.12 (Jan 23th, 2017)
svn commit: r1780353 - /sling/tags/org.apache.sling.resource.inventory-1.0.6/
Author: tmaret Date: Thu Jan 26 10:27:55 2017 New Revision: 1780353 URL: http://svn.apache.org/viewvc?rev=1780353=rev Log: [maven-release-plugin] copy for tag org.apache.sling.resource.inventory-1.0.6 Added: sling/tags/org.apache.sling.resource.inventory-1.0.6/ - copied from r1780352, sling/trunk/contrib/extensions/resource-inventory/
svn commit: r1780354 - /sling/trunk/contrib/extensions/resource-inventory/pom.xml
Author: tmaret Date: Thu Jan 26 10:27:58 2017 New Revision: 1780354 URL: http://svn.apache.org/viewvc?rev=1780354=rev Log: [maven-release-plugin] prepare for next development iteration Modified: sling/trunk/contrib/extensions/resource-inventory/pom.xml Modified: sling/trunk/contrib/extensions/resource-inventory/pom.xml URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/resource-inventory/pom.xml?rev=1780354=1780353=1780354=diff == --- sling/trunk/contrib/extensions/resource-inventory/pom.xml (original) +++ sling/trunk/contrib/extensions/resource-inventory/pom.xml Thu Jan 26 10:27:58 2017 @@ -29,15 +29,15 @@ org.apache.sling org.apache.sling.resource.inventory -1.0.6 +1.0.7-SNAPSHOT bundle Apache Sling Inventory Printer Based on Resources - scm:svn:http://svn.apache.org/repos/asf/sling/tags/org.apache.sling.resource.inventory-1.0.6 - scm:svn:https://svn.apache.org/repos/asf/sling/tags/org.apache.sling.resource.inventory-1.0.6 - http://svn.apache.org/viewvc/sling/tags/org.apache.sling.resource.inventory-1.0.6 + scm:svn:http://svn.apache.org/repos/asf/sling/trunk/contrib/extensions/resource-inventory + scm:svn:https://svn.apache.org/repos/asf/sling/trunk/contrib/extensions/resource-inventory + http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/resource-inventory
svn commit: r1780352 - /sling/trunk/contrib/extensions/resource-inventory/pom.xml
Author: tmaret Date: Thu Jan 26 10:27:41 2017 New Revision: 1780352 URL: http://svn.apache.org/viewvc?rev=1780352=rev Log: [maven-release-plugin] prepare release org.apache.sling.resource.inventory-1.0.6 Modified: sling/trunk/contrib/extensions/resource-inventory/pom.xml Modified: sling/trunk/contrib/extensions/resource-inventory/pom.xml URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/resource-inventory/pom.xml?rev=1780352=1780351=1780352=diff == --- sling/trunk/contrib/extensions/resource-inventory/pom.xml (original) +++ sling/trunk/contrib/extensions/resource-inventory/pom.xml Thu Jan 26 10:27:41 2017 @@ -24,20 +24,20 @@ org.apache.sling sling 29 - + org.apache.sling org.apache.sling.resource.inventory -1.0.5-SNAPSHOT +1.0.6 bundle Apache Sling Inventory Printer Based on Resources - scm:svn:http://svn.apache.org/repos/asf/sling/trunk/contrib/extensions/resource-inventory - scm:svn:https://svn.apache.org/repos/asf/sling/trunk/contrib/extensions/resource-inventory - http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/resource-inventory + scm:svn:http://svn.apache.org/repos/asf/sling/tags/org.apache.sling.resource.inventory-1.0.6 + scm:svn:https://svn.apache.org/repos/asf/sling/tags/org.apache.sling.resource.inventory-1.0.6 + http://svn.apache.org/viewvc/sling/tags/org.apache.sling.resource.inventory-1.0.6
svn commit: r1779450 - in /sling/trunk/contrib/extensions/distribution: it/src/test/java/org/apache/sling/distribution/it/ sample/src/main/resources/SLING-CONTENT/libs/sling/distribution/install.autho
Author: tmaret Date: Thu Jan 19 10:44:58 2017 New Revision: 1779450 URL: http://svn.apache.org/viewvc?rev=1779450=rev Log: SLING-6475 - Distribution IT test fail on Jenkins * add missing serviceName missing in some agent configurations * Ignore MultipleForwardDistributionTest#testAddContentCheckPassiveQueue * Fix MultipleForwardDistributionTest#clean * Ignore SelectiveForwardDistribution tests Modified: sling/trunk/contrib/extensions/distribution/it/src/test/java/org/apache/sling/distribution/it/MultipleForwardDistributionTest.java sling/trunk/contrib/extensions/distribution/it/src/test/java/org/apache/sling/distribution/it/SelectiveForwardDistributionTest.java sling/trunk/contrib/extensions/distribution/sample/src/main/resources/SLING-CONTENT/libs/sling/distribution/install.author/i-publish-reverse/org.apache.sling.distribution.agent.impl.ReverseDistributionAgentFactory-i-publish-reverse.json sling/trunk/contrib/extensions/distribution/sample/src/main/resources/SLING-CONTENT/libs/sling/distribution/install.author/i-publish/org.apache.sling.distribution.agent.impl.ForwardDistributionAgentFactory-impersonate-publish.json Modified: sling/trunk/contrib/extensions/distribution/it/src/test/java/org/apache/sling/distribution/it/MultipleForwardDistributionTest.java URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/it/src/test/java/org/apache/sling/distribution/it/MultipleForwardDistributionTest.java?rev=1779450=1779449=1779450=diff == --- sling/trunk/contrib/extensions/distribution/it/src/test/java/org/apache/sling/distribution/it/MultipleForwardDistributionTest.java (original) +++ sling/trunk/contrib/extensions/distribution/it/src/test/java/org/apache/sling/distribution/it/MultipleForwardDistributionTest.java Thu Jan 19 10:44:58 2017 @@ -22,6 +22,7 @@ import org.apache.sling.commons.json.JSO import org.apache.sling.commons.json.JSONObject; import org.apache.sling.distribution.DistributionRequestType; import org.junit.After; +import org.junit.Ignore; import org.junit.Test; import java.io.IOException; @@ -32,7 +33,6 @@ import static org.apache.sling.distribut import static org.apache.sling.distribution.it.DistributionUtils.assertPostResourceWithParameters; import static org.apache.sling.distribution.it.DistributionUtils.createRandomNode; import static org.apache.sling.distribution.it.DistributionUtils.distribute; -import static org.apache.sling.distribution.it.DistributionUtils.distributeDeep; import static org.apache.sling.distribution.it.DistributionUtils.doExport; import static org.apache.sling.distribution.it.DistributionUtils.getResource; import static org.apache.sling.distribution.it.DistributionUtils.queueUrl; @@ -61,7 +61,7 @@ public class MultipleForwardDistribution assertNotExists(publishClient, nodePath); } - +@Ignore @Test public void testAddContentCheckPassiveQueue() throws Exception { String nodePath = createRandomNode(authorClient, "/content/forward_add_" + System.nanoTime()); @@ -100,9 +100,6 @@ public class MultipleForwardDistribution assertPostResourceWithParameters(author, 200, queueUrl("publish-multiple") + "/endpoint2", "operation", "delete", "limit", DELETE_LIMIT); -assertPostResourceWithParameters(author, 200, queueUrl("publish-multiple") + "/passivequeue1", -"operation", "delete", "limit", DELETE_LIMIT); - } } 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=1779450=1779449=1779450=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 Jan 19 10:44:58 2017 @@ -19,6 +19,7 @@ package org.apache.sling.distribution.it; import org.apache.sling.distribution.DistributionRequestType; +import org.junit.Ignore; import org.junit.Test; import java.util.Map; @@ -27,9 +28,7 @@ import static org.apache.sling.distribut import static org.apache.sling.distribution.it.DistributionUtils.assertNotExists; import static org.apache.sling.distribution.it.DistributionUtils.createRandomNode; import static org.apache.sling.distribution.it.DistributionUtils.distribute; -import static org.apache.sling.distribution.it.DistributionUtils.distributeDeep; import static org.j
svn commit: r1779302 - /sling/trunk/contrib/extensions/distribution/sample/src/main/resources/SLING-CONTENT/libs/sling/distribution/org.apache.sling.distribution.component.impl.DistributionConfigurati
Author: tmaret Date: Wed Jan 18 08:47:16 2017 New Revision: 1779302 URL: http://svn.apache.org/viewvc?rev=1779302=rev Log: SLING-6475 - Distribution IT test fail on Jenkins * Fix name and location of the Distribution Configuration Manager OSGI configuration Removed: sling/trunk/contrib/extensions/distribution/sample/src/main/resources/SLING-CONTENT/libs/sling/distribution/org.apache.sling.distribution.component.impl.DistributionConfigurationManager.json
svn commit: r1779301 - /sling/trunk/contrib/extensions/distribution/sample/src/main/resources/SLING-CONTENT/libs/sling/distribution/install/org.apache.sling.distribution.component.impl.DefaultDistribu
Author: tmaret Date: Wed Jan 18 08:45:08 2017 New Revision: 1779301 URL: http://svn.apache.org/viewvc?rev=1779301=rev Log: SLING-6475 - Distribution IT test fail on Jenkins * Fix name and location of the Distribution Configuration Manager OSGI configuration Added: sling/trunk/contrib/extensions/distribution/sample/src/main/resources/SLING-CONTENT/libs/sling/distribution/install/org.apache.sling.distribution.component.impl.DefaultDistributionConfigurationManager.json Added: sling/trunk/contrib/extensions/distribution/sample/src/main/resources/SLING-CONTENT/libs/sling/distribution/install/org.apache.sling.distribution.component.impl.DefaultDistributionConfigurationManager.json URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/sample/src/main/resources/SLING-CONTENT/libs/sling/distribution/install/org.apache.sling.distribution.component.impl.DefaultDistributionConfigurationManager.json?rev=1779301=auto == --- sling/trunk/contrib/extensions/distribution/sample/src/main/resources/SLING-CONTENT/libs/sling/distribution/install/org.apache.sling.distribution.component.impl.DefaultDistributionConfigurationManager.json (added) +++ sling/trunk/contrib/extensions/distribution/sample/src/main/resources/SLING-CONTENT/libs/sling/distribution/install/org.apache.sling.distribution.component.impl.DefaultDistributionConfigurationManager.json Wed Jan 18 08:45:08 2017 @@ -0,0 +1,4 @@ +{ +"jcr:primaryType": "sling:OsgiConfig", +"resource.config.enabled": true +} \ No newline at end of file
svn commit: r1779156 - in /sling/site/trunk/content: downloads.list news.mdtext
Author: tmaret Date: Tue Jan 17 09:28:45 2017 New Revision: 1779156 URL: http://svn.apache.org/viewvc?rev=1779156=rev Log: Release Apache Sling Tenant 1.1.0 Modified: sling/site/trunk/content/downloads.list sling/site/trunk/content/news.mdtext Modified: sling/site/trunk/content/downloads.list URL: http://svn.apache.org/viewvc/sling/site/trunk/content/downloads.list?rev=1779156=1779155=1779156=diff == --- sling/site/trunk/content/downloads.list (original) +++ sling/site/trunk/content/downloads.list Tue Jan 17 09:28:45 2017 @@ -186,7 +186,7 @@ Superimposing Resource Provider|org.apac System Bundle Extension: Activation API|org.apache.sling.fragment.activation|1.0.2 System Bundle Extension: WS APIs|org.apache.sling.fragment.ws|1.0.2 System Bundle Extension: XML APIs|org.apache.sling.fragment.xml|1.0.2 -Tenant|org.apache.sling.tenant|1.0.2 +Tenant|org.apache.sling.tenant|1.1.0 Testing Hamcrest|org.apache.sling.testing.hamcrest|1.0.2 Testing JCR Mock|org.apache.sling.testing.jcr-mock|1.2.0 Testing Logging Mock|org.apache.sling.testing.logging-mock|2.0.0 Modified: sling/site/trunk/content/news.mdtext URL: http://svn.apache.org/viewvc/sling/site/trunk/content/news.mdtext?rev=1779156=1779155=1779156=diff == --- sling/site/trunk/content/news.mdtext (original) +++ sling/site/trunk/content/news.mdtext Tue Jan 17 09:28:45 2017 @@ -1,5 +1,6 @@ Title: News +* New Release: Apache Sling Tenant 1.1.0 (Jan 17th, 2017) * New Release: Apache Sling JSP 2.2.4 (Jan 16th, 2017) * New Release: Apache Sling Resource Resolver 1.5.10 (Jan 13th, 2017) * New Releases: JUnit Core 1.0.23, JUnit Tests Teleporter 1.0.10, Testing Clients 1.0.1, Server Setup Tools 1.0.1, Testing Rules 1.0.1 (Jan 11th, 2017)
svn commit: r1779030 - in /sling/trunk/contrib/extensions/resource-inventory: ./ src/test/ src/test/java/ src/test/java/org/ src/test/java/org/apache/ src/test/java/org/apache/sling/ src/test/java/org
Author: tmaret Date: Mon Jan 16 13:51:21 2017 New Revision: 1779030 URL: http://svn.apache.org/viewvc?rev=1779030=rev Log: SLING-6468 - Improve code coverage for Sling Inventory Printer Added: sling/trunk/contrib/extensions/resource-inventory/src/test/ sling/trunk/contrib/extensions/resource-inventory/src/test/java/ sling/trunk/contrib/extensions/resource-inventory/src/test/java/org/ sling/trunk/contrib/extensions/resource-inventory/src/test/java/org/apache/ sling/trunk/contrib/extensions/resource-inventory/src/test/java/org/apache/sling/ sling/trunk/contrib/extensions/resource-inventory/src/test/java/org/apache/sling/resource/ sling/trunk/contrib/extensions/resource-inventory/src/test/java/org/apache/sling/resource/inventory/ sling/trunk/contrib/extensions/resource-inventory/src/test/java/org/apache/sling/resource/inventory/impl/ sling/trunk/contrib/extensions/resource-inventory/src/test/java/org/apache/sling/resource/inventory/impl/JsonObjectCreatorTest.java sling/trunk/contrib/extensions/resource-inventory/src/test/java/org/apache/sling/resource/inventory/impl/ResourceTraversorTest.java Modified: sling/trunk/contrib/extensions/resource-inventory/pom.xml Modified: sling/trunk/contrib/extensions/resource-inventory/pom.xml URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/resource-inventory/pom.xml?rev=1779030=1779029=1779030=diff == --- sling/trunk/contrib/extensions/resource-inventory/pom.xml (original) +++ sling/trunk/contrib/extensions/resource-inventory/pom.xml Mon Jan 16 13:51:21 2017 @@ -94,5 +94,24 @@ 3.0 provided + + + +org.apache.sling + org.apache.sling.testing.resourceresolver-mock +1.1.16 +test + + +org.mockito +mockito-all +1.9.5 +test + + +junit +junit +test + Added: sling/trunk/contrib/extensions/resource-inventory/src/test/java/org/apache/sling/resource/inventory/impl/JsonObjectCreatorTest.java URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/resource-inventory/src/test/java/org/apache/sling/resource/inventory/impl/JsonObjectCreatorTest.java?rev=1779030=auto == --- sling/trunk/contrib/extensions/resource-inventory/src/test/java/org/apache/sling/resource/inventory/impl/JsonObjectCreatorTest.java (added) +++ sling/trunk/contrib/extensions/resource-inventory/src/test/java/org/apache/sling/resource/inventory/impl/JsonObjectCreatorTest.java Mon Jan 16 13:51:21 2017 @@ -0,0 +1,131 @@ +/* + * 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.resource.inventory.impl; + +import java.util.HashMap; +import java.util.Map; + +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.commons.json.JSONArray; +import org.apache.sling.commons.json.JSONObject; +import org.apache.sling.testing.resourceresolver.MockHelper; +import org.apache.sling.testing.resourceresolver.MockResource; +import org.apache.sling.testing.resourceresolver.MockResourceResolverFactory; +import org.junit.Before; +import org.junit.Test; + +import static org.junit.Assert.assertEquals; + +public class JsonObjectCreatorTest { + +private ResourceResolver resolver; + +@Before +public void setup() throws LoginException { +resolver = new MockResourceResolverFactory() +.getAdministrativeResourceResolver(null); +} + +@Test +public void testCreate() throws Exception { + +Map<String, Object> properties = new HashMap<String, Object>(); +properties.put("byte", 0x0A); +properties.put("int", 10); +properties.put("long", 10L); +properties.put("float", 10.0f); +properties.put("double", 10.0d);
svn commit: r1778439 - /sling/tags/org.apache.sling.tenant-1.1.0/
Author: tmaret Date: Thu Jan 12 14:09:42 2017 New Revision: 1778439 URL: http://svn.apache.org/viewvc?rev=1778439=rev Log: [maven-release-plugin] copy for tag org.apache.sling.tenant-1.1.0 Added: sling/tags/org.apache.sling.tenant-1.1.0/ - copied from r1778438, sling/trunk/contrib/extensions/tenant/
svn commit: r1778440 - /sling/trunk/contrib/extensions/tenant/pom.xml
Author: tmaret Date: Thu Jan 12 14:09:45 2017 New Revision: 1778440 URL: http://svn.apache.org/viewvc?rev=1778440=rev Log: [maven-release-plugin] prepare for next development iteration Modified: sling/trunk/contrib/extensions/tenant/pom.xml Modified: sling/trunk/contrib/extensions/tenant/pom.xml URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/tenant/pom.xml?rev=1778440=1778439=1778440=diff == --- sling/trunk/contrib/extensions/tenant/pom.xml (original) +++ sling/trunk/contrib/extensions/tenant/pom.xml Thu Jan 12 14:09:45 2017 @@ -27,7 +27,7 @@ org.apache.sling.tenant -1.1.0 +1.1.1-SNAPSHOT bundle Apache Sling Tenant @@ -37,13 +37,13 @@ - scm:svn:http://svn.apache.org/repos/asf/sling/tags/org.apache.sling.tenant-1.1.0 + scm:svn:http://svn.apache.org/repos/asf/sling/trunk/contrib/extensions/tenant - scm:svn:https://svn.apache.org/repos/asf/sling/tags/org.apache.sling.tenant-1.1.0 + scm:svn:https://svn.apache.org/repos/asf/sling/trunk/contrib/extensions/tenant - http://svn.apache.org/viewvc/sling/tags/org.apache.sling.tenant-1.1.0 +http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/tenant
svn commit: r1778438 - /sling/trunk/contrib/extensions/tenant/pom.xml
Author: tmaret Date: Thu Jan 12 14:09:29 2017 New Revision: 1778438 URL: http://svn.apache.org/viewvc?rev=1778438=rev Log: [maven-release-plugin] prepare release org.apache.sling.tenant-1.1.0 Modified: sling/trunk/contrib/extensions/tenant/pom.xml Modified: sling/trunk/contrib/extensions/tenant/pom.xml URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/tenant/pom.xml?rev=1778438=1778437=1778438=diff == --- sling/trunk/contrib/extensions/tenant/pom.xml (original) +++ sling/trunk/contrib/extensions/tenant/pom.xml Thu Jan 12 14:09:29 2017 @@ -23,11 +23,11 @@ org.apache.sling sling 26 - + org.apache.sling.tenant -1.0.3-SNAPSHOT +1.1.0 bundle Apache Sling Tenant @@ -37,13 +37,13 @@ - scm:svn:http://svn.apache.org/repos/asf/sling/trunk/contrib/extensions/tenant + scm:svn:http://svn.apache.org/repos/asf/sling/tags/org.apache.sling.tenant-1.1.0 - scm:svn:https://svn.apache.org/repos/asf/sling/trunk/contrib/extensions/tenant + scm:svn:https://svn.apache.org/repos/asf/sling/tags/org.apache.sling.tenant-1.1.0 -http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/tenant + http://svn.apache.org/viewvc/sling/tags/org.apache.sling.tenant-1.1.0
svn commit: r1778434 - /sling/trunk/contrib/extensions/tenant/src/main/java/org/apache/sling/tenant/internal/TenantProviderImpl.java
Author: tmaret Date: Thu Jan 12 13:50:44 2017 New Revision: 1778434 URL: http://svn.apache.org/viewvc?rev=1778434=rev Log: SLING-4753 - Commit the Resource Resolver before passing it to Tenant Customizers * Revert commit r1681937 Modified: sling/trunk/contrib/extensions/tenant/src/main/java/org/apache/sling/tenant/internal/TenantProviderImpl.java Modified: sling/trunk/contrib/extensions/tenant/src/main/java/org/apache/sling/tenant/internal/TenantProviderImpl.java URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/tenant/src/main/java/org/apache/sling/tenant/internal/TenantProviderImpl.java?rev=1778434=1778433=1778434=diff == --- sling/trunk/contrib/extensions/tenant/src/main/java/org/apache/sling/tenant/internal/TenantProviderImpl.java (original) +++ sling/trunk/contrib/extensions/tenant/src/main/java/org/apache/sling/tenant/internal/TenantProviderImpl.java Thu Jan 12 13:50:44 2017 @@ -242,7 +242,6 @@ public class TenantProviderImpl implemen // create the tenant Resource tenantRes = createTenantResource(adminResolver, tenantId, properties); TenantImpl tenant = new TenantImpl(tenantRes); -adminResolver.commit(); customizeTenant(tenantRes, tenant, true); adminResolver.commit();
svn commit: r1777327 - /sling/trunk/contrib/extensions/distribution/core/pom.xml
Author: tmaret Date: Wed Jan 4 14:56:49 2017 New Revision: 1777327 URL: http://svn.apache.org/viewvc?rev=1777327=rev Log: SLING-6435 - o.a.s.t.resourceresolver-mock maven dependency is tri-plicated in distribution.core pom * Keep a single dependency and update to the latest released version 1.1.16 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=1777327=1777326=1777327=diff == --- sling/trunk/contrib/extensions/distribution/core/pom.xml (original) +++ sling/trunk/contrib/extensions/distribution/core/pom.xml Wed Jan 4 14:56:49 2017 @@ -124,13 +124,7 @@ org.apache.sling org.apache.sling.testing.resourceresolver-mock -1.1.14 -test - - -org.apache.sling - org.apache.sling.testing.resourceresolver-mock -1.1.12 +1.1.16 test @@ -275,12 +269,6 @@ 2.0.0 provided - -org.apache.sling - org.apache.sling.testing.resourceresolver-mock -1.1.15-SNAPSHOT -test -
svn commit: r1777322 - /sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/agent/impl/
Author: tmaret Date: Wed Jan 4 14:44:47 2017 New Revision: 1777322 URL: http://svn.apache.org/viewvc?rev=1777322=rev Log: SLING-6434 - serviceName configurations must be considered null when empty/blank 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/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/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=1777322=1777321=1777322=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 Jan 4 14:44:47 2017 @@ -226,7 +226,7 @@ public class ForwardDistributionAgentFac @Override protected SimpleDistributionAgent createAgent(String agentName, BundleContext context, Map<String, Object> config, DefaultDistributionLog distributionLog) { -String serviceName = PropertiesUtil.toString(config.get(SERVICE_NAME), null); +String serviceName = SettingsUtils.removeEmptyEntry(PropertiesUtil.toString(config.get(SERVICE_NAME), null)); String[] allowedRoots = PropertiesUtil.toStringArray(config.get(ALLOWED_ROOTS), null); allowedRoots = SettingsUtils.removeEmptyEntries(allowedRoots); 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=1777322=1777321=1777322=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 Wed Jan 4 14:44:47 2017 @@ -168,7 +168,7 @@ public class QueueDistributionAgentFacto @Override protected SimpleDistributionAgent createAgent(String agentName, BundleContext context, Map<String, Object> config, DefaultDistributionLog distributionLog) { -String serviceName = PropertiesUtil.toString(config.get(SERVICE_NAME), null); +String serviceName = SettingsUtils.removeEmptyEntry(PropertiesUtil.toString(config.get(SERVICE_NAME), null)); String[] allowedRoots = PropertiesUtil.toStringArray(config.get(ALLOWED_ROOTS), null); allowedRoots = SettingsUtils.removeEmptyEntries(allowedRoots); 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=1777322=1777321=1777322=diff == --- sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/agent/impl/ReverseDistributionAgentFactory.java (original) +++ sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/agent/impl/ReverseDistributionAgentFactory.java Wed Jan 4 14:44:47 2017 @@ -183,7 +183,7 @@ public class ReverseDistributionAgentFac @Override protected SimpleDistributionAgent createAgent(String agentName, BundleContext context, Map<String, Object> config, DefaultDistributionLog distributionLog) { -String serviceName = PropertiesUtil.toString(config.get(SERVICE_NAME), null); +String serviceName = SettingsUtils.removeEmptyEntry(PropertiesUtil.toString(config.get(SERVICE_NAME), null)); boolean queu
svn commit: r1775286 - in /sling/trunk/contrib/extensions/tenant: pom.xml src/main/java/org/apache/sling/tenant/internal/TenantProviderImpl.java src/test/java/org/apache/sling/tenant/internal/TenantPr
Author: tmaret Date: Tue Dec 20 12:41:50 2016 New Revision: 1775286 URL: http://svn.apache.org/viewvc?rev=1775286=rev Log: SLING-5240 - Remove getAdministrativeResourceResolver() usage from org.apache.sling.tenant * Applying Carsten Ziegeler's patch, thanks! Modified: sling/trunk/contrib/extensions/tenant/pom.xml sling/trunk/contrib/extensions/tenant/src/main/java/org/apache/sling/tenant/internal/TenantProviderImpl.java sling/trunk/contrib/extensions/tenant/src/test/java/org/apache/sling/tenant/internal/TenantProviderImplTest.java Modified: sling/trunk/contrib/extensions/tenant/pom.xml URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/tenant/pom.xml?rev=1775286=1775285=1775286=diff == --- sling/trunk/contrib/extensions/tenant/pom.xml (original) +++ sling/trunk/contrib/extensions/tenant/pom.xml Tue Dec 20 12:41:50 2016 @@ -82,7 +82,7 @@ org.apache.sling org.apache.sling.api -2.3.0 +2.5.0 provided Modified: sling/trunk/contrib/extensions/tenant/src/main/java/org/apache/sling/tenant/internal/TenantProviderImpl.java URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/tenant/src/main/java/org/apache/sling/tenant/internal/TenantProviderImpl.java?rev=1775286=1775285=1775286=diff == --- sling/trunk/contrib/extensions/tenant/src/main/java/org/apache/sling/tenant/internal/TenantProviderImpl.java (original) +++ sling/trunk/contrib/extensions/tenant/src/main/java/org/apache/sling/tenant/internal/TenantProviderImpl.java Tue Dec 20 12:41:50 2016 @@ -422,7 +422,7 @@ public class TenantProviderImpl implemen T result = null; try { -resolver = factory.getAdministrativeResourceResolver(null); +resolver = factory.getServiceResourceResolver(null); result = task.call(resolver); } catch (LoginException le) { // unexpected, thus ignore Modified: sling/trunk/contrib/extensions/tenant/src/test/java/org/apache/sling/tenant/internal/TenantProviderImplTest.java URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/tenant/src/test/java/org/apache/sling/tenant/internal/TenantProviderImplTest.java?rev=1775286=1775285=1775286=diff == --- sling/trunk/contrib/extensions/tenant/src/test/java/org/apache/sling/tenant/internal/TenantProviderImplTest.java (original) +++ sling/trunk/contrib/extensions/tenant/src/test/java/org/apache/sling/tenant/internal/TenantProviderImplTest.java Tue Dec 20 12:41:50 2016 @@ -38,7 +38,7 @@ public class TenantProviderImplTest { final ResourceResolverFactory rrf = Mockito.mock(ResourceResolverFactory.class); final BundleContext context = Mockito.mock(BundleContext.class); final ResourceResolver rr = Mockito.mock(ResourceResolver.class); -Mockito.when(rrf.getAdministrativeResourceResolver( +Mockito.when(rrf.getServiceResourceResolver( Mockito.anyMapOf(String.class, Object.class))).thenReturn(rr); set(provider, "factory", rrf); provider.activate(context, new HashMap<String, Object>());
svn commit: r1775099 - in /sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution: packaging/impl/exporter/AgentDistributionPackageExporter.java servlet/Distribut
Author: tmaret Date: Mon Dec 19 14:08:06 2016 New Revision: 1775099 URL: http://svn.apache.org/viewvc?rev=1775099=rev Log: SLING-6418 - NPE in o.a.s.d.p.i.e.AgentDistributionPackageExporter#exportPackages * Throw specific exception when the queue can't be found in AgentDistributionPackageExporter or DistributionAgentQueueServlet Modified: 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/servlet/DistributionAgentQueueServlet.java Modified: sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/exporter/AgentDistributionPackageExporter.java URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/exporter/AgentDistributionPackageExporter.java?rev=1775099=1775098=1775099=diff == --- sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/exporter/AgentDistributionPackageExporter.java (original) +++ sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/packaging/impl/exporter/AgentDistributionPackageExporter.java Mon Dec 19 14:08:06 2016 @@ -83,7 +83,7 @@ public class AgentDistributionPackageExp try { log.debug("getting packages from queue {}", queueName); -DistributionQueue queue = agent.getQueue(queueName); +DistributionQueue queue = getQueueOrThrow(queueName); DistributionQueueEntry entry = queue.getHead(); if (entry != null) { DistributionQueueItem queueItem = entry.getItem(); @@ -118,7 +118,7 @@ public class AgentDistributionPackageExp try { log.debug("getting package from queue {}", queueName); -DistributionQueue queue = agent.getQueue(queueName); +DistributionQueue queue = getQueueOrThrow(queueName); DistributionQueueEntry entry = queue.getItem(distributionPackageId); DistributionPackage distributionPackage; @@ -183,4 +183,14 @@ public class AgentDistributionPackageExp ((DefaultDistributionLog) agentLog).info(message, values); } } + +@Nonnull +private DistributionQueue getQueueOrThrow(@Nonnull String queueName) +throws DistributionException { +DistributionQueue queue = agent.getQueue(queueName); +if (queue == null) { +throw new DistributionException(String.format("Could not find queue %s", queueName)); +} +return queue; +} } Modified: sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/servlet/DistributionAgentQueueServlet.java URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/servlet/DistributionAgentQueueServlet.java?rev=1775099=1775098=1775099=diff == --- sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/servlet/DistributionAgentQueueServlet.java (original) +++ sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/servlet/DistributionAgentQueueServlet.java Mon Dec 19 14:08:06 2016 @@ -18,6 +18,7 @@ */ package org.apache.sling.distribution.servlet; +import javax.annotation.Nonnull; import javax.servlet.ServletException; import java.io.IOException; @@ -86,7 +87,7 @@ public class DistributionAgentQueueServl if (idParam != null && from != null) { DistributionAgent agent = request.getResource().getParent().getParent().adaptTo(DistributionAgent.class); -DistributionQueue sourceQueue = agent.getQueue(from); +DistributionQueue sourceQueue = getQueueOrThrow(agent,from); addItems(resourceResolver, queue, sourceQueue, idParam); } @@ -96,7 +97,7 @@ public class DistributionAgentQueueServl if (idParam != null && from != null) { DistributionAgent agent = request.getResource().getParent().getParent().adaptTo(DistributionAgent.class); -DistributionQueue sourceQueue = agent.getQueue(from); +DistributionQueue sourceQueue = getQueueOrThrow(agent,from); addItems(resourceResolver, queue, sourceQueue, idParam); deleteItems(resourceResolver, sourceQueue, idParam); @@ -105,12 +106,6 @@ public class DistributionAgentQueueServl } private void addItems(ResourceResolver resourceResolver, DistributionQueue targ
svn commit: r1775047 - /sling/site/trunk/content/downloads.list
Author: tmaret Date: Mon Dec 19 10:23:52 2016 New Revision: 1775047 URL: http://svn.apache.org/viewvc?rev=1775047=rev Log: Promote release of Apache Sling i18n 2.5.6 Modified: sling/site/trunk/content/downloads.list Modified: sling/site/trunk/content/downloads.list URL: http://svn.apache.org/viewvc/sling/site/trunk/content/downloads.list?rev=1775047=1775046=1775047=diff == --- sling/site/trunk/content/downloads.list (original) +++ sling/site/trunk/content/downloads.list Mon Dec 19 10:23:52 2016 @@ -80,7 +80,7 @@ Feature Flags|org.apache.sling.featurefl GWT Integration|org.apache.sling.gwt.servlet|3.0.0 Thread Dumper|org.apache.sling.extensions.threaddump|0.2.2 FileSystem Provider|org.apache.sling.fsresource|1.1.4 -I18n|org.apache.sling.i18n|2.5.4 +I18n|org.apache.sling.i18n|2.5.6 HApi|org.apache.sling.api|1.0.0 Health Check Annotations|org.apache.sling.hc.annotations|1.0.4 Health Check Core|org.apache.sling.hc.core|1.2.4
svn commit: r1775042 - /sling/site/trunk/content/news.mdtext
Author: tmaret Date: Mon Dec 19 10:21:12 2016 New Revision: 1775042 URL: http://svn.apache.org/viewvc?rev=1775042=rev Log: Promote release of Apache Sling i18n 2.5.6 Modified: sling/site/trunk/content/news.mdtext Modified: sling/site/trunk/content/news.mdtext URL: http://svn.apache.org/viewvc/sling/site/trunk/content/news.mdtext?rev=1775042=1775041=1775042=diff == --- sling/site/trunk/content/news.mdtext (original) +++ sling/site/trunk/content/news.mdtext Mon Dec 19 10:21:12 2016 @@ -1,5 +1,6 @@ Title: News +* New Release: Apache Sling i18n 2.5.6 (December 19th, 2016) * New Releases: Apache Sling API 2.16.2 and Slingstart Maven Plugin 1.7.0 (December 18th, 2016) * New Releases: Apache Sling JCR Resource 2.9.0, Apache Sling Scripting JSP 2.2.2, Apache Sling Scripting Java 2.1.2, Apache Sling Provisioning Model 1.8.0, Apache Sling Testing JCR Mock 1.2.0, OSGi Mock 2.2.2, OSGi Mock 1.9.2, Sling Mock 2.2.2, Sling Mock 1.9.2, JUnit Core 1.0.20, Apache Sling Context-Aware Configuration API 1.1.0, Context-Aware Configuration SPI 1.2.0, Context-Aware Configuration Impl 1.2.0, Context-Aware Configuration bnd Plugin 1.0.2, Context-Aware Configuration Mock Plugin 1.0.0 (December 16th, 2016) * New Releases: Apache Sling Scripting API 2.1.12, Apache Sling Scripting Core 2.0.44 (December 15th, 2016)
svn commit: r1774405 - /sling/trunk/bundles/extensions/i18n/pom.xml
Author: tmaret Date: Thu Dec 15 09:54:05 2016 New Revision: 1774405 URL: http://svn.apache.org/viewvc?rev=1774405=rev Log: [maven-release-plugin] prepare for next development iteration Modified: sling/trunk/bundles/extensions/i18n/pom.xml Modified: sling/trunk/bundles/extensions/i18n/pom.xml URL: http://svn.apache.org/viewvc/sling/trunk/bundles/extensions/i18n/pom.xml?rev=1774405=1774404=1774405=diff == --- sling/trunk/bundles/extensions/i18n/pom.xml (original) +++ sling/trunk/bundles/extensions/i18n/pom.xml Thu Dec 15 09:54:05 2016 @@ -29,7 +29,7 @@ org.apache.sling.i18n bundle -2.5.6 +2.5.7-SNAPSHOT Apache Sling Internationalization Support @@ -43,9 +43,9 @@ - scm:svn:http://svn.apache.org/repos/asf/sling/tags/org.apache.sling.i18n-2.5.6 - scm:svn:https://svn.apache.org/repos/asf/sling/tags/org.apache.sling.i18n-2.5.6 - http://svn.apache.org/viewvc/sling/tags/org.apache.sling.i18n-2.5.6 + scm:svn:http://svn.apache.org/repos/asf/sling/trunk/bundles/extensions/i18n + scm:svn:https://svn.apache.org/repos/asf/sling/trunk/bundles/extensions/i18n + http://svn.apache.org/viewvc/sling/trunk/bundles/extensions/i18n
svn commit: r1774404 - /sling/tags/org.apache.sling.i18n-2.5.6/
Author: tmaret Date: Thu Dec 15 09:54:02 2016 New Revision: 1774404 URL: http://svn.apache.org/viewvc?rev=1774404=rev Log: [maven-release-plugin] copy for tag org.apache.sling.i18n-2.5.6 Added: sling/tags/org.apache.sling.i18n-2.5.6/ - copied from r1774403, sling/trunk/bundles/extensions/i18n/
svn commit: r1774403 - /sling/trunk/bundles/extensions/i18n/pom.xml
Author: tmaret Date: Thu Dec 15 09:53:47 2016 New Revision: 1774403 URL: http://svn.apache.org/viewvc?rev=1774403=rev Log: [maven-release-plugin] prepare release org.apache.sling.i18n-2.5.6 Modified: sling/trunk/bundles/extensions/i18n/pom.xml Modified: sling/trunk/bundles/extensions/i18n/pom.xml URL: http://svn.apache.org/viewvc/sling/trunk/bundles/extensions/i18n/pom.xml?rev=1774403=1774402=1774403=diff == --- sling/trunk/bundles/extensions/i18n/pom.xml (original) +++ sling/trunk/bundles/extensions/i18n/pom.xml Thu Dec 15 09:53:47 2016 @@ -29,7 +29,7 @@ org.apache.sling.i18n bundle -2.5.5-SNAPSHOT +2.5.6 Apache Sling Internationalization Support @@ -43,9 +43,9 @@ - scm:svn:http://svn.apache.org/repos/asf/sling/trunk/bundles/extensions/i18n - scm:svn:https://svn.apache.org/repos/asf/sling/trunk/bundles/extensions/i18n - http://svn.apache.org/viewvc/sling/trunk/bundles/extensions/i18n + scm:svn:http://svn.apache.org/repos/asf/sling/tags/org.apache.sling.i18n-2.5.6 + scm:svn:https://svn.apache.org/repos/asf/sling/tags/org.apache.sling.i18n-2.5.6 + http://svn.apache.org/viewvc/sling/tags/org.apache.sling.i18n-2.5.6
svn commit: r1773859 - in /sling/trunk/bundles/extensions/i18n/src/test: java/org/apache/sling/i18n/it/ResourceBundleProviderIT.java resources/repoinit.txt
Author: tmaret Date: Mon Dec 12 19:25:05 2016 New Revision: 1773859 URL: http://svn.apache.org/viewvc?rev=1773859=rev Log: SLING-5233 - Remove getAdministrativeResourceResolver() usage from org.apache.sling.i18n * Adjust PaxExam test setup for ResourceBundleProviderIT Added: sling/trunk/bundles/extensions/i18n/src/test/resources/repoinit.txt Modified: sling/trunk/bundles/extensions/i18n/src/test/java/org/apache/sling/i18n/it/ResourceBundleProviderIT.java Modified: sling/trunk/bundles/extensions/i18n/src/test/java/org/apache/sling/i18n/it/ResourceBundleProviderIT.java URL: http://svn.apache.org/viewvc/sling/trunk/bundles/extensions/i18n/src/test/java/org/apache/sling/i18n/it/ResourceBundleProviderIT.java?rev=1773859=1773858=1773859=diff == --- sling/trunk/bundles/extensions/i18n/src/test/java/org/apache/sling/i18n/it/ResourceBundleProviderIT.java (original) +++ sling/trunk/bundles/extensions/i18n/src/test/java/org/apache/sling/i18n/it/ResourceBundleProviderIT.java Mon Dec 12 19:25:05 2016 @@ -29,6 +29,7 @@ import static org.ops4j.pax.exam.CoreOpt import static org.ops4j.pax.exam.CoreOptions.when; import java.io.File; +import java.net.URISyntaxException; import java.util.Locale; import java.util.ResourceBundle; @@ -159,6 +160,13 @@ public class ResourceBundleProviderIT { .create(true) .put("enabled", true) .asOption(), + ConfigurationAdminOptions.factoryConfiguration("org.apache.sling.serviceusermapping.impl.ServiceUserMapperImpl.amended") +.create(true) +.put("user.mapping", new String[]{"org.apache.sling.i18n=sling-i18n"}) +.asOption(), + ConfigurationAdminOptions.newConfiguration("org.apache.sling.jcr.repoinit.impl.RepositoryInitializer") +.put("references", new String[]{references()}) +.asOption(), // logging systemProperty("pax.exam.logging").value("none"), @@ -216,6 +224,9 @@ public class ResourceBundleProviderIT { mavenBundle("org.apache.sling", "org.apache.sling.jcr.jcr-wrapper", "2.0.0"), mavenBundle("org.apache.sling", "org.apache.sling.jcr.api", "2.4.0"), mavenBundle("org.apache.sling", "org.apache.sling.jcr.base", "2.4.0"), +mavenBundle("org.apache.sling", "org.apache.sling.jcr.repoinit", "1.1.0"), +mavenBundle("org.apache.sling", "org.apache.sling.repoinit.parser", "1.1.0"), +mavenBundle("org.apache.sling", "org.apache.sling.provisioning.model", "1.4.2"), mavenBundle("com.google.guava", "guava", "15.0"), mavenBundle("org.apache.jackrabbit", "jackrabbit-api", jackrabbitVersion), @@ -365,4 +376,13 @@ public class ResourceBundleProviderIT { session.save(); assertMessages(MSG_KEY2, "EN_changed", "EN_changed", "EN_changed"); } + +private String references() { +try { +String repoInitUrl = getClass().getResource("/repoinit.txt").toURI().toString(); +return String.format("raw:%s", repoInitUrl); +} catch (URISyntaxException e) { +throw new RuntimeException("Failed to compute repoinit references", e); +} +} } Added: sling/trunk/bundles/extensions/i18n/src/test/resources/repoinit.txt URL: http://svn.apache.org/viewvc/sling/trunk/bundles/extensions/i18n/src/test/resources/repoinit.txt?rev=1773859=auto == --- sling/trunk/bundles/extensions/i18n/src/test/resources/repoinit.txt (added) +++ sling/trunk/bundles/extensions/i18n/src/test/resources/repoinit.txt Mon Dec 12 19:25:05 2016 @@ -0,0 +1,23 @@ + +# +#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. +# + + +# sling-i18n + +create service user sling-i18n +
svn commit: r1773407 - in /sling/trunk: bundles/extensions/i18n/src/main/java/org/apache/sling/i18n/impl/ bundles/extensions/i18n/src/main/resources/OSGI-INF/metatype/ launchpad/builder/src/main/provi
Author: tmaret Date: Fri Dec 9 14:44:36 2016 New Revision: 1773407 URL: http://svn.apache.org/viewvc?rev=1773407=rev Log: SLING-5233 - Remove getAdministrativeResourceResolver() usage from org.apache.sling.i18n * Remove support for custom user/pwd to access the repository * Use sling-i18n service user when accessing the repository Modified: sling/trunk/bundles/extensions/i18n/src/main/java/org/apache/sling/i18n/impl/JcrResourceBundleProvider.java sling/trunk/bundles/extensions/i18n/src/main/resources/OSGI-INF/metatype/metatype.properties sling/trunk/launchpad/builder/src/main/provisioning/repoinit.txt sling/trunk/launchpad/builder/src/main/provisioning/sling.txt Modified: sling/trunk/bundles/extensions/i18n/src/main/java/org/apache/sling/i18n/impl/JcrResourceBundleProvider.java URL: http://svn.apache.org/viewvc/sling/trunk/bundles/extensions/i18n/src/main/java/org/apache/sling/i18n/impl/JcrResourceBundleProvider.java?rev=1773407=1773406=1773407=diff == --- sling/trunk/bundles/extensions/i18n/src/main/java/org/apache/sling/i18n/impl/JcrResourceBundleProvider.java (original) +++ sling/trunk/bundles/extensions/i18n/src/main/java/org/apache/sling/i18n/impl/JcrResourceBundleProvider.java Fri Dec 9 14:44:36 2016 @@ -75,11 +75,7 @@ public class JcrResourceBundleProvider i private static final int DEFAULT_INVALIDATION_DELAY = 5000; -@Property(value = "") -private static final String PROP_USER = "user"; - -@Property(value = "") -private static final String PROP_PASS = "password"; +private static final String SLING_I18N_USER = "sling-i18n"; @Property(value = "en") private static final String PROP_DEFAULT_LOCALE = "locale.default"; @@ -111,8 +107,7 @@ public class JcrResourceBundleProvider i /** * The resource resolver used to access the resource bundles. This object is - * retrieved from the {@link #resourceResolverFactory} using the administrative - * session or the session acquired using the {@link #repoCredentials}. + * retrieved from the {@link #resourceResolverFactory} using the {@link #SLING_I18N_USER} service user session. */ private ResourceResolver resourceResolver; @@ -359,18 +354,6 @@ public class JcrResourceBundleProvider i * @throws LoginException */ protected void activate(BundleContext context, Map<String, Object> props) throws LoginException { -Map<String, Object> repoCredentials; -String user = PropertiesUtil.toString(props.get(PROP_USER), null); -if (user == null || user.length() == 0) { -repoCredentials = null; -} else { -String pass = PropertiesUtil.toString(props.get(PROP_PASS), null); -char[] pwd = (pass == null) ? new char[0] : pass.toCharArray(); -repoCredentials = new HashMap<String, Object>(); -repoCredentials.put(ResourceResolverFactory.USER, user); -repoCredentials.put(ResourceResolverFactory.PASSWORD, pwd); -} - String localeString = PropertiesUtil.toString(props.get(PROP_DEFAULT_LOCALE), null); this.defaultLocale = toLocale(localeString); @@ -379,11 +362,9 @@ public class JcrResourceBundleProvider i this.bundleContext = context; invalidationDelay = PropertiesUtil.toLong(props.get(PROP_INVALIDATION_DELAY), DEFAULT_INVALIDATION_DELAY); if (this.resourceResolverFactory != null) { // this is only null during test execution! -if (repoCredentials == null) { -resourceResolver = resourceResolverFactory.getAdministrativeResourceResolver(null); -} else { -resourceResolver = resourceResolverFactory.getResourceResolver(repoCredentials); -} +Map<String, Object> authInfo = Collections.<String, Object>singletonMap( +ResourceResolverFactory.SUBSERVICE, SLING_I18N_USER); +resourceResolver = resourceResolverFactory.getServiceResourceResolver(authInfo); scheduleReloadBundles(false); } Modified: sling/trunk/bundles/extensions/i18n/src/main/resources/OSGI-INF/metatype/metatype.properties URL: http://svn.apache.org/viewvc/sling/trunk/bundles/extensions/i18n/src/main/resources/OSGI-INF/metatype/metatype.properties?rev=1773407=1773406=1773407=diff == --- sling/trunk/bundles/extensions/i18n/src/main/resources/OSGI-INF/metatype/metatype.properties (original) +++ sling/trunk/bundles/extensions/i18n/src/main/resources/OSGI-INF/metatype/metatype.properties Fri Dec 9 14:44:36 2016 @@ -24,15 +24,6 @@ provider.description = ResourceBundlePro name and password are used to access the repository. Failing to access the \
svn commit: r1757389 - in /sling/trunk/contrib/extensions/distribution/core/src: main/java/org/apache/sling/distribution/util/impl/FileBackedMemoryOutputStream.java test/java/org/apache/sling/distribu
Author: tmaret Date: Tue Aug 23 15:35:08 2016 New Revision: 1757389 URL: http://svn.apache.org/viewvc?rev=1757389=rev Log: SLING-5990 - [SCD] FileBackedMemoryOutputStream is 10x slower than file buffering for large files * Override OutputStream#write(byte[], int, int) signature * Add multiple size unit tests Modified: 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/util/impl/FileBackedMemoryOutputStream.java URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/util/impl/FileBackedMemoryOutputStream.java?rev=1757389=1757388=1757389=diff == --- sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/util/impl/FileBackedMemoryOutputStream.java (original) +++ sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/util/impl/FileBackedMemoryOutputStream.java Tue Aug 23 15:35:08 2016 @@ -100,6 +100,22 @@ public class FileBackedMemoryOutputStrea } @Override +public void write(byte b[], int off, int len) throws IOException { +if (out == null) { +int memLen = Math.min(memory.remaining(), len); +memory.put(b, off, memLen); +if (len > memLen) { +file = createTempFile(fileName, fileExtension, tempDirectory); +out = new FileOutputStream(file); +out.write(b, off + memLen, len - memLen); +} +} else { + +out.write(b, off, len); +} +} + +@Override public void flush() throws IOException { if (out != null) { out.flush(); Modified: sling/trunk/contrib/extensions/distribution/core/src/test/java/org/apache/sling/distribution/util/impl/FileBackedMemoryOutputStreamTest.java URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/test/java/org/apache/sling/distribution/util/impl/FileBackedMemoryOutputStreamTest.java?rev=1757389=1757388=1757389=diff == --- sling/trunk/contrib/extensions/distribution/core/src/test/java/org/apache/sling/distribution/util/impl/FileBackedMemoryOutputStreamTest.java (original) +++ sling/trunk/contrib/extensions/distribution/core/src/test/java/org/apache/sling/distribution/util/impl/FileBackedMemoryOutputStreamTest.java Tue Aug 23 15:35:08 2016 @@ -31,6 +31,7 @@ import java.io.File; import java.io.IOException; import java.io.InputStream; import java.util.Arrays; +import java.util.List; import java.util.Random; import org.apache.sling.distribution.util.impl.FileBackedMemoryOutputStream.MemoryUnit; @@ -84,6 +85,23 @@ public class FileBackedMemoryOutputStrea assertFalse(output.getFile().exists()); } +@Test +public void multiBackedToFileTest() throws IOException { + +List<byte[]> datum = Arrays.asList(newDataArray(0), newDataArray(1), newDataArray(9), +newDataArray(10), newDataArray(11), newDataArray(100), newDataArray(1000)); + +for (byte[] data : datum) { +FileBackedMemoryOutputStream output = new FileBackedMemoryOutputStream(10, +MemoryUnit.BYTES,false, new File("/tmp"), +"FileBackedMemoryOutputStreamTest.multiTest-" + data.length, ".tmp"); +output.write(data); +output.close(); +assertEquals(data.length, output.size()); +verifyWrittenData(data, output); +} +} + private byte[] newDataArray(int size) { byte[] data = new byte[size]; byte b = (byte) (new Random().nextInt() & 0xff);
svn commit: r1757346 - in /sling/trunk/contrib/extensions/distribution/core/src: main/java/org/apache/sling/distribution/agent/impl/ test/java/org/apache/sling/distribution/agent/impl/
Author: tmaret Date: Tue Aug 23 10:12:25 2016 New Revision: 1757346 URL: http://svn.apache.org/viewvc?rev=1757346=rev Log: SLING-5989 - [SCD] SimpleDistributionAgent appears inactive after enabling * Fix the enable method * Add unit tests * Cleanup dead code 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/agent/impl/TriggerAgentRequestHandler.java sling/trunk/contrib/extensions/distribution/core/src/test/java/org/apache/sling/distribution/agent/impl/SimpleDistributionAgentTest.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=1757346=1757345=1757346=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 Tue Aug 23 10:12:25 2016 @@ -289,6 +289,8 @@ public class SimpleDistributionAgent imp public void enable() { log.info("enabling agent"); +active = true; + // register triggers if any agentBasedRequestHandler = new TriggerAgentRequestHandler(this, agentAuthenticationInfo, log, active); @@ -299,8 +301,6 @@ public class SimpleDistributionAgent imp log.error("cannot enable queue processing", e); } } - -active = true; } public void enableTrigger(DistributionTrigger trigger) { Modified: 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/java/org/apache/sling/distribution/agent/impl/TriggerAgentRequestHandler.java?rev=1757346=1757345=1757346=diff == --- sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/agent/impl/TriggerAgentRequestHandler.java (original) +++ sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/agent/impl/TriggerAgentRequestHandler.java Tue Aug 23 10:12:25 2016 @@ -35,7 +35,6 @@ class TriggerAgentRequestHandler impleme private final SimpleDistributionAgentAuthenticationInfo authenticationInfo; private final DefaultDistributionLog log; private final boolean active; -private SimpleDistributionAgent simpleDistributionAgent; private final DistributionAgent agent; public TriggerAgentRequestHandler(@Nonnull DistributionAgent agent, @@ -45,7 +44,6 @@ class TriggerAgentRequestHandler impleme this.authenticationInfo = authenticationInfo; this.log = log; this.active = active; -this.simpleDistributionAgent = simpleDistributionAgent; this.agent = agent; } Modified: sling/trunk/contrib/extensions/distribution/core/src/test/java/org/apache/sling/distribution/agent/impl/SimpleDistributionAgentTest.java URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/test/java/org/apache/sling/distribution/agent/impl/SimpleDistributionAgentTest.java?rev=1757346=1757345=1757346=diff == --- sling/trunk/contrib/extensions/distribution/core/src/test/java/org/apache/sling/distribution/agent/impl/SimpleDistributionAgentTest.java (original) +++ sling/trunk/contrib/extensions/distribution/core/src/test/java/org/apache/sling/distribution/agent/impl/SimpleDistributionAgentTest.java Tue Aug 23 10:12:25 2016 @@ -22,6 +22,8 @@ import java.util.ArrayList; import java.util.Arrays; import java.util.Collections; +import javax.annotation.Nonnull; + import org.apache.sling.api.resource.ResourceResolver; import org.apache.sling.api.resource.ResourceResolverFactory; import org.apache.sling.distribution.DistributionRequest; @@ -29,6 +31,7 @@ import org.apache.sling.distribution.Dis import org.apache.sling.distribution.DistributionRequestType; import org.apache.sling.distribution.DistributionResponse; import org.apache.sling.distribution.SimpleDistributionRequest; +import org.apache.sling.distribution.common.DistributionException; import org.apache.sling.distribution.event.impl.DistributionEventFactory; import org.apache.sling.distribution.log.impl.DefaultDist
svn commit: r1757192 - in /sling/trunk/contrib/extensions/distribution: core/ core/src/main/java/org/apache/sling/distribution/serialization/impl/vlt/ it/
Author: tmaret Date: Mon Aug 22 15:06:44 2016 New Revision: 1757192 URL: http://svn.apache.org/viewvc?rev=1757192=rev Log: SLING-5906 - Allow to filter resource by properties * Update org.apache.jackrabbit.vault dependency in order to include JCRVLT-120 * Allow to configure a Package Property Filter, pass the configured filters to the vlt WorkspaceFilter Modified: sling/trunk/contrib/extensions/distribution/core/pom.xml 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/it/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=1757192=1757191=1757192=diff == --- sling/trunk/contrib/extensions/distribution/core/pom.xml (original) +++ sling/trunk/contrib/extensions/distribution/core/pom.xml Mon Aug 22 15:06:44 2016 @@ -211,7 +211,7 @@ org.apache.jackrabbit.vault org.apache.jackrabbit.vault -3.1.24 +3.1.28 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=1757192=1757191=1757192=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 Aug 22 15:06:44 2016 @@ -64,19 +64,21 @@ public class FileVaultContentSerializer private final AccessControlHandling aclHandling; private final String[] packageRoots; private final int autosaveThreshold; -private final TreeMap<String, List> filters; +private final TreeMap<String, List> nodeFilters; +private final TreeMap<String, List> propertyFilters; private final boolean useBinaryReferences; private final String name; public FileVaultContentSerializer(String name, Packaging packaging, ImportMode importMode, AccessControlHandling aclHandling, String[] packageRoots, - String[] filters, boolean useBinaryReferences, int autosaveThreshold) { + String[] nodeFilters, String[] propertyFilters, boolean useBinaryReferences, int autosaveThreshold) { this.name = name; this.packaging = packaging; this.importMode = importMode; this.aclHandling = aclHandling; this.packageRoots = packageRoots; this.autosaveThreshold = autosaveThreshold; -this.filters = VltUtils.parseFilters(filters); +this.nodeFilters = VltUtils.parseFilters(nodeFilters); +this.propertyFilters = VltUtils.parseFilters(propertyFilters); this.useBinaryReferences = useBinaryReferences; } @@ -88,7 +90,7 @@ public class FileVaultContentSerializer String packageGroup = PACKAGE_GROUP; String packageName = TYPE + "_" + System.currentTimeMillis() + "_" + UUID.randomUUID(); -WorkspaceFilter filter = VltUtils.createFilter(request, filters); +WorkspaceFilter filter = VltUtils.createFilter(request, nodeFilters, propertyFilters); ExportOptions opts = VltUtils.getExportOptions(filter, packageRoots, packageGroup, packageName, VERSION, useBinaryReferences); log.debug("assembling package {} user {}", packageGroup + '/' + packageName + "-" + VERSION, resourceResolver.getUserID()); 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=1757192=1757191=1757192=diff == --- sling/trunk/contrib/extensions/distribution/core/src/main
svn commit: r1756735 - in /sling/trunk/contrib/extensions/distribution: core/ core/src/main/java/org/apache/sling/distribution/serialization/impl/vlt/ it/
Author: tmaret Date: Thu Aug 18 08:06:42 2016 New Revision: 1756735 URL: http://svn.apache.org/viewvc?rev=1756735=rev Log: Revert: SLING-5906 - Allow to filter resource by properties * Update org.apache.jackrabbit.vault dependency in order to include JCRVLT-120 * Allow to configure a Package Property Filter, pass the configured filters to the vlt WorkspaceFilter Modified: sling/trunk/contrib/extensions/distribution/core/pom.xml 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/it/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=1756735=1756734=1756735=diff == --- sling/trunk/contrib/extensions/distribution/core/pom.xml (original) +++ sling/trunk/contrib/extensions/distribution/core/pom.xml Thu Aug 18 08:06:42 2016 @@ -211,7 +211,7 @@ org.apache.jackrabbit.vault org.apache.jackrabbit.vault -3.1.27-R1756573 +3.1.24 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=1756735=1756734=1756735=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 Thu Aug 18 08:06:42 2016 @@ -64,21 +64,19 @@ public class FileVaultContentSerializer private final AccessControlHandling aclHandling; private final String[] packageRoots; private final int autosaveThreshold; -private final TreeMap<String, List> nodeFilters; -private final TreeMap<String, List> propertyFilters; +private final TreeMap<String, List> filters; private final boolean useBinaryReferences; private final String name; public FileVaultContentSerializer(String name, Packaging packaging, ImportMode importMode, AccessControlHandling aclHandling, String[] packageRoots, - String[] nodeFilters, String[] propertyFilters, boolean useBinaryReferences, int autosaveThreshold) { + String[] filters, boolean useBinaryReferences, int autosaveThreshold) { this.name = name; this.packaging = packaging; this.importMode = importMode; this.aclHandling = aclHandling; this.packageRoots = packageRoots; this.autosaveThreshold = autosaveThreshold; -this.nodeFilters = VltUtils.parseFilters(nodeFilters); -this.propertyFilters = VltUtils.parseFilters(propertyFilters); +this.filters = VltUtils.parseFilters(filters); this.useBinaryReferences = useBinaryReferences; } @@ -90,7 +88,7 @@ public class FileVaultContentSerializer String packageGroup = PACKAGE_GROUP; String packageName = TYPE + "_" + System.currentTimeMillis() + "_" + UUID.randomUUID(); -WorkspaceFilter filter = VltUtils.createFilter(request, nodeFilters, propertyFilters); +WorkspaceFilter filter = VltUtils.createFilter(request, filters); ExportOptions opts = VltUtils.getExportOptions(filter, packageRoots, packageGroup, packageName, VERSION, useBinaryReferences); log.debug("assembling package {} user {}", packageGroup + '/' + packageName + "-" + VERSION, resourceResolver.getUserID()); 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=1756735=1756734=1756735=diff == --- sling/trunk/contrib/extensions/distribution/core/src/main
svn commit: r1756657 - in /sling/trunk/contrib/extensions/distribution: core/ core/src/main/java/org/apache/sling/distribution/serialization/impl/vlt/ it/
Author: tmaret Date: Wed Aug 17 17:03:54 2016 New Revision: 1756657 URL: http://svn.apache.org/viewvc?rev=1756657=rev Log: SLING-5906 - Allow to filter resource by properties * Update org.apache.jackrabbit.vault dependency in order to include JCRVLT-120 * Allow to configure a Package Property Filter, pass the configured filters to the vlt WorkspaceFilter Modified: sling/trunk/contrib/extensions/distribution/core/pom.xml 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/it/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=1756657=1756656=1756657=diff == --- sling/trunk/contrib/extensions/distribution/core/pom.xml (original) +++ sling/trunk/contrib/extensions/distribution/core/pom.xml Wed Aug 17 17:03:54 2016 @@ -211,7 +211,7 @@ org.apache.jackrabbit.vault org.apache.jackrabbit.vault -3.1.24 +3.1.27-R1756573 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=1756657=1756656=1756657=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 Wed Aug 17 17:03:54 2016 @@ -64,19 +64,21 @@ public class FileVaultContentSerializer private final AccessControlHandling aclHandling; private final String[] packageRoots; private final int autosaveThreshold; -private final TreeMap<String, List> filters; +private final TreeMap<String, List> nodeFilters; +private final TreeMap<String, List> propertyFilters; private final boolean useBinaryReferences; private final String name; public FileVaultContentSerializer(String name, Packaging packaging, ImportMode importMode, AccessControlHandling aclHandling, String[] packageRoots, - String[] filters, boolean useBinaryReferences, int autosaveThreshold) { + String[] nodeFilters, String[] propertyFilters, boolean useBinaryReferences, int autosaveThreshold) { this.name = name; this.packaging = packaging; this.importMode = importMode; this.aclHandling = aclHandling; this.packageRoots = packageRoots; this.autosaveThreshold = autosaveThreshold; -this.filters = VltUtils.parseFilters(filters); +this.nodeFilters = VltUtils.parseFilters(nodeFilters); +this.propertyFilters = VltUtils.parseFilters(propertyFilters); this.useBinaryReferences = useBinaryReferences; } @@ -88,7 +90,7 @@ public class FileVaultContentSerializer String packageGroup = PACKAGE_GROUP; String packageName = TYPE + "_" + System.currentTimeMillis() + "_" + UUID.randomUUID(); -WorkspaceFilter filter = VltUtils.createFilter(request, filters); +WorkspaceFilter filter = VltUtils.createFilter(request, nodeFilters, propertyFilters); ExportOptions opts = VltUtils.getExportOptions(filter, packageRoots, packageGroup, packageName, VERSION, useBinaryReferences); log.debug("assembling package {} user {}", packageGroup + '/' + packageName + "-" + VERSION, resourceResolver.getUserID()); 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=1756657=1756656=1756657=diff == --- sling/trunk/contrib/extensions/distribution/core/src/main
svn commit: r1756653 - /sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/util/impl/DigestUtils.java
Author: tmaret Date: Wed Aug 17 16:59:04 2016 New Revision: 1756653 URL: http://svn.apache.org/viewvc?rev=1756653=rev Log: SLING-5941 - [SCD] Verify the uploaded distribution packages integrity via checksums * Add DigestUtils Added: sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/util/impl/DigestUtils.java Added: sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/util/impl/DigestUtils.java URL: http://svn.apache.org/viewvc/sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/util/impl/DigestUtils.java?rev=1756653=auto == --- sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/util/impl/DigestUtils.java (added) +++ sling/trunk/contrib/extensions/distribution/core/src/main/java/org/apache/sling/distribution/util/impl/DigestUtils.java Wed Aug 17 16:59:04 2016 @@ -0,0 +1,114 @@ +/* + * 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.util.impl; + +import static java.lang.Integer.toHexString; +import static org.apache.commons.io.IOUtils.closeQuietly; + +import java.io.File; +import java.io.FileOutputStream; +import java.io.IOException; +import java.io.InputStream; +import java.io.OutputStream; +import java.io.OutputStreamWriter; +import java.io.StringWriter; +import java.io.Writer; +import java.security.DigestInputStream; +import java.security.DigestOutputStream; +import java.security.MessageDigest; +import java.security.NoSuchAlgorithmException; + +public final class DigestUtils { + +private DigestUtils() { +// do nothing +} + +public static DigestInputStream openDigestInputStream(InputStream mainInputStream, String digestAlgorithm) { +return new DigestInputStream(mainInputStream, getDigest(digestAlgorithm)); +} + +public static DigestOutputStream openDigestOutputStream(OutputStream mainOutputStream, String digestAlgorithm) { +return new DigestOutputStream(mainOutputStream, getDigest(digestAlgorithm)); +} + +private static MessageDigest getDigest(String digestAlgorithm) { +try { +return MessageDigest.getInstance(digestAlgorithm); +} catch (NoSuchAlgorithmException e) { +throw new IllegalArgumentException("Digest algorithm " + digestAlgorithm + " not supported in this version."); +} +} + +public static String readDigestMessage(DigestInputStream input) { +return readDigestMessage(input.getMessageDigest()); +} + +public static String readDigestMessage(DigestOutputStream output) { +return readDigestMessage(output.getMessageDigest()); +} + +private static String readDigestMessage(MessageDigest messageDigest) { +StringWriter writer = new StringWriter(); +try { +readDigest(messageDigest, writer); +} catch (IOException e) { +// it does not happen with the StringWriter +} finally { +closeQuietly(writer); +} +return writer.toString(); +} + +public static File rewriteDigestMessage(DigestOutputStream digestOutput, File target) throws IOException { +File targetDigest = new File(target.getParentFile(), + target.getName() + + '.' + + digestOutput.getMessageDigest() + .getAlgorithm() + .toLowerCase() + .replace('-', Character.MIN_VALUE)); +rewriteDigestMessage(digestOutput, new FileOutputStream(targetDigest)); +return targetDigest; +} + +public static void rewriteDigestMessage(DigestOutputStream digestOutput, OutputStream target) throws IOException { +final Writer writer = new OutputStreamWriter(target); +try { +readDigest(digestOutput.getMessageDigest(), writer); +} fi
svn commit: r994436 - /websites/production/sling/content/
Author: tmaret Date: Thu Aug 4 08:14:28 2016 New Revision: 994436 Log: Publishing svnmucc operation to sling site by tmaret Added: websites/production/sling/content/ - copied from r994435, websites/staging/sling/trunk/content/
svn commit: r1755144 - /sling/site/trunk/content/project-information/project-team.mdtext
Author: tmaret Date: Thu Aug 4 07:50:37 2016 New Revision: 1755144 URL: http://svn.apache.org/viewvc?rev=1755144=rev Log: Adding tmaret as committer Modified: sling/site/trunk/content/project-information/project-team.mdtext Modified: sling/site/trunk/content/project-information/project-team.mdtext URL: http://svn.apache.org/viewvc/sling/site/trunk/content/project-information/project-team.mdtext?rev=1755144=1755143=1755144=diff == --- sling/site/trunk/content/project-information/project-team.mdtext (original) +++ sling/site/trunk/content/project-information/project-team.mdtext Thu Aug 4 07:50:37 2016 @@ -42,6 +42,7 @@ Committers marked with an asterisk (*) a | sseifert (*) | Stefan Seifert | pro!vision GmbH | Java Developer | | stefanegli (*) | Stefan Egli | Adobe | Java Developer | | thecarlhall | Carl Hall | Hallway Technologies | Java Developer | +| tmaret | Timothee Maret | Adobe | Java Developer | | tommaso | Tommaso Teofili | Adobe | Java Developer | | tomekr | Tomek RÄkawek | | Java Developer | | vramdal | Vidar Ramdal | | Java Developer |