From 976c37263f4087ae3c12e704a66fe78c81b142ed Mon Sep 17 00:00:00 2001 From: Jennie Jia Date: Wed, 19 Sep 2018 19:22:56 +0000 Subject: Fix the AAI Ctx Builder start up issue Issue-ID: LOG-661 Change-Id: I3dd6739dba45bfdf75ada98640b907dfe56f8ff5 Signed-off-by: Jennie Jia --- pom.xml | 724 +++++++++++---------- .../contextbuilder/aai/common/LogMessages.java | 2 +- .../pomba/contextbuilder/aai/util/RestUtil.java | 17 +- 3 files changed, 375 insertions(+), 368 deletions(-) diff --git a/pom.xml b/pom.xml index f06a3e1..e41084a 100644 --- a/pom.xml +++ b/pom.xml @@ -1,361 +1,363 @@ - - - 4.0.0 - - org.onap.logging-analytics.pomba - pomba-aai-context-builder - 1.3.1-SNAPSHOT - - - org.onap.oparent - oparent - 1.2.0 - - - - - 1.2.1 - UTF-8 - 1.2.3 - ${project.build.directory}/generated-resources/swagger - - ${project.version}-${timestamp} - ${project.version}-latest - - - - - - org.springframework.boot - spring-boot-dependencies - 1.5.12.RELEASE - pom - import - - - - - - - org.eclipse.jetty - jetty-security - - - - - org.springframework.boot - spring-boot-starter-jersey - - - org.springframework.boot - spring-boot-starter-web - - - org.springframework.boot - spring-boot-starter-actuator - - - org.onap.logging-analytics.pomba - pomba-audit-common - 1.3.1-SNAPSHOT - - - com.google.code.gson - gson - - - - org.slf4j - slf4j-api - - - org.onap.logging-analytics - logging-slf4j - 1.2.2-SNAPSHOT - - - com.att.eelf - eelf-core - - - - - org.glassfish.jersey.core - jersey-client - - - org.glassfish.jersey.core - jersey-common - - - org.apache.commons - commons-lang3 - 3.7 - - - org.json - json - - - com.jayway.jsonpath - json-path - - - org.onap.aai - rest-client - ${aai.rest.client.version} - - - org.apache.logging.log4j - log4j-slf4j-impl - - - - - io.swagger - swagger-core - 1.5.9 - - - io.swagger - swagger-annotations - 1.5.9 - - - junit - junit - test - - - org.springframework.boot - spring-boot-starter-test - test - - - org.mockito - mockito-all - 1.10.19 - test - - - com.github.tomakehurst - wiremock - 2.18.0 - test - - - - - ${project.artifactId} - - - org.springframework.boot - spring-boot-maven-plugin - - - - repackage - - - - - - - - - config - config - true - - **/* - - - - - - - - docker - - - - io.fabric8 - docker-maven-plugin - 0.19.1 - - true - 1.23 - - - onap/${project.artifactId} - ${project.artifactId} - - try - ${project.basedir}/target/docker-stage - - ${docker.snapshot.tag} - ${docker.latest.tag} - - - - - - - - generate-images - generate-sources - - build - - - - push-images - deploy - - build - push - - - - - - maven-resources-plugin - 3.1.0 - - - copy-resources - - prepare-package - - copy-resources - - - ${project.build.outputDirectory} - - - - ${project.build.directory}/generated-resources/swagger - - META-INF/resources/swagger - - - - - - - - - com.github.kongchen - swagger-maven-plugin - 3.1.3 - - - - org.onap.pomba.contextbuilder.aai.service.rs - /aaicontextbuilder - - ${project.artifactId} Service - ${project.version} - - ${swagger.directory} - - - - - - - package - - generate - - - - - - maven-resources-plugin - 2.6 - - - copy-dockerfile - - copy-resources - - package - - ${project.basedir}/target/docker-stage - - - src/main/docker - - Dockerfile - - true - - - - - - copy-properties - - copy-resources - - validate - - ${project.basedir}/target/docker-stage/config - - - config - - *.properties - *.xml - - false - - - - - - copy-script - - copy-resources - - package - - ${project.basedir}/target/docker-stage/ - - - src/main/docker - - *.sh - - false - - - - - - copy-jar - - copy-resources - - package - - ${project.basedir}/target/docker-stage/ - - - target - - *.jar - - false - - - - - - - - - - - + + + 4.0.0 + + org.onap.logging-analytics.pomba + pomba-aai-context-builder + 1.3.1-SNAPSHOT + + + org.onap.oparent + oparent + 1.2.0 + + + + + 1.3.0-SNAPSHOT + UTF-8 + 1.2.3 + ${project.build.directory}/generated-resources/swagger + + ${project.version}-${timestamp} + ${project.version}-latest + + + + + + org.springframework.boot + spring-boot-dependencies + 1.5.12.RELEASE + pom + import + + + + + + + org.eclipse.jetty + jetty-security + + + + + org.springframework.boot + spring-boot-starter-jersey + + + org.springframework.boot + spring-boot-starter-web + + + org.springframework.boot + spring-boot-starter-actuator + + + org.onap.logging-analytics.pomba + pomba-audit-common + 1.3.1-SNAPSHOT + + + com.google.code.gson + gson + + + + org.slf4j + slf4j-api + + + org.onap.logging-analytics + logging-slf4j + 1.2.2-SNAPSHOT + + + com.att.eelf + eelf-core + + + + + org.glassfish.jersey.core + jersey-client + + + org.glassfish.jersey.core + jersey-common + + + org.apache.commons + commons-lang3 + 3.7 + + + org.json + json + + + com.jayway.jsonpath + json-path + + + + io.swagger + swagger-core + 1.5.9 + + + io.swagger + swagger-annotations + 1.5.9 + + + junit + junit + test + + + org.springframework.boot + spring-boot-starter-test + test + + + org.mockito + mockito-all + 1.10.19 + test + + + com.github.tomakehurst + wiremock + 2.18.0 + test + + + + org.onap.aai + rest-client + ${aai.rest.client.version} + + + org.apache.logging.log4j + log4j-slf4j-impl + + + + + + + + ${project.artifactId} + + + org.springframework.boot + spring-boot-maven-plugin + + + + repackage + + + + + + + + + config + config + true + + **/* + + + + + + + + docker + + + + io.fabric8 + docker-maven-plugin + 0.19.1 + + true + 1.23 + + + onap/${project.artifactId} + ${project.artifactId} + + try + ${project.basedir}/target/docker-stage + + ${docker.snapshot.tag} + ${docker.latest.tag} + + + + + + + + generate-images + + build + + + + push-images + deploy + + build + push + + + + + + maven-resources-plugin + 3.1.0 + + + copy-resources + + prepare-package + + copy-resources + + + ${project.build.outputDirectory} + + + + ${project.build.directory}/generated-resources/swagger + + META-INF/resources/swagger + + + + + + + + + com.github.kongchen + swagger-maven-plugin + 3.1.3 + + + + org.onap.pomba.contextbuilder.aai.service.rs + /aaicontextbuilder + + ${project.artifactId} Service + ${project.version} + + ${swagger.directory} + + + + + + + package + + generate + + + + + + maven-resources-plugin + 2.6 + + + copy-dockerfile + + copy-resources + + package + + ${project.basedir}/target/docker-stage + + + src/main/docker + + Dockerfile + + true + + + + + + copy-properties + + copy-resources + + validate + + ${project.basedir}/target/docker-stage/config + + + config + + *.properties + *.xml + + false + + + + + + copy-script + + copy-resources + + package + + ${project.basedir}/target/docker-stage/ + + + src/main/docker + + *.sh + + false + + + + + + copy-jar + + copy-resources + + package + + ${project.basedir}/target/docker-stage/ + + + target + + *.jar + + false + + + + + + + + + + + diff --git a/src/main/java/org/onap/pomba/contextbuilder/aai/common/LogMessages.java b/src/main/java/org/onap/pomba/contextbuilder/aai/common/LogMessages.java index 762543c..d027d4a 100644 --- a/src/main/java/org/onap/pomba/contextbuilder/aai/common/LogMessages.java +++ b/src/main/java/org/onap/pomba/contextbuilder/aai/common/LogMessages.java @@ -21,7 +21,7 @@ public class LogMessages { private LogMessages() {} - public static final String AAI_CONTEXT_BUILDER_URL = "AAI Context Builder URL: "; + public static final String AAI_CONTEXT_BUILDER_URL = "AAI Context Builder URL: {}"; public static final String HEADER_MESSAGE = "Header {} not present in request, generating new value: {}"; public static final String NOT_FOUND = "{} {} is not found from AAI"; public static final String NUMBER_OF_API_CALLS = "The number of API calls for {} is {}"; diff --git a/src/main/java/org/onap/pomba/contextbuilder/aai/util/RestUtil.java b/src/main/java/org/onap/pomba/contextbuilder/aai/util/RestUtil.java index 19de411..c0ae25c 100644 --- a/src/main/java/org/onap/pomba/contextbuilder/aai/util/RestUtil.java +++ b/src/main/java/org/onap/pomba/contextbuilder/aai/util/RestUtil.java @@ -14,7 +14,7 @@ package org.onap.pomba.contextbuilder.aai.util; -import com.sun.jersey.core.util.MultivaluedMapImpl; + import java.util.ArrayList; import java.util.Collections; import java.util.HashMap; @@ -26,7 +26,7 @@ import java.util.concurrent.ConcurrentMap; import java.util.concurrent.atomic.AtomicInteger; import javax.ws.rs.core.HttpHeaders; import javax.ws.rs.core.MediaType; -import javax.ws.rs.core.MultivaluedMap; +import javax.ws.rs.core.MultivaluedHashMap; import javax.ws.rs.core.Response.Status; import org.json.JSONArray; import org.json.JSONException; @@ -62,9 +62,6 @@ public class RestUtil { private static Logger log = LoggerFactory.getLogger(RestUtil.class); // Parameters for Query AAI Model Data API private static final String SERVICE_INSTANCE_ID = "serviceInstanceId"; - private static final String MODEL_VERSION_ID = "modelVersionId"; - private static final String MODEL_INVARIANT_ID = "modelInvariantId"; - // HTTP headers private static final String TRANSACTION_ID = "X-TransactionId"; @@ -179,6 +176,14 @@ public class RestUtil { // Obtain resource-link based on resource-type = service-Instance String resourceLink = obtainResouceLinkBasedOnServiceInstanceFromAAI(aaiClient, baseURL, aaiPathToSearchNodeQuery, serviceInstanceId, transactionId, aaiBasicAuthorization); + + // Handle the case if the service instance is not found in AAI + if (resourceLink==null) { + // return the empty Json on the root level. i.e service instance + return null; + } + + // Build URl to get ServiceInstance Payload String url = baseURL + resourceLink; // Response from service instance API call @@ -669,7 +674,7 @@ public class RestUtil { } private static Map> buildHeaders(String aaiBasicAuthorization, String transactionId) { - MultivaluedMap headers = new MultivaluedMapImpl(); + MultivaluedHashMap headers = new MultivaluedHashMap(); headers.put(TRANSACTION_ID, Collections.singletonList(transactionId)); headers.put(FROM_APP_ID, Collections.singletonList(APP_NAME)); headers.put(AUTHORIZATION, Collections.singletonList(aaiBasicAuthorization)); -- cgit 1.2.3-korg