X-Git-Url: https://gerrit.onap.org/r/gitweb?a=blobdiff_plain;f=holmes-actions%2Fsrc%2Fmain%2Fjava%2Forg%2Fonap%2Fholmes%2Fcommon%2Faai%2FCorrelationUtil.java;h=9295f53f9eca05b62c7933309ca8f2e98428c6c0;hb=c9ed775685b01f5622618216748eeac3000285c4;hp=894b6f1256ce6117e5b37b3c8a3442b3c8a5aca2;hpb=4eaf0290dd2572f40526da9cfd09a1ccee4da76d;p=holmes%2Fcommon.git diff --git a/holmes-actions/src/main/java/org/onap/holmes/common/aai/CorrelationUtil.java b/holmes-actions/src/main/java/org/onap/holmes/common/aai/CorrelationUtil.java index 894b6f1..9295f53 100644 --- a/holmes-actions/src/main/java/org/onap/holmes/common/aai/CorrelationUtil.java +++ b/holmes-actions/src/main/java/org/onap/holmes/common/aai/CorrelationUtil.java @@ -18,12 +18,13 @@ import java.util.Optional; import lombok.extern.slf4j.Slf4j; import org.onap.holmes.common.aai.entity.RelationshipList.Relationship; import org.onap.holmes.common.aai.entity.VmEntity; +import org.onap.holmes.common.dropwizard.ioc.utils.ServiceLocatorHolder; import org.onap.holmes.common.exception.CorrelationException; @Slf4j public class CorrelationUtil { - private AaiQuery aaiQuery; + private static AaiQuery aaiQuery; private static class LazyHolder { private static final CorrelationUtil INSTANCE = new CorrelationUtil(); @@ -31,31 +32,33 @@ public class CorrelationUtil { private CorrelationUtil (){} public static final CorrelationUtil getInstance() { + if (aaiQuery == null) { + aaiQuery = ServiceLocatorHolder.getLocator().getService(AaiQuery.class); + } return LazyHolder.INSTANCE; } - public boolean isTopologicallyRelated(String eventId, String sourceId, String sourceName) { - - return Optional.ofNullable(getVmEntity(sourceId, sourceName)).map(vmEntity -> - getIsRelated(eventId, vmEntity)).orElse(false); + public boolean isTopologicallyRelated(String sourceId, String rootSourceId, String rootSourceName) { + return Optional.ofNullable(getVmEntity(rootSourceId, rootSourceName)).map(vmEntity -> + getIsRelated(sourceId, vmEntity)).orElse(false); } - private boolean getIsRelated(String eventId, VmEntity vmEntity) { + private boolean getIsRelated(String sourceId, VmEntity vmEntity) { List relationships = vmEntity.getRelationshipList().getRelationships(); for (Relationship relationship : relationships) { boolean isRelated = relationship.getRelationshipDataList().stream().anyMatch( - relationshipData -> relationshipData.getRelationshipValue().equals(eventId)); + relationshipData -> relationshipData.getRelationshipValue().equals(sourceId)); if (isRelated) { return true; } } - return false; + return false; } - private VmEntity getVmEntity(String sourceId, String sourceName) { + private VmEntity getVmEntity(String rootSourceId, String rootSourceName) { VmEntity vmEntity = null; try { - vmEntity = aaiQuery.getAaiVmData(sourceId, sourceName); + vmEntity = aaiQuery.getAaiVmData(rootSourceId, rootSourceName); } catch (CorrelationException e) { log.error("Failed to get vm data", e.getMessage()); }