This is an automated email from the ASF dual-hosted git repository.

davidb pushed a commit to branch master
in repository 
https://gitbox.apache.org/repos/asf/sling-org-apache-sling-feature-extension-content.git

commit 8db9091e8e70e971632390a5af4654184e937244
Author: Dominik Suess <[email protected]>
AuthorDate: Tue Oct 9 09:16:28 2018 +0200

    SLING-7991 - setting order to Integer.MAX_VALUE for processing last if 
start-order is not set.
---
 .../apache/sling/feature/extension/content/ContentHandler.java   | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

diff --git 
a/src/main/java/org/apache/sling/feature/extension/content/ContentHandler.java 
b/src/main/java/org/apache/sling/feature/extension/content/ContentHandler.java
index e19ba12..8a84ddb 100644
--- 
a/src/main/java/org/apache/sling/feature/extension/content/ContentHandler.java
+++ 
b/src/main/java/org/apache/sling/feature/extension/content/ContentHandler.java
@@ -95,7 +95,14 @@ public class ContentHandler implements ExtensionHandler {
                 && 
extension.getName().equals(FeatureConstants.EXTENSION_NAME_CONTENT_PACKAGES)) {
             MultiValueMap orderedArtifacts = MultiValueMap.decorate(new 
LinkedHashMap<Integer, Collection<Artifact>>());
             for (final Artifact a : extension.getArtifacts()) {
-                orderedArtifacts.put(Integer.valueOf(a.getStartOrder()), a);
+                int order;
+                // content-packages without explicit start-order to be 
installed last
+                if (a.getMetadata().get(Artifact.KEY_START_ORDER) != null) {
+                    order = Integer.valueOf(a.getStartOrder());
+                } else {
+                    order = Integer.MAX_VALUE;
+                }
+                orderedArtifacts.put(order, a);
             }
             List<String> executionPlans = new ArrayList<String>();
             for (Object key : orderedArtifacts.keySet()) {

Reply via email to