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