diff options
Diffstat (limited to 'openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/utils/ComponentDependencyTracker.java')
-rw-r--r-- | openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/utils/ComponentDependencyTracker.java | 78 |
1 files changed, 37 insertions, 41 deletions
diff --git a/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/utils/ComponentDependencyTracker.java b/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/utils/ComponentDependencyTracker.java index 39f04d67c6..8d6546f209 100644 --- a/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/utils/ComponentDependencyTracker.java +++ b/openecomp-be/backend/openecomp-sdc-vendor-software-product-manager/src/main/java/org/openecomp/sdc/vendorsoftwareproduct/utils/ComponentDependencyTracker.java @@ -13,7 +13,6 @@ * See the License for the specific language governing permissions and * limitations under the License. */ - package org.openecomp.sdc.vendorsoftwareproduct.utils; import java.util.HashMap; @@ -22,51 +21,48 @@ import java.util.Map; import java.util.Set; public class ComponentDependencyTracker { - private final Map<String, Set<String>> store = new HashMap<>(); - /** - * Add dependency. - * - * @param dependent the dependent - * @param dependsOn the depends on - */ - public void addDependency(String dependent, String dependsOn) { - if (dependent != null && dependsOn != null && dependent.trim().length() > 0 && dependsOn.trim() - .length() > 0) { - Set<String> dependsOnList = store - .computeIfAbsent(dependent.toLowerCase(), k -> new HashSet<>()); - dependsOnList.add(dependsOn.toLowerCase()); - } - } + private final Map<String, Set<String>> store = new HashMap<>(); - /** - * Is cyclic dependency present boolean. - * - * @return the boolean - */ - public boolean isCyclicDependencyPresent() { - Set<Map.Entry<String, Set<String>>> entries = store.entrySet(); - for (Map.Entry<String, Set<String>> entry : entries) { - for (String dependentOn : entry.getValue()) { - if (!entry.getKey().equals(dependentOn) && isCyclicDependencyPresent(entry.getKey(), - dependentOn)) { - return true; + /** + * Add dependency. + * + * @param dependent the dependent + * @param dependsOn the depends on + */ + public void addDependency(String dependent, String dependsOn) { + if (dependent != null && dependsOn != null && dependent.trim().length() > 0 && dependsOn.trim().length() > 0) { + Set<String> dependsOnList = store.computeIfAbsent(dependent.toLowerCase(), k -> new HashSet<>()); + dependsOnList.add(dependsOn.toLowerCase()); } - } } - return false; - } - private boolean isCyclicDependencyPresent(String root, String dependentOn) { - Set<String> dependentOnList = store.get(dependentOn); - if (dependentOnList != null && dependentOnList.contains(root)) { - return true; - } else if (dependentOnList != null) { - for (String item : dependentOnList) { - return isCyclicDependencyPresent(root, item); - } + /** + * Is cyclic dependency present boolean. + * + * @return the boolean + */ + public boolean isCyclicDependencyPresent() { + Set<Map.Entry<String, Set<String>>> entries = store.entrySet(); + for (Map.Entry<String, Set<String>> entry : entries) { + for (String dependentOn : entry.getValue()) { + if (!entry.getKey().equals(dependentOn) && isCyclicDependencyPresent(entry.getKey(), dependentOn)) { + return true; + } + } + } + return false; } - return false; - } + private boolean isCyclicDependencyPresent(String root, String dependentOn) { + Set<String> dependentOnList = store.get(dependentOn); + if (dependentOnList != null && dependentOnList.contains(root)) { + return true; + } else if (dependentOnList != null) { + for (String item : dependentOnList) { + return isCyclicDependencyPresent(root, item); + } + } + return false; + } } |