package org.onap.so.bpmn.common.scripts
+import com.google.gson.GsonBuilder
import org.onap.so.beans.nsmf.oof.NsiReqBody
import org.onap.so.beans.nsmf.oof.NssiReqBody
import org.onap.so.beans.nsmf.oof.RequestInfo
import org.slf4j.Logger
import org.slf4j.LoggerFactory
import com.google.gson.JsonObject
-
+import com.google.gson.JsonParser
import com.fasterxml.jackson.databind.ObjectMapper
class OofUtils {
" \"timeout\": 600,\n" +
" \"callbackUrl\": \"${callbackUrl}\"\n" +
" },\n")
- response.append(" \"serviceProfile\": {\n" +
- " \"serviceProfileParameters\": ")
- response.append(json);
- response.append("\n }\n")
+ response.append(" \"serviceProfile\":")
+ response.append(json)
response.append("\n}\n")
return response.toString()
}
+ public String buildSelectNSSTRequest(String requestId,String messageType, Map<String, Object> profileInfo) {
+ def transactionId = requestId
+ logger.debug( "transactionId is: " + transactionId)
+ String correlator = requestId
+ String callbackUrl = UrnPropertiesReader.getVariable("mso.adapters.oof.callback.endpoint") + "/" + messageType + "/" + correlator
+ ObjectMapper objectMapper = new ObjectMapper()
+ String json = objectMapper.writeValueAsString(profileInfo)
+ StringBuilder response = new StringBuilder()
+ response.append(
+ "{\n" +
+ " \"requestInfo\": {\n" +
+ " \"transactionId\": \"${transactionId}\",\n" +
+ " \"requestId\": \"${requestId}\",\n" +
+ " \"sourceId\": \"so\",\n" +
+ " \"timeout\": 600,\n" +
+ " \"callbackUrl\": \"${callbackUrl}\"\n" +
+ " },\n")
+ response.append(" \"SliceProfile\":")
+ response.append(json)
+ response.append("\n}\n")
+ return response.toString()
+ }
+
+
public String buildSelectNSIRequest(String requestId, String nstInfo,String messageType, Map<String, Object> profileInfo){
def transactionId = requestId
String callbackUrl = UrnPropertiesReader.getVariable("mso.adapters.oof.callback.endpoint") + "/" + messageType + "/" + correlator
ObjectMapper objectMapper = new ObjectMapper();
String profileJson = objectMapper.writeValueAsString(profileInfo);
+JsonParser parser = new JsonParser()
//Prepare requestInfo object
JsonObject requestInfo = new JsonObject()
JsonObject json = new JsonObject()
json.add("requestInfo", requestInfo)
json.add("NSSTInfo", nsstInfo)
-json.addProperty("sliceProfile", profileJson)
+json.add("sliceProfile", (JsonObject) parser.parse(profileJson))
+
return json.toString()
}
+
/**
* Method to create NSI/NSSI termination request
* (OOF response will be synchronous in G-Release)
public String buildSelectNSIRequest(String requestId, TemplateInfo nstInfo, List<TemplateInfo> nsstInfo,
String messageType, Map<String, Object> serviceProfile,
- List<SubnetCapability> subnetCapabilities, Integer timeOut){
+ List<SubnetCapability> subnetCapabilities, Integer timeOut, boolean preferReuse){
def transactionId = requestId
String correlator = requestId
requestInfo.setCallbackUrl(callbackUrl)
requestInfo.setSourceId("so")
requestInfo.setTimeout(timeOut)
- //requestInfo.setNumSolutions()
+ requestInfo.setNumSolutions(1)
nsiReqBody.setRequestInfo(requestInfo)
nsiReqBody.setNSTInfo(nstInfo)
nsiReqBody.setServiceProfile(serviceProfile)
nsiReqBody.setSubnetCapabilities(subnetCapabilities)
nsiReqBody.setNSSTInfo(nsstInfo)
+ nsiReqBody.setPreferReuse(preferReuse)
-
- ObjectMapper objectMapper = new ObjectMapper()
-
- return objectMapper.writeValueAsString(nsiReqBody)
+ return bean2JsonStr(nsiReqBody)
}
public <T> String buildSelectNSSIRequest(String requestId, TemplateInfo nsstInfo, String messageType,
requestInfo.setCallbackUrl(callbackUrl)
requestInfo.setSourceId("so")
requestInfo.setTimeout(timeOut)
- //requestInfo.setNumSolutions()
+ requestInfo.setNumSolutions(100)
nssiReqBody.setRequestInfo(requestInfo)
nssiReqBody.setSliceProfile(sliceProfile)
nssiReqBody.setNSSTInfo(nsstInfo)
+ return bean2JsonStr(nssiReqBody)
+ }
- ObjectMapper objectMapper = new ObjectMapper()
-
- return objectMapper.writeValueAsString(nssiReqBody)
+ private static <T> String bean2JsonStr(T t) {
+ return new GsonBuilder().setPrettyPrinting().create().toJson(t)
}
}