Ate Douma pushed to branch release/4.0 at cms-community / hippo-repository

Commits:
95404314 by Ate Douma at 2016-08-05T16:57:16+02:00
REPO-1539: [backport 11.0] ensure downstream initializeitems are executed after 
their upstream initializeitems

(cherry picked from commit 39ef441d7d7ffa02f4fd3a9d813fab20270a432b)

- - - - -
422bddaa by Ate Douma at 2016-08-05T16:57:30+02:00
REPO-1539: [backport 11.0] only detect and mark downstream items for 
ContentResource InitializeItems

(cherry picked from commit 5aef16fe17adaeac2f418edf9aa2acb8d4876d4b)

- - - - -
c52039c3 by Ate Douma at 2016-08-05T16:58:31+02:00
Reintegrate bugfix/REPO-1539

- - - - -


2 changed files:

- engine/src/main/java/org/onehippo/repository/bootstrap/InitializeItem.java
- 
engine/src/main/java/org/onehippo/repository/bootstrap/InitializeItemComparator.java


Changes:

=====================================
engine/src/main/java/org/onehippo/repository/bootstrap/InitializeItem.java
=====================================
--- a/engine/src/main/java/org/onehippo/repository/bootstrap/InitializeItem.java
+++ b/engine/src/main/java/org/onehippo/repository/bootstrap/InitializeItem.java
@@ -586,7 +586,20 @@ public class InitializeItem {
         return Boolean.parseBoolean(reloadProperty);
     }
 
+    private static boolean canBeUpstreamItem(final InitializeItem item) throws 
RepositoryException {
+        for (InitializeInstruction upstreamInstruction : 
item.getInstructions()) {
+            // only ContentResource InitializeItems are potential upstream 
items
+            if (upstreamInstruction instanceof ContentResourceInstruction) {
+                return true;
+            }
+        }
+        return false;
+    }
+
     boolean isDownstreamItem(final InitializeItem upstreamItem) throws 
RepositoryException {
+        if (!canBeUpstreamItem(upstreamItem)) {
+            return false;
+        }
         if (itemNode.isSame(upstreamItem.getItemNode())) {
             return false;
         }


=====================================
engine/src/main/java/org/onehippo/repository/bootstrap/InitializeItemComparator.java
=====================================
--- 
a/engine/src/main/java/org/onehippo/repository/bootstrap/InitializeItemComparator.java
+++ 
b/engine/src/main/java/org/onehippo/repository/bootstrap/InitializeItemComparator.java
@@ -77,6 +77,12 @@ class InitializeItemComparator implements 
Comparator<InitializeItem> {
         if (result != 0) {
             return result;
         }
+        if (i2.isDownstreamItem(i1)) {
+            return -1;
+        }
+        if ( i1.isDownstreamItem(i2)) {
+            return 1;
+        }
         return i1.getName().compareTo(i2.getName());
     }
 



View it on GitLab: 
https://code.onehippo.org/cms-community/hippo-repository/compare/9122ca2d34359fa07e5b14c288246900cba6fc84...c52039c310666b5ed155fc7faa346ae0f9fd924e
_______________________________________________
Hippocms-svn mailing list
Hippocms-svn@lists.onehippo.org
https://lists.onehippo.org/mailman/listinfo/hippocms-svn

Reply via email to