From 0cf9ec6d67cb15d5844e040a561d16639a280739 Mon Sep 17 00:00:00 2001 From: Fred Bricon Date: Tue, 18 Aug 2015 15:53:28 -0400 Subject: 471840 : fix configurator isRoot computation Change-Id: Ic9bfb3afc45e22a0b0e3cbb2c69e35566db56fa7 Signed-off-by: Fred Bricon --- .../ProjectConfigurationElementSorter.java | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) (limited to 'org.eclipse.m2e.core') diff --git a/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/lifecyclemapping/ProjectConfigurationElementSorter.java b/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/lifecyclemapping/ProjectConfigurationElementSorter.java index 33a6b1b7..7e6043b7 100644 --- a/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/lifecyclemapping/ProjectConfigurationElementSorter.java +++ b/org.eclipse.m2e.core/src/org/eclipse/m2e/core/internal/lifecyclemapping/ProjectConfigurationElementSorter.java @@ -89,7 +89,8 @@ public class ProjectConfigurationElementSorter { } } - if(runsAfter != null) { + if(runsAfter != null && runsAfter.length > 0) { + allSecondaryConfigurators.add(key); for(String id : runsAfter) { id = id.trim(); if(id.isEmpty()) { @@ -165,7 +166,7 @@ public class ProjectConfigurationElementSorter { for(String id : sortedExecutions) { //Remove incomplete metadata - if(_incompletes.containsKey(id) || _missingIds.contains(id)) { + if(!configuratorIds.contains(id) || _incompletes.containsKey(id) || _missingIds.contains(id)) { continue; } @@ -267,13 +268,12 @@ public class ProjectConfigurationElementSorter { * @return true if a configurator id is a root configurator (i.e. has no parent) */ public boolean isRootConfigurator(String configuratorId) { - if(configuratorId == null) { + if(configuratorId == null || incompleteConfigurators.containsKey(configuratorId)) { return false; } - boolean isRoot = primaryConfigurators.containsKey(configuratorId); - if(!isRoot) { - isRoot = !allSecondaryConfigurators.contains(configuratorId); - } + boolean isPrimary = primaryConfigurators.containsKey(configuratorId); + boolean isSecondary = allSecondaryConfigurators.contains(configuratorId); + boolean isRoot = (isPrimary && (primaryConfigurators.size() == 1 || !isSecondary)) || (!isPrimary && !isSecondary); return isRoot; } -- cgit v1.2.3