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

Commits:
39ef441d by Ate Douma at 2016-08-05T16:29:33+02:00
REPO-1537: ensure downstream initializeitems are executed after their upstream 
initializeitems

- - - - -
5aef16fe by Ate Douma at 2016-08-05T16:29:33+02:00
REPO-1537: only detect and mark downstream items for ContentResource 
InitializeItems

- - - - -
00ba0791 by Ate Douma at 2016-08-05T16:37:05+02:00
Reintegrate bugfix/REPO-1537

- - - - -


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/d4cc85bf49fa46e90b8428fa125324f3d4785518...00ba0791a59a8a12ff5b96b5e95bd68a1941962b
_______________________________________________
Hippocms-svn mailing list
Hippocms-svn@lists.onehippo.org
https://lists.onehippo.org/mailman/listinfo/hippocms-svn

Reply via email to