aboutsummaryrefslogtreecommitdiffstats
path: root/appc-event-listener/appc-event-listener-bundle/src/main/java/org/openecomp/appc/listener/LCM/conv/Converter.java
diff options
context:
space:
mode:
Diffstat (limited to 'appc-event-listener/appc-event-listener-bundle/src/main/java/org/openecomp/appc/listener/LCM/conv/Converter.java')
-rw-r--r--appc-event-listener/appc-event-listener-bundle/src/main/java/org/openecomp/appc/listener/LCM/conv/Converter.java45
1 files changed, 31 insertions, 14 deletions
diff --git a/appc-event-listener/appc-event-listener-bundle/src/main/java/org/openecomp/appc/listener/LCM/conv/Converter.java b/appc-event-listener/appc-event-listener-bundle/src/main/java/org/openecomp/appc/listener/LCM/conv/Converter.java
index 021dfefc8..29e0fc723 100644
--- a/appc-event-listener/appc-event-listener-bundle/src/main/java/org/openecomp/appc/listener/LCM/conv/Converter.java
+++ b/appc-event-listener/appc-event-listener-bundle/src/main/java/org/openecomp/appc/listener/LCM/conv/Converter.java
@@ -30,14 +30,15 @@ import org.openecomp.appc.listener.LCM.model.DmaapMessage;
import org.openecomp.appc.listener.LCM.model.DmaapOutgoingMessage;
import org.openecomp.appc.listener.util.Mapper;
-
public class Converter {
-
-
- public static DmaapOutgoingMessage convJsonNodeToDmaapOutgoingMessage(JsonNode inObj, String rpcName) {
- DmaapOutgoingMessage outObj = new DmaapOutgoingMessage();
+
+ public static DmaapOutgoingMessage convJsonNodeToDmaapOutgoingMessage(DmaapMessage event, JsonNode inObj) {
+ DmaapOutgoingMessage outObj = new DmaapOutgoingMessage();
outObj.setBody(inObj);
- outObj.setRpcName(rpcName);
+ outObj.setRpcName(event.getRpcName());
+ outObj.setVersion(event.getVersion());
+ outObj.setType("response");
+ outObj.setCorrelationID(event.getCorrelationID());
return outObj;
}
@@ -50,13 +51,16 @@ public class Converter {
}
- public static DmaapOutgoingMessage buildDmaapOutgoingMessageWithUnexpectedError(JsonNode dmaapInputBody, String rpcName,Exception inputException) {
- DmaapOutgoingMessage dmaapOutgoingMessage = null;
+ public static DmaapOutgoingMessage buildDmaapOutgoingMessageWithUnexpectedError(DmaapMessage event,Exception inputException) {
+ DmaapOutgoingMessage dmaapOutgoingMessage = null;
String errMsg = StringUtils.isEmpty(inputException.getMessage())? inputException.toString() : inputException.getMessage();
- JSONObject commonHeaderJsonObject = Mapper.toJsonObject(dmaapInputBody.get("input").get("common-header"));
+ JSONObject commonHeaderJsonObject = Mapper.toJsonObject(event.getBody().get("input").get("common-header"));
JSONObject jsonObjectOutput = new JSONObject().accumulate("common-header", commonHeaderJsonObject).accumulate("status", new JSONObject().accumulate("code",200).accumulate("value",errMsg));
dmaapOutgoingMessage = new DmaapOutgoingMessage();
- dmaapOutgoingMessage.setRpcName(rpcName);
+ dmaapOutgoingMessage.setRpcName(event.getRpcName());
+ dmaapOutgoingMessage.setCorrelationID(event.getCorrelationID());
+ dmaapOutgoingMessage.setType("error");
+ dmaapOutgoingMessage.setVersion(event.getVersion());
JSONObject jsonObjectBody = new JSONObject().accumulate("output",jsonObjectOutput);
JsonNode jsonNodeBody = Mapper.toJsonNodeFromJsonString(jsonObjectBody.toString());
dmaapOutgoingMessage.setBody(jsonNodeBody);
@@ -64,12 +68,10 @@ public class Converter {
}
public static String extractRequestIdWithSubId(JsonNode dmaapBody) {
- String requestId;
//TODO: null pointer exception if dmaapBody is null, check if null or ensure is not null before calling
JsonNode commonHeaderJsonNode = dmaapBody.get("input").get("common-header");
- requestId = commonHeaderJsonNode.get("request-id").asText();
- requestId = requestId != null ? requestId : "";
- String subRequestId = commonHeaderJsonNode.get("sub-request-id").asText();
+ String requestId = getValue(commonHeaderJsonNode,"request-id","");
+ String subRequestId = getValue(commonHeaderJsonNode,"sub-request-id","");
if(!StringUtils.isEmpty(subRequestId)){
requestId = requestId +"-"+subRequestId;
}
@@ -82,4 +84,19 @@ public class Converter {
return statusCode;
}
+ private static String getValue(JsonNode jsonNode,String name,String defaultValue){
+ if(jsonNode == null){
+ return defaultValue;
+ }
+ JsonNode childJsonNode = jsonNode.get(name);
+ if(childJsonNode == null){
+ return defaultValue;
+ }
+ String value = childJsonNode.asText();
+ if(value == null){
+ return defaultValue;
+ }
+ return value;
+ }
+
}