summaryrefslogtreecommitdiffstats
path: root/src/main/java/org/openecomp/sparky/synchronizer/CrossEntityReferenceSynchronizer.java
diff options
context:
space:
mode:
authorARUL NAMBI <arul.nambi@amdocs.com>2017-07-25 14:46:08 -0400
committerARUL NAMBI <arul.nambi@amdocs.com>2017-07-25 14:46:59 -0400
commitd4241a5c945d04e44716851cfd2b7ef427accb48 (patch)
tree805b432231bca7732ea30af365d2b53f534c0ddd /src/main/java/org/openecomp/sparky/synchronizer/CrossEntityReferenceSynchronizer.java
parentf8de1f25e7c71380a61b96d5251f224e3a4c821f (diff)
Fixing the sync issues with AAI
Issue-ID: AAI-73 Change-Id: I5c7df7c24c59c347b112cdb003eea726e239a1ca Signed-off-by: ARUL NAMBI <arul.nambi@amdocs.com>
Diffstat (limited to 'src/main/java/org/openecomp/sparky/synchronizer/CrossEntityReferenceSynchronizer.java')
-rw-r--r--src/main/java/org/openecomp/sparky/synchronizer/CrossEntityReferenceSynchronizer.java24
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();