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