diff options
Diffstat (limited to 'src/main/java/org/openecomp/sparky/synchronizer/CrossEntityReferenceSynchronizer.java')
-rw-r--r-- | src/main/java/org/openecomp/sparky/synchronizer/CrossEntityReferenceSynchronizer.java | 24 |
1 files changed, 16 insertions, 8 deletions
diff --git a/src/main/java/org/openecomp/sparky/synchronizer/CrossEntityReferenceSynchronizer.java b/src/main/java/org/openecomp/sparky/synchronizer/CrossEntityReferenceSynchronizer.java index 2ba2500..c1da401 100644 --- a/src/main/java/org/openecomp/sparky/synchronizer/CrossEntityReferenceSynchronizer.java +++ b/src/main/java/org/openecomp/sparky/synchronizer/CrossEntityReferenceSynchronizer.java @@ -106,7 +106,8 @@ public class CrossEntityReferenceSynchronizer extends AbstractEntitySynchronizer private static final Logger LOG = LoggerFactory.getInstance().getLogger(CrossEntityReferenceSynchronizer.class); - + + private static final String SERVICE_INSTANCE = "service-instance"; private Deque<SelfLinkDescriptor> selflinks; private Deque<RetryCrossEntitySyncContainer> retryQueue; private Map<String, Integer> retryLimitTracker; @@ -133,6 +134,7 @@ public class CrossEntityReferenceSynchronizer extends AbstractEntitySynchronizer this.esEntityStats.initializeCountersFromOxmEntityDescriptors( oxmModelLoader.getCrossReferenceEntityDescriptors()); this.aaiConfig = aaiConfig; + this.syncDurationInMs = -1; } /* (non-Javadoc) @@ -140,6 +142,7 @@ public class CrossEntityReferenceSynchronizer extends AbstractEntitySynchronizer */ @Override public OperationState doSync() { + this.syncDurationInMs = -1; String txnID = NodeUtils.getRandomTxnId(); MdcContext.initialize(txnID, "CrossEntitySynchronizer", "", "Sync", ""); @@ -163,8 +166,8 @@ public class CrossEntityReferenceSynchronizer extends AbstractEntitySynchronizer */ @Override public String getStatReport(boolean showFinalReport) { - return this.getStatReport(System.currentTimeMillis() - syncStartedTimeStampInMs, - showFinalReport); + syncDurationInMs = System.currentTimeMillis() - syncStartedTimeStampInMs; + return getStatReport(syncDurationInMs, showFinalReport); } /* (non-Javadoc) @@ -483,18 +486,23 @@ public class CrossEntityReferenceSynchronizer extends AbstractEntitySynchronizer * Build generic-query to query child instance self-link from AAI */ List<String> orderedQueryKeyParams = new ArrayList<String>(); - orderedQueryKeyParams.add(parentEntityQueryString); - orderedQueryKeyParams.add(childEntityQueryKeyString); + if (SERVICE_INSTANCE.equals(childEntityType)) { + orderedQueryKeyParams.clear(); + orderedQueryKeyParams.add(childEntityQueryKeyString); + } else { + orderedQueryKeyParams.add(parentEntityQueryString); + orderedQueryKeyParams.add(childEntityQueryKeyString); + } String genericQueryStr = null; try { genericQueryStr = aaiDataProvider.getGenericQueryForSelfLink(childEntityType, orderedQueryKeyParams); if (genericQueryStr != null) { - + aaiWorkOnHand.incrementAndGet(); OperationResult aaiQueryResult = aaiDataProvider.queryActiveInventoryWithRetries( genericQueryStr, "application/json", aaiConfig.getAaiRestConfig().getNumRequestRetries()); - + aaiWorkOnHand.decrementAndGet(); if (aaiQueryResult!= null && aaiQueryResult.wasSuccessful()) { Collection<JsonNode> entityLinks = new ArrayList<JsonNode>(); @@ -527,7 +535,7 @@ public class CrossEntityReferenceSynchronizer extends AbstractEntitySynchronizer parentCrossEntityReferenceAttributeValue); } - icer.setLink(selfLink); + icer.setLink(ActiveInventoryConfig.extractResourcePath(selfLink)); icer.deriveFields(); |