aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--INFO.yaml18
-rw-r--r--adapters/mso-vfc-adapter/src/main/java/org/openecomp/mso/adapters/vfc/VfcManager.java121
-rw-r--r--adapters/mso-vfc-adapter/src/main/java/org/openecomp/mso/adapters/vfc/util/RestfulUtil.java14
-rw-r--r--asdc-controller/src/main/java/org/openecomp/mso/asdc/installer/heat/ToscaResourceInstaller.java2
-rw-r--r--bpmn/MSOCommonBPMN/src/main/groovy/org/openecomp/mso/bpmn/common/scripts/SNIROUtils.groovy4
-rwxr-xr-xbpmn/MSOCommonBPMN/src/main/groovy/org/openecomp/mso/bpmn/common/scripts/SniroHoming.groovy2
-rw-r--r--bpmn/MSOCommonBPMN/src/main/java/org/openecomp/mso/client/appc/ApplicationControllerClient.java9
-rw-r--r--bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/bpmn/common/SniroHomingTest.java4
-rw-r--r--bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/bpmn/common/WorkflowTest.java4
-rw-r--r--bpmn/MSOCoreBPMN/src/test/java/org/openecomp/mso/bpmn/core/json/JsonUtilsTest.java2
-rw-r--r--bpmn/MSOCoreBPMN/src/test/resources/json-examples/SNIROExample.json2
-rw-r--r--bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoScaleVFCNetworkServiceInstance.groovy2
-rw-r--r--bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/VnfCmBase.groovy14
-rw-r--r--bpmn/MSOInfrastructureBPMN/src/main/java/org/openecomp/mso/bpmn/infrastructure/pnf/delegate/CreateAaiEntryWithPnfIdDelegate.java1
-rw-r--r--bpmn/MSOInfrastructureBPMN/src/main/java/org/openecomp/mso/bpmn/infrastructure/pnf/delegate/ExecutionVariableNames.java1
-rw-r--r--bpmn/MSOInfrastructureBPMN/src/main/java/org/openecomp/mso/bpmn/infrastructure/pnf/delegate/PnfCheckInputs.java57
-rw-r--r--bpmn/MSOInfrastructureBPMN/src/main/resources/dmaap.properties4
-rw-r--r--bpmn/MSOInfrastructureBPMN/src/main/resources/process/CreateAndActivatePnfResource.bpmn219
-rw-r--r--bpmn/MSOInfrastructureBPMN/src/main/resources/process/CreateVcpeResCustService.bpmn3
-rw-r--r--bpmn/MSOInfrastructureBPMN/src/main/webapp/WEB-INF/applicationContext.xml4
-rw-r--r--bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/infrastructure/pnf/delegate/AaiConnectionTestImpl.java8
-rw-r--r--bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/infrastructure/pnf/delegate/CreateAaiEntryWithPnfIdDelegateTest.java47
-rw-r--r--bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/infrastructure/pnf/delegate/PnfCheckInputsTest.java84
-rw-r--r--bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/infrastructure/pnf/delegate/bpmn/CreateAndActivatePnfResourceTest.java2
-rw-r--r--bpmn/MSOInfrastructureBPMN/src/test/resources/applicationContext_forPnfTesting.xml5
-rw-r--r--mso-api-handlers/mso-api-handler-common/src/main/java/org/openecomp/mso/apihandler/camundabeans/CamundaVIDRequest.java16
-rw-r--r--mso-api-handlers/mso-api-handler-common/src/main/java/org/openecomp/mso/apihandler/common/BPELRestClient.java8
-rw-r--r--mso-api-handlers/mso-api-handler-common/src/main/java/org/openecomp/mso/apihandler/common/CamundaClient.java109
-rw-r--r--mso-api-handlers/mso-api-handler-common/src/main/java/org/openecomp/mso/apihandler/common/CamundaTaskClient.java22
-rw-r--r--mso-api-handlers/mso-api-handler-common/src/main/java/org/openecomp/mso/apihandler/common/CommonConstants.java5
-rw-r--r--mso-api-handlers/mso-api-handler-common/src/main/java/org/openecomp/mso/apihandler/common/RequestClient.java14
-rw-r--r--mso-api-handlers/mso-api-handler-common/src/main/java/org/openecomp/mso/apihandler/common/RequestClientParamater.java242
-rw-r--r--mso-api-handlers/mso-api-handler-common/src/test/java/org/openecomp/mso/camunda/tests/CamundaClientTest.java24
-rw-r--r--mso-api-handlers/mso-api-handler-infra/src/main/java/org/openecomp/mso/apihandlerinfra/E2EServiceInstances.java81
-rw-r--r--mso-api-handlers/mso-api-handler-infra/src/main/java/org/openecomp/mso/apihandlerinfra/MsoRequest.java5
-rw-r--r--mso-api-handlers/mso-api-handler-infra/src/main/java/org/openecomp/mso/apihandlerinfra/ServiceInstances.java88
-rw-r--r--mso-api-handlers/mso-api-handler-infra/src/test/java/org/openecomp/mso/apihandlerinfra/E2EServiceInstancesTest.java102
-rw-r--r--mso-api-handlers/mso-api-handler-infra/src/test/java/org/openecomp/mso/apihandlerinfra/ServiceInstanceTest.java78
38 files changed, 847 insertions, 580 deletions
diff --git a/INFO.yaml b/INFO.yaml
index 34f11c2ff1..990e63b893 100644
--- a/INFO.yaml
+++ b/INFO.yaml
@@ -98,9 +98,25 @@ committers:
company: 'China Mobile'
id: 'wangchengli'
timezone: 'China/Beijing'
+ - name: 'Marcus Williams'
+ email: 'marcus.williams@intel.com'
+ company: 'Intel'
+ id: 'mgkwill'
+ timezone: 'America/Los Angeles'
+ - name: 'Sanchita Pathak'
+ email: 'sanchita@techmahindra.com'
+ company: 'Tech Mahindra'
+ id: 'sanchitap'
+ timezone: 'Asia/Kolkata'
tsc:
approval: 'https://lists.onap.org/pipermail/onap-tsc'
changes:
- type: 'removal'
name: 'Tal Liron'
- link: 'https://lists.onap.org/pipermail/onap-tsc/2018-February/004361.html'
+ name: 'Heliu Zhong'
+ name: 'Yuanwei Yang'
+ link: 'https://lists.onap.org/pipermail/onap-tsc/2018-May/004802.html'
+ - type: 'addition'
+ name: 'Marcus Williams'
+ name: 'Sanchita Pathak'
+ link: 'https://lists.onap.org/pipermail/onap-tsc/2018-May/004802.html'
diff --git a/adapters/mso-vfc-adapter/src/main/java/org/openecomp/mso/adapters/vfc/VfcManager.java b/adapters/mso-vfc-adapter/src/main/java/org/openecomp/mso/adapters/vfc/VfcManager.java
index d76fbc2133..57d3bf5bb2 100644
--- a/adapters/mso-vfc-adapter/src/main/java/org/openecomp/mso/adapters/vfc/VfcManager.java
+++ b/adapters/mso-vfc-adapter/src/main/java/org/openecomp/mso/adapters/vfc/VfcManager.java
@@ -345,68 +345,65 @@ public class VfcManager {
* @return
* @since ONAP Amsterdam Release
*/
- public RestfulResponse getNsProgress(NsOperationKey nsOperationKey, String jobId)
- throws ApplicationException {
-
- ValidateUtil.assertObjectNotNull(jobId);
- // Step 1: query the current resource operation status
- ResourceOperationStatus nsOperInfo =
- (RequestsDatabase.getInstance()).getResourceOperationStatus(nsOperationKey.getServiceId(),
- nsOperationKey.getOperationId(), nsOperationKey.getNodeTemplateUUID());
-
- // Step 2: start query
- LOGGER.info("query ns status -> begin");
- String url = getUrl(jobId, CommonConstant.Step.QUERY);
- String methodType = CommonConstant.MethodType.GET;
- // prepare restful parameters and options
- RestfulResponse rsp = RestfulUtil.send(url, methodType, "");
- ValidateUtil.assertObjectNotNull(rsp);
- LOGGER.info("query ns progress response status is : {}", rsp.getStatus());
- LOGGER.info("query ns progress response content is : {}", rsp.getResponseContent());
- // Step 3:check the response staus
- if (!HttpCode.isSucess(rsp.getStatus())) {
- LOGGER.info("fail to query job status");
- nsOperInfo.setErrorCode(String.valueOf(rsp.getStatus()));
- nsOperInfo.setStatus(RequestsDbConstant.Status.ERROR);
- nsOperInfo.setStatusDescription(CommonConstant.StatusDesc.QUERY_JOB_STATUS_FAILED);
- (RequestsDatabase.getInstance()).updateResOperStatus(nsOperInfo);
- throw new ApplicationException(HttpCode.INTERNAL_SERVER_ERROR,
- DriverExceptionID.FAIL_TO_QUERY_JOB_STATUS);
- }
- // Step 4: Process Network Service Instantiate Response
- NsProgressStatus nsProgress =
- JsonUtil.unMarshal(rsp.getResponseContent(), NsProgressStatus.class);
- ResponseDescriptor rspDesc = nsProgress.getResponseDescriptor();
- // Step 5: update segment operation progress
-
- nsOperInfo.setProgress(rspDesc.getProgress());
- nsOperInfo.setStatusDescription(rspDesc.getStatusDescription());
- (RequestsDatabase.getInstance()).updateResOperStatus(nsOperInfo);
-
- // Step 6: update segment operation status
- if (RequestsDbConstant.Progress.ONE_HUNDRED.equals(rspDesc.getProgress())
- && RequestsDbConstant.Status.FINISHED.equals(rspDesc.getStatus())) {
- LOGGER.info("job result is succeeded, operType is {}", nsOperInfo.getOperType());
- nsOperInfo.setErrorCode(String.valueOf(rsp.getStatus()));
- if(RequestsDbConstant.OperationType.CREATE.equalsIgnoreCase(nsOperInfo.getOperType())) {
- nsOperInfo.setStatus(RequestsDbConstant.Status.FINISHED);
- }
- (RequestsDatabase.getInstance()).updateResOperStatus(nsOperInfo);
- } else if (RequestsDbConstant.Status.ERROR.equals(rspDesc.getStatus())) {
- LOGGER.error("job result is failed, operType is {}", nsOperInfo.getOperType());
- nsOperInfo.setErrorCode(String.valueOf(rsp.getStatus()));
- nsOperInfo.setStatusDescription(CommonConstant.StatusDesc.QUERY_JOB_STATUS_FAILED);
- nsOperInfo.setStatus(RequestsDbConstant.Status.ERROR);
- (RequestsDatabase.getInstance()).updateResOperStatus(nsOperInfo);
- throw new ApplicationException(HttpCode.INTERNAL_SERVER_ERROR,
- DriverExceptionID.JOB_STATUS_ERROR);
- } else {
- LOGGER.error("unexcepted response status");
- }
- LOGGER.info("query ns status -> end");
-
- return rsp;
- }
+ public RestfulResponse getNsProgress(NsOperationKey nsOperationKey, String jobId) throws ApplicationException {
+
+ ValidateUtil.assertObjectNotNull(jobId);
+ // Step 1: query the current resource operation status
+ ResourceOperationStatus nsOperInfo = (RequestsDatabase.getInstance()).getResourceOperationStatus(
+ nsOperationKey.getServiceId(), nsOperationKey.getOperationId(), nsOperationKey.getNodeTemplateUUID());
+
+ // Step 2: start query
+ LOGGER.info("query ns status -> begin");
+ String url = getUrl(jobId, CommonConstant.Step.QUERY);
+ String methodType = CommonConstant.MethodType.GET;
+ // prepare restful parameters and options
+ RestfulResponse rsp = RestfulUtil.send(url, methodType, "");
+ ValidateUtil.assertObjectNotNull(rsp);
+ LOGGER.info("query ns progress response status is : {}", rsp.getStatus());
+ LOGGER.info("query ns progress response content is : {}", rsp.getResponseContent());
+ // Step 3:check the response staus
+ if (!HttpCode.isSucess(rsp.getStatus())) {
+ LOGGER.info("fail to query job status");
+ nsOperInfo.setErrorCode(String.valueOf(rsp.getStatus()));
+ nsOperInfo.setStatus(RequestsDbConstant.Status.ERROR);
+ nsOperInfo.setStatusDescription(CommonConstant.StatusDesc.QUERY_JOB_STATUS_FAILED);
+ (RequestsDatabase.getInstance()).updateResOperStatus(nsOperInfo);
+ throw new ApplicationException(HttpCode.INTERNAL_SERVER_ERROR, DriverExceptionID.FAIL_TO_QUERY_JOB_STATUS);
+ }
+ // Step 4: Process Network Service Instantiate Response
+ NsProgressStatus nsProgress = JsonUtil.unMarshal(rsp.getResponseContent(), NsProgressStatus.class);
+ ResponseDescriptor rspDesc = nsProgress.getResponseDescriptor();
+ // Step 5: update segment operation progress
+
+ nsOperInfo.setProgress(rspDesc.getProgress());
+ nsOperInfo.setStatusDescription(rspDesc.getStatusDescription());
+ (RequestsDatabase.getInstance()).updateResOperStatus(nsOperInfo);
+
+ // Step 6: update segment operation status
+ if (RequestsDbConstant.Progress.ONE_HUNDRED.equals(rspDesc.getProgress())
+ && RequestsDbConstant.Status.FINISHED.equals(rspDesc.getStatus())) {
+ LOGGER.info("job result is succeeded, operType is {}", nsOperInfo.getOperType());
+ nsOperInfo.setErrorCode(String.valueOf(rsp.getStatus()));
+ String operType = nsOperInfo.getOperType();
+ if (RequestsDbConstant.OperationType.CREATE.equalsIgnoreCase(operType)
+ || "createInstance".equalsIgnoreCase(operType)) {
+ nsOperInfo.setStatus(RequestsDbConstant.Status.FINISHED);
+ }
+ (RequestsDatabase.getInstance()).updateResOperStatus(nsOperInfo);
+ } else if (RequestsDbConstant.Status.ERROR.equals(rspDesc.getStatus())) {
+ LOGGER.error("job result is failed, operType is {}", nsOperInfo.getOperType());
+ nsOperInfo.setErrorCode(String.valueOf(rsp.getStatus()));
+ nsOperInfo.setStatusDescription(CommonConstant.StatusDesc.QUERY_JOB_STATUS_FAILED);
+ nsOperInfo.setStatus(RequestsDbConstant.Status.ERROR);
+ (RequestsDatabase.getInstance()).updateResOperStatus(nsOperInfo);
+ throw new ApplicationException(HttpCode.INTERNAL_SERVER_ERROR, DriverExceptionID.JOB_STATUS_ERROR);
+ } else {
+ LOGGER.error("unexcepted response status");
+ }
+ LOGGER.info("query ns status -> end");
+
+ return rsp;
+ }
/**
* Scale NS instance
diff --git a/adapters/mso-vfc-adapter/src/main/java/org/openecomp/mso/adapters/vfc/util/RestfulUtil.java b/adapters/mso-vfc-adapter/src/main/java/org/openecomp/mso/adapters/vfc/util/RestfulUtil.java
index 0bedd12eb1..5168de85cc 100644
--- a/adapters/mso-vfc-adapter/src/main/java/org/openecomp/mso/adapters/vfc/util/RestfulUtil.java
+++ b/adapters/mso-vfc-adapter/src/main/java/org/openecomp/mso/adapters/vfc/util/RestfulUtil.java
@@ -38,11 +38,11 @@ import org.apache.http.entity.StringEntity;
import org.apache.http.impl.client.HttpClientBuilder;
import org.apache.http.util.EntityUtils;
import org.openecomp.mso.adapters.vfc.model.RestfulResponse;
-import org.openecomp.mso.logger.MessageEnum;
import org.openecomp.mso.logger.MsoAlarmLogger;
-import org.openecomp.mso.logger.MsoLogger;
import org.openecomp.mso.properties.MsoPropertiesException;
import org.openecomp.mso.properties.MsoPropertiesFactory;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
/**
* <br>
@@ -58,7 +58,7 @@ public class RestfulUtil {
/**
* Log service
*/
- private static final MsoLogger LOGGER = MsoLogger.getMsoLogger(MsoLogger.Catalog.RA);
+ private static final Logger LOGGER = LoggerFactory.getLogger(RestfulUtil.class);
private static final MsoAlarmLogger ALARMLOGGER = new MsoAlarmLogger();
@@ -83,7 +83,7 @@ public class RestfulUtil {
msbPort = msoPropertiesFactory.getMsoJavaProperties("MSO_PROP_TOPOLOGY").getProperty("msb-port", DEFAULT_MSB_PORT);
}
} catch(MsoPropertiesException e) {
- LOGGER.error(MessageEnum.RA_NS_EXC, "VFC Adapter", "", MsoLogger.ErrorCode.AvailabilityError, "Get msb properties failed",e);
+ LOGGER.error("Get msb properties failed",e);
e.printStackTrace();
}
return "http://" + msbIp + ":" + msbPort;
@@ -95,7 +95,7 @@ public class RestfulUtil {
public static RestfulResponse send(String url, String methodType, String content) {
String msbUrl = getMsbHost() + url;
- LOGGER.info(MessageEnum.RA_NS_EXC, "Begin to sent message " + methodType +": " + msbUrl, "org.openecomp.mso.adapters.vfc.util.RestfulUtil","VFC Adapter");
+ LOGGER.info("Begin to sent message " + methodType +": " + msbUrl);
HttpRequestBase method = null;
HttpResponse httpResponse = null;
@@ -196,12 +196,12 @@ public class RestfulUtil {
}
private static void logError(String errMsg, Throwable t) {
- LOGGER.error(MessageEnum.RA_NS_EXC, "VFC Adapter", "", MsoLogger.ErrorCode.AvailabilityError, errMsg, t);
+ LOGGER.error(errMsg, t);
ALARMLOGGER.sendAlarm("MsoInternalError", MsoAlarmLogger.CRITICAL, errMsg);
}
private static void logError(String errMsg) {
- LOGGER.error(MessageEnum.RA_NS_EXC, "VFC Adapter", "", MsoLogger.ErrorCode.AvailabilityError, errMsg);
+ LOGGER.error(errMsg);
ALARMLOGGER.sendAlarm("MsoInternalError", MsoAlarmLogger.CRITICAL, errMsg);
}
diff --git a/asdc-controller/src/main/java/org/openecomp/mso/asdc/installer/heat/ToscaResourceInstaller.java b/asdc-controller/src/main/java/org/openecomp/mso/asdc/installer/heat/ToscaResourceInstaller.java
index 5a2e19ad4f..9d986d9df7 100644
--- a/asdc-controller/src/main/java/org/openecomp/mso/asdc/installer/heat/ToscaResourceInstaller.java
+++ b/asdc-controller/src/main/java/org/openecomp/mso/asdc/installer/heat/ToscaResourceInstaller.java
@@ -1116,7 +1116,7 @@ public class ToscaResourceInstaller {// implements IVfResourceInstaller {
vnfResource.setAicVersionMax(testNull(vfNodeTemplate.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_MAXINSTANCES)));
vnfResource.setAicVersionMin(testNull(vfNodeTemplate.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_MININSTANCES)));
vnfResource.setCategory(vfNodeTemplate.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_CATEGORY));
- vnfResource.setCategory(vfNodeTemplate.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_SUBCATEGORY));
+ vnfResource.setSubCategory(vfNodeTemplate.getMetaData().getValue(SdcPropertyNames.PROPERTY_NAME_SUBCATEGORY));
//vnfResource.setHeatTemplateArtifactUUId(toscaResourceStructure.getHeatTemplateUUID());
// vfNodeTemplate.getProperties()
diff --git a/bpmn/MSOCommonBPMN/src/main/groovy/org/openecomp/mso/bpmn/common/scripts/SNIROUtils.groovy b/bpmn/MSOCommonBPMN/src/main/groovy/org/openecomp/mso/bpmn/common/scripts/SNIROUtils.groovy
index 88ed9fb330..1233d0423b 100644
--- a/bpmn/MSOCommonBPMN/src/main/groovy/org/openecomp/mso/bpmn/common/scripts/SNIROUtils.groovy
+++ b/bpmn/MSOCommonBPMN/src/main/groovy/org/openecomp/mso/bpmn/common/scripts/SNIROUtils.groovy
@@ -294,8 +294,8 @@ class SNIROUtils{
if(isBlank(response)){
exceptionUtil.buildAndThrowWorkflowException(execution, 5000, "Sniro Async Callback Response is Empty")
}else{
- if(JsonUtils.jsonElementExist(response, "solutionInfo.placementInfo")){
- placements = jsonUtil.getJsonValue(response, "solutionInfo.placementInfo")
+ if(JsonUtils.jsonElementExist(response, "solutionInfo.placement")){
+ placements = jsonUtil.getJsonValue(response, "solutionInfo.placement")
if(isBlank(placements) || placements.equalsIgnoreCase("[]")){
String statusMessage = jsonUtil.getJsonValue(response, "statusMessage")
if(isBlank(statusMessage)){
diff --git a/bpmn/MSOCommonBPMN/src/main/groovy/org/openecomp/mso/bpmn/common/scripts/SniroHoming.groovy b/bpmn/MSOCommonBPMN/src/main/groovy/org/openecomp/mso/bpmn/common/scripts/SniroHoming.groovy
index 3f534377d8..0fdd790137 100755
--- a/bpmn/MSOCommonBPMN/src/main/groovy/org/openecomp/mso/bpmn/common/scripts/SniroHoming.groovy
+++ b/bpmn/MSOCommonBPMN/src/main/groovy/org/openecomp/mso/bpmn/common/scripts/SniroHoming.groovy
@@ -182,7 +182,7 @@ class SniroHoming extends AbstractServiceTaskProcessor {
utils.logAudit("Sniro Async Callback Response is: " + response)
sniroUtils.validateCallbackResponse(execution, response)
- String placements = jsonUtil.getJsonValue(response, "solutionInfo.placementInfo")
+ String placements = jsonUtil.getJsonValue(response, "solutionInfo.placement")
ServiceDecomposition decomposition = execution.getVariable("serviceDecomposition")
utils.log("DEBUG", "Service Decomposition: " + decomposition, isDebugEnabled)
diff --git a/bpmn/MSOCommonBPMN/src/main/java/org/openecomp/mso/client/appc/ApplicationControllerClient.java b/bpmn/MSOCommonBPMN/src/main/java/org/openecomp/mso/client/appc/ApplicationControllerClient.java
index 3cd26be631..3515aa9218 100644
--- a/bpmn/MSOCommonBPMN/src/main/java/org/openecomp/mso/client/appc/ApplicationControllerClient.java
+++ b/bpmn/MSOCommonBPMN/src/main/java/org/openecomp/mso/client/appc/ApplicationControllerClient.java
@@ -83,7 +83,7 @@ public class ApplicationControllerClient {
/**
* Creates an ApplicationControllerClient for the specified controller type.
- * @param controllerType the controller type: "appc" or "sndnc".
+ * @param controllerType the controller type: "appc" or "sdnc".
*/
public ApplicationControllerClient(String controllerType) {
this.controllerType = controllerType;
@@ -110,7 +110,7 @@ public class ApplicationControllerClient {
protected LifeCycleManagerStateful createAppCClient(String controllerType) {
try {
return AppcClientServiceFactoryProvider.getFactory(AppcLifeCycleManagerServiceFactory.class)
- .createLifeCycleManagerStateful(new ApplicationContext(), getLCMProperties());
+ .createLifeCycleManagerStateful(new ApplicationContext(), getLCMProperties(controllerType));
} catch (AppcClientException e) {
auditLogger.log(Level.ERROR, "Error in getting LifeCycleManagerStateful: ", e, e.getMessage());
// This null value will cause NullPointerException when used later.
@@ -135,6 +135,10 @@ public class ApplicationControllerClient {
}
protected Properties getLCMProperties() {
+ return getLCMProperties("appc");
+ }
+
+ protected Properties getLCMProperties(String controllerType) {
Properties properties = new Properties();
Map<String, String> globalProperties = PropertyConfiguration.getInstance()
.getProperties("mso.bpmn.urn.properties");
@@ -145,6 +149,7 @@ public class ApplicationControllerClient {
properties.put("topic.read.timeout", globalProperties.get("appc.client.topic.read.timeout"));
properties.put("client.response.timeout", globalProperties.get("appc.client.response.timeout"));
properties.put("poolMembers", globalProperties.get("appc.client.poolMembers"));
+ properties.put("client.controllerType", controllerType);
properties.put("client.key", globalProperties.get("appc.client.key"));
properties.put("client.secret", globalProperties.get("appc.client.secret"));
properties.put("client.name", CLIENT_NAME);
diff --git a/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/bpmn/common/SniroHomingTest.java b/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/bpmn/common/SniroHomingTest.java
index 541dc6e7a9..314d4d3b42 100644
--- a/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/bpmn/common/SniroHomingTest.java
+++ b/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/bpmn/common/SniroHomingTest.java
@@ -536,12 +536,12 @@ public class SniroHomingTest extends WorkflowTest {
}
private String verifySniroRequest(){
- String request = "{\"requestInfo\":{\"transactionId\":\"testRequestId\",\"requestId\":\"testRequestId\",\"callbackUrl\":\"http://localhost:28090/workflows/messages/message/SNIROResponse/testRequestId\",\"sourceId\":\"mso\",\"requestType\":\"initial\",\"optimizer\":[\"placement\",\"license\"],\"numSolutions\":1,\"timeout\":1800},\"placementInfo\":{\"serviceModelInfo\":{\"modelType\":\"\",\"modelInvariantId\":\"testModelInvariantId\",\"modelVersionId\":\"testModelUuid\",\"modelName\":\"testModelName\",\"modelVersion\":\"testModelVersion\"},\"subscriberInfo\":{\"globalSubscriberId\":\"SUB12_0322_DS_1201\",\"subscriberName\":\"SUB_12_0322_DS_1201\",\"subscriberCommonSiteId\":\"\"},\"demandInfo\":{\"placementDemand\":[{\"resourceInstanceType\":\"ALLOTTED_RESOURCE\",\"serviceResourceId\":\"testResourceIdAR\",\"resourceModuleName\":\"\",\"resourceModelInfo\":{\"modelCustomizationId\":\"testModelCustomizationUuidAR\",\"modelInvariantId\":\"testModelInvariantIdAR\",\"modelName\":\"testModelNameAR\",\"modelVersion\":\"testModelVersionAR\",\"modelVersionId\":\"testARModelUuid\",\"modelType\":\"testModelTypeAR\"},\"tenantId\":\"\",\"tenantName\":\"\"},{\"resourceInstanceType\":\"ALLOTTED_RESOURCE\",\"serviceResourceId\":\"testResourceIdAR2\",\"resourceModuleName\":\"\",\"resourceModelInfo\":{\"modelCustomizationId\":\"testModelCustomizationUuidAR2\",\"modelInvariantId\":\"testModelInvariantIdAR2\",\"modelName\":\"testModelNameAR2\",\"modelVersion\":\"testModelVersionAR2\",\"modelVersionId\":\"testAr2ModelUuid\",\"modelType\":\"testModelTypeAR2\"},\"tenantId\":\"\",\"tenantName\":\"\"}],\"licenseDemand\":[{\"resourceInstanceType\":\"VNF\",\"serviceResourceId\":\"testResourceIdVNF\",\"resourceModuleName\":\"\",\"resourceModelInfo\":{\"modelCustomizationId\":\"testModelCustomizationUuidVNF\",\"modelInvariantId\":\"testModelInvariantIdVNF\",\"modelName\":\"testModelNameVNF\",\"modelVersion\":\"testModelVersionVNF\",\"modelVersionId\":\"testVnfModelUuid\",\"modelType\":\"testModelTypeVNF\"}}]},\"policyId\":[],\"serviceInstanceId\":\"testServiceInstanceId123\",\"orderInfo\":\"{\\\"requestParameters\\\":null}\"}}";
+ String request = "{\"requestInfo\":{\"transactionId\":\"testRequestId\",\"requestId\":\"testRequestId\",\"callbackUrl\":\"http://localhost:28090/workflows/messages/message/SNIROResponse/testRequestId\",\"sourceId\":\"mso\",\"requestType\":\"initial\",\"optimizer\":[\"placement\",\"license\"],\"numSolutions\":1,\"timeout\":1800},\"placement\":{\"serviceModelInfo\":{\"modelType\":\"\",\"modelInvariantId\":\"testModelInvariantId\",\"modelVersionId\":\"testModelUuid\",\"modelName\":\"testModelName\",\"modelVersion\":\"testModelVersion\"},\"subscriberInfo\":{\"globalSubscriberId\":\"SUB12_0322_DS_1201\",\"subscriberName\":\"SUB_12_0322_DS_1201\",\"subscriberCommonSiteId\":\"\"},\"demandInfo\":{\"placementDemand\":[{\"resourceInstanceType\":\"ALLOTTED_RESOURCE\",\"serviceResourceId\":\"testResourceIdAR\",\"resourceModuleName\":\"\",\"resourceModelInfo\":{\"modelCustomizationId\":\"testModelCustomizationUuidAR\",\"modelInvariantId\":\"testModelInvariantIdAR\",\"modelName\":\"testModelNameAR\",\"modelVersion\":\"testModelVersionAR\",\"modelVersionId\":\"testARModelUuid\",\"modelType\":\"testModelTypeAR\"},\"tenantId\":\"\",\"tenantName\":\"\"},{\"resourceInstanceType\":\"ALLOTTED_RESOURCE\",\"serviceResourceId\":\"testResourceIdAR2\",\"resourceModuleName\":\"\",\"resourceModelInfo\":{\"modelCustomizationId\":\"testModelCustomizationUuidAR2\",\"modelInvariantId\":\"testModelInvariantIdAR2\",\"modelName\":\"testModelNameAR2\",\"modelVersion\":\"testModelVersionAR2\",\"modelVersionId\":\"testAr2ModelUuid\",\"modelType\":\"testModelTypeAR2\"},\"tenantId\":\"\",\"tenantName\":\"\"}],\"licenseDemand\":[{\"resourceInstanceType\":\"VNF\",\"serviceResourceId\":\"testResourceIdVNF\",\"resourceModuleName\":\"\",\"resourceModelInfo\":{\"modelCustomizationId\":\"testModelCustomizationUuidVNF\",\"modelInvariantId\":\"testModelInvariantIdVNF\",\"modelName\":\"testModelNameVNF\",\"modelVersion\":\"testModelVersionVNF\",\"modelVersionId\":\"testVnfModelUuid\",\"modelType\":\"testModelTypeVNF\"}}]},\"policyId\":[],\"serviceInstanceId\":\"testServiceInstanceId123\",\"orderInfo\":\"{\\\"requestParameters\\\":null}\"}}";
return request;
}
private String verifySniroRequest_existingLicense(){
- String request = "{\"requestInfo\":{\"transactionId\":\"testRequestId\",\"requestId\":\"testRequestId\",\"callbackUrl\":\"http://localhost:28090/workflows/messages/message/SNIROResponse/testRequestId\",\"sourceId\":\"mso\",\"requestType\":\"speedchanged\",\"optimizer\":[\"placement\",\"license\"],\"numSolutions\":1,\"timeout\":1800},\"placementInfo\":{\"serviceModelInfo\":{\"modelType\":\"\",\"modelInvariantId\":\"testModelInvariantId\",\"modelVersionId\":\"testModelUuid\",\"modelName\":\"testModelName\",\"modelVersion\":\"testModelVersion\"},\"subscriberInfo\":{\"globalSubscriberId\":\"SUB12_0322_DS_1201\",\"subscriberName\":\"SUB_12_0322_DS_1201\",\"subscriberCommonSiteId\":\"\"},\"demandInfo\":{\"placementDemand\":[{\"resourceInstanceType\":\"ALLOTTED_RESOURCE\",\"serviceResourceId\":\"testResourceIdAR\",\"resourceModuleName\":\"\",\"resourceModelInfo\":{\"modelCustomizationId\":\"testModelCustomizationUuidAR\",\"modelInvariantId\":\"testModelInvariantIdAR\",\"modelName\":\"testModelNameAR\",\"modelVersion\":\"testModelVersionAR\",\"modelVersionId\":\"testARModelUuid\",\"modelType\":\"testModelTypeAR\"},\"tenantId\":\"\",\"tenantName\":\"\"},{\"resourceInstanceType\":\"ALLOTTED_RESOURCE\",\"serviceResourceId\":\"testResourceIdAR2\",\"resourceModuleName\":\"\",\"resourceModelInfo\":{\"modelCustomizationId\":\"testModelCustomizationUuidAR2\",\"modelInvariantId\":\"testModelInvariantIdAR2\",\"modelName\":\"testModelNameAR2\",\"modelVersion\":\"testModelVersionAR2\",\"modelVersionId\":\"testAr2ModelUuid\",\"modelType\":\"testModelTypeAR2\"},\"tenantId\":\"\",\"tenantName\":\"\"}],\"licenseDemand\":[{\"resourceInstanceType\":\"VNF\",\"serviceResourceId\":\"testResourceIdVNF\",\"resourceModuleName\":\"\",\"resourceModelInfo\":{\"modelCustomizationId\":\"testModelCustomizationUuidVNF\",\"modelInvariantId\":\"testModelInvariantIdVNF\",\"modelName\":\"testModelNameVNF\",\"modelVersion\":\"testModelVersionVNF\",\"modelVersionId\":\"testVnfModelUuid\",\"modelType\":\"testModelTypeVNF\"},\"existingLicense\":[{\"entitlementPoolUUID\":[\"testEntitlementPoolId1\",\"testEntitlementPoolId2\"],\"licenseKeyGroupUUID\":[\"testLicenseKeyGroupId1\",\"testLicenseKeyGroupId2\"]}]}]},\"policyId\":[],\"serviceInstanceId\":\"testServiceInstanceId123\",\"orderInfo\":\"{\\\"requestParameters\\\":null}\"}}";
+ String request = "{\"requestInfo\":{\"transactionId\":\"testRequestId\",\"requestId\":\"testRequestId\",\"callbackUrl\":\"http://localhost:28090/workflows/messages/message/SNIROResponse/testRequestId\",\"sourceId\":\"mso\",\"requestType\":\"speedchanged\",\"optimizer\":[\"placement\",\"license\"],\"numSolutions\":1,\"timeout\":1800},\"placement\":{\"serviceModelInfo\":{\"modelType\":\"\",\"modelInvariantId\":\"testModelInvariantId\",\"modelVersionId\":\"testModelUuid\",\"modelName\":\"testModelName\",\"modelVersion\":\"testModelVersion\"},\"subscriberInfo\":{\"globalSubscriberId\":\"SUB12_0322_DS_1201\",\"subscriberName\":\"SUB_12_0322_DS_1201\",\"subscriberCommonSiteId\":\"\"},\"demandInfo\":{\"placementDemand\":[{\"resourceInstanceType\":\"ALLOTTED_RESOURCE\",\"serviceResourceId\":\"testResourceIdAR\",\"resourceModuleName\":\"\",\"resourceModelInfo\":{\"modelCustomizationId\":\"testModelCustomizationUuidAR\",\"modelInvariantId\":\"testModelInvariantIdAR\",\"modelName\":\"testModelNameAR\",\"modelVersion\":\"testModelVersionAR\",\"modelVersionId\":\"testARModelUuid\",\"modelType\":\"testModelTypeAR\"},\"tenantId\":\"\",\"tenantName\":\"\"},{\"resourceInstanceType\":\"ALLOTTED_RESOURCE\",\"serviceResourceId\":\"testResourceIdAR2\",\"resourceModuleName\":\"\",\"resourceModelInfo\":{\"modelCustomizationId\":\"testModelCustomizationUuidAR2\",\"modelInvariantId\":\"testModelInvariantIdAR2\",\"modelName\":\"testModelNameAR2\",\"modelVersion\":\"testModelVersionAR2\",\"modelVersionId\":\"testAr2ModelUuid\",\"modelType\":\"testModelTypeAR2\"},\"tenantId\":\"\",\"tenantName\":\"\"}],\"licenseDemand\":[{\"resourceInstanceType\":\"VNF\",\"serviceResourceId\":\"testResourceIdVNF\",\"resourceModuleName\":\"\",\"resourceModelInfo\":{\"modelCustomizationId\":\"testModelCustomizationUuidVNF\",\"modelInvariantId\":\"testModelInvariantIdVNF\",\"modelName\":\"testModelNameVNF\",\"modelVersion\":\"testModelVersionVNF\",\"modelVersionId\":\"testVnfModelUuid\",\"modelType\":\"testModelTypeVNF\"},\"existingLicense\":[{\"entitlementPoolUUID\":[\"testEntitlementPoolId1\",\"testEntitlementPoolId2\"],\"licenseKeyGroupUUID\":[\"testLicenseKeyGroupId1\",\"testLicenseKeyGroupId2\"]}]}]},\"policyId\":[],\"serviceInstanceId\":\"testServiceInstanceId123\",\"orderInfo\":\"{\\\"requestParameters\\\":null}\"}}";
return request;
}
diff --git a/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/bpmn/common/WorkflowTest.java b/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/bpmn/common/WorkflowTest.java
index 9b8a249511..de25107fcc 100644
--- a/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/bpmn/common/WorkflowTest.java
+++ b/bpmn/MSOCommonBPMN/src/test/java/org/openecomp/mso/bpmn/common/WorkflowTest.java
@@ -1526,7 +1526,7 @@ public class WorkflowTest {
}
else {
try {
- String homingList = getJsonValue(content, "solutionInfo.placementInfo");
+ String homingList = getJsonValue(content, "solutionInfo.placement");
String licenseInfoList = getJsonValue(content, "solutionInfo.licenseInfo");
JSONArray placementArr = new JSONArray(homingList);
JSONArray licenseArr = new JSONArray(licenseInfoList);
@@ -1558,7 +1558,7 @@ public class WorkflowTest {
}
String newPlacementInfos = placementArr.toString();
String newLicenseInfos = licenseArr.toString();
- content = updJsonValue(content, "solutionInfo.placementInfo", newPlacementInfos);
+ content = updJsonValue(content, "solutionInfo.placement", newPlacementInfos);
content = updJsonValue(content, "solutionInfo.licenseInfo", newLicenseInfos);
}
catch(Exception e) {
diff --git a/bpmn/MSOCoreBPMN/src/test/java/org/openecomp/mso/bpmn/core/json/JsonUtilsTest.java b/bpmn/MSOCoreBPMN/src/test/java/org/openecomp/mso/bpmn/core/json/JsonUtilsTest.java
index 7bb10007ac..644f98349c 100644
--- a/bpmn/MSOCoreBPMN/src/test/java/org/openecomp/mso/bpmn/core/json/JsonUtilsTest.java
+++ b/bpmn/MSOCoreBPMN/src/test/java/org/openecomp/mso/bpmn/core/json/JsonUtilsTest.java
@@ -52,7 +52,7 @@ public class JsonUtilsTest {
public void entryArrayToMapTest() throws IOException {
JsonUtils utils = new JsonUtils();
String response = this.getJson("SNIROExample.json");
- String entry = utils.getJsonValue(response, "solutionInfo.placementInfo");
+ String entry = utils.getJsonValue(response, "solutionInfo.placement");
JSONArray arr = new JSONArray(entry);
JSONObject homingDataJson = arr.getJSONObject(0);
JSONArray assignmentInfo = homingDataJson.getJSONArray("assignmentInfo");
diff --git a/bpmn/MSOCoreBPMN/src/test/resources/json-examples/SNIROExample.json b/bpmn/MSOCoreBPMN/src/test/resources/json-examples/SNIROExample.json
index 838bcd85a7..7e56b1a59d 100644
--- a/bpmn/MSOCoreBPMN/src/test/resources/json-examples/SNIROExample.json
+++ b/bpmn/MSOCoreBPMN/src/test/resources/json-examples/SNIROExample.json
@@ -11,7 +11,7 @@
]
}
],
- "placementInfo": [
+ "placement": [
{
"assignmentInfo": [
{
diff --git a/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoScaleVFCNetworkServiceInstance.groovy b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoScaleVFCNetworkServiceInstance.groovy
index 9e3f78bbda..0e4aea00ae 100644
--- a/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoScaleVFCNetworkServiceInstance.groovy
+++ b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/DoScaleVFCNetworkServiceInstance.groovy
@@ -123,7 +123,7 @@ public class DoScaleVFCNetworkServiceInstance extends AbstractServiceTaskProcess
String isScaleFinished = ""
// query the requested network service scale status, if finished, then start the next one, otherwise, wait
- while (isScaleFinished != "finished"){
+ while (isScaleFinished != "finished" && isScaleFinished != "error"){
timeDelay()
queryNSProgress(execution)
isScaleFinished = execution.getVariable("operationStatus")
diff --git a/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/VnfCmBase.groovy b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/VnfCmBase.groovy
index 39820dc2e1..d8405aa243 100644
--- a/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/VnfCmBase.groovy
+++ b/bpmn/MSOInfrastructureBPMN/src/main/groovy/org/openecomp/mso/bpmn/infrastructure/scripts/VnfCmBase.groovy
@@ -277,11 +277,19 @@ public abstract class VnfCmBase extends AbstractServiceTaskProcessor {
}
}
- if (cloudRegionId != null) {
- AAIUri cloudRegionUri = AAIUriFactory.createResourceUri(AAIObjectType.DEFAULT_CLOUD_REGION, cloudRegionId)
+ if (cloudRegionId != null) {
+ String cloudOwnerId = "att-aic";
+ try {
+ cloudOwnerId = execution.getVariable("URN_mso_default_cloud_owner_id");
+ if (cloudOwnerId == null) cloudOwnerId = "att-aic";
+ } catch (RuntimeException e) {
+ cloudOwnerId = "att-aic";
+ }
+
+ AAIUri cloudRegionUri = AAIUriFactory.createResourceUri(AAIObjectType.CLOUD_REGION, cloudOwnerId, cloudRegionId)
// Check if this client region exists
if (!client.exists(cloudRegionUri)) {
- logDebug("Cloud Region with cloudRegionId " + cloudRegionId + " does not exist in A&AI", isDebugLogEnabled)
+ logDebug("Cloud Region with cloudOwner ID " + cloudOwnerId + " and cloudRegionId " + cloudRegionId + " does not exist in A&AI", isDebugLogEnabled)
exceptionUtil.buildAndThrowWorkflowException(execution, 404, "Cloud Region with cloudRegionId " + cloudRegionId + " does not exist in A&AI")
}
diff --git a/bpmn/MSOInfrastructureBPMN/src/main/java/org/openecomp/mso/bpmn/infrastructure/pnf/delegate/CreateAaiEntryWithPnfIdDelegate.java b/bpmn/MSOInfrastructureBPMN/src/main/java/org/openecomp/mso/bpmn/infrastructure/pnf/delegate/CreateAaiEntryWithPnfIdDelegate.java
index bc424fd347..62b806eae8 100644
--- a/bpmn/MSOInfrastructureBPMN/src/main/java/org/openecomp/mso/bpmn/infrastructure/pnf/delegate/CreateAaiEntryWithPnfIdDelegate.java
+++ b/bpmn/MSOInfrastructureBPMN/src/main/java/org/openecomp/mso/bpmn/infrastructure/pnf/delegate/CreateAaiEntryWithPnfIdDelegate.java
@@ -49,6 +49,7 @@ public class CreateAaiEntryWithPnfIdDelegate implements JavaDelegate {
Pnf pnf = new Pnf();
pnf.setInMaint(true);
pnf.setPnfId(correlationId);
+ pnf.setPnfName(correlationId);
aaiConnection.createEntry(correlationId, pnf);
}
}
diff --git a/bpmn/MSOInfrastructureBPMN/src/main/java/org/openecomp/mso/bpmn/infrastructure/pnf/delegate/ExecutionVariableNames.java b/bpmn/MSOInfrastructureBPMN/src/main/java/org/openecomp/mso/bpmn/infrastructure/pnf/delegate/ExecutionVariableNames.java
index 94d221a054..361313e932 100644
--- a/bpmn/MSOInfrastructureBPMN/src/main/java/org/openecomp/mso/bpmn/infrastructure/pnf/delegate/ExecutionVariableNames.java
+++ b/bpmn/MSOInfrastructureBPMN/src/main/java/org/openecomp/mso/bpmn/infrastructure/pnf/delegate/ExecutionVariableNames.java
@@ -29,4 +29,5 @@ public class ExecutionVariableNames {
public final static String AAI_CONTAINS_INFO_ABOUT_PNF = "aaiContainsInfoAboutPnf";
public final static String AAI_CONTAINS_INFO_ABOUT_IP = "aaiContainsInfoAboutIp";
public final static String DMAAP_MESSAGE = "dmaapMessage";
+ public final static String TIMEOUT_FOR_NOTIFICATION = "timeoutForPnfEntryNotification";
}
diff --git a/bpmn/MSOInfrastructureBPMN/src/main/java/org/openecomp/mso/bpmn/infrastructure/pnf/delegate/PnfCheckInputs.java b/bpmn/MSOInfrastructureBPMN/src/main/java/org/openecomp/mso/bpmn/infrastructure/pnf/delegate/PnfCheckInputs.java
new file mode 100644
index 0000000000..268113d28f
--- /dev/null
+++ b/bpmn/MSOInfrastructureBPMN/src/main/java/org/openecomp/mso/bpmn/infrastructure/pnf/delegate/PnfCheckInputs.java
@@ -0,0 +1,57 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * ONAP - SO
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.openecomp.mso.bpmn.infrastructure.pnf.delegate;
+
+import static org.openecomp.mso.bpmn.infrastructure.pnf.delegate.ExecutionVariableNames.CORRELATION_ID;
+import static org.openecomp.mso.bpmn.infrastructure.pnf.delegate.ExecutionVariableNames.TIMEOUT_FOR_NOTIFICATION;
+
+import org.camunda.bpm.engine.delegate.DelegateExecution;
+import org.camunda.bpm.engine.delegate.JavaDelegate;
+import org.openecomp.mso.bpmn.common.scripts.ExceptionUtil;
+import org.openecomp.mso.logger.MsoLogger;
+
+public class PnfCheckInputs implements JavaDelegate {
+
+ private static MsoLogger LOGGER = MsoLogger.getMsoLogger(MsoLogger.Catalog.GENERAL);
+
+ private String defaultTimeout;
+
+ @Override
+ public void execute(DelegateExecution execution) throws Exception {
+ String correlationId = (String) execution.getVariable(CORRELATION_ID);
+ if (correlationId == null) {
+ new ExceptionUtil().buildAndThrowWorkflowException(execution, 9999, "correlationId variable not defined");
+ }
+ String timeout = (String) execution.getVariable(TIMEOUT_FOR_NOTIFICATION);
+ if (timeout == null) {
+ LOGGER.debug("timeoutForPnfEntryNotification variable not found, setting default");
+ if (defaultTimeout == null) {
+ new ExceptionUtil().buildAndThrowWorkflowException(execution, 9999,
+ "default timeoutForPnfEntryNotification value not defined");
+ }
+ execution.setVariable(TIMEOUT_FOR_NOTIFICATION, defaultTimeout);
+ }
+ }
+
+ public void setDefaultTimeout(String defaultTimeout) {
+ this.defaultTimeout = defaultTimeout;
+ }
+}
diff --git a/bpmn/MSOInfrastructureBPMN/src/main/resources/dmaap.properties b/bpmn/MSOInfrastructureBPMN/src/main/resources/dmaap.properties
index 5b1ffac571..6807a24ea9 100644
--- a/bpmn/MSOInfrastructureBPMN/src/main/resources/dmaap.properties
+++ b/bpmn/MSOInfrastructureBPMN/src/main/resources/dmaap.properties
@@ -6,4 +6,6 @@ eventReadyTopicName=pnfEventReady
consumerId=consumerId
consumerGroup=group
clientThreadInitialDelayInSeconds=1
-clientThreadDelayInSeconds=5 \ No newline at end of file
+clientThreadDelayInSeconds=5
+
+pnfDefaultTimeout=P14D
diff --git a/bpmn/MSOInfrastructureBPMN/src/main/resources/process/CreateAndActivatePnfResource.bpmn b/bpmn/MSOInfrastructureBPMN/src/main/resources/process/CreateAndActivatePnfResource.bpmn
index c118105e35..8f2bf67b71 100644
--- a/bpmn/MSOInfrastructureBPMN/src/main/resources/process/CreateAndActivatePnfResource.bpmn
+++ b/bpmn/MSOInfrastructureBPMN/src/main/resources/process/CreateAndActivatePnfResource.bpmn
@@ -14,51 +14,42 @@
<bpmn:process id="CreateAndActivatePnfResource" name="CreateAndActivatePnfResource" isExecutable="true">
<bpmn:sequenceFlow id="SequenceFlow_1kc34bc" sourceRef="WaitForDmaapTimeout" targetRef="CancelDmaapClientSubscription" />
<bpmn:sequenceFlow id="SequenceFlow_1o8od8e" sourceRef="InformDmaapClient" targetRef="WaitForDmaapPnfReadyNotification" />
+ <bpmn:sequenceFlow id="SequenceFlow_0v5ffpe" name="No" sourceRef="DoesAaiContainInfoAboutPnf" targetRef="CreateAndActivatePnf_CreateAaiEntry">
+ <bpmn:conditionExpression xsi:type="bpmn:tFormalExpression">#{!aaiContainsInfoAboutPnf}</bpmn:conditionExpression>
+ </bpmn:sequenceFlow>
+ <bpmn:sequenceFlow id="SequenceFlow_0p09qgm" sourceRef="WaitForDmaapPnfReadyNotification" targetRef="AaiEntryUpdated" />
<bpmn:sequenceFlow id="SequenceFlow_17s9025" sourceRef="AaiEntryExists" targetRef="InformDmaapClient" />
+ <bpmn:sequenceFlow id="SequenceFlow_1qr6cmf" sourceRef="CreateAndActivatePnf_CreateAaiEntry" targetRef="AaiEntryExists" />
+ <bpmn:sequenceFlow id="SequenceFlow_1j4r3zt" sourceRef="CheckAiiForCorrelationId" targetRef="DoesAaiContainInfoAboutPnf" />
+ <bpmn:sequenceFlow id="SequenceFlow_0j5ksz1" sourceRef="CreateAndActivatePnf_StartEvent" targetRef="CheckInputs" />
+ <bpmn:sequenceFlow id="SequenceFlow_1miyzfe" sourceRef="CancelDmaapClientSubscription" targetRef="ThrowTimeoutException" />
<bpmn:sequenceFlow id="SequenceFlow_1ls8pua" name="No" sourceRef="DoesAaiContainInfoAboutIp" targetRef="AaiEntryExists">
<bpmn:conditionExpression xsi:type="bpmn:tFormalExpression">#{!aaiContainsInfoAboutIp}</bpmn:conditionExpression>
</bpmn:sequenceFlow>
- <bpmn:sequenceFlow id="SequenceFlow_1qr6cmf" sourceRef="CreateAndActivatePnf_CreateAaiEntry" targetRef="AaiEntryExists" />
- <bpmn:sequenceFlow id="SequenceFlow_0v5ffpe" name="No" sourceRef="DoesAaiContainInfoAboutPnf" targetRef="CreateAndActivatePnf_CreateAaiEntry">
- <bpmn:conditionExpression xsi:type="bpmn:tFormalExpression">#{!aaiContainsInfoAboutPnf}</bpmn:conditionExpression>
- </bpmn:sequenceFlow>
<bpmn:sequenceFlow id="SequenceFlow_1l1t6ak" name="Yes" sourceRef="DoesAaiContainInfoAboutPnf" targetRef="DoesAaiContainInfoAboutIp">
<bpmn:conditionExpression xsi:type="bpmn:tFormalExpression">#{aaiContainsInfoAboutPnf}</bpmn:conditionExpression>
</bpmn:sequenceFlow>
- <bpmn:sequenceFlow id="SequenceFlow_1j4r3zt" sourceRef="CheckAiiForCorrelationId" targetRef="DoesAaiContainInfoAboutPnf" />
- <bpmn:sequenceFlow id="SequenceFlow_0j5ksz1" sourceRef="CreateAndActivatePnf_StartEvent" targetRef="CheckAiiForCorrelationId" />
- <bpmn:sequenceFlow id="SequenceFlow_0p09qgm" sourceRef="WaitForDmaapPnfReadyNotification" targetRef="AaiEntryUpdated" />
<bpmn:sequenceFlow id="SequenceFlow_1h6yz62" name="Yes" sourceRef="DoesAaiContainInfoAboutIp" targetRef="AaiEntryAlreadyUpToDate">
<bpmn:conditionExpression xsi:type="bpmn:tFormalExpression">#{aaiContainsInfoAboutIp}</bpmn:conditionExpression>
</bpmn:sequenceFlow>
- <bpmn:endEvent id="AaiEntryAlreadyUpToDate" name="AAI entry already up-to-date">
- <bpmn:incoming>SequenceFlow_1h6yz62</bpmn:incoming>
+ <bpmn:endEvent id="AaiEntryUpdated" name="AAI entry updated">
+ <bpmn:incoming>SequenceFlow_0p09qgm</bpmn:incoming>
</bpmn:endEvent>
- <bpmn:exclusiveGateway id="DoesAaiContainInfoAboutIp" name="Does AAI contain info about IPv4 or IPv6?">
- <bpmn:incoming>SequenceFlow_1l1t6ak</bpmn:incoming>
- <bpmn:outgoing>SequenceFlow_1h6yz62</bpmn:outgoing>
- <bpmn:outgoing>SequenceFlow_1ls8pua</bpmn:outgoing>
- </bpmn:exclusiveGateway>
<bpmn:endEvent id="ThrowTimeoutException" name="Throw timeout exception">
<bpmn:incoming>SequenceFlow_1miyzfe</bpmn:incoming>
<bpmn:errorEventDefinition errorRef="Error_1" />
</bpmn:endEvent>
- <bpmn:sequenceFlow id="SequenceFlow_1miyzfe" sourceRef="CancelDmaapClientSubscription" targetRef="ThrowTimeoutException" />
- <bpmn:serviceTask id="CheckAiiForCorrelationId" name="Check AAI for correlation_id" camunda:delegateExpression="${checkAaiForCorrelationIdDelegate}">
- <bpmn:incoming>SequenceFlow_0j5ksz1</bpmn:incoming>
- <bpmn:outgoing>SequenceFlow_1j4r3zt</bpmn:outgoing>
- </bpmn:serviceTask>
+ <bpmn:endEvent id="AaiEntryAlreadyUpToDate" name="AAI entry already up-to-date">
+ <bpmn:incoming>SequenceFlow_1h6yz62</bpmn:incoming>
+ </bpmn:endEvent>
<bpmn:startEvent id="CreateAndActivatePnf_StartEvent">
<bpmn:outgoing>SequenceFlow_0j5ksz1</bpmn:outgoing>
</bpmn:startEvent>
- <bpmn:intermediateThrowEvent id="AaiEntryExists" name="AAI entry exists, lacking IP">
- <bpmn:incoming>SequenceFlow_1qr6cmf</bpmn:incoming>
- <bpmn:incoming>SequenceFlow_1ls8pua</bpmn:incoming>
- <bpmn:outgoing>SequenceFlow_17s9025</bpmn:outgoing>
- </bpmn:intermediateThrowEvent>
- <bpmn:endEvent id="AaiEntryUpdated" name="AAI entry updated">
- <bpmn:incoming>SequenceFlow_0p09qgm</bpmn:incoming>
- </bpmn:endEvent>
+ <bpmn:sequenceFlow id="SequenceFlow_0967g8p" sourceRef="CheckInputs" targetRef="CheckAiiForCorrelationId" />
+ <bpmn:serviceTask id="CheckAiiForCorrelationId" name="Check AAI for correlation_id" camunda:delegateExpression="${checkAaiForCorrelationIdDelegate}">
+ <bpmn:incoming>SequenceFlow_0967g8p</bpmn:incoming>
+ <bpmn:outgoing>SequenceFlow_1j4r3zt</bpmn:outgoing>
+ </bpmn:serviceTask>
<bpmn:exclusiveGateway id="DoesAaiContainInfoAboutPnf" name="Does AAI contain info about pnf?">
<bpmn:incoming>SequenceFlow_1j4r3zt</bpmn:incoming>
<bpmn:outgoing>SequenceFlow_1l1t6ak</bpmn:outgoing>
@@ -68,6 +59,16 @@
<bpmn:incoming>SequenceFlow_0v5ffpe</bpmn:incoming>
<bpmn:outgoing>SequenceFlow_1qr6cmf</bpmn:outgoing>
</bpmn:serviceTask>
+ <bpmn:exclusiveGateway id="DoesAaiContainInfoAboutIp" name="Does AAI contain info about IPv4 or IPv6?">
+ <bpmn:incoming>SequenceFlow_1l1t6ak</bpmn:incoming>
+ <bpmn:outgoing>SequenceFlow_1h6yz62</bpmn:outgoing>
+ <bpmn:outgoing>SequenceFlow_1ls8pua</bpmn:outgoing>
+ </bpmn:exclusiveGateway>
+ <bpmn:intermediateThrowEvent id="AaiEntryExists" name="AAI entry exists, lacking IP">
+ <bpmn:incoming>SequenceFlow_1qr6cmf</bpmn:incoming>
+ <bpmn:incoming>SequenceFlow_1ls8pua</bpmn:incoming>
+ <bpmn:outgoing>SequenceFlow_17s9025</bpmn:outgoing>
+ </bpmn:intermediateThrowEvent>
<bpmn:serviceTask id="InformDmaapClient" name="Inform DmaapClient about business key and corresponding pnf-id" camunda:delegateExpression="${informDmaapClient}">
<bpmn:incoming>SequenceFlow_17s9025</bpmn:incoming>
<bpmn:outgoing>SequenceFlow_1o8od8e</bpmn:outgoing>
@@ -86,31 +87,35 @@
<bpmn:incoming>SequenceFlow_1kc34bc</bpmn:incoming>
<bpmn:outgoing>SequenceFlow_1miyzfe</bpmn:outgoing>
</bpmn:serviceTask>
- <bpmn:association id="Association_0d7oxnz" sourceRef="CreateAndActivatePnf_StartEvent" targetRef="TextAnnotation_1eyzes8" />
+ <bpmn:serviceTask id="CheckInputs" name="Check inputs" camunda:delegateExpression="${pnfCheckInputs}">
+ <bpmn:incoming>SequenceFlow_0j5ksz1</bpmn:incoming>
+ <bpmn:outgoing>SequenceFlow_0967g8p</bpmn:outgoing>
+ </bpmn:serviceTask>
<bpmn:textAnnotation id="TextAnnotation_1eyzes8">
<bpmn:text><![CDATA[Inputs:
 - timeoutForPnfEntryNotification - String
- correlationId - String
]]></bpmn:text>
</bpmn:textAnnotation>
+ <bpmn:association id="Association_0d7oxnz" sourceRef="CreateAndActivatePnf_StartEvent" targetRef="TextAnnotation_1eyzes8" />
</bpmn:process>
<bpmn:error id="Error_1" name="MSO Workflow Exception" errorCode="MSOWorkflowException" />
<bpmn:message id="Message_13h1tlo" name="WorkflowMessage" />
<bpmndi:BPMNDiagram id="BPMNDiagram_1">
<bpmndi:BPMNPlane id="BPMNPlane_1" bpmnElement="Collaboration_1d0w8lf">
<bpmndi:BPMNShape id="Participant_1egg397_di" bpmnElement="Participant_1egg397">
- <dc:Bounds x="0" y="0" width="1488" height="437" />
+ <dc:Bounds x="-113" y="0" width="1601" height="438" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="ExclusiveGateway_1cttgdo_di" bpmnElement="DoesAaiContainInfoAboutPnf" isMarkerVisible="true">
- <dc:Bounds x="338" y="182" width="50" height="50" />
+ <dc:Bounds x="390" y="182" width="50" height="50" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="320" y="283" width="85" height="20" />
+ <dc:Bounds x="372" y="283" width="85" height="20" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="ExclusiveGateway_0yamdfm_di" bpmnElement="DoesAaiContainInfoAboutIp" isMarkerVisible="true">
- <dc:Bounds x="646" y="41" width="50" height="50" />
+ <dc:Bounds x="682" y="41" width="50" height="50" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="627" y="5" width="87" height="30" />
+ <dc:Bounds x="663" y="5" width="87" height="30" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="EndEvent_0k52gr7_di" bpmnElement="AaiEntryUpdated">
@@ -120,93 +125,89 @@
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="StartEvent_0j5ok9h_di" bpmnElement="CreateAndActivatePnf_StartEvent">
- <dc:Bounds x="49" y="189" width="36" height="36" />
+ <dc:Bounds x="-54" y="189" width="36" height="36" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="23" y="228" width="90" height="20" />
+ <dc:Bounds x="-80" y="228" width="90" height="20" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="ServiceTask_0a5uk9o_di" bpmnElement="CheckAiiForCorrelationId">
- <dc:Bounds x="159" y="167" width="100" height="80" />
+ <dc:Bounds x="219" y="167" width="100" height="80" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="ServiceTask_0iimk5v_di" bpmnElement="CreateAndActivatePnf_CreateAaiEntry">
- <dc:Bounds x="467" y="167" width="100" height="80" />
+ <dc:Bounds x="511" y="167" width="100" height="80" />
</bpmndi:BPMNShape>
<bpmndi:BPMNEdge id="SequenceFlow_1j4r3zt_di" bpmnElement="SequenceFlow_1j4r3zt">
- <di:waypoint xsi:type="dc:Point" x="259" y="207" />
- <di:waypoint xsi:type="dc:Point" x="338" y="207" />
+ <di:waypoint xsi:type="dc:Point" x="319" y="207" />
+ <di:waypoint xsi:type="dc:Point" x="390" y="207" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="253.5" y="187" width="90" height="10" />
+ <dc:Bounds x="309.5" y="187" width="90" height="10" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="SequenceFlow_1l1t6ak_di" bpmnElement="SequenceFlow_1l1t6ak">
- <di:waypoint xsi:type="dc:Point" x="363" y="182" />
- <di:waypoint xsi:type="dc:Point" x="363" y="66" />
- <di:waypoint xsi:type="dc:Point" x="646" y="66" />
+ <di:waypoint xsi:type="dc:Point" x="415" y="207" />
+ <di:waypoint xsi:type="dc:Point" x="415" y="66" />
+ <di:waypoint xsi:type="dc:Point" x="682" y="66" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="378" y="159" width="19" height="10" />
+ <dc:Bounds x="430" y="180.1206896551724" width="19" height="10" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="SequenceFlow_0v5ffpe_di" bpmnElement="SequenceFlow_0v5ffpe">
- <di:waypoint xsi:type="dc:Point" x="388" y="207" />
- <di:waypoint xsi:type="dc:Point" x="467" y="207" />
+ <di:waypoint xsi:type="dc:Point" x="440" y="207" />
+ <di:waypoint xsi:type="dc:Point" x="511" y="207" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="396.3963414634147" y="210" width="15" height="10" />
+ <dc:Bounds x="447.32911392405055" y="210" width="15" height="10" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="SequenceFlow_1h6yz62_di" bpmnElement="SequenceFlow_1h6yz62">
- <di:waypoint xsi:type="dc:Point" x="696" y="66" />
+ <di:waypoint xsi:type="dc:Point" x="732" y="66" />
<di:waypoint xsi:type="dc:Point" x="1312" y="66" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="708.1232876712329" y="51" width="19" height="10" />
+ <dc:Bounds x="742.7435064935065" y="51" width="19" height="10" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="SequenceFlow_1ls8pua_di" bpmnElement="SequenceFlow_1ls8pua">
- <di:waypoint xsi:type="dc:Point" x="671" y="91" />
- <di:waypoint xsi:type="dc:Point" x="671" y="164" />
- <di:waypoint xsi:type="dc:Point" x="671" y="164" />
- <di:waypoint xsi:type="dc:Point" x="671" y="189" />
+ <di:waypoint xsi:type="dc:Point" x="707" y="91" />
+ <di:waypoint xsi:type="dc:Point" x="707" y="189" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="681" y="105" width="15" height="10" />
+ <dc:Bounds x="717" y="116.1917808219178" width="15" height="10" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="SequenceFlow_1qr6cmf_di" bpmnElement="SequenceFlow_1qr6cmf">
- <di:waypoint xsi:type="dc:Point" x="567" y="207" />
- <di:waypoint xsi:type="dc:Point" x="653" y="207" />
+ <di:waypoint xsi:type="dc:Point" x="611" y="207" />
+ <di:waypoint xsi:type="dc:Point" x="689" y="207" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="565" y="187" width="90" height="10" />
+ <dc:Bounds x="605" y="187" width="90" height="10" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="SequenceFlow_0j5ksz1_di" bpmnElement="SequenceFlow_0j5ksz1">
- <di:waypoint xsi:type="dc:Point" x="85" y="207" />
- <di:waypoint xsi:type="dc:Point" x="122" y="207" />
- <di:waypoint xsi:type="dc:Point" x="122" y="207" />
- <di:waypoint xsi:type="dc:Point" x="159" y="207" />
+ <di:waypoint xsi:type="dc:Point" x="-18" y="207" />
+ <di:waypoint xsi:type="dc:Point" x="48" y="207" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="92" y="202" width="90" height="10" />
+ <dc:Bounds x="-30" y="187" width="90" height="10" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNShape id="Participant_0i9ban2_di" bpmnElement="Participant_0atuyq0">
<dc:Bounds x="123" y="523" width="502" height="60" />
</bpmndi:BPMNShape>
<bpmndi:BPMNEdge id="MessageFlow_1h3xu88_di" bpmnElement="MessageFlow_1h3xu88">
- <di:waypoint xsi:type="dc:Point" x="517" y="247" />
- <di:waypoint xsi:type="dc:Point" x="517" y="523" />
+ <di:waypoint xsi:type="dc:Point" x="561" y="247" />
+ <di:waypoint xsi:type="dc:Point" x="561" y="523" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="487" y="380" width="90" height="10" />
+ <dc:Bounds x="531" y="380" width="90" height="10" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="MessageFlow_09ibv5a_di" bpmnElement="MessageFlow_09ibv5a">
- <di:waypoint xsi:type="dc:Point" x="190" y="247" />
- <di:waypoint xsi:type="dc:Point" x="190" y="523" />
+ <di:waypoint xsi:type="dc:Point" x="250" y="247" />
+ <di:waypoint xsi:type="dc:Point" x="250" y="523" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="160" y="404" width="90" height="10" />
+ <dc:Bounds x="220" y="380" width="90" height="10" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="MessageFlow_0vjul4t_di" bpmnElement="MessageFlow_0vjul4t">
- <di:waypoint xsi:type="dc:Point" x="229" y="523" />
- <di:waypoint xsi:type="dc:Point" x="229" y="247" />
+ <di:waypoint xsi:type="dc:Point" x="289" y="523" />
+ <di:waypoint xsi:type="dc:Point" x="289" y="247" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="199" y="404" width="90" height="10" />
+ <dc:Bounds x="259" y="380" width="90" height="10" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNShape id="Participant_0vmrrhf_di" bpmnElement="Participant_19w87ws">
@@ -225,89 +226,99 @@
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="IntermediateThrowEvent_0fjcdy4_di" bpmnElement="AaiEntryExists">
- <dc:Bounds x="653" y="189" width="36" height="36" />
+ <dc:Bounds x="689" y="189" width="36" height="36" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="634" y="235" width="80" height="20" />
+ <dc:Bounds x="670" y="235" width="80" height="20" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="TextAnnotation_1eyzes8_di" bpmnElement="TextAnnotation_1eyzes8">
- <dc:Bounds x="66" y="70" width="243" height="54" />
+ <dc:Bounds x="-37" y="70" width="243" height="54" />
</bpmndi:BPMNShape>
<bpmndi:BPMNEdge id="Association_0d7oxnz_di" bpmnElement="Association_0d7oxnz">
- <di:waypoint xsi:type="dc:Point" x="67" y="189" />
- <di:waypoint xsi:type="dc:Point" x="67" y="124" />
+ <di:waypoint xsi:type="dc:Point" x="-36" y="189" />
+ <di:waypoint xsi:type="dc:Point" x="-36" y="124" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="MessageFlow_1vrcp2d_di" bpmnElement="MessageFlow_1vrcp2d">
- <di:waypoint xsi:type="dc:Point" x="1006" y="523" />
- <di:waypoint xsi:type="dc:Point" x="1006" y="247" />
+ <di:waypoint xsi:type="dc:Point" x="1026" y="523" />
+ <di:waypoint xsi:type="dc:Point" x="1026" y="247" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="976" y="380" width="90" height="10" />
+ <dc:Bounds x="996" y="380" width="90" height="10" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="SequenceFlow_17s9025_di" bpmnElement="SequenceFlow_17s9025">
- <di:waypoint xsi:type="dc:Point" x="689" y="207" />
- <di:waypoint xsi:type="dc:Point" x="775" y="207" />
+ <di:waypoint xsi:type="dc:Point" x="725" y="207" />
+ <di:waypoint xsi:type="dc:Point" x="803" y="207" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="687" y="187" width="90" height="10" />
+ <dc:Bounds x="719" y="187" width="90" height="10" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNShape id="BoundaryEvent_15eo1k9_di" bpmnElement="WaitForDmaapTimeout">
- <dc:Bounds x="1020" y="229" width="36" height="36" />
+ <dc:Bounds x="1040" y="229" width="36" height="36" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="1051" y="260" width="40" height="10" />
+ <dc:Bounds x="1071" y="260" width="40" height="10" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNShape>
<bpmndi:BPMNEdge id="SequenceFlow_1kc34bc_di" bpmnElement="SequenceFlow_1kc34bc">
- <di:waypoint xsi:type="dc:Point" x="1038" y="265" />
- <di:waypoint xsi:type="dc:Point" x="1038" y="363" />
- <di:waypoint xsi:type="dc:Point" x="1133" y="363" />
+ <di:waypoint xsi:type="dc:Point" x="1058" y="265" />
+ <di:waypoint xsi:type="dc:Point" x="1058" y="363" />
+ <di:waypoint xsi:type="dc:Point" x="1145" y="363" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="1008" y="309" width="90" height="10" />
+ <dc:Bounds x="1028" y="309" width="90" height="10" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNShape id="ReceiveTask_1sfysua_di" bpmnElement="WaitForDmaapPnfReadyNotification">
- <dc:Bounds x="954" y="167" width="100" height="80" />
+ <dc:Bounds x="974" y="167" width="100" height="80" />
</bpmndi:BPMNShape>
<bpmndi:BPMNEdge id="SequenceFlow_0p09qgm_di" bpmnElement="SequenceFlow_0p09qgm">
- <di:waypoint xsi:type="dc:Point" x="1054" y="207" />
+ <di:waypoint xsi:type="dc:Point" x="1074" y="207" />
<di:waypoint xsi:type="dc:Point" x="1312" y="207" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="1138" y="187" width="90" height="10" />
+ <dc:Bounds x="1148" y="187" width="90" height="10" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="SequenceFlow_1o8od8e_di" bpmnElement="SequenceFlow_1o8od8e">
- <di:waypoint xsi:type="dc:Point" x="875" y="207" />
- <di:waypoint xsi:type="dc:Point" x="954" y="207" />
+ <di:waypoint xsi:type="dc:Point" x="903" y="207" />
+ <di:waypoint xsi:type="dc:Point" x="974" y="207" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="869.5" y="187" width="90" height="10" />
+ <dc:Bounds x="893.5" y="187" width="90" height="10" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="MessageFlow_0tg4hw9_di" bpmnElement="MessageFlow_0tg4hw9">
- <di:waypoint xsi:type="dc:Point" x="825" y="247" />
- <di:waypoint xsi:type="dc:Point" x="825" y="523" />
+ <di:waypoint xsi:type="dc:Point" x="853" y="247" />
+ <di:waypoint xsi:type="dc:Point" x="853" y="523" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="795" y="380" width="90" height="10" />
+ <dc:Bounds x="823" y="380" width="90" height="10" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNShape id="ServiceTask_1iax11n_di" bpmnElement="InformDmaapClient">
- <dc:Bounds x="775" y="167" width="100" height="80" />
+ <dc:Bounds x="803" y="167" width="100" height="80" />
</bpmndi:BPMNShape>
<bpmndi:BPMNEdge id="SequenceFlow_1miyzfe_di" bpmnElement="SequenceFlow_1miyzfe">
- <di:waypoint xsi:type="dc:Point" x="1233" y="363" />
+ <di:waypoint xsi:type="dc:Point" x="1245" y="363" />
<di:waypoint xsi:type="dc:Point" x="1312" y="363" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="1227.5" y="343" width="90" height="10" />
+ <dc:Bounds x="1233.5" y="343" width="90" height="10" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="MessageFlow_1py54jr_di" bpmnElement="MessageFlow_1py54jr">
- <di:waypoint xsi:type="dc:Point" x="1183" y="403" />
- <di:waypoint xsi:type="dc:Point" x="1183" y="523" />
+ <di:waypoint xsi:type="dc:Point" x="1195" y="403" />
+ <di:waypoint xsi:type="dc:Point" x="1195" y="523" />
<bpmndi:BPMNLabel>
- <dc:Bounds x="1153" y="458" width="90" height="10" />
+ <dc:Bounds x="1165" y="458" width="90" height="10" />
</bpmndi:BPMNLabel>
</bpmndi:BPMNEdge>
<bpmndi:BPMNShape id="ServiceTask_12j7hox_di" bpmnElement="CancelDmaapClientSubscription">
- <dc:Bounds x="1133" y="323" width="100" height="80" />
+ <dc:Bounds x="1145" y="323" width="100" height="80" />
+ </bpmndi:BPMNShape>
+ <bpmndi:BPMNEdge id="SequenceFlow_0967g8p_di" bpmnElement="SequenceFlow_0967g8p">
+ <di:waypoint xsi:type="dc:Point" x="148" y="207" />
+ <di:waypoint xsi:type="dc:Point" x="219" y="207" />
+ <bpmndi:BPMNLabel>
+ <dc:Bounds x="183.5" y="187" width="0" height="10" />
+ </bpmndi:BPMNLabel>
+ </bpmndi:BPMNEdge>
+ <bpmndi:BPMNShape id="ServiceTask_0lx02qn_di" bpmnElement="CheckInputs">
+ <dc:Bounds x="48" y="167" width="100" height="80" />
</bpmndi:BPMNShape>
</bpmndi:BPMNPlane>
</bpmndi:BPMNDiagram>
diff --git a/bpmn/MSOInfrastructureBPMN/src/main/resources/process/CreateVcpeResCustService.bpmn b/bpmn/MSOInfrastructureBPMN/src/main/resources/process/CreateVcpeResCustService.bpmn
index 03d7362ac5..d1019887b0 100644
--- a/bpmn/MSOInfrastructureBPMN/src/main/resources/process/CreateVcpeResCustService.bpmn
+++ b/bpmn/MSOInfrastructureBPMN/src/main/resources/process/CreateVcpeResCustService.bpmn
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<bpmn2:definitions xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:bpmn2="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:camunda="http://camunda.org/schema/1.0/bpmn" xmlns:dc="http://www.omg.org/spec/DD/20100524/DC" xmlns:di="http://www.omg.org/spec/DD/20100524/DI" id="_MagIIMOUEeW8asg-vCEgWQ" targetNamespace="http://camunda.org/schema/1.0/bpmn" exporter="Camunda Modeler" exporterVersion="1.10.0" xsi:schemaLocation="http://www.omg.org/spec/BPMN/20100524/MODEL BPMN20.xsd">
+<bpmn2:definitions xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:bpmn2="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:camunda="http://camunda.org/schema/1.0/bpmn" xmlns:dc="http://www.omg.org/spec/DD/20100524/DC" xmlns:di="http://www.omg.org/spec/DD/20100524/DI" id="_MagIIMOUEeW8asg-vCEgWQ" targetNamespace="http://camunda.org/schema/1.0/bpmn" exporter="Camunda Modeler" exporterVersion="1.11.3" xsi:schemaLocation="http://www.omg.org/spec/BPMN/20100524/MODEL BPMN20.xsd">
<bpmn2:process id="CreateVcpeResCustService" name="CreateVcpeResCustService" isExecutable="true">
<bpmn2:scriptTask id="sendSyncAckResponse_ScriptTask" name="Send Sync Ack Response" scriptFormat="groovy">
<bpmn2:incoming>SequenceFlow_7</bpmn2:incoming>
@@ -448,6 +448,7 @@ CreateVcpeResCustService.prepareCreateAllottedResourceTXC(execution)]]></bpmn2:s
<camunda:in source="serviceDecomposition" target="serviceDecomposition" />
<camunda:in source="subscriberInfo" target="subscriberInfo" />
<camunda:in source="homingService" target="homingService" />
+ <camunda:in source="customerLocation" target="customerLocation" />
</bpmn2:extensionElements>
<bpmn2:incoming>SequenceFlow_11efpvh</bpmn2:incoming>
<bpmn2:outgoing>SequenceFlow_1jbuf1t</bpmn2:outgoing>
diff --git a/bpmn/MSOInfrastructureBPMN/src/main/webapp/WEB-INF/applicationContext.xml b/bpmn/MSOInfrastructureBPMN/src/main/webapp/WEB-INF/applicationContext.xml
index 13ab4f8f17..7a0aa60bb3 100644
--- a/bpmn/MSOInfrastructureBPMN/src/main/webapp/WEB-INF/applicationContext.xml
+++ b/bpmn/MSOInfrastructureBPMN/src/main/webapp/WEB-INF/applicationContext.xml
@@ -38,4 +38,8 @@
<property name="locations" value="classpath:dmaap.properties"/>
</bean>
+ <bean id="pnfCheckInputs" class="org.openecomp.mso.bpmn.infrastructure.pnf.delegate.PnfCheckInputs">
+ <property name="defaultTimeout" value="${pnfDefaultTimeout}"/>
+ </bean>
+
</beans>
diff --git a/bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/infrastructure/pnf/delegate/AaiConnectionTestImpl.java b/bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/infrastructure/pnf/delegate/AaiConnectionTestImpl.java
index 1ad1f9e5a4..bffae8d892 100644
--- a/bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/infrastructure/pnf/delegate/AaiConnectionTestImpl.java
+++ b/bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/infrastructure/pnf/delegate/AaiConnectionTestImpl.java
@@ -21,8 +21,10 @@
package org.openecomp.mso.bpmn.infrastructure.pnf.delegate;
import java.io.IOException;
+import java.util.HashMap;
import java.util.LinkedList;
import java.util.List;
+import java.util.Map;
import java.util.Objects;
import java.util.Optional;
import org.onap.aai.domain.yang.Pnf;
@@ -37,7 +39,7 @@ public class AaiConnectionTestImpl implements AaiConnection {
public static final String DEFAULT_IP = "1.2.3.4";
public static final String DEFAULT_IP_V6 = "2001:db8::ff00:42:8329";
- private List<String> created = new LinkedList<>();
+ private Map<String, Pnf> created = new HashMap<>();
@Override
public Optional<Pnf> getEntryFor(String correlationId) throws IOException {
@@ -58,10 +60,10 @@ public class AaiConnectionTestImpl implements AaiConnection {
@Override
public void createEntry(String correlationId, Pnf entry) throws IOException {
- created.add(correlationId);
+ created.put(correlationId, entry);
}
- public List<String> getCreated() {
+ public Map<String, Pnf> getCreated() {
return created;
}
diff --git a/bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/infrastructure/pnf/delegate/CreateAaiEntryWithPnfIdDelegateTest.java b/bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/infrastructure/pnf/delegate/CreateAaiEntryWithPnfIdDelegateTest.java
new file mode 100644
index 0000000000..3a65eaf531
--- /dev/null
+++ b/bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/infrastructure/pnf/delegate/CreateAaiEntryWithPnfIdDelegateTest.java
@@ -0,0 +1,47 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * ONAP - SO
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END=========================================================
+ */
+package org.openecomp.mso.bpmn.infrastructure.pnf.delegate;
+
+import static org.assertj.core.api.Assertions.assertThat;
+import static org.mockito.Matchers.eq;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.when;
+import static org.openecomp.mso.bpmn.infrastructure.pnf.delegate.ExecutionVariableNames.CORRELATION_ID;
+
+import org.camunda.bpm.engine.delegate.DelegateExecution;
+import org.junit.Test;
+
+public class CreateAaiEntryWithPnfIdDelegateTest {
+
+ @Test
+ public void shouldSetPnfIdAndPnfName() throws Exception {
+ // given
+ CreateAaiEntryWithPnfIdDelegate delegate = new CreateAaiEntryWithPnfIdDelegate();
+ AaiConnectionTestImpl aaiConnection = new AaiConnectionTestImpl();
+ delegate.setAaiConnection(aaiConnection);
+ DelegateExecution execution = mock(DelegateExecution.class);
+ when(execution.getVariable(eq(CORRELATION_ID))).thenReturn("testCorrelationId");
+ // when
+ delegate.execute(execution);
+ // then
+ assertThat(aaiConnection.getCreated().get("testCorrelationId").getPnfId()).isEqualTo("testCorrelationId");
+ assertThat(aaiConnection.getCreated().get("testCorrelationId").getPnfName()).isEqualTo("testCorrelationId");
+ }
+} \ No newline at end of file
diff --git a/bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/infrastructure/pnf/delegate/PnfCheckInputsTest.java b/bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/infrastructure/pnf/delegate/PnfCheckInputsTest.java
new file mode 100644
index 0000000000..1799e7fcbc
--- /dev/null
+++ b/bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/infrastructure/pnf/delegate/PnfCheckInputsTest.java
@@ -0,0 +1,84 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * ONAP - SO
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.openecomp.mso.bpmn.infrastructure.pnf.delegate;
+
+import static org.assertj.core.api.Assertions.assertThatThrownBy;
+import static org.mockito.Matchers.eq;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.when;
+import static org.openecomp.mso.bpmn.infrastructure.pnf.delegate.ExecutionVariableNames.CORRELATION_ID;
+import static org.openecomp.mso.bpmn.infrastructure.pnf.delegate.ExecutionVariableNames.TIMEOUT_FOR_NOTIFICATION;
+
+import org.camunda.bpm.engine.delegate.BpmnError;
+import org.camunda.bpm.engine.delegate.DelegateExecution;
+import org.junit.Before;
+import org.junit.Test;
+
+public class PnfCheckInputsTest {
+
+ private PnfCheckInputs delegate;
+
+ @Before
+ public void setUp() throws Exception {
+ delegate = new PnfCheckInputs();
+ }
+
+ private DelegateExecution mockDelegateExecution() {
+ DelegateExecution delegateExecution = mock(DelegateExecution.class);
+ when(delegateExecution.getVariable("testProcessKey")).thenReturn("testProcessKeyValue");
+ return delegateExecution;
+ }
+
+ @Test
+ public void shouldThrowException_whenPnfIdNotSet() throws Exception {
+ // given
+ DelegateExecution delegateExecution = mockDelegateExecution();
+ // when, then
+ assertThatThrownBy(() -> delegate.execute(delegateExecution)).isInstanceOf(BpmnError.class);
+ }
+
+ private DelegateExecution mockDelegateExecutionWithCorrelationId() {
+ DelegateExecution delegateExecution = mockDelegateExecution();
+ when(delegateExecution.getVariable(CORRELATION_ID)).thenReturn("testCorrelationId");
+ return delegateExecution;
+ }
+
+ @Test
+ public void shouldThrowException_whenTimeoutIsNotSetAndDefaultIsNotDefined() throws Exception {
+ // given
+ DelegateExecution delegateExecution = mockDelegateExecutionWithCorrelationId();
+ // when, then
+ assertThatThrownBy(() -> delegate.execute(delegateExecution)).isInstanceOf(BpmnError.class);
+ }
+
+ @Test
+ public void shouldSetDefaultTimeout_whenTimeoutIsNotSet() throws Exception {
+ // given
+ String defaultTimeout = "T1D";
+ delegate.setDefaultTimeout(defaultTimeout);
+ DelegateExecution delegateExecution = mockDelegateExecutionWithCorrelationId();
+ // when
+ delegate.execute(delegateExecution);
+ // then
+ verify(delegateExecution).setVariable(eq(TIMEOUT_FOR_NOTIFICATION), eq(defaultTimeout));
+ }
+} \ No newline at end of file
diff --git a/bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/infrastructure/pnf/delegate/bpmn/CreateAndActivatePnfResourceTest.java b/bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/infrastructure/pnf/delegate/bpmn/CreateAndActivatePnfResourceTest.java
index cceb271778..ada5a902a7 100644
--- a/bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/infrastructure/pnf/delegate/bpmn/CreateAndActivatePnfResourceTest.java
+++ b/bpmn/MSOInfrastructureBPMN/src/test/java/org/openecomp/mso/bpmn/infrastructure/pnf/delegate/bpmn/CreateAndActivatePnfResourceTest.java
@@ -136,7 +136,7 @@ public class CreateAndActivatePnfResourceTest {
"WaitForDmaapPnfReadyNotification",
"AaiEntryUpdated"
);
- assertThat(aaiConnection.getCreated()).containsExactly(ID_WITHOUT_ENTRY);
+ assertThat(aaiConnection.getCreated()).containsOnlyKeys(ID_WITHOUT_ENTRY);
}
private List<HistoricVariableInstance> getVariables(ProcessInstance instance) {
diff --git a/bpmn/MSOInfrastructureBPMN/src/test/resources/applicationContext_forPnfTesting.xml b/bpmn/MSOInfrastructureBPMN/src/test/resources/applicationContext_forPnfTesting.xml
index 6dc3bbf880..980a0b1186 100644
--- a/bpmn/MSOInfrastructureBPMN/src/test/resources/applicationContext_forPnfTesting.xml
+++ b/bpmn/MSOInfrastructureBPMN/src/test/resources/applicationContext_forPnfTesting.xml
@@ -62,4 +62,9 @@
</bean>
<bean id="dmaapClient" class="org.openecomp.mso.bpmn.infrastructure.pnf.delegate.DmaapClientTestImpl"/>
+
+
+ <bean id="pnfCheckInputs" class="org.openecomp.mso.bpmn.infrastructure.pnf.delegate.PnfCheckInputs">
+ <property name="defaultTimeout" value="PT1S"/>
+ </bean>
</beans>
diff --git a/mso-api-handlers/mso-api-handler-common/src/main/java/org/openecomp/mso/apihandler/camundabeans/CamundaVIDRequest.java b/mso-api-handlers/mso-api-handler-common/src/main/java/org/openecomp/mso/apihandler/camundabeans/CamundaVIDRequest.java
index faa669133f..9f30e67897 100644
--- a/mso-api-handlers/mso-api-handler-common/src/main/java/org/openecomp/mso/apihandler/camundabeans/CamundaVIDRequest.java
+++ b/mso-api-handlers/mso-api-handler-common/src/main/java/org/openecomp/mso/apihandler/camundabeans/CamundaVIDRequest.java
@@ -34,7 +34,7 @@ import com.fasterxml.jackson.annotation.JsonRootName;
CommonConstants.REQUEST_ID_HEADER,
CommonConstants.IS_BASE_VF_MODULE_VARIABLE, CommonConstants.RECIPE_TIMEOUT_VARIABLE,
CommonConstants.REQUEST_ACTION_VARIABLE, CommonConstants.SERVICE_INSTANCE_ID_VARIABLE,
- CommonConstants.VNF_ID_VARIABLE, CommonConstants.VF_MODULE_ID_VARIABLE,
+ CommonConstants.CORRELATION_ID, CommonConstants.VNF_ID_VARIABLE, CommonConstants.VF_MODULE_ID_VARIABLE,
CommonConstants.VOLUME_GROUP_ID_VARIABLE, CommonConstants.NETWORK_ID_VARIABLE,
CommonConstants.CONFIGURATION_ID_VARIABLE, CommonConstants.SERVICE_TYPE_VARIABLE,
CommonConstants.VNF_TYPE_VARIABLE, CommonConstants.VF_MODULE_TYPE_VARIABLE,
@@ -55,7 +55,6 @@ public class CamundaVIDRequest {
@JsonProperty(CommonConstants.REQUEST_ID_HEADER)
private CamundaInput msoRequestId;
-
@JsonProperty(CommonConstants.IS_BASE_VF_MODULE_VARIABLE)
private CamundaBooleanInput isBaseVfModule;
@@ -68,6 +67,9 @@ public class CamundaVIDRequest {
@JsonProperty(CommonConstants.SERVICE_INSTANCE_ID_VARIABLE)
private CamundaInput serviceInstanceId;
+ @JsonProperty(CommonConstants.CORRELATION_ID)
+ private CamundaInput correlationId;
+
@JsonProperty(CommonConstants.VNF_ID_VARIABLE)
private CamundaInput vnfId;
@@ -177,6 +179,16 @@ public class CamundaVIDRequest {
this.serviceInstanceId = serviceInstanceId;
}
+ @JsonProperty(CommonConstants.CORRELATION_ID)
+ public CamundaInput getCorrelationId() {
+ return correlationId;
+ }
+
+ @JsonProperty(CommonConstants.CORRELATION_ID)
+ public void setCorrelationId(CamundaInput correlationId) {
+ this.correlationId = correlationId;
+ }
+
@JsonProperty(CommonConstants.VNF_ID_VARIABLE)
public CamundaInput getVnfId() {
return vnfId;
diff --git a/mso-api-handlers/mso-api-handler-common/src/main/java/org/openecomp/mso/apihandler/common/BPELRestClient.java b/mso-api-handlers/mso-api-handler-common/src/main/java/org/openecomp/mso/apihandler/common/BPELRestClient.java
index 1a086ac35c..85fe52f24c 100644
--- a/mso-api-handlers/mso-api-handler-common/src/main/java/org/openecomp/mso/apihandler/common/BPELRestClient.java
+++ b/mso-api-handlers/mso-api-handler-common/src/main/java/org/openecomp/mso/apihandler/common/BPELRestClient.java
@@ -85,14 +85,10 @@ public class BPELRestClient extends RequestClient {
}
@Override
- public HttpResponse post(String requestId, boolean isBaseVfModule,
- int recipeTimeout, String requestAction, String serviceInstanceId,
- String vnfId, String vfModuleId, String volumeGroupId, String networkId, String configurationId,
- String serviceType, String vnfType, String vfModuleType, String networkType,
- String requestDetails, String recipeParamXsd) {
+ public HttpResponse post(RequestClientParamater params) {
return null;
}
-
+
@Override
public HttpResponse get() {
return null;
diff --git a/mso-api-handlers/mso-api-handler-common/src/main/java/org/openecomp/mso/apihandler/common/CamundaClient.java b/mso-api-handlers/mso-api-handler-common/src/main/java/org/openecomp/mso/apihandler/common/CamundaClient.java
index 9cc89530c4..d03aaef258 100644
--- a/mso-api-handlers/mso-api-handler-common/src/main/java/org/openecomp/mso/apihandler/common/CamundaClient.java
+++ b/mso-api-handlers/mso-api-handler-common/src/main/java/org/openecomp/mso/apihandler/common/CamundaClient.java
@@ -20,13 +20,12 @@
package org.openecomp.mso.apihandler.common;
-
import java.io.IOException;
import javax.xml.bind.DatatypeConverter;
+import org.apache.commons.lang3.StringUtils;
import org.apache.http.HttpResponse;
-import org.apache.http.client.ClientProtocolException;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.entity.StringEntity;
import org.openecomp.mso.apihandler.camundabeans.CamundaBooleanInput;
@@ -51,8 +50,7 @@ public class CamundaClient extends RequestClient{
@Override
public HttpResponse post(String camundaReqXML, String requestId,
- String requestTimeout, String schemaVersion, String serviceInstanceId, String action)
- throws ClientProtocolException, IOException{
+ String requestTimeout, String schemaVersion, String serviceInstanceId, String action) throws IOException {
HttpPost post = new HttpPost(url);
msoLogger.debug(CAMUNDA_URL_MESAGE + url);
String jsonReq = wrapRequest(camundaReqXML, requestId, serviceInstanceId, requestTimeout, schemaVersion);
@@ -77,7 +75,7 @@ public class CamundaClient extends RequestClient{
}
@Override
- public HttpResponse post(String jsonReq) throws ClientProtocolException, IOException{
+ public HttpResponse post(String jsonReq) throws IOException {
HttpPost post = new HttpPost(url);
msoLogger.debug(CAMUNDA_URL_MESAGE + url);
@@ -102,21 +100,13 @@ public class CamundaClient extends RequestClient{
}
@Override
- public HttpResponse post(String requestId, boolean isBaseVfModule,
- int recipeTimeout, String requestAction, String serviceInstanceId,
- String vnfId, String vfModuleId, String volumeGroupId, String networkId, String configurationId,
- String serviceType, String vnfType, String vfModuleType, String networkType,
- String requestDetails, String recipeParamXsd)
- throws ClientProtocolException, IOException{
+ public HttpResponse post(RequestClientParamater params) throws IOException {
HttpPost post = new HttpPost(url);
msoLogger.debug(CAMUNDA_URL_MESAGE + url);
- String jsonReq = wrapVIDRequest(requestId, isBaseVfModule, recipeTimeout, requestAction,
- serviceInstanceId, vnfId, vfModuleId, volumeGroupId, networkId, configurationId,
- serviceType, vnfType, vfModuleType, networkType, requestDetails, recipeParamXsd);
+ String jsonReq = wrapVIDRequest(params);
StringEntity input = new StringEntity(jsonReq);
input.setContentType(CommonConstants.CONTENT_TYPE_JSON);
-
String encryptedCredentials;
if(props!=null){
encryptedCredentials = props.getProperty(CommonConstants.CAMUNDA_AUTH,null);
@@ -128,12 +118,10 @@ public class CamundaClient extends RequestClient{
}
}
}
-
post.setEntity(input);
-
return client.execute(post);
}
-
+
@Override
public HttpResponse get() {
return null;
@@ -150,8 +138,6 @@ public class CamundaClient extends RequestClient{
if(schemaVersion == null){
schemaVersion = "";
}
-
-
try{
CamundaRequest camundaRequest = new CamundaRequest();
CamundaInput camundaInput = new CamundaInput();
@@ -183,52 +169,8 @@ public class CamundaClient extends RequestClient{
return jsonReq;
}
- private String wrapVIDRequest(String requestId, boolean isBaseVfModule,
- int recipeTimeout, String requestAction, String serviceInstanceId,
- String vnfId, String vfModuleId, String volumeGroupId, String networkId, String configurationId,
- String serviceType, String vnfType, String vfModuleType, String networkType,
- String requestDetails, String recipeParams){
+ private String wrapVIDRequest(RequestClientParamater requestClientParamater) {
String jsonReq = null;
- if(requestId == null){
- requestId ="";
- }
- if(requestAction == null){
- requestAction ="";
- }
- if(serviceInstanceId == null){
- serviceInstanceId ="";
- }
- if(vnfId == null){
- vnfId ="";
- }
- if(vfModuleId == null){
- vfModuleId ="";
- }
- if(volumeGroupId == null){
- volumeGroupId ="";
- }
- if(networkId == null){
- networkId ="";
- }
- if(configurationId == null){
- configurationId ="";
- }
- if(serviceType == null){
- serviceType ="";
- }
- if(vnfType == null){
- vnfType ="";
- }
- if(vfModuleType == null){
- vfModuleType ="";
- }
- if(networkType == null){
- networkType ="";
- }
- if(requestDetails == null){
- requestDetails ="";
- }
-
try{
CamundaVIDRequest camundaRequest = new CamundaVIDRequest();
CamundaInput serviceInput = new CamundaInput();
@@ -238,6 +180,7 @@ public class CamundaClient extends RequestClient{
CamundaIntegerInput recipeTimeoutInput = new CamundaIntegerInput();
CamundaInput requestActionInput = new CamundaInput();
CamundaInput serviceInstanceIdInput = new CamundaInput();
+ CamundaInput correlationIdInput = new CamundaInput();
CamundaInput vnfIdInput = new CamundaInput();
CamundaInput vfModuleIdInput = new CamundaInput();
CamundaInput volumeGroupIdInput = new CamundaInput();
@@ -248,23 +191,23 @@ public class CamundaClient extends RequestClient{
CamundaInput vfModuleTypeInput = new CamundaInput();
CamundaInput networkTypeInput = new CamundaInput();
CamundaInput recipeParamsInput = new CamundaInput();
- host.setValue(parseURL());
- requestIdInput.setValue(requestId);
- isBaseVfModuleInput.setValue(isBaseVfModule);
- recipeTimeoutInput.setValue(recipeTimeout);
- requestActionInput.setValue(requestAction);
- serviceInstanceIdInput.setValue(serviceInstanceId);
- vnfIdInput.setValue(vnfId);
- vfModuleIdInput.setValue(vfModuleId);
- volumeGroupIdInput.setValue(volumeGroupId);
- networkIdInput.setValue(networkId);
- configurationIdInput.setValue(configurationId);
- serviceTypeInput.setValue(serviceType);
- vnfTypeInput.setValue(vnfType);
- vfModuleTypeInput.setValue(vfModuleType);
- networkTypeInput.setValue(networkType);
- recipeParamsInput.setValue(recipeParams);
- serviceInput.setValue(requestDetails);
+ requestIdInput.setValue(StringUtils.defaultString(requestClientParamater.getRequestId()));
+ isBaseVfModuleInput.setValue(requestClientParamater.isBaseVfModule());
+ recipeTimeoutInput.setValue(requestClientParamater.getRecipeTimeout());
+ requestActionInput.setValue(StringUtils.defaultString(requestClientParamater.getRequestAction()));
+ serviceInstanceIdInput.setValue(StringUtils.defaultString(requestClientParamater.getServiceInstanceId()));
+ correlationIdInput.setValue(StringUtils.defaultString(requestClientParamater.getCorrelationId()));
+ vnfIdInput.setValue(StringUtils.defaultString(requestClientParamater.getVnfId()));
+ vfModuleIdInput.setValue(StringUtils.defaultString(requestClientParamater.getVfModuleId()));
+ volumeGroupIdInput.setValue(StringUtils.defaultString(requestClientParamater.getVolumeGroupId()));
+ networkIdInput.setValue(StringUtils.defaultString(requestClientParamater.getNetworkId()));
+ configurationIdInput.setValue(StringUtils.defaultString(requestClientParamater.getConfigurationId()));
+ serviceTypeInput.setValue(StringUtils.defaultString(requestClientParamater.getServiceType()));
+ vnfTypeInput.setValue(StringUtils.defaultString(requestClientParamater.getVnfType()));
+ vfModuleTypeInput.setValue(StringUtils.defaultString(requestClientParamater.getVfModuleType()));
+ networkTypeInput.setValue(StringUtils.defaultString(requestClientParamater.getNetworkType()));
+ recipeParamsInput.setValue(requestClientParamater.getRecipeParamXsd());
+ serviceInput.setValue(StringUtils.defaultString(requestClientParamater.getRequestDetails()));
camundaRequest.setServiceInput(serviceInput);
camundaRequest.setHost(host);
camundaRequest.setRequestId(requestIdInput);
@@ -273,6 +216,7 @@ public class CamundaClient extends RequestClient{
camundaRequest.setRecipeTimeout(recipeTimeoutInput);
camundaRequest.setRequestAction(requestActionInput);
camundaRequest.setServiceInstanceId(serviceInstanceIdInput);
+ camundaRequest.setCorrelationId(correlationIdInput);
camundaRequest.setVnfId(vnfIdInput);
camundaRequest.setVfModuleId(vfModuleIdInput);
camundaRequest.setVolumeGroupId(volumeGroupIdInput);
@@ -306,5 +250,4 @@ public class CamundaClient extends RequestClient{
return host;
}
-
}
diff --git a/mso-api-handlers/mso-api-handler-common/src/main/java/org/openecomp/mso/apihandler/common/CamundaTaskClient.java b/mso-api-handlers/mso-api-handler-common/src/main/java/org/openecomp/mso/apihandler/common/CamundaTaskClient.java
index 3941e1e5af..845b140348 100644
--- a/mso-api-handlers/mso-api-handler-common/src/main/java/org/openecomp/mso/apihandler/common/CamundaTaskClient.java
+++ b/mso-api-handlers/mso-api-handler-common/src/main/java/org/openecomp/mso/apihandler/common/CamundaTaskClient.java
@@ -25,7 +25,6 @@ import java.io.IOException;
import javax.xml.bind.DatatypeConverter;
import org.apache.http.HttpResponse;
-import org.apache.http.client.ClientProtocolException;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.entity.StringEntity;
@@ -39,8 +38,7 @@ public class CamundaTaskClient extends RequestClient{
}
@Override
- public HttpResponse post(String jsonReq)
- throws ClientProtocolException, IOException{
+ public HttpResponse post(String jsonReq) throws IOException{
HttpPost post = new HttpPost(url);
msoLogger.debug("Camunda Task url is: "+ url);
@@ -65,25 +63,18 @@ public class CamundaTaskClient extends RequestClient{
@Override
public HttpResponse post(String camundaReqXML, String requestId,
- String requestTimeout, String schemaVersion, String serviceInstanceId, String action)
- throws ClientProtocolException, IOException{
+ String requestTimeout, String schemaVersion, String serviceInstanceId, String action) {
msoLogger.debug("Method not supported");
return null;
}
-
+
@Override
- public HttpResponse post(String requestId, boolean isBaseVfModule,
- int recipeTimeout, String requestAction, String serviceInstanceId,
- String vnfId, String vfModuleId, String volumeGroupId, String networkId, String configurationId,
- String serviceType, String vnfType, String vfModuleType, String networkType,
- String requestDetails, String recipeParamXsd)
- throws ClientProtocolException, IOException{
- msoLogger.debug("Method not supported");
+ public HttpResponse post(RequestClientParamater params) {
return null;
}
-
+
@Override
- public HttpResponse get() throws ClientProtocolException, IOException{
+ public HttpResponse get() throws IOException{
HttpGet get = new HttpGet(url);
msoLogger.debug("Camunda Task url is: "+ url);
String encryptedCredentials;
@@ -97,7 +88,6 @@ public class CamundaTaskClient extends RequestClient{
}
}
}
-
return client.execute(get);
}
diff --git a/mso-api-handlers/mso-api-handler-common/src/main/java/org/openecomp/mso/apihandler/common/CommonConstants.java b/mso-api-handlers/mso-api-handler-common/src/main/java/org/openecomp/mso/apihandler/common/CommonConstants.java
index 4dac998527..daa411a963 100644
--- a/mso-api-handlers/mso-api-handler-common/src/main/java/org/openecomp/mso/apihandler/common/CommonConstants.java
+++ b/mso-api-handlers/mso-api-handler-common/src/main/java/org/openecomp/mso/apihandler/common/CommonConstants.java
@@ -25,13 +25,11 @@ public final class CommonConstants {
public static final String DEFAULT_BPEL_AUTH = "admin:admin";
public static final String ENCRYPTION_KEY = "aa3871669d893c7fb8abbcda31b88b4f";
-
public static final String REQUEST_ID_HEADER = "mso-request-id";
public static final String REQUEST_TIMEOUT_HEADER = "mso-service-request-timeout";
public static final String SCHEMA_VERSION_HEADER = "mso-schema-version";
public static final String SERVICE_INSTANCE_ID_HEADER = "mso-service-instance-id";
public static final String ACTION_HEADER = "mso-action";
-
public static final String CAMUNDA_SERVICE_INPUT = "bpmnRequest";
public static final String CAMUNDA_ROOT_INPUT = "variables";
public static final String CONTENT_TYPE_JSON= "application/json";
@@ -47,13 +45,12 @@ public final class CommonConstants {
public static final int CAMUNDA = 1;
public static final int CAMUNDATASK = 2;
public static final String CAMUNDA_HOST = "host";
- public static final String SDNC_UUID_HEADER = "mso-sdnc-request-id";
-
public static final String REQUEST_ID_VARIABLE = "requestId";
public static final String IS_BASE_VF_MODULE_VARIABLE = "isBaseVfModule";
public static final String RECIPE_TIMEOUT_VARIABLE = "recipeTimeout";
public static final String REQUEST_ACTION_VARIABLE = "requestAction";
public static final String SERVICE_INSTANCE_ID_VARIABLE = "serviceInstanceId";
+ public static final String CORRELATION_ID = "correlationId";
public static final String VNF_ID_VARIABLE = "vnfId";
public static final String VF_MODULE_ID_VARIABLE = "vfModuleId";
public static final String VOLUME_GROUP_ID_VARIABLE = "volumeGroupId";
diff --git a/mso-api-handlers/mso-api-handler-common/src/main/java/org/openecomp/mso/apihandler/common/RequestClient.java b/mso-api-handlers/mso-api-handler-common/src/main/java/org/openecomp/mso/apihandler/common/RequestClient.java
index d702a63fda..ed5d076d8c 100644
--- a/mso-api-handlers/mso-api-handler-common/src/main/java/org/openecomp/mso/apihandler/common/RequestClient.java
+++ b/mso-api-handlers/mso-api-handler-common/src/main/java/org/openecomp/mso/apihandler/common/RequestClient.java
@@ -67,17 +67,11 @@ public abstract class RequestClient {
public abstract HttpResponse post(String request, String requestId, String requestTimeout, String schemaVersion, String serviceInstanceId, String action) throws ClientProtocolException, IOException;
- public abstract HttpResponse post(String request) throws ClientProtocolException, IOException;
-
- public abstract HttpResponse post(String requestId, boolean isBaseVfModule,
- int recipeTimeout, String requestAction, String serviceInstanceId,
- String vnfId, String vfModuleId, String volumeGroupId, String networkId, String configurationId,
- String serviceType, String vnfType, String vfModuleType, String networkType,
- String requestDetails, String recipeParamXsd)
- throws ClientProtocolException, IOException;
+ public abstract HttpResponse post(String request) throws IOException;
+
+ public abstract HttpResponse post(RequestClientParamater params) throws IOException;
- public abstract HttpResponse get()
- throws ClientProtocolException, IOException;
+ public abstract HttpResponse get() throws IOException;
protected String getEncryptedPropValue (String prop, String defaultValue, String encryptionKey) {
try {
diff --git a/mso-api-handlers/mso-api-handler-common/src/main/java/org/openecomp/mso/apihandler/common/RequestClientParamater.java b/mso-api-handlers/mso-api-handler-common/src/main/java/org/openecomp/mso/apihandler/common/RequestClientParamater.java
new file mode 100644
index 0000000000..4db69199da
--- /dev/null
+++ b/mso-api-handlers/mso-api-handler-common/src/main/java/org/openecomp/mso/apihandler/common/RequestClientParamater.java
@@ -0,0 +1,242 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * ONAP - SO
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+ * Copyright (C) 2017 Huawei Technologies Co., Ltd. All rights reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.openecomp.mso.apihandler.common;
+
+public class RequestClientParamater {
+
+ private String requestId;
+ private boolean isBaseVfModule;
+ private int recipeTimeout;
+ private String requestAction;
+ private String serviceInstanceId;
+ private String correlationId;
+ private String vnfId;
+ private String vfModuleId;
+ private String volumeGroupId;
+ private String networkId;
+ private String configurationId;
+ private String serviceType;
+ private String vnfType;
+ private String vfModuleType;
+ private String networkType;
+ private String requestDetails;
+ private String recipeParamXsd;
+
+ private RequestClientParamater(Builder builder) {
+ requestId = builder.requestId;
+ isBaseVfModule = builder.isBaseVfModule;
+ recipeTimeout = builder.recipeTimeout;
+ requestAction = builder.requestAction;
+ serviceInstanceId = builder.serviceInstanceId;
+ correlationId = builder.correlationId;
+ vnfId = builder.vnfId;
+ vfModuleId = builder.vfModuleId;
+ volumeGroupId = builder.volumeGroupId;
+ networkId = builder.networkId;
+ configurationId = builder.configurationId;
+ serviceType = builder.serviceType;
+ vnfType = builder.vnfType;
+ vfModuleType = builder.vfModuleType;
+ networkType = builder.networkType;
+ requestDetails = builder.requestDetails;
+ recipeParamXsd = builder.recipeParamXsd;
+ }
+
+ public String getRequestId() {
+ return requestId;
+ }
+
+ public boolean isBaseVfModule() {
+ return isBaseVfModule;
+ }
+
+ public int getRecipeTimeout() {
+ return recipeTimeout;
+ }
+
+ public String getRequestAction() {
+ return requestAction;
+ }
+
+ public String getServiceInstanceId() {
+ return serviceInstanceId;
+ }
+
+ public String getCorrelationId() {
+ return correlationId;
+ }
+
+ public String getVnfId() {
+ return vnfId;
+ }
+
+ public String getVfModuleId() {
+ return vfModuleId;
+ }
+
+ public String getVolumeGroupId() {
+ return volumeGroupId;
+ }
+
+ public String getNetworkId() {
+ return networkId;
+ }
+
+ public String getConfigurationId() {
+ return configurationId;
+ }
+
+ public String getServiceType() {
+ return serviceType;
+ }
+
+ public String getVnfType() {
+ return vnfType;
+ }
+
+ public String getVfModuleType() {
+ return vfModuleType;
+ }
+
+ public String getNetworkType() {
+ return networkType;
+ }
+
+ public String getRequestDetails() {
+ return requestDetails;
+ }
+
+ public String getRecipeParamXsd() {
+ return recipeParamXsd;
+ }
+
+ public static class Builder {
+ private String requestId;
+ private boolean isBaseVfModule;
+ private int recipeTimeout;
+ private String requestAction;
+ private String serviceInstanceId;
+ private String correlationId;
+ private String vnfId;
+ private String vfModuleId;
+ private String volumeGroupId;
+ private String networkId;
+ private String configurationId;
+ private String serviceType;
+ private String vnfType;
+ private String vfModuleType;
+ private String networkType;
+ private String requestDetails;
+ private String recipeParamXsd;
+
+ public Builder setRequestId(String requestId) {
+ this.requestId = requestId;
+ return this;
+ }
+
+ public Builder setBaseVfModule(boolean baseVfModule) {
+ isBaseVfModule = baseVfModule;
+ return this;
+ }
+
+ public Builder setRecipeTimeout(int recipeTimeout) {
+ this.recipeTimeout = recipeTimeout;
+ return this;
+ }
+
+ public Builder setRequestAction(String requestAction) {
+ this.requestAction = requestAction;
+ return this;
+ }
+
+ public Builder setServiceInstanceId(String serviceInstanceId) {
+ this.serviceInstanceId = serviceInstanceId;
+ return this;
+ }
+
+ public Builder setCorrelationId(String correlationId) {
+ this.correlationId = correlationId;
+ return this;
+ }
+
+ public Builder setVnfId(String vnfId) {
+ this.vnfId = vnfId;
+ return this;
+ }
+
+ public Builder setVfModuleId(String vfModuleId) {
+ this.vfModuleId = vfModuleId;
+ return this;
+ }
+
+ public Builder setVolumeGroupId(String volumeGroupId) {
+ this.volumeGroupId = volumeGroupId;
+ return this;
+ }
+
+ public Builder setNetworkId(String networkId) {
+ this.networkId = networkId;
+ return this;
+ }
+
+ public Builder setConfigurationId(String configurationId) {
+ this.configurationId = configurationId;
+ return this;
+ }
+
+ public Builder setServiceType(String serviceType) {
+ this.serviceType = serviceType;
+ return this;
+ }
+
+ public Builder setVnfType(String vnfType) {
+ this.vnfType = vnfType;
+ return this;
+ }
+
+ public Builder setVfModuleType(String vfModuleType) {
+ this.vfModuleType = vfModuleType;
+ return this;
+ }
+
+ public Builder setNetworkType(String networkType) {
+ this.networkType = networkType;
+ return this;
+ }
+
+ public Builder setRequestDetails(String requestDetails) {
+ this.requestDetails = requestDetails;
+ return this;
+ }
+
+ public Builder setRecipeParamXsd(String recipeParamXsd) {
+ this.recipeParamXsd = recipeParamXsd;
+ return this;
+ }
+
+ public RequestClientParamater build(){
+ return new RequestClientParamater(this);
+ }
+ }
+
+
+}
diff --git a/mso-api-handlers/mso-api-handler-common/src/test/java/org/openecomp/mso/camunda/tests/CamundaClientTest.java b/mso-api-handlers/mso-api-handler-common/src/test/java/org/openecomp/mso/camunda/tests/CamundaClientTest.java
index 8bfc4ced76..69927e2126 100644
--- a/mso-api-handlers/mso-api-handler-common/src/test/java/org/openecomp/mso/camunda/tests/CamundaClientTest.java
+++ b/mso-api-handlers/mso-api-handler-common/src/test/java/org/openecomp/mso/camunda/tests/CamundaClientTest.java
@@ -24,7 +24,6 @@ package org.openecomp.mso.camunda.tests;
import static org.junit.Assert.assertEquals;
import java.io.IOException;
-import java.util.UUID;
import org.apache.http.HttpResponse;
import org.apache.http.HttpStatus;
@@ -42,12 +41,9 @@ import org.mockito.MockitoAnnotations;
import org.openecomp.mso.apihandler.common.CommonConstants;
import org.openecomp.mso.apihandler.common.RequestClient;
import org.openecomp.mso.apihandler.common.RequestClientFactory;
+import org.openecomp.mso.apihandler.common.RequestClientParamater;
import org.openecomp.mso.properties.MsoJavaProperties;
-import com.fasterxml.jackson.core.JsonGenerationException;
-import com.fasterxml.jackson.databind.JsonMappingException;
-
-
/**
* This class implements test methods of Camunda Beans.
*
@@ -66,8 +62,7 @@ public class CamundaClientTest {
}
@Test
- public void tesCamundaPost() throws JsonGenerationException,
- JsonMappingException, IOException {
+ public void tesCamundaPost() throws IOException {
String responseBody ="{\"links\":[{\"method\":\"GET\",\"href\":\"http://localhost:9080/engine-rest/process-instance/2047c658-37ae-11e5-9505-7a1020524153\",\"rel\":\"self\"}],\"id\":\"2047c658-37ae-11e5-9505-7a1020524153\",\"definitionId\":\"dummy:10:73298961-37ad-11e5-9505-7a1020524153\",\"businessKey\":null,\"caseInstanceId\":null,\"ended\":true,\"suspended\":false}";
HttpResponse mockResponse = createResponse(200, responseBody);
@@ -106,8 +101,6 @@ public class CamundaClientTest {
mockHttpClient = Mockito.mock(HttpClient.class);
Mockito.when(mockHttpClient.execute(Mockito.any(HttpPost.class)))
.thenReturn(mockResponse);
-
- String reqXML = "<xml>test</xml>";
String orchestrationURI = "/engine-rest/process-definition/key/dummy/start";
MsoJavaProperties props = new MsoJavaProperties();
@@ -115,9 +108,7 @@ public class CamundaClientTest {
RequestClient requestClient = RequestClientFactory.getRequestClient(orchestrationURI, props);
requestClient.setClient(mockHttpClient);
- HttpResponse response = requestClient.post("mso-req-id", false, 180,
- "createInstance", "svc-inst-id", "vnf-id", "vf-module-id", "vg-id", "nw-id", "conf-id", "svc-type",
- "vnf-type", "vf-module-type", "nw-type", "", "");
+ HttpResponse response = requestClient.post(createParams());
assertEquals(requestClient.getType(), CommonConstants.CAMUNDA);
assertEquals(response.getStatusLine().getStatusCode(), HttpStatus.SC_OK);
}
@@ -137,6 +128,15 @@ public class CamundaClientTest {
return response;
}
+ private RequestClientParamater createParams(){
+ return new RequestClientParamater.Builder().setRequestId("mso-req-id").setBaseVfModule(false).
+ setRecipeTimeout(180).setRequestAction("createInstance").setServiceInstanceId("svc-inst-id").
+ setVnfId("vnf-id").setVfModuleId("vf-module-id").setVolumeGroupId("vg-id").setNetworkId("nw-id").
+ setConfigurationId("conf-id").setServiceType("svc-type").setVnfType("vnf-type").
+ setVfModuleType("vf-module-type").setNetworkType("nw-type").setRequestDetails("").
+ setRecipeParamXsd("").build();
+ }
+
diff --git a/mso-api-handlers/mso-api-handler-infra/src/main/java/org/openecomp/mso/apihandlerinfra/E2EServiceInstances.java b/mso-api-handlers/mso-api-handler-infra/src/main/java/org/openecomp/mso/apihandlerinfra/E2EServiceInstances.java
index 23adafd08e..dca2069cec 100644
--- a/mso-api-handlers/mso-api-handler-infra/src/main/java/org/openecomp/mso/apihandlerinfra/E2EServiceInstances.java
+++ b/mso-api-handlers/mso-api-handler-infra/src/main/java/org/openecomp/mso/apihandlerinfra/E2EServiceInstances.java
@@ -43,6 +43,7 @@ import org.json.JSONObject;
import org.openecomp.mso.apihandler.common.ErrorNumbers;
import org.openecomp.mso.apihandler.common.RequestClient;
import org.openecomp.mso.apihandler.common.RequestClientFactory;
+import org.openecomp.mso.apihandler.common.RequestClientParamater;
import org.openecomp.mso.apihandler.common.ResponseHandler;
import org.openecomp.mso.apihandlerinfra.e2eserviceinstancebeans.CompareModelsRequest;
import org.openecomp.mso.apihandlerinfra.e2eserviceinstancebeans.E2EServiceInstanceDeleteRequest;
@@ -82,8 +83,6 @@ public class E2EServiceInstances {
private ServiceInstancesRequest sir = null;
public static final String END_OF_THE_TRANSACTION = "End of the transaction, the final response is: ";
- public static final String EXCEPTION_CREATING_DB_RECORD = "Exception while creating record in DB";
- public static final String EXCEPTION_COMMUNICATE_BPMN_ENGINE = "Exception while communicate with BPMN engine";
/**
* POST Requests for E2E Service create Instance on a version provided
@@ -228,7 +227,6 @@ public class E2EServiceInstances {
// Define RecipeLookupResult info here instead of query DB for efficiency
String workflowUrl = "/mso/async/services/CompareModelofE2EServiceInstance";
- int recipeTimeout = 180;
RequestClient requestClient = null;
HttpResponse response = null;
@@ -239,14 +237,15 @@ public class E2EServiceInstances {
requestClient = RequestClientFactory.getRequestClient(workflowUrl, MsoPropertiesUtils.loadMsoProperties());
JSONObject jjo = new JSONObject(requestJSON);
- String bpmnRequest = jjo.toString();
// Capture audit event
msoLogger.debug("MSO API Handler Posting call to BPEL engine for url: " + requestClient.getUrl());
- String serviceId = instanceIdMap.get("serviceId");
- String serviceType = e2eCompareModelReq.getServiceType();
- response = requestClient.post(requestId, false, recipeTimeout, action.name(), serviceId, null, null, null,
- null, null, serviceType, null, null, null, bpmnRequest, null);
+ RequestClientParamater requestClientParamater = new RequestClientParamater.Builder().setRequestId(requestId).
+ setBaseVfModule(false).setRecipeTimeout(180).setRequestAction(action.name()).
+ setServiceInstanceId(instanceIdMap.get("serviceId")).setServiceType(e2eCompareModelReq.getServiceType()).
+ setRequestDetails(jjo.toString()).build();
+
+ response = requestClient.post(requestClientParamater);
msoLogger.recordMetricEvent(subStartTime, MsoLogger.StatusCode.COMPLETE, MsoLogger.ResponseCode.Suc,
"Successfully received response from BPMN engine", "BPMN", workflowUrl, null);
@@ -440,8 +439,6 @@ public class E2EServiceInstances {
HttpResponse response = null;
long subStartTime = System.currentTimeMillis();
- // String sirRequestJson = mapReqJsonToSvcInstReq(e2eSir, requestJSON);
-
try {
requestClient = RequestClientFactory.getRequestClient(
recipeLookupResult.getOrchestrationURI(),
@@ -449,19 +446,16 @@ public class E2EServiceInstances {
JSONObject jjo = new JSONObject(requestJSON);
jjo.put("operationId", UUIDChecker.generateUUID(msoLogger));
-
- String bpmnRequest = jjo.toString();
-
// Capture audit event
msoLogger
.debug("MSO API Handler Posting call to BPEL engine for url: "
+ requestClient.getUrl());
- String serviceId = instanceIdMap.get("serviceId");
- String serviceInstanceType = e2eDelReq.getServiceType();
- response = requestClient.post(requestId, false,
- recipeLookupResult.getRecipeTimeout(), action.name(),
- serviceId, null, null, null, null, null, serviceInstanceType,
- null, null, null, bpmnRequest, recipeLookupResult.getRecipeParamXsd());
+
+ RequestClientParamater requestClientParamater = new RequestClientParamater.Builder().setRequestId(requestId).
+ setBaseVfModule(false).setRecipeTimeout(recipeLookupResult.getRecipeTimeout()).
+ setRequestAction(action.name()).setServiceType(e2eDelReq.getServiceType()).
+ setRequestDetails(jjo.toString()).setRecipeParamXsd(recipeLookupResult.getRecipeParamXsd()).build();
+ response = requestClient.post(requestClientParamater);
msoLogger.recordMetricEvent(subStartTime,
MsoLogger.StatusCode.COMPLETE, MsoLogger.ResponseCode.Suc,
@@ -564,12 +558,6 @@ public class E2EServiceInstances {
return response;
}
- //check for the current operation status
-// Response resp = checkE2ESvcInstStatus(action, serviceId, startTime, msoRequest);
-// if(resp != null && resp.getStatus() != 200) {
-// return resp;
-// }
-
CatalogDatabase db = null;
RecipeLookupResult recipeLookupResult = null;
try {
@@ -615,18 +603,19 @@ public class E2EServiceInstances {
HttpResponse response = null;
long subStartTime = System.currentTimeMillis();
- String sirRequestJson = mapReqJsonToSvcInstReq(e2eSir, requestJSON);
-
try {
requestClient = RequestClientFactory.getRequestClient(recipeLookupResult.getOrchestrationURI(),
MsoPropertiesUtils.loadMsoProperties());
// Capture audit event
msoLogger.debug("MSO API Handler Posting call to BPEL engine for url: " + requestClient.getUrl());
+ RequestClientParamater requestClientParamater = new RequestClientParamater.Builder().setRequestId(requestId).
+ setBaseVfModule(false).setRecipeTimeout(recipeLookupResult.getRecipeTimeout()).setRequestAction(action.name()).
+ setServiceInstanceId(serviceId).setServiceType(serviceInstanceType).
+ setRequestDetails(mapReqJsonToSvcInstReq(e2eSir, requestJSON)).
+ setRecipeParamXsd(recipeLookupResult.getRecipeParamXsd()).build();
- response = requestClient.post(requestId, false, recipeLookupResult.getRecipeTimeout(), action.name(),
- serviceId, null, null, null, null, null, serviceInstanceType, null, null, null, sirRequestJson,
- recipeLookupResult.getRecipeParamXsd());
+ response = requestClient.post(requestClientParamater);
msoLogger.recordMetricEvent(subStartTime, MsoLogger.StatusCode.COMPLETE, MsoLogger.ResponseCode.Suc,
"Successfully received response from BPMN engine", "BPMN", recipeLookupResult.getOrchestrationURI(),
@@ -752,25 +741,23 @@ public class E2EServiceInstances {
return response;
}
- String serviceInstanceType = e2eSir.getService().getServiceType();
-
- String serviceId = "";
RequestClient requestClient = null;
HttpResponse response = null;
long subStartTime = System.currentTimeMillis();
- String sirRequestJson = mapReqJsonToSvcInstReq(e2eSir, requestJSON);
-
try {
requestClient = RequestClientFactory.getRequestClient(recipeLookupResult.getOrchestrationURI(),
MsoPropertiesUtils.loadMsoProperties());
// Capture audit event
msoLogger.debug("MSO API Handler Posting call to BPEL engine for url: " + requestClient.getUrl());
+ RequestClientParamater requestClientParamater = new RequestClientParamater.Builder().setRequestId(requestId).
+ setBaseVfModule(false).setRecipeTimeout(recipeLookupResult.getRecipeTimeout()).setRequestAction(action.name()).
+ setServiceInstanceId("").setServiceType(e2eSir.getService().getServiceType()).
+ setRequestDetails(mapReqJsonToSvcInstReq(e2eSir, requestJSON)).
+ setRecipeParamXsd(recipeLookupResult.getRecipeParamXsd()).build();
- response = requestClient.post(requestId, false, recipeLookupResult.getRecipeTimeout(), action.name(),
- serviceId, null, null, null, null, null, serviceInstanceType, null, null, null, sirRequestJson,
- recipeLookupResult.getRecipeParamXsd());
+ response = requestClient.post(requestClientParamater);
msoLogger.recordMetricEvent(subStartTime, MsoLogger.StatusCode.COMPLETE, MsoLogger.ResponseCode.Suc,
"Successfully received response from BPMN engine", "BPMN", recipeLookupResult.getOrchestrationURI(),
@@ -897,8 +884,6 @@ public class E2EServiceInstances {
HttpResponse response = null;
long subStartTime = System.currentTimeMillis();
- // String sirRequestJson = mapReqJsonToSvcInstReq(e2eSir, requestJSON);
-
try {
requestClient = RequestClientFactory.getRequestClient(
recipeLookupResult.getOrchestrationURI(),
@@ -907,18 +892,18 @@ public class E2EServiceInstances {
JSONObject jjo = new JSONObject(requestJSON);
jjo.put("operationId", UUIDChecker.generateUUID(msoLogger));
- String bpmnRequest = jjo.toString();
-
// Capture audit event
msoLogger
.debug("MSO API Handler Posting call to BPEL engine for url: "
+ requestClient.getUrl());
- String serviceId = instanceIdMap.get("serviceId");
- String serviceInstanceType = e2eScaleReq.getService().getServiceType();
- response = requestClient.post(requestId, false,
- recipeLookupResult.getRecipeTimeout(), action.name(),
- serviceId, null, null, null, null, null, serviceInstanceType,
- null, null, null, bpmnRequest, recipeLookupResult.getRecipeParamXsd());
+ RequestClientParamater requestClientParamater = new RequestClientParamater.Builder().setRequestId(requestId).
+ setBaseVfModule(false).setRecipeTimeout(recipeLookupResult.getRecipeTimeout()).setRequestAction(action.name()).
+ setServiceInstanceId(instanceIdMap.get("serviceId")).
+ setServiceType(e2eScaleReq.getService().getServiceType()).
+ setRequestDetails(jjo.toString()).
+ setRecipeParamXsd(recipeLookupResult.getRecipeParamXsd()).build();
+
+ response = requestClient.post(requestClientParamater);
msoLogger.recordMetricEvent(subStartTime,
MsoLogger.StatusCode.COMPLETE, MsoLogger.ResponseCode.Suc,
diff --git a/mso-api-handlers/mso-api-handler-infra/src/main/java/org/openecomp/mso/apihandlerinfra/MsoRequest.java b/mso-api-handlers/mso-api-handler-infra/src/main/java/org/openecomp/mso/apihandlerinfra/MsoRequest.java
index 2f2ef313f4..3f6cc35432 100644
--- a/mso-api-handlers/mso-api-handler-infra/src/main/java/org/openecomp/mso/apihandlerinfra/MsoRequest.java
+++ b/mso-api-handlers/mso-api-handler-infra/src/main/java/org/openecomp/mso/apihandlerinfra/MsoRequest.java
@@ -85,7 +85,6 @@ public class MsoRequest {
private String requestId;
private String requestXML;
- private String requestJSON;
private String requestUri;
private VnfRequest vnfReq;
private RequestInfo requestInfo;
@@ -118,8 +117,6 @@ public class MsoRequest {
private OwningEntity owningEntity;
private static MsoLogger msoLogger = MsoLogger.getMsoLogger (MsoLogger.Catalog.APIH);
- private static final String NOT_PROVIDED = "not provided";
-
protected AbstractSessionFactoryManager requestsDbSessionFactoryManager = new RequestsDbSessionFactoryManager ();
MsoRequest (String requestId) {
@@ -1153,7 +1150,7 @@ public class MsoRequest {
mapper.setSerializationInclusion(Include.NON_NULL);
//mapper.configure(Feature.WRAP_ROOT_VALUE, true);
msoLogger.debug ("building sir from object " + sir);
- requestJSON = mapper.writeValueAsString(sir);
+ String requestJSON = mapper.writeValueAsString(sir);
// Perform mapping from VID-style modelInfo fields to ASDC-style modelInfo fields
diff --git a/mso-api-handlers/mso-api-handler-infra/src/main/java/org/openecomp/mso/apihandlerinfra/ServiceInstances.java b/mso-api-handlers/mso-api-handler-infra/src/main/java/org/openecomp/mso/apihandlerinfra/ServiceInstances.java
index e16963db3b..581ad34939 100644
--- a/mso-api-handlers/mso-api-handler-infra/src/main/java/org/openecomp/mso/apihandlerinfra/ServiceInstances.java
+++ b/mso-api-handlers/mso-api-handler-infra/src/main/java/org/openecomp/mso/apihandlerinfra/ServiceInstances.java
@@ -20,6 +20,7 @@
*/
package org.openecomp.mso.apihandlerinfra;
+import java.io.IOException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
@@ -42,6 +43,7 @@ import org.openecomp.mso.apihandler.common.CommonConstants;
import org.openecomp.mso.apihandler.common.ErrorNumbers;
import org.openecomp.mso.apihandler.common.RequestClient;
import org.openecomp.mso.apihandler.common.RequestClientFactory;
+import org.openecomp.mso.apihandler.common.RequestClientParamater;
import org.openecomp.mso.apihandler.common.ResponseHandler;
import org.openecomp.mso.apihandler.common.ValidationException;
import org.openecomp.mso.serviceinstancebeans.ModelInfo;
@@ -690,37 +692,7 @@ public class ServiceInstances {
}
db.close();
-
- String serviceInstanceId = "";
- String vnfId = "";
- String vfModuleId = "";
- String volumeGroupId = "";
- String networkId = "";
- ServiceInstancesRequest siReq = msoRequest.getServiceInstancesRequest();
-
- if(siReq.getServiceInstanceId () != null){
- serviceInstanceId = siReq.getServiceInstanceId ();
- }
-
- if(siReq.getVnfInstanceId () != null){
- vnfId = siReq.getVnfInstanceId ();
- }
-
- if(siReq.getVfModuleInstanceId () != null){
- vfModuleId = siReq.getVfModuleInstanceId ();
- }
-
- if(siReq.getVolumeGroupInstanceId () != null){
- volumeGroupId = siReq.getVolumeGroupInstanceId ();
- }
-
- if(siReq.getNetworkInstanceId () != null){
- networkId = siReq.getNetworkInstanceId ();
- }
-
-
- requestId = msoRequest.getRequestId ();
- msoLogger.debug ("requestId is: " + requestId);
+ msoLogger.debug ("requestId is: " + msoRequest.getRequestId());
msoLogger.debug ("About to insert a record");
try {
@@ -736,15 +708,32 @@ public class ServiceInstances {
return response;
}
- return postBPELRequest(action, requestId, startTime, msoRequest, recipeLookupResult.getOrchestrationURI(), recipeLookupResult.getRecipeTimeout(),
- isBaseVfModule, serviceInstanceId, vnfId, vfModuleId, volumeGroupId, networkId, null,
- msoRequest.getServiceInstanceType(), msoRequest.getVnfType(), msoRequest.getVfModuleType(), msoRequest.getNetworkType());
+ return postBPELRequest(action, startTime, msoRequest, recipeLookupResult.getOrchestrationURI(),
+ recipeLookupResult.getRecipeTimeout(), isBaseVfModule);
}
- private Response postBPELRequest(Action action, String requestId, long startTime, MsoRequest msoRequest,
- String orchestrationUri, int timeOut, Boolean isBaseVfModule,
- String serviceInstanceId, String vnfId, String vfModuleId, String volumeGroupId, String networkId,
- String configurationId, String serviceInstanceType, String vnfType, String vfModuleType, String networkType) {
+ private RequestClientParamater buildRequestClientParameter(MsoRequest msoRequest, boolean isBaseVfModule,
+ int timeOut, String requestAction) throws IOException {
+ return new RequestClientParamater.Builder().
+ setRequestId(msoRequest.getRequestId()).
+ setBaseVfModule(isBaseVfModule).setRecipeTimeout(timeOut).
+ setRequestAction(requestAction).
+ setServiceInstanceId(msoRequest.getServiceInstancesRequest().getServiceInstanceId()).
+ setCorrelationId(msoRequest.getServiceInstancesRequest().getCorrelationId()).
+ setVnfId(msoRequest.getServiceInstancesRequest().getVnfInstanceId()).
+ setVfModuleId(msoRequest.getServiceInstancesRequest().getVfModuleInstanceId()).
+ setVolumeGroupId(msoRequest.getServiceInstancesRequest().getVolumeGroupInstanceId()).
+ setNetworkId(msoRequest.getServiceInstancesRequest().getNetworkInstanceId()).
+ setConfigurationId(msoRequest.getServiceInstancesRequest().getConfigurationId()).
+ setServiceType(msoRequest.getServiceInstanceType()).
+ setVnfType(msoRequest.getVnfType()).
+ setVfModuleType(msoRequest.getVfModuleType()).
+ setNetworkType(msoRequest.getNetworkType()).
+ setRequestDetails(msoRequest.getRequestJSON()).build();
+ }
+
+ private Response postBPELRequest(Action action, long startTime, MsoRequest msoRequest,
+ String orchestrationUri, int timeOut, Boolean isBaseVfModule) {
RequestClient requestClient = null;
HttpResponse response = null;
long subStartTime = System.currentTimeMillis();
@@ -754,12 +743,7 @@ public class ServiceInstances {
System.out.println("URL : " + requestClient.getUrl ());
- response = requestClient.post(requestId, isBaseVfModule, timeOut, action.name (),
- serviceInstanceId, vnfId, vfModuleId, volumeGroupId, networkId, configurationId,
- msoRequest.getServiceInstanceType (),
- msoRequest.getVnfType (), msoRequest.getVfModuleType (),
- msoRequest.getNetworkType (), msoRequest.getRequestJSON(), null);
-
+ response = requestClient.post(buildRequestClientParameter(msoRequest, isBaseVfModule, timeOut, action.name()));
msoLogger.recordMetricEvent (subStartTime, MsoLogger.StatusCode.COMPLETE, MsoLogger.ResponseCode.Suc, "Successfully received response from BPMN engine", "BPMN", orchestrationUri, null);
} catch (Exception e) {
msoLogger.recordMetricEvent (subStartTime, MsoLogger.StatusCode.ERROR, MsoLogger.ResponseCode.CommunicationError, "Exception while communicate with BPMN engine", "BPMN", orchestrationUri, null);
@@ -1191,7 +1175,6 @@ public class ServiceInstances {
return new RecipeLookupResult (vnfRecipe.getOrchestrationUri(), vnfRecipe.getRecipeTimeout());
}
-
private RecipeLookupResult getNetworkUri (CatalogDatabase db, MsoRequest msoRequest, Action action) throws Exception {
String defaultNetworkType = msoRequest.getRequestInfo().getSource() + "_DEFAULT";
@@ -1299,18 +1282,6 @@ public class ServiceInstances {
return response;
}
-
- String serviceInstanceId = "";
- String configurationId = "";
- ServiceInstancesRequest siReq = msoRequest.getServiceInstancesRequest();
-
- if(siReq.getServiceInstanceId () != null){
- serviceInstanceId = siReq.getServiceInstanceId ();
- }
-
- if(siReq.getConfigurationId() != null){
- configurationId = siReq.getConfigurationId();
- }
requestId = msoRequest.getRequestId ();
msoLogger.debug ("requestId is: " + requestId);
@@ -1328,7 +1299,6 @@ public class ServiceInstances {
return response;
}
- return postBPELRequest(action, requestId, startTime, msoRequest, orchestrationUri, Integer.parseInt(timeOut), false,
- serviceInstanceId, null, null, null, null, configurationId, null, null, null, null);
+ return postBPELRequest(action, startTime, msoRequest, orchestrationUri, Integer.parseInt(timeOut), false);
}
}
diff --git a/mso-api-handlers/mso-api-handler-infra/src/test/java/org/openecomp/mso/apihandlerinfra/E2EServiceInstancesTest.java b/mso-api-handlers/mso-api-handler-infra/src/test/java/org/openecomp/mso/apihandlerinfra/E2EServiceInstancesTest.java
index 60ac6b98c9..901e03fc17 100644
--- a/mso-api-handlers/mso-api-handler-infra/src/test/java/org/openecomp/mso/apihandlerinfra/E2EServiceInstancesTest.java
+++ b/mso-api-handlers/mso-api-handler-infra/src/test/java/org/openecomp/mso/apihandlerinfra/E2EServiceInstancesTest.java
@@ -40,12 +40,12 @@ import org.junit.Test;
import org.openecomp.mso.apihandler.common.CamundaClient;
import org.openecomp.mso.apihandler.common.RequestClient;
import org.openecomp.mso.apihandler.common.RequestClientFactory;
+import org.openecomp.mso.apihandler.common.RequestClientParamater;
import org.openecomp.mso.apihandler.common.ValidationException;
import org.openecomp.mso.db.AbstractSessionFactoryManager;
import org.openecomp.mso.db.catalog.CatalogDatabase;
import org.openecomp.mso.db.catalog.beans.Service;
import org.openecomp.mso.db.catalog.beans.ServiceRecipe;
-import org.openecomp.mso.properties.MsoDatabaseException;
import org.openecomp.mso.properties.MsoJavaProperties;
import org.openecomp.mso.properties.MsoPropertiesFactory;
import org.openecomp.mso.requestsdb.OperationStatus;
@@ -194,12 +194,7 @@ public class E2EServiceInstancesTest {
new MockUp<CamundaClient>() {
@Mock
- public HttpResponse post(String requestId, boolean isBaseVfModule,
- int recipeTimeout, String requestAction,
- String serviceInstanceId, String vnfId, String vfModuleId,
- String volumeGroupId, String networkId, String configurationId, String serviceType,
- String vnfType, String vfModuleType, String networkType,
- String requestDetails, String recipeParamXsd) {
+ public HttpResponse post(RequestClientParamater requestClientParamater) {
ProtocolVersion pv = new ProtocolVersion("HTTP", 1, 1);
HttpResponse resp = new BasicHttpResponse(pv, 202,
"test response");
@@ -258,12 +253,7 @@ public class E2EServiceInstancesTest {
new MockUp<CamundaClient>() {
@Mock
- public HttpResponse post(String requestId, boolean isBaseVfModule,
- int recipeTimeout, String requestAction,
- String serviceInstanceId, String vnfId, String vfModuleId,
- String volumeGroupId, String networkId, String configurationId, String serviceType,
- String vnfType, String vfModuleType, String networkType,
- String requestDetails, String recipeParamXsd) {
+ public HttpResponse post(RequestClientParamater requestClientParamater) {
ProtocolVersion pv = new ProtocolVersion("HTTP", 1, 1);
HttpResponse resp = new BasicHttpResponse(pv, 500,
"test response");
@@ -323,12 +313,7 @@ public class E2EServiceInstancesTest {
new MockUp<CamundaClient>() {
@Mock
- public HttpResponse post(String requestId, boolean isBaseVfModule,
- int recipeTimeout, String requestAction,
- String serviceInstanceId, String vnfId, String vfModuleId,
- String volumeGroupId, String networkId, String configurationId, String serviceType,
- String vnfType, String vfModuleType, String networkType,
- String requestDetails, String recipeParamXsd) {
+ public HttpResponse post(RequestClientParamater requestClientParamater) {
ProtocolVersion pv = new ProtocolVersion("HTTP", 1, 1);
HttpResponse resp = new BasicHttpResponse(pv, 500,
"test response");
@@ -388,12 +373,7 @@ public class E2EServiceInstancesTest {
new MockUp<CamundaClient>() {
@Mock
- public HttpResponse post(String requestId, boolean isBaseVfModule,
- int recipeTimeout, String requestAction,
- String serviceInstanceId, String vnfId, String vfModuleId,
- String volumeGroupId, String networkId, String configurationId, String serviceType,
- String vnfType, String vfModuleType, String networkType,
- String requestDetails, String recipeParamXsd) {
+ public HttpResponse post(RequestClientParamater requestClientParamater) {
HttpResponse resp = null;
return resp;
}
@@ -625,12 +605,7 @@ public class E2EServiceInstancesTest {
final MockUp<CamundaClient> mockCmaundaClient = new MockUp<CamundaClient>() {
@Mock
- public HttpResponse post(String requestId, boolean isBaseVfModule,
- int recipeTimeout, String requestAction, String serviceInstanceId,
- String vnfId, String vfModuleId, String volumeGroupId, String networkId, String configurationId,
- String serviceType, String vnfType, String vfModuleType, String networkType,
- String requestDetails, String recipeParamXsd)
- throws ClientProtocolException, IOException {
+ public HttpResponse post(RequestClientParamater requestClientParamater) {
ProtocolVersion pv = new ProtocolVersion("HTTP", 1, 1);
HttpResponse resp = new BasicHttpResponse(pv, 200, "test response");
BasicHttpEntity entity = new BasicHttpEntity();
@@ -822,12 +797,7 @@ public class E2EServiceInstancesTest {
new MockUp<CamundaClient>() {
@Mock
- public HttpResponse post(String requestId, boolean isBaseVfModule,
- int recipeTimeout, String requestAction,
- String serviceInstanceId, String vnfId, String vfModuleId,
- String volumeGroupId, String networkId, String configurationId, String serviceType,
- String vnfType, String vfModuleType, String networkType,
- String requestDetails, String recipeParamXsd) {
+ public HttpResponse post(RequestClientParamater requestClientParamater) {
ProtocolVersion pv = new ProtocolVersion("HTTP", 1, 1);
HttpResponse resp = new BasicHttpResponse(pv, 202,
"test response");
@@ -888,12 +858,7 @@ public class E2EServiceInstancesTest {
new MockUp<CamundaClient>() {
@Mock
- public HttpResponse post(String requestId, boolean isBaseVfModule,
- int recipeTimeout, String requestAction,
- String serviceInstanceId, String vnfId, String vfModuleId,
- String volumeGroupId, String networkId, String configurationId, String serviceType,
- String vnfType, String vfModuleType, String networkType,
- String requestDetails, String recipeParamXsd) {
+ public HttpResponse post(RequestClientParamater requestClientParamater) {
ProtocolVersion pv = new ProtocolVersion("HTTP", 1, 1);
HttpResponse resp = new BasicHttpResponse(pv, 202,
"test response");
@@ -955,12 +920,7 @@ public class E2EServiceInstancesTest {
new MockUp<CamundaClient>() {
@Mock
- public HttpResponse post(String requestId, boolean isBaseVfModule,
- int recipeTimeout, String requestAction,
- String serviceInstanceId, String vnfId, String vfModuleId,
- String volumeGroupId, String networkId, String configurationId, String serviceType,
- String vnfType, String vfModuleType, String networkType,
- String requestDetails, String recipeParamXsd) {
+ public HttpResponse post(RequestClientParamater requestClientParamater) {
ProtocolVersion pv = new ProtocolVersion("HTTP", 1, 1);
HttpResponse resp = new BasicHttpResponse(pv, 202,
"test response");
@@ -1027,12 +987,7 @@ public class E2EServiceInstancesTest {
new MockUp<CamundaClient>() {
@Mock
- public HttpResponse post(String requestId, boolean isBaseVfModule,
- int recipeTimeout, String requestAction,
- String serviceInstanceId, String vnfId, String vfModuleId,
- String volumeGroupId, String networkId, String configurationId, String serviceType,
- String vnfType, String vfModuleType, String networkType,
- String requestDetails, String recipeParamXsd) {
+ public HttpResponse post(RequestClientParamater requestClientParamater) {
ProtocolVersion pv = new ProtocolVersion("HTTP", 1, 1);
HttpResponse resp = new BasicHttpResponse(pv, 202,
"test response");
@@ -1093,12 +1048,7 @@ public class E2EServiceInstancesTest {
new MockUp<CamundaClient>() {
@Mock
- public HttpResponse post(String requestId, boolean isBaseVfModule,
- int recipeTimeout, String requestAction,
- String serviceInstanceId, String vnfId, String vfModuleId,
- String volumeGroupId, String networkId, String configurationId, String serviceType,
- String vnfType, String vfModuleType, String networkType,
- String requestDetails, String recipeParamXsd) {
+ public HttpResponse post(RequestClientParamater requestClientParamater) {
ProtocolVersion pv = new ProtocolVersion("HTTP", 1, 1);
HttpResponse resp = new BasicHttpResponse(pv, 202,
"test response");
@@ -1160,12 +1110,7 @@ public class E2EServiceInstancesTest {
MockUp<CamundaClient> client = new MockUp<CamundaClient>() {
@Mock
- public HttpResponse post(String requestId, boolean isBaseVfModule,
- int recipeTimeout, String requestAction,
- String serviceInstanceId, String vnfId, String vfModuleId,
- String volumeGroupId, String networkId, String configurationId, String serviceType,
- String vnfType, String vfModuleType, String networkType,
- String requestDetails, String recipeParamXsd) throws Exception {
+ public HttpResponse post(RequestClientParamater requestClientParamater) throws Exception {
throw new Exception();
}
};
@@ -1192,13 +1137,7 @@ public class E2EServiceInstancesTest {
new MockUp<CamundaClient>() {
@Mock
- public HttpResponse post(String requestId, boolean isBaseVfModule,
- int recipeTimeout, String requestAction, String serviceInstanceId,
- String vnfId, String vfModuleId, String volumeGroupId, String networkId, String configurationId,
- String serviceType, String vnfType, String vfModuleType, String networkType,
- String requestDetails, String recipeParamXsd)
- throws ClientProtocolException, IOException {
-
+ public HttpResponse post(RequestClientParamater requestClientParamater) throws IOException {
throw new ClientProtocolException();
}
};
@@ -1216,13 +1155,7 @@ public class E2EServiceInstancesTest {
new MockUp<CamundaClient>() {
@Mock
- public HttpResponse post(String requestId, boolean isBaseVfModule,
- int recipeTimeout, String requestAction, String serviceInstanceId,
- String vnfId, String vfModuleId, String volumeGroupId, String networkId, String configurationId,
- String serviceType, String vnfType, String vfModuleType, String networkType,
- String requestDetails, String recipeParamXsd)
- throws ClientProtocolException, IOException {
-
+ public HttpResponse post(RequestClientParamater requestClientParamater) {
ProtocolVersion pv = new ProtocolVersion("HTTP", 1, 1);
HttpResponse resp = new BasicHttpResponse(pv, 202,
"compareModelwithTargetVersion, test response");
@@ -1291,12 +1224,7 @@ public class E2EServiceInstancesTest {
final MockUp<CamundaClient> mockCamundaClient = new MockUp<CamundaClient>() {
@Mock
- public HttpResponse post(String requestId, boolean isBaseVfModule,
- int recipeTimeout, String requestAction,
- String serviceInstanceId, String vnfId, String vfModuleId,
- String volumeGroupId, String networkId, String configurationId, String serviceType,
- String vnfType, String vfModuleType, String networkType,
- String requestDetails, String recipeParamXsd) {
+ public HttpResponse post(RequestClientParamater requestClientParamater) {
ProtocolVersion pv = new ProtocolVersion("HTTP", 1, 1);
HttpResponse resp = new BasicHttpResponse(pv, 202,
"test response");
diff --git a/mso-api-handlers/mso-api-handler-infra/src/test/java/org/openecomp/mso/apihandlerinfra/ServiceInstanceTest.java b/mso-api-handlers/mso-api-handler-infra/src/test/java/org/openecomp/mso/apihandlerinfra/ServiceInstanceTest.java
index 50f00ef6a4..938a1038a4 100644
--- a/mso-api-handlers/mso-api-handler-infra/src/test/java/org/openecomp/mso/apihandlerinfra/ServiceInstanceTest.java
+++ b/mso-api-handlers/mso-api-handler-infra/src/test/java/org/openecomp/mso/apihandlerinfra/ServiceInstanceTest.java
@@ -21,6 +21,16 @@
package org.openecomp.mso.apihandlerinfra;
+import static org.junit.Assert.assertTrue;
+
+import java.io.ByteArrayInputStream;
+import java.io.InputStream;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.List;
+import javax.ws.rs.core.Response;
+import mockit.Mock;
+import mockit.MockUp;
import org.apache.http.HttpResponse;
import org.apache.http.ProtocolVersion;
import org.apache.http.entity.BasicHttpEntity;
@@ -30,33 +40,23 @@ import org.hibernate.criterion.Order;
import org.junit.BeforeClass;
import org.junit.Ignore;
import org.junit.Test;
-
-import javax.ws.rs.core.Response;
-
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertTrue;
-import static org.junit.Assert.fail;
-
-import java.io.ByteArrayInputStream;
-import java.io.InputStream;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.List;
-
import org.openecomp.mso.apihandler.common.CamundaClient;
import org.openecomp.mso.apihandler.common.RequestClient;
import org.openecomp.mso.apihandler.common.RequestClientFactory;
+import org.openecomp.mso.apihandler.common.RequestClientParamater;
import org.openecomp.mso.db.catalog.CatalogDatabase;
-import org.openecomp.mso.db.catalog.beans.*;
+import org.openecomp.mso.db.catalog.beans.Service;
+import org.openecomp.mso.db.catalog.beans.ServiceRecipe;
+import org.openecomp.mso.db.catalog.beans.VfModule;
+import org.openecomp.mso.db.catalog.beans.VfModuleCustomization;
+import org.openecomp.mso.db.catalog.beans.VnfComponentsRecipe;
+import org.openecomp.mso.db.catalog.beans.VnfRecipe;
+import org.openecomp.mso.db.catalog.beans.VnfResource;
import org.openecomp.mso.properties.MsoJavaProperties;
-import org.openecomp.mso.properties.MsoPropertiesException;
import org.openecomp.mso.properties.MsoPropertiesFactory;
import org.openecomp.mso.requestsdb.InfraActiveRequests;
import org.openecomp.mso.requestsdb.RequestsDatabase;
-import mockit.Mock;
-import mockit.MockUp;
-
public class ServiceInstanceTest {
/*** Create Service Instance Test Cases ***/
@@ -225,11 +225,7 @@ public class ServiceInstanceTest {
new MockUp<CamundaClient>() {
@Mock
- public HttpResponse post(String requestId, boolean isBaseVfModule,
- int recipeTimeout, String requestAction, String serviceInstanceId,
- String vnfId, String vfModuleId, String volumeGroupId, String networkId, String configurationId,
- String serviceType, String vnfType, String vfModuleType, String networkType,
- String requestDetails, String recipeParamXsd){
+ public HttpResponse post(RequestClientParamater requestClientParamater) {
ProtocolVersion pv = new ProtocolVersion("HTTP",1,1);
HttpResponse resp = new BasicHttpResponse(pv,200, "test response");
BasicHttpEntity entity = new BasicHttpEntity();
@@ -295,11 +291,7 @@ public class ServiceInstanceTest {
new MockUp<CamundaClient>() {
@Mock
- public HttpResponse post(String requestId, boolean isBaseVfModule,
- int recipeTimeout, String requestAction, String serviceInstanceId,
- String vnfId, String vfModuleId, String volumeGroupId, String networkId, String configurationId,
- String serviceType, String vnfType, String vfModuleType, String networkType,
- String requestDetails, String recipeParamXsd){
+ public HttpResponse post(RequestClientParamater requestClientParamater) {
ProtocolVersion pv = new ProtocolVersion("HTTP",1,1);
HttpResponse resp = new BasicHttpResponse(pv,500, "test response");
BasicHttpEntity entity = new BasicHttpEntity();
@@ -366,11 +358,7 @@ public class ServiceInstanceTest {
new MockUp<CamundaClient>() {
@Mock
- public HttpResponse post(String requestId, boolean isBaseVfModule,
- int recipeTimeout, String requestAction, String serviceInstanceId,
- String vnfId, String vfModuleId, String volumeGroupId, String networkId, String configurationId,
- String serviceType, String vnfType, String vfModuleType, String networkType,
- String requestDetails, String recipeParamXsd){
+ public HttpResponse post(RequestClientParamater requestClientParamater) {
ProtocolVersion pv = new ProtocolVersion("HTTP",1,1);
HttpResponse resp = new BasicHttpResponse(pv,500, "test response");
BasicHttpEntity entity = new BasicHttpEntity();
@@ -437,11 +425,7 @@ public class ServiceInstanceTest {
new MockUp<CamundaClient>() {
@Mock
- public HttpResponse post(String requestId, boolean isBaseVfModule,
- int recipeTimeout, String requestAction, String serviceInstanceId,
- String vnfId, String vfModuleId, String volumeGroupId, String networkId, String configurationId,
- String serviceType, String vnfType, String vfModuleType, String networkType,
- String requestDetails, String recipeParamXsd){
+ public HttpResponse post(RequestClientParamater requestClientParamater){
return null;
}
};
@@ -923,11 +907,7 @@ public class ServiceInstanceTest {
new MockUp<CamundaClient>() {
@Mock
- public HttpResponse post(String requestId, boolean isBaseVfModule,
- int recipeTimeout, String requestAction, String serviceInstanceId,
- String vnfId, String vfModuleId, String volumeGroupId, String networkId, String configurationId,
- String serviceType, String vnfType, String vfModuleType, String networkType,
- String requestDetails, String recipeParamXsd){
+ public HttpResponse post(RequestClientParamater requestClientParamater) {
ProtocolVersion pv = new ProtocolVersion("HTTP",1,1);
HttpResponse resp = new BasicHttpResponse(pv,200, "test response");
BasicHttpEntity entity = new BasicHttpEntity();
@@ -1092,11 +1072,7 @@ public class ServiceInstanceTest {
new MockUp<CamundaClient>() {
@Mock
- public HttpResponse post(String requestId, boolean isBaseVfModule,
- int recipeTimeout, String requestAction, String serviceInstanceId,
- String vnfId, String vfModuleId, String volumeGroupId, String networkId, String configurationId,
- String serviceType, String vnfType, String vfModuleType, String networkType,
- String requestDetails, String recipeParamXsd){
+ public HttpResponse post(RequestClientParamater requestClientParamater){
ProtocolVersion pv = new ProtocolVersion("HTTP",1,1);
HttpResponse resp = new BasicHttpResponse(pv,200, "test response");
BasicHttpEntity entity = new BasicHttpEntity();
@@ -1143,11 +1119,7 @@ public class ServiceInstanceTest {
new MockUp<CamundaClient>() {
@Mock
- public HttpResponse post(String requestId, boolean isBaseVfModule,
- int recipeTimeout, String requestAction, String serviceInstanceId,
- String vnfId, String vfModuleId, String volumeGroupId, String networkId, String configurationId,
- String serviceType, String vnfType, String vfModuleType, String networkType,
- String requestDetails, String recipeParamXsd){
+ public HttpResponse post(RequestClientParamater requestClientParamater) {
ProtocolVersion pv = new ProtocolVersion("HTTP",1,1);
HttpResponse resp = new BasicHttpResponse(pv,200, "test response");
BasicHttpEntity entity = new BasicHttpEntity();