summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorwaqas.ikram <waqas.ikram@ericsson.com>2018-08-23 13:26:09 +0100
committerSeshu Kumar M <seshu.kumar.m@huawei.com>2018-09-08 04:42:09 +0000
commit3e9ee0977d0c8643f81e720bbf23e5a40864a0d8 (patch)
treec020d47d525165c0db3ff3c4376e30b772efb1c3
parent1fa4f35a1525cdb36513cd43c171240699077f3b (diff)
Adding rest service for so monitoring
Change-Id: I9dac918998901d54b3cbc5477cc9c057c3019cb3 Issue-ID: SO-724 Signed-off-by: waqas.ikram <waqas.ikram@ericsson.com>
-rw-r--r--adapters/mso-requests-db-adapter/src/main/java/org/onap/so/adapters/requestsdb/InfraActiveRequestsRepositoryCustomController.java21
-rw-r--r--mso-api-handlers/mso-requests-db/src/main/java/org/onap/so/db/request/beans/InfraActiveRequests.java101
-rw-r--r--mso-api-handlers/mso-requests-db/src/main/java/org/onap/so/db/request/beans/InfraRequests.java962
-rw-r--r--mso-api-handlers/mso-requests-db/src/main/java/org/onap/so/db/request/data/repository/InfraActiveRequestsRepositoryCustom.java33
-rw-r--r--mso-api-handlers/mso-requests-db/src/main/java/org/onap/so/db/request/data/repository/InfraActiveRequestsRepositoryImpl.java884
-rw-r--r--mso-api-handlers/mso-requests-db/src/main/java/org/onap/so/db/request/data/repository/QueryOperationType.java69
-rw-r--r--mso-api-handlers/mso-requests-db/src/test/java/org/onap/so/db/request/data/repository/InfraActiveRequestsRepositoryImplTest.java184
-rw-r--r--pom.xml1
-rw-r--r--so-monitoring/pom.xml65
-rw-r--r--so-monitoring/so-monitoring-handler/pom.xml95
-rw-r--r--so-monitoring/so-monitoring-handler/src/main/java/org/onap/so/montoring/camunda/model/ActivityInstance.java188
-rw-r--r--so-monitoring/so-monitoring-handler/src/main/java/org/onap/so/montoring/camunda/model/ProcessDefinition.java88
-rw-r--r--so-monitoring/so-monitoring-handler/src/main/java/org/onap/so/montoring/camunda/model/ProcessInstance.java129
-rw-r--r--so-monitoring/so-monitoring-handler/src/main/java/org/onap/so/montoring/camunda/model/ProcessInstanceVariable.java106
-rw-r--r--so-monitoring/so-monitoring-handler/src/main/java/org/onap/so/montoring/camunda/model/SoActiveInfraRequests.java196
-rw-r--r--so-monitoring/so-monitoring-handler/src/main/java/org/onap/so/montoring/configuration/camunda/CamundaConfiguration.java38
-rw-r--r--so-monitoring/so-monitoring-handler/src/main/java/org/onap/so/montoring/configuration/camunda/CamundaRestUrlProvider.java106
-rw-r--r--so-monitoring/so-monitoring-handler/src/main/java/org/onap/so/montoring/configuration/database/DatabaseConfiguration.java37
-rw-r--r--so-monitoring/so-monitoring-handler/src/main/java/org/onap/so/montoring/configuration/database/DatabaseUrlProvider.java48
-rw-r--r--so-monitoring/so-monitoring-handler/src/main/java/org/onap/so/montoring/configuration/rest/BasicAuthorizationHttpRequestInterceptor.java49
-rw-r--r--so-monitoring/so-monitoring-handler/src/main/java/org/onap/so/montoring/configuration/rest/HttpClientConnectionConfiguration.java87
-rw-r--r--so-monitoring/so-monitoring-handler/src/main/java/org/onap/so/montoring/configuration/rest/HttpServiceProviderConfiguration.java73
-rw-r--r--so-monitoring/so-monitoring-handler/src/main/java/org/onap/so/montoring/configuration/rest/RestTemplateConfigration.java84
-rw-r--r--so-monitoring/so-monitoring-handler/src/main/java/org/onap/so/montoring/db/service/DatabaseServiceProvider.java36
-rw-r--r--so-monitoring/so-monitoring-handler/src/main/java/org/onap/so/montoring/db/service/DatabaseServiceProviderImpl.java89
-rw-r--r--so-monitoring/so-monitoring-handler/src/main/java/org/onap/so/montoring/exception/InvalidRestRequestException.java36
-rw-r--r--so-monitoring/so-monitoring-handler/src/main/java/org/onap/so/montoring/exception/RestProcessingException.java37
-rw-r--r--so-monitoring/so-monitoring-handler/src/main/java/org/onap/so/montoring/model/ActivityInstanceDetail.java192
-rw-r--r--so-monitoring/so-monitoring-handler/src/main/java/org/onap/so/montoring/model/ProcessDefinitionDetail.java76
-rw-r--r--so-monitoring/so-monitoring-handler/src/main/java/org/onap/so/montoring/model/ProcessInstanceDetail.java103
-rw-r--r--so-monitoring/so-monitoring-handler/src/main/java/org/onap/so/montoring/model/ProcessInstanceIdDetail.java66
-rw-r--r--so-monitoring/so-monitoring-handler/src/main/java/org/onap/so/montoring/model/ProcessInstanceVariableDetail.java84
-rw-r--r--so-monitoring/so-monitoring-handler/src/main/java/org/onap/so/montoring/model/SoInfraRequest.java132
-rw-r--r--so-monitoring/so-monitoring-handler/src/main/java/org/onap/so/montoring/model/SoInfraRequestBuilder.java148
-rw-r--r--so-monitoring/so-monitoring-handler/src/main/java/org/onap/so/montoring/rest/service/CamundaProcessDataServiceProvider.java47
-rw-r--r--so-monitoring/so-monitoring-handler/src/main/java/org/onap/so/montoring/rest/service/CamundaProcessDataServiceProviderImpl.java174
-rw-r--r--so-monitoring/so-monitoring-handler/src/main/java/org/onap/so/montoring/rest/service/HttpRestServiceProvider.java33
-rw-r--r--so-monitoring/so-monitoring-handler/src/main/java/org/onap/so/montoring/rest/service/HttpRestServiceProviderImpl.java113
-rw-r--r--so-monitoring/so-monitoring-handler/src/main/java/org/onap/so/montoring/utils/ObjectEqualsUtils.java36
-rw-r--r--so-monitoring/so-monitoring-handler/src/test/java/org/onap/so/montoring/configuration/CamundaConfigurationTest.java44
-rw-r--r--so-monitoring/so-monitoring-handler/src/test/java/org/onap/so/montoring/configuration/CamundaRestUrlProviderTest.java80
-rw-r--r--so-monitoring/so-monitoring-handler/src/test/java/org/onap/so/montoring/configuration/HttpServiceProviderConfigurationTest.java70
-rw-r--r--so-monitoring/so-monitoring-handler/src/test/java/org/onap/so/montoring/configuration/PojoClassesTests.java82
-rw-r--r--so-monitoring/so-monitoring-handler/src/test/java/org/onap/so/montoring/configuration/database/DatabaseUrlProviderTest.java52
-rw-r--r--so-monitoring/so-monitoring-handler/src/test/java/org/onap/so/montoring/db/api/DatabaseServiceProviderTest.java108
-rw-r--r--so-monitoring/so-monitoring-handler/src/test/java/org/onap/so/montoring/rest/service/CamundaProcessDataServiceProviderTest.java232
-rw-r--r--so-monitoring/so-monitoring-handler/src/test/java/org/onap/so/montoring/utils/ObjectEqualsUtilsTest.java71
-rw-r--r--so-monitoring/so-monitoring-service/pom.xml93
-rw-r--r--so-monitoring/so-monitoring-service/src/main/java/org/onap/so/monitoring/rest/api/JerseyConfiguration.java40
-rw-r--r--so-monitoring/so-monitoring-service/src/main/java/org/onap/so/monitoring/rest/api/SoMonitoringApplication.java37
-rw-r--r--so-monitoring/so-monitoring-service/src/main/java/org/onap/so/monitoring/rest/api/SoMonitoringController.java236
-rw-r--r--so-monitoring/so-monitoring-service/src/main/java/org/onap/so/monitoring/rest/api/WebApplicationConfig.java36
-rw-r--r--so-monitoring/so-monitoring-service/src/main/resources/application.yaml17
-rw-r--r--so-monitoring/so-monitoring-service/src/test/java/org/onap/so/monitoring/rest/api/SoMonitoringControllerTest.java400
-rw-r--r--so-monitoring/so-monitoring-service/src/test/resources/application-test.yaml11
-rw-r--r--so-monitoring/so-monitoring-service/src/test/resources/camundaResponses/activityInstance.json254
-rw-r--r--so-monitoring/so-monitoring-service/src/test/resources/camundaResponses/processDefinition.json4
-rw-r--r--so-monitoring/so-monitoring-service/src/test/resources/camundaResponses/processInstance.json59
-rw-r--r--so-monitoring/so-monitoring-service/src/test/resources/camundaResponses/processInstanceVariables.json5062
-rw-r--r--so-monitoring/so-monitoring-service/src/test/resources/camundaResponses/singleprocessInstance.json19
60 files changed, 11083 insertions, 970 deletions
diff --git a/adapters/mso-requests-db-adapter/src/main/java/org/onap/so/adapters/requestsdb/InfraActiveRequestsRepositoryCustomController.java b/adapters/mso-requests-db-adapter/src/main/java/org/onap/so/adapters/requestsdb/InfraActiveRequestsRepositoryCustomController.java
index 34bf9cb0f5..a476f890cc 100644
--- a/adapters/mso-requests-db-adapter/src/main/java/org/onap/so/adapters/requestsdb/InfraActiveRequestsRepositoryCustomController.java
+++ b/adapters/mso-requests-db-adapter/src/main/java/org/onap/so/adapters/requestsdb/InfraActiveRequestsRepositoryCustomController.java
@@ -20,19 +20,19 @@
package org.onap.so.adapters.requestsdb;
+import java.util.List;
+import java.util.Map;
+
import org.onap.so.db.request.beans.InfraActiveRequests;
import org.onap.so.db.request.data.controller.InstanceNameDuplicateCheckRequest;
import org.onap.so.db.request.data.repository.InfraActiveRequestsRepository;
import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
-import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
-
-
-import java.util.List;
-import java.util.Map;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestMethod;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.RestController;
@RestController
public class InfraActiveRequestsRepositoryCustomController {
@@ -59,4 +59,11 @@ public class InfraActiveRequestsRepositoryCustomController {
public InfraActiveRequests checkInstanceNameDuplicate(@RequestBody InstanceNameDuplicateCheckRequest instanceNameDuplicateCheckRequest) {
return infraActiveRequestsRepository.checkInstanceNameDuplicate(instanceNameDuplicateCheckRequest.getInstanceIdMap(), instanceNameDuplicateCheckRequest.getInstanceName(), instanceNameDuplicateCheckRequest.getRequestScope());
}
+
+ @RequestMapping(method = RequestMethod.POST, value = "/infraActiveRequests/v1/getInfraActiveRequests")
+ public List<InfraActiveRequests> getInfraActiveRequests(@RequestBody Map<String, String[]> filters,
+ @RequestParam("from") long startTime, @RequestParam("to") long endTime,
+ @RequestParam(value = "maxResult", required = false) Integer maxResult) {
+ return infraActiveRequestsRepository.getInfraActiveRequests(filters, startTime, endTime, maxResult);
+ }
}
diff --git a/mso-api-handlers/mso-requests-db/src/main/java/org/onap/so/db/request/beans/InfraActiveRequests.java b/mso-api-handlers/mso-requests-db/src/main/java/org/onap/so/db/request/beans/InfraActiveRequests.java
index 924f8870d3..348fc524ef 100644
--- a/mso-api-handlers/mso-requests-db/src/main/java/org/onap/so/db/request/beans/InfraActiveRequests.java
+++ b/mso-api-handlers/mso-requests-db/src/main/java/org/onap/so/db/request/beans/InfraActiveRequests.java
@@ -36,60 +36,59 @@ import org.apache.commons.lang3.builder.ToStringBuilder;
@Table(name = "infra_active_requests")
public class InfraActiveRequests extends InfraRequests {
- private static final long serialVersionUID = -6818265918910035170L;
+ private static final long serialVersionUID = -6818265918910035170L;
- public InfraActiveRequests() {
- }
+ public InfraActiveRequests() {}
- public InfraActiveRequests(String requestId, String action) {
- setRequestId(requestId);
- setAction(action);
- }
+ public InfraActiveRequests(final String requestId, final String action) {
+ setRequestId(requestId);
+ setAction(action);
+ }
- public InfraActiveRequests(String requestId) {
- setRequestId(requestId);
- }
-
- @Override
- public boolean equals(final Object other) {
- if (this == other) {
- return true;
- }
- if (!(other instanceof InfraActiveRequests)) {
- return false;
- }
- InfraActiveRequests castOther = (InfraActiveRequests) other;
- return Objects.equals(getRequestId(), castOther.getRequestId());
- }
+ public InfraActiveRequests(final String requestId) {
+ setRequestId(requestId);
+ }
- @Override
- public int hashCode() {
- return Objects.hash(getRequestId());
- }
+ @Override
+ public boolean equals(final Object other) {
+ if (this == other) {
+ return true;
+ }
+ if (!(other instanceof InfraActiveRequests)) {
+ return false;
+ }
+ final InfraActiveRequests castOther = (InfraActiveRequests) other;
+ return Objects.equals(getRequestId(), castOther.getRequestId());
+ }
- @Override
- public String toString() {
- return new ToStringBuilder(this).append("requestId", getRequestId())
- .append("clientRequestId", getClientRequestId()).append("action", getAction())
- .append("requestStatus", getRequestStatus()).append("statusMessage", getStatusMessage())
- .append("progress", getProgress()).append("startTime", getStartTime()).append("endTime", getEndTime())
- .append("source", getSource()).append("vnfId", getVnfId()).append("vnfName", getVnfName())
- .append("vnfType", getVnfType()).append("serviceType", getServiceType())
- .append("aicNodeClli", getAicNodeClli()).append("tenantId", getTenantId())
- .append("provStatus", getProvStatus()).append("vnfParams", getVnfParams())
- .append("vnfOutputs", getVnfOutputs()).append("requestBody", getRequestBody())
- .append("responseBody", getResponseBody()).append("lastModifiedBy", getLastModifiedBy())
- .append("modifyTime", getModifyTime()).append("requestType", getRequestType())
- .append("volumeGroupId", getVolumeGroupId()).append("volumeGroupName", getVolumeGroupName())
- .append("vfModuleId", getVfModuleId()).append("vfModuleName", getVfModuleName())
- .append("vfModuleModelName", getVfModuleModelName()).append("aaiServiceId", getAaiServiceId())
- .append("aicCloudRegion", getAicCloudRegion()).append("callBackUrl", getCallBackUrl())
- .append("correlator", getCorrelator()).append("serviceInstanceId", getServiceInstanceId())
- .append("serviceInstanceName", getServiceInstanceName()).append("requestScope", getRequestScope())
- .append("requestAction", getRequestAction()).append("networkId", getNetworkId())
- .append("networkName", getNetworkName()).append("networkType", getNetworkType())
- .append("requestorId", getRequestorId()).append("configurationId", getConfigurationId())
- .append("configurationName", getConfigurationName()).append("operationalEnvId", getOperationalEnvId())
- .append("operationalEnvName", getOperationalEnvName()).toString();
- }
+ @Override
+ public int hashCode() {
+ return Objects.hash(getRequestId());
+ }
+
+ @Override
+ public String toString() {
+ return new ToStringBuilder(this).append("requestId", getRequestId())
+ .append("clientRequestId", getClientRequestId()).append("action", getAction())
+ .append("requestStatus", getRequestStatus()).append("statusMessage", getStatusMessage())
+ .append("progress", getProgress()).append("startTime", getStartTime()).append("endTime", getEndTime())
+ .append("source", getSource()).append("vnfId", getVnfId()).append("vnfName", getVnfName())
+ .append("vnfType", getVnfType()).append("serviceType", getServiceType())
+ .append("aicNodeClli", getAicNodeClli()).append("tenantId", getTenantId())
+ .append("provStatus", getProvStatus()).append("vnfParams", getVnfParams())
+ .append("vnfOutputs", getVnfOutputs()).append("requestBody", getRequestBody())
+ .append("responseBody", getResponseBody()).append("lastModifiedBy", getLastModifiedBy())
+ .append("modifyTime", getModifyTime()).append("requestType", getRequestType())
+ .append("volumeGroupId", getVolumeGroupId()).append("volumeGroupName", getVolumeGroupName())
+ .append("vfModuleId", getVfModuleId()).append("vfModuleName", getVfModuleName())
+ .append("vfModuleModelName", getVfModuleModelName()).append("aaiServiceId", getAaiServiceId())
+ .append("aicCloudRegion", getAicCloudRegion()).append("callBackUrl", getCallBackUrl())
+ .append("correlator", getCorrelator()).append("serviceInstanceId", getServiceInstanceId())
+ .append("serviceInstanceName", getServiceInstanceName()).append("requestScope", getRequestScope())
+ .append("requestAction", getRequestAction()).append("networkId", getNetworkId())
+ .append("networkName", getNetworkName()).append("networkType", getNetworkType())
+ .append("requestorId", getRequestorId()).append("configurationId", getConfigurationId())
+ .append("configurationName", getConfigurationName()).append("operationalEnvId", getOperationalEnvId())
+ .append("operationalEnvName", getOperationalEnvName()).toString();
+ }
}
diff --git a/mso-api-handlers/mso-requests-db/src/main/java/org/onap/so/db/request/beans/InfraRequests.java b/mso-api-handlers/mso-requests-db/src/main/java/org/onap/so/db/request/beans/InfraRequests.java
index 48a6cf3ff0..0833064f8a 100644
--- a/mso-api-handlers/mso-requests-db/src/main/java/org/onap/so/db/request/beans/InfraRequests.java
+++ b/mso-api-handlers/mso-requests-db/src/main/java/org/onap/so/db/request/beans/InfraRequests.java
@@ -42,515 +42,515 @@ import uk.co.blackpepper.bowman.annotation.ResourceId;
@MappedSuperclass
public abstract class InfraRequests implements java.io.Serializable {
- private static final long serialVersionUID = -5497583682393936143L;
- private static final String UNKNOWN = "unknown";
-
-
- @Id
- @Column(name = "REQUEST_ID", length=45)
+ private static final long serialVersionUID = -5497583682393936143L;
+ private static final String UNKNOWN = "unknown";
+
+
+ @Id
+ @Column(name = "REQUEST_ID", length = 45)
private String requestId;
- @Column(name = "CLIENT_REQUEST_ID", length=45, unique=true)
- private String clientRequestId;
- @Column(name = "ACTION", length=45)
- private String action;
- @Column(name = "REQUEST_STATUS", length=20)
- private String requestStatus;
- @Column(name = "STATUS_MESSAGE", length=2000)
- private String statusMessage;
- @Column(name = "PROGRESS", precision=11)
- private Long progress;
-
- @Column(name = "START_TIME")
- private Timestamp startTime;
- @Column(name = "END_TIME")
- private Timestamp endTime;
- @Column(name = "SOURCE", length=45)
- private String source;
- @Column(name = "VNF_ID", length=45)
- private String vnfId;
- @Column(name = "VNF_NAME", length=80)
- private String vnfName;
- @Column(name = "VNF_TYPE", length=200)
- private String vnfType;
- @Column(name = "SERVICE_TYPE", length=45)
- private String serviceType;
- @Column(name = "AIC_NODE_CLLI", length=11)
- private String aicNodeClli;
- @Column(name = "TENANT_ID", length=45)
- private String tenantId;
- @Column(name = "PROV_STATUS", length=20)
- private String provStatus;
- @Column(name = "VNF_PARAMS")
- private String vnfParams;
- @Column(name = "VNF_OUTPUTS")
- private String vnfOutputs;
- @Column(name = "REQUEST_BODY")
- private String requestBody;
- @Column(name = "RESPONSE_BODY")
- private String responseBody;
- @Column(name = "LAST_MODIFIED_BY", length=50)
- private String lastModifiedBy;
- @Column(name = "MODIFY_TIME")
- @Temporal(TemporalType.TIMESTAMP)
- private Date modifyTime;
- @Column(name = "REQUEST_TYPE", length=20)
- private String requestType;
- @Column(name = "VOLUME_GROUP_ID", length=45)
- private String volumeGroupId;
- @Column(name = "VOLUME_GROUP_NAME", length=45)
- private String volumeGroupName;
- @Column(name = "VF_MODULE_ID", length=45)
- private String vfModuleId;
- @Column(name = "VF_MODULE_NAME", length=200)
- private String vfModuleName;
- @Column(name = "VF_MODULE_MODEL_NAME", length=200)
- private String vfModuleModelName;
- @Column(name = "AAI_SERVICE_ID", length=50)
- private String aaiServiceId;
- @Column(name = "AIC_CLOUD_REGION", length=11)
- private String aicCloudRegion;
- @Column(name = "CALLBACK_URL", length=200)
- private String callBackUrl;
- @Column(name = "CORRELATOR", length=80)
- private String correlator;
- @Column(name = "SERVICE_INSTANCE_ID", length=45)
- private String serviceInstanceId;
- @Column(name = "SERVICE_INSTANCE_NAME", length=80)
- private String serviceInstanceName;
- @Column(name = "REQUEST_SCOPE", length=45)
- private String requestScope;
- @Column(name = "REQUEST_ACTION", length=45)
- private String requestAction;
- @Column(name = "NETWORK_ID", length=45)
- private String networkId;
- @Column(name = "NETWORK_NAME", length=80)
- private String networkName;
- @Column(name = "NETWORK_TYPE", length=80)
- private String networkType;
- @Column(name = "REQUESTOR_ID", length=80)
- private String requestorId;
- @Column(name = "CONFIGURATION_ID", length=45)
- private String configurationId;
- @Column(name = "CONFIGURATION_NAME", length=200)
- private String configurationName;
- @Column(name = "OPERATIONAL_ENV_ID", length=45)
- private String operationalEnvId;
- @Column(name = "OPERATIONAL_ENV_NAME", length=200)
- private String operationalEnvName;
-
- @ResourceId
- public URI getRequestURI() {
- return URI.create(this.requestId);
- }
-
- public String getRequestId() {
- return this.requestId;
- }
-
- public void setRequestId(String requestId) {
- this.requestId = requestId;
- }
-
- public String getClientRequestId() {
- return clientRequestId;
- }
-
- public void setClientRequestId(String clientRequestId) {
- this.clientRequestId = clientRequestId;
- }
-
- public String getAction() {
- return this.action;
- }
-
- public void setAction(String action) {
- this.action = action;
- }
-
- public String getRequestStatus() {
- return this.requestStatus;
- }
-
- public void setRequestStatus(String requestStatus) {
- this.requestStatus = requestStatus;
- }
-
- public String getStatusMessage() {
- return this.statusMessage;
- }
-
- public void setStatusMessage(String statusMessage) {
- this.statusMessage = statusMessage;
- }
-
- public Long getProgress() {
- return this.progress;
- }
-
- public void setProgress(Long progress) {
- this.progress = progress;
- }
+ @Column(name = "CLIENT_REQUEST_ID", length = 45, unique = true)
+ private String clientRequestId;
+ @Column(name = "ACTION", length = 45)
+ private String action;
+ @Column(name = "REQUEST_STATUS", length = 20)
+ private String requestStatus;
+ @Column(name = "STATUS_MESSAGE", length = 2000)
+ private String statusMessage;
+ @Column(name = "PROGRESS", precision = 11)
+ private Long progress;
+
+ @Column(name = "START_TIME")
+ private Timestamp startTime;
+ @Column(name = "END_TIME")
+ private Timestamp endTime;
+ @Column(name = "SOURCE", length = 45)
+ private String source;
+ @Column(name = "VNF_ID", length = 45)
+ private String vnfId;
+ @Column(name = "VNF_NAME", length = 80)
+ private String vnfName;
+ @Column(name = "VNF_TYPE", length = 200)
+ private String vnfType;
+ @Column(name = "SERVICE_TYPE", length = 45)
+ private String serviceType;
+ @Column(name = "AIC_NODE_CLLI", length = 11)
+ private String aicNodeClli;
+ @Column(name = "TENANT_ID", length = 45)
+ private String tenantId;
+ @Column(name = "PROV_STATUS", length = 20)
+ private String provStatus;
+ @Column(name = "VNF_PARAMS")
+ private String vnfParams;
+ @Column(name = "VNF_OUTPUTS")
+ private String vnfOutputs;
+ @Column(name = "REQUEST_BODY")
+ private String requestBody;
+ @Column(name = "RESPONSE_BODY")
+ private String responseBody;
+ @Column(name = "LAST_MODIFIED_BY", length = 50)
+ private String lastModifiedBy;
+ @Column(name = "MODIFY_TIME")
+ @Temporal(TemporalType.TIMESTAMP)
+ private Date modifyTime;
+ @Column(name = "REQUEST_TYPE", length = 20)
+ private String requestType;
+ @Column(name = "VOLUME_GROUP_ID", length = 45)
+ private String volumeGroupId;
+ @Column(name = "VOLUME_GROUP_NAME", length = 45)
+ private String volumeGroupName;
+ @Column(name = "VF_MODULE_ID", length = 45)
+ private String vfModuleId;
+ @Column(name = "VF_MODULE_NAME", length = 200)
+ private String vfModuleName;
+ @Column(name = "VF_MODULE_MODEL_NAME", length = 200)
+ private String vfModuleModelName;
+ @Column(name = "AAI_SERVICE_ID", length = 50)
+ private String aaiServiceId;
+ @Column(name = "AIC_CLOUD_REGION", length = 11)
+ private String aicCloudRegion;
+ @Column(name = "CALLBACK_URL", length = 200)
+ private String callBackUrl;
+ @Column(name = "CORRELATOR", length = 80)
+ private String correlator;
+ @Column(name = "SERVICE_INSTANCE_ID", length = 45)
+ private String serviceInstanceId;
+ @Column(name = "SERVICE_INSTANCE_NAME", length = 80)
+ private String serviceInstanceName;
+ @Column(name = "REQUEST_SCOPE", length = 45)
+ private String requestScope;
+ @Column(name = "REQUEST_ACTION", length = 45)
+ private String requestAction;
+ @Column(name = "NETWORK_ID", length = 45)
+ private String networkId;
+ @Column(name = "NETWORK_NAME", length = 80)
+ private String networkName;
+ @Column(name = "NETWORK_TYPE", length = 80)
+ private String networkType;
+ @Column(name = "REQUESTOR_ID", length = 80)
+ private String requestorId;
+ @Column(name = "CONFIGURATION_ID", length = 45)
+ private String configurationId;
+ @Column(name = "CONFIGURATION_NAME", length = 200)
+ private String configurationName;
+ @Column(name = "OPERATIONAL_ENV_ID", length = 45)
+ private String operationalEnvId;
+ @Column(name = "OPERATIONAL_ENV_NAME", length = 200)
+ private String operationalEnvName;
+
+ @ResourceId
+ public URI getRequestURI() {
+ return URI.create(this.requestId);
+ }
+
+ public String getRequestId() {
+ return this.requestId;
+ }
+
+ public void setRequestId(String requestId) {
+ this.requestId = requestId;
+ }
+
+ public String getClientRequestId() {
+ return clientRequestId;
+ }
+
+ public void setClientRequestId(String clientRequestId) {
+ this.clientRequestId = clientRequestId;
+ }
+
+ public String getAction() {
+ return this.action;
+ }
+
+ public void setAction(String action) {
+ this.action = action;
+ }
+
+ public String getRequestStatus() {
+ return this.requestStatus;
+ }
+
+ public void setRequestStatus(String requestStatus) {
+ this.requestStatus = requestStatus;
+ }
+
+ public String getStatusMessage() {
+ return this.statusMessage;
+ }
+
+ public void setStatusMessage(String statusMessage) {
+ this.statusMessage = statusMessage;
+ }
+
+ public Long getProgress() {
+ return this.progress;
+ }
+
+ public void setProgress(Long progress) {
+ this.progress = progress;
+ }
@XmlJavaTypeAdapter(TimestampXMLAdapter.class)
- public Timestamp getStartTime() {
- return this.startTime;
- }
+ public Timestamp getStartTime() {
+ return this.startTime;
+ }
- public void setStartTime(Timestamp startTime) {
- this.startTime = startTime;
- }
+ public void setStartTime(Timestamp startTime) {
+ this.startTime = startTime;
+ }
@XmlJavaTypeAdapter(TimestampXMLAdapter.class)
- public Timestamp getEndTime() {
- return this.endTime;
- }
+ public Timestamp getEndTime() {
+ return this.endTime;
+ }
+
+ public void setEndTime(Timestamp endTime) {
+ this.endTime = endTime;
+ }
+
+ public String getSource() {
+ return this.source;
+ }
+
+ public void setSource(String source) {
+ this.source = source;
+ }
+
+ public String getVnfId() {
+ return this.vnfId;
+ }
+
+ public void setVnfId(String vnfId) {
+ this.vnfId = vnfId;
+ }
+
+ public String getVnfName() {
+ return this.vnfName;
+ }
+
+ public void setVnfName(String vnfName) {
+ this.vnfName = vnfName;
+ }
+
+ public String getVnfType() {
+ return this.vnfType;
+ }
+
+ public void setVnfType(String vnfType) {
+ this.vnfType = vnfType;
+ }
+
+ public String getServiceType() {
+ return this.serviceType;
+ }
+
+ public void setServiceType(String serviceType) {
+ this.serviceType = serviceType;
+ }
+
+ public String getAicNodeClli() {
+ return this.aicNodeClli;
+ }
+
+ public void setAicNodeClli(String aicNodeClli) {
+ this.aicNodeClli = aicNodeClli;
+ }
+
+ public String getTenantId() {
+ return this.tenantId;
+ }
+
+ public void setTenantId(String tenantId) {
+ this.tenantId = tenantId;
+ }
+
+ public String getProvStatus() {
+ return this.provStatus;
+ }
+
+ public void setProvStatus(String provStatus) {
+ this.provStatus = provStatus;
+ }
+
+ public String getVnfParams() {
+ return this.vnfParams;
+ }
+
+ public void setVnfParams(String vnfParams) {
+ this.vnfParams = vnfParams;
+ }
+
+ public String getVnfOutputs() {
+ return this.vnfOutputs;
+ }
+
+ public void setVnfOutputs(String vnfOutputs) {
+ this.vnfOutputs = vnfOutputs;
+ }
+
+ public String getRequestBody() {
+ return this.requestBody;
+ }
+
+ public void setRequestBody(String requestBody) {
+ this.requestBody = requestBody;
+ }
+
+ public String getResponseBody() {
+ return this.responseBody;
+ }
+
+ public void setResponseBody(String responseBody) {
+ this.responseBody = responseBody;
+ }
- public void setEndTime(Timestamp endTime) {
- this.endTime = endTime;
- }
+ public String getLastModifiedBy() {
+ return this.lastModifiedBy;
+ }
- public String getSource() {
- return this.source;
- }
+ public void setLastModifiedBy(String lastModifiedBy) {
+ this.lastModifiedBy = lastModifiedBy;
+ }
- public void setSource(String source) {
- this.source = source;
- }
-
- public String getVnfId() {
- return this.vnfId;
- }
-
- public void setVnfId(String vnfId) {
- this.vnfId = vnfId;
- }
-
- public String getVnfName() {
- return this.vnfName;
- }
-
- public void setVnfName(String vnfName) {
- this.vnfName = vnfName;
- }
-
- public String getVnfType() {
- return this.vnfType;
- }
-
- public void setVnfType(String vnfType) {
- this.vnfType = vnfType;
- }
-
- public String getServiceType() {
- return this.serviceType;
- }
-
- public void setServiceType(String serviceType) {
- this.serviceType = serviceType;
- }
-
- public String getAicNodeClli() {
- return this.aicNodeClli;
- }
-
- public void setAicNodeClli(String aicNodeClli) {
- this.aicNodeClli = aicNodeClli;
- }
-
- public String getTenantId() {
- return this.tenantId;
- }
-
- public void setTenantId(String tenantId) {
- this.tenantId = tenantId;
- }
-
- public String getProvStatus() {
- return this.provStatus;
- }
-
- public void setProvStatus(String provStatus) {
- this.provStatus = provStatus;
- }
-
- public String getVnfParams() {
- return this.vnfParams;
- }
-
- public void setVnfParams(String vnfParams) {
- this.vnfParams = vnfParams;
- }
-
- public String getVnfOutputs() {
- return this.vnfOutputs;
- }
-
- public void setVnfOutputs(String vnfOutputs) {
- this.vnfOutputs = vnfOutputs;
- }
-
- public String getRequestBody() {
- return this.requestBody;
- }
-
- public void setRequestBody(String requestBody) {
- this.requestBody = requestBody;
- }
-
- public String getResponseBody() {
- return this.responseBody;
- }
-
- public void setResponseBody(String responseBody) {
- this.responseBody = responseBody;
- }
+ public Date getModifyTime() {
+ return this.modifyTime;
+ }
- public String getLastModifiedBy() {
- return this.lastModifiedBy;
- }
+ public String getRequestType() {
+ return this.requestType;
+ }
- public void setLastModifiedBy(String lastModifiedBy) {
- this.lastModifiedBy = lastModifiedBy;
- }
+ public void setRequestType(String requestType) {
+ this.requestType = requestType;
+ }
- public Date getModifyTime() {
- return this.modifyTime;
- }
-
- public String getRequestType() {
- return this.requestType;
- }
+ public String getVolumeGroupId() {
+ return this.volumeGroupId;
+ }
- public void setRequestType(String requestType) {
- this.requestType = requestType;
- }
+ public void setVolumeGroupId(String volumeGroupId) {
+ this.volumeGroupId = volumeGroupId;
+ }
- public String getVolumeGroupId() {
- return this.volumeGroupId;
- }
+ public String getVolumeGroupName() {
+ return this.volumeGroupName;
+ }
- public void setVolumeGroupId(String volumeGroupId) {
- this.volumeGroupId = volumeGroupId;
- }
+ public void setVolumeGroupName(String volumeGroupName) {
+ this.volumeGroupName = volumeGroupName;
+ }
- public String getVolumeGroupName() {
- return this.volumeGroupName;
- }
+ public String getVfModuleId() {
+ return this.vfModuleId;
+ }
- public void setVolumeGroupName(String volumeGroupName) {
- this.volumeGroupName = volumeGroupName;
- }
+ public void setVfModuleId(String vfModuleId) {
+ this.vfModuleId = vfModuleId;
+ }
- public String getVfModuleId() {
- return this.vfModuleId;
- }
+ public String getVfModuleName() {
+ return this.vfModuleName;
+ }
- public void setVfModuleId(String vfModuleId) {
- this.vfModuleId = vfModuleId;
- }
+ public void setVfModuleName(String vfModuleName) {
+ this.vfModuleName = vfModuleName;
+ }
- public String getVfModuleName() {
- return this.vfModuleName;
- }
+ public String getVfModuleModelName() {
+ return this.vfModuleModelName;
+ }
- public void setVfModuleName(String vfModuleName) {
- this.vfModuleName = vfModuleName;
- }
+ public void setVfModuleModelName(String vfModuleModelName) {
+ this.vfModuleModelName = vfModuleModelName;
+ }
- public String getVfModuleModelName() {
- return this.vfModuleModelName;
- }
+ public String getAaiServiceId() {
+ return this.aaiServiceId;
+ }
- public void setVfModuleModelName(String vfModuleModelName) {
- this.vfModuleModelName = vfModuleModelName;
- }
+ public void setAaiServiceId(String aaiServiceId) {
+ this.aaiServiceId = aaiServiceId;
+ }
- public String getAaiServiceId() {
- return this.aaiServiceId;
- }
+ public String getAicCloudRegion() {
+ return this.aicCloudRegion;
+ }
- public void setAaiServiceId(String aaiServiceId) {
- this.aaiServiceId = aaiServiceId;
- }
+ public void setAicCloudRegion(String aicCloudRegion) {
+ this.aicCloudRegion = aicCloudRegion;
+ }
- public String getAicCloudRegion() {
- return this.aicCloudRegion;
- }
+ public String getCallBackUrl() {
+ return callBackUrl;
+ }
- public void setAicCloudRegion(String aicCloudRegion) {
- this.aicCloudRegion = aicCloudRegion;
- }
+ public void setCallBackUrl(String callBackUrl) {
+ this.callBackUrl = callBackUrl;
+ }
- public String getCallBackUrl() {
- return callBackUrl;
- }
+ public String getCorrelator() {
+ return correlator;
+ }
- public void setCallBackUrl(String callBackUrl) {
- this.callBackUrl = callBackUrl;
- }
+ public void setCorrelator(String correlator) {
+ this.correlator = correlator;
+ }
- public String getCorrelator() {
- return correlator;
- }
-
- public void setCorrelator(String correlator) {
- this.correlator = correlator;
- }
-
- public String getServiceInstanceId() {
- return serviceInstanceId;
- }
-
- public void setServiceInstanceId(String serviceInstanceId) {
- this.serviceInstanceId = serviceInstanceId;
- }
-
- public String getServiceInstanceName() {
- return serviceInstanceName;
- }
-
- public void setServiceInstanceName(String serviceInstanceName) {
- this.serviceInstanceName = serviceInstanceName;
- }
-
- public String getRequestScope() {
- return requestScope;
- }
-
- public void setRequestScope(String requestScope) {
- this.requestScope = requestScope;
- }
-
- public String getRequestAction() {
- return requestAction;
- }
-
- public void setRequestAction(String requestAction) {
- this.requestAction = requestAction;
- }
-
- public String getNetworkId() {
- return networkId;
- }
-
- public void setNetworkId(String networkId) {
- this.networkId = networkId;
- }
-
- public String getNetworkName() {
- return networkName;
- }
-
- public void setNetworkName(String networkName) {
- this.networkName = networkName;
- }
-
- public String getNetworkType() {
- return networkType;
- }
-
- public void setNetworkType(String networkType) {
- this.networkType = networkType;
- }
-
- public String getRequestorId() {
- return requestorId;
- }
-
- public void setRequestorId(String requestorId) {
- this.requestorId = requestorId;
- }
-
- public String getConfigurationId() {
- return configurationId;
- }
-
- public void setConfigurationId(String configurationId) {
- this.configurationId = configurationId;
- }
-
- public String getConfigurationName() {
- return configurationName;
- }
-
- public void setConfigurationName(String configurationName) {
- this.configurationName = configurationName;
- }
-
- public String getOperationalEnvId() {
- return operationalEnvId;
- }
-
- public void setOperationalEnvId(String operationalEnvId) {
- this.operationalEnvId = operationalEnvId;
- }
-
- public String getOperationalEnvName() {
- return operationalEnvName;
- }
-
- public void setOperationalEnvName(String operationalEnvName) {
- this.operationalEnvName = operationalEnvName;
- }
-
- @PrePersist
- protected void onCreate() {
- if(requestScope==null)
- requestScope=UNKNOWN;
- if(requestAction==null)
- requestAction=UNKNOWN;
- this.modifyTime = new Date();
- }
-
- @PreUpdate
- protected void onUpdate() {
- if(requestScope==null)
- requestScope=UNKNOWN;
- if(requestAction==null)
- requestAction=UNKNOWN;
- this.modifyTime = new Date();
- }
-
- @Override
- public boolean equals(final Object other) {
- if (this == other) {
- return true;
- }
- if (!(other instanceof InfraRequests)) {
- return false;
- }
- InfraRequests castOther = (InfraRequests) other;
- return Objects.equals(getRequestId(), castOther.getRequestId());
- }
-
- @Override
- public int hashCode() {
- return Objects.hash(getRequestId());
- }
-
- @Override
- public String toString() {
- return new ToStringBuilder(this).append("requestId", getRequestId())
- .append("clientRequestId", getClientRequestId()).append("action", getAction())
- .append("requestStatus", getRequestStatus()).append("statusMessage", getStatusMessage())
- .append("progress", getProgress()).append("startTime", getStartTime()).append("endTime", getEndTime())
- .append("source", getSource()).append("vnfId", getVnfId()).append("vnfName", getVnfName())
- .append("vnfType", getVnfType()).append("serviceType", getServiceType())
- .append("aicNodeClli", getAicNodeClli()).append("tenantId", getTenantId())
- .append("provStatus", getProvStatus()).append("vnfParams", getVnfParams())
- .append("vnfOutputs", getVnfOutputs()).append("requestBody", getRequestBody())
- .append("responseBody", getResponseBody()).append("lastModifiedBy", getLastModifiedBy())
- .append("modifyTime", getModifyTime()).append("requestType", getRequestType())
- .append("volumeGroupId", getVolumeGroupId()).append("volumeGroupName", getVolumeGroupName())
- .append("vfModuleId", getVfModuleId()).append("vfModuleName", getVfModuleName())
- .append("vfModuleModelName", getVfModuleModelName()).append("aaiServiceId", getAaiServiceId())
- .append("aicCloudRegion", getAicCloudRegion()).append("callBackUrl", getCallBackUrl())
- .append("correlator", getCorrelator()).append("serviceInstanceId", getServiceInstanceId())
- .append("serviceInstanceName", getServiceInstanceName()).append("requestScope", getRequestScope())
- .append("requestAction", getRequestAction()).append("networkId", getNetworkId())
- .append("networkName", getNetworkName()).append("networkType", getNetworkType())
- .append("requestorId", getRequestorId()).append("configurationId", getConfigurationId())
- .append("configurationName", getConfigurationName()).append("operationalEnvId", getOperationalEnvId())
- .append("operationalEnvName", getOperationalEnvName()).toString();
- }
+ public String getServiceInstanceId() {
+ return serviceInstanceId;
+ }
+
+ public void setServiceInstanceId(String serviceInstanceId) {
+ this.serviceInstanceId = serviceInstanceId;
+ }
+
+ public String getServiceInstanceName() {
+ return serviceInstanceName;
+ }
+
+ public void setServiceInstanceName(String serviceInstanceName) {
+ this.serviceInstanceName = serviceInstanceName;
+ }
+
+ public String getRequestScope() {
+ return requestScope;
+ }
+
+ public void setRequestScope(String requestScope) {
+ this.requestScope = requestScope;
+ }
+
+ public String getRequestAction() {
+ return requestAction;
+ }
+
+ public void setRequestAction(String requestAction) {
+ this.requestAction = requestAction;
+ }
+
+ public String getNetworkId() {
+ return networkId;
+ }
+
+ public void setNetworkId(String networkId) {
+ this.networkId = networkId;
+ }
+
+ public String getNetworkName() {
+ return networkName;
+ }
+
+ public void setNetworkName(String networkName) {
+ this.networkName = networkName;
+ }
+
+ public String getNetworkType() {
+ return networkType;
+ }
+
+ public void setNetworkType(String networkType) {
+ this.networkType = networkType;
+ }
+
+ public String getRequestorId() {
+ return requestorId;
+ }
+
+ public void setRequestorId(String requestorId) {
+ this.requestorId = requestorId;
+ }
+
+ public String getConfigurationId() {
+ return configurationId;
+ }
+
+ public void setConfigurationId(String configurationId) {
+ this.configurationId = configurationId;
+ }
+
+ public String getConfigurationName() {
+ return configurationName;
+ }
+
+ public void setConfigurationName(String configurationName) {
+ this.configurationName = configurationName;
+ }
+
+ public String getOperationalEnvId() {
+ return operationalEnvId;
+ }
+
+ public void setOperationalEnvId(String operationalEnvId) {
+ this.operationalEnvId = operationalEnvId;
+ }
+
+ public String getOperationalEnvName() {
+ return operationalEnvName;
+ }
+
+ public void setOperationalEnvName(String operationalEnvName) {
+ this.operationalEnvName = operationalEnvName;
+ }
+
+ @PrePersist
+ protected void onCreate() {
+ if (requestScope == null)
+ requestScope = UNKNOWN;
+ if (requestAction == null)
+ requestAction = UNKNOWN;
+ this.modifyTime = new Date();
+ }
+
+ @PreUpdate
+ protected void onUpdate() {
+ if (requestScope == null)
+ requestScope = UNKNOWN;
+ if (requestAction == null)
+ requestAction = UNKNOWN;
+ this.modifyTime = new Date();
+ }
+
+ @Override
+ public boolean equals(final Object other) {
+ if (this == other) {
+ return true;
+ }
+ if (!(other instanceof InfraRequests)) {
+ return false;
+ }
+ InfraRequests castOther = (InfraRequests) other;
+ return Objects.equals(getRequestId(), castOther.getRequestId());
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(getRequestId());
+ }
+
+ @Override
+ public String toString() {
+ return new ToStringBuilder(this).append("requestId", getRequestId())
+ .append("clientRequestId", getClientRequestId()).append("action", getAction())
+ .append("requestStatus", getRequestStatus()).append("statusMessage", getStatusMessage())
+ .append("progress", getProgress()).append("startTime", getStartTime()).append("endTime", getEndTime())
+ .append("source", getSource()).append("vnfId", getVnfId()).append("vnfName", getVnfName())
+ .append("vnfType", getVnfType()).append("serviceType", getServiceType())
+ .append("aicNodeClli", getAicNodeClli()).append("tenantId", getTenantId())
+ .append("provStatus", getProvStatus()).append("vnfParams", getVnfParams())
+ .append("vnfOutputs", getVnfOutputs()).append("requestBody", getRequestBody())
+ .append("responseBody", getResponseBody()).append("lastModifiedBy", getLastModifiedBy())
+ .append("modifyTime", getModifyTime()).append("requestType", getRequestType())
+ .append("volumeGroupId", getVolumeGroupId()).append("volumeGroupName", getVolumeGroupName())
+ .append("vfModuleId", getVfModuleId()).append("vfModuleName", getVfModuleName())
+ .append("vfModuleModelName", getVfModuleModelName()).append("aaiServiceId", getAaiServiceId())
+ .append("aicCloudRegion", getAicCloudRegion()).append("callBackUrl", getCallBackUrl())
+ .append("correlator", getCorrelator()).append("serviceInstanceId", getServiceInstanceId())
+ .append("serviceInstanceName", getServiceInstanceName()).append("requestScope", getRequestScope())
+ .append("requestAction", getRequestAction()).append("networkId", getNetworkId())
+ .append("networkName", getNetworkName()).append("networkType", getNetworkType())
+ .append("requestorId", getRequestorId()).append("configurationId", getConfigurationId())
+ .append("configurationName", getConfigurationName()).append("operationalEnvId", getOperationalEnvId())
+ .append("operationalEnvName", getOperationalEnvName()).toString();
+ }
}
diff --git a/mso-api-handlers/mso-requests-db/src/main/java/org/onap/so/db/request/data/repository/InfraActiveRequestsRepositoryCustom.java b/mso-api-handlers/mso-requests-db/src/main/java/org/onap/so/db/request/data/repository/InfraActiveRequestsRepositoryCustom.java
index ba237bfa35..570861dfa1 100644
--- a/mso-api-handlers/mso-requests-db/src/main/java/org/onap/so/db/request/data/repository/InfraActiveRequestsRepositoryCustom.java
+++ b/mso-api-handlers/mso-requests-db/src/main/java/org/onap/so/db/request/data/repository/InfraActiveRequestsRepositoryCustom.java
@@ -30,28 +30,31 @@ import org.springframework.stereotype.Repository;
@Repository
public interface InfraActiveRequestsRepositoryCustom {
- public boolean healthCheck();
+ public boolean healthCheck();
- public InfraActiveRequests getRequestFromInfraActive(String requestId);
+ public InfraActiveRequests getRequestFromInfraActive(String requestId);
- public InfraActiveRequests checkInstanceNameDuplicate(HashMap<String, String> instanceIdMap, String instanceName,
- String requestScope);
+ public InfraActiveRequests checkInstanceNameDuplicate(HashMap<String, String> instanceIdMap, String instanceName,
+ String requestScope);
- public List<InfraActiveRequests> getOrchestrationFiltersFromInfraActive(Map<String, List<String>> orchestrationMap);
+ public List<InfraActiveRequests> getOrchestrationFiltersFromInfraActive(Map<String, List<String>> orchestrationMap);
- // Added this method for Tenant Isolation project ( 1802-295491a) to query the mso_requests DB
- // (infra_active_requests table) for operationalEnvId and OperationalEnvName
- public List<InfraActiveRequests> getCloudOrchestrationFiltersFromInfraActive(Map<String, String> orchestrationMap);
+ // Added this method for Tenant Isolation project ( 1802-295491a) to query the mso_requests DB
+ // (infra_active_requests table) for operationalEnvId and OperationalEnvName
+ public List<InfraActiveRequests> getCloudOrchestrationFiltersFromInfraActive(Map<String, String> orchestrationMap);
- public List<InfraActiveRequests> getRequestListFromInfraActive(String queryAttributeName, String queryValue,
- String requestType);
+ public List<InfraActiveRequests> getRequestListFromInfraActive(String queryAttributeName, String queryValue,
+ String requestType);
- public InfraActiveRequests getRequestFromInfraActive(String requestId, String requestType);
+ public InfraActiveRequests getRequestFromInfraActive(String requestId, String requestType);
- public InfraActiveRequests checkDuplicateByVnfName(String vnfName, String action, String requestType);
+ public InfraActiveRequests checkDuplicateByVnfName(String vnfName, String action, String requestType);
- public InfraActiveRequests checkDuplicateByVnfId(String vnfId, String action, String requestType);
+ public InfraActiveRequests checkDuplicateByVnfId(String vnfId, String action, String requestType);
+
+ public InfraActiveRequests checkVnfIdStatus(String operationalEnvironmentId);
+
+ List<InfraActiveRequests> getInfraActiveRequests(final Map<String, String[]> filters, final long startTime,
+ final long endTime, final Integer maxResult);
- public InfraActiveRequests checkVnfIdStatus(String operationalEnvironmentId);
-
}
diff --git a/mso-api-handlers/mso-requests-db/src/main/java/org/onap/so/db/request/data/repository/InfraActiveRequestsRepositoryImpl.java b/mso-api-handlers/mso-requests-db/src/main/java/org/onap/so/db/request/data/repository/InfraActiveRequestsRepositoryImpl.java
index 3240972a58..d66e378146 100644
--- a/mso-api-handlers/mso-requests-db/src/main/java/org/onap/so/db/request/data/repository/InfraActiveRequestsRepositoryImpl.java
+++ b/mso-api-handlers/mso-requests-db/src/main/java/org/onap/so/db/request/data/repository/InfraActiveRequestsRepositoryImpl.java
@@ -25,11 +25,13 @@ import java.sql.Timestamp;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Arrays;
+import java.util.Collections;
import java.util.Date;
import java.util.HashMap;
import java.util.LinkedList;
import java.util.List;
import java.util.Map;
+import java.util.Map.Entry;
import java.util.concurrent.TimeUnit;
import javax.persistence.EntityManager;
@@ -43,13 +45,9 @@ import javax.persistence.criteria.Predicate;
import javax.persistence.criteria.Root;
import org.onap.so.db.request.beans.InfraActiveRequests;
-import org.onap.so.db.request.beans.OperationStatus;
-import org.onap.so.db.request.beans.ResourceOperationStatus;
import org.onap.so.logger.MsoLogger;
-import org.onap.so.requestsdb.RequestsDbConstant;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
-import org.springframework.data.domain.Example;
import org.springframework.stereotype.Repository;
import org.springframework.transaction.annotation.Transactional;
@@ -58,509 +56,563 @@ import org.springframework.transaction.annotation.Transactional;
@Transactional(readOnly = true)
public class InfraActiveRequestsRepositoryImpl implements InfraActiveRequestsRepositoryCustom {
- @Qualifier("requestEntityManagerFactory")
- @Autowired
- private EntityManager entityManager;
-
- protected static MsoLogger msoLogger = MsoLogger.getMsoLogger (MsoLogger.Catalog.GENERAL, InfraActiveRequestsRepositoryImpl.class);
-
- protected static final String SOURCE = "source";
- protected static final String START_TIME = "startTime";
- protected static final String REQUEST_TYPE = "requestType";
- protected static final String SERVICE_INSTANCE_ID = "serviceInstanceId";
- protected static final String SERVICE_INSTANCE_NAME = "serviceInstanceName";
- protected static final String VNF_INSTANCE_NAME = "vnfName";
- protected static final String VNF_INSTANCE_ID = "vnfId";
- protected static final String VOLUME_GROUP_INSTANCE_NAME = "volumeGroupName";
- protected static final String VOLUME_GROUP_INSTANCE_ID = "volumeGroupId";
- protected static final String VFMODULE_INSTANCE_NAME = "vfModuleName";
- protected static final String VFMODULE_INSTANCE_ID = "vfModuleId";
- protected static final String NETWORK_INSTANCE_NAME = "networkName";
- protected static final String CONFIGURATION_INSTANCE_ID = "configurationId";
- protected static final String CONFIGURATION_INSTANCE_NAME= "configurationName";
- protected static final String OPERATIONAL_ENV_ID = "operationalEnvId";
- protected static final String OPERATIONAL_ENV_NAME = "operationalEnvName";
- protected static final String NETWORK_INSTANCE_ID = "networkId";
- protected static final String GLOBAL_SUBSCRIBER_ID = "globalSubscriberId";
- protected static final String SERVICE_NAME_VERSION_ID = "serviceNameVersionId";
- protected static final String SERVICE_ID = "serviceId";
- protected static final String SERVICE_VERSION = "serviceVersion";
- protected static final String REQUEST_ID = "requestId";
- protected static final String REQUESTOR_ID = "requestorId";
-
- @Autowired
- private OperationStatusRepository operationStatusRepository;
-
- /* (non-Javadoc)
- * @see org.onap.so.requestsdb.InfraActiveRequestsRepositoryCustom#healthCheck()
- */
+ @Qualifier("requestEntityManagerFactory")
+ @Autowired
+ private EntityManager entityManager;
+
+ protected static MsoLogger msoLogger =
+ MsoLogger.getMsoLogger(MsoLogger.Catalog.GENERAL, InfraActiveRequestsRepositoryImpl.class);
+
+ protected static final String REQUEST_STATUS = "requestStatus";
+ protected static final String SOURCE = "source";
+ protected static final String START_TIME = "startTime";
+ protected static final String END_TIME = "endTime";
+ protected static final String REQUEST_TYPE = "requestType";
+ protected static final String SERVICE_INSTANCE_ID = "serviceInstanceId";
+ protected static final String SERVICE_INSTANCE_NAME = "serviceInstanceName";
+ protected static final String VNF_INSTANCE_NAME = "vnfName";
+ protected static final String VNF_INSTANCE_ID = "vnfId";
+ protected static final String VOLUME_GROUP_INSTANCE_NAME = "volumeGroupName";
+ protected static final String VOLUME_GROUP_INSTANCE_ID = "volumeGroupId";
+ protected static final String VFMODULE_INSTANCE_NAME = "vfModuleName";
+ protected static final String VFMODULE_INSTANCE_ID = "vfModuleId";
+ protected static final String NETWORK_INSTANCE_NAME = "networkName";
+ protected static final String CONFIGURATION_INSTANCE_ID = "configurationId";
+ protected static final String CONFIGURATION_INSTANCE_NAME = "configurationName";
+ protected static final String OPERATIONAL_ENV_ID = "operationalEnvId";
+ protected static final String OPERATIONAL_ENV_NAME = "operationalEnvName";
+ protected static final String NETWORK_INSTANCE_ID = "networkId";
+ protected static final String GLOBAL_SUBSCRIBER_ID = "globalSubscriberId";
+ protected static final String SERVICE_NAME_VERSION_ID = "serviceNameVersionId";
+ protected static final String SERVICE_ID = "serviceId";
+ protected static final String SERVICE_VERSION = "serviceVersion";
+ protected static final String REQUEST_ID = "requestId";
+ protected static final String REQUESTOR_ID = "requestorId";
+ protected static final String ACTION = "action";
+
+ private static final List<String> VALID_COLUMNS =
+ Arrays.asList(REQUEST_ID, SERVICE_INSTANCE_ID, SERVICE_INSTANCE_NAME, ACTION, REQUEST_STATUS);
+
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see org.onap.so.requestsdb.InfraActiveRequestsRepositoryCustom#healthCheck()
+ */
@Override
- public boolean healthCheck () {
-
- Query query = entityManager.createNativeQuery(" show tables ");
+ public boolean healthCheck() {
+
+ final Query query = entityManager.createNativeQuery(" show tables ");
- List<?> list = query.getResultList();
+ final List<?> list = query.getResultList();
return true;
}
- private List<InfraActiveRequests> executeInfraQuery (CriteriaQuery<InfraActiveRequests> crit, List <Predicate> predicates, Order order) {
+ private List<InfraActiveRequests> executeInfraQuery(final CriteriaQuery<InfraActiveRequests> crit,
+ final List<Predicate> predicates, final Order order) {
+
+ final long startTime = System.currentTimeMillis();
+ msoLogger.debug("Execute query on infra active request table");
- long startTime = System.currentTimeMillis ();
- msoLogger.debug ("Execute query on infra active request table");
-
- List <InfraActiveRequests> results = new ArrayList<InfraActiveRequests>();
+ List<InfraActiveRequests> results = new ArrayList<InfraActiveRequests>();
try {
- CriteriaBuilder cb = entityManager.getCriteriaBuilder();
- crit.where(cb.and(predicates.toArray(new Predicate[0])));
+ final CriteriaBuilder cb = entityManager.getCriteriaBuilder();
+ crit.where(cb.and(predicates.toArray(new Predicate[0])));
crit.orderBy(order);
results = entityManager.createQuery(crit).getResultList();
} finally {
- msoLogger.recordMetricEvent (startTime, MsoLogger.StatusCode.COMPLETE, MsoLogger.ResponseCode.Suc, "Successfully", "RequestDB", "getInfraActiveRequest", null);
+ msoLogger.recordMetricEvent(startTime, MsoLogger.StatusCode.COMPLETE, MsoLogger.ResponseCode.Suc,
+ "Successfully", "RequestDB", "getInfraActiveRequest", null);
}
return results;
}
-
- /* (non-Javadoc)
- * @see org.onap.so.requestsdb.InfraActiveRequestsRepositoryCustom#getRequestFromInfraActive(java.lang.String)
- */
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see
+ * org.onap.so.requestsdb.InfraActiveRequestsRepositoryCustom#getRequestFromInfraActive(java.
+ * lang.String)
+ */
@Override
- public InfraActiveRequests getRequestFromInfraActive (String requestId) {
- long startTime = System.currentTimeMillis ();
- msoLogger.debug ("Get request " + requestId + " from InfraActiveRequests DB");
+ public InfraActiveRequests getRequestFromInfraActive(final String requestId) {
+ final long startTime = System.currentTimeMillis();
+ msoLogger.debug("Get request " + requestId + " from InfraActiveRequests DB");
InfraActiveRequests ar = null;
try {
- Query query = entityManager.createQuery ("from InfraActiveRequests where requestId = :requestId OR clientRequestId = :requestId");
- query.setParameter (REQUEST_ID, requestId);
+ final Query query = entityManager.createQuery(
+ "from InfraActiveRequests where requestId = :requestId OR clientRequestId = :requestId");
+ query.setParameter(REQUEST_ID, requestId);
ar = this.getSingleResult(query);
} finally {
-
- msoLogger.recordMetricEvent (startTime, MsoLogger.StatusCode.COMPLETE, MsoLogger.ResponseCode.Suc, "Successfully", "InfraRequestDB", "getRequestFromInfraActive", null);
+
+ msoLogger.recordMetricEvent(startTime, MsoLogger.StatusCode.COMPLETE, MsoLogger.ResponseCode.Suc,
+ "Successfully", "InfraRequestDB", "getRequestFromInfraActive", null);
}
return ar;
}
-
- /* (non-Javadoc)
- * @see org.onap.so.requestsdb.InfraActiveRequestsRepositoryCustom#checkInstanceNameDuplicate(java.util.HashMap, java.lang.String, java.lang.String)
- */
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see
+ * org.onap.so.requestsdb.InfraActiveRequestsRepositoryCustom#checkInstanceNameDuplicate(java.
+ * util.HashMap, java.lang.String, java.lang.String)
+ */
@Override
- public InfraActiveRequests checkInstanceNameDuplicate (HashMap<String,String> instanceIdMap, String instanceName, String requestScope) {
-
- List <Predicate> predicates = new LinkedList <> ();
- CriteriaBuilder cb = entityManager.getCriteriaBuilder();
- CriteriaQuery<InfraActiveRequests> crit = cb.createQuery(InfraActiveRequests.class);
- Root<InfraActiveRequests> tableRoot = crit.from(InfraActiveRequests.class);
-
- if(instanceName != null && !instanceName.equals("")) {
-
- if("service".equals(requestScope)){
- predicates.add (cb.equal(tableRoot.get(SERVICE_INSTANCE_NAME), instanceName));
- } else if("vnf".equals(requestScope)){
- predicates.add (cb.equal(tableRoot.get(VNF_INSTANCE_NAME), instanceName));
- } else if("volumeGroup".equals(requestScope)){
- predicates.add (cb.equal(tableRoot.get(VOLUME_GROUP_INSTANCE_NAME), instanceName));
- } else if("vfModule".equals(requestScope)){
- predicates.add (cb.equal(tableRoot.get(VFMODULE_INSTANCE_NAME), instanceName));
- } else if("network".equals(requestScope)){
- predicates.add (cb.equal(tableRoot.get(NETWORK_INSTANCE_NAME), instanceName));
- } else if(requestScope.equals("configuration")) {
- predicates.add (cb.equal(tableRoot.get(CONFIGURATION_INSTANCE_NAME), instanceName));
- } else if(requestScope.equals("operationalEnvironment")) {
- predicates.add (cb.equal(tableRoot.get(OPERATIONAL_ENV_NAME), instanceName));
- }
-
+ public InfraActiveRequests checkInstanceNameDuplicate(final HashMap<String, String> instanceIdMap,
+ final String instanceName, final String requestScope) {
+
+ final List<Predicate> predicates = new LinkedList<>();
+ final CriteriaBuilder cb = entityManager.getCriteriaBuilder();
+ final CriteriaQuery<InfraActiveRequests> crit = cb.createQuery(InfraActiveRequests.class);
+ final Root<InfraActiveRequests> tableRoot = crit.from(InfraActiveRequests.class);
+
+ if (instanceName != null && !instanceName.equals("")) {
+
+ if ("service".equals(requestScope)) {
+ predicates.add(cb.equal(tableRoot.get(SERVICE_INSTANCE_NAME), instanceName));
+ } else if ("vnf".equals(requestScope)) {
+ predicates.add(cb.equal(tableRoot.get(VNF_INSTANCE_NAME), instanceName));
+ } else if ("volumeGroup".equals(requestScope)) {
+ predicates.add(cb.equal(tableRoot.get(VOLUME_GROUP_INSTANCE_NAME), instanceName));
+ } else if ("vfModule".equals(requestScope)) {
+ predicates.add(cb.equal(tableRoot.get(VFMODULE_INSTANCE_NAME), instanceName));
+ } else if ("network".equals(requestScope)) {
+ predicates.add(cb.equal(tableRoot.get(NETWORK_INSTANCE_NAME), instanceName));
+ } else if (requestScope.equals("configuration")) {
+ predicates.add(cb.equal(tableRoot.get(CONFIGURATION_INSTANCE_NAME), instanceName));
+ } else if (requestScope.equals("operationalEnvironment")) {
+ predicates.add(cb.equal(tableRoot.get(OPERATIONAL_ENV_NAME), instanceName));
+ }
+
} else {
- if(instanceIdMap != null){
- if("service".equals(requestScope) && instanceIdMap.get("serviceInstanceId") != null){
- predicates.add (cb.equal(tableRoot.get(SERVICE_INSTANCE_ID), instanceIdMap.get("serviceInstanceId")));
- }
-
- if("vnf".equals(requestScope) && instanceIdMap.get("vnfInstanceId") != null){
- predicates.add (cb.equal(tableRoot.get(VNF_INSTANCE_ID), instanceIdMap.get("vnfInstanceId" )));
- }
-
- if("vfModule".equals(requestScope) && instanceIdMap.get("vfModuleInstanceId") != null){
- predicates.add (cb.equal(tableRoot.get(VFMODULE_INSTANCE_ID), instanceIdMap.get("vfModuleInstanceId")));
- }
-
- if("volumeGroup".equals(requestScope) && instanceIdMap.get("volumeGroupInstanceId") != null){
- predicates.add (cb.equal(tableRoot.get(VOLUME_GROUP_INSTANCE_ID), instanceIdMap.get("volumeGroupInstanceId")));
- }
-
- if("network".equals(requestScope) && instanceIdMap.get("networkInstanceId") != null){
- predicates.add (cb.equal(tableRoot.get(NETWORK_INSTANCE_ID), instanceIdMap.get("networkInstanceId")));
- }
-
- if(requestScope.equals("configuration") && instanceIdMap.get("configurationInstanceId") != null){
- predicates.add (cb.equal(tableRoot.get(CONFIGURATION_INSTANCE_ID), instanceIdMap.get("configurationInstanceId")));
- }
-
- if(requestScope.equals("operationalEnvironment") && instanceIdMap.get("operationalEnvironmentId") != null) {
- predicates.add (cb.equal(tableRoot.get(OPERATIONAL_ENV_ID), instanceIdMap.get("operationalEnvironmentId")));
- }
+ if (instanceIdMap != null) {
+ if ("service".equals(requestScope) && instanceIdMap.get("serviceInstanceId") != null) {
+ predicates
+ .add(cb.equal(tableRoot.get(SERVICE_INSTANCE_ID), instanceIdMap.get("serviceInstanceId")));
+ }
+
+ if ("vnf".equals(requestScope) && instanceIdMap.get("vnfInstanceId") != null) {
+ predicates.add(cb.equal(tableRoot.get(VNF_INSTANCE_ID), instanceIdMap.get("vnfInstanceId")));
+ }
+
+ if ("vfModule".equals(requestScope) && instanceIdMap.get("vfModuleInstanceId") != null) {
+ predicates.add(
+ cb.equal(tableRoot.get(VFMODULE_INSTANCE_ID), instanceIdMap.get("vfModuleInstanceId")));
+ }
+
+ if ("volumeGroup".equals(requestScope) && instanceIdMap.get("volumeGroupInstanceId") != null) {
+ predicates.add(cb.equal(tableRoot.get(VOLUME_GROUP_INSTANCE_ID),
+ instanceIdMap.get("volumeGroupInstanceId")));
+ }
+
+ if ("network".equals(requestScope) && instanceIdMap.get("networkInstanceId") != null) {
+ predicates
+ .add(cb.equal(tableRoot.get(NETWORK_INSTANCE_ID), instanceIdMap.get("networkInstanceId")));
+ }
+
+ if (requestScope.equals("configuration") && instanceIdMap.get("configurationInstanceId") != null) {
+ predicates.add(cb.equal(tableRoot.get(CONFIGURATION_INSTANCE_ID),
+ instanceIdMap.get("configurationInstanceId")));
+ }
+
+ if (requestScope.equals("operationalEnvironment")
+ && instanceIdMap.get("operationalEnvironmentId") != null) {
+ predicates.add(
+ cb.equal(tableRoot.get(OPERATIONAL_ENV_ID), instanceIdMap.get("operationalEnvironmentId")));
+ }
}
}
-
- predicates.add (tableRoot.get("requestStatus").in(Arrays.asList("PENDING", "IN_PROGRESS", "TIMEOUT", "PENDING_MANUAL_TASK")));
-
- Order order = cb.desc(tableRoot.get(START_TIME));
-
- List<InfraActiveRequests> dupList = executeInfraQuery(crit, predicates, order);
-
+
+ predicates.add(tableRoot.get(REQUEST_STATUS)
+ .in(Arrays.asList("PENDING", "IN_PROGRESS", "TIMEOUT", "PENDING_MANUAL_TASK")));
+
+ final Order order = cb.desc(tableRoot.get(START_TIME));
+
+ final List<InfraActiveRequests> dupList = executeInfraQuery(crit, predicates, order);
+
InfraActiveRequests infraActiveRequests = null;
-
- if(dupList != null && !dupList.isEmpty()){
- infraActiveRequests = dupList.get(0);
+
+ if (dupList != null && !dupList.isEmpty()) {
+ infraActiveRequests = dupList.get(0);
}
-
- return infraActiveRequests;
+
+ return infraActiveRequests;
}
-
- /* (non-Javadoc)
- * @see org.onap.so.requestsdb.InfraActiveRequestsRepositoryCustom#getOrchestrationFiltersFromInfraActive(java.util.Map)
- */
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see org.onap.so.requestsdb.InfraActiveRequestsRepositoryCustom#
+ * getOrchestrationFiltersFromInfraActive(java.util.Map)
+ */
@Override
- public List<InfraActiveRequests> getOrchestrationFiltersFromInfraActive (Map<String, List<String>> orchestrationMap) {
-
-
- List <Predicate> predicates = new LinkedList <> ();
- CriteriaBuilder cb = entityManager.getCriteriaBuilder();
- CriteriaQuery<InfraActiveRequests> crit = cb.createQuery(InfraActiveRequests.class);
- Root<InfraActiveRequests> tableRoot = crit.from(InfraActiveRequests.class);
- for (Map.Entry<String, List<String>> entry : orchestrationMap.entrySet())
- {
- String mapKey = entry.getKey();
- if("serviceInstanceId".equalsIgnoreCase(mapKey)) {
- mapKey = "serviceInstanceId";
- } else if("serviceInstanceName".equalsIgnoreCase(mapKey)) {
- mapKey = "serviceInstanceName";
- } else if("vnfInstanceId".equalsIgnoreCase(mapKey)){
- mapKey = "vnfId";
- } else if("vnfInstanceName".equalsIgnoreCase(mapKey)) {
- mapKey = "vnfName";
- } else if("vfModuleInstanceId".equalsIgnoreCase(mapKey)) {
- mapKey = "vfModuleId";
- } else if("vfModuleInstanceName".equalsIgnoreCase(mapKey)) {
- mapKey = "vfModuleName";
- } else if("volumeGroupInstanceId".equalsIgnoreCase(mapKey)) {
- mapKey = "volumeGroupId";
- } else if("volumeGroupInstanceName".equalsIgnoreCase(mapKey)) {
- mapKey = "volumeGroupName";
- } else if("networkInstanceId".equalsIgnoreCase(mapKey)) {
- mapKey = "networkId";
- } else if("networkInstanceName".equalsIgnoreCase(mapKey)) {
- mapKey = "networkName";
- } else if(mapKey.equalsIgnoreCase("configurationInstanceId")) {
- mapKey = "configurationId";
- } else if(mapKey.equalsIgnoreCase("configurationInstanceName")) {
- mapKey = "configurationName";
- } else if("lcpCloudRegionId".equalsIgnoreCase(mapKey)) {
- mapKey = "aicCloudRegion";
- } else if("tenantId".equalsIgnoreCase(mapKey)) {
- mapKey = "tenantId";
- } else if("modelType".equalsIgnoreCase(mapKey)) {
- mapKey = "requestScope";
- } else if("requestorId".equalsIgnoreCase(mapKey)) {
- mapKey = "requestorId";
- } else if("requestExecutionDate".equalsIgnoreCase(mapKey)) {
- mapKey = "startTime";
- }
-
- String propertyValue = entry.getValue().get(1);
- if ("startTime".equals(mapKey)) {
- SimpleDateFormat format = new SimpleDateFormat("MM-dd-yyyy");
- try {
- Date thisDate = format.parse(propertyValue);
- Timestamp minTime = new Timestamp(thisDate.getTime());
- Timestamp maxTime = new Timestamp(thisDate.getTime() + TimeUnit.DAYS.toMillis(1));
-
- if("DOES_NOT_EQUAL".equalsIgnoreCase(entry.getValue().get(0))) {
- predicates.add(cb.or(cb.lessThan(tableRoot.get(mapKey), minTime), cb.greaterThanOrEqualTo(tableRoot.get(mapKey), maxTime)));
- } else {
- predicates.add(cb.between(tableRoot.get(mapKey), minTime, maxTime));
- }
- }
- catch (Exception e){
- msoLogger.debug("Exception in getOrchestrationFiltersFromInfraActive(): + " + e.getMessage(), e);
- return null;
- }
- }
- else if("DOES_NOT_EQUAL".equalsIgnoreCase(entry.getValue().get(0))) {
- predicates.add(cb.notEqual(tableRoot.get(mapKey), propertyValue));
- } else {
- predicates.add(cb.equal(tableRoot.get(mapKey), propertyValue));
- }
-
- }
-
- Order order = cb.asc(tableRoot.get(START_TIME));
-
- return executeInfraQuery (crit, predicates, order);
+ public List<InfraActiveRequests> getOrchestrationFiltersFromInfraActive(
+ final Map<String, List<String>> orchestrationMap) {
+
+
+ final List<Predicate> predicates = new LinkedList<>();
+ final CriteriaBuilder cb = entityManager.getCriteriaBuilder();
+ final CriteriaQuery<InfraActiveRequests> crit = cb.createQuery(InfraActiveRequests.class);
+ final Root<InfraActiveRequests> tableRoot = crit.from(InfraActiveRequests.class);
+ for (final Map.Entry<String, List<String>> entry : orchestrationMap.entrySet()) {
+ String mapKey = entry.getKey();
+ if ("serviceInstanceId".equalsIgnoreCase(mapKey)) {
+ mapKey = "serviceInstanceId";
+ } else if ("serviceInstanceName".equalsIgnoreCase(mapKey)) {
+ mapKey = "serviceInstanceName";
+ } else if ("vnfInstanceId".equalsIgnoreCase(mapKey)) {
+ mapKey = "vnfId";
+ } else if ("vnfInstanceName".equalsIgnoreCase(mapKey)) {
+ mapKey = "vnfName";
+ } else if ("vfModuleInstanceId".equalsIgnoreCase(mapKey)) {
+ mapKey = "vfModuleId";
+ } else if ("vfModuleInstanceName".equalsIgnoreCase(mapKey)) {
+ mapKey = "vfModuleName";
+ } else if ("volumeGroupInstanceId".equalsIgnoreCase(mapKey)) {
+ mapKey = "volumeGroupId";
+ } else if ("volumeGroupInstanceName".equalsIgnoreCase(mapKey)) {
+ mapKey = "volumeGroupName";
+ } else if ("networkInstanceId".equalsIgnoreCase(mapKey)) {
+ mapKey = "networkId";
+ } else if ("networkInstanceName".equalsIgnoreCase(mapKey)) {
+ mapKey = "networkName";
+ } else if (mapKey.equalsIgnoreCase("configurationInstanceId")) {
+ mapKey = "configurationId";
+ } else if (mapKey.equalsIgnoreCase("configurationInstanceName")) {
+ mapKey = "configurationName";
+ } else if ("lcpCloudRegionId".equalsIgnoreCase(mapKey)) {
+ mapKey = "aicCloudRegion";
+ } else if ("tenantId".equalsIgnoreCase(mapKey)) {
+ mapKey = "tenantId";
+ } else if ("modelType".equalsIgnoreCase(mapKey)) {
+ mapKey = "requestScope";
+ } else if ("requestorId".equalsIgnoreCase(mapKey)) {
+ mapKey = "requestorId";
+ } else if ("requestExecutionDate".equalsIgnoreCase(mapKey)) {
+ mapKey = "startTime";
+ }
+
+ final String propertyValue = entry.getValue().get(1);
+ if ("startTime".equals(mapKey)) {
+ final SimpleDateFormat format = new SimpleDateFormat("MM-dd-yyyy");
+ try {
+ final Date thisDate = format.parse(propertyValue);
+ final Timestamp minTime = new Timestamp(thisDate.getTime());
+ final Timestamp maxTime = new Timestamp(thisDate.getTime() + TimeUnit.DAYS.toMillis(1));
+
+ if ("DOES_NOT_EQUAL".equalsIgnoreCase(entry.getValue().get(0))) {
+ predicates.add(cb.or(cb.lessThan(tableRoot.get(mapKey), minTime),
+ cb.greaterThanOrEqualTo(tableRoot.get(mapKey), maxTime)));
+ } else {
+ predicates.add(cb.between(tableRoot.get(mapKey), minTime, maxTime));
+ }
+ } catch (final Exception e) {
+ msoLogger.debug("Exception in getOrchestrationFiltersFromInfraActive(): + " + e.getMessage(), e);
+ return null;
+ }
+ } else if ("DOES_NOT_EQUAL".equalsIgnoreCase(entry.getValue().get(0))) {
+ predicates.add(cb.notEqual(tableRoot.get(mapKey), propertyValue));
+ } else {
+ predicates.add(cb.equal(tableRoot.get(mapKey), propertyValue));
+ }
+
+ }
+
+ final Order order = cb.asc(tableRoot.get(START_TIME));
+
+ return executeInfraQuery(crit, predicates, order);
}
- // Added this method for Tenant Isolation project ( 1802-295491a) to query the mso_requests DB
+ // Added this method for Tenant Isolation project ( 1802-295491a) to query the mso_requests DB
// (infra_active_requests table) for operationalEnvId and OperationalEnvName
- /* (non-Javadoc)
- * @see org.onap.so.requestsdb.InfraActiveRequestsRepositoryCustom#getCloudOrchestrationFiltersFromInfraActive(java.util.Map)
- */
+ /*
+ * (non-Javadoc)
+ *
+ * @see org.onap.so.requestsdb.InfraActiveRequestsRepositoryCustom#
+ * getCloudOrchestrationFiltersFromInfraActive(java.util.Map)
+ */
@Override
- public List<InfraActiveRequests> getCloudOrchestrationFiltersFromInfraActive (Map<String, String> orchestrationMap) {
- List <Predicate> predicates = new LinkedList <> ();
- CriteriaBuilder cb = entityManager.getCriteriaBuilder();
- CriteriaQuery<InfraActiveRequests> crit = cb.createQuery(InfraActiveRequests.class);
- Root<InfraActiveRequests> tableRoot = crit.from(InfraActiveRequests.class);
-
- // Add criteria on OperationalEnvironment RequestScope when requestorId is only specified in the filter
- // as the same requestorId can also match on different API methods
- String resourceType = orchestrationMap.get("resourceType");
- if(resourceType == null) {
- predicates.add(cb.equal(tableRoot.get("requestScope"), "operationalEnvironment"));
- }
-
- for (Map.Entry<String, String> entry : orchestrationMap.entrySet()) {
- String mapKey = entry.getKey();
- if(mapKey.equalsIgnoreCase("requestorId")) {
- mapKey = "requestorId";
- } else if(mapKey.equalsIgnoreCase("requestExecutionDate")) {
- mapKey = "startTime";
- } else if(mapKey.equalsIgnoreCase("operationalEnvironmentId")) {
- mapKey = "operationalEnvId";
- } else if(mapKey.equalsIgnoreCase("operationalEnvironmentName")) {
- mapKey = "operationalEnvName";
- } else if(mapKey.equalsIgnoreCase("resourceType")) {
- mapKey = "requestScope";
- }
-
- String propertyValue = entry.getValue();
- if (mapKey.equals("startTime")) {
- SimpleDateFormat format = new SimpleDateFormat("MM-dd-yyyy");
- try {
- Date thisDate = format.parse(propertyValue);
- Timestamp minTime = new Timestamp(thisDate.getTime());
- Timestamp maxTime = new Timestamp(thisDate.getTime() + TimeUnit.DAYS.toMillis(1));
-
- predicates.add(cb.between(tableRoot.get(mapKey), minTime, maxTime));
- }
- catch (Exception e){
- msoLogger.debug("Exception in getCloudOrchestrationFiltersFromInfraActive(): + " + e.getMessage());
- return null;
- }
- } else {
- predicates.add(cb.equal(tableRoot.get(mapKey), propertyValue));
- }
- }
-
- Order order = cb.asc(tableRoot.get(START_TIME));
- return executeInfraQuery (crit, predicates, order);
+ public List<InfraActiveRequests> getCloudOrchestrationFiltersFromInfraActive(
+ final Map<String, String> orchestrationMap) {
+ final List<Predicate> predicates = new LinkedList<>();
+ final CriteriaBuilder cb = entityManager.getCriteriaBuilder();
+ final CriteriaQuery<InfraActiveRequests> crit = cb.createQuery(InfraActiveRequests.class);
+ final Root<InfraActiveRequests> tableRoot = crit.from(InfraActiveRequests.class);
+
+ // Add criteria on OperationalEnvironment RequestScope when requestorId is only specified in
+ // the filter
+ // as the same requestorId can also match on different API methods
+ final String resourceType = orchestrationMap.get("resourceType");
+ if (resourceType == null) {
+ predicates.add(cb.equal(tableRoot.get("requestScope"), "operationalEnvironment"));
+ }
+
+ for (final Map.Entry<String, String> entry : orchestrationMap.entrySet()) {
+ String mapKey = entry.getKey();
+ if (mapKey.equalsIgnoreCase("requestorId")) {
+ mapKey = "requestorId";
+ } else if (mapKey.equalsIgnoreCase("requestExecutionDate")) {
+ mapKey = "startTime";
+ } else if (mapKey.equalsIgnoreCase("operationalEnvironmentId")) {
+ mapKey = "operationalEnvId";
+ } else if (mapKey.equalsIgnoreCase("operationalEnvironmentName")) {
+ mapKey = "operationalEnvName";
+ } else if (mapKey.equalsIgnoreCase("resourceType")) {
+ mapKey = "requestScope";
+ }
+
+ final String propertyValue = entry.getValue();
+ if (mapKey.equals("startTime")) {
+ final SimpleDateFormat format = new SimpleDateFormat("MM-dd-yyyy");
+ try {
+ final Date thisDate = format.parse(propertyValue);
+ final Timestamp minTime = new Timestamp(thisDate.getTime());
+ final Timestamp maxTime = new Timestamp(thisDate.getTime() + TimeUnit.DAYS.toMillis(1));
+
+ predicates.add(cb.between(tableRoot.get(mapKey), minTime, maxTime));
+ } catch (final Exception e) {
+ msoLogger.debug("Exception in getCloudOrchestrationFiltersFromInfraActive(): + " + e.getMessage());
+ return null;
+ }
+ } else {
+ predicates.add(cb.equal(tableRoot.get(mapKey), propertyValue));
+ }
+ }
+
+ final Order order = cb.asc(tableRoot.get(START_TIME));
+ return executeInfraQuery(crit, predicates, order);
}
- /* (non-Javadoc)
- * @see org.onap.so.requestsdb.InfraActiveRequestsRepositoryCustom#getRequestListFromInfraActive(java.lang.String, java.lang.String, java.lang.String)
- */
+ /*
+ * (non-Javadoc)
+ *
+ * @see
+ * org.onap.so.requestsdb.InfraActiveRequestsRepositoryCustom#getRequestListFromInfraActive(java
+ * .lang.String, java.lang.String, java.lang.String)
+ */
@Override
- public List <InfraActiveRequests> getRequestListFromInfraActive (String queryAttributeName,
- String queryValue,
- String requestType) {
- msoLogger.debug ("Get list of infra requests from DB with " + queryAttributeName + " = " + queryValue);
+ public List<InfraActiveRequests> getRequestListFromInfraActive(final String queryAttributeName,
+ final String queryValue, final String requestType) {
+ msoLogger.debug("Get list of infra requests from DB with " + queryAttributeName + " = " + queryValue);
+
-
try {
- CriteriaBuilder cb = entityManager.getCriteriaBuilder();
- CriteriaQuery<InfraActiveRequests> crit = cb.createQuery(InfraActiveRequests.class);
- Root<InfraActiveRequests> candidateRoot = crit.from(InfraActiveRequests.class);
- Predicate isEqual = cb.equal(candidateRoot.get(queryAttributeName), queryValue);
- Predicate equalRequestType = cb.equal(candidateRoot.get(REQUEST_TYPE), requestType);
- Predicate isNull = cb.isNull(candidateRoot.get(REQUEST_TYPE));
- Predicate orClause = cb.or(equalRequestType, isNull);
- Order orderDesc = cb.desc(candidateRoot.get(START_TIME));
- Order orderAsc = cb.asc(candidateRoot.get(SOURCE));
- crit.where(cb.and(isEqual, orClause)).orderBy(orderDesc, orderAsc);
-
- @SuppressWarnings("unchecked")
- List <InfraActiveRequests> arList = entityManager.createQuery(crit).getResultList();
- if (arList != null && !arList.isEmpty ()) {
+ final CriteriaBuilder cb = entityManager.getCriteriaBuilder();
+ final CriteriaQuery<InfraActiveRequests> crit = cb.createQuery(InfraActiveRequests.class);
+ final Root<InfraActiveRequests> candidateRoot = crit.from(InfraActiveRequests.class);
+ final Predicate isEqual = cb.equal(candidateRoot.get(queryAttributeName), queryValue);
+ final Predicate equalRequestType = cb.equal(candidateRoot.get(REQUEST_TYPE), requestType);
+ final Predicate isNull = cb.isNull(candidateRoot.get(REQUEST_TYPE));
+ final Predicate orClause = cb.or(equalRequestType, isNull);
+ final Order orderDesc = cb.desc(candidateRoot.get(START_TIME));
+ final Order orderAsc = cb.asc(candidateRoot.get(SOURCE));
+ crit.where(cb.and(isEqual, orClause)).orderBy(orderDesc, orderAsc);
+
+ final List<InfraActiveRequests> arList = entityManager.createQuery(crit).getResultList();
+ if (arList != null && !arList.isEmpty()) {
return arList;
}
- } finally {
- // msoLogger.recordMetricEvent (startTime, MsoLogger.StatusCode.COMPLETE, MsoLogger.ResponseCode.Suc, "Successfully", "RequestDB", "getRequestListFromInfraActive", null);
+ } catch (final Exception exception) {
+ msoLogger.error("Unable to execute query", exception);
}
- return null;
+ return Collections.emptyList();
}
- /* (non-Javadoc)
- * @see org.onap.so.requestsdb.InfraActiveRequestsRepositoryCustom#getRequestFromInfraActive(java.lang.String, java.lang.String)
- */
+ /*
+ * (non-Javadoc)
+ *
+ * @see
+ * org.onap.so.requestsdb.InfraActiveRequestsRepositoryCustom#getRequestFromInfraActive(java.
+ * lang.String, java.lang.String)
+ */
@Override
- public InfraActiveRequests getRequestFromInfraActive (String requestId, String requestType) {
- long startTime = System.currentTimeMillis ();
- msoLogger.debug ("Get infra request from DB with id " + requestId);
+ public InfraActiveRequests getRequestFromInfraActive(final String requestId, final String requestType) {
+ final long startTime = System.currentTimeMillis();
+ msoLogger.debug("Get infra request from DB with id " + requestId);
InfraActiveRequests ar = null;
try {
- Query query = entityManager.createQuery ("from InfraActiveRequests where (requestId = :requestId OR clientRequestId = :requestId) and requestType = :requestType");
- query.setParameter (REQUEST_ID, requestId);
- query.setParameter (REQUEST_TYPE, requestType);
+ final Query query = entityManager.createQuery(
+ "from InfraActiveRequests where (requestId = :requestId OR clientRequestId = :requestId) and requestType = :requestType");
+ query.setParameter(REQUEST_ID, requestId);
+ query.setParameter(REQUEST_TYPE, requestType);
ar = this.getSingleResult(query);
} finally {
- msoLogger.recordMetricEvent (startTime, MsoLogger.StatusCode.COMPLETE, MsoLogger.ResponseCode.Suc, "Successfully", "RequestDB", "getRequestFromInfraActive", null);
+ msoLogger.recordMetricEvent(startTime, MsoLogger.StatusCode.COMPLETE, MsoLogger.ResponseCode.Suc,
+ "Successfully", "RequestDB", "getRequestFromInfraActive", null);
}
return ar;
}
-
- /* (non-Javadoc)
- * @see org.onap.so.requestsdb.InfraActiveRequestsRepositoryCustom#checkDuplicateByVnfName(java.lang.String, java.lang.String, java.lang.String)
- */
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see
+ * org.onap.so.requestsdb.InfraActiveRequestsRepositoryCustom#checkDuplicateByVnfName(java.lang.
+ * String, java.lang.String, java.lang.String)
+ */
@Override
- public InfraActiveRequests checkDuplicateByVnfName (String vnfName, String action, String requestType) {
+ public InfraActiveRequests checkDuplicateByVnfName(final String vnfName, final String action,
+ final String requestType) {
- long startTime = System.currentTimeMillis ();
- msoLogger.debug ("Get infra request from DB for VNF " + vnfName + " and action " + action + " and requestType " + requestType);
+ final long startTime = System.currentTimeMillis();
+ msoLogger.debug("Get infra request from DB for VNF " + vnfName + " and action " + action + " and requestType "
+ + requestType);
InfraActiveRequests ar = null;
try {
- Query query = entityManager.createQuery ("from InfraActiveRequests where vnfName = :vnfName and action = :action and (requestStatus = 'PENDING' or requestStatus = 'IN_PROGRESS' or requestStatus = 'TIMEOUT' or requestStatus = 'PENDING_MANUAL_TASK') and requestType = :requestType ORDER BY startTime DESC");
- query.setParameter ("vnfName", vnfName);
- query.setParameter ("action", action);
- query.setParameter (REQUEST_TYPE, requestType);
+ final Query query = entityManager.createQuery(
+ "from InfraActiveRequests where vnfName = :vnfName and action = :action and (requestStatus = 'PENDING' or requestStatus = 'IN_PROGRESS' or requestStatus = 'TIMEOUT' or requestStatus = 'PENDING_MANUAL_TASK') and requestType = :requestType ORDER BY startTime DESC");
+ query.setParameter("vnfName", vnfName);
+ query.setParameter("action", action);
+ query.setParameter(REQUEST_TYPE, requestType);
@SuppressWarnings("unchecked")
- List <InfraActiveRequests> results = query.getResultList();
- if (!results.isEmpty ()) {
- ar = results.get (0);
+ final List<InfraActiveRequests> results = query.getResultList();
+ if (!results.isEmpty()) {
+ ar = results.get(0);
}
} finally {
- msoLogger.recordMetricEvent (startTime, MsoLogger.StatusCode.COMPLETE, MsoLogger.ResponseCode.Suc, "Successfully", "RequestDB", "checkDuplicateByVnfName", null);
+ msoLogger.recordMetricEvent(startTime, MsoLogger.StatusCode.COMPLETE, MsoLogger.ResponseCode.Suc,
+ "Successfully", "RequestDB", "checkDuplicateByVnfName", null);
}
return ar;
}
- /* (non-Javadoc)
- * @see org.onap.so.requestsdb.InfraActiveRequestsRepositoryCustom#checkDuplicateByVnfId(java.lang.String, java.lang.String, java.lang.String)
- */
+ /*
+ * (non-Javadoc)
+ *
+ * @see
+ * org.onap.so.requestsdb.InfraActiveRequestsRepositoryCustom#checkDuplicateByVnfId(java.lang.
+ * String, java.lang.String, java.lang.String)
+ */
@Override
- public InfraActiveRequests checkDuplicateByVnfId (String vnfId, String action, String requestType) {
+ public InfraActiveRequests checkDuplicateByVnfId(final String vnfId, final String action,
+ final String requestType) {
- long startTime = System.currentTimeMillis ();
- msoLogger.debug ("Get list of infra requests from DB for VNF " + vnfId + " and action " + action);
+ final long startTime = System.currentTimeMillis();
+ msoLogger.debug("Get list of infra requests from DB for VNF " + vnfId + " and action " + action);
InfraActiveRequests ar = null;
try {
- Query query = entityManager.createQuery ("from InfraActiveRequests where vnfId = :vnfId and action = :action and (requestStatus = 'PENDING' or requestStatus = 'IN_PROGRESS' or requestStatus = 'TIMEOUT' or requestStatus = 'PENDING_MANUAL_TASK') and requestType = :requestType ORDER BY startTime DESC");
- query.setParameter ("vnfId", vnfId);
- query.setParameter ("action", action);
- query.setParameter (REQUEST_TYPE, requestType);
+ final Query query = entityManager.createQuery(
+ "from InfraActiveRequests where vnfId = :vnfId and action = :action and (requestStatus = 'PENDING' or requestStatus = 'IN_PROGRESS' or requestStatus = 'TIMEOUT' or requestStatus = 'PENDING_MANUAL_TASK') and requestType = :requestType ORDER BY startTime DESC");
+ query.setParameter("vnfId", vnfId);
+ query.setParameter("action", action);
+ query.setParameter(REQUEST_TYPE, requestType);
@SuppressWarnings("unchecked")
- List <InfraActiveRequests> results = query.getResultList();
- if (!results.isEmpty ()) {
- ar = results.get (0);
+ final List<InfraActiveRequests> results = query.getResultList();
+ if (!results.isEmpty()) {
+ ar = results.get(0);
}
} finally {
- msoLogger.recordMetricEvent (startTime, MsoLogger.StatusCode.COMPLETE, MsoLogger.ResponseCode.Suc, "Successfully", "RequestDB", "checkDuplicateByVnfId", null);
+ msoLogger.recordMetricEvent(startTime, MsoLogger.StatusCode.COMPLETE, MsoLogger.ResponseCode.Suc,
+ "Successfully", "RequestDB", "checkDuplicateByVnfId", null);
}
return ar;
}
-
- /**
- * update service operation status when a operation resource status updated
- * <br>
+
+ /*
+ * (non-Javadoc)
*
- * @param operStatus the resource operation status
- * @since ONAP Amsterdam Release
+ * @see
+ * org.onap.so.requestsdb.InfraActiveRequestsRepositoryCustom#checkVnfIdStatus(java.lang.String)
*/
- private void updateOperationStatusBasedOnResourceStatus(ResourceOperationStatus operStatus) {
- long startTime = System.currentTimeMillis();
- msoLogger.debug("Request database - query Resource Operation Status with service Id:"
- + operStatus.getServiceId() + ", operationId:" + operStatus.getOperationId());
+ @Override
+ public InfraActiveRequests checkVnfIdStatus(final String operationalEnvironmentId) {
+ final long startTime = System.currentTimeMillis();
+ msoLogger.debug("Get Infra request from DB for OperationalEnvironmentId " + operationalEnvironmentId);
+
+ InfraActiveRequests ar = null;
try {
- // query all resources of the service
- String hql = "FROM ResourceOperationStatus WHERE SERVICE_ID = :service_id and OPERATION_ID = :operation_id";
- Query query = entityManager.createQuery(hql);
- query.setParameter("service_id", operStatus.getServiceId());
- query.setParameter("operation_id", operStatus.getOperationId());
- @SuppressWarnings("unchecked")
- List<ResourceOperationStatus> lstResourceStatus = (List<ResourceOperationStatus>)query.getResultList();
- // count the total progress
- int resourceCount = lstResourceStatus.size();
- int progress = 0;
- boolean isFinished = true;
- for(int i = 0; i < resourceCount; i++) {
- progress = progress + Integer.valueOf(lstResourceStatus.get(i).getProgress()) / resourceCount;
- if(RequestsDbConstant.Status.PROCESSING.equals(lstResourceStatus.get(i).getStatus())) {
- isFinished = false;
- }
+ final CriteriaBuilder cb = entityManager.getCriteriaBuilder();
+ final CriteriaQuery<InfraActiveRequests> crit = cb.createQuery(InfraActiveRequests.class);
+ final Root<InfraActiveRequests> candidateRoot = crit.from(InfraActiveRequests.class);
+ final Predicate operationalEnvEq =
+ cb.equal(candidateRoot.get("operationalEnvId"), operationalEnvironmentId);
+ final Predicate requestStatusNotEq = cb.notEqual(candidateRoot.get(REQUEST_STATUS), "COMPLETE");
+ final Predicate actionEq = cb.equal(candidateRoot.get("action"), "create");
+ final Order startTimeOrder = cb.desc(candidateRoot.get("startTime"));
+ crit.select(candidateRoot);
+ crit.where(cb.and(operationalEnvEq, requestStatusNotEq, actionEq));
+ crit.orderBy(startTimeOrder);
+ final TypedQuery<InfraActiveRequests> query = entityManager.createQuery(crit);
+ final List<InfraActiveRequests> results = query.getResultList();
+ if (!results.isEmpty()) {
+ ar = results.get(0);
}
-
- OperationStatus serviceOperStatus = new OperationStatus(operStatus.getServiceId(), operStatus.getOperationId());
- serviceOperStatus = operationStatusRepository.findOne(Example.of(serviceOperStatus));
- progress = progress > 100 ? 100 : progress;
- serviceOperStatus.setProgress(String.valueOf(progress));
- serviceOperStatus.setOperationContent(operStatus.getStatusDescription());
- // if current resource failed. service failed.
- if(RequestsDbConstant.Status.ERROR.equals(operStatus.getStatus())) {
- serviceOperStatus.setResult(RequestsDbConstant.Status.ERROR);
- serviceOperStatus.setReason(operStatus.getStatusDescription());
- } else if(isFinished) {
- // if finished
- serviceOperStatus.setResult(RequestsDbConstant.Status.FINISHED);
- serviceOperStatus.setProgress(RequestsDbConstant.Progress.ONE_HUNDRED);
- }
- operationStatusRepository.save(serviceOperStatus);
} finally {
msoLogger.recordMetricEvent(startTime, MsoLogger.StatusCode.COMPLETE, MsoLogger.ResponseCode.Suc,
- "Successfully", "RequestDB", "updateResOperStatus", null);
+ "Successfully", "RequestDB", "checkDuplicateByVnfName", null);
+ }
+
+ return ar;
+ }
+
+ protected <T> T getSingleResult(final Query query) {
+ query.setMaxResults(1);
+ final List<T> list = query.getResultList();
+ if (list == null || list.isEmpty()) {
+ return null;
+ } else if (list.size() == 1) {
+ return list.get(0);
+ } else {
+ throw new NonUniqueResultException();
+ }
+
+ }
+
+ @Override
+ public List<InfraActiveRequests> getInfraActiveRequests(final Map<String, String[]> filters, final long startTime,
+ final long endTime, final Integer maxResult) {
+ if (filters == null) {
+ return Collections.emptyList();
+ }
+ try {
+ final CriteriaBuilder criteriaBuilder = entityManager.getCriteriaBuilder();
+ final CriteriaQuery<InfraActiveRequests> criteriaQuery =
+ criteriaBuilder.createQuery(InfraActiveRequests.class);
+ final Root<InfraActiveRequests> tableRoot = criteriaQuery.from(InfraActiveRequests.class);
+ final List<Predicate> predicates = getPredicates(filters, criteriaBuilder, tableRoot);
+
+ final Timestamp minTime = new Timestamp(startTime);
+ final Timestamp maxTime = new Timestamp(endTime);
+ predicates.add(criteriaBuilder.greaterThanOrEqualTo(tableRoot.get(START_TIME), minTime));
+ predicates.add(criteriaBuilder.lessThanOrEqualTo(tableRoot.get(END_TIME), maxTime));
+
+ criteriaQuery.where(criteriaBuilder.and(predicates.toArray(new Predicate[predicates.size()])));
+ if (maxResult != null) {
+ return entityManager.createQuery(criteriaQuery).setMaxResults(maxResult).getResultList();
+ }
+ return entityManager.createQuery(criteriaQuery).getResultList();
+ } catch (final Exception exception) {
+ msoLogger.error("Unable to execute query using filters: " + filters, exception);
+ return Collections.emptyList();
}
}
- /* (non-Javadoc)
- * @see org.onap.so.requestsdb.InfraActiveRequestsRepositoryCustom#checkVnfIdStatus(java.lang.String)
- */
- @Override
- public InfraActiveRequests checkVnfIdStatus(String operationalEnvironmentId) {
- long startTime = System.currentTimeMillis ();
- msoLogger.debug ("Get Infra request from DB for OperationalEnvironmentId " + operationalEnvironmentId);
-
- InfraActiveRequests ar = null;
- try {
- CriteriaBuilder cb = entityManager.getCriteriaBuilder();
- CriteriaQuery<InfraActiveRequests> crit = cb.createQuery(InfraActiveRequests.class);
- Root<InfraActiveRequests> candidateRoot = crit.from(InfraActiveRequests.class);
- Predicate operationalEnvEq = cb.equal(candidateRoot.get("operationalEnvId"), operationalEnvironmentId);
- Predicate requestStatusNotEq = cb.notEqual(candidateRoot.get("requestStatus"), "COMPLETE");
- Predicate actionEq = cb.equal(candidateRoot.get("action"), "create");
- Order startTimeOrder = cb.desc(candidateRoot.get("startTime"));
- crit.select(candidateRoot);
- crit.where(cb.and(operationalEnvEq, requestStatusNotEq, actionEq));
- crit.orderBy(startTimeOrder);
- TypedQuery<InfraActiveRequests> query = entityManager.createQuery(crit);
- @SuppressWarnings("unchecked")
- List <InfraActiveRequests> results = query.getResultList();
- if (!results.isEmpty ()) {
- ar = results.get (0);
- }
- } finally {
- msoLogger.recordMetricEvent (startTime, MsoLogger.StatusCode.COMPLETE, MsoLogger.ResponseCode.Suc, "Successfully", "RequestDB", "checkDuplicateByVnfName", null);
- }
-
- return ar;
- }
-
- protected <T> T getSingleResult(Query query) {
- query.setMaxResults(1);
- List<T> list = query.getResultList();
- if (list == null || list.isEmpty()) {
- return null;
- } else if (list.size() == 1) {
- return list.get(0);
- } else {
- throw new NonUniqueResultException();
- }
-
- }
+ private List<Predicate> getPredicates(final Map<String, String[]> filters, final CriteriaBuilder criteriaBuilder,
+ final Root<InfraActiveRequests> tableRoot) {
+ final List<Predicate> predicates = new LinkedList<>();
+ for (final Entry<String, String[]> entry : filters.entrySet()) {
+ final String[] params = entry.getValue();
+ if (VALID_COLUMNS.contains(entry.getKey()) && params.length == 2) {
+ final QueryOperationType operationType = QueryOperationType.getQueryOperationType(params[0]);
+ final Predicate predicate =
+ operationType.getPredicate(criteriaBuilder, tableRoot, entry.getKey(), params[1]);
+ predicates.add(predicate);
+ }
+ }
+ return predicates;
+ }
}
diff --git a/mso-api-handlers/mso-requests-db/src/main/java/org/onap/so/db/request/data/repository/QueryOperationType.java b/mso-api-handlers/mso-requests-db/src/main/java/org/onap/so/db/request/data/repository/QueryOperationType.java
new file mode 100644
index 0000000000..4aaa8d2cbe
--- /dev/null
+++ b/mso-api-handlers/mso-requests-db/src/main/java/org/onap/so/db/request/data/repository/QueryOperationType.java
@@ -0,0 +1,69 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * Copyright (C) 2018 Ericsson. 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.
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ * ============LICENSE_END=========================================================
+ */
+package org.onap.so.db.request.data.repository;
+
+import javax.persistence.criteria.CriteriaBuilder;
+import javax.persistence.criteria.Predicate;
+import javax.persistence.criteria.Root;
+
+/**
+ * @author waqas.ikram@ericsson.com
+ */
+public enum QueryOperationType {
+
+ EQ {
+ @Override
+ public <T> Predicate getPredicate(final CriteriaBuilder criteriaBuilder, final Root<T> tableRoot,
+ final String key, final String value) {
+ return criteriaBuilder.equal(tableRoot.get(key), value);
+ }
+
+ },
+ NEQ {
+
+ @Override
+ public <T> Predicate getPredicate(final CriteriaBuilder criteriaBuilder, final Root<T> tableRoot,
+ final String key, final String value) {
+ return criteriaBuilder.notEqual(tableRoot.get(key), value);
+ }
+
+ },
+ LIKE {
+
+ @Override
+ public <T> Predicate getPredicate(final CriteriaBuilder criteriaBuilder, final Root<T> tableRoot,
+ final String key, final String value) {
+ return criteriaBuilder.like(tableRoot.get(key), "%" + value + "%");
+ }
+ };
+
+ public static QueryOperationType getQueryOperationType(final String type) {
+ for (final QueryOperationType queryOperationType : QueryOperationType.values()) {
+ if (queryOperationType.name().equalsIgnoreCase(type)) {
+ return queryOperationType;
+ }
+ }
+ return QueryOperationType.EQ;
+ }
+
+ public abstract <T> Predicate getPredicate(final CriteriaBuilder criteriaBuilder, final Root<T> tableRoot,
+ final String key, final String value);
+
+}
diff --git a/mso-api-handlers/mso-requests-db/src/test/java/org/onap/so/db/request/data/repository/InfraActiveRequestsRepositoryImplTest.java b/mso-api-handlers/mso-requests-db/src/test/java/org/onap/so/db/request/data/repository/InfraActiveRequestsRepositoryImplTest.java
new file mode 100644
index 0000000000..d889a15fc4
--- /dev/null
+++ b/mso-api-handlers/mso-requests-db/src/test/java/org/onap/so/db/request/data/repository/InfraActiveRequestsRepositoryImplTest.java
@@ -0,0 +1,184 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * Copyright (C) 2018 Ericsson. 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.
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ * ============LICENSE_END=========================================================
+ */
+package org.onap.so.db.request.data.repository;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNotEquals;
+import static org.junit.Assert.assertTrue;
+import static org.onap.so.db.request.data.repository.InfraActiveRequestsRepositoryImpl.ACTION;
+import static org.onap.so.db.request.data.repository.InfraActiveRequestsRepositoryImpl.REQUEST_ID;
+import static org.onap.so.db.request.data.repository.InfraActiveRequestsRepositoryImpl.SERVICE_INSTANCE_ID;
+
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.concurrent.TimeUnit;
+
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.onap.so.TestApplication;
+import org.onap.so.db.request.beans.InfraActiveRequests;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.test.context.ActiveProfiles;
+import org.springframework.test.context.junit4.SpringRunner;
+
+
+@RunWith(SpringRunner.class)
+@SpringBootTest(classes = TestApplication.class, webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)
+@ActiveProfiles("test")
+public class InfraActiveRequestsRepositoryImplTest {
+
+ private static final int MAX_LIMIT = 1;
+ private static final long END_TIME_IN_MILISEC = 1482436800000l;
+ private static final long START_TIME_IN_MILISEC = 1482429600000l;
+ private static final String REQUEST_ID_VALUE = "00032ab7-3fb3-42e5-965d-8ea592502017";
+ private static final String SERVICE_INSTANCE_ID_VALUE = "e3b5744d-2ad1-4cdd-8390-c999a38829bc";
+
+ @Autowired
+ private InfraActiveRequestsRepository objUnderTest;
+
+ @Test
+ public void test_GetInfraActiveRequests_emptyFiltersMap() {
+ final List<InfraActiveRequests> actualRequests = objUnderTest.getInfraActiveRequests(Collections.emptyMap(),
+ START_TIME_IN_MILISEC, END_TIME_IN_MILISEC, null);
+ assertFalse(actualRequests.isEmpty());
+ }
+
+ @Test
+ public void test_GetInfraActiveRequests_invalidFiltersMap() {
+ final Map<String, String[]> filters = new HashMap<>();
+ filters.put("OverTheMoon", new String[] {"Humpty Dumpty Sat On The Wall"});
+ final long startTime = START_TIME_IN_MILISEC - TimeUnit.DAYS.toMillis(20);
+ final long endTime = END_TIME_IN_MILISEC - TimeUnit.DAYS.toMillis(20);
+ final List<InfraActiveRequests> actualRequests =
+ objUnderTest.getInfraActiveRequests(filters, startTime, endTime, null);
+ assertTrue(actualRequests.isEmpty());
+ }
+
+ @Test
+ public void test_GetInfraActiveRequests_invalidFiltersMapWithInvalidKey() {
+ final Map<String, String[]> filters = new HashMap<>();
+ filters.put("OverTheMoon", new String[] {"Avengers", "Humpty Dumpty Sat On The Wall"});
+ final List<InfraActiveRequests> actualRequests =
+ objUnderTest.getInfraActiveRequests(filters, START_TIME_IN_MILISEC, END_TIME_IN_MILISEC, null);
+ assertFalse(actualRequests.isEmpty());
+ }
+
+ @Test
+ public void test_GetInfraActiveRequestsData_withEqualServiceInstanceId() {
+ final Map<String, String[]> values = new HashMap<>();
+ values.put(SERVICE_INSTANCE_ID, new String[] {QueryOperationType.EQ.name(), SERVICE_INSTANCE_ID_VALUE});
+ final List<InfraActiveRequests> actualRequests =
+ objUnderTest.getInfraActiveRequests(values, START_TIME_IN_MILISEC, END_TIME_IN_MILISEC, 1);
+ assertFalse(actualRequests.isEmpty());
+
+ assertEquals(SERVICE_INSTANCE_ID_VALUE, actualRequests.get(0).getServiceInstanceId());
+ }
+
+
+ @Test
+ public void test_GetInfraActiveRequestsData_withLikeRequestID() {
+ final Map<String, String[]> values = new HashMap<>();
+ values.put(REQUEST_ID, new String[] {QueryOperationType.LIKE.name(), "00032ab7"});
+ final List<InfraActiveRequests> actualRequests =
+ objUnderTest.getInfraActiveRequests(values, START_TIME_IN_MILISEC, END_TIME_IN_MILISEC, 1);
+ assertFalse(actualRequests.isEmpty());
+
+ assertEquals(REQUEST_ID_VALUE, actualRequests.get(0).getRequestId());
+ assertEquals(SERVICE_INSTANCE_ID_VALUE, actualRequests.get(0).getServiceInstanceId());
+ }
+
+
+ @Test
+ public void test_GetInfraActiveRequestsData_withLikeRequestIDAndEqualToServiceInstanceId() {
+ final Map<String, String[]> values = new HashMap<>();
+ values.put(REQUEST_ID, new String[] {QueryOperationType.LIKE.name(), "00032ab7"});
+ values.put(SERVICE_INSTANCE_ID, new String[] {QueryOperationType.EQ.name(), SERVICE_INSTANCE_ID_VALUE});
+ final List<InfraActiveRequests> actualRequests =
+ objUnderTest.getInfraActiveRequests(values, START_TIME_IN_MILISEC, END_TIME_IN_MILISEC, 1);
+ assertFalse(actualRequests.isEmpty());
+
+ assertEquals(REQUEST_ID_VALUE, actualRequests.get(0).getRequestId());
+ assertEquals(SERVICE_INSTANCE_ID_VALUE, actualRequests.get(0).getServiceInstanceId());
+ }
+
+
+ @Test
+ public void test_GetInfraActiveRequestsData_withNotEqualAction() {
+ final Map<String, String[]> values = new HashMap<>();
+ values.put(ACTION, new String[] {QueryOperationType.NEQ.name(), "createInstance"});
+ final List<InfraActiveRequests> actualRequests =
+ objUnderTest.getInfraActiveRequests(values, START_TIME_IN_MILISEC, END_TIME_IN_MILISEC, null);
+ assertFalse(actualRequests.isEmpty());
+ for (final InfraActiveRequests actualActiveRequests : actualRequests) {
+ assertNotEquals("createInstance", actualActiveRequests.getAction());
+ }
+ }
+
+
+ @Test
+ public void test_GetInfraActiveRequestsData_withNotEqualToServiceInstanceNameAndServiceInstanceIdNul() {
+ final Map<String, String[]> values = new HashMap<>();
+ values.put(ACTION, new String[] {QueryOperationType.NEQ.name(), "createInstance"});
+ values.put(SERVICE_INSTANCE_ID, new String[] {QueryOperationType.EQ.name(), SERVICE_INSTANCE_ID_VALUE});
+
+ final List<InfraActiveRequests> actualRequests =
+ objUnderTest.getInfraActiveRequests(values, START_TIME_IN_MILISEC, END_TIME_IN_MILISEC, null);
+ assertFalse(actualRequests.isEmpty());
+ for (final InfraActiveRequests actualActiveRequests : actualRequests) {
+ assertNotEquals("createInstance", actualActiveRequests.getAction());
+ assertEquals(SERVICE_INSTANCE_ID_VALUE, actualActiveRequests.getServiceInstanceId());
+ }
+ }
+
+ @Test
+ public void test_GetInfraActiveRequestsData_withStartEndDateTimeNotEqualAction() {
+ final Map<String, String[]> values = new HashMap<>();
+ values.put(ACTION, new String[] {QueryOperationType.NEQ.name(), "createInstance"});
+ final List<InfraActiveRequests> actualRequests =
+ objUnderTest.getInfraActiveRequests(values, START_TIME_IN_MILISEC, END_TIME_IN_MILISEC, null);
+ assertFalse(actualRequests.isEmpty());
+ for (final InfraActiveRequests actualActiveRequests : actualRequests) {
+ assertNotEquals("createInstance", actualActiveRequests.getAction());
+ }
+ }
+
+ @Test
+ public void test_GetInfraActiveRequestsData_withLimitNotEqualAction() {
+ final Map<String, String[]> values = new HashMap<>();
+ values.put(ACTION, new String[] {QueryOperationType.NEQ.name(), "createInstance"});
+ final List<InfraActiveRequests> actualRequests =
+ objUnderTest.getInfraActiveRequests(values, START_TIME_IN_MILISEC, END_TIME_IN_MILISEC, MAX_LIMIT);
+ assertFalse(actualRequests.isEmpty());
+ for (final InfraActiveRequests actualActiveRequests : actualRequests) {
+ assertNotEquals("createInstance", actualActiveRequests.getAction());
+ }
+ }
+
+ @Test
+ public void test_GetInfraActiveRequestsData_withNullFilters() {
+ final List<InfraActiveRequests> actualRequests =
+ objUnderTest.getInfraActiveRequests(null, START_TIME_IN_MILISEC, END_TIME_IN_MILISEC, MAX_LIMIT);
+ assertTrue(actualRequests.isEmpty());
+ }
+}
diff --git a/pom.xml b/pom.xml
index 59f0d5e8fb..089131a42c 100644
--- a/pom.xml
+++ b/pom.xml
@@ -30,6 +30,7 @@
<module>bpmn</module>
<module>cloudify-client</module>
<module>cxf-logging</module>
+ <module>so-monitoring</module>
<module>packages</module>
</modules>
<properties>
diff --git a/so-monitoring/pom.xml b/so-monitoring/pom.xml
new file mode 100644
index 0000000000..cf1f481b96
--- /dev/null
+++ b/so-monitoring/pom.xml
@@ -0,0 +1,65 @@
+<!--
+ ============LICENSE_START=======================================================
+ Copyright (C) 2018 Ericsson. 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.
+
+ SPDX-License-Identifier: Apache-2.0
+ ============LICENSE_END=========================================================
+-->
+
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>org.onap.so</groupId>
+ <artifactId>so</artifactId>
+ <version>1.3.0-SNAPSHOT</version>
+ </parent>
+
+ <groupId>org.onap.so.monitoring</groupId>
+ <artifactId>so-monitoring</artifactId>
+
+ <packaging>pom</packaging>
+ <name>${project.artifactId}</name>
+
+ <properties>
+ <java.version>1.8</java.version>
+ <version.java.compiler>1.8</version.java.compiler>
+ <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
+ <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
+ </properties>
+
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.springframework.boot</groupId>
+ <artifactId>spring-boot-maven-plugin</artifactId>
+ </plugin>
+
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-compiler-plugin</artifactId>
+ <configuration>
+ <source>${version.java.compiler}</source>
+ <target>${version.java.compiler}</target>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+
+ <modules>
+ <module>so-monitoring-handler</module>
+ <module>so-monitoring-service</module>
+ </modules>
+</project> \ No newline at end of file
diff --git a/so-monitoring/so-monitoring-handler/pom.xml b/so-monitoring/so-monitoring-handler/pom.xml
new file mode 100644
index 0000000000..a535d408f7
--- /dev/null
+++ b/so-monitoring/so-monitoring-handler/pom.xml
@@ -0,0 +1,95 @@
+<!--
+ ============LICENSE_START=======================================================
+ Copyright (C) 2018 Ericsson. 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.
+
+ SPDX-License-Identifier: Apache-2.0
+ ============LICENSE_END=========================================================
+-->
+
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>org.onap.so.monitoring</groupId>
+ <artifactId>so-monitoring</artifactId>
+ <version>1.3.0-SNAPSHOT</version>
+ </parent>
+ <artifactId>so-monitoring-handler</artifactId>
+ <name>${project.artifactId}</name>
+
+ <properties>
+ <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
+ <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
+ <java.version>1.8</java.version>
+ <guava.version>22.0</guava.version>
+ <openpojo.version>0.8.6</openpojo.version>
+ </properties>
+
+
+ <dependencies>
+ <dependency>
+ <groupId>com.google.guava</groupId>
+ <artifactId>guava</artifactId>
+ <version>${guava.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.springframework.boot</groupId>
+ <artifactId>spring-boot-starter-data-jpa</artifactId>
+ <exclusions>
+ <exclusion>
+ <groupId>org.apache.tomcat</groupId>
+ <artifactId>tomcat-jdbc</artifactId>
+ </exclusion>
+ </exclusions>
+ </dependency>
+ <dependency>
+ <groupId>org.slf4j</groupId>
+ <artifactId>slf4j-ext</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.httpcomponents</groupId>
+ <artifactId>httpclient</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.httpcomponents</groupId>
+ <artifactId>httpcore</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.springframework.boot</groupId>
+ <artifactId>spring-boot-starter-web</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.springframework.boot</groupId>
+ <artifactId>spring-boot-configuration-processor</artifactId>
+ <scope>compile</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.springframework.boot</groupId>
+ <artifactId>spring-boot-starter-test</artifactId>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>nl.jqno.equalsverifier</groupId>
+ <artifactId>equalsverifier</artifactId>
+ <version>2.5.1</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.onap.so</groupId>
+ <artifactId>common</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ </dependencies>
+</project> \ No newline at end of file
diff --git a/so-monitoring/so-monitoring-handler/src/main/java/org/onap/so/montoring/camunda/model/ActivityInstance.java b/so-monitoring/so-monitoring-handler/src/main/java/org/onap/so/montoring/camunda/model/ActivityInstance.java
new file mode 100644
index 0000000000..10ca6c9ac3
--- /dev/null
+++ b/so-monitoring/so-monitoring-handler/src/main/java/org/onap/so/montoring/camunda/model/ActivityInstance.java
@@ -0,0 +1,188 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * Copyright (C) 2018 Ericsson. 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.
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ * ============LICENSE_END=========================================================
+ */
+package org.onap.so.montoring.camunda.model;
+
+import static org.onap.so.montoring.utils.ObjectEqualsUtils.isEqual;
+
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
+
+/**
+ * @author waqas.ikram@ericsson.com
+ *
+ */
+@JsonIgnoreProperties(ignoreUnknown = true)
+public class ActivityInstance {
+
+ private String activityId;
+ private String activityName;
+ private String activityType;
+ private String processInstanceId;
+ private String calledProcessInstanceId;
+ private String startTime;
+ private String endTime;
+ private String durationInMillis;
+
+ public ActivityInstance() {}
+
+
+ /**
+ * @return the activityId
+ */
+ public String getActivityId() {
+ return activityId;
+ }
+
+ /**
+ * @param activityId the activityId to set
+ */
+ public void setActivityId(final String activityId) {
+ this.activityId = activityId;
+ }
+
+ /**
+ * @return the activityName
+ */
+ public String getActivityName() {
+ return activityName;
+ }
+
+ /**
+ * @param activityName the activityName to set
+ */
+ public void setActivityName(final String activityName) {
+ this.activityName = activityName;
+ }
+
+ /**
+ * @return the activityType
+ */
+ public String getActivityType() {
+ return activityType;
+ }
+
+ /**
+ * @param activityType the activityType to set
+ */
+ public void setActivityType(final String activityType) {
+ this.activityType = activityType;
+ }
+
+ /**
+ * @return the processInstanceId
+ */
+ public String getProcessInstanceId() {
+ return processInstanceId;
+ }
+
+ /**
+ * @param processInstanceId the processInstanceId to set
+ */
+ public void setProcessInstanceId(final String processInstanceId) {
+ this.processInstanceId = processInstanceId;
+ }
+
+ /**
+ * @return the calledProcessInstanceId
+ */
+ public String getCalledProcessInstanceId() {
+ return calledProcessInstanceId;
+ }
+
+ /**
+ * @param calledProcessInstanceId the calledProcessInstanceId to set
+ */
+ public void setCalledProcessInstanceId(final String calledProcessInstanceId) {
+ this.calledProcessInstanceId = calledProcessInstanceId;
+ }
+
+ /**
+ * @return the startTime
+ */
+ public String getStartTime() {
+ return startTime;
+ }
+
+ /**
+ * @param startTime the startTime to set
+ */
+ public void setStartTime(final String startTime) {
+ this.startTime = startTime;
+ }
+
+ /**
+ * @return the endTime
+ */
+ public String getEndTime() {
+ return endTime;
+ }
+
+ /**
+ * @param endTime the endTime to set
+ */
+ public void setEndTime(final String endTime) {
+ this.endTime = endTime;
+ }
+
+ /**
+ * @return the durationInMillis
+ */
+ public String getDurationInMillis() {
+ return durationInMillis;
+ }
+
+ /**
+ * @param durationInMillis the durationInMillis to set
+ */
+ public void setDurationInMillis(final String durationInMillis) {
+ this.durationInMillis = durationInMillis;
+ }
+
+ @JsonIgnore
+ @Override
+ public int hashCode() {
+ final int prime = 31;
+ int result = 1;
+ result = prime * result + ((activityId == null) ? 0 : activityId.hashCode());
+ result = prime * result + ((activityName == null) ? 0 : activityName.hashCode());
+ result = prime * result + ((activityType == null) ? 0 : activityType.hashCode());
+ result = prime * result + ((calledProcessInstanceId == null) ? 0 : calledProcessInstanceId.hashCode());
+ result = prime * result + ((durationInMillis == null) ? 0 : durationInMillis.hashCode());
+ result = prime * result + ((endTime == null) ? 0 : endTime.hashCode());
+ result = prime * result + ((processInstanceId == null) ? 0 : processInstanceId.hashCode());
+ result = prime * result + ((startTime == null) ? 0 : startTime.hashCode());
+ return result;
+ }
+
+ @JsonIgnore
+ @Override
+ public boolean equals(final Object obj) {
+ if (obj instanceof ActivityInstance) {
+ final ActivityInstance other = (ActivityInstance) obj;
+ return isEqual(activityId, other.activityId) && isEqual(activityName, other.activityName)
+ && isEqual(activityType, other.activityType) && isEqual(processInstanceId, other.processInstanceId)
+ && isEqual(calledProcessInstanceId, other.calledProcessInstanceId)
+ && isEqual(startTime, other.startTime) && isEqual(endTime, other.endTime)
+ && isEqual(durationInMillis, other.durationInMillis);
+ }
+ return false;
+ }
+
+}
diff --git a/so-monitoring/so-monitoring-handler/src/main/java/org/onap/so/montoring/camunda/model/ProcessDefinition.java b/so-monitoring/so-monitoring-handler/src/main/java/org/onap/so/montoring/camunda/model/ProcessDefinition.java
new file mode 100644
index 0000000000..ccddf0cd95
--- /dev/null
+++ b/so-monitoring/so-monitoring-handler/src/main/java/org/onap/so/montoring/camunda/model/ProcessDefinition.java
@@ -0,0 +1,88 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * Copyright (C) 2018 Ericsson. 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.
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ * ============LICENSE_END=========================================================
+ */
+package org.onap.so.montoring.camunda.model;
+
+import static org.onap.so.montoring.utils.ObjectEqualsUtils.isEqual;
+
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
+
+/**
+ * @author waqas.ikram@ericsson.com
+ *
+ */
+@JsonIgnoreProperties(ignoreUnknown = true)
+public class ProcessDefinition {
+
+ private String id;
+ private String bpmn20Xml;
+
+ public ProcessDefinition() {}
+
+ /**
+ * @return the id
+ */
+ public String getId() {
+ return id;
+ }
+
+ /**
+ * @param id the id to set
+ */
+ public void setId(final String id) {
+ this.id = id;
+ }
+
+ /**
+ * @return the bpmn20Xml
+ */
+ public String getBpmn20Xml() {
+ return bpmn20Xml;
+ }
+
+ /**
+ * @param bpmn20Xml the bpmn20Xml to set
+ */
+ public void setBpmn20Xml(final String bpmn20Xml) {
+ this.bpmn20Xml = bpmn20Xml;
+ }
+
+ @JsonIgnore
+ @Override
+ public int hashCode() {
+ final int prime = 31;
+ int result = 1;
+ result = prime * result + ((id == null) ? 0 : id.hashCode());
+ result = prime * result + ((bpmn20Xml == null) ? 0 : bpmn20Xml.hashCode());
+ return result;
+ }
+
+ @JsonIgnore
+ @Override
+ public boolean equals(final Object obj) {
+ if (obj instanceof ProcessDefinition) {
+ final ProcessDefinition other = (ProcessDefinition) obj;
+ return isEqual(id, other.id) && isEqual(bpmn20Xml, other.bpmn20Xml);
+ }
+ return false;
+ }
+
+
+}
diff --git a/so-monitoring/so-monitoring-handler/src/main/java/org/onap/so/montoring/camunda/model/ProcessInstance.java b/so-monitoring/so-monitoring-handler/src/main/java/org/onap/so/montoring/camunda/model/ProcessInstance.java
new file mode 100644
index 0000000000..faea7b3bf9
--- /dev/null
+++ b/so-monitoring/so-monitoring-handler/src/main/java/org/onap/so/montoring/camunda/model/ProcessInstance.java
@@ -0,0 +1,129 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * Copyright (C) 2018 Ericsson. 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.
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ * ============LICENSE_END=========================================================
+ */
+package org.onap.so.montoring.camunda.model;
+
+import static org.onap.so.montoring.utils.ObjectEqualsUtils.isEqual;
+
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
+
+/**
+ * @author waqas.ikram@ericsson.com
+ */
+@JsonIgnoreProperties(ignoreUnknown = true)
+public class ProcessInstance {
+
+ private String id;
+ private String processDefinitionId;
+ private String processDefinitionName;
+ private String superProcessInstanceId;
+
+ public ProcessInstance() {}
+
+ /**
+ * @return the id
+ */
+ public String getId() {
+ return id;
+ }
+
+ /**
+ * @param id the id to set
+ */
+ public void setId(final String id) {
+ this.id = id;
+ }
+
+
+ /**
+ * @return the processDefinitionId
+ */
+ public String getProcessDefinitionId() {
+ return processDefinitionId;
+ }
+
+ /**
+ * @param processDefinitionId the processDefinitionId to set
+ */
+ public void setProcessDefinitionId(final String processDefinitionId) {
+ this.processDefinitionId = processDefinitionId;
+ }
+
+ /**
+ * @return the processDefinitionName
+ */
+ public String getProcessDefinitionName() {
+ return processDefinitionName;
+ }
+
+ /**
+ * @param processDefinitionName the processDefinitionName to set
+ */
+ public void setProcessDefinitionName(final String processDefinitionName) {
+ this.processDefinitionName = processDefinitionName;
+ }
+
+ /**
+ * @return the superProcessInstanceId
+ */
+ public String getSuperProcessInstanceId() {
+ return superProcessInstanceId;
+ }
+
+ /**
+ * @param superProcessInstanceId the superProcessInstanceId to set
+ */
+ public void setSuperProcessInstanceId(final String superProcessInstanceId) {
+ this.superProcessInstanceId = superProcessInstanceId;
+ }
+
+
+ @JsonIgnore
+ @Override
+ public int hashCode() {
+ final int prime = 31;
+ int result = 1;
+ result = prime * result + ((id == null) ? 0 : id.hashCode());
+ result = prime * result + ((processDefinitionId == null) ? 0 : processDefinitionId.hashCode());
+ result = prime * result + ((processDefinitionName == null) ? 0 : processDefinitionName.hashCode());
+ result = prime * result + ((superProcessInstanceId == null) ? 0 : superProcessInstanceId.hashCode());
+ return result;
+ }
+
+ @JsonIgnore
+ @Override
+ public boolean equals(final Object obj) {
+ if (obj instanceof ProcessInstance) {
+ final ProcessInstance other = (ProcessInstance) obj;
+ return isEqual(id, other.id) && isEqual(processDefinitionId, other.processDefinitionId)
+ && isEqual(processDefinitionName, other.processDefinitionName)
+ && isEqual(superProcessInstanceId, other.superProcessInstanceId);
+ }
+
+ return false;
+ }
+
+ @JsonIgnore
+ @Override
+ public String toString() {
+ return "ProcessInstance [id=" + id + ", processDefinitionId=" + processDefinitionId + ", processDefinitionName="
+ + processDefinitionName + "]";
+ }
+}
diff --git a/so-monitoring/so-monitoring-handler/src/main/java/org/onap/so/montoring/camunda/model/ProcessInstanceVariable.java b/so-monitoring/so-monitoring-handler/src/main/java/org/onap/so/montoring/camunda/model/ProcessInstanceVariable.java
new file mode 100644
index 0000000000..14a01b96bb
--- /dev/null
+++ b/so-monitoring/so-monitoring-handler/src/main/java/org/onap/so/montoring/camunda/model/ProcessInstanceVariable.java
@@ -0,0 +1,106 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * Copyright (C) 2018 Ericsson. 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.
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ * ============LICENSE_END=========================================================
+ */
+package org.onap.so.montoring.camunda.model;
+
+import static org.onap.so.montoring.utils.ObjectEqualsUtils.isEqual;
+
+import com.fasterxml.jackson.annotation.JsonIgnore;
+
+/**
+ * @author waqas.ikram@ericsson.com
+ */
+public class ProcessInstanceVariable {
+
+ private String name;
+ private Object value;
+ private String type;
+
+ public ProcessInstanceVariable() {}
+
+ /**
+ * @return the name
+ */
+ public String getName() {
+ return name;
+ }
+
+ /**
+ * @param name the name to set
+ */
+ public void setName(final String name) {
+ this.name = name;
+ }
+
+ /**
+ * @return the value
+ */
+ public Object getValue() {
+ return value;
+ }
+
+ /**
+ * @param value the value to set
+ */
+ public void setValue(final Object value) {
+ this.value = value;
+ }
+
+ /**
+ * @return the type
+ */
+ public String getType() {
+ return type;
+ }
+
+ /**
+ * @param type the type to set
+ */
+ public void setType(final String type) {
+ this.type = type;
+ }
+
+ @JsonIgnore
+ @Override
+ public int hashCode() {
+ final int prime = 31;
+ int result = 1;
+ result = prime * result + ((name == null) ? 0 : name.hashCode());
+ result = prime * result + ((value == null) ? 0 : value.hashCode());
+ result = prime * result + ((type == null) ? 0 : type.hashCode());
+ return result;
+ }
+
+ @JsonIgnore
+ @Override
+ public boolean equals(final Object obj) {
+ if (obj instanceof ProcessInstanceVariable) {
+ final ProcessInstanceVariable other = (ProcessInstanceVariable) obj;
+ return isEqual(name, other.name) && isEqual(value, other.value) && isEqual(type, other.type);
+ }
+
+ return false;
+ }
+
+ @JsonIgnore
+ @Override
+ public String toString() {
+ return "ProcessInstance [name=" + name + ", value=" + value + ", type=" + type + "]";
+ }
+}
diff --git a/so-monitoring/so-monitoring-handler/src/main/java/org/onap/so/montoring/camunda/model/SoActiveInfraRequests.java b/so-monitoring/so-monitoring-handler/src/main/java/org/onap/so/montoring/camunda/model/SoActiveInfraRequests.java
new file mode 100644
index 0000000000..b17cad23b5
--- /dev/null
+++ b/so-monitoring/so-monitoring-handler/src/main/java/org/onap/so/montoring/camunda/model/SoActiveInfraRequests.java
@@ -0,0 +1,196 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * Copyright (C) 2018 Ericsson. 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.
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ * ============LICENSE_END=========================================================
+ */
+package org.onap.so.montoring.camunda.model;
+
+import static org.onap.so.montoring.utils.ObjectEqualsUtils.isEqual;
+
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
+
+/**
+ * @author waqas.ikram@ericsson.com
+ *
+ */
+@JsonIgnoreProperties(ignoreUnknown = true)
+public class SoActiveInfraRequests {
+
+ private String requestId;
+ private String serviceInstanceId;
+ private String networkId;
+ private String startTime;
+ private String endTime;
+ private String requestStatus;
+ private String serviceInstanceName;
+ private String serviceType;
+
+ /**
+ * @return the requestId
+ */
+ public String getRequestId() {
+ return requestId;
+ }
+
+ /**
+ * @param requestId the requestId to set
+ */
+ public void setRequestId(final String requestId) {
+ this.requestId = requestId;
+ }
+
+ /**
+ * @return the serviceInstanceId
+ */
+ public String getServiceInstanceId() {
+ return serviceInstanceId;
+ }
+
+ /**
+ * @param serviceInstanceId the serviceInstanceId to set
+ */
+ public void setServiceInstanceId(final String serviceInstanceId) {
+ this.serviceInstanceId = serviceInstanceId;
+ }
+
+ /**
+ * @return the networkId
+ */
+ public String getNetworkId() {
+ return networkId;
+ }
+
+ /**
+ * @param networkId the networkId to set
+ */
+ public void setNetworkId(final String networkId) {
+ this.networkId = networkId;
+ }
+
+ /**
+ * @return the startTime
+ */
+ public String getStartTime() {
+ return startTime;
+ }
+
+ /**
+ * @param startTime the startTime to set
+ */
+ public void setStartTime(final String startTime) {
+ this.startTime = startTime;
+ }
+
+ /**
+ * @return the endTime
+ */
+ public String getEndTime() {
+ return endTime;
+ }
+
+ /**
+ * @param endTime the endTime to set
+ */
+ public void setEndTime(final String endTime) {
+ this.endTime = endTime;
+ }
+
+ /**
+ * @return the requestStatus
+ */
+ public String getRequestStatus() {
+ return requestStatus;
+ }
+
+ /**
+ * @param requestStatus the requestStatus to set
+ */
+ public void setRequestStatus(final String requestStatus) {
+ this.requestStatus = requestStatus;
+ }
+
+ /**
+ * @return the serviceInstanceName
+ */
+ public String getServiceInstanceName() {
+ return serviceInstanceName;
+ }
+
+ /**
+ * @param serviceInstanceName the serviceInstanceName to set
+ */
+ public void setServiceInstanceName(final String serviceInstanceName) {
+ this.serviceInstanceName = serviceInstanceName;
+ }
+
+ /**
+ * @return the serviceType
+ */
+ public String getServiceType() {
+ return serviceType;
+ }
+
+ /**
+ * @param serviceType the serviceType to set
+ */
+ public void setServiceType(final String serviceType) {
+ this.serviceType = serviceType;
+ }
+
+ @JsonIgnore
+ @Override
+ public int hashCode() {
+ final int prime = 31;
+ int result = 1;
+ result = prime * result + ((endTime == null) ? 0 : endTime.hashCode());
+ result = prime * result + ((networkId == null) ? 0 : networkId.hashCode());
+ result = prime * result + ((requestId == null) ? 0 : requestId.hashCode());
+ result = prime * result + ((requestStatus == null) ? 0 : requestStatus.hashCode());
+ result = prime * result + ((serviceInstanceId == null) ? 0 : serviceInstanceId.hashCode());
+ result = prime * result + ((serviceInstanceName == null) ? 0 : serviceInstanceName.hashCode());
+ result = prime * result + ((serviceType == null) ? 0 : serviceType.hashCode());
+ result = prime * result + ((startTime == null) ? 0 : startTime.hashCode());
+ return result;
+ }
+
+ @JsonIgnore
+ @Override
+ public boolean equals(final Object obj) {
+ if (obj instanceof SoActiveInfraRequests) {
+ SoActiveInfraRequests other = (SoActiveInfraRequests) obj;
+ return isEqual(requestId, other.requestId) && isEqual(serviceInstanceId, other.serviceInstanceId)
+ && isEqual(networkId, other.networkId) && isEqual(startTime, other.startTime)
+ && isEqual(endTime, other.endTime) && isEqual(requestStatus, other.requestStatus)
+ && isEqual(serviceInstanceName, other.serviceInstanceName)
+ && isEqual(serviceType, other.serviceType);
+ }
+
+ return false;
+ }
+
+ @JsonIgnore
+ @Override
+ public String toString() {
+ return "SoActiveInfraRequests [requestId=" + requestId + ", serviceInstanceId=" + serviceInstanceId
+ + ", networkId=" + networkId + ", startTime=" + startTime + ", endTime=" + endTime + ", requestStatus="
+ + requestStatus + ", serviceInstanceName=" + serviceInstanceName + ", serviceType=" + serviceType + "]";
+ }
+
+
+
+}
diff --git a/so-monitoring/so-monitoring-handler/src/main/java/org/onap/so/montoring/configuration/camunda/CamundaConfiguration.java b/so-monitoring/so-monitoring-handler/src/main/java/org/onap/so/montoring/configuration/camunda/CamundaConfiguration.java
new file mode 100644
index 0000000000..2540eda04b
--- /dev/null
+++ b/so-monitoring/so-monitoring-handler/src/main/java/org/onap/so/montoring/configuration/camunda/CamundaConfiguration.java
@@ -0,0 +1,38 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * Copyright (C) 2018 Ericsson. 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.
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ * ============LICENSE_END=========================================================
+ */
+package org.onap.so.montoring.configuration.camunda;
+
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+
+/**
+ * @author waqas.ikram@ericsson.com
+ */
+
+@Configuration
+public class CamundaConfiguration {
+
+ @Bean
+ public CamundaRestUrlProvider camundaRestUrlProvider(@Value(value = "${camunda.rest.api.url}") final String httpURL,
+ @Value(value = "${camunda.rest.api.engine:default}") final String engineName) {
+ return new CamundaRestUrlProvider(httpURL, engineName);
+ }
+}
diff --git a/so-monitoring/so-monitoring-handler/src/main/java/org/onap/so/montoring/configuration/camunda/CamundaRestUrlProvider.java b/so-monitoring/so-monitoring-handler/src/main/java/org/onap/so/montoring/configuration/camunda/CamundaRestUrlProvider.java
new file mode 100644
index 0000000000..9a509f037b
--- /dev/null
+++ b/so-monitoring/so-monitoring-handler/src/main/java/org/onap/so/montoring/configuration/camunda/CamundaRestUrlProvider.java
@@ -0,0 +1,106 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * Copyright (C) 2018 Ericsson. 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.
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ * ============LICENSE_END=========================================================
+ */
+package org.onap.so.montoring.configuration.camunda;
+
+import java.net.URI;
+
+import org.springframework.stereotype.Service;
+import org.springframework.web.util.UriComponentsBuilder;
+
+/**
+ * @author waqas.ikram@ericsson.com
+ */
+@Service
+public class CamundaRestUrlProvider {
+
+ private static final String HISTORY_PATH = "history";
+ private final URI baseUri;
+
+ public CamundaRestUrlProvider(final String httpUrl, final String engineName) {
+ this.baseUri = UriComponentsBuilder.fromHttpUrl(httpUrl).path(engineName).build().toUri();
+ }
+
+ /**
+ * see {@link <a href=
+ * "https://docs.camunda.org/manual/7.5/reference/rest/history/process-instance/get-process-instance-query/">Get
+ * Process Instances</a>}.
+ *
+ * @param requestId the request ID
+ * @return URL
+ */
+ public String getHistoryProcessInstanceUrl(final String requestId) {
+ return UriComponentsBuilder.fromUri(baseUri).pathSegment(HISTORY_PATH).pathSegment("process-instance")
+ .query("variables=requestId_eq_{requestID}").buildAndExpand(requestId).toString();
+ }
+
+ /**
+ * see {@link <a href=
+ * "https://docs.camunda.org/manual/7.5/reference/rest/history/process-instance/get-process-instance/">Get
+ * Single Process Instance</a>}.
+ *
+ * @param processInstanceId the process instance id.
+ * @return URL
+ */
+ public String getSingleProcessInstanceUrl(final String processInstanceId) {
+ return UriComponentsBuilder.fromUri(baseUri).pathSegment(HISTORY_PATH).pathSegment("process-instance")
+ .pathSegment(processInstanceId).build().toString();
+ }
+
+ /**
+ * see {@link <a href=
+ * "https://docs.camunda.org/manual/7.5/reference/rest/process-definition/get-xml/">Get BPMN 2.0
+ * XML</a>}.
+ *
+ * @param processDefinitionId the process definition id.
+ * @return URL
+ */
+ public String getProcessDefinitionUrl(final String processDefinitionId) {
+ return UriComponentsBuilder.fromUri(baseUri).pathSegment("process-definition").pathSegment(processDefinitionId)
+ .pathSegment("xml").build().toString();
+ }
+
+ /**
+ * see {@link <a href=
+ * "https://docs.camunda.org/manual/7.5/reference/rest/history/activity-instance/get-activity-instance/">Get
+ * Single Activity Instance (Historic)</a>}.
+ *
+ * @param processInstanceId the process instance id.
+ * @return URL
+ */
+ public String getActivityInstanceUrl(final String processInstanceId) {
+ return UriComponentsBuilder.fromUri(baseUri).pathSegment(HISTORY_PATH).pathSegment("activity-instance")
+ .query("processInstanceId={processInstanceId}").queryParam("sortBy", "startTime")
+ .queryParam("sortOrder", "asc").buildAndExpand(processInstanceId).toString();
+ }
+
+ /**
+ * see {@link <a href=
+ * "https://docs.camunda.org/manual/7.5/reference/rest/history/variable-instance/get-variable-instance/">Get
+ * Single Variable Instance</a>}.
+ *
+ * @param processInstanceId the process instance id.
+ * @return URL
+ */
+ public String getProcessInstanceVariablesUrl(final String processInstanceId) {
+ return UriComponentsBuilder.fromUri(baseUri).pathSegment(HISTORY_PATH).pathSegment("variable-instance")
+ .query("processInstanceId={processInstanceId}").buildAndExpand(processInstanceId).toString();
+ }
+
+}
diff --git a/so-monitoring/so-monitoring-handler/src/main/java/org/onap/so/montoring/configuration/database/DatabaseConfiguration.java b/so-monitoring/so-monitoring-handler/src/main/java/org/onap/so/montoring/configuration/database/DatabaseConfiguration.java
new file mode 100644
index 0000000000..3d2b529d9a
--- /dev/null
+++ b/so-monitoring/so-monitoring-handler/src/main/java/org/onap/so/montoring/configuration/database/DatabaseConfiguration.java
@@ -0,0 +1,37 @@
+/*-
+ * ============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.onap.so.montoring.configuration.database;
+
+
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+
+@Configuration
+public class DatabaseConfiguration {
+
+ @Bean
+ public DatabaseUrlProvider databaseUrlProvider(
+ @Value(value = "${mso.database.rest.api.url}") final String baseUrl) {
+ return new DatabaseUrlProvider(baseUrl);
+ }
+
+}
diff --git a/so-monitoring/so-monitoring-handler/src/main/java/org/onap/so/montoring/configuration/database/DatabaseUrlProvider.java b/so-monitoring/so-monitoring-handler/src/main/java/org/onap/so/montoring/configuration/database/DatabaseUrlProvider.java
new file mode 100644
index 0000000000..8235b9272b
--- /dev/null
+++ b/so-monitoring/so-monitoring-handler/src/main/java/org/onap/so/montoring/configuration/database/DatabaseUrlProvider.java
@@ -0,0 +1,48 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * Copyright (C) 2018 Ericsson. 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.
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ * ============LICENSE_END=========================================================
+ */
+package org.onap.so.montoring.configuration.database;
+
+import java.net.URI;
+
+import org.springframework.web.util.UriComponentsBuilder;
+
+/**
+ * @author waqas.ikram@ericsson.com
+ *
+ */
+public class DatabaseUrlProvider {
+
+ private final URI baseUri;
+
+ public DatabaseUrlProvider(final String baseUrl) {
+ this.baseUri = UriComponentsBuilder.fromHttpUrl(baseUrl).build().toUri();
+ }
+
+ public String getSearchUrl(final long from, final long to, final Integer maxResult) {
+ final UriComponentsBuilder builder = UriComponentsBuilder.fromUri(baseUri).pathSegment("v1")
+ .pathSegment("getInfraActiveRequests").queryParam("from", from).queryParam("to", to);
+ if (maxResult != null) {
+ return builder.queryParam("maxResult", maxResult).build().toString();
+ }
+
+ return builder.build().toString();
+ }
+
+}
diff --git a/so-monitoring/so-monitoring-handler/src/main/java/org/onap/so/montoring/configuration/rest/BasicAuthorizationHttpRequestInterceptor.java b/so-monitoring/so-monitoring-handler/src/main/java/org/onap/so/montoring/configuration/rest/BasicAuthorizationHttpRequestInterceptor.java
new file mode 100644
index 0000000000..0db1e51ce2
--- /dev/null
+++ b/so-monitoring/so-monitoring-handler/src/main/java/org/onap/so/montoring/configuration/rest/BasicAuthorizationHttpRequestInterceptor.java
@@ -0,0 +1,49 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * Copyright (C) 2018 Ericsson. 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.
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ * ============LICENSE_END=========================================================
+ */
+package org.onap.so.montoring.configuration.rest;
+
+import java.io.IOException;
+
+import org.springframework.http.HttpHeaders;
+import org.springframework.http.HttpRequest;
+import org.springframework.http.client.ClientHttpRequestExecution;
+import org.springframework.http.client.ClientHttpRequestInterceptor;
+import org.springframework.http.client.ClientHttpResponse;
+
+/**
+ * @author waqas.ikram@ericsson.com
+ *
+ */
+public class BasicAuthorizationHttpRequestInterceptor implements ClientHttpRequestInterceptor {
+
+ private final String authorization;
+
+ public BasicAuthorizationHttpRequestInterceptor(final String authorization) {
+ this.authorization = authorization;
+ }
+
+ @Override
+ public ClientHttpResponse intercept(final HttpRequest request, final byte[] body,
+ final ClientHttpRequestExecution execution) throws IOException {
+ final HttpHeaders headers = request.getHeaders();
+ headers.add("Authorization", authorization);
+ return execution.execute(request, body);
+ }
+}
diff --git a/so-monitoring/so-monitoring-handler/src/main/java/org/onap/so/montoring/configuration/rest/HttpClientConnectionConfiguration.java b/so-monitoring/so-monitoring-handler/src/main/java/org/onap/so/montoring/configuration/rest/HttpClientConnectionConfiguration.java
new file mode 100644
index 0000000000..a465b53c71
--- /dev/null
+++ b/so-monitoring/so-monitoring-handler/src/main/java/org/onap/so/montoring/configuration/rest/HttpClientConnectionConfiguration.java
@@ -0,0 +1,87 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * Copyright (C) 2018 Ericsson. 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.
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ * ============LICENSE_END=========================================================
+ */
+package org.onap.so.montoring.configuration.rest;
+
+import java.util.concurrent.TimeUnit;
+
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.stereotype.Service;
+
+@Service
+public class HttpClientConnectionConfiguration {
+
+ @Value(value = "${rest.http.client.configuration.connTimeOutInSec:10}")
+ private int connectionTimeOutInSeconds;
+
+ @Value(value = "${rest.http.client.configuration.socketTimeOutInSec:180}")
+ private int socketTimeOutInSeconds;
+
+ @Value(value = "${rest.http.client.configuration.socketTimeOutInSec:600}")
+ private int timeToLiveInSeconds;
+
+ @Value(value = "${rest.http.client.configuration.maxConnections:10}")
+ private int maxConnections;
+
+ @Value(value = "${rest.http.client.configuration.maxConnectionsPerRoute:2}")
+ private int maxConnectionsPerRoute;
+
+ /**
+ * @return the socketTimeOut
+ */
+ public int getSocketTimeOutInMiliSeconds() {
+ return (int) TimeUnit.SECONDS.toMillis(socketTimeOutInSeconds);
+ }
+
+ /**
+ * @return the maxConnections
+ */
+ public int getMaxConnections() {
+ return maxConnections;
+ }
+
+ /**
+ * @return the maxConnectionsPerRoute
+ */
+ public int getMaxConnectionsPerRoute() {
+ return maxConnectionsPerRoute;
+ }
+
+ /**
+ * @return the connectionTimeOut
+ */
+ public int getConnectionTimeOutInMilliSeconds() {
+ return (int) TimeUnit.SECONDS.toMillis(connectionTimeOutInSeconds);
+ }
+
+ /**
+ * @return the timeToLive
+ */
+ public int getTimeToLiveInMins() {
+ return (int) TimeUnit.SECONDS.toMinutes(timeToLiveInSeconds);
+ }
+
+ @Override
+ public String toString() {
+ return "HttpClientConnectionConfiguration [connectionTimeOutInSeconds=" + connectionTimeOutInSeconds
+ + ", socketTimeOutInSeconds=" + socketTimeOutInSeconds + ", timeToLiveInSeconds=" + timeToLiveInSeconds
+ + ", maxConnections=" + maxConnections + ", maxConnectionsPerRoute=" + maxConnectionsPerRoute + "]";
+ }
+
+}
diff --git a/so-monitoring/so-monitoring-handler/src/main/java/org/onap/so/montoring/configuration/rest/HttpServiceProviderConfiguration.java b/so-monitoring/so-monitoring-handler/src/main/java/org/onap/so/montoring/configuration/rest/HttpServiceProviderConfiguration.java
new file mode 100644
index 0000000000..31cd12bebc
--- /dev/null
+++ b/so-monitoring/so-monitoring-handler/src/main/java/org/onap/so/montoring/configuration/rest/HttpServiceProviderConfiguration.java
@@ -0,0 +1,73 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * Copyright (C) 2018 Ericsson. 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.
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ * ============LICENSE_END=========================================================
+ */
+package org.onap.so.montoring.configuration.rest;
+
+import static org.onap.so.montoring.configuration.rest.RestTemplateConfigration.CAMUNDA_REST_TEMPLATE;
+import static org.onap.so.montoring.configuration.rest.RestTemplateConfigration.DATABASE_REST_TEMPLATE;
+
+import org.onap.so.montoring.rest.service.HttpRestServiceProvider;
+import org.onap.so.montoring.rest.service.HttpRestServiceProviderImpl;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Qualifier;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.http.client.ClientHttpRequestInterceptor;
+import org.springframework.web.client.RestTemplate;
+
+/**
+ * @author waqas.ikram@ericsson.com
+ *
+ */
+@Configuration
+public class HttpServiceProviderConfiguration {
+
+ public static final String DATABASE_HTTP_REST_SERVICE_PROVIDER = "databaseHttpRestServiceProvider";
+ public static final String CAMUNDA_HTTP_REST_SERVICE_PROVIDER = "camundaHttpRestServiceProvider";
+
+ @Bean
+ @Qualifier(CAMUNDA_HTTP_REST_SERVICE_PROVIDER)
+ public HttpRestServiceProvider camundaHttpRestServiceProvider(
+ @Qualifier(CAMUNDA_REST_TEMPLATE) @Autowired final RestTemplate restTemplate,
+ @Value(value = "${camunda.rest.api.auth:#{null}}") final String authorization) {
+ return getHttpRestServiceProvider(restTemplate, authorization);
+ }
+
+ @Bean
+ @Qualifier(DATABASE_HTTP_REST_SERVICE_PROVIDER)
+ public HttpRestServiceProvider databaseHttpRestServiceProvider(
+ @Qualifier(DATABASE_REST_TEMPLATE) @Autowired final RestTemplate restTemplate,
+ @Value(value = "${mso.database.rest.api.auth:#{null}}") final String authorization) {
+
+ return getHttpRestServiceProvider(restTemplate, authorization);
+ }
+
+ private HttpRestServiceProvider getHttpRestServiceProvider(final RestTemplate restTemplate,
+ final String authorization) {
+ if (authorization != null && !authorization.isEmpty()) {
+ final ClientHttpRequestInterceptor authorizationInterceptor =
+ new BasicAuthorizationHttpRequestInterceptor(authorization);
+ restTemplate.getInterceptors().add(authorizationInterceptor);
+ }
+ return new HttpRestServiceProviderImpl(restTemplate);
+ }
+
+
+}
diff --git a/so-monitoring/so-monitoring-handler/src/main/java/org/onap/so/montoring/configuration/rest/RestTemplateConfigration.java b/so-monitoring/so-monitoring-handler/src/main/java/org/onap/so/montoring/configuration/rest/RestTemplateConfigration.java
new file mode 100644
index 0000000000..914e5d676e
--- /dev/null
+++ b/so-monitoring/so-monitoring-handler/src/main/java/org/onap/so/montoring/configuration/rest/RestTemplateConfigration.java
@@ -0,0 +1,84 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * Copyright (C) 2018 Ericsson. 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.
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ * ============LICENSE_END=========================================================
+ */
+package org.onap.so.montoring.configuration.rest;
+
+import java.util.concurrent.TimeUnit;
+
+import org.apache.http.client.config.RequestConfig;
+import org.apache.http.impl.client.CloseableHttpClient;
+import org.apache.http.impl.client.HttpClientBuilder;
+import org.apache.http.impl.conn.PoolingHttpClientConnectionManager;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Qualifier;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.http.client.HttpComponentsClientHttpRequestFactory;
+import org.springframework.web.client.RestTemplate;
+
+/**
+ * @author waqas.ikram@ericsson.com
+ */
+@Configuration
+public class RestTemplateConfigration {
+
+ public static final String DATABASE_REST_TEMPLATE = "databaseRestTemplate";
+
+ public static final String CAMUNDA_REST_TEMPLATE = "camundaRestTemplate";
+
+ @Autowired
+ private HttpClientConnectionConfiguration clientConnectionConfiguration;
+
+ @Bean
+ @Qualifier(CAMUNDA_REST_TEMPLATE)
+ public RestTemplate camundaRestTemplate() {
+ return new RestTemplate(httpComponentsClientHttpRequestFactory());
+ }
+
+ @Bean
+ @Qualifier(DATABASE_REST_TEMPLATE)
+ public RestTemplate dataBasecamundaRestTemplate() {
+ return new RestTemplate(httpComponentsClientHttpRequestFactory());
+ }
+
+ @Bean
+ public HttpComponentsClientHttpRequestFactory httpComponentsClientHttpRequestFactory() {
+ return new HttpComponentsClientHttpRequestFactory(httpClient());
+ }
+
+ @Bean
+ public CloseableHttpClient httpClient() {
+ return HttpClientBuilder.create().setConnectionManager(poolingHttpClientConnectionManager())
+ .setMaxConnPerRoute(clientConnectionConfiguration.getMaxConnectionsPerRoute())
+ .setMaxConnTotal(clientConnectionConfiguration.getMaxConnections())
+ .setDefaultRequestConfig(requestConfig()).build();
+ }
+
+ @Bean
+ public PoolingHttpClientConnectionManager poolingHttpClientConnectionManager() {
+ return new PoolingHttpClientConnectionManager(clientConnectionConfiguration.getTimeToLiveInMins(),
+ TimeUnit.MINUTES);
+ }
+
+ @Bean
+ public RequestConfig requestConfig() {
+ return RequestConfig.custom().setSocketTimeout(clientConnectionConfiguration.getSocketTimeOutInMiliSeconds())
+ .setConnectTimeout(clientConnectionConfiguration.getConnectionTimeOutInMilliSeconds()).build();
+ }
+}
diff --git a/so-monitoring/so-monitoring-handler/src/main/java/org/onap/so/montoring/db/service/DatabaseServiceProvider.java b/so-monitoring/so-monitoring-handler/src/main/java/org/onap/so/montoring/db/service/DatabaseServiceProvider.java
new file mode 100644
index 0000000000..b8481803e2
--- /dev/null
+++ b/so-monitoring/so-monitoring-handler/src/main/java/org/onap/so/montoring/db/service/DatabaseServiceProvider.java
@@ -0,0 +1,36 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * Copyright (C) 2018 Ericsson. 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.
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ * ============LICENSE_END=========================================================
+ */
+package org.onap.so.montoring.db.service;
+
+import java.util.List;
+import java.util.Map;
+
+import org.onap.so.montoring.model.SoInfraRequest;
+
+
+/**
+ * @author waqas.ikram@ericsson.com
+ */
+public interface DatabaseServiceProvider {
+
+ List<SoInfraRequest> getSoInfraRequest(final Map<String, String[]> filters, final long startTime,
+ final long endTime, final Integer maxResult);
+
+}
diff --git a/so-monitoring/so-monitoring-handler/src/main/java/org/onap/so/montoring/db/service/DatabaseServiceProviderImpl.java b/so-monitoring/so-monitoring-handler/src/main/java/org/onap/so/montoring/db/service/DatabaseServiceProviderImpl.java
new file mode 100644
index 0000000000..f6cbc3c297
--- /dev/null
+++ b/so-monitoring/so-monitoring-handler/src/main/java/org/onap/so/montoring/db/service/DatabaseServiceProviderImpl.java
@@ -0,0 +1,89 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * Copyright (C) 2018 Ericsson. 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.
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ * ============LICENSE_END=========================================================
+ */
+package org.onap.so.montoring.db.service;
+
+import static org.onap.so.montoring.configuration.rest.HttpServiceProviderConfiguration.DATABASE_HTTP_REST_SERVICE_PROVIDER;
+
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.List;
+import java.util.Map;
+
+import org.onap.so.montoring.camunda.model.SoActiveInfraRequests;
+import org.onap.so.montoring.configuration.database.DatabaseUrlProvider;
+import org.onap.so.montoring.model.SoInfraRequest;
+import org.onap.so.montoring.model.SoInfraRequestBuilder;
+import org.onap.so.montoring.rest.service.HttpRestServiceProvider;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Qualifier;
+import org.springframework.stereotype.Service;
+
+import com.google.common.base.Optional;
+
+/**
+ * @author waqas.ikram@ericsson.com
+ */
+@Service
+public class DatabaseServiceProviderImpl implements DatabaseServiceProvider {
+
+ private final DatabaseUrlProvider urlProvider;
+
+ private final HttpRestServiceProvider httpRestServiceProvider;
+
+ @Autowired
+ public DatabaseServiceProviderImpl(final DatabaseUrlProvider urlProvider,
+ @Qualifier(DATABASE_HTTP_REST_SERVICE_PROVIDER) @Autowired final HttpRestServiceProvider httpRestServiceProvider) {
+ this.urlProvider = urlProvider;
+ this.httpRestServiceProvider = httpRestServiceProvider;
+ }
+
+ @Override
+ public List<SoInfraRequest> getSoInfraRequest(final Map<String, String[]> filters, final long startTime,
+ final long endTime, final Integer maxResult) {
+ final String url = urlProvider.getSearchUrl(startTime, endTime, maxResult);
+
+ final Optional<SoActiveInfraRequests[]> optionalRequests =
+ httpRestServiceProvider.postHttpRequest(filters, url, SoActiveInfraRequests[].class);
+ if (optionalRequests.isPresent()) {
+ return getSoInfraRequest(optionalRequests.get());
+ }
+ return Collections.emptyList();
+ }
+
+
+ private List<SoInfraRequest> getSoInfraRequest(final SoActiveInfraRequests[] requests) {
+ final List<SoInfraRequest> result = new ArrayList<>(requests.length);
+ for (final SoActiveInfraRequests activeRequests : requests) {
+ final SoInfraRequest soInfraRequest =
+ new SoInfraRequestBuilder().setRequestId(activeRequests.getRequestId())
+ .setServiceInstanceId(activeRequests.getServiceInstanceId())
+ .setNetworkId(activeRequests.getNetworkId()).setEndTime(activeRequests.getEndTime())
+ .setRequestStatus(activeRequests.getRequestStatus())
+ .setServiceIstanceName(activeRequests.getServiceInstanceName())
+ .setServiceType(activeRequests.getServiceType()).setStartTime(activeRequests.getStartTime())
+ .build();
+ result.add(soInfraRequest);
+
+ }
+ return result;
+ }
+
+
+}
diff --git a/so-monitoring/so-monitoring-handler/src/main/java/org/onap/so/montoring/exception/InvalidRestRequestException.java b/so-monitoring/so-monitoring-handler/src/main/java/org/onap/so/montoring/exception/InvalidRestRequestException.java
new file mode 100644
index 0000000000..8e4c751c8e
--- /dev/null
+++ b/so-monitoring/so-monitoring-handler/src/main/java/org/onap/so/montoring/exception/InvalidRestRequestException.java
@@ -0,0 +1,36 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * Copyright (C) 2018 Ericsson. 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.
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ * ============LICENSE_END=========================================================
+ */
+package org.onap.so.montoring.exception;
+
+/**
+ * @author waqas.ikram@ericsson.com
+ *
+ */
+public class InvalidRestRequestException extends RuntimeException {
+ private static final long serialVersionUID = -1158414939006977465L;
+
+ public InvalidRestRequestException(final String message) {
+ super(message);
+ }
+
+ public InvalidRestRequestException(final String message, final Throwable cause) {
+ super(message, cause);
+ }
+}
diff --git a/so-monitoring/so-monitoring-handler/src/main/java/org/onap/so/montoring/exception/RestProcessingException.java b/so-monitoring/so-monitoring-handler/src/main/java/org/onap/so/montoring/exception/RestProcessingException.java
new file mode 100644
index 0000000000..2d3544ed66
--- /dev/null
+++ b/so-monitoring/so-monitoring-handler/src/main/java/org/onap/so/montoring/exception/RestProcessingException.java
@@ -0,0 +1,37 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * Copyright (C) 2018 Ericsson. 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.
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ * ============LICENSE_END=========================================================
+ */
+package org.onap.so.montoring.exception;
+
+/**
+ * @author waqas.ikram@ericsson.com
+ *
+ */
+public class RestProcessingException extends RuntimeException {
+
+ private static final long serialVersionUID = 16862313537198441L;
+
+ public RestProcessingException(final String message) {
+ super(message);
+ }
+
+ public RestProcessingException(final String message, final Throwable cause) {
+ super(message, cause);
+ }
+}
diff --git a/so-monitoring/so-monitoring-handler/src/main/java/org/onap/so/montoring/model/ActivityInstanceDetail.java b/so-monitoring/so-monitoring-handler/src/main/java/org/onap/so/montoring/model/ActivityInstanceDetail.java
new file mode 100644
index 0000000000..5691f23622
--- /dev/null
+++ b/so-monitoring/so-monitoring-handler/src/main/java/org/onap/so/montoring/model/ActivityInstanceDetail.java
@@ -0,0 +1,192 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * Copyright (C) 2018 Ericsson. 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.
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ * ============LICENSE_END=========================================================
+ */
+package org.onap.so.montoring.model;
+
+import static org.onap.so.montoring.utils.ObjectEqualsUtils.isEqual;
+
+/**
+ * @author waqas.ikram@ericsson.com
+ *
+ */
+public class ActivityInstanceDetail {
+ private final String activityId;
+ private final String activityName;
+ private final String activityType;
+ private final String processInstanceId;
+ private final String calledProcessInstanceId;
+ private final String startTime;
+ private final String endTime;
+ private final String durationInMilliseconds;
+
+ public ActivityInstanceDetail(final ActivityInstanceDetailBuilder builder) {
+ this.activityId = builder.activityId;
+ this.activityName = builder.activityName;
+ this.activityType = builder.activityType;
+ this.processInstanceId = builder.processInstanceId;
+ this.calledProcessInstanceId = builder.calledProcessInstanceId;
+ this.startTime = builder.startTime;
+ this.endTime = builder.endTime;
+ this.durationInMilliseconds = builder.durationInMilliseconds;
+ }
+
+ /**
+ * @return the activityId
+ */
+ public String getActivityId() {
+ return activityId;
+ }
+
+ /**
+ * @return the activityName
+ */
+ public String getActivityName() {
+ return activityName;
+ }
+
+ /**
+ * @return the activityType
+ */
+ public String getActivityType() {
+ return activityType;
+ }
+
+ /**
+ * @return the processInstanceId
+ */
+ public String getProcessInstanceId() {
+ return processInstanceId;
+ }
+
+ /**
+ * @return the calledProcessInstanceId
+ */
+ public String getCalledProcessInstanceId() {
+ return calledProcessInstanceId;
+ }
+
+ /**
+ * @return the startTime
+ */
+ public String getStartTime() {
+ return startTime;
+ }
+
+ /**
+ * @return the endTime
+ */
+ public String getEndTime() {
+ return endTime;
+ }
+
+ /**
+ * @return the durationInMillis
+ */
+ public String getDurationInMillis() {
+ return durationInMilliseconds;
+ }
+
+ @Override
+ public int hashCode() {
+ final int prime = 31;
+ int result = 1;
+ result = prime * result + ((activityId == null) ? 0 : activityId.hashCode());
+ result = prime * result + ((activityName == null) ? 0 : activityName.hashCode());
+ result = prime * result + ((activityType == null) ? 0 : activityType.hashCode());
+ result = prime * result + ((calledProcessInstanceId == null) ? 0 : calledProcessInstanceId.hashCode());
+ result = prime * result + ((durationInMilliseconds == null) ? 0 : durationInMilliseconds.hashCode());
+ result = prime * result + ((endTime == null) ? 0 : endTime.hashCode());
+ result = prime * result + ((processInstanceId == null) ? 0 : processInstanceId.hashCode());
+ result = prime * result + ((startTime == null) ? 0 : startTime.hashCode());
+ return result;
+ }
+
+ @Override
+ public boolean equals(final Object obj) {
+
+ if (obj instanceof ActivityInstanceDetail) {
+ final ActivityInstanceDetail other = (ActivityInstanceDetail) obj;
+ return isEqual(activityId, other.activityId) && isEqual(activityName, other.activityName)
+ && isEqual(activityType, other.activityType) && isEqual(processInstanceId, other.processInstanceId)
+ && isEqual(calledProcessInstanceId, other.calledProcessInstanceId)
+ && isEqual(startTime, other.startTime) && isEqual(endTime, other.endTime)
+ && isEqual(durationInMilliseconds, other.durationInMilliseconds);
+ }
+
+ return false;
+ }
+
+
+ public static final class ActivityInstanceDetailBuilder {
+
+ private String activityId;
+ private String activityName;
+ private String activityType;
+ private String processInstanceId;
+ private String calledProcessInstanceId;
+ private String startTime;
+ private String endTime;
+ private String durationInMilliseconds;
+
+ public ActivityInstanceDetailBuilder activityId(final String activityId) {
+ this.activityId = activityId;
+ return this;
+ }
+
+ public ActivityInstanceDetailBuilder activityName(final String activityName) {
+ this.activityName = activityName;
+ return this;
+ }
+
+ public ActivityInstanceDetailBuilder activityType(final String activityType) {
+ this.activityType = activityType;
+ return this;
+ }
+
+ public ActivityInstanceDetailBuilder processInstanceId(final String processInstanceId) {
+ this.processInstanceId = processInstanceId;
+ return this;
+ }
+
+ public ActivityInstanceDetailBuilder calledProcessInstanceId(final String calledProcessInstanceId) {
+ this.calledProcessInstanceId = calledProcessInstanceId;
+ return this;
+ }
+
+ public ActivityInstanceDetailBuilder startTime(final String startTime) {
+ this.startTime = startTime;
+ return this;
+ }
+
+ public ActivityInstanceDetailBuilder endTime(final String endTime) {
+ this.endTime = endTime;
+ return this;
+ }
+
+ public ActivityInstanceDetailBuilder durationInMilliseconds(final String durationInMilliseconds) {
+ this.durationInMilliseconds = durationInMilliseconds;
+ return this;
+ }
+
+ public ActivityInstanceDetail build() {
+ return new ActivityInstanceDetail(this);
+ }
+ }
+
+}
diff --git a/so-monitoring/so-monitoring-handler/src/main/java/org/onap/so/montoring/model/ProcessDefinitionDetail.java b/so-monitoring/so-monitoring-handler/src/main/java/org/onap/so/montoring/model/ProcessDefinitionDetail.java
new file mode 100644
index 0000000000..164a3921c0
--- /dev/null
+++ b/so-monitoring/so-monitoring-handler/src/main/java/org/onap/so/montoring/model/ProcessDefinitionDetail.java
@@ -0,0 +1,76 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * Copyright (C) 2018 Ericsson. 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.
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ * ============LICENSE_END=========================================================
+ */
+package org.onap.so.montoring.model;
+
+import static org.onap.so.montoring.utils.ObjectEqualsUtils.isEqual;
+
+/**
+ * @author waqas.ikram@ericsson.com
+ *
+ */
+public class ProcessDefinitionDetail {
+
+ private final String processDefinitionId;
+ private final String processDefinitionXml;
+
+ public ProcessDefinitionDetail(final String processDefinitionId, final String processDefinitionXml) {
+ this.processDefinitionId = processDefinitionId;
+ this.processDefinitionXml = processDefinitionXml;
+ }
+
+ /**
+ * @return the processDefinitionId
+ */
+ public String getProcessDefinitionId() {
+ return processDefinitionId;
+ }
+
+ /**
+ * @return the processDefinitionXml
+ */
+ public String getProcessDefinitionXml() {
+ return processDefinitionXml;
+ }
+
+ @Override
+ public int hashCode() {
+ final int prime = 31;
+ int result = 1;
+ result = prime * result + ((processDefinitionId == null) ? 0 : processDefinitionId.hashCode());
+ result = prime * result + ((processDefinitionXml == null) ? 0 : processDefinitionXml.hashCode());
+ return result;
+ }
+
+ @Override
+ public boolean equals(final Object obj) {
+ if (obj instanceof ProcessDefinitionDetail) {
+ final ProcessDefinitionDetail other = (ProcessDefinitionDetail) obj;
+ return isEqual(processDefinitionId, other.processDefinitionId)
+ && isEqual(processDefinitionXml, other.processDefinitionXml);
+ }
+ return false;
+ }
+
+ @Override
+ public String toString() {
+ return "ProcessDefinitionDetail [processDefinitionId=" + processDefinitionId + ", processDefinitionXml="
+ + processDefinitionXml + "]";
+ }
+}
diff --git a/so-monitoring/so-monitoring-handler/src/main/java/org/onap/so/montoring/model/ProcessInstanceDetail.java b/so-monitoring/so-monitoring-handler/src/main/java/org/onap/so/montoring/model/ProcessInstanceDetail.java
new file mode 100644
index 0000000000..a96b6c3a0f
--- /dev/null
+++ b/so-monitoring/so-monitoring-handler/src/main/java/org/onap/so/montoring/model/ProcessInstanceDetail.java
@@ -0,0 +1,103 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * Copyright (C) 2018 Ericsson. 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.
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ * ============LICENSE_END=========================================================
+ */
+package org.onap.so.montoring.model;
+
+import static org.onap.so.montoring.utils.ObjectEqualsUtils.isEqual;
+
+/**
+ * @author waqas.ikram@ericsson.com
+ */
+public class ProcessInstanceDetail {
+
+ private final String processInstanceId;
+ private final String processDefinitionId;
+ private final String processDefinitionName;
+ private final String superProcessInstanceId;
+
+
+ public ProcessInstanceDetail(final String processInstanceId, final String processDefinitionId,
+ final String processDefinitionName, final String superProcessInstanceId) {
+ this.processInstanceId = processInstanceId;
+ this.processDefinitionId = processDefinitionId;
+ this.processDefinitionName = processDefinitionName;
+ this.superProcessInstanceId = superProcessInstanceId;
+ }
+
+ /**
+ * @return the processInstanceId
+ */
+ public String getProcessInstanceId() {
+ return processInstanceId;
+ }
+
+ /**
+ * @return the processDefinitionId
+ */
+ public String getProcessDefinitionId() {
+ return processDefinitionId;
+ }
+
+ /**
+ * @return the processDefinitionName
+ */
+ public String getProcessDefinitionName() {
+ return processDefinitionName;
+ }
+
+ /**
+ * @return the superProcessInstanceId
+ */
+ public String getSuperProcessInstanceId() {
+ return superProcessInstanceId;
+ }
+
+ @Override
+ public int hashCode() {
+ final int prime = 31;
+ int result = 1;
+ result = prime * result + ((processInstanceId == null) ? 0 : processInstanceId.hashCode());
+ result = prime * result + ((processDefinitionId == null) ? 0 : processDefinitionId.hashCode());
+ result = prime * result + ((processDefinitionName == null) ? 0 : processDefinitionName.hashCode());
+ result = prime * result + ((superProcessInstanceId == null) ? 0 : superProcessInstanceId.hashCode());
+ return result;
+ }
+
+ @Override
+ public boolean equals(final Object obj) {
+ if (obj instanceof ProcessInstanceDetail) {
+ final ProcessInstanceDetail other = (ProcessInstanceDetail) obj;
+
+ return isEqual(processInstanceId, other.processInstanceId)
+ && isEqual(processDefinitionId, other.processDefinitionId)
+ && isEqual(processDefinitionName, other.processDefinitionName)
+ && isEqual(superProcessInstanceId, other.superProcessInstanceId);
+ }
+ return false;
+ }
+
+ @Override
+ public String toString() {
+ return "ProcessInstanceDetail [processInstanceId=" + processInstanceId + ", processDefinitionId="
+ + processDefinitionId + ", processDefinitionName=" + processDefinitionName + ", superProcessInstanceId="
+ + superProcessInstanceId + "]";
+ }
+
+
+}
diff --git a/so-monitoring/so-monitoring-handler/src/main/java/org/onap/so/montoring/model/ProcessInstanceIdDetail.java b/so-monitoring/so-monitoring-handler/src/main/java/org/onap/so/montoring/model/ProcessInstanceIdDetail.java
new file mode 100644
index 0000000000..b0bb7acc75
--- /dev/null
+++ b/so-monitoring/so-monitoring-handler/src/main/java/org/onap/so/montoring/model/ProcessInstanceIdDetail.java
@@ -0,0 +1,66 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * Copyright (C) 2018 Ericsson. 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.
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ * ============LICENSE_END=========================================================
+ */
+package org.onap.so.montoring.model;
+
+import static org.onap.so.montoring.utils.ObjectEqualsUtils.isEqual;
+
+/**
+ * @author waqas.ikram@ericsson.com
+ */
+public class ProcessInstanceIdDetail {
+
+ private final String processInstanceId;
+
+
+ public ProcessInstanceIdDetail(final String processInstanceId) {
+ this.processInstanceId = processInstanceId;
+ }
+
+ /**
+ * @return the processInstancId
+ */
+ public String getProcessInstanceId() {
+ return processInstanceId;
+ }
+
+ @Override
+ public int hashCode() {
+ final int prime = 31;
+ int result = 1;
+ result = prime * result + ((processInstanceId == null) ? 0 : processInstanceId.hashCode());
+ return result;
+ }
+
+ @Override
+ public boolean equals(final Object obj) {
+ if (obj instanceof ProcessInstanceIdDetail) {
+ final ProcessInstanceIdDetail other = (ProcessInstanceIdDetail) obj;
+
+ return isEqual(processInstanceId, other.processInstanceId);
+ }
+ return false;
+ }
+
+ @Override
+ public String toString() {
+ return "ProcessInstanceIdDetail [processInstanceId=" + processInstanceId + "]";
+ }
+
+}
diff --git a/so-monitoring/so-monitoring-handler/src/main/java/org/onap/so/montoring/model/ProcessInstanceVariableDetail.java b/so-monitoring/so-monitoring-handler/src/main/java/org/onap/so/montoring/model/ProcessInstanceVariableDetail.java
new file mode 100644
index 0000000000..9674dfea4d
--- /dev/null
+++ b/so-monitoring/so-monitoring-handler/src/main/java/org/onap/so/montoring/model/ProcessInstanceVariableDetail.java
@@ -0,0 +1,84 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * Copyright (C) 2018 Ericsson. 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.
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ * ============LICENSE_END=========================================================
+ */
+package org.onap.so.montoring.model;
+
+/**
+ * @author waqas.ikram@ericsson.com
+ */
+import static org.onap.so.montoring.utils.ObjectEqualsUtils.isEqual;
+
+public class ProcessInstanceVariableDetail {
+
+ private final String name;
+ private final Object value;
+ private final String type;
+
+ public ProcessInstanceVariableDetail(final String name, final Object value, final String type) {
+ this.name = name;
+ this.value = value;
+ this.type = type;
+ }
+
+ /**
+ * @return the name
+ */
+ public String getName() {
+ return name;
+ }
+
+ /**
+ * @return the value
+ */
+ public Object getValue() {
+ return value;
+ }
+
+ /**
+ * @return the type
+ */
+ public String getType() {
+ return type;
+ }
+
+ @Override
+ public int hashCode() {
+ final int prime = 31;
+ int result = 1;
+ result = prime * result + ((name == null) ? 0 : name.hashCode());
+ result = prime * result + ((value == null) ? 0 : value.hashCode());
+ result = prime * result + ((type == null) ? 0 : type.hashCode());
+ return result;
+ }
+
+ @Override
+ public boolean equals(final Object obj) {
+ if (obj instanceof ProcessInstanceVariableDetail) {
+ final ProcessInstanceVariableDetail other = (ProcessInstanceVariableDetail) obj;
+
+ return isEqual(name, other.name) && isEqual(value, other.value) && isEqual(type, other.type);
+ }
+ return false;
+ }
+
+ @Override
+ public String toString() {
+ return "ProcessInstanceVariableDetail [name=" + name + ", value=" + value + ", type=" + type + "]";
+ }
+}
diff --git a/so-monitoring/so-monitoring-handler/src/main/java/org/onap/so/montoring/model/SoInfraRequest.java b/so-monitoring/so-monitoring-handler/src/main/java/org/onap/so/montoring/model/SoInfraRequest.java
new file mode 100644
index 0000000000..ca392496eb
--- /dev/null
+++ b/so-monitoring/so-monitoring-handler/src/main/java/org/onap/so/montoring/model/SoInfraRequest.java
@@ -0,0 +1,132 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * Copyright (C) 2018 Ericsson. 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.
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ * ============LICENSE_END=========================================================
+ */
+package org.onap.so.montoring.model;
+
+import static org.onap.so.montoring.utils.ObjectEqualsUtils.isEqual;
+
+/**
+ * @author waqas.ikram@ericsson.com
+ */
+public class SoInfraRequest {
+
+ private final String requestId;
+ private final String serviceInstanceId;
+ private final String serviceIstanceName;
+ private final String networkId;
+ private final String requestStatus;
+ private final String serviceType;
+ private final String startTime;
+ private final String endTime;
+
+ public SoInfraRequest(final SoInfraRequestBuilder requestBuilder) {
+ this.requestId = requestBuilder.getRequestId();
+ this.serviceInstanceId = requestBuilder.getServiceInstanceId();
+ this.serviceIstanceName = requestBuilder.getServiceIstanceName();
+ this.networkId = requestBuilder.getNetworkId();
+ this.requestStatus = requestBuilder.getRequestStatus();
+ this.serviceType = requestBuilder.getServiceType();
+ this.startTime = requestBuilder.getStartTime();
+ this.endTime = requestBuilder.getEndTime();
+ }
+
+ /**
+ * @return the requestId
+ */
+ public String getRequestId() {
+ return requestId;
+ }
+
+ /**
+ * @return the serviceInstanceId
+ */
+ public String getServiceInstanceId() {
+ return serviceInstanceId;
+ }
+
+ /**
+ * @return the serviceIstanceName
+ */
+ public String getServiceIstanceName() {
+ return serviceIstanceName;
+ }
+
+ /**
+ * @return the networkId
+ */
+ public String getNetworkId() {
+ return networkId;
+ }
+
+ /**
+ * @return the requestStatus
+ */
+ public String getRequestStatus() {
+ return requestStatus;
+ }
+
+ /**
+ * @return the serviceType
+ */
+ public String getServiceType() {
+ return serviceType;
+ }
+
+ /**
+ * @return the startTime
+ */
+ public String getStartTime() {
+ return startTime;
+ }
+
+ /**
+ * @return the endTime
+ */
+ public String getEndTime() {
+ return endTime;
+ }
+
+ @Override
+ public int hashCode() {
+ final int prime = 31;
+ int result = 1;
+ result = prime * result + ((endTime == null) ? 0 : endTime.hashCode());
+ result = prime * result + ((networkId == null) ? 0 : networkId.hashCode());
+ result = prime * result + ((requestId == null) ? 0 : requestId.hashCode());
+ result = prime * result + ((requestStatus == null) ? 0 : requestStatus.hashCode());
+ result = prime * result + ((serviceInstanceId == null) ? 0 : serviceInstanceId.hashCode());
+ result = prime * result + ((serviceIstanceName == null) ? 0 : serviceIstanceName.hashCode());
+ result = prime * result + ((serviceType == null) ? 0 : serviceType.hashCode());
+ result = prime * result + ((startTime == null) ? 0 : startTime.hashCode());
+ return result;
+ }
+
+ @Override
+ public boolean equals(final Object obj) {
+ if (obj instanceof SoInfraRequest) {
+ final SoInfraRequest other = (SoInfraRequest) obj;
+ return isEqual(requestId, other.requestId) && isEqual(serviceInstanceId, other.serviceInstanceId)
+ && isEqual(serviceIstanceName, other.serviceIstanceName) && isEqual(networkId, other.networkId)
+ && isEqual(requestStatus, other.requestStatus) && isEqual(serviceType, other.serviceType)
+ && isEqual(startTime, other.startTime) && isEqual(endTime, other.endTime);
+ }
+ return false;
+ }
+
+}
diff --git a/so-monitoring/so-monitoring-handler/src/main/java/org/onap/so/montoring/model/SoInfraRequestBuilder.java b/so-monitoring/so-monitoring-handler/src/main/java/org/onap/so/montoring/model/SoInfraRequestBuilder.java
new file mode 100644
index 0000000000..3b996f758e
--- /dev/null
+++ b/so-monitoring/so-monitoring-handler/src/main/java/org/onap/so/montoring/model/SoInfraRequestBuilder.java
@@ -0,0 +1,148 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * Copyright (C) 2018 Ericsson. 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.
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ * ============LICENSE_END=========================================================
+ */
+package org.onap.so.montoring.model;
+
+import java.sql.Timestamp;
+
+/**
+ * @author waqas.ikram@ericsson.com
+ */
+public class SoInfraRequestBuilder {
+
+ private String requestId;
+ private String serviceInstanceId;
+ private String serviceIstanceName;
+ private String networkId;
+ private String requestStatus;
+ private String serviceType;
+ private String startTime;
+ private String endTime;
+
+ public SoInfraRequestBuilder setRequestId(final String requestId) {
+ this.requestId = requestId;
+ return this;
+ }
+
+ public SoInfraRequestBuilder setServiceInstanceId(final String serviceInstanceId) {
+ this.serviceInstanceId = serviceInstanceId;
+ return this;
+ }
+
+ public SoInfraRequestBuilder setServiceIstanceName(final String serviceIstanceName) {
+ this.serviceIstanceName = serviceIstanceName;
+ return this;
+ }
+
+ public SoInfraRequestBuilder setNetworkId(final String networkId) {
+ this.networkId = networkId;
+ return this;
+ }
+
+ public SoInfraRequestBuilder setRequestStatus(final String requestStatus) {
+ this.requestStatus = requestStatus;
+ return this;
+ }
+
+ public SoInfraRequestBuilder setServiceType(final String serviceType) {
+ this.serviceType = serviceType;
+ return this;
+ }
+
+ public SoInfraRequestBuilder setEndTime(final String endTime) {
+ this.endTime = endTime;
+ return this;
+ }
+
+ public SoInfraRequestBuilder setEndTime(final Timestamp endTime) {
+ this.endTime = endTime != null ? endTime.toString() : null;
+ return this;
+ }
+
+
+ public SoInfraRequestBuilder setStartTime(final String startTime) {
+ this.startTime = startTime;
+ return this;
+ }
+
+ public SoInfraRequestBuilder setStartTime(final Timestamp startTime) {
+ this.startTime = startTime != null ? startTime.toString() : null;
+ return this;
+ }
+
+ public SoInfraRequest build() {
+ return new SoInfraRequest(this);
+ }
+
+ /**
+ * @return the requestId
+ */
+ public String getRequestId() {
+ return requestId;
+ }
+
+ /**
+ * @return the serviceInstanceId
+ */
+ public String getServiceInstanceId() {
+ return serviceInstanceId;
+ }
+
+ /**
+ * @return the serviceIstanceName
+ */
+ public String getServiceIstanceName() {
+ return serviceIstanceName;
+ }
+
+ /**
+ * @return the networkId
+ */
+ public String getNetworkId() {
+ return networkId;
+ }
+
+ /**
+ * @return the requestStatus
+ */
+ public String getRequestStatus() {
+ return requestStatus;
+ }
+
+ /**
+ * @return the serviceType
+ */
+ public String getServiceType() {
+ return serviceType;
+ }
+
+ /**
+ * @return the startTime
+ */
+ public String getStartTime() {
+ return startTime;
+ }
+
+ /**
+ * @return the endTime
+ */
+ public String getEndTime() {
+ return endTime;
+ }
+}
diff --git a/so-monitoring/so-monitoring-handler/src/main/java/org/onap/so/montoring/rest/service/CamundaProcessDataServiceProvider.java b/so-monitoring/so-monitoring-handler/src/main/java/org/onap/so/montoring/rest/service/CamundaProcessDataServiceProvider.java
new file mode 100644
index 0000000000..81e30f1176
--- /dev/null
+++ b/so-monitoring/so-monitoring-handler/src/main/java/org/onap/so/montoring/rest/service/CamundaProcessDataServiceProvider.java
@@ -0,0 +1,47 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * Copyright (C) 2018 Ericsson. 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.
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ * ============LICENSE_END=========================================================
+ */
+package org.onap.so.montoring.rest.service;
+
+import java.util.List;
+
+import org.onap.so.montoring.model.ActivityInstanceDetail;
+import org.onap.so.montoring.model.ProcessDefinitionDetail;
+import org.onap.so.montoring.model.ProcessInstanceDetail;
+import org.onap.so.montoring.model.ProcessInstanceIdDetail;
+import org.onap.so.montoring.model.ProcessInstanceVariableDetail;
+
+import com.google.common.base.Optional;
+
+/**
+ * @author waqas.ikram@ericsson.com
+ */
+public interface CamundaProcessDataServiceProvider {
+
+ Optional<ProcessInstanceIdDetail> getProcessInstanceIdDetail(final String requestId);
+
+ Optional<ProcessInstanceDetail> getSingleProcessInstanceDetail(final String processInstanceId);
+
+ Optional<ProcessDefinitionDetail> getProcessDefinition(final String processDefinitionId);
+
+ List<ActivityInstanceDetail> getActivityInstance(final String processInstanceId);
+
+ List<ProcessInstanceVariableDetail> getProcessInstanceVariable(final String processInstanceId);
+
+}
diff --git a/so-monitoring/so-monitoring-handler/src/main/java/org/onap/so/montoring/rest/service/CamundaProcessDataServiceProviderImpl.java b/so-monitoring/so-monitoring-handler/src/main/java/org/onap/so/montoring/rest/service/CamundaProcessDataServiceProviderImpl.java
new file mode 100644
index 0000000000..b1815b5350
--- /dev/null
+++ b/so-monitoring/so-monitoring-handler/src/main/java/org/onap/so/montoring/rest/service/CamundaProcessDataServiceProviderImpl.java
@@ -0,0 +1,174 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * Copyright (C) 2018 Ericsson. 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.
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ * ============LICENSE_END=========================================================
+ */
+package org.onap.so.montoring.rest.service;
+
+import static org.onap.so.montoring.configuration.rest.HttpServiceProviderConfiguration.CAMUNDA_HTTP_REST_SERVICE_PROVIDER;
+
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.List;
+
+import org.onap.so.montoring.camunda.model.ActivityInstance;
+import org.onap.so.montoring.camunda.model.ProcessDefinition;
+import org.onap.so.montoring.camunda.model.ProcessInstance;
+import org.onap.so.montoring.camunda.model.ProcessInstanceVariable;
+import org.onap.so.montoring.configuration.camunda.CamundaRestUrlProvider;
+import org.onap.so.montoring.model.ActivityInstanceDetail;
+import org.onap.so.montoring.model.ProcessDefinitionDetail;
+import org.onap.so.montoring.model.ProcessInstanceDetail;
+import org.onap.so.montoring.model.ProcessInstanceIdDetail;
+import org.onap.so.montoring.model.ProcessInstanceVariableDetail;
+import org.slf4j.ext.XLogger;
+import org.slf4j.ext.XLoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Qualifier;
+import org.springframework.stereotype.Service;
+
+import com.google.common.base.Optional;
+
+/**
+ * @author waqas.ikram@ericsson.com
+ */
+@Service
+public class CamundaProcessDataServiceProviderImpl implements CamundaProcessDataServiceProvider {
+ private static final XLogger LOGGER = XLoggerFactory.getXLogger(CamundaProcessDataServiceProviderImpl.class);
+
+ private final CamundaRestUrlProvider urlProvider;
+
+ private final HttpRestServiceProvider httpRestServiceProvider;
+
+ @Autowired
+ public CamundaProcessDataServiceProviderImpl(final CamundaRestUrlProvider urlProvider,
+ @Qualifier(CAMUNDA_HTTP_REST_SERVICE_PROVIDER) @Autowired final HttpRestServiceProvider httpRestServiceProvider) {
+ this.urlProvider = urlProvider;
+ this.httpRestServiceProvider = httpRestServiceProvider;
+ }
+
+ @Override
+ public Optional<ProcessInstanceIdDetail> getProcessInstanceIdDetail(final String requestId) {
+ final String url = urlProvider.getHistoryProcessInstanceUrl(requestId);
+ final Optional<ProcessInstance[]> processInstances =
+ httpRestServiceProvider.getHttpResponse(url, ProcessInstance[].class);
+
+ if (processInstances.isPresent()) {
+ final ProcessInstance[] instances = processInstances.get();
+ LOGGER.debug("found process instance for request id: {}, result size: {}", requestId, instances.length);
+
+ if (instances.length > 0) {
+ for (int index = 0; index < instances.length; index++) {
+ final ProcessInstance processInstance = instances[index];
+ if (processInstance.getSuperProcessInstanceId() == null) {
+ return Optional.of(new ProcessInstanceIdDetail(processInstance.getId()));
+ }
+ LOGGER.debug("found sub process instance id with super process instanceId: {}",
+ processInstance.getSuperProcessInstanceId());
+ }
+ }
+ }
+ LOGGER.error("Unable to find process intance for request id: {}", requestId);
+ return Optional.absent();
+ }
+
+ @Override
+ public Optional<ProcessInstanceDetail> getSingleProcessInstanceDetail(final String processInstanceId) {
+ final String url = urlProvider.getSingleProcessInstanceUrl(processInstanceId);
+ final Optional<ProcessInstance> processInstances =
+ httpRestServiceProvider.getHttpResponse(url, ProcessInstance.class);
+
+ if (processInstances.isPresent()) {
+ final ProcessInstance processInstance = processInstances.get();
+
+ final ProcessInstanceDetail instanceDetail =
+ new ProcessInstanceDetail(processInstance.getId(), processInstance.getProcessDefinitionId(),
+ processInstance.getProcessDefinitionName(), processInstance.getSuperProcessInstanceId());
+ return Optional.of(instanceDetail);
+
+ }
+ LOGGER.error("Unable to find process intance for id: {}", processInstanceId);
+ return Optional.absent();
+ }
+
+
+ @Override
+ public Optional<ProcessDefinitionDetail> getProcessDefinition(final String processDefinitionId) {
+ final String url = urlProvider.getProcessDefinitionUrl(processDefinitionId);
+ final Optional<ProcessDefinition> response =
+ httpRestServiceProvider.getHttpResponse(url, ProcessDefinition.class);
+ if (response.isPresent()) {
+ final ProcessDefinition processDefinition = response.get();
+ final String xmlDefinition = processDefinition.getBpmn20Xml();
+ if (xmlDefinition != null) {
+ return Optional.of(new ProcessDefinitionDetail(processDefinitionId, xmlDefinition));
+ }
+ }
+ LOGGER.error("Unable to find process definition for processDefinitionId: {}", processDefinitionId);
+ return Optional.absent();
+ }
+
+ @Override
+ public List<ActivityInstanceDetail> getActivityInstance(final String processInstanceId) {
+ final String url = urlProvider.getActivityInstanceUrl(processInstanceId);
+ final Optional<ActivityInstance[]> response =
+ httpRestServiceProvider.getHttpResponse(url, ActivityInstance[].class);
+ if (response.isPresent()) {
+ final ActivityInstance[] activityInstances = response.get();
+ final List<ActivityInstanceDetail> activityInstanceDetails = new ArrayList<>(activityInstances.length);
+ for (int index = 0; index < activityInstances.length; index++) {
+
+ final ActivityInstance activityInstance = activityInstances[index];
+
+ activityInstanceDetails.add(new ActivityInstanceDetail.ActivityInstanceDetailBuilder()
+ .activityId(activityInstance.getActivityId()).activityName(activityInstance.getActivityName())
+ .activityType(activityInstance.getActivityType())
+ .calledProcessInstanceId(activityInstance.getCalledProcessInstanceId())
+ .startTime(activityInstance.getStartTime()).endTime(activityInstance.getEndTime())
+ .durationInMilliseconds(activityInstance.getDurationInMillis())
+ .processInstanceId(activityInstance.getProcessInstanceId()).build());
+
+ }
+ return activityInstanceDetails;
+ }
+ LOGGER.error("Unable to find activity intance detail for process instance id: {}", processInstanceId);
+ return Collections.emptyList();
+ }
+
+ @Override
+ public List<ProcessInstanceVariableDetail> getProcessInstanceVariable(final String processInstanceId) {
+ final String url = urlProvider.getProcessInstanceVariablesUrl(processInstanceId);
+ final Optional<ProcessInstanceVariable[]> response =
+ httpRestServiceProvider.getHttpResponse(url, ProcessInstanceVariable[].class);
+ if (response.isPresent()) {
+ final ProcessInstanceVariable[] instanceVariables = response.get();
+ final List<ProcessInstanceVariableDetail> instanceVariableDetails =
+ new ArrayList<>(instanceVariables.length);
+ for (int index = 0; index < instanceVariables.length; index++) {
+ final ProcessInstanceVariable processInstanceVariable = instanceVariables[index];
+ final ProcessInstanceVariableDetail instanceVariableDetail =
+ new ProcessInstanceVariableDetail(processInstanceVariable.getName(),
+ processInstanceVariable.getValue(), processInstanceVariable.getType());
+ instanceVariableDetails.add(instanceVariableDetail);
+ }
+ return instanceVariableDetails;
+ }
+ LOGGER.error("Unable to find process intance variable details for process instance id: {}", processInstanceId);
+ return Collections.emptyList();
+ }
+
+}
diff --git a/so-monitoring/so-monitoring-handler/src/main/java/org/onap/so/montoring/rest/service/HttpRestServiceProvider.java b/so-monitoring/so-monitoring-handler/src/main/java/org/onap/so/montoring/rest/service/HttpRestServiceProvider.java
new file mode 100644
index 0000000000..eb80ddcd78
--- /dev/null
+++ b/so-monitoring/so-monitoring-handler/src/main/java/org/onap/so/montoring/rest/service/HttpRestServiceProvider.java
@@ -0,0 +1,33 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * Copyright (C) 2018 Ericsson. 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.
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ * ============LICENSE_END=========================================================
+ */
+package org.onap.so.montoring.rest.service;
+
+import com.google.common.base.Optional;
+
+/**
+ * @author waqas.ikram@ericsson.com
+ */
+public interface HttpRestServiceProvider {
+
+ public <T> Optional<T> getHttpResponse(final String url, final Class<T> clazz);
+
+ public <T> Optional<T> postHttpRequest(final Object object, final String url, final Class<T> clazz);
+
+}
diff --git a/so-monitoring/so-monitoring-handler/src/main/java/org/onap/so/montoring/rest/service/HttpRestServiceProviderImpl.java b/so-monitoring/so-monitoring-handler/src/main/java/org/onap/so/montoring/rest/service/HttpRestServiceProviderImpl.java
new file mode 100644
index 0000000000..35e6038a86
--- /dev/null
+++ b/so-monitoring/so-monitoring-handler/src/main/java/org/onap/so/montoring/rest/service/HttpRestServiceProviderImpl.java
@@ -0,0 +1,113 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * Copyright (C) 2018 Ericsson. 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.
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ * ============LICENSE_END=========================================================
+ */
+package org.onap.so.montoring.rest.service;
+
+import org.onap.so.montoring.exception.InvalidRestRequestException;
+import org.onap.so.montoring.exception.RestProcessingException;
+import org.slf4j.ext.XLogger;
+import org.slf4j.ext.XLoggerFactory;
+import org.springframework.http.HttpEntity;
+import org.springframework.http.HttpMethod;
+import org.springframework.http.HttpStatus;
+import org.springframework.http.ResponseEntity;
+import org.springframework.web.client.HttpClientErrorException;
+import org.springframework.web.client.RestClientException;
+import org.springframework.web.client.RestTemplate;
+
+import com.google.common.base.Optional;
+
+/**
+ * @author waqas.ikram@ericsson.com
+ */
+public class HttpRestServiceProviderImpl implements HttpRestServiceProvider {
+
+ private static final XLogger LOGGER = XLoggerFactory.getXLogger(HttpRestServiceProviderImpl.class);
+
+ private final RestTemplate restTemplate;
+
+ public HttpRestServiceProviderImpl(final RestTemplate restTemplate) {
+ this.restTemplate = restTemplate;
+ }
+
+ @Override
+ public <T> Optional<T> getHttpResponse(final String url, final Class<T> clazz) {
+ LOGGER.trace("Will invoke HTTP GET using URL: {}", url);
+ try {
+ final ResponseEntity<T> response = restTemplate.exchange(url, HttpMethod.GET, null, clazz);
+ if (!response.getStatusCode().equals(HttpStatus.OK)) {
+ LOGGER.error("Unable to invoke HTTP GET using URL: {}, Response Code: {}", url,
+ response.getStatusCode());
+ return Optional.absent();
+ }
+
+ if (response.hasBody()) {
+ return Optional.of(response.getBody());
+ }
+ } catch (final HttpClientErrorException httpClientErrorException) {
+ LOGGER.error("Unable to invoke HTTP GET using url: {}, Response: {}", url,
+ httpClientErrorException.getRawStatusCode(), httpClientErrorException);
+ final int rawStatusCode = httpClientErrorException.getRawStatusCode();
+ if (rawStatusCode == HttpStatus.BAD_REQUEST.value() || rawStatusCode == HttpStatus.NOT_FOUND.value()) {
+ throw new InvalidRestRequestException("No result found for given url: " + url);
+ }
+ throw new RestProcessingException("Unable to invoke HTTP GET using URL: " + url);
+
+ } catch (final RestClientException restClientException) {
+ LOGGER.error("Unable to invoke HTTP GET using url: {}", url, restClientException);
+ throw new RestProcessingException("Unable to invoke HTTP GET using URL: " + url, restClientException);
+ }
+
+ return Optional.absent();
+ }
+
+ @Override
+ public <T> Optional<T> postHttpRequest(final Object object, final String url, final Class<T> clazz) {
+ try {
+ final HttpEntity<?> request = new HttpEntity<>(object);
+ final ResponseEntity<T> response = restTemplate.exchange(url, HttpMethod.POST, request, clazz);
+ if (!response.getStatusCode().equals(HttpStatus.OK)) {
+ LOGGER.error("Unable to invoke HTTP GET using URL: {}, Response Code: {}", url,
+ response.getStatusCode());
+ return Optional.absent();
+ }
+
+ if (response.hasBody()) {
+ return Optional.of(response.getBody());
+ }
+
+ } catch (final HttpClientErrorException httpClientErrorException) {
+ LOGGER.error("Unable to invoke HTTP POST using url: {}, Response: {}", url,
+ httpClientErrorException.getRawStatusCode(), httpClientErrorException);
+ final int rawStatusCode = httpClientErrorException.getRawStatusCode();
+ if (rawStatusCode == HttpStatus.BAD_REQUEST.value() || rawStatusCode == HttpStatus.NOT_FOUND.value()) {
+ throw new InvalidRestRequestException("No result found for given url: " + url);
+ }
+ throw new RestProcessingException("Unable to invoke HTTP POST using URL: " + url);
+
+ } catch (final RestClientException restClientException) {
+ LOGGER.error("Unable to invoke HTTP POST using url: {}", url, restClientException);
+ throw new RestProcessingException("Unable to invoke HTTP POST using URL: " + url, restClientException);
+ }
+
+ return Optional.absent();
+ }
+
+
+}
diff --git a/so-monitoring/so-monitoring-handler/src/main/java/org/onap/so/montoring/utils/ObjectEqualsUtils.java b/so-monitoring/so-monitoring-handler/src/main/java/org/onap/so/montoring/utils/ObjectEqualsUtils.java
new file mode 100644
index 0000000000..496ad26bea
--- /dev/null
+++ b/so-monitoring/so-monitoring-handler/src/main/java/org/onap/so/montoring/utils/ObjectEqualsUtils.java
@@ -0,0 +1,36 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * Copyright (C) 2018 Ericsson. 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.
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ * ============LICENSE_END=========================================================
+ */
+package org.onap.so.montoring.utils;
+
+/**
+ * @author waqas.ikram@ericsson.com
+ */
+public class ObjectEqualsUtils {
+
+ private ObjectEqualsUtils() {}
+
+ public static boolean isEqual(final Object objectA, final Object objectB) {
+ if (objectA == null) {
+ return objectB == null;
+ }
+ return objectA.equals(objectB);
+ }
+
+}
diff --git a/so-monitoring/so-monitoring-handler/src/test/java/org/onap/so/montoring/configuration/CamundaConfigurationTest.java b/so-monitoring/so-monitoring-handler/src/test/java/org/onap/so/montoring/configuration/CamundaConfigurationTest.java
new file mode 100644
index 0000000000..de891dd01b
--- /dev/null
+++ b/so-monitoring/so-monitoring-handler/src/test/java/org/onap/so/montoring/configuration/CamundaConfigurationTest.java
@@ -0,0 +1,44 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * Copyright (C) 2018 Ericsson. 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.
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ * ============LICENSE_END=========================================================
+ */
+package org.onap.so.montoring.configuration;
+
+import static org.junit.Assert.assertEquals;
+
+import org.junit.Test;
+import org.onap.so.montoring.configuration.camunda.CamundaConfiguration;
+import org.onap.so.montoring.configuration.camunda.CamundaRestUrlProvider;
+
+
+/**
+ * @author waqas.ikram@ericsson.com
+ *
+ */
+public class CamundaConfigurationTest {
+
+ @Test
+ public void test_CamundaRestURIConfiguration_ValidUrl() {
+ final CamundaConfiguration objUnderTest = new CamundaConfiguration();
+ final CamundaRestUrlProvider provider = objUnderTest.camundaRestUrlProvider("http://localhost:8080", "default");
+ assertEquals(
+ "http://localhost:8080/default/history/activity-instance?processInstanceId=Deadpool&sortBy=startTime&sortOrder=asc",
+ provider.getActivityInstanceUrl("Deadpool"));
+ }
+
+}
diff --git a/so-monitoring/so-monitoring-handler/src/test/java/org/onap/so/montoring/configuration/CamundaRestUrlProviderTest.java b/so-monitoring/so-monitoring-handler/src/test/java/org/onap/so/montoring/configuration/CamundaRestUrlProviderTest.java
new file mode 100644
index 0000000000..5fa9b447e6
--- /dev/null
+++ b/so-monitoring/so-monitoring-handler/src/test/java/org/onap/so/montoring/configuration/CamundaRestUrlProviderTest.java
@@ -0,0 +1,80 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * Copyright (C) 2018 Ericsson. 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.
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ * ============LICENSE_END=========================================================
+ */
+package org.onap.so.montoring.configuration;
+
+import static org.junit.Assert.assertEquals;
+
+import java.util.UUID;
+
+import org.junit.Test;
+import org.onap.so.montoring.configuration.camunda.CamundaRestUrlProvider;
+
+/**
+ * @author waqas.ikram@ericsson.com
+ */
+public class CamundaRestUrlProviderTest {
+ private static final String DEFAULT = "default";
+ private static final String CAMUNDA_REST_API_URL = "http://localhost:9080/engine-rest/engine/";
+ private static final String BASE_URL = CAMUNDA_REST_API_URL + DEFAULT;
+ private final CamundaRestUrlProvider objUnderTest = new CamundaRestUrlProvider(CAMUNDA_REST_API_URL, DEFAULT);
+ private static final String ID = UUID.randomUUID().toString();
+
+
+ @Test
+ public void test_GetHistoryProcessInstanceUrl() {
+ final String expectedUrl = BASE_URL + "/history/process-instance?variables=requestId_eq_" + ID;
+ final String actualUrl = objUnderTest.getHistoryProcessInstanceUrl(ID);
+ assertEquals(expectedUrl, actualUrl);
+ }
+
+ @Test
+ public void test_GetProcessInstanceUrl() {
+ final String expectedUrl = BASE_URL + "/history/process-instance/" + ID;
+ final String actualUrl = objUnderTest.getSingleProcessInstanceUrl(ID);
+ assertEquals(expectedUrl, actualUrl);
+ }
+
+
+ @Test
+ public void test_GetProcessDefinitionUrl() {
+ final String expectedUrl = BASE_URL + "/process-definition/" + ID + "/xml";
+ final String actualUrl = objUnderTest.getProcessDefinitionUrl(ID);
+ assertEquals(expectedUrl, actualUrl);
+
+ }
+
+ @Test
+ public void test_GetActivityIntanceUrl() {
+ final String expectedUrl =
+ BASE_URL + "/history/activity-instance?processInstanceId=" + ID + "&sortBy=startTime&sortOrder=asc";
+ final String actualUrl = objUnderTest.getActivityInstanceUrl(ID);
+ assertEquals(expectedUrl, actualUrl);
+
+ }
+
+ @Test
+ public void test_GetProcessInstanceVariablesUrl() {
+ final String expectedUrl = BASE_URL + "/history/variable-instance?processInstanceId=" + ID;
+ final String actualUrl = objUnderTest.getProcessInstanceVariablesUrl(ID);
+ assertEquals(expectedUrl, actualUrl);
+
+ }
+
+}
diff --git a/so-monitoring/so-monitoring-handler/src/test/java/org/onap/so/montoring/configuration/HttpServiceProviderConfigurationTest.java b/so-monitoring/so-monitoring-handler/src/test/java/org/onap/so/montoring/configuration/HttpServiceProviderConfigurationTest.java
new file mode 100644
index 0000000000..13a2f98d57
--- /dev/null
+++ b/so-monitoring/so-monitoring-handler/src/test/java/org/onap/so/montoring/configuration/HttpServiceProviderConfigurationTest.java
@@ -0,0 +1,70 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * Copyright (C) 2018 Ericsson. 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.
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ * ============LICENSE_END=========================================================
+ */
+package org.onap.so.montoring.configuration;
+
+import static org.junit.Assert.assertNotNull;
+
+import org.junit.Test;
+import org.onap.so.montoring.configuration.rest.HttpServiceProviderConfiguration;
+import org.onap.so.montoring.rest.service.HttpRestServiceProvider;
+import org.springframework.web.client.RestTemplate;
+
+/**
+ * @author waqas.ikram@ericsson.com
+ *
+ */
+public class HttpServiceProviderConfigurationTest {
+
+ private final HttpServiceProviderConfiguration objUnderTest = new HttpServiceProviderConfiguration();
+ private static final String AUTHORIZATION =
+ "Basic YWRtaW46S3A4Yko0U1hzek0wV1hsaGFrM2VIbGNzZTJnQXc4NHZhb0dHbUp2VXkyVQ==";
+
+ @Test
+ public void test_CamundaHttpRestServiceProvider_NotNull() {
+
+ final HttpRestServiceProvider serviceProvider =
+ objUnderTest.camundaHttpRestServiceProvider(new RestTemplate(), AUTHORIZATION);
+
+ assertNotNull(serviceProvider);
+ }
+
+ @Test
+ public void test_DatabaseHttpRestServiceProvider_NotNull() {
+
+ final HttpRestServiceProvider serviceProvider =
+ objUnderTest.databaseHttpRestServiceProvider(new RestTemplate(), AUTHORIZATION);
+
+ assertNotNull(serviceProvider);
+ }
+
+ @Test
+ public void test_DatabaseHttpRestServiceProviderWithAuthorizationNullOrEmpty_NotNull() {
+
+ HttpRestServiceProvider serviceProvider =
+ objUnderTest.databaseHttpRestServiceProvider(new RestTemplate(), null);
+
+ assertNotNull(serviceProvider);
+
+ serviceProvider = objUnderTest.databaseHttpRestServiceProvider(new RestTemplate(), "");
+
+ assertNotNull(serviceProvider);
+ }
+
+}
diff --git a/so-monitoring/so-monitoring-handler/src/test/java/org/onap/so/montoring/configuration/PojoClassesTests.java b/so-monitoring/so-monitoring-handler/src/test/java/org/onap/so/montoring/configuration/PojoClassesTests.java
new file mode 100644
index 0000000000..93dfa79990
--- /dev/null
+++ b/so-monitoring/so-monitoring-handler/src/test/java/org/onap/so/montoring/configuration/PojoClassesTests.java
@@ -0,0 +1,82 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * Copyright (C) 2018 Ericsson. 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.
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ * ============LICENSE_END=========================================================
+ */
+package org.onap.so.montoring.configuration;
+
+import static org.junit.Assert.assertFalse;
+
+import java.util.Set;
+import java.util.regex.Pattern;
+
+import org.junit.Test;
+import org.onap.so.openpojo.rules.ToStringTester;
+import org.springframework.beans.factory.config.BeanDefinition;
+import org.springframework.context.annotation.ClassPathScanningCandidateComponentProvider;
+import org.springframework.core.type.filter.RegexPatternTypeFilter;
+
+import com.openpojo.reflection.filters.FilterPackageInfo;
+import com.openpojo.validation.Validator;
+import com.openpojo.validation.ValidatorBuilder;
+import com.openpojo.validation.test.impl.GetterTester;
+import com.openpojo.validation.test.impl.SetterTester;
+
+import nl.jqno.equalsverifier.EqualsVerifier;
+import nl.jqno.equalsverifier.Warning;
+
+/**
+ * @author waqas.ikram@ericsson.com
+ */
+public class PojoClassesTests {
+
+ @Test
+ public void test_camunda_module_pojo_classes() throws ClassNotFoundException {
+ test("org.onap.so.montoring.camunda.model");
+ assertEqualMethod("org.onap.so.montoring.camunda.model");
+ }
+
+ @Test
+ public void test_so_monitoring_pojo_classes() throws ClassNotFoundException {
+ test("org.onap.so.montoring.model");
+ assertEqualMethod("org.onap.so.montoring.model");
+ }
+
+ public void assertEqualMethod(final String pojoPackage) throws ClassNotFoundException {
+ final Set<BeanDefinition> classes = getBeanDefinition(pojoPackage);
+ assertFalse(classes.isEmpty());
+ for (final BeanDefinition bean : classes) {
+ final Class<?> clazz = Class.forName(bean.getBeanClassName());
+ if (!clazz.getName().endsWith("Builder")) {
+ EqualsVerifier.forClass(clazz).suppress(Warning.STRICT_INHERITANCE, Warning.NONFINAL_FIELDS).verify();
+ }
+ }
+ }
+
+ private Set<BeanDefinition> getBeanDefinition(final String pojoPackage) {
+ final ClassPathScanningCandidateComponentProvider provider =
+ new ClassPathScanningCandidateComponentProvider(false);
+ provider.addIncludeFilter(new RegexPatternTypeFilter(Pattern.compile(pojoPackage + ".*")));
+ return provider.findCandidateComponents(pojoPackage);
+ }
+
+ private void test(final String pojoPackage) {
+ final Validator validator = ValidatorBuilder.create().with(new SetterTester()).with(new GetterTester())
+ .with(new ToStringTester()).build();
+ validator.validate(pojoPackage, new FilterPackageInfo());
+ }
+}
diff --git a/so-monitoring/so-monitoring-handler/src/test/java/org/onap/so/montoring/configuration/database/DatabaseUrlProviderTest.java b/so-monitoring/so-monitoring-handler/src/test/java/org/onap/so/montoring/configuration/database/DatabaseUrlProviderTest.java
new file mode 100644
index 0000000000..d9d260992d
--- /dev/null
+++ b/so-monitoring/so-monitoring-handler/src/test/java/org/onap/so/montoring/configuration/database/DatabaseUrlProviderTest.java
@@ -0,0 +1,52 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * Copyright (C) 2018 Ericsson. 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.
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ * ============LICENSE_END=========================================================
+ */
+package org.onap.so.montoring.configuration.database;
+
+import static org.junit.Assert.assertEquals;
+
+import org.junit.Test;
+
+
+/**
+ * @author waqas.ikram@ericsson.com
+ */
+public class DatabaseUrlProviderTest {
+
+ private static final int MAX_RESULT = 1;
+ private static final String URL = "http://localhost:8081/infraActiveRequests/";
+ private final DatabaseUrlProvider objUnderTest = new DatabaseUrlProvider(URL);
+
+ @Test
+ public void test_maxResultNull() {
+ final long from = System.currentTimeMillis();
+ final long to = System.currentTimeMillis();
+ final String actualUrl = objUnderTest.getSearchUrl(from, to, null);
+ assertEquals(URL + "v1/getInfraActiveRequests?from=" + from + "&to=" + to, actualUrl);
+ }
+
+ @Test
+ public void test_maxResultNotNull() {
+ final long from = System.currentTimeMillis();
+ final long to = System.currentTimeMillis();
+ final String actualUrl = objUnderTest.getSearchUrl(from, to, MAX_RESULT);
+ assertEquals(URL + "v1/getInfraActiveRequests?from=" + from + "&to=" + to + "&maxResult=" + MAX_RESULT,
+ actualUrl);
+ }
+}
diff --git a/so-monitoring/so-monitoring-handler/src/test/java/org/onap/so/montoring/db/api/DatabaseServiceProviderTest.java b/so-monitoring/so-monitoring-handler/src/test/java/org/onap/so/montoring/db/api/DatabaseServiceProviderTest.java
new file mode 100644
index 0000000000..3bb7b289e4
--- /dev/null
+++ b/so-monitoring/so-monitoring-handler/src/test/java/org/onap/so/montoring/db/api/DatabaseServiceProviderTest.java
@@ -0,0 +1,108 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * Copyright (C) 2018 Ericsson. 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.
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ * ============LICENSE_END=========================================================
+ */
+package org.onap.so.montoring.db.api;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
+import static org.mockito.Matchers.eq;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.when;
+
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.UUID;
+
+import org.junit.Test;
+import org.onap.so.montoring.camunda.model.SoActiveInfraRequests;
+import org.onap.so.montoring.configuration.database.DatabaseUrlProvider;
+import org.onap.so.montoring.db.service.DatabaseServiceProvider;
+import org.onap.so.montoring.db.service.DatabaseServiceProviderImpl;
+import org.onap.so.montoring.model.SoInfraRequest;
+import org.onap.so.montoring.rest.service.HttpRestServiceProvider;
+
+import com.google.common.base.Optional;
+
+
+/**
+ * @author waqas.ikram@ericsson.com
+ */
+public class DatabaseServiceProviderTest {
+
+ private final static DatabaseUrlProvider URL_PROVIDER =
+ new DatabaseUrlProvider("http://localhost:8081/infraActiveRequests/");
+
+ @Test
+ public void test_GetSoInfraRequest_WithEmptyFilters_EmptyList() {
+ final HttpRestServiceProvider mockServiceProvider = mock(HttpRestServiceProvider.class);
+ final String searchUrl = URL_PROVIDER.getSearchUrl(0, 0, null);
+ final Optional<SoActiveInfraRequests[]> response = Optional.of(new SoActiveInfraRequests[] {});
+
+ when(mockServiceProvider.postHttpRequest(eq(Collections.emptyMap()), eq(searchUrl),
+ eq(SoActiveInfraRequests[].class))).thenReturn(response);
+
+ final DatabaseServiceProvider objUnderTest = new DatabaseServiceProviderImpl(URL_PROVIDER, mockServiceProvider);
+
+ assertTrue(objUnderTest.getSoInfraRequest(Collections.emptyMap(), 0, 0, null).isEmpty());
+ }
+
+ @Test
+ public void test_GetSoInfraRequest_OptionalAbsent_EmptyList() {
+ final HttpRestServiceProvider mockServiceProvider = mock(HttpRestServiceProvider.class);
+ final String searchUrl = URL_PROVIDER.getSearchUrl(0, 0, null);
+ final Optional<SoActiveInfraRequests[]> response = Optional.absent();
+
+ when(mockServiceProvider.postHttpRequest(eq(Collections.emptyMap()), eq(searchUrl),
+ eq(SoActiveInfraRequests[].class))).thenReturn(response);
+
+ final DatabaseServiceProvider objUnderTest = new DatabaseServiceProviderImpl(URL_PROVIDER, mockServiceProvider);
+
+ assertTrue(objUnderTest.getSoInfraRequest(Collections.emptyMap(), 0, 0, null).isEmpty());
+ }
+
+
+ @Test
+ public void test_GetSoInfraRequest_WithFilters_InfraActiveRequestsList() {
+ final String searchUrl = URL_PROVIDER.getSearchUrl(0, 0, null);
+ final String requestID = UUID.randomUUID().toString();
+ final Map<String, String[]> filters = new HashMap<>();
+ filters.put("requestId", new String[] {"EQ", requestID});
+
+ SoActiveInfraRequests soActiveInfraRequests = new SoActiveInfraRequests();
+ soActiveInfraRequests.setRequestId(requestID);
+
+ final Optional<SoActiveInfraRequests[]> response =
+ Optional.of(new SoActiveInfraRequests[] {soActiveInfraRequests});
+
+ final HttpRestServiceProvider mockServiceProvider = mock(HttpRestServiceProvider.class);
+
+ when(mockServiceProvider.postHttpRequest(eq(filters), eq(searchUrl), eq(SoActiveInfraRequests[].class)))
+ .thenReturn(response);
+
+ final DatabaseServiceProvider objUnderTest = new DatabaseServiceProviderImpl(URL_PROVIDER, mockServiceProvider);
+
+ final List<SoInfraRequest> actualList = objUnderTest.getSoInfraRequest(filters, 0, 0, null);
+ assertFalse(actualList.isEmpty());
+ assertEquals(requestID, actualList.get(0).getRequestId());
+
+ }
+}
diff --git a/so-monitoring/so-monitoring-handler/src/test/java/org/onap/so/montoring/rest/service/CamundaProcessDataServiceProviderTest.java b/so-monitoring/so-monitoring-handler/src/test/java/org/onap/so/montoring/rest/service/CamundaProcessDataServiceProviderTest.java
new file mode 100644
index 0000000000..351c476ca1
--- /dev/null
+++ b/so-monitoring/so-monitoring-handler/src/test/java/org/onap/so/montoring/rest/service/CamundaProcessDataServiceProviderTest.java
@@ -0,0 +1,232 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * Copyright (C) 2018 Ericsson. 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.
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ * ============LICENSE_END=========================================================
+ */
+package org.onap.so.montoring.rest.service;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.when;
+
+import java.util.List;
+import java.util.UUID;
+
+import org.junit.Test;
+import org.onap.so.montoring.camunda.model.ActivityInstance;
+import org.onap.so.montoring.camunda.model.ProcessDefinition;
+import org.onap.so.montoring.camunda.model.ProcessInstance;
+import org.onap.so.montoring.camunda.model.ProcessInstanceVariable;
+import org.onap.so.montoring.configuration.camunda.CamundaRestUrlProvider;
+import org.onap.so.montoring.model.ActivityInstanceDetail;
+import org.onap.so.montoring.model.ProcessDefinitionDetail;
+import org.onap.so.montoring.model.ProcessInstanceIdDetail;
+import org.onap.so.montoring.model.ProcessInstanceVariableDetail;
+
+import com.google.common.base.Optional;
+
+
+/**
+ * @author waqas.ikram@ericsson.com
+ */
+public class CamundaProcessDataServiceProviderTest {
+ private static final String DURATION = "1";
+ private static final String FLOW_XML = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>";
+ private static final String NAME = "Test";
+ private static final String DEFAULT = "default";
+ private static final String CAMUNDA_REST_API_URL = "http://localhost:9080/engine-rest/engine/";
+
+ private static final String ID = UUID.randomUUID().toString();
+ private static final String PROCESS_ID = UUID.randomUUID().toString();
+ private static final String DEF_ID = UUID.randomUUID().toString();
+ private static final String SUPER_PROCESS_ID = UUID.randomUUID().toString();
+ private final HttpRestServiceProvider httpRestServiceProvider = mock(HttpRestServiceProvider.class);
+ private final CamundaRestUrlProvider camundaRestUrlProvider =
+ new CamundaRestUrlProvider(CAMUNDA_REST_API_URL, DEFAULT);
+
+
+ @Test
+ public void test_GetProcessInstanceDetail_EmptyResponse() {
+ final Optional<ProcessInstance[]> response = Optional.<ProcessInstance[]>absent();
+ final String url = CAMUNDA_REST_API_URL + DEFAULT + "/history/process-instance?variables=requestId_eq_" + ID;
+ when(httpRestServiceProvider.getHttpResponse(url, ProcessInstance[].class)).thenReturn(response);
+ final CamundaProcessDataServiceProvider objUnderTest =
+ new CamundaProcessDataServiceProviderImpl(camundaRestUrlProvider, httpRestServiceProvider);
+
+ final Optional<ProcessInstanceIdDetail> actualResponse = objUnderTest.getProcessInstanceIdDetail(ID);
+ assertFalse(actualResponse.isPresent());
+ }
+
+ @Test
+ public void test_GetProcessInstanceDetail_NonEmptyResponseWithSuperProcessIdNull() {
+ final Optional<ProcessInstance[]> response = Optional.of(getProcessInstance());
+ final String url = CAMUNDA_REST_API_URL + DEFAULT + "/history/process-instance?variables=requestId_eq_" + ID;
+ when(httpRestServiceProvider.getHttpResponse(url, ProcessInstance[].class)).thenReturn(response);
+ final CamundaProcessDataServiceProvider objUnderTest =
+ new CamundaProcessDataServiceProviderImpl(camundaRestUrlProvider, httpRestServiceProvider);
+
+ final Optional<ProcessInstanceIdDetail> actualResponse = objUnderTest.getProcessInstanceIdDetail(ID);
+ assertTrue(actualResponse.isPresent());
+
+ final ProcessInstanceIdDetail actualProcessInstanceDetail = actualResponse.get();
+ assertEquals(PROCESS_ID, actualProcessInstanceDetail.getProcessInstanceId());
+ }
+
+ @Test
+ public void test_GetProcessInstanceDetail_NonEmptyResponseWithSuperProcessIdNotNull() {
+ final Optional<ProcessInstance[]> response = Optional.of(getProcessInstance(SUPER_PROCESS_ID));
+ final String url = CAMUNDA_REST_API_URL + DEFAULT + "/history/process-instance?variables=requestId_eq_" + ID;
+ when(httpRestServiceProvider.getHttpResponse(url, ProcessInstance[].class)).thenReturn(response);
+ final CamundaProcessDataServiceProvider objUnderTest =
+ new CamundaProcessDataServiceProviderImpl(camundaRestUrlProvider, httpRestServiceProvider);
+
+ final Optional<ProcessInstanceIdDetail> actualResponse = objUnderTest.getProcessInstanceIdDetail(ID);
+ assertFalse(actualResponse.isPresent());
+
+ }
+
+ @Test
+ public void test_GetProcessDefinition_EmptyResponse() {
+ final Optional<ProcessDefinition> response = Optional.<ProcessDefinition>absent();
+ final String url = CAMUNDA_REST_API_URL + DEFAULT + "/process-definition/" + ID + "/xml";
+ when(httpRestServiceProvider.getHttpResponse(url, ProcessDefinition.class)).thenReturn(response);
+ final CamundaProcessDataServiceProvider objUnderTest =
+ new CamundaProcessDataServiceProviderImpl(camundaRestUrlProvider, httpRestServiceProvider);
+
+ final Optional<ProcessDefinitionDetail> actualResponse = objUnderTest.getProcessDefinition(ID);
+ assertFalse(actualResponse.isPresent());
+ }
+
+ @Test
+ public void test_GetProcessDefinition_NonEmptyResponse() {
+ final Optional<ProcessDefinition> response = getProcessDefinition();
+ final String url = CAMUNDA_REST_API_URL + DEFAULT + "/process-definition/" + PROCESS_ID + "/xml";
+ when(httpRestServiceProvider.getHttpResponse(url, ProcessDefinition.class)).thenReturn(response);
+ final CamundaProcessDataServiceProvider objUnderTest =
+ new CamundaProcessDataServiceProviderImpl(camundaRestUrlProvider, httpRestServiceProvider);
+
+ final Optional<ProcessDefinitionDetail> actualResponse = objUnderTest.getProcessDefinition(PROCESS_ID);
+ assertTrue(actualResponse.isPresent());
+ assertEquals(PROCESS_ID, actualResponse.get().getProcessDefinitionId());
+ assertEquals(FLOW_XML, actualResponse.get().getProcessDefinitionXml());
+ }
+
+ @Test
+ public void test_GetActivityInstance_EmptyResponse() {
+ final Optional<ActivityInstance[]> response = Optional.<ActivityInstance[]>absent();
+ final String url = CAMUNDA_REST_API_URL + DEFAULT + "/history/activity-instance?processInstanceId=" + PROCESS_ID
+ + "&sortBy=startTime&sortOrder=asc";
+ when(httpRestServiceProvider.getHttpResponse(url, ActivityInstance[].class)).thenReturn(response);
+ final CamundaProcessDataServiceProvider objUnderTest =
+ new CamundaProcessDataServiceProviderImpl(camundaRestUrlProvider, httpRestServiceProvider);
+
+ final List<ActivityInstanceDetail> actualResponse = objUnderTest.getActivityInstance(PROCESS_ID);
+ assertTrue(actualResponse.isEmpty());
+
+ }
+
+ @Test
+ public void test_GetActivityInstance_NonEmptyResponse() {
+ final Optional<ActivityInstance[]> response = getActivityInstance();
+ final String url = CAMUNDA_REST_API_URL + DEFAULT + "/history/activity-instance?processInstanceId=" + PROCESS_ID
+ + "&sortBy=startTime&sortOrder=asc";
+ when(httpRestServiceProvider.getHttpResponse(url, ActivityInstance[].class)).thenReturn(response);
+ final CamundaProcessDataServiceProvider objUnderTest =
+ new CamundaProcessDataServiceProviderImpl(camundaRestUrlProvider, httpRestServiceProvider);
+
+ final List<ActivityInstanceDetail> actualResponse = objUnderTest.getActivityInstance(PROCESS_ID);
+ assertFalse(actualResponse.isEmpty());
+ final ActivityInstanceDetail actualActivityInstanceDetail = actualResponse.get(0);
+ assertEquals(ID, actualActivityInstanceDetail.getActivityId());
+ assertEquals(NAME, actualActivityInstanceDetail.getActivityName());
+ assertEquals(NAME, actualActivityInstanceDetail.getActivityType());
+
+ }
+
+ @Test
+ public void test_GetProcessInstanceVariable_EmptyResponse() {
+ final Optional<ProcessInstanceVariable[]> response = Optional.<ProcessInstanceVariable[]>absent();
+ final String url =
+ CAMUNDA_REST_API_URL + DEFAULT + "/history/variable-instance?processInstanceId=" + PROCESS_ID;
+ when(httpRestServiceProvider.getHttpResponse(url, ProcessInstanceVariable[].class)).thenReturn(response);
+ final CamundaProcessDataServiceProvider objUnderTest =
+ new CamundaProcessDataServiceProviderImpl(camundaRestUrlProvider, httpRestServiceProvider);
+
+ final List<ProcessInstanceVariableDetail> actualResponse = objUnderTest.getProcessInstanceVariable(PROCESS_ID);
+ assertTrue(actualResponse.isEmpty());
+
+ }
+
+ @Test
+ public void test_GetProcessInstanceVariable_NonEmptyResponse() {
+ final Optional<ProcessInstanceVariable[]> response = getProcessInstanceVariable();
+ final String url =
+ CAMUNDA_REST_API_URL + DEFAULT + "/history/variable-instance?processInstanceId=" + PROCESS_ID;
+ when(httpRestServiceProvider.getHttpResponse(url, ProcessInstanceVariable[].class)).thenReturn(response);
+ final CamundaProcessDataServiceProvider objUnderTest =
+ new CamundaProcessDataServiceProviderImpl(camundaRestUrlProvider, httpRestServiceProvider);
+
+ final List<ProcessInstanceVariableDetail> actualResponse = objUnderTest.getProcessInstanceVariable(PROCESS_ID);
+ assertFalse(actualResponse.isEmpty());
+ final ProcessInstanceVariableDetail variableDetail = actualResponse.get(0);
+ assertEquals(NAME, variableDetail.getName());
+ assertEquals(NAME, variableDetail.getType());
+ assertEquals(NAME, variableDetail.getValue());
+
+ }
+
+ private Optional<ProcessInstanceVariable[]> getProcessInstanceVariable() {
+ final ProcessInstanceVariable instanceVariable = new ProcessInstanceVariable();
+ instanceVariable.setName(NAME);
+ instanceVariable.setType(NAME);
+ instanceVariable.setValue(NAME);
+ return Optional.of(new ProcessInstanceVariable[] {instanceVariable});
+ }
+
+ private Optional<ActivityInstance[]> getActivityInstance() {
+ final ActivityInstance activityInstance = new ActivityInstance();
+ activityInstance.setActivityId(ID);
+ activityInstance.setActivityName(NAME);
+ activityInstance.setActivityType(NAME);
+ activityInstance.setDurationInMillis(DURATION);
+ return Optional.of(new ActivityInstance[] {activityInstance});
+ }
+
+ private Optional<ProcessDefinition> getProcessDefinition() {
+ final ProcessDefinition processDefinition = new ProcessDefinition();
+ processDefinition.setId(PROCESS_ID);
+ processDefinition.setBpmn20Xml(FLOW_XML);
+ return Optional.of(processDefinition);
+ }
+
+ private ProcessInstance[] getProcessInstance() {
+ return getProcessInstance(null);
+ }
+
+ private ProcessInstance[] getProcessInstance(final String superProcessInstanceId) {
+ final ProcessInstance instance = new ProcessInstance();
+ instance.setId(PROCESS_ID);
+ instance.setProcessDefinitionId(DEF_ID);
+ instance.setProcessDefinitionName(NAME);
+ instance.setSuperProcessInstanceId(superProcessInstanceId);
+ return new ProcessInstance[] {instance};
+ }
+
+
+}
diff --git a/so-monitoring/so-monitoring-handler/src/test/java/org/onap/so/montoring/utils/ObjectEqualsUtilsTest.java b/so-monitoring/so-monitoring-handler/src/test/java/org/onap/so/montoring/utils/ObjectEqualsUtilsTest.java
new file mode 100644
index 0000000000..b1ad4eae12
--- /dev/null
+++ b/so-monitoring/so-monitoring-handler/src/test/java/org/onap/so/montoring/utils/ObjectEqualsUtilsTest.java
@@ -0,0 +1,71 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * Copyright (C) 2018 Ericsson. 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.
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ * ============LICENSE_END=========================================================
+ */
+package org.onap.so.montoring.utils;
+
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
+
+import java.util.Arrays;
+import java.util.List;
+
+import org.junit.Test;
+
+
+/**
+ * @author waqas.ikram@ericsson.com
+ *
+ */
+public class ObjectEqualsUtilsTest {
+
+ private static final String VALUE = "Humpty Dumpty Sat On The Wall";
+
+ @Test
+ public void test_ObjectEqualsUtils_isEqual_NullValues() {
+ assertTrue(ObjectEqualsUtils.isEqual(null, null));
+ }
+
+ @Test
+ public void test_ObjectEqualsUtils_isEqual_FirstValueNullSecondNotNull() {
+ assertFalse(ObjectEqualsUtils.isEqual(null, VALUE));
+ }
+
+ @Test
+ public void test_ObjectEqualsUtils_isEqual_FirstValueNotNullSecondNull() {
+ assertFalse(ObjectEqualsUtils.isEqual(VALUE, null));
+ }
+
+ @Test
+ public void test_ObjectEqualsUtils_isEqual_NotNullValues() {
+ assertTrue(ObjectEqualsUtils.isEqual(VALUE, VALUE));
+ }
+
+ @Test
+ public void test_ObjectEqualsUtils_isEqual_CollectionValues() {
+ final List<Object> firstObject = Arrays.asList(VALUE);
+ final List<Object> secondObject = Arrays.asList(VALUE);
+ assertTrue(ObjectEqualsUtils.isEqual(firstObject, secondObject));
+ }
+
+ @Test
+ public void test_ObjectEqualsUtils_isEqual_CollectionAndStringValues() {
+ final List<Object> firstObject = Arrays.asList(VALUE);
+ assertFalse(ObjectEqualsUtils.isEqual(firstObject, VALUE));
+ }
+}
diff --git a/so-monitoring/so-monitoring-service/pom.xml b/so-monitoring/so-monitoring-service/pom.xml
new file mode 100644
index 0000000000..3aeed23291
--- /dev/null
+++ b/so-monitoring/so-monitoring-service/pom.xml
@@ -0,0 +1,93 @@
+<!--
+ ============LICENSE_START=======================================================
+ Copyright (C) 2018 Ericsson. 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.
+
+ SPDX-License-Identifier: Apache-2.0
+ ============LICENSE_END=========================================================
+-->
+
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>org.onap.so.monitoring</groupId>
+ <artifactId>so-monitoring</artifactId>
+ <version>1.3.0-SNAPSHOT</version>
+ </parent>
+ <artifactId>so-monitoring-service</artifactId>
+ <name>${project.artifactId}</name>
+
+ <dependencies>
+ <dependency>
+ <groupId>org.onap.so.monitoring</groupId>
+ <artifactId>so-monitoring-handler</artifactId>
+ <version>${project.version}</version>
+ <exclusions>
+ <exclusion>
+ <groupId>org.springframework.boot</groupId>
+ <artifactId>spring-boot-starter-security</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>org.springframework.boot</groupId>
+ <artifactId>spring-boot-starter-data-jpa</artifactId>
+ </exclusion>
+ </exclusions>
+ </dependency>
+
+ <dependency>
+ <groupId>org.springframework.boot</groupId>
+ <artifactId>spring-boot-starter-web</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.springframework.boot</groupId>
+ <artifactId>spring-boot-starter-test</artifactId>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.springframework.boot</groupId>
+ <artifactId>spring-boot-starter-jersey</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.springframework.boot</groupId>
+ <artifactId>spring-boot-configuration-processor</artifactId>
+ <scope>compile</scope>
+ </dependency>
+ </dependencies>
+
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.springframework.boot</groupId>
+ <artifactId>spring-boot-maven-plugin</artifactId>
+ <version>${springboot.version}</version>
+ <configuration>
+ <mainClass>org.onap.so.monitoring.rest.api.SoMonitoringApplication</mainClass>
+ </configuration>
+ <executions>
+ <execution>
+ <goals>
+ <goal>repackage</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ <plugin>
+ <groupId>org.springframework.boot</groupId>
+ <artifactId>spring-boot-maven-plugin</artifactId>
+ </plugin>
+ </plugins>
+ </build>
+
+</project> \ No newline at end of file
diff --git a/so-monitoring/so-monitoring-service/src/main/java/org/onap/so/monitoring/rest/api/JerseyConfiguration.java b/so-monitoring/so-monitoring-service/src/main/java/org/onap/so/monitoring/rest/api/JerseyConfiguration.java
new file mode 100644
index 0000000000..0f03f23898
--- /dev/null
+++ b/so-monitoring/so-monitoring-service/src/main/java/org/onap/so/monitoring/rest/api/JerseyConfiguration.java
@@ -0,0 +1,40 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * Copyright (C) 2018 Ericsson. 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.
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ * ============LICENSE_END=========================================================
+ */
+package org.onap.so.monitoring.rest.api;
+
+import javax.annotation.PostConstruct;
+import javax.ws.rs.ApplicationPath;
+
+import org.glassfish.jersey.server.ResourceConfig;
+import org.springframework.context.annotation.Configuration;
+
+/**
+ * @author waqas.ikram@ericsson.com
+ */
+@Configuration
+@ApplicationPath("/so/monitoring")
+public class JerseyConfiguration extends ResourceConfig {
+
+ @PostConstruct
+ public void setUp() {
+ register(SoMonitoringController.class);
+ }
+
+}
diff --git a/so-monitoring/so-monitoring-service/src/main/java/org/onap/so/monitoring/rest/api/SoMonitoringApplication.java b/so-monitoring/so-monitoring-service/src/main/java/org/onap/so/monitoring/rest/api/SoMonitoringApplication.java
new file mode 100644
index 0000000000..7c5a8965b7
--- /dev/null
+++ b/so-monitoring/so-monitoring-service/src/main/java/org/onap/so/monitoring/rest/api/SoMonitoringApplication.java
@@ -0,0 +1,37 @@
+/*-
+ * ============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.onap.so.monitoring.rest.api;
+
+import org.springframework.boot.SpringApplication;
+import org.springframework.boot.autoconfigure.SpringBootApplication;
+
+/**
+ * @author waqas.ikram@ericsson.com
+ */
+@SpringBootApplication(scanBasePackages = {"org.onap"})
+public class SoMonitoringApplication {
+
+ public static void main(String[] args) {
+ SpringApplication.run(SoMonitoringApplication.class, args);
+
+ }
+
+}
diff --git a/so-monitoring/so-monitoring-service/src/main/java/org/onap/so/monitoring/rest/api/SoMonitoringController.java b/so-monitoring/so-monitoring-service/src/main/java/org/onap/so/monitoring/rest/api/SoMonitoringController.java
new file mode 100644
index 0000000000..913fb3f934
--- /dev/null
+++ b/so-monitoring/so-monitoring-service/src/main/java/org/onap/so/monitoring/rest/api/SoMonitoringController.java
@@ -0,0 +1,236 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * Copyright (C) 2018 Ericsson. 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.
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ * ============LICENSE_END=========================================================
+ */
+package org.onap.so.monitoring.rest.api;
+
+import java.util.List;
+import java.util.Map;
+
+import javax.ws.rs.GET;
+import javax.ws.rs.POST;
+import javax.ws.rs.Path;
+import javax.ws.rs.PathParam;
+import javax.ws.rs.Produces;
+import javax.ws.rs.QueryParam;
+import javax.ws.rs.core.MediaType;
+import javax.ws.rs.core.Response;
+import javax.ws.rs.core.Response.Status;
+
+import org.onap.so.montoring.db.service.DatabaseServiceProvider;
+import org.onap.so.montoring.exception.InvalidRestRequestException;
+import org.onap.so.montoring.exception.RestProcessingException;
+import org.onap.so.montoring.model.ActivityInstanceDetail;
+import org.onap.so.montoring.model.ProcessDefinitionDetail;
+import org.onap.so.montoring.model.ProcessInstanceDetail;
+import org.onap.so.montoring.model.ProcessInstanceIdDetail;
+import org.onap.so.montoring.model.ProcessInstanceVariableDetail;
+import org.onap.so.montoring.model.SoInfraRequest;
+import org.onap.so.montoring.rest.service.CamundaProcessDataServiceProvider;
+import org.slf4j.ext.XLogger;
+import org.slf4j.ext.XLoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+
+import com.google.common.base.Optional;
+
+/**
+ * @author waqas.ikram@ericsson.com
+ */
+@Component
+@Path("/")
+public class SoMonitoringController {
+
+ private static final String INVALID_PROCESS_INSTANCE_ERROR_MESSAGE = "Invalid process instance id: ";
+
+ private static final XLogger LOGGER = XLoggerFactory.getXLogger(SoMonitoringController.class);
+
+ private final DatabaseServiceProvider databaseServiceProvider;
+
+ private final CamundaProcessDataServiceProvider camundaProcessDataServiceProvider;
+
+ @Autowired
+ public SoMonitoringController(final DatabaseServiceProvider databaseServiceProvider,
+ final CamundaProcessDataServiceProvider camundaProcessDataServiceProvider) {
+ this.databaseServiceProvider = databaseServiceProvider;
+ this.camundaProcessDataServiceProvider = camundaProcessDataServiceProvider;
+ }
+
+ @GET
+ @Path("/process-instance-id/{requestId}")
+ @Produces({MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML})
+ public Response getProcessInstanceId(final @PathParam("requestId") String requestId) {
+ if (requestId == null || requestId.isEmpty()) {
+ return Response.status(Status.BAD_REQUEST).entity("Invalid Request id: " + requestId).build();
+ }
+ try {
+ final Optional<ProcessInstanceIdDetail> processInstanceId =
+ camundaProcessDataServiceProvider.getProcessInstanceIdDetail(requestId);
+ if (processInstanceId.isPresent()) {
+ return Response.status(Status.OK).entity(processInstanceId.get()).build();
+ }
+
+ LOGGER.error("Unable to find process instance id for : {}", requestId);
+ return Response.status(Status.NO_CONTENT).build();
+
+ } catch (final InvalidRestRequestException extensions) {
+ final String message = "Unable to find process instance id for : " + requestId;
+ LOGGER.error(message);
+ return Response.status(Status.BAD_REQUEST).entity(message).build();
+ } catch (final RestProcessingException restProcessingException) {
+ final String message = "Unable to process request for id: " + requestId;
+ LOGGER.error(message);
+ return Response.status(Status.INTERNAL_SERVER_ERROR).entity(message).build();
+ }
+ }
+
+ @GET
+ @Path("/process-instance/{processInstanceId}")
+ @Produces({MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML})
+ public Response getSingleProcessInstance(final @PathParam("processInstanceId") String processInstanceId) {
+ if (processInstanceId == null || processInstanceId.isEmpty()) {
+ return Response.status(Status.BAD_REQUEST)
+ .entity(INVALID_PROCESS_INSTANCE_ERROR_MESSAGE + processInstanceId).build();
+ }
+ try {
+ final Optional<ProcessInstanceDetail> processInstanceDetail =
+ camundaProcessDataServiceProvider.getSingleProcessInstanceDetail(processInstanceId);
+ if (processInstanceDetail.isPresent()) {
+ return Response.status(Status.OK).entity(processInstanceDetail.get()).build();
+ }
+
+ LOGGER.error("Unable to find process instance id for : {}", processInstanceId);
+ return Response.status(Status.NO_CONTENT).build();
+
+ } catch (final InvalidRestRequestException extensions) {
+ final String message = "Unable to find process instance id for : " + processInstanceId;
+ LOGGER.error(message);
+ return Response.status(Status.BAD_REQUEST).entity(message).build();
+ } catch (final RestProcessingException restProcessingException) {
+ final String message = "Unable to process request for id: " + processInstanceId;
+ LOGGER.error(message);
+ return Response.status(Status.INTERNAL_SERVER_ERROR).entity(message).build();
+ }
+ }
+
+ @GET
+ @Path("/process-definition/{processDefinitionId}")
+ @Produces({MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML})
+ public Response getProcessDefinitionXml(final @PathParam("processDefinitionId") String processDefinitionId) {
+ if (processDefinitionId == null || processDefinitionId.isEmpty()) {
+ return Response.status(Status.BAD_REQUEST).entity("Invalid process definition id: " + processDefinitionId)
+ .build();
+ }
+ try {
+ final Optional<ProcessDefinitionDetail> response =
+ camundaProcessDataServiceProvider.getProcessDefinition(processDefinitionId);
+ if (response.isPresent()) {
+ final ProcessDefinitionDetail definitionDetail = response.get();
+ return Response.status(Status.OK).entity(definitionDetail).build();
+ }
+ LOGGER.error("Unable to find process definition xml for processDefinitionId: {}", processDefinitionId);
+ return Response.status(Status.NO_CONTENT).build();
+
+ } catch (final InvalidRestRequestException extensions) {
+ final String message =
+ "Unable to find process definition xml for processDefinitionId: {}" + processDefinitionId;
+ return Response.status(Status.BAD_REQUEST).entity(message).build();
+ } catch (final RestProcessingException restProcessingException) {
+ final String message = "Unable to get process definition xml for id: " + processDefinitionId;
+ LOGGER.error(message);
+ return Response.status(Status.INTERNAL_SERVER_ERROR).entity(message).build();
+ }
+ }
+
+ @GET
+ @Path("/activity-instance/{processInstanceId}")
+ @Produces({MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML})
+ public Response getActivityInstanceDetail(final @PathParam("processInstanceId") String processInstanceId) {
+ if (processInstanceId == null || processInstanceId.isEmpty()) {
+ return Response.status(Status.BAD_REQUEST)
+ .entity(INVALID_PROCESS_INSTANCE_ERROR_MESSAGE + processInstanceId).build();
+ }
+ try {
+ final List<ActivityInstanceDetail> activityInstanceDetails =
+ camundaProcessDataServiceProvider.getActivityInstance(processInstanceId);
+ return Response.status(Status.OK).entity(activityInstanceDetails).build();
+ } catch (final InvalidRestRequestException extensions) {
+ final String message = "Unable to find activity instance for processInstanceId: " + processInstanceId;
+ LOGGER.error(message);
+ return Response.status(Status.BAD_REQUEST).entity(message).build();
+ } catch (final RestProcessingException restProcessingException) {
+ final String message = "Unable to get activity instance detail for id: " + processInstanceId;
+ LOGGER.error(message);
+ return Response.status(Status.INTERNAL_SERVER_ERROR).entity(message).build();
+ }
+ }
+
+ @GET
+ @Path("/variable-instance/{processInstanceId}")
+ @Produces(MediaType.APPLICATION_JSON)
+ public Response getProcessInstanceVariables(final @PathParam("processInstanceId") String processInstanceId) {
+ if (processInstanceId == null || processInstanceId.isEmpty()) {
+ return Response.status(Status.BAD_REQUEST)
+ .entity(INVALID_PROCESS_INSTANCE_ERROR_MESSAGE + processInstanceId).build();
+ }
+ try {
+ final List<ProcessInstanceVariableDetail> processInstanceVariable =
+ camundaProcessDataServiceProvider.getProcessInstanceVariable(processInstanceId);
+ return Response.status(Status.OK).entity(processInstanceVariable).build();
+ } catch (final InvalidRestRequestException extensions) {
+ final String message =
+ "Unable to find process instance variables for processInstanceId: " + processInstanceId;
+ LOGGER.error(message);
+ return Response.status(Status.BAD_REQUEST).entity(message).build();
+ } catch (final RestProcessingException restProcessingException) {
+ final String message = "Unable to get process instance variables for id: " + processInstanceId;
+ LOGGER.error(message);
+ return Response.status(Status.INTERNAL_SERVER_ERROR).entity(message).build();
+ }
+ }
+
+ @POST
+ @Path("/v1/search")
+ @Produces({MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML})
+ public Response getInfraActiveRequests(final Map<String, String[]> filters,
+ @QueryParam("from") final long startTime, @QueryParam("to") final long endTime,
+ @QueryParam("maxResult") final Integer maxResult) {
+
+ if (filters == null) {
+ return Response.status(Status.BAD_REQUEST).entity("Invalid filters: " + filters).build();
+ }
+ try {
+ final List<SoInfraRequest> requests =
+ databaseServiceProvider.getSoInfraRequest(filters, startTime, endTime, maxResult);
+ LOGGER.info("result size: {}", requests.size());
+ return Response.status(Status.OK).entity(requests).build();
+
+ } catch (final InvalidRestRequestException extensions) {
+ final String message = "Unable to search request for filters: " + filters + ", from: " + startTime
+ + ", to: " + endTime + ", maxResult: " + maxResult;
+ LOGGER.error(message);
+ return Response.status(Status.BAD_REQUEST).entity(message).build();
+ } catch (final RestProcessingException restProcessingException) {
+ final String message = "Unable to search request for filters: " + filters + ", from: " + startTime
+ + ", to: " + endTime + ", maxResult: " + maxResult;
+ LOGGER.error(message);
+ return Response.status(Status.INTERNAL_SERVER_ERROR).entity(message).build();
+ }
+ }
+
+}
diff --git a/so-monitoring/so-monitoring-service/src/main/java/org/onap/so/monitoring/rest/api/WebApplicationConfig.java b/so-monitoring/so-monitoring-service/src/main/java/org/onap/so/monitoring/rest/api/WebApplicationConfig.java
new file mode 100644
index 0000000000..cadd60b0d9
--- /dev/null
+++ b/so-monitoring/so-monitoring-service/src/main/java/org/onap/so/monitoring/rest/api/WebApplicationConfig.java
@@ -0,0 +1,36 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * Copyright (C) 2018 Ericsson. 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.
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ * ============LICENSE_END=========================================================
+ */
+package org.onap.so.monitoring.rest.api;
+
+import org.springframework.context.annotation.Configuration;
+import org.springframework.web.servlet.config.annotation.ViewControllerRegistry;
+import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter;
+
+/**
+ * @author waqas.ikram@ericsson.com
+ */
+@Configuration
+public class WebApplicationConfig extends WebMvcConfigurerAdapter {
+ @Override
+ public void addViewControllers(final ViewControllerRegistry registry) {
+ super.addViewControllers(registry);
+ registry.addViewController("/details/**").setViewName("forward:/");
+ }
+}
diff --git a/so-monitoring/so-monitoring-service/src/main/resources/application.yaml b/so-monitoring/so-monitoring-service/src/main/resources/application.yaml
new file mode 100644
index 0000000000..f21207474a
--- /dev/null
+++ b/so-monitoring/so-monitoring-service/src/main/resources/application.yaml
@@ -0,0 +1,17 @@
+server:
+ port: 9091
+ tomcat:
+ max-threads: 50
+ssl-enable: false
+camunda:
+ rest:
+ api:
+ url: http://bpmn-infra:8081/engine-rest/engine/
+ engine: default
+ auth: Basic YWRtaW46S3A4Yko0U1hzek0wV1hsaGFrM2VIbGNzZTJnQXc4NHZhb0dHbUp2VXkyVQ==
+mso:
+ database:
+ rest:
+ api:
+ url: http://request-db-adapter:8083/infraActiveRequests/
+ auth: Basic YnBlbDpwYXNzd29yZDEk \ No newline at end of file
diff --git a/so-monitoring/so-monitoring-service/src/test/java/org/onap/so/monitoring/rest/api/SoMonitoringControllerTest.java b/so-monitoring/so-monitoring-service/src/test/java/org/onap/so/monitoring/rest/api/SoMonitoringControllerTest.java
new file mode 100644
index 0000000000..13953b0331
--- /dev/null
+++ b/so-monitoring/so-monitoring-service/src/test/java/org/onap/so/monitoring/rest/api/SoMonitoringControllerTest.java
@@ -0,0 +1,400 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * Copyright (C) 2018 Ericsson. 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.
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ * ============LICENSE_END=========================================================
+ */
+package org.onap.so.monitoring.rest.api;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertNull;
+import static org.onap.so.montoring.configuration.rest.RestTemplateConfigration.CAMUNDA_REST_TEMPLATE;
+import static org.springframework.test.web.client.match.MockRestRequestMatchers.requestTo;
+import static org.springframework.test.web.client.response.MockRestResponseCreators.withBadRequest;
+import static org.springframework.test.web.client.response.MockRestResponseCreators.withSuccess;
+import static org.springframework.test.web.client.response.MockRestResponseCreators.withUnauthorizedRequest;
+
+import java.io.IOException;
+import java.nio.file.Files;
+import java.nio.file.Path;
+import java.nio.file.Paths;
+import java.util.List;
+import java.util.UUID;
+
+import javax.ws.rs.core.Response;
+import javax.ws.rs.core.Response.Status;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.onap.so.montoring.configuration.camunda.CamundaRestUrlProvider;
+import org.onap.so.montoring.model.ActivityInstanceDetail;
+import org.onap.so.montoring.model.ProcessDefinitionDetail;
+import org.onap.so.montoring.model.ProcessInstanceDetail;
+import org.onap.so.montoring.model.ProcessInstanceIdDetail;
+import org.onap.so.montoring.model.ProcessInstanceVariableDetail;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Qualifier;
+import org.springframework.boot.test.context.SpringBootTest;
+import org.springframework.http.MediaType;
+import org.springframework.test.context.ActiveProfiles;
+import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
+import org.springframework.test.web.client.MockRestServiceServer;
+import org.springframework.web.client.RestTemplate;
+
+
+
+/**
+ * @author waqas.ikram@ericsson.com
+ */
+@RunWith(SpringJUnit4ClassRunner.class)
+@ActiveProfiles("test")
+@SpringBootTest
+public class SoMonitoringControllerTest {
+
+ private static final String PROCRESS_DEF_ID = "AFRFLOW:1:c6eea1b7-9722-11e8-8caf-022ac9304eeb";
+
+ private static final String EMPTY_ARRAY_RESPONSE = "[]";
+
+ private static final String PROCESS_INSTACE_ID = "5956a99d-9736-11e8-8caf-022ac9304eeb";
+
+ private static final String EMPTY_STRING = "";
+
+ private static final String SOURCE_TEST_FOLDER = "src/test/resources/camundaResponses/";
+
+ private static final Path PROCESS_DEF_RESPONSE_JSON_FILE = Paths.get(SOURCE_TEST_FOLDER + "processDefinition.json");
+
+ private static final Path ACTIVITY_INSTANCE_RESPONSE_JSON_FILE =
+ Paths.get(SOURCE_TEST_FOLDER + "activityInstance.json");
+
+ private static final Path PROCESS_INSTANCE_VARIABLES_RESPONSE_JSON_FILE =
+ Paths.get(SOURCE_TEST_FOLDER + "processInstanceVariables.json");
+
+ private static final Path PROCCESS_INSTANCE_RESPONSE_JSON_FILE =
+ Paths.get(SOURCE_TEST_FOLDER + "processInstance.json");
+
+ private static final Path SINGLE_PROCCESS_INSTANCE_RESPONSE_JSON_FILE =
+ Paths.get(SOURCE_TEST_FOLDER + "singleprocessInstance.json");
+
+ private static final String ID = UUID.randomUUID().toString();
+
+ @Autowired
+ @Qualifier(CAMUNDA_REST_TEMPLATE)
+ private RestTemplate restTemplate;
+
+ @Autowired
+ private CamundaRestUrlProvider urlProvider;
+
+ private MockRestServiceServer camundaMockServer;
+
+ @Autowired
+ private SoMonitoringController objUnderTest;
+
+ @Before
+ public void setUp() throws Exception {
+ camundaMockServer = MockRestServiceServer.bindTo(restTemplate).build();
+ }
+
+ @Test
+ public void test_GetProcessInstance_SuccessResponseWithDataFromCamunda() throws Exception {
+ final String jsonString = getJsonResponse(PROCCESS_INSTANCE_RESPONSE_JSON_FILE);
+ this.camundaMockServer.expect(requestTo(urlProvider.getHistoryProcessInstanceUrl(ID)))
+ .andRespond(withSuccess(jsonString, MediaType.APPLICATION_JSON));
+
+ final Response response = objUnderTest.getProcessInstanceId(ID);
+
+ assertEquals(Status.OK.getStatusCode(), response.getStatus());
+ final ProcessInstanceIdDetail actualProcessInstance = (ProcessInstanceIdDetail) response.getEntity();
+ assertEquals("dba707b6-8c02-11e8-a6ba-022a5dba5402", actualProcessInstance.getProcessInstanceId());
+ }
+
+ @Test
+ public void test_GetProcessInstance_SuccessResponseWithEmptyDataFromCamunda() throws Exception {
+ final String jsonString = EMPTY_ARRAY_RESPONSE;
+ this.camundaMockServer.expect(requestTo(urlProvider.getHistoryProcessInstanceUrl(ID)))
+ .andRespond(withSuccess(jsonString, MediaType.APPLICATION_JSON));
+
+ final Response response = objUnderTest.getProcessInstanceId(ID);
+ assertEquals(Status.NO_CONTENT.getStatusCode(), response.getStatus());
+ assertNull(response.getEntity());
+ }
+
+ @Test
+ public void test_GetProcessInstance_FailureResponseWithEmptyDataFromCamunda() throws Exception {
+ this.camundaMockServer.expect(requestTo(urlProvider.getHistoryProcessInstanceUrl(ID)))
+ .andRespond(withBadRequest());
+
+ final Response response = objUnderTest.getProcessInstanceId(ID);
+ assertEquals(Status.BAD_REQUEST.getStatusCode(), response.getStatus());
+ }
+
+ @Test
+ public void test_GetProcessInstance_UnauthorizedRequestFromCamunda() throws Exception {
+ this.camundaMockServer.expect(requestTo(urlProvider.getHistoryProcessInstanceUrl(ID)))
+ .andRespond(withUnauthorizedRequest());
+
+ final Response response = objUnderTest.getProcessInstanceId(ID);
+ assertEquals(Status.INTERNAL_SERVER_ERROR.getStatusCode(), response.getStatus());
+ assertNotNull(response.getEntity());
+ }
+
+ @Test
+ public void test_GetSinlgeProcessInstance_SuccessResponseWithDataFromCamunda() throws Exception {
+ final String jsonString = getJsonResponse(SINGLE_PROCCESS_INSTANCE_RESPONSE_JSON_FILE);
+ this.camundaMockServer.expect(requestTo(urlProvider.getSingleProcessInstanceUrl(PROCESS_INSTACE_ID)))
+ .andRespond(withSuccess(jsonString, MediaType.APPLICATION_JSON));
+
+ final Response response = objUnderTest.getSingleProcessInstance(PROCESS_INSTACE_ID);
+
+ assertEquals(Status.OK.getStatusCode(), response.getStatus());
+ final ProcessInstanceDetail actualProcessInstance = (ProcessInstanceDetail) response.getEntity();
+ assertEquals(PROCESS_INSTACE_ID, actualProcessInstance.getProcessInstanceId());
+ assertEquals("EricssonNetworkSliceV1:3:28f9e0fc-9b00-11e8-a57a-022ac90273ed",
+ actualProcessInstance.getProcessDefinitionId());
+ assertEquals("EricssonNetworkSliceV1", actualProcessInstance.getProcessDefinitionName());
+ assertNull(actualProcessInstance.getSuperProcessInstanceId());
+ }
+
+ @Test
+ public void test_GetSingleProcessInstance_WithBadRequestResponseFromCamunda() throws Exception {
+ this.camundaMockServer.expect(requestTo(urlProvider.getSingleProcessInstanceUrl(PROCESS_INSTACE_ID)))
+ .andRespond(withBadRequest());
+
+ final Response response = objUnderTest.getSingleProcessInstance(PROCESS_INSTACE_ID);
+ assertEquals(Status.BAD_REQUEST.getStatusCode(), response.getStatus());
+ assertNotNull(response.getEntity());
+ }
+
+ @Test
+ public void test_GetSingleProcessInstance_WithUnauthorizedRequestResponseFromCamunda() throws Exception {
+ this.camundaMockServer.expect(requestTo(urlProvider.getSingleProcessInstanceUrl(PROCESS_INSTACE_ID)))
+ .andRespond(withUnauthorizedRequest());
+
+ final Response response = objUnderTest.getSingleProcessInstance(PROCESS_INSTACE_ID);
+ assertEquals(Status.INTERNAL_SERVER_ERROR.getStatusCode(), response.getStatus());
+ assertNotNull(response.getEntity());
+ }
+
+ @Test
+ public void test_GetSingleProcessInstance_NullAndEmptyProcessInstanceIdFromCamunda() throws Exception {
+
+ Response response = objUnderTest.getSingleProcessInstance(null);
+ assertEquals(Status.BAD_REQUEST.getStatusCode(), response.getStatus());
+ assertNotNull(response.getEntity());
+
+ response = objUnderTest.getSingleProcessInstance("");
+ assertEquals(Status.BAD_REQUEST.getStatusCode(), response.getStatus());
+ assertNotNull(response.getEntity());
+ }
+
+
+ @Test
+ public void test_GetProcessInstance_EmptyRequestID() throws Exception {
+
+ Response response = objUnderTest.getProcessInstanceId(EMPTY_STRING);
+ assertEquals(Status.BAD_REQUEST.getStatusCode(), response.getStatus());
+
+ response = objUnderTest.getProcessInstanceId(null);
+ assertEquals(Status.BAD_REQUEST.getStatusCode(), response.getStatus());
+ }
+
+
+ @Test
+ public void test_GetProcessDefinitionXml_SuccessResponseWithDataFromCamunda() throws Exception {
+ final String jsonString = getJsonResponse(PROCESS_DEF_RESPONSE_JSON_FILE);
+ this.camundaMockServer.expect(requestTo(urlProvider.getProcessDefinitionUrl(PROCRESS_DEF_ID)))
+ .andRespond(withSuccess(jsonString, MediaType.APPLICATION_JSON));
+
+ final Response response = objUnderTest.getProcessDefinitionXml(PROCRESS_DEF_ID);
+ assertEquals(Status.OK.getStatusCode(), response.getStatus());
+
+ final ProcessDefinitionDetail actual = (ProcessDefinitionDetail) response.getEntity();
+ assertEquals(PROCRESS_DEF_ID, actual.getProcessDefinitionId());
+ }
+
+ @Test
+ public void test_GetProcessDefinitionXml_BadRequestResponseFromCamunda() throws Exception {
+ this.camundaMockServer.expect(requestTo(urlProvider.getProcessDefinitionUrl(PROCRESS_DEF_ID)))
+ .andRespond(withBadRequest());
+
+ final Response response = objUnderTest.getProcessDefinitionXml(PROCRESS_DEF_ID);
+ assertEquals(Status.BAD_REQUEST.getStatusCode(), response.getStatus());
+ assertNotNull(response.getEntity());
+ }
+
+ @Test
+ public void test_GetProcessDefinitionXml_UnauthorizedRequestFromCamunda() throws Exception {
+ this.camundaMockServer.expect(requestTo(urlProvider.getProcessDefinitionUrl(PROCRESS_DEF_ID)))
+ .andRespond(withUnauthorizedRequest());
+
+ final Response response = objUnderTest.getProcessDefinitionXml(PROCRESS_DEF_ID);
+ assertEquals(Status.INTERNAL_SERVER_ERROR.getStatusCode(), response.getStatus());
+ assertNotNull(response.getEntity());
+ }
+
+ @Test
+ public void test_GetProcessDefinitionXml_NullValues() throws Exception {
+ Response response = objUnderTest.getProcessDefinitionXml(EMPTY_STRING);
+ assertEquals(Status.BAD_REQUEST.getStatusCode(), response.getStatus());
+ assertNotNull(response.getEntity());
+
+ response = objUnderTest.getProcessDefinitionXml(null);
+ assertEquals(Status.BAD_REQUEST.getStatusCode(), response.getStatus());
+ assertNotNull(response.getEntity());
+ }
+
+ @Test
+ public void test_GetActivityInstanceDetail_SuccessResponseWithDataFromCamunda() throws Exception {
+ final String jsonString = getJsonResponse(ACTIVITY_INSTANCE_RESPONSE_JSON_FILE);
+ this.camundaMockServer.expect(requestTo(urlProvider.getActivityInstanceUrl(PROCESS_INSTACE_ID)))
+ .andRespond(withSuccess(jsonString, MediaType.APPLICATION_JSON));
+
+ final Response response = objUnderTest.getActivityInstanceDetail(PROCESS_INSTACE_ID);
+ @SuppressWarnings("unchecked")
+ final List<ActivityInstanceDetail> actual = (List<ActivityInstanceDetail>) response.getEntity();
+ assertEquals(Status.OK.getStatusCode(), response.getStatus());
+ assertEquals(12, actual.size());
+ final ActivityInstanceDetail activityInstanceDetail = actual.get(0);
+ assertEquals("createVCPE_startEvent", activityInstanceDetail.getActivityId());
+ assertEquals("Start Flow", activityInstanceDetail.getActivityName());
+ assertEquals("startEvent", activityInstanceDetail.getActivityType());
+ assertEquals(PROCESS_INSTACE_ID, activityInstanceDetail.getProcessInstanceId());
+ assertNull(activityInstanceDetail.getCalledProcessInstanceId());
+ assertEquals("26", activityInstanceDetail.getDurationInMillis());
+ assertEquals("2018-08-03T16:00:31.815+0000", activityInstanceDetail.getStartTime());
+ assertEquals("2018-08-03T16:00:31.841+0000", activityInstanceDetail.getEndTime());
+
+ final ActivityInstanceDetail callActivityInstanceDetail = actual.get(4);
+ assertEquals("DecomposeService", callActivityInstanceDetail.getActivityId());
+ assertEquals("Call Decompose Service", callActivityInstanceDetail.getActivityName());
+ assertEquals("callActivity", callActivityInstanceDetail.getActivityType());
+ assertEquals("59d99609-9736-11e8-8caf-022ac9304eeb", callActivityInstanceDetail.getCalledProcessInstanceId());
+ }
+
+ @Test
+ public void test_GetActivityInstanceDetail_SuccessResponseWithEmptyDataFromCamunda() throws Exception {
+ this.camundaMockServer.expect(requestTo(urlProvider.getActivityInstanceUrl(PROCESS_INSTACE_ID)))
+ .andRespond(withSuccess(EMPTY_ARRAY_RESPONSE, MediaType.APPLICATION_JSON));
+
+ final Response response = objUnderTest.getActivityInstanceDetail(PROCESS_INSTACE_ID);
+ assertEquals(Status.OK.getStatusCode(), response.getStatus());
+ assertNotNull(response.getEntity());
+ }
+
+ @Test
+ public void test_GetActivityInstanceDetail_UnauthorizedRequestFromCamunda() throws Exception {
+ this.camundaMockServer.expect(requestTo(urlProvider.getActivityInstanceUrl(PROCESS_INSTACE_ID)))
+ .andRespond(withUnauthorizedRequest());
+
+ final Response response = objUnderTest.getActivityInstanceDetail(PROCESS_INSTACE_ID);
+ assertEquals(Status.INTERNAL_SERVER_ERROR.getStatusCode(), response.getStatus());
+ assertNotNull(response.getEntity());
+ }
+
+ @Test
+ public void test_GetActivityInstanceDetail_BadRequestFromCamunda() throws Exception {
+ this.camundaMockServer.expect(requestTo(urlProvider.getActivityInstanceUrl(PROCESS_INSTACE_ID)))
+ .andRespond(withBadRequest());
+
+ final Response response = objUnderTest.getActivityInstanceDetail(PROCESS_INSTACE_ID);
+ assertEquals(Status.BAD_REQUEST.getStatusCode(), response.getStatus());
+ assertNotNull(response.getEntity());
+ }
+
+ @Test
+ public void test_GetActivityInstanceDetail_NullValues() throws Exception {
+ Response response = objUnderTest.getActivityInstanceDetail(EMPTY_STRING);
+ assertEquals(Status.BAD_REQUEST.getStatusCode(), response.getStatus());
+ assertNotNull(response.getEntity());
+
+ response = objUnderTest.getActivityInstanceDetail(null);
+ assertEquals(Status.BAD_REQUEST.getStatusCode(), response.getStatus());
+ assertNotNull(response.getEntity());
+ }
+
+ @Test
+ public void test_GetProcessInstanceVariables_SuccessResponseWithDataFromCamunda() throws Exception {
+ final String jsonString = getJsonResponse(PROCESS_INSTANCE_VARIABLES_RESPONSE_JSON_FILE);
+ this.camundaMockServer.expect(requestTo(urlProvider.getProcessInstanceVariablesUrl(PROCESS_INSTACE_ID)))
+ .andRespond(withSuccess(jsonString, MediaType.APPLICATION_JSON));
+
+ final Response response = objUnderTest.getProcessInstanceVariables(PROCESS_INSTACE_ID);
+
+ assertEquals(Status.OK.getStatusCode(), response.getStatus());
+ @SuppressWarnings("unchecked")
+ final List<ProcessInstanceVariableDetail> actual = (List<ProcessInstanceVariableDetail>) response.getEntity();
+ assertEquals(230, actual.size());
+
+ ProcessInstanceVariableDetail variableDetail = actual.get(0);
+ assertEquals("serviceType", variableDetail.getName());
+ assertEquals("String", variableDetail.getType());
+ assertEquals("PNFSERVICE", variableDetail.getValue());
+ }
+
+ @Test
+ public void test_GetProcessInstanceVariables_SuccessResponseWithEmptyDataFromCamunda() throws Exception {
+ this.camundaMockServer.expect(requestTo(urlProvider.getProcessInstanceVariablesUrl(PROCESS_INSTACE_ID)))
+ .andRespond(withSuccess(EMPTY_ARRAY_RESPONSE, MediaType.APPLICATION_JSON));
+
+ final Response response = objUnderTest.getProcessInstanceVariables(PROCESS_INSTACE_ID);
+
+ assertEquals(Status.OK.getStatusCode(), response.getStatus());
+ assertNotNull(response.getEntity());
+ }
+
+ @Test
+ public void test_GetProcessInstanceVariables_BadRequestFromCamunda() throws Exception {
+ this.camundaMockServer.expect(requestTo(urlProvider.getProcessInstanceVariablesUrl(PROCESS_INSTACE_ID)))
+ .andRespond(withBadRequest());
+
+ final Response response = objUnderTest.getProcessInstanceVariables(PROCESS_INSTACE_ID);
+
+ assertEquals(Status.BAD_REQUEST.getStatusCode(), response.getStatus());
+ assertNotNull(response.getEntity());
+ }
+
+ @Test
+ public void test_GetProcessInstanceVariables_UnauthorizedRequestFromCamunda() throws Exception {
+ this.camundaMockServer.expect(requestTo(urlProvider.getProcessInstanceVariablesUrl(PROCESS_INSTACE_ID)))
+ .andRespond(withUnauthorizedRequest());
+
+ final Response response = objUnderTest.getProcessInstanceVariables(PROCESS_INSTACE_ID);
+
+ assertEquals(Status.INTERNAL_SERVER_ERROR.getStatusCode(), response.getStatus());
+ assertNotNull(response.getEntity());
+ }
+
+ @Test
+ public void test_GetProcessInstanceVariables_NullAndEmptyValues() throws Exception {
+
+ Response response = objUnderTest.getProcessInstanceVariables(EMPTY_STRING);
+
+ assertEquals(Status.BAD_REQUEST.getStatusCode(), response.getStatus());
+ assertNotNull(response.getEntity());
+
+ response = objUnderTest.getProcessInstanceVariables(null);
+
+ assertEquals(Status.BAD_REQUEST.getStatusCode(), response.getStatus());
+ assertNotNull(response.getEntity());
+
+ }
+
+ private String getJsonResponse(final Path path) throws IOException {
+ return new String(Files.readAllBytes(path));
+ }
+
+}
diff --git a/so-monitoring/so-monitoring-service/src/test/resources/application-test.yaml b/so-monitoring/so-monitoring-service/src/test/resources/application-test.yaml
new file mode 100644
index 0000000000..be39294c66
--- /dev/null
+++ b/so-monitoring/so-monitoring-service/src/test/resources/application-test.yaml
@@ -0,0 +1,11 @@
+server:
+ port: 8080
+ tomcat:
+ max-threads: 50
+ssl-enable: false
+camunda:
+ rest:
+ api:
+ url: http://localhost:8080/engine-rest/engine/
+ engine: default
+ auth: Basic YWRtaW46S3A4Yko0U1hzek0wV1hsaGFrM2VIbGNzZTJnQXc4NHZhb0dHbUp2VXkyVQ==
diff --git a/so-monitoring/so-monitoring-service/src/test/resources/camundaResponses/activityInstance.json b/so-monitoring/so-monitoring-service/src/test/resources/camundaResponses/activityInstance.json
new file mode 100644
index 0000000000..a4f9e5b8d4
--- /dev/null
+++ b/so-monitoring/so-monitoring-service/src/test/resources/camundaResponses/activityInstance.json
@@ -0,0 +1,254 @@
+[
+ {
+ "id": "createVCPE_startEvent:595dae93-9736-11e8-8caf-022ac9304eeb",
+ "parentActivityInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "activityId": "createVCPE_startEvent",
+ "activityName": "Start Flow",
+ "activityType": "startEvent",
+ "processDefinitionKey": "AFRFLOW",
+ "processDefinitionId": "AFRFLOW:1:c6eea1b7-9722-11e8-8caf-022ac9304eeb",
+ "processInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "executionId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "taskId": null,
+ "calledProcessInstanceId": null,
+ "calledCaseInstanceId": null,
+ "assignee": null,
+ "startTime": "2018-08-03T16:00:31.815+0000",
+ "endTime": "2018-08-03T16:00:31.841+0000",
+ "durationInMillis": 26,
+ "canceled": false,
+ "completeScope": false,
+ "tenantId": null
+ },
+ {
+ "id": "5961f4bb-9736-11e8-8caf-022ac9304eeb",
+ "parentActivityInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "activityId": "preProcessRequest_ScriptTask",
+ "activityName": "PreProcess Incoming Request",
+ "activityType": "scriptTask",
+ "processDefinitionKey": "AFRFLOW",
+ "processDefinitionId": "AFRFLOW:1:c6eea1b7-9722-11e8-8caf-022ac9304eeb",
+ "processInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "executionId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "taskId": null,
+ "calledProcessInstanceId": null,
+ "calledCaseInstanceId": null,
+ "assignee": null,
+ "startTime": "2018-08-03T16:00:31.842+0000",
+ "endTime": "2018-08-03T16:00:32.532+0000",
+ "durationInMillis": 690,
+ "canceled": false,
+ "completeScope": false,
+ "tenantId": null
+ },
+ {
+ "id": "59cb3e17-9736-11e8-8caf-022ac9304eeb",
+ "parentActivityInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "activityId": "sendSyncAckResponse_ScriptTask",
+ "activityName": "Send Sync Ack Response",
+ "activityType": "scriptTask",
+ "processDefinitionKey": "AFRFLOW",
+ "processDefinitionId": "AFRFLOW:1:c6eea1b7-9722-11e8-8caf-022ac9304eeb",
+ "processInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "executionId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "taskId": null,
+ "calledProcessInstanceId": null,
+ "calledCaseInstanceId": null,
+ "assignee": null,
+ "startTime": "2018-08-03T16:00:32.532+0000",
+ "endTime": "2018-08-03T16:00:32.588+0000",
+ "durationInMillis": 56,
+ "canceled": false,
+ "completeScope": false,
+ "tenantId": null
+ },
+ {
+ "id": "ScriptTask_0cdtchu:59d465e4-9736-11e8-8caf-022ac9304eeb",
+ "parentActivityInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "activityId": "ScriptTask_0cdtchu",
+ "activityName": "Prepare\nDecompose\nService\n",
+ "activityType": "scriptTask",
+ "processDefinitionKey": "AFRFLOW",
+ "processDefinitionId": "AFRFLOW:1:c6eea1b7-9722-11e8-8caf-022ac9304eeb",
+ "processInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "executionId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "taskId": null,
+ "calledProcessInstanceId": null,
+ "calledCaseInstanceId": null,
+ "assignee": null,
+ "startTime": "2018-08-03T16:00:32.592+0000",
+ "endTime": "2018-08-03T16:00:32.609+0000",
+ "durationInMillis": 17,
+ "canceled": false,
+ "completeScope": false,
+ "tenantId": null
+ },
+ {
+ "id": "DecomposeService:59d6fdf8-9736-11e8-8caf-022ac9304eeb",
+ "parentActivityInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "activityId": "DecomposeService",
+ "activityName": "Call Decompose Service",
+ "activityType": "callActivity",
+ "processDefinitionKey": "AFRFLOW",
+ "processDefinitionId": "AFRFLOW:1:c6eea1b7-9722-11e8-8caf-022ac9304eeb",
+ "processInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "executionId": "59d6fdf7-9736-11e8-8caf-022ac9304eeb",
+ "taskId": null,
+ "calledProcessInstanceId": "59d99609-9736-11e8-8caf-022ac9304eeb",
+ "calledCaseInstanceId": null,
+ "assignee": null,
+ "startTime": "2018-08-03T16:00:32.609+0000",
+ "endTime": "2018-08-03T16:00:34.418+0000",
+ "durationInMillis": 1809,
+ "canceled": false,
+ "completeScope": false,
+ "tenantId": null
+ },
+ {
+ "id": "ScriptTask_0lpv2da:5aeb53a2-9736-11e8-8caf-022ac9304eeb",
+ "parentActivityInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "activityId": "ScriptTask_0lpv2da",
+ "activityName": "PostProcess\nDecompose\nService\n",
+ "activityType": "scriptTask",
+ "processDefinitionKey": "AFRFLOW",
+ "processDefinitionId": "AFRFLOW:1:c6eea1b7-9722-11e8-8caf-022ac9304eeb",
+ "processInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "executionId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "taskId": null,
+ "calledProcessInstanceId": null,
+ "calledCaseInstanceId": null,
+ "assignee": null,
+ "startTime": "2018-08-03T16:00:34.420+0000",
+ "endTime": "2018-08-03T16:00:34.437+0000",
+ "durationInMillis": 17,
+ "canceled": false,
+ "completeScope": false,
+ "tenantId": null
+ },
+ {
+ "id": "5aee12d2-9736-11e8-8caf-022ac9304eeb",
+ "parentActivityInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "activityId": "prepareCreateService_scriptTask",
+ "activityName": "Prepare\nCreate\nService\n",
+ "activityType": "scriptTask",
+ "processDefinitionKey": "AFRFLOW",
+ "processDefinitionId": "AFRFLOW:1:c6eea1b7-9722-11e8-8caf-022ac9304eeb",
+ "processInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "executionId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "taskId": null,
+ "calledProcessInstanceId": null,
+ "calledCaseInstanceId": null,
+ "assignee": null,
+ "startTime": "2018-08-03T16:00:34.438+0000",
+ "endTime": "2018-08-03T16:00:34.454+0000",
+ "durationInMillis": 16,
+ "canceled": false,
+ "completeScope": false,
+ "tenantId": null
+ },
+ {
+ "id": "5af083d7-9736-11e8-8caf-022ac9304eeb",
+ "parentActivityInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "activityId": "doCreateServiceInstance_CallActivity",
+ "activityName": "Call Create \nServiceInstance\n",
+ "activityType": "callActivity",
+ "processDefinitionKey": "AFRFLOW",
+ "processDefinitionId": "AFRFLOW:1:c6eea1b7-9722-11e8-8caf-022ac9304eeb",
+ "processInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "executionId": "5af083d6-9736-11e8-8caf-022ac9304eeb",
+ "taskId": null,
+ "calledProcessInstanceId": "5af12018-9736-11e8-8caf-022ac9304eeb",
+ "calledCaseInstanceId": null,
+ "assignee": null,
+ "startTime": "2018-08-03T16:00:34.454+0000",
+ "endTime": "2018-08-03T16:00:40.424+0000",
+ "durationInMillis": 5970,
+ "canceled": false,
+ "completeScope": false,
+ "tenantId": null
+ },
+ {
+ "id": "ScriptTask_1qd3uwb:5e7f9de7-9736-11e8-8caf-022ac9304eeb",
+ "parentActivityInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "activityId": "ScriptTask_1qd3uwb",
+ "activityName": "Post Process\nCreate\nService\n",
+ "activityType": "scriptTask",
+ "processDefinitionKey": "AFRFLOW",
+ "processDefinitionId": "AFRFLOW:1:c6eea1b7-9722-11e8-8caf-022ac9304eeb",
+ "processInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "executionId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "taskId": null,
+ "calledProcessInstanceId": null,
+ "calledCaseInstanceId": null,
+ "assignee": null,
+ "startTime": "2018-08-03T16:00:40.425+0000",
+ "endTime": "2018-08-03T16:00:40.443+0000",
+ "durationInMillis": 18,
+ "canceled": false,
+ "completeScope": false,
+ "tenantId": null
+ },
+ {
+ "id": "updateInfraRequest:5e825d0a-9736-11e8-8caf-022ac9304eeb",
+ "parentActivityInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "activityId": "updateInfraRequest",
+ "activityName": "Update DB status to SUCCESS",
+ "activityType": "serviceTask",
+ "processDefinitionKey": "AFRFLOW",
+ "processDefinitionId": "AFRFLOW:1:c6eea1b7-9722-11e8-8caf-022ac9304eeb",
+ "processInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "executionId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "taskId": null,
+ "calledProcessInstanceId": null,
+ "calledCaseInstanceId": null,
+ "assignee": null,
+ "startTime": "2018-08-03T16:00:40.443+0000",
+ "endTime": "2018-08-03T16:00:40.503+0000",
+ "durationInMillis": 60,
+ "canceled": false,
+ "completeScope": false,
+ "tenantId": null
+ },
+ {
+ "id": "5e8b84cc-9736-11e8-8caf-022ac9304eeb",
+ "parentActivityInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "activityId": "IntermediateCatchEvent_1x88t9v",
+ "activityName": "Await AAI Distribution\n\n",
+ "activityType": "intermediateTimer",
+ "processDefinitionKey": "AFRFLOW",
+ "processDefinitionId": "AFRFLOW:1:c6eea1b7-9722-11e8-8caf-022ac9304eeb",
+ "processInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "executionId": "5e8b84cb-9736-11e8-8caf-022ac9304eeb",
+ "taskId": null,
+ "calledProcessInstanceId": null,
+ "calledCaseInstanceId": null,
+ "assignee": null,
+ "startTime": "2018-08-03T16:00:40.505+0000",
+ "endTime": "2018-08-03T16:01:14.309+0000",
+ "durationInMillis": 33804,
+ "canceled": false,
+ "completeScope": false,
+ "tenantId": null
+ },
+ {
+ "id": "Task_14l19kv:72b2d216-9736-11e8-8caf-022ac9304eeb",
+ "parentActivityInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "activityId": "Task_14l19kv",
+ "activityName": "Create And Activate Pnf Resource",
+ "activityType": "callActivity",
+ "processDefinitionKey": "AFRFLOW",
+ "processDefinitionId": "AFRFLOW:1:c6eea1b7-9722-11e8-8caf-022ac9304eeb",
+ "processInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "executionId": "72b2d215-9736-11e8-8caf-022ac9304eeb",
+ "taskId": null,
+ "calledProcessInstanceId": "72b4cde7-9736-11e8-8caf-022ac9304eeb",
+ "calledCaseInstanceId": null,
+ "assignee": null,
+ "startTime": "2018-08-03T16:01:14.315+0000",
+ "endTime": null,
+ "durationInMillis": null,
+ "canceled": false,
+ "completeScope": false,
+ "tenantId": null
+ }
+] \ No newline at end of file
diff --git a/so-monitoring/so-monitoring-service/src/test/resources/camundaResponses/processDefinition.json b/so-monitoring/so-monitoring-service/src/test/resources/camundaResponses/processDefinition.json
new file mode 100644
index 0000000000..c4d9c7dcfa
--- /dev/null
+++ b/so-monitoring/so-monitoring-service/src/test/resources/camundaResponses/processDefinition.json
@@ -0,0 +1,4 @@
+{
+ "id": "AFRFLOW:1:c6eea1b7-9722-11e8-8caf-022ac9304eeb",
+ "bpmn20Xml": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<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.6.0\" xsi:schemaLocation=\"http://www.omg.org/spec/BPMN/20100524/MODEL BPMN20.xsd\"></bpmn2:definitions>"
+} \ No newline at end of file
diff --git a/so-monitoring/so-monitoring-service/src/test/resources/camundaResponses/processInstance.json b/so-monitoring/so-monitoring-service/src/test/resources/camundaResponses/processInstance.json
new file mode 100644
index 0000000000..d9e75e9b11
--- /dev/null
+++ b/so-monitoring/so-monitoring-service/src/test/resources/camundaResponses/processInstance.json
@@ -0,0 +1,59 @@
+[
+ {
+ "id": "dba707b6-8c02-11e8-a6ba-022a5dba5402",
+ "businessKey": "0a8b32d2-7281-423b-81a1-a44ebf8e489e",
+ "processDefinitionId": "b76aaeb6-8993-11e8-9f7c-022a5d7b2d2d",
+ "processDefinitionKey": "CreateGenericALaCarteServiceInstance",
+ "processDefinitionName": "CreateGenericALaCarteServiceInstance",
+ "processDefinitionVersion": 5,
+ "startTime": "2018-07-20T09:54:13.779+0000",
+ "endTime": "2018-07-20T09:54:15.344+0000",
+ "durationInMillis": 1565,
+ "startUserId": null,
+ "startActivityId": "createSI_startEvent",
+ "deleteReason": null,
+ "superProcessInstanceId": null,
+ "superCaseInstanceId": null,
+ "caseInstanceId": null,
+ "tenantId": null,
+ "state": "COMPLETED"
+ },
+ {
+ "id": "dbbcd94a-8c02-11e8-a6ba-022a5dba5402",
+ "businessKey": null,
+ "processDefinitionId": "DecomposeService:1:78e994ec-7fa7-11e8-816b-022a5d533d2a",
+ "processDefinitionKey": "DecomposeService",
+ "processDefinitionName": "DecomposeService",
+ "processDefinitionVersion": 1,
+ "startTime": "2018-07-20T09:54:13.921+0000",
+ "endTime": "2018-07-20T09:54:14.124+0000",
+ "durationInMillis": 203,
+ "startUserId": null,
+ "startActivityId": "createSI_startEvent",
+ "deleteReason": null,
+ "superProcessInstanceId": "dba707b6-8c02-11e8-a6ba-022a5dba5402",
+ "superCaseInstanceId": null,
+ "caseInstanceId": null,
+ "tenantId": null,
+ "state": "COMPLETED"
+ },
+ {
+ "id": "dbe0404f-8c02-11e8-a6ba-022a5dba5402",
+ "businessKey": null,
+ "processDefinitionId": "DoCreateServiceInstance:5:b7750f0d-8993-11e8-9f7c-022a5d7b2d2d",
+ "processDefinitionKey": "DoCreateServiceInstance",
+ "processDefinitionName": "DoCreateServiceInstance",
+ "processDefinitionVersion": 5,
+ "startTime": "2018-07-20T09:54:14.155+0000",
+ "endTime": "2018-07-20T09:54:15.169+0000",
+ "durationInMillis": 1014,
+ "startUserId": null,
+ "startActivityId": "createSI_startEvent",
+ "deleteReason": null,
+ "superProcessInstanceId": "dba707b6-8c02-11e8-a6ba-022a5dba5402",
+ "superCaseInstanceId": null,
+ "caseInstanceId": null,
+ "tenantId": null,
+ "state": "COMPLETED"
+ }
+] \ No newline at end of file
diff --git a/so-monitoring/so-monitoring-service/src/test/resources/camundaResponses/processInstanceVariables.json b/so-monitoring/so-monitoring-service/src/test/resources/camundaResponses/processInstanceVariables.json
new file mode 100644
index 0000000000..15c87ea1e9
--- /dev/null
+++ b/so-monitoring/so-monitoring-service/src/test/resources/camundaResponses/processInstanceVariables.json
@@ -0,0 +1,5062 @@
+[
+ {
+ "type": "String",
+ "value": "PNFSERVICE",
+ "valueInfo": {
+
+ },
+ "id": "59571ece-9736-11e8-8caf-022ac9304eeb",
+ "name": "serviceType",
+ "processDefinitionKey": "AFRFLOW",
+ "processDefinitionId": "AFRFLOW:1:c6eea1b7-9722-11e8-8caf-022ac9304eeb",
+ "processInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "executionId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "activityInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "caseDefinitionKey": null,
+ "caseDefinitionId": null,
+ "caseInstanceId": null,
+ "caseExecutionId": null,
+ "taskId": null,
+ "errorMessage": null,
+ "tenantId": null,
+ "state": "CREATED"
+ },
+ {
+ "type": "Boolean",
+ "value": false,
+ "valueInfo": {
+
+ },
+ "id": "595745df-9736-11e8-8caf-022ac9304eeb",
+ "name": "isBaseVfModule",
+ "processDefinitionKey": "AFRFLOW",
+ "processDefinitionId": "AFRFLOW:1:c6eea1b7-9722-11e8-8caf-022ac9304eeb",
+ "processInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "executionId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "activityInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "caseDefinitionKey": null,
+ "caseDefinitionId": null,
+ "caseInstanceId": null,
+ "caseExecutionId": null,
+ "taskId": null,
+ "errorMessage": null,
+ "tenantId": null,
+ "state": "CREATED"
+ },
+ {
+ "type": "String",
+ "value": "",
+ "valueInfo": {
+
+ },
+ "id": "595745e0-9736-11e8-8caf-022ac9304eeb",
+ "name": "vfModuleId",
+ "processDefinitionKey": "AFRFLOW",
+ "processDefinitionId": "AFRFLOW:1:c6eea1b7-9722-11e8-8caf-022ac9304eeb",
+ "processInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "executionId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "activityInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "caseDefinitionKey": null,
+ "caseDefinitionId": null,
+ "caseInstanceId": null,
+ "caseExecutionId": null,
+ "taskId": null,
+ "errorMessage": null,
+ "tenantId": null,
+ "state": "CREATED"
+ },
+ {
+ "type": "String",
+ "value": "",
+ "valueInfo": {
+
+ },
+ "id": "595745e1-9736-11e8-8caf-022ac9304eeb",
+ "name": "vfModuleType",
+ "processDefinitionKey": "AFRFLOW",
+ "processDefinitionId": "AFRFLOW:1:c6eea1b7-9722-11e8-8caf-022ac9304eeb",
+ "processInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "executionId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "activityInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "caseDefinitionKey": null,
+ "caseDefinitionId": null,
+ "caseInstanceId": null,
+ "caseExecutionId": null,
+ "taskId": null,
+ "errorMessage": null,
+ "tenantId": null,
+ "state": "CREATED"
+ },
+ {
+ "type": "Null",
+ "value": null,
+ "valueInfo": {
+
+ },
+ "id": "595745e2-9736-11e8-8caf-022ac9304eeb",
+ "name": "recipeParams",
+ "processDefinitionKey": "AFRFLOW",
+ "processDefinitionId": "AFRFLOW:1:c6eea1b7-9722-11e8-8caf-022ac9304eeb",
+ "processInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "executionId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "activityInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "caseDefinitionKey": null,
+ "caseDefinitionId": null,
+ "caseInstanceId": null,
+ "caseExecutionId": null,
+ "taskId": null,
+ "errorMessage": null,
+ "tenantId": null,
+ "state": "CREATED"
+ },
+ {
+ "type": "String",
+ "value": "createInstance",
+ "valueInfo": {
+
+ },
+ "id": "595745e3-9736-11e8-8caf-022ac9304eeb",
+ "name": "requestAction",
+ "processDefinitionKey": "AFRFLOW",
+ "processDefinitionId": "AFRFLOW:1:c6eea1b7-9722-11e8-8caf-022ac9304eeb",
+ "processInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "executionId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "activityInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "caseDefinitionKey": null,
+ "caseDefinitionId": null,
+ "caseInstanceId": null,
+ "caseExecutionId": null,
+ "taskId": null,
+ "errorMessage": null,
+ "tenantId": null,
+ "state": "CREATED"
+ },
+ {
+ "type": "String",
+ "value": "8383cec3-a39d-4037-aa23-e82891f178a7",
+ "valueInfo": {
+
+ },
+ "id": "595745e4-9736-11e8-8caf-022ac9304eeb",
+ "name": "mso-business-key",
+ "processDefinitionKey": "AFRFLOW",
+ "processDefinitionId": "AFRFLOW:1:c6eea1b7-9722-11e8-8caf-022ac9304eeb",
+ "processInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "executionId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "activityInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "caseDefinitionKey": null,
+ "caseDefinitionId": null,
+ "caseInstanceId": null,
+ "caseExecutionId": null,
+ "taskId": null,
+ "errorMessage": null,
+ "tenantId": null,
+ "state": "CREATED"
+ },
+ {
+ "type": "String",
+ "value": "55b3f0ea-70c5-4965-9e00-df77ed1552a3",
+ "valueInfo": {
+
+ },
+ "id": "595745e5-9736-11e8-8caf-022ac9304eeb",
+ "name": "mso-request-id",
+ "processDefinitionKey": "AFRFLOW",
+ "processDefinitionId": "AFRFLOW:1:c6eea1b7-9722-11e8-8caf-022ac9304eeb",
+ "processInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "executionId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "activityInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "caseDefinitionKey": null,
+ "caseDefinitionId": null,
+ "caseInstanceId": null,
+ "caseExecutionId": null,
+ "taskId": null,
+ "errorMessage": null,
+ "tenantId": null,
+ "state": "CREATED"
+ },
+ {
+ "type": "String",
+ "value": "",
+ "valueInfo": {
+
+ },
+ "id": "595745e6-9736-11e8-8caf-022ac9304eeb",
+ "name": "volumeGroupId",
+ "processDefinitionKey": "AFRFLOW",
+ "processDefinitionId": "AFRFLOW:1:c6eea1b7-9722-11e8-8caf-022ac9304eeb",
+ "processInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "executionId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "activityInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "caseDefinitionKey": null,
+ "caseDefinitionId": null,
+ "caseInstanceId": null,
+ "caseExecutionId": null,
+ "taskId": null,
+ "errorMessage": null,
+ "tenantId": null,
+ "state": "CREATED"
+ },
+ {
+ "type": "String",
+ "value": "744fee42-8e20-4152-ad75-17fb1ebfc5b2",
+ "valueInfo": {
+
+ },
+ "id": "595745e7-9736-11e8-8caf-022ac9304eeb",
+ "name": "serviceInstanceId",
+ "processDefinitionKey": "AFRFLOW",
+ "processDefinitionId": "AFRFLOW:1:c6eea1b7-9722-11e8-8caf-022ac9304eeb",
+ "processInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "executionId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "activityInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "caseDefinitionKey": null,
+ "caseDefinitionId": null,
+ "caseInstanceId": null,
+ "caseExecutionId": null,
+ "taskId": null,
+ "errorMessage": null,
+ "tenantId": null,
+ "state": "CREATED"
+ },
+ {
+ "type": "String",
+ "value": "",
+ "valueInfo": {
+
+ },
+ "id": "595745e8-9736-11e8-8caf-022ac9304eeb",
+ "name": "vnfType",
+ "processDefinitionKey": "AFRFLOW",
+ "processDefinitionId": "AFRFLOW:1:c6eea1b7-9722-11e8-8caf-022ac9304eeb",
+ "processInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "executionId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "activityInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "caseDefinitionKey": null,
+ "caseDefinitionId": null,
+ "caseInstanceId": null,
+ "caseExecutionId": null,
+ "taskId": null,
+ "errorMessage": null,
+ "tenantId": null,
+ "state": "CREATED"
+ },
+ {
+ "type": "String",
+ "value": "55b3f0ea-70c5-4965-9e00-df77ed1552a3",
+ "valueInfo": {
+
+ },
+ "id": "595745e9-9736-11e8-8caf-022ac9304eeb",
+ "name": "requestId",
+ "processDefinitionKey": "AFRFLOW",
+ "processDefinitionId": "AFRFLOW:1:c6eea1b7-9722-11e8-8caf-022ac9304eeb",
+ "processInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "executionId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "activityInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "caseDefinitionKey": null,
+ "caseDefinitionId": null,
+ "caseInstanceId": null,
+ "caseExecutionId": null,
+ "taskId": null,
+ "errorMessage": null,
+ "tenantId": null,
+ "state": "CREATED"
+ },
+ {
+ "type": "String",
+ "value": "so",
+ "valueInfo": {
+
+ },
+ "id": "595745ea-9736-11e8-8caf-022ac9304eeb",
+ "name": "host",
+ "processDefinitionKey": "AFRFLOW",
+ "processDefinitionId": "AFRFLOW:1:c6eea1b7-9722-11e8-8caf-022ac9304eeb",
+ "processInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "executionId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "activityInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "caseDefinitionKey": null,
+ "caseDefinitionId": null,
+ "caseInstanceId": null,
+ "caseExecutionId": null,
+ "taskId": null,
+ "errorMessage": null,
+ "tenantId": null,
+ "state": "CREATED"
+ },
+ {
+ "type": "String",
+ "value": "{\"requestDetails\":{\"modelInfo\":{\"modelInvariantUuid\":\"8e2be9fa-fffb-4e23-89a5-65497709f507\",\"modelType\":\"service\",\"modelName\":\"PNFSERVICE\",\"modelVersion\":\"1.0\",\"modelUuid\":\"4f7afc34-e475-41ca-be73-40f9a0f7ffa4\"},\"requestInfo\":{\"productFamilyId\":\"c8d92bf2-2c2e-4802-94e0-3f9e0825cc08\",\"source\":\"UUI\",\"instanceName\":\"AFRPOSTMAN51\",\"suppressRollback\":false,\"requestorId\":\"demo\"},\"subscriberInfo\":{\"globalSubscriberId\":\"Demonstration\"},\"cloudConfiguration\":{\"tenantId\":\"3e001881bcb342418ab5f2788a73255d\",\"lcpCloudRegionId\":\"regionOne_aaa_bbb\"},\"requestParameters\":{\"alaCarte\":false,\"subscriptionServiceType\":\"vCPE\",\"userParams\":[{\"name\":\"Homing_Solution\",\"value\":\"dummy\"}],\"aLaCarte\":false},\"project\":{\"projectName\":\"Project-Demonstration\"},\"owningEntity\":{\"owningEntityId\":\"c77274d4-4881-493a-ad46-368ea0996eb3\",\"owningEntityName\":\"OE-Demonstration\"}},\"correlationId\":\"afr\"}",
+ "valueInfo": {
+
+ },
+ "id": "595745eb-9736-11e8-8caf-022ac9304eeb",
+ "name": "bpmnRequest",
+ "processDefinitionKey": "AFRFLOW",
+ "processDefinitionId": "AFRFLOW:1:c6eea1b7-9722-11e8-8caf-022ac9304eeb",
+ "processInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "executionId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "activityInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "caseDefinitionKey": null,
+ "caseDefinitionId": null,
+ "caseInstanceId": null,
+ "caseExecutionId": null,
+ "taskId": null,
+ "errorMessage": null,
+ "tenantId": null,
+ "state": "CREATED"
+ },
+ {
+ "type": "String",
+ "value": "afr",
+ "valueInfo": {
+
+ },
+ "id": "595745ec-9736-11e8-8caf-022ac9304eeb",
+ "name": "correlationId",
+ "processDefinitionKey": "AFRFLOW",
+ "processDefinitionId": "AFRFLOW:1:c6eea1b7-9722-11e8-8caf-022ac9304eeb",
+ "processInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "executionId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "activityInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "caseDefinitionKey": null,
+ "caseDefinitionId": null,
+ "caseInstanceId": null,
+ "caseExecutionId": null,
+ "taskId": null,
+ "errorMessage": null,
+ "tenantId": null,
+ "state": "CREATED"
+ },
+ {
+ "type": "String",
+ "value": "",
+ "valueInfo": {
+
+ },
+ "id": "595745ed-9736-11e8-8caf-022ac9304eeb",
+ "name": "networkId",
+ "processDefinitionKey": "AFRFLOW",
+ "processDefinitionId": "AFRFLOW:1:c6eea1b7-9722-11e8-8caf-022ac9304eeb",
+ "processInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "executionId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "activityInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "caseDefinitionKey": null,
+ "caseDefinitionId": null,
+ "caseInstanceId": null,
+ "caseExecutionId": null,
+ "taskId": null,
+ "errorMessage": null,
+ "tenantId": null,
+ "state": "CREATED"
+ },
+ {
+ "type": "String",
+ "value": "",
+ "valueInfo": {
+
+ },
+ "id": "595745ee-9736-11e8-8caf-022ac9304eeb",
+ "name": "vnfId",
+ "processDefinitionKey": "AFRFLOW",
+ "processDefinitionId": "AFRFLOW:1:c6eea1b7-9722-11e8-8caf-022ac9304eeb",
+ "processInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "executionId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "activityInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "caseDefinitionKey": null,
+ "caseDefinitionId": null,
+ "caseInstanceId": null,
+ "caseExecutionId": null,
+ "taskId": null,
+ "errorMessage": null,
+ "tenantId": null,
+ "state": "CREATED"
+ },
+ {
+ "type": "String",
+ "value": "",
+ "valueInfo": {
+
+ },
+ "id": "595745ef-9736-11e8-8caf-022ac9304eeb",
+ "name": "configurationId",
+ "processDefinitionKey": "AFRFLOW",
+ "processDefinitionId": "AFRFLOW:1:c6eea1b7-9722-11e8-8caf-022ac9304eeb",
+ "processInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "executionId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "activityInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "caseDefinitionKey": null,
+ "caseDefinitionId": null,
+ "caseInstanceId": null,
+ "caseExecutionId": null,
+ "taskId": null,
+ "errorMessage": null,
+ "tenantId": null,
+ "state": "CREATED"
+ },
+ {
+ "type": "String",
+ "value": "",
+ "valueInfo": {
+
+ },
+ "id": "595745f0-9736-11e8-8caf-022ac9304eeb",
+ "name": "networkType",
+ "processDefinitionKey": "AFRFLOW",
+ "processDefinitionId": "AFRFLOW:1:c6eea1b7-9722-11e8-8caf-022ac9304eeb",
+ "processInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "executionId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "activityInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "caseDefinitionKey": null,
+ "caseDefinitionId": null,
+ "caseInstanceId": null,
+ "caseExecutionId": null,
+ "taskId": null,
+ "errorMessage": null,
+ "tenantId": null,
+ "state": "CREATED"
+ },
+ {
+ "type": "Integer",
+ "value": 180,
+ "valueInfo": {
+
+ },
+ "id": "595745f1-9736-11e8-8caf-022ac9304eeb",
+ "name": "recipeTimeout",
+ "processDefinitionKey": "AFRFLOW",
+ "processDefinitionId": "AFRFLOW:1:c6eea1b7-9722-11e8-8caf-022ac9304eeb",
+ "processInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "executionId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "activityInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "caseDefinitionKey": null,
+ "caseDefinitionId": null,
+ "caseInstanceId": null,
+ "caseExecutionId": null,
+ "taskId": null,
+ "errorMessage": null,
+ "tenantId": null,
+ "state": "CREATED"
+ },
+ {
+ "type": "String",
+ "value": "true",
+ "valueInfo": {
+
+ },
+ "id": "595745f2-9736-11e8-8caf-022ac9304eeb",
+ "name": "isAsyncProcess",
+ "processDefinitionKey": "AFRFLOW",
+ "processDefinitionId": "AFRFLOW:1:c6eea1b7-9722-11e8-8caf-022ac9304eeb",
+ "processInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "executionId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "activityInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "caseDefinitionKey": null,
+ "caseDefinitionId": null,
+ "caseInstanceId": null,
+ "caseExecutionId": null,
+ "taskId": null,
+ "errorMessage": null,
+ "tenantId": null,
+ "state": "CREATED"
+ },
+ {
+ "type": "String",
+ "value": "http://so:8080/mso/vnfAdapterNotify",
+ "valueInfo": {
+
+ },
+ "id": "595ee714-9736-11e8-8caf-022ac9304eeb",
+ "name": "URN_mso_workflow_vnfadapter_create_callback",
+ "processDefinitionKey": "AFRFLOW",
+ "processDefinitionId": "AFRFLOW:1:c6eea1b7-9722-11e8-8caf-022ac9304eeb",
+ "processInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "executionId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "activityInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "caseDefinitionKey": null,
+ "caseDefinitionId": null,
+ "caseInstanceId": null,
+ "caseExecutionId": null,
+ "taskId": null,
+ "errorMessage": null,
+ "tenantId": null,
+ "state": "CREATED"
+ },
+ {
+ "type": "String",
+ "value": "true",
+ "valueInfo": {
+
+ },
+ "id": "595ee715-9736-11e8-8caf-022ac9304eeb",
+ "name": "URN_log_debug_DoCreateResourcesV3",
+ "processDefinitionKey": "AFRFLOW",
+ "processDefinitionId": "AFRFLOW:1:c6eea1b7-9722-11e8-8caf-022ac9304eeb",
+ "processInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "executionId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "activityInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "caseDefinitionKey": null,
+ "caseDefinitionId": null,
+ "caseInstanceId": null,
+ "caseExecutionId": null,
+ "taskId": null,
+ "errorMessage": null,
+ "tenantId": null,
+ "state": "CREATED"
+ },
+ {
+ "type": "String",
+ "value": "true",
+ "valueInfo": {
+
+ },
+ "id": "595ee716-9736-11e8-8caf-022ac9304eeb",
+ "name": "URN_log_debug_DoUpdateNetworkInstance",
+ "processDefinitionKey": "AFRFLOW",
+ "processDefinitionId": "AFRFLOW:1:c6eea1b7-9722-11e8-8caf-022ac9304eeb",
+ "processInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "executionId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "activityInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "caseDefinitionKey": null,
+ "caseDefinitionId": null,
+ "caseInstanceId": null,
+ "caseExecutionId": null,
+ "taskId": null,
+ "errorMessage": null,
+ "tenantId": null,
+ "state": "CREATED"
+ },
+ {
+ "type": "String",
+ "value": "http://so:8080/networks/rest/v1/networks",
+ "valueInfo": {
+
+ },
+ "id": "595ee717-9736-11e8-8caf-022ac9304eeb",
+ "name": "URN_mso_adapters_network_rest_endpoint",
+ "processDefinitionKey": "AFRFLOW",
+ "processDefinitionId": "AFRFLOW:1:c6eea1b7-9722-11e8-8caf-022ac9304eeb",
+ "processInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "executionId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "activityInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "caseDefinitionKey": null,
+ "caseDefinitionId": null,
+ "caseInstanceId": null,
+ "caseExecutionId": null,
+ "taskId": null,
+ "errorMessage": null,
+ "tenantId": null,
+ "state": "CREATED"
+ },
+ {
+ "type": "String",
+ "value": "true",
+ "valueInfo": {
+
+ },
+ "id": "595ee718-9736-11e8-8caf-022ac9304eeb",
+ "name": "URN_log_debug_DeleteViprAtmService",
+ "processDefinitionKey": "AFRFLOW",
+ "processDefinitionId": "AFRFLOW:1:c6eea1b7-9722-11e8-8caf-022ac9304eeb",
+ "processInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "executionId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "activityInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "caseDefinitionKey": null,
+ "caseDefinitionId": null,
+ "caseInstanceId": null,
+ "caseExecutionId": null,
+ "taskId": null,
+ "errorMessage": null,
+ "tenantId": null,
+ "state": "CREATED"
+ },
+ {
+ "type": "String",
+ "value": "/aai/v11/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner",
+ "valueInfo": {
+
+ },
+ "id": "595ee719-9736-11e8-8caf-022ac9304eeb",
+ "name": "URN_mso_workflow_default_aai_v11_cloud_region_uri",
+ "processDefinitionKey": "AFRFLOW",
+ "processDefinitionId": "AFRFLOW:1:c6eea1b7-9722-11e8-8caf-022ac9304eeb",
+ "processInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "executionId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "activityInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "caseDefinitionKey": null,
+ "caseDefinitionId": null,
+ "caseInstanceId": null,
+ "caseExecutionId": null,
+ "taskId": null,
+ "errorMessage": null,
+ "tenantId": null,
+ "state": "CREATED"
+ },
+ {
+ "type": "String",
+ "value": "true",
+ "valueInfo": {
+
+ },
+ "id": "595ee71a-9736-11e8-8caf-022ac9304eeb",
+ "name": "URN_log_debug_DisconnectLayer3Service",
+ "processDefinitionKey": "AFRFLOW",
+ "processDefinitionId": "AFRFLOW:1:c6eea1b7-9722-11e8-8caf-022ac9304eeb",
+ "processInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "executionId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "activityInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "caseDefinitionKey": null,
+ "caseDefinitionId": null,
+ "caseInstanceId": null,
+ "caseExecutionId": null,
+ "taskId": null,
+ "errorMessage": null,
+ "tenantId": null,
+ "state": "CREATED"
+ },
+ {
+ "type": "String",
+ "value": "true",
+ "valueInfo": {
+
+ },
+ "id": "595ee71b-9736-11e8-8caf-022ac9304eeb",
+ "name": "URN_log_debug_updateCinderVolumeV1",
+ "processDefinitionKey": "AFRFLOW",
+ "processDefinitionId": "AFRFLOW:1:c6eea1b7-9722-11e8-8caf-022ac9304eeb",
+ "processInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "executionId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "activityInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "caseDefinitionKey": null,
+ "caseDefinitionId": null,
+ "caseInstanceId": null,
+ "caseExecutionId": null,
+ "taskId": null,
+ "errorMessage": null,
+ "tenantId": null,
+ "state": "CREATED"
+ },
+ {
+ "type": "String",
+ "value": "http://com/att/svc/mis/firewall-lite-gui",
+ "valueInfo": {
+
+ },
+ "id": "595ee71c-9736-11e8-8caf-022ac9304eeb",
+ "name": "URN_mso_sdnc_firewall_yang_model",
+ "processDefinitionKey": "AFRFLOW",
+ "processDefinitionId": "AFRFLOW:1:c6eea1b7-9722-11e8-8caf-022ac9304eeb",
+ "processInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "executionId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "activityInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "caseDefinitionKey": null,
+ "caseDefinitionId": null,
+ "caseInstanceId": null,
+ "caseExecutionId": null,
+ "taskId": null,
+ "errorMessage": null,
+ "tenantId": null,
+ "state": "CREATED"
+ },
+ {
+ "type": "String",
+ "value": "message-router:3904",
+ "valueInfo": {
+
+ },
+ "id": "595ee71d-9736-11e8-8caf-022ac9304eeb",
+ "name": "URN_appc_client_poolMembers",
+ "processDefinitionKey": "AFRFLOW",
+ "processDefinitionId": "AFRFLOW:1:c6eea1b7-9722-11e8-8caf-022ac9304eeb",
+ "processInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "executionId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "activityInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "caseDefinitionKey": null,
+ "caseDefinitionId": null,
+ "caseInstanceId": null,
+ "caseExecutionId": null,
+ "taskId": null,
+ "errorMessage": null,
+ "tenantId": null,
+ "state": "CREATED"
+ },
+ {
+ "type": "String",
+ "value": "true",
+ "valueInfo": {
+
+ },
+ "id": "595ee71e-9736-11e8-8caf-022ac9304eeb",
+ "name": "URN_log_debug_DoCreateE2EServiceInstanceV3",
+ "processDefinitionKey": "AFRFLOW",
+ "processDefinitionId": "AFRFLOW:1:c6eea1b7-9722-11e8-8caf-022ac9304eeb",
+ "processInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "executionId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "activityInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "caseDefinitionKey": null,
+ "caseDefinitionId": null,
+ "caseInstanceId": null,
+ "caseExecutionId": null,
+ "taskId": null,
+ "errorMessage": null,
+ "tenantId": null,
+ "state": "CREATED"
+ },
+ {
+ "type": "String",
+ "value": "true",
+ "valueInfo": {
+
+ },
+ "id": "595ee71f-9736-11e8-8caf-022ac9304eeb",
+ "name": "URN_log_debug_Layer3ServiceActivateV1",
+ "processDefinitionKey": "AFRFLOW",
+ "processDefinitionId": "AFRFLOW:1:c6eea1b7-9722-11e8-8caf-022ac9304eeb",
+ "processInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "executionId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "activityInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "caseDefinitionKey": null,
+ "caseDefinitionId": null,
+ "caseInstanceId": null,
+ "caseExecutionId": null,
+ "taskId": null,
+ "errorMessage": null,
+ "tenantId": null,
+ "state": "CREATED"
+ },
+ {
+ "type": "String",
+ "value": "true",
+ "valueInfo": {
+
+ },
+ "id": "595ee720-9736-11e8-8caf-022ac9304eeb",
+ "name": "URN_log_debug_UpdateNetworkInstanceInfra",
+ "processDefinitionKey": "AFRFLOW",
+ "processDefinitionId": "AFRFLOW:1:c6eea1b7-9722-11e8-8caf-022ac9304eeb",
+ "processInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "executionId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "activityInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "caseDefinitionKey": null,
+ "caseDefinitionId": null,
+ "caseInstanceId": null,
+ "caseExecutionId": null,
+ "taskId": null,
+ "errorMessage": null,
+ "tenantId": null,
+ "state": "CREATED"
+ },
+ {
+ "type": "String",
+ "value": "true",
+ "valueInfo": {
+
+ },
+ "id": "595ee721-9736-11e8-8caf-022ac9304eeb",
+ "name": "URN_log_debug_DeleteNetworkInstance",
+ "processDefinitionKey": "AFRFLOW",
+ "processDefinitionId": "AFRFLOW:1:c6eea1b7-9722-11e8-8caf-022ac9304eeb",
+ "processInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "executionId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "activityInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "caseDefinitionKey": null,
+ "caseDefinitionId": null,
+ "caseInstanceId": null,
+ "caseExecutionId": null,
+ "taskId": null,
+ "errorMessage": null,
+ "tenantId": null,
+ "state": "CREATED"
+ },
+ {
+ "type": "String",
+ "value": "true",
+ "valueInfo": {
+
+ },
+ "id": "595ee722-9736-11e8-8caf-022ac9304eeb",
+ "name": "URN_log_debug_CreateNetworkInstance",
+ "processDefinitionKey": "AFRFLOW",
+ "processDefinitionId": "AFRFLOW:1:c6eea1b7-9722-11e8-8caf-022ac9304eeb",
+ "processInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "executionId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "activityInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "caseDefinitionKey": null,
+ "caseDefinitionId": null,
+ "caseInstanceId": null,
+ "caseExecutionId": null,
+ "taskId": null,
+ "errorMessage": null,
+ "tenantId": null,
+ "state": "CREATED"
+ },
+ {
+ "type": "String",
+ "value": "true",
+ "valueInfo": {
+
+ },
+ "id": "595ee723-9736-11e8-8caf-022ac9304eeb",
+ "name": "URN_log_debug_DoScaleE2EServiceInstance",
+ "processDefinitionKey": "AFRFLOW",
+ "processDefinitionId": "AFRFLOW:1:c6eea1b7-9722-11e8-8caf-022ac9304eeb",
+ "processInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "executionId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "activityInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "caseDefinitionKey": null,
+ "caseDefinitionId": null,
+ "caseInstanceId": null,
+ "caseExecutionId": null,
+ "taskId": null,
+ "errorMessage": null,
+ "tenantId": null,
+ "state": "CREATED"
+ },
+ {
+ "type": "String",
+ "value": "true",
+ "valueInfo": {
+
+ },
+ "id": "595ee724-9736-11e8-8caf-022ac9304eeb",
+ "name": "URN_log_debug_OofAdapter",
+ "processDefinitionKey": "AFRFLOW",
+ "processDefinitionId": "AFRFLOW:1:c6eea1b7-9722-11e8-8caf-022ac9304eeb",
+ "processInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "executionId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "activityInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "caseDefinitionKey": null,
+ "caseDefinitionId": null,
+ "caseInstanceId": null,
+ "caseExecutionId": null,
+ "taskId": null,
+ "errorMessage": null,
+ "tenantId": null,
+ "state": "CREATED"
+ },
+ {
+ "type": "String",
+ "value": "1533303618885",
+ "valueInfo": {
+
+ },
+ "id": "595ee725-9736-11e8-8caf-022ac9304eeb",
+ "name": "URN_mso_properties_timestamp",
+ "processDefinitionKey": "AFRFLOW",
+ "processDefinitionId": "AFRFLOW:1:c6eea1b7-9722-11e8-8caf-022ac9304eeb",
+ "processInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "executionId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "activityInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "caseDefinitionKey": null,
+ "caseDefinitionId": null,
+ "caseInstanceId": null,
+ "caseExecutionId": null,
+ "taskId": null,
+ "errorMessage": null,
+ "tenantId": null,
+ "state": "CREATED"
+ },
+ {
+ "type": "String",
+ "value": "6B0E6863FB8EE010AB6F191B3C0489437601E81DC7C86305CB92DB98AFC53D74",
+ "valueInfo": {
+
+ },
+ "id": "595ee726-9736-11e8-8caf-022ac9304eeb",
+ "name": "URN_mso_adapters_po_auth",
+ "processDefinitionKey": "AFRFLOW",
+ "processDefinitionId": "AFRFLOW:1:c6eea1b7-9722-11e8-8caf-022ac9304eeb",
+ "processInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "executionId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "activityInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "caseDefinitionKey": null,
+ "caseDefinitionId": null,
+ "caseInstanceId": null,
+ "caseExecutionId": null,
+ "taskId": null,
+ "errorMessage": null,
+ "tenantId": null,
+ "state": "CREATED"
+ },
+ {
+ "type": "String",
+ "value": "true",
+ "valueInfo": {
+
+ },
+ "id": "595f0e37-9736-11e8-8caf-022ac9304eeb",
+ "name": "URN_log_debug_vnfAdapterDeleteV1",
+ "processDefinitionKey": "AFRFLOW",
+ "processDefinitionId": "AFRFLOW:1:c6eea1b7-9722-11e8-8caf-022ac9304eeb",
+ "processInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "executionId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "activityInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "caseDefinitionKey": null,
+ "caseDefinitionId": null,
+ "caseInstanceId": null,
+ "caseExecutionId": null,
+ "taskId": null,
+ "errorMessage": null,
+ "tenantId": null,
+ "state": "CREATED"
+ },
+ {
+ "type": "String",
+ "value": "true",
+ "valueInfo": {
+
+ },
+ "id": "595f0e38-9736-11e8-8caf-022ac9304eeb",
+ "name": "URN_log_debug_DoCompareModelVersions",
+ "processDefinitionKey": "AFRFLOW",
+ "processDefinitionId": "AFRFLOW:1:c6eea1b7-9722-11e8-8caf-022ac9304eeb",
+ "processInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "executionId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "activityInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "caseDefinitionKey": null,
+ "caseDefinitionId": null,
+ "caseInstanceId": null,
+ "caseExecutionId": null,
+ "taskId": null,
+ "errorMessage": null,
+ "tenantId": null,
+ "state": "CREATED"
+ },
+ {
+ "type": "String",
+ "value": "PT30M",
+ "valueInfo": {
+
+ },
+ "id": "595f0e39-9736-11e8-8caf-022ac9304eeb",
+ "name": "URN_mso_oof_timeout",
+ "processDefinitionKey": "AFRFLOW",
+ "processDefinitionId": "AFRFLOW:1:c6eea1b7-9722-11e8-8caf-022ac9304eeb",
+ "processInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "executionId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "activityInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "caseDefinitionKey": null,
+ "caseDefinitionId": null,
+ "caseInstanceId": null,
+ "caseExecutionId": null,
+ "taskId": null,
+ "errorMessage": null,
+ "tenantId": null,
+ "state": "CREATED"
+ },
+ {
+ "type": "String",
+ "value": "",
+ "valueInfo": {
+
+ },
+ "id": "595f0e3a-9736-11e8-8caf-022ac9304eeb",
+ "name": "URN_mso_default_cloud_owner_id",
+ "processDefinitionKey": "AFRFLOW",
+ "processDefinitionId": "AFRFLOW:1:c6eea1b7-9722-11e8-8caf-022ac9304eeb",
+ "processInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "executionId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "activityInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "caseDefinitionKey": null,
+ "caseDefinitionId": null,
+ "caseInstanceId": null,
+ "caseExecutionId": null,
+ "taskId": null,
+ "errorMessage": null,
+ "tenantId": null,
+ "state": "CREATED"
+ },
+ {
+ "type": "String",
+ "value": "true",
+ "valueInfo": {
+
+ },
+ "id": "595f0e3b-9736-11e8-8caf-022ac9304eeb",
+ "name": "URN_log_debug_DelServiceInstance",
+ "processDefinitionKey": "AFRFLOW",
+ "processDefinitionId": "AFRFLOW:1:c6eea1b7-9722-11e8-8caf-022ac9304eeb",
+ "processInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "executionId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "activityInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "caseDefinitionKey": null,
+ "caseDefinitionId": null,
+ "caseInstanceId": null,
+ "caseExecutionId": null,
+ "taskId": null,
+ "errorMessage": null,
+ "tenantId": null,
+ "state": "CREATED"
+ },
+ {
+ "type": "String",
+ "value": "true",
+ "valueInfo": {
+
+ },
+ "id": "595f0e3c-9736-11e8-8caf-022ac9304eeb",
+ "name": "URN_log_debug_DeleteVFCNSResource",
+ "processDefinitionKey": "AFRFLOW",
+ "processDefinitionId": "AFRFLOW:1:c6eea1b7-9722-11e8-8caf-022ac9304eeb",
+ "processInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "executionId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "activityInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "caseDefinitionKey": null,
+ "caseDefinitionId": null,
+ "caseInstanceId": null,
+ "caseExecutionId": null,
+ "taskId": null,
+ "errorMessage": null,
+ "tenantId": null,
+ "state": "CREATED"
+ },
+ {
+ "type": "String",
+ "value": "true",
+ "valueInfo": {
+
+ },
+ "id": "595f0e3d-9736-11e8-8caf-022ac9304eeb",
+ "name": "URN_log_debug_commonCompletion",
+ "processDefinitionKey": "AFRFLOW",
+ "processDefinitionId": "AFRFLOW:1:c6eea1b7-9722-11e8-8caf-022ac9304eeb",
+ "processInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "executionId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "activityInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "caseDefinitionKey": null,
+ "caseDefinitionId": null,
+ "caseInstanceId": null,
+ "caseExecutionId": null,
+ "taskId": null,
+ "errorMessage": null,
+ "tenantId": null,
+ "state": "CREATED"
+ },
+ {
+ "type": "String",
+ "value": "VIlbtVl6YLhNUrtU",
+ "valueInfo": {
+
+ },
+ "id": "595f0e3e-9736-11e8-8caf-022ac9304eeb",
+ "name": "URN_appc_client_key",
+ "processDefinitionKey": "AFRFLOW",
+ "processDefinitionId": "AFRFLOW:1:c6eea1b7-9722-11e8-8caf-022ac9304eeb",
+ "processInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "executionId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "activityInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "caseDefinitionKey": null,
+ "caseDefinitionId": null,
+ "caseInstanceId": null,
+ "caseExecutionId": null,
+ "taskId": null,
+ "errorMessage": null,
+ "tenantId": null,
+ "state": "CREATED"
+ },
+ {
+ "type": "String",
+ "value": "http://so:8080/tenants/TenantAdapter",
+ "valueInfo": {
+
+ },
+ "id": "595f0e3f-9736-11e8-8caf-022ac9304eeb",
+ "name": "URN_mso_adapters_tenant_endpoint",
+ "processDefinitionKey": "AFRFLOW",
+ "processDefinitionId": "AFRFLOW:1:c6eea1b7-9722-11e8-8caf-022ac9304eeb",
+ "processInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "executionId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "activityInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "caseDefinitionKey": null,
+ "caseDefinitionId": null,
+ "caseInstanceId": null,
+ "caseExecutionId": null,
+ "taskId": null,
+ "errorMessage": null,
+ "tenantId": null,
+ "state": "CREATED"
+ },
+ {
+ "type": "String",
+ "value": "/aai/v11/network/route-table-references/route-table-reference",
+ "valueInfo": {
+
+ },
+ "id": "595f0e40-9736-11e8-8caf-022ac9304eeb",
+ "name": "URN_mso_workflow_default_aai_v11_route_table_reference_uri",
+ "processDefinitionKey": "AFRFLOW",
+ "processDefinitionId": "AFRFLOW:1:c6eea1b7-9722-11e8-8caf-022ac9304eeb",
+ "processInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "executionId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "activityInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "caseDefinitionKey": null,
+ "caseDefinitionId": null,
+ "caseInstanceId": null,
+ "caseExecutionId": null,
+ "taskId": null,
+ "errorMessage": null,
+ "tenantId": null,
+ "state": "CREATED"
+ },
+ {
+ "type": "String",
+ "value": "true",
+ "valueInfo": {
+
+ },
+ "id": "595f0e41-9736-11e8-8caf-022ac9304eeb",
+ "name": "URN_log_debug_CreateServiceInstance",
+ "processDefinitionKey": "AFRFLOW",
+ "processDefinitionId": "AFRFLOW:1:c6eea1b7-9722-11e8-8caf-022ac9304eeb",
+ "processInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "executionId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "activityInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "caseDefinitionKey": null,
+ "caseDefinitionId": null,
+ "caseInstanceId": null,
+ "caseExecutionId": null,
+ "taskId": null,
+ "errorMessage": null,
+ "tenantId": null,
+ "state": "CREATED"
+ },
+ {
+ "type": "String",
+ "value": "true",
+ "valueInfo": {
+
+ },
+ "id": "595f0e42-9736-11e8-8caf-022ac9304eeb",
+ "name": "URN_log_debug_deleteVCEV1",
+ "processDefinitionKey": "AFRFLOW",
+ "processDefinitionId": "AFRFLOW:1:c6eea1b7-9722-11e8-8caf-022ac9304eeb",
+ "processInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "executionId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "activityInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "caseDefinitionKey": null,
+ "caseDefinitionId": null,
+ "caseInstanceId": null,
+ "caseExecutionId": null,
+ "taskId": null,
+ "errorMessage": null,
+ "tenantId": null,
+ "state": "CREATED"
+ },
+ {
+ "type": "String",
+ "value": "http://so:8080/ecomp/mso/catalog",
+ "valueInfo": {
+
+ },
+ "id": "595f0e43-9736-11e8-8caf-022ac9304eeb",
+ "name": "URN_mso_catalog_db_endpoint",
+ "processDefinitionKey": "AFRFLOW",
+ "processDefinitionId": "AFRFLOW:1:c6eea1b7-9722-11e8-8caf-022ac9304eeb",
+ "processInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "executionId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "activityInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "caseDefinitionKey": null,
+ "caseDefinitionId": null,
+ "caseInstanceId": null,
+ "caseExecutionId": null,
+ "taskId": null,
+ "errorMessage": null,
+ "tenantId": null,
+ "state": "CREATED"
+ },
+ {
+ "type": "String",
+ "value": "true",
+ "valueInfo": {
+
+ },
+ "id": "595f0e44-9736-11e8-8caf-022ac9304eeb",
+ "name": "URN_log_debug_ChangeFeatureActivateV1",
+ "processDefinitionKey": "AFRFLOW",
+ "processDefinitionId": "AFRFLOW:1:c6eea1b7-9722-11e8-8caf-022ac9304eeb",
+ "processInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "executionId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "activityInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "caseDefinitionKey": null,
+ "caseDefinitionId": null,
+ "caseInstanceId": null,
+ "caseExecutionId": null,
+ "taskId": null,
+ "errorMessage": null,
+ "tenantId": null,
+ "state": "CREATED"
+ },
+ {
+ "type": "String",
+ "value": "true",
+ "valueInfo": {
+
+ },
+ "id": "595f0e45-9736-11e8-8caf-022ac9304eeb",
+ "name": "URN_log_debug_CustomE2EPutService",
+ "processDefinitionKey": "AFRFLOW",
+ "processDefinitionId": "AFRFLOW:1:c6eea1b7-9722-11e8-8caf-022ac9304eeb",
+ "processInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "executionId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "activityInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "caseDefinitionKey": null,
+ "caseDefinitionId": null,
+ "caseInstanceId": null,
+ "caseExecutionId": null,
+ "taskId": null,
+ "errorMessage": null,
+ "tenantId": null,
+ "state": "CREATED"
+ },
+ {
+ "type": "String",
+ "value": "true",
+ "valueInfo": {
+
+ },
+ "id": "595f0e46-9736-11e8-8caf-022ac9304eeb",
+ "name": "URN_log_debug_l3ToHigherLayerAddBonding",
+ "processDefinitionKey": "AFRFLOW",
+ "processDefinitionId": "AFRFLOW:1:c6eea1b7-9722-11e8-8caf-022ac9304eeb",
+ "processInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "executionId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "activityInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "caseDefinitionKey": null,
+ "caseDefinitionId": null,
+ "caseInstanceId": null,
+ "caseExecutionId": null,
+ "taskId": null,
+ "errorMessage": null,
+ "tenantId": null,
+ "state": "CREATED"
+ },
+ {
+ "type": "String",
+ "value": "true",
+ "valueInfo": {
+
+ },
+ "id": "595f0e47-9736-11e8-8caf-022ac9304eeb",
+ "name": "URN_log_debug_DHVActivateService",
+ "processDefinitionKey": "AFRFLOW",
+ "processDefinitionId": "AFRFLOW:1:c6eea1b7-9722-11e8-8caf-022ac9304eeb",
+ "processInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "executionId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "activityInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "caseDefinitionKey": null,
+ "caseDefinitionId": null,
+ "caseInstanceId": null,
+ "caseExecutionId": null,
+ "taskId": null,
+ "errorMessage": null,
+ "tenantId": null,
+ "state": "CREATED"
+ },
+ {
+ "type": "String",
+ "value": "true",
+ "valueInfo": {
+
+ },
+ "id": "595f0e48-9736-11e8-8caf-022ac9304eeb",
+ "name": "URN_log_debug_deleteGenericVNFV1",
+ "processDefinitionKey": "AFRFLOW",
+ "processDefinitionId": "AFRFLOW:1:c6eea1b7-9722-11e8-8caf-022ac9304eeb",
+ "processInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "executionId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "activityInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "caseDefinitionKey": null,
+ "caseDefinitionId": null,
+ "caseInstanceId": null,
+ "caseExecutionId": null,
+ "taskId": null,
+ "errorMessage": null,
+ "tenantId": null,
+ "state": "CREATED"
+ },
+ {
+ "type": "String",
+ "value": "true",
+ "valueInfo": {
+
+ },
+ "id": "595f0e49-9736-11e8-8caf-022ac9304eeb",
+ "name": "URN_log_debug_RollbackServiceInstance",
+ "processDefinitionKey": "AFRFLOW",
+ "processDefinitionId": "AFRFLOW:1:c6eea1b7-9722-11e8-8caf-022ac9304eeb",
+ "processInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "executionId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "activityInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "caseDefinitionKey": null,
+ "caseDefinitionId": null,
+ "caseInstanceId": null,
+ "caseExecutionId": null,
+ "taskId": null,
+ "errorMessage": null,
+ "tenantId": null,
+ "state": "CREATED"
+ },
+ {
+ "type": "String",
+ "value": "message-router.onap",
+ "valueInfo": {
+
+ },
+ "id": "595f0e4a-9736-11e8-8caf-022ac9304eeb",
+ "name": "URN_mso_dmaap_host",
+ "processDefinitionKey": "AFRFLOW",
+ "processDefinitionId": "AFRFLOW:1:c6eea1b7-9722-11e8-8caf-022ac9304eeb",
+ "processInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "executionId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "activityInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "caseDefinitionKey": null,
+ "caseDefinitionId": null,
+ "caseInstanceId": null,
+ "caseExecutionId": null,
+ "taskId": null,
+ "errorMessage": null,
+ "tenantId": null,
+ "state": "CREATED"
+ },
+ {
+ "type": "String",
+ "value": "true",
+ "valueInfo": {
+
+ },
+ "id": "595f0e4b-9736-11e8-8caf-022ac9304eeb",
+ "name": "URN_log_debug_CreateViprAtmService",
+ "processDefinitionKey": "AFRFLOW",
+ "processDefinitionId": "AFRFLOW:1:c6eea1b7-9722-11e8-8caf-022ac9304eeb",
+ "processInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "executionId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "activityInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "caseDefinitionKey": null,
+ "caseDefinitionId": null,
+ "caseInstanceId": null,
+ "caseExecutionId": null,
+ "taskId": null,
+ "errorMessage": null,
+ "tenantId": null,
+ "state": "CREATED"
+ },
+ {
+ "type": "String",
+ "value": "true",
+ "valueInfo": {
+
+ },
+ "id": "595f0e4c-9736-11e8-8caf-022ac9304eeb",
+ "name": "URN_log_debug_l3ToHigherLayerDeleteBonding",
+ "processDefinitionKey": "AFRFLOW",
+ "processDefinitionId": "AFRFLOW:1:c6eea1b7-9722-11e8-8caf-022ac9304eeb",
+ "processInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "executionId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "activityInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "caseDefinitionKey": null,
+ "caseDefinitionId": null,
+ "caseInstanceId": null,
+ "caseExecutionId": null,
+ "taskId": null,
+ "errorMessage": null,
+ "tenantId": null,
+ "state": "CREATED"
+ },
+ {
+ "type": "String",
+ "value": "true",
+ "valueInfo": {
+
+ },
+ "id": "595f0e4d-9736-11e8-8caf-022ac9304eeb",
+ "name": "URN_log_debug_CustomE2EGetService",
+ "processDefinitionKey": "AFRFLOW",
+ "processDefinitionId": "AFRFLOW:1:c6eea1b7-9722-11e8-8caf-022ac9304eeb",
+ "processInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "executionId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "activityInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "caseDefinitionKey": null,
+ "caseDefinitionId": null,
+ "caseInstanceId": null,
+ "caseExecutionId": null,
+ "taskId": null,
+ "errorMessage": null,
+ "tenantId": null,
+ "state": "CREATED"
+ },
+ {
+ "type": "String",
+ "value": "true",
+ "valueInfo": {
+
+ },
+ "id": "595f355e-9736-11e8-8caf-022ac9304eeb",
+ "name": "URN_log_debug_ChangeLayer3ServiceActivateV1",
+ "processDefinitionKey": "AFRFLOW",
+ "processDefinitionId": "AFRFLOW:1:c6eea1b7-9722-11e8-8caf-022ac9304eeb",
+ "processInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "executionId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "activityInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "caseDefinitionKey": null,
+ "caseDefinitionId": null,
+ "caseInstanceId": null,
+ "caseExecutionId": null,
+ "taskId": null,
+ "errorMessage": null,
+ "tenantId": null,
+ "state": "CREATED"
+ },
+ {
+ "type": "String",
+ "value": "APPC-LCM-READ",
+ "valueInfo": {
+
+ },
+ "id": "595f355f-9736-11e8-8caf-022ac9304eeb",
+ "name": "URN_appc_client_topic_write",
+ "processDefinitionKey": "AFRFLOW",
+ "processDefinitionId": "AFRFLOW:1:c6eea1b7-9722-11e8-8caf-022ac9304eeb",
+ "processInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "executionId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "activityInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "caseDefinitionKey": null,
+ "caseDefinitionId": null,
+ "caseInstanceId": null,
+ "caseExecutionId": null,
+ "taskId": null,
+ "errorMessage": null,
+ "tenantId": null,
+ "state": "CREATED"
+ },
+ {
+ "type": "String",
+ "value": "http://org.openecomp.mso",
+ "valueInfo": {
+
+ },
+ "id": "595f3560-9736-11e8-8caf-022ac9304eeb",
+ "name": "URN_mso_adapters_namespace",
+ "processDefinitionKey": "AFRFLOW",
+ "processDefinitionId": "AFRFLOW:1:c6eea1b7-9722-11e8-8caf-022ac9304eeb",
+ "processInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "executionId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "activityInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "caseDefinitionKey": null,
+ "caseDefinitionId": null,
+ "caseInstanceId": null,
+ "caseExecutionId": null,
+ "taskId": null,
+ "errorMessage": null,
+ "tenantId": null,
+ "state": "CREATED"
+ },
+ {
+ "type": "String",
+ "value": "true",
+ "valueInfo": {
+
+ },
+ "id": "595f3561-9736-11e8-8caf-022ac9304eeb",
+ "name": "URN_log_debug_CreateCustomerV1",
+ "processDefinitionKey": "AFRFLOW",
+ "processDefinitionId": "AFRFLOW:1:c6eea1b7-9722-11e8-8caf-022ac9304eeb",
+ "processInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "executionId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "activityInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "caseDefinitionKey": null,
+ "caseDefinitionId": null,
+ "caseInstanceId": null,
+ "caseExecutionId": null,
+ "taskId": null,
+ "errorMessage": null,
+ "tenantId": null,
+ "state": "CREATED"
+ },
+ {
+ "type": "String",
+ "value": "SDNC-LCM-READ",
+ "valueInfo": {
+
+ },
+ "id": "595f3562-9736-11e8-8caf-022ac9304eeb",
+ "name": "URN_appc_client_topic_sdnc_write",
+ "processDefinitionKey": "AFRFLOW",
+ "processDefinitionId": "AFRFLOW:1:c6eea1b7-9722-11e8-8caf-022ac9304eeb",
+ "processInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "executionId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "activityInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "caseDefinitionKey": null,
+ "caseDefinitionId": null,
+ "caseInstanceId": null,
+ "caseExecutionId": null,
+ "taskId": null,
+ "errorMessage": null,
+ "tenantId": null,
+ "state": "CREATED"
+ },
+ {
+ "type": "String",
+ "value": "true",
+ "valueInfo": {
+
+ },
+ "id": "595f3563-9736-11e8-8caf-022ac9304eeb",
+ "name": "URN_log_debug_UpdateCustomE2EServiceInstance",
+ "processDefinitionKey": "AFRFLOW",
+ "processDefinitionId": "AFRFLOW:1:c6eea1b7-9722-11e8-8caf-022ac9304eeb",
+ "processInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "executionId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "activityInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "caseDefinitionKey": null,
+ "caseDefinitionId": null,
+ "caseInstanceId": null,
+ "caseExecutionId": null,
+ "taskId": null,
+ "errorMessage": null,
+ "tenantId": null,
+ "state": "CREATED"
+ },
+ {
+ "type": "String",
+ "value": "360000",
+ "valueInfo": {
+
+ },
+ "id": "595f3564-9736-11e8-8caf-022ac9304eeb",
+ "name": "URN_appc_client_response_timeout",
+ "processDefinitionKey": "AFRFLOW",
+ "processDefinitionId": "AFRFLOW:1:c6eea1b7-9722-11e8-8caf-022ac9304eeb",
+ "processInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "executionId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "activityInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "caseDefinitionKey": null,
+ "caseDefinitionId": null,
+ "caseInstanceId": null,
+ "caseExecutionId": null,
+ "taskId": null,
+ "errorMessage": null,
+ "tenantId": null,
+ "state": "CREATED"
+ },
+ {
+ "type": "String",
+ "value": "http://so:8080/dbadapters/RequestsDbAdapter",
+ "valueInfo": {
+
+ },
+ "id": "595f3565-9736-11e8-8caf-022ac9304eeb",
+ "name": "URN_mso_adapters_openecomp_db_endpoint",
+ "processDefinitionKey": "AFRFLOW",
+ "processDefinitionId": "AFRFLOW:1:c6eea1b7-9722-11e8-8caf-022ac9304eeb",
+ "processInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "executionId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "activityInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "caseDefinitionKey": null,
+ "caseDefinitionId": null,
+ "caseInstanceId": null,
+ "caseExecutionId": null,
+ "taskId": null,
+ "errorMessage": null,
+ "tenantId": null,
+ "state": "CREATED"
+ },
+ {
+ "type": "String",
+ "value": "http://so:8080/mso/vnfAdapterNotify",
+ "valueInfo": {
+
+ },
+ "id": "595f3566-9736-11e8-8caf-022ac9304eeb",
+ "name": "URN_mso_workflow_vnfadapter_delete_callback",
+ "processDefinitionKey": "AFRFLOW",
+ "processDefinitionId": "AFRFLOW:1:c6eea1b7-9722-11e8-8caf-022ac9304eeb",
+ "processInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "executionId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "activityInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "caseDefinitionKey": null,
+ "caseDefinitionId": null,
+ "caseInstanceId": null,
+ "caseExecutionId": null,
+ "taskId": null,
+ "errorMessage": null,
+ "tenantId": null,
+ "state": "CREATED"
+ },
+ {
+ "type": "String",
+ "value": "20",
+ "valueInfo": {
+
+ },
+ "id": "595f3567-9736-11e8-8caf-022ac9304eeb",
+ "name": "URN_mso_sdnc_timeout_firewall_minutes",
+ "processDefinitionKey": "AFRFLOW",
+ "processDefinitionId": "AFRFLOW:1:c6eea1b7-9722-11e8-8caf-022ac9304eeb",
+ "processInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "executionId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "activityInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "caseDefinitionKey": null,
+ "caseDefinitionId": null,
+ "caseInstanceId": null,
+ "caseExecutionId": null,
+ "taskId": null,
+ "errorMessage": null,
+ "tenantId": null,
+ "state": "CREATED"
+ },
+ {
+ "type": "String",
+ "value": "1000",
+ "valueInfo": {
+
+ },
+ "id": "595f3568-9736-11e8-8caf-022ac9304eeb",
+ "name": "URN_mso_callbackRetrySleepTime",
+ "processDefinitionKey": "AFRFLOW",
+ "processDefinitionId": "AFRFLOW:1:c6eea1b7-9722-11e8-8caf-022ac9304eeb",
+ "processInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "executionId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "activityInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "caseDefinitionKey": null,
+ "caseDefinitionId": null,
+ "caseInstanceId": null,
+ "caseExecutionId": null,
+ "taskId": null,
+ "errorMessage": null,
+ "tenantId": null,
+ "state": "CREATED"
+ },
+ {
+ "type": "String",
+ "value": "30",
+ "valueInfo": {
+
+ },
+ "id": "595f3569-9736-11e8-8caf-022ac9304eeb",
+ "name": "URN_mso_callbackRetryAttempts",
+ "processDefinitionKey": "AFRFLOW",
+ "processDefinitionId": "AFRFLOW:1:c6eea1b7-9722-11e8-8caf-022ac9304eeb",
+ "processInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "executionId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "activityInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "caseDefinitionKey": null,
+ "caseDefinitionId": null,
+ "caseInstanceId": null,
+ "caseExecutionId": null,
+ "taskId": null,
+ "errorMessage": null,
+ "tenantId": null,
+ "state": "CREATED"
+ },
+ {
+ "type": "String",
+ "value": "true",
+ "valueInfo": {
+
+ },
+ "id": "595f356a-9736-11e8-8caf-022ac9304eeb",
+ "name": "URN_log_debug_CompleteMsoProcess",
+ "processDefinitionKey": "AFRFLOW",
+ "processDefinitionId": "AFRFLOW:1:c6eea1b7-9722-11e8-8caf-022ac9304eeb",
+ "processInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "executionId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "activityInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "caseDefinitionKey": null,
+ "caseDefinitionId": null,
+ "caseInstanceId": null,
+ "caseExecutionId": null,
+ "taskId": null,
+ "errorMessage": null,
+ "tenantId": null,
+ "state": "CREATED"
+ },
+ {
+ "type": "String",
+ "value": "http://so:8080/mso/SDNCAdapterCallbackService",
+ "valueInfo": {
+
+ },
+ "id": "595f356b-9736-11e8-8caf-022ac9304eeb",
+ "name": "URN_mso_workflow_sdncadapter_callback",
+ "processDefinitionKey": "AFRFLOW",
+ "processDefinitionId": "AFRFLOW:1:c6eea1b7-9722-11e8-8caf-022ac9304eeb",
+ "processInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "executionId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "activityInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "caseDefinitionKey": null,
+ "caseDefinitionId": null,
+ "caseInstanceId": null,
+ "caseExecutionId": null,
+ "taskId": null,
+ "errorMessage": null,
+ "tenantId": null,
+ "state": "CREATED"
+ },
+ {
+ "type": "String",
+ "value": "http://sniro-emulator:80/sniro/api/v2/placement",
+ "valueInfo": {
+
+ },
+ "id": "595f356c-9736-11e8-8caf-022ac9304eeb",
+ "name": "URN_mso_sniro_endpoint",
+ "processDefinitionKey": "AFRFLOW",
+ "processDefinitionId": "AFRFLOW:1:c6eea1b7-9722-11e8-8caf-022ac9304eeb",
+ "processInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "executionId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "activityInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "caseDefinitionKey": null,
+ "caseDefinitionId": null,
+ "caseInstanceId": null,
+ "caseExecutionId": null,
+ "taskId": null,
+ "errorMessage": null,
+ "tenantId": null,
+ "state": "CREATED"
+ },
+ {
+ "type": "String",
+ "value": "2630606608347B7124C244AB0FE34F6F",
+ "valueInfo": {
+
+ },
+ "id": "595f356d-9736-11e8-8caf-022ac9304eeb",
+ "name": "URN_aai_auth",
+ "processDefinitionKey": "AFRFLOW",
+ "processDefinitionId": "AFRFLOW:1:c6eea1b7-9722-11e8-8caf-022ac9304eeb",
+ "processInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "executionId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "activityInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "caseDefinitionKey": null,
+ "caseDefinitionId": null,
+ "caseInstanceId": null,
+ "caseExecutionId": null,
+ "taskId": null,
+ "errorMessage": null,
+ "tenantId": null,
+ "state": "CREATED"
+ },
+ {
+ "type": "String",
+ "value": "true",
+ "valueInfo": {
+
+ },
+ "id": "595f356e-9736-11e8-8caf-022ac9304eeb",
+ "name": "URN_log_debug_createCinderVolumeV1",
+ "processDefinitionKey": "AFRFLOW",
+ "processDefinitionId": "AFRFLOW:1:c6eea1b7-9722-11e8-8caf-022ac9304eeb",
+ "processInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "executionId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "activityInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "caseDefinitionKey": null,
+ "caseDefinitionId": null,
+ "caseInstanceId": null,
+ "caseExecutionId": null,
+ "taskId": null,
+ "errorMessage": null,
+ "tenantId": null,
+ "state": "CREATED"
+ },
+ {
+ "type": "String",
+ "value": "true",
+ "valueInfo": {
+
+ },
+ "id": "595f356f-9736-11e8-8caf-022ac9304eeb",
+ "name": "URN_log_debug_GenericPutService",
+ "processDefinitionKey": "AFRFLOW",
+ "processDefinitionId": "AFRFLOW:1:c6eea1b7-9722-11e8-8caf-022ac9304eeb",
+ "processInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "executionId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "activityInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "caseDefinitionKey": null,
+ "caseDefinitionId": null,
+ "caseInstanceId": null,
+ "caseExecutionId": null,
+ "taskId": null,
+ "errorMessage": null,
+ "tenantId": null,
+ "state": "CREATED"
+ },
+ {
+ "type": "String",
+ "value": "true",
+ "valueInfo": {
+
+ },
+ "id": "595f3570-9736-11e8-8caf-022ac9304eeb",
+ "name": "URN_log_debug_CreateVFCNSResource",
+ "processDefinitionKey": "AFRFLOW",
+ "processDefinitionId": "AFRFLOW:1:c6eea1b7-9722-11e8-8caf-022ac9304eeb",
+ "processInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "executionId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "activityInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "caseDefinitionKey": null,
+ "caseDefinitionId": null,
+ "caseInstanceId": null,
+ "caseExecutionId": null,
+ "taskId": null,
+ "errorMessage": null,
+ "tenantId": null,
+ "state": "CREATED"
+ },
+ {
+ "type": "String",
+ "value": "http://so:8080/adapters/rest/v1/sdnc",
+ "valueInfo": {
+
+ },
+ "id": "595f3571-9736-11e8-8caf-022ac9304eeb",
+ "name": "URN_mso_adapters_sdnc_rest_endpoint",
+ "processDefinitionKey": "AFRFLOW",
+ "processDefinitionId": "AFRFLOW:1:c6eea1b7-9722-11e8-8caf-022ac9304eeb",
+ "processInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "executionId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "activityInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "caseDefinitionKey": null,
+ "caseDefinitionId": null,
+ "caseInstanceId": null,
+ "caseExecutionId": null,
+ "taskId": null,
+ "errorMessage": null,
+ "tenantId": null,
+ "state": "CREATED"
+ },
+ {
+ "type": "String",
+ "value": "true",
+ "valueInfo": {
+
+ },
+ "id": "595f3572-9736-11e8-8caf-022ac9304eeb",
+ "name": "URN_log_debug_RemoveLayer3Service",
+ "processDefinitionKey": "AFRFLOW",
+ "processDefinitionId": "AFRFLOW:1:c6eea1b7-9722-11e8-8caf-022ac9304eeb",
+ "processInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "executionId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "activityInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "caseDefinitionKey": null,
+ "caseDefinitionId": null,
+ "caseInstanceId": null,
+ "caseExecutionId": null,
+ "taskId": null,
+ "errorMessage": null,
+ "tenantId": null,
+ "state": "CREATED"
+ },
+ {
+ "type": "String",
+ "value": "true",
+ "valueInfo": {
+
+ },
+ "id": "595f3573-9736-11e8-8caf-022ac9304eeb",
+ "name": "URN_log_debug_GenericDeleteService",
+ "processDefinitionKey": "AFRFLOW",
+ "processDefinitionId": "AFRFLOW:1:c6eea1b7-9722-11e8-8caf-022ac9304eeb",
+ "processInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "executionId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "activityInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "caseDefinitionKey": null,
+ "caseDefinitionId": null,
+ "caseInstanceId": null,
+ "caseExecutionId": null,
+ "taskId": null,
+ "errorMessage": null,
+ "tenantId": null,
+ "state": "CREATED"
+ },
+ {
+ "type": "String",
+ "value": "ueb",
+ "valueInfo": {
+
+ },
+ "id": "595f3574-9736-11e8-8caf-022ac9304eeb",
+ "name": "URN_appc_client_service",
+ "processDefinitionKey": "AFRFLOW",
+ "processDefinitionId": "AFRFLOW:1:c6eea1b7-9722-11e8-8caf-022ac9304eeb",
+ "processInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "executionId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "activityInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "caseDefinitionKey": null,
+ "caseDefinitionId": null,
+ "caseInstanceId": null,
+ "caseExecutionId": null,
+ "taskId": null,
+ "errorMessage": null,
+ "tenantId": null,
+ "state": "CREATED"
+ },
+ {
+ "type": "String",
+ "value": "http://so:8080/networks/NetworkAdapter",
+ "valueInfo": {
+
+ },
+ "id": "595f3575-9736-11e8-8caf-022ac9304eeb",
+ "name": "URN_mso_adapters_network_endpoint",
+ "processDefinitionKey": "AFRFLOW",
+ "processDefinitionId": "AFRFLOW:1:c6eea1b7-9722-11e8-8caf-022ac9304eeb",
+ "processInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "executionId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "activityInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "caseDefinitionKey": null,
+ "caseDefinitionId": null,
+ "caseInstanceId": null,
+ "caseExecutionId": null,
+ "taskId": null,
+ "errorMessage": null,
+ "tenantId": null,
+ "state": "CREATED"
+ },
+ {
+ "type": "String",
+ "value": "test:testpwd",
+ "valueInfo": {
+
+ },
+ "id": "595f3576-9736-11e8-8caf-022ac9304eeb",
+ "name": "URN_mso_oof_auth",
+ "processDefinitionKey": "AFRFLOW",
+ "processDefinitionId": "AFRFLOW:1:c6eea1b7-9722-11e8-8caf-022ac9304eeb",
+ "processInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "executionId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "activityInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "caseDefinitionKey": null,
+ "caseDefinitionId": null,
+ "caseInstanceId": null,
+ "caseExecutionId": null,
+ "taskId": null,
+ "errorMessage": null,
+ "tenantId": null,
+ "state": "CREATED"
+ },
+ {
+ "type": "String",
+ "value": "true",
+ "valueInfo": {
+
+ },
+ "id": "595f5c87-9736-11e8-8caf-022ac9304eeb",
+ "name": "URN_log_debug_QueryTenantInfo",
+ "processDefinitionKey": "AFRFLOW",
+ "processDefinitionId": "AFRFLOW:1:c6eea1b7-9722-11e8-8caf-022ac9304eeb",
+ "processInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "executionId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "activityInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "caseDefinitionKey": null,
+ "caseDefinitionId": null,
+ "caseInstanceId": null,
+ "caseExecutionId": null,
+ "taskId": null,
+ "errorMessage": null,
+ "tenantId": null,
+ "state": "CREATED"
+ },
+ {
+ "type": "String",
+ "value": "false",
+ "valueInfo": {
+
+ },
+ "id": "595f5c88-9736-11e8-8caf-022ac9304eeb",
+ "name": "URN_mso_use_qualified_host",
+ "processDefinitionKey": "AFRFLOW",
+ "processDefinitionId": "AFRFLOW:1:c6eea1b7-9722-11e8-8caf-022ac9304eeb",
+ "processInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "executionId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "activityInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "caseDefinitionKey": null,
+ "caseDefinitionId": null,
+ "caseInstanceId": null,
+ "caseExecutionId": null,
+ "taskId": null,
+ "errorMessage": null,
+ "tenantId": null,
+ "state": "CREATED"
+ },
+ {
+ "type": "String",
+ "value": "true",
+ "valueInfo": {
+
+ },
+ "id": "595f5c89-9736-11e8-8caf-022ac9304eeb",
+ "name": "URN_log_debug_deleteCinderVolumeV1",
+ "processDefinitionKey": "AFRFLOW",
+ "processDefinitionId": "AFRFLOW:1:c6eea1b7-9722-11e8-8caf-022ac9304eeb",
+ "processInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "executionId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "activityInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "caseDefinitionKey": null,
+ "caseDefinitionId": null,
+ "caseInstanceId": null,
+ "caseExecutionId": null,
+ "taskId": null,
+ "errorMessage": null,
+ "tenantId": null,
+ "state": "CREATED"
+ },
+ {
+ "type": "String",
+ "value": "/aai/v11/search/nodes-query",
+ "valueInfo": {
+
+ },
+ "id": "595f5c8a-9736-11e8-8caf-022ac9304eeb",
+ "name": "URN_mso_workflow_default_aai_v11_nodes_query_uri",
+ "processDefinitionKey": "AFRFLOW",
+ "processDefinitionId": "AFRFLOW:1:c6eea1b7-9722-11e8-8caf-022ac9304eeb",
+ "processInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "executionId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "activityInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "caseDefinitionKey": null,
+ "caseDefinitionId": null,
+ "caseInstanceId": null,
+ "caseExecutionId": null,
+ "taskId": null,
+ "errorMessage": null,
+ "tenantId": null,
+ "state": "CREATED"
+ },
+ {
+ "type": "String",
+ "value": "http://org.openecomp.aai.inventory/",
+ "valueInfo": {
+
+ },
+ "id": "595f5c8b-9736-11e8-8caf-022ac9304eeb",
+ "name": "URN_mso_workflow_global_default_aai_namespace",
+ "processDefinitionKey": "AFRFLOW",
+ "processDefinitionId": "AFRFLOW:1:c6eea1b7-9722-11e8-8caf-022ac9304eeb",
+ "processInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "executionId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "activityInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "caseDefinitionKey": null,
+ "caseDefinitionId": null,
+ "caseInstanceId": null,
+ "caseExecutionId": null,
+ "taskId": null,
+ "errorMessage": null,
+ "tenantId": null,
+ "state": "CREATED"
+ },
+ {
+ "type": "String",
+ "value": "SDNC-LCM-WRITE",
+ "valueInfo": {
+
+ },
+ "id": "595f5c8c-9736-11e8-8caf-022ac9304eeb",
+ "name": "URN_appc_client_topic_sdnc_read",
+ "processDefinitionKey": "AFRFLOW",
+ "processDefinitionId": "AFRFLOW:1:c6eea1b7-9722-11e8-8caf-022ac9304eeb",
+ "processInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "executionId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "activityInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "caseDefinitionKey": null,
+ "caseDefinitionId": null,
+ "caseInstanceId": null,
+ "caseExecutionId": null,
+ "taskId": null,
+ "errorMessage": null,
+ "tenantId": null,
+ "state": "CREATED"
+ },
+ {
+ "type": "String",
+ "value": "true",
+ "valueInfo": {
+
+ },
+ "id": "595f5c8d-9736-11e8-8caf-022ac9304eeb",
+ "name": "URN_log_debug_DoDeleteServiceInstance",
+ "processDefinitionKey": "AFRFLOW",
+ "processDefinitionId": "AFRFLOW:1:c6eea1b7-9722-11e8-8caf-022ac9304eeb",
+ "processInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "executionId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "activityInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "caseDefinitionKey": null,
+ "caseDefinitionId": null,
+ "caseInstanceId": null,
+ "caseExecutionId": null,
+ "taskId": null,
+ "errorMessage": null,
+ "tenantId": null,
+ "state": "CREATED"
+ },
+ {
+ "type": "String",
+ "value": "http://sniro-emulator:80",
+ "valueInfo": {
+
+ },
+ "id": "595f5c8e-9736-11e8-8caf-022ac9304eeb",
+ "name": "URN_mso_service_agnostic_sniro_host",
+ "processDefinitionKey": "AFRFLOW",
+ "processDefinitionId": "AFRFLOW:1:c6eea1b7-9722-11e8-8caf-022ac9304eeb",
+ "processInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "executionId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "activityInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "caseDefinitionKey": null,
+ "caseDefinitionId": null,
+ "caseInstanceId": null,
+ "caseExecutionId": null,
+ "taskId": null,
+ "errorMessage": null,
+ "tenantId": null,
+ "state": "CREATED"
+ },
+ {
+ "type": "String",
+ "value": "true",
+ "valueInfo": {
+
+ },
+ "id": "595f5c8f-9736-11e8-8caf-022ac9304eeb",
+ "name": "URN_log_debug_vnfAdapterQueryV1",
+ "processDefinitionKey": "AFRFLOW",
+ "processDefinitionId": "AFRFLOW:1:c6eea1b7-9722-11e8-8caf-022ac9304eeb",
+ "processInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "executionId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "activityInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "caseDefinitionKey": null,
+ "caseDefinitionId": null,
+ "caseInstanceId": null,
+ "caseExecutionId": null,
+ "taskId": null,
+ "errorMessage": null,
+ "tenantId": null,
+ "state": "CREATED"
+ },
+ {
+ "type": "String",
+ "value": "/aai/v11/network/vpn-bindings/vpn-binding",
+ "valueInfo": {
+
+ },
+ "id": "595f5c90-9736-11e8-8caf-022ac9304eeb",
+ "name": "URN_mso_workflow_default_aai_v11_vpn_binding_uri",
+ "processDefinitionKey": "AFRFLOW",
+ "processDefinitionId": "AFRFLOW:1:c6eea1b7-9722-11e8-8caf-022ac9304eeb",
+ "processInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "executionId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "activityInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "caseDefinitionKey": null,
+ "caseDefinitionId": null,
+ "caseInstanceId": null,
+ "caseExecutionId": null,
+ "taskId": null,
+ "errorMessage": null,
+ "tenantId": null,
+ "state": "CREATED"
+ },
+ {
+ "type": "String",
+ "value": "true",
+ "valueInfo": {
+
+ },
+ "id": "595f5c91-9736-11e8-8caf-022ac9304eeb",
+ "name": "URN_log_debug_DoCreateVfModuleVolumeV1",
+ "processDefinitionKey": "AFRFLOW",
+ "processDefinitionId": "AFRFLOW:1:c6eea1b7-9722-11e8-8caf-022ac9304eeb",
+ "processInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "executionId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "activityInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "caseDefinitionKey": null,
+ "caseDefinitionId": null,
+ "caseInstanceId": null,
+ "caseExecutionId": null,
+ "taskId": null,
+ "errorMessage": null,
+ "tenantId": null,
+ "state": "CREATED"
+ },
+ {
+ "type": "String",
+ "value": "true",
+ "valueInfo": {
+
+ },
+ "id": "595f5c92-9736-11e8-8caf-022ac9304eeb",
+ "name": "URN_log_debug_DoDeleteE2EServiceInstance",
+ "processDefinitionKey": "AFRFLOW",
+ "processDefinitionId": "AFRFLOW:1:c6eea1b7-9722-11e8-8caf-022ac9304eeb",
+ "processInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "executionId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "activityInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "caseDefinitionKey": null,
+ "caseDefinitionId": null,
+ "caseInstanceId": null,
+ "caseExecutionId": null,
+ "taskId": null,
+ "errorMessage": null,
+ "tenantId": null,
+ "state": "CREATED"
+ },
+ {
+ "type": "String",
+ "value": "true",
+ "valueInfo": {
+
+ },
+ "id": "595f5c93-9736-11e8-8caf-022ac9304eeb",
+ "name": "URN_log_debug_UpdateVfModuleVolume",
+ "processDefinitionKey": "AFRFLOW",
+ "processDefinitionId": "AFRFLOW:1:c6eea1b7-9722-11e8-8caf-022ac9304eeb",
+ "processInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "executionId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "activityInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "caseDefinitionKey": null,
+ "caseDefinitionId": null,
+ "caseInstanceId": null,
+ "caseExecutionId": null,
+ "taskId": null,
+ "errorMessage": null,
+ "tenantId": null,
+ "state": "CREATED"
+ },
+ {
+ "type": "String",
+ "value": "true",
+ "valueInfo": {
+
+ },
+ "id": "595f5c94-9736-11e8-8caf-022ac9304eeb",
+ "name": "URN_log_debug_CreateNetworkV2",
+ "processDefinitionKey": "AFRFLOW",
+ "processDefinitionId": "AFRFLOW:1:c6eea1b7-9722-11e8-8caf-022ac9304eeb",
+ "processInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "executionId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "activityInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "caseDefinitionKey": null,
+ "caseDefinitionId": null,
+ "caseInstanceId": null,
+ "caseExecutionId": null,
+ "taskId": null,
+ "errorMessage": null,
+ "tenantId": null,
+ "state": "CREATED"
+ },
+ {
+ "type": "String",
+ "value": "true",
+ "valueInfo": {
+
+ },
+ "id": "595f5c95-9736-11e8-8caf-022ac9304eeb",
+ "name": "URN_log_debug_DecomposeService",
+ "processDefinitionKey": "AFRFLOW",
+ "processDefinitionId": "AFRFLOW:1:c6eea1b7-9722-11e8-8caf-022ac9304eeb",
+ "processInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "executionId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "activityInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "caseDefinitionKey": null,
+ "caseDefinitionId": null,
+ "caseInstanceId": null,
+ "caseExecutionId": null,
+ "taskId": null,
+ "errorMessage": null,
+ "tenantId": null,
+ "state": "CREATED"
+ },
+ {
+ "type": "String",
+ "value": "true",
+ "valueInfo": {
+
+ },
+ "id": "595f5c96-9736-11e8-8caf-022ac9304eeb",
+ "name": "URN_log_debug_DoDeleteNetworkInstanceRollback",
+ "processDefinitionKey": "AFRFLOW",
+ "processDefinitionId": "AFRFLOW:1:c6eea1b7-9722-11e8-8caf-022ac9304eeb",
+ "processInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "executionId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "activityInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "caseDefinitionKey": null,
+ "caseDefinitionId": null,
+ "caseInstanceId": null,
+ "caseExecutionId": null,
+ "taskId": null,
+ "errorMessage": null,
+ "tenantId": null,
+ "state": "CREATED"
+ },
+ {
+ "type": "String",
+ "value": "true",
+ "valueInfo": {
+
+ },
+ "id": "595f5c97-9736-11e8-8caf-022ac9304eeb",
+ "name": "URN_log_debug_DeleteVfModuleVolume",
+ "processDefinitionKey": "AFRFLOW",
+ "processDefinitionId": "AFRFLOW:1:c6eea1b7-9722-11e8-8caf-022ac9304eeb",
+ "processInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "executionId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "activityInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "caseDefinitionKey": null,
+ "caseDefinitionId": null,
+ "caseInstanceId": null,
+ "caseExecutionId": null,
+ "taskId": null,
+ "errorMessage": null,
+ "tenantId": null,
+ "state": "CREATED"
+ },
+ {
+ "type": "String",
+ "value": "true",
+ "valueInfo": {
+
+ },
+ "id": "595f5c98-9736-11e8-8caf-022ac9304eeb",
+ "name": "URN_log_debug_DHVCreateService",
+ "processDefinitionKey": "AFRFLOW",
+ "processDefinitionId": "AFRFLOW:1:c6eea1b7-9722-11e8-8caf-022ac9304eeb",
+ "processInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "executionId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "activityInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "caseDefinitionKey": null,
+ "caseDefinitionId": null,
+ "caseInstanceId": null,
+ "caseExecutionId": null,
+ "taskId": null,
+ "errorMessage": null,
+ "tenantId": null,
+ "state": "CREATED"
+ },
+ {
+ "type": "String",
+ "value": "WAN Bonding",
+ "valueInfo": {
+
+ },
+ "id": "595f5c99-9736-11e8-8caf-022ac9304eeb",
+ "name": "URN_mso_workflow_l3ToHigherLayerAddBonding_model_name",
+ "processDefinitionKey": "AFRFLOW",
+ "processDefinitionId": "AFRFLOW:1:c6eea1b7-9722-11e8-8caf-022ac9304eeb",
+ "processInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "executionId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "activityInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "caseDefinitionKey": null,
+ "caseDefinitionId": null,
+ "caseInstanceId": null,
+ "caseExecutionId": null,
+ "taskId": null,
+ "errorMessage": null,
+ "tenantId": null,
+ "state": "CREATED"
+ },
+ {
+ "type": "String",
+ "value": "/aai/v11/search/generic-query",
+ "valueInfo": {
+
+ },
+ "id": "595f5c9a-9736-11e8-8caf-022ac9304eeb",
+ "name": "URN_mso_workflow_default_aai_v11_generic_query_uri",
+ "processDefinitionKey": "AFRFLOW",
+ "processDefinitionId": "AFRFLOW:1:c6eea1b7-9722-11e8-8caf-022ac9304eeb",
+ "processInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "executionId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "activityInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "caseDefinitionKey": null,
+ "caseDefinitionId": null,
+ "caseInstanceId": null,
+ "caseExecutionId": null,
+ "taskId": null,
+ "errorMessage": null,
+ "tenantId": null,
+ "state": "CREATED"
+ },
+ {
+ "type": "String",
+ "value": "true",
+ "valueInfo": {
+
+ },
+ "id": "595f5c9b-9736-11e8-8caf-022ac9304eeb",
+ "name": "URN_log_debug_DoUpdateE2EServiceInstance",
+ "processDefinitionKey": "AFRFLOW",
+ "processDefinitionId": "AFRFLOW:1:c6eea1b7-9722-11e8-8caf-022ac9304eeb",
+ "processInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "executionId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "activityInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "caseDefinitionKey": null,
+ "caseDefinitionId": null,
+ "caseInstanceId": null,
+ "caseExecutionId": null,
+ "taskId": null,
+ "errorMessage": null,
+ "tenantId": null,
+ "state": "CREATED"
+ },
+ {
+ "type": "String",
+ "value": "21014aa2-526b-11e6-beb8-9e71128cae77",
+ "valueInfo": {
+
+ },
+ "id": "595f5c9c-9736-11e8-8caf-022ac9304eeb",
+ "name": "URN_mso_infra_customer_id",
+ "processDefinitionKey": "AFRFLOW",
+ "processDefinitionId": "AFRFLOW:1:c6eea1b7-9722-11e8-8caf-022ac9304eeb",
+ "processInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "executionId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "activityInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "caseDefinitionKey": null,
+ "caseDefinitionId": null,
+ "caseInstanceId": null,
+ "caseExecutionId": null,
+ "taskId": null,
+ "errorMessage": null,
+ "tenantId": null,
+ "state": "CREATED"
+ },
+ {
+ "type": "String",
+ "value": "true",
+ "valueInfo": {
+
+ },
+ "id": "595f5c9d-9736-11e8-8caf-022ac9304eeb",
+ "name": "URN_log_debug_DeleteSDNCNetworkResource",
+ "processDefinitionKey": "AFRFLOW",
+ "processDefinitionId": "AFRFLOW:1:c6eea1b7-9722-11e8-8caf-022ac9304eeb",
+ "processInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "executionId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "activityInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "caseDefinitionKey": null,
+ "caseDefinitionId": null,
+ "caseInstanceId": null,
+ "caseExecutionId": null,
+ "taskId": null,
+ "errorMessage": null,
+ "tenantId": null,
+ "state": "CREATED"
+ },
+ {
+ "type": "String",
+ "value": "true",
+ "valueInfo": {
+
+ },
+ "id": "595f5c9e-9736-11e8-8caf-022ac9304eeb",
+ "name": "URN_log_debug_sdncAdapter",
+ "processDefinitionKey": "AFRFLOW",
+ "processDefinitionId": "AFRFLOW:1:c6eea1b7-9722-11e8-8caf-022ac9304eeb",
+ "processInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "executionId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "activityInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "caseDefinitionKey": null,
+ "caseDefinitionId": null,
+ "caseInstanceId": null,
+ "caseExecutionId": null,
+ "taskId": null,
+ "errorMessage": null,
+ "tenantId": null,
+ "state": "CREATED"
+ },
+ {
+ "type": "String",
+ "value": "true",
+ "valueInfo": {
+
+ },
+ "id": "595f5c9f-9736-11e8-8caf-022ac9304eeb",
+ "name": "URN_log_debug_asyncQueryAAICustomer",
+ "processDefinitionKey": "AFRFLOW",
+ "processDefinitionId": "AFRFLOW:1:c6eea1b7-9722-11e8-8caf-022ac9304eeb",
+ "processInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "executionId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "activityInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "caseDefinitionKey": null,
+ "caseDefinitionId": null,
+ "caseInstanceId": null,
+ "caseExecutionId": null,
+ "taskId": null,
+ "errorMessage": null,
+ "tenantId": null,
+ "state": "CREATED"
+ },
+ {
+ "type": "String",
+ "value": "/sniro/api/v2/placement",
+ "valueInfo": {
+
+ },
+ "id": "595f5ca0-9736-11e8-8caf-022ac9304eeb",
+ "name": "URN_mso_service_agnostic_sniro_endpoint",
+ "processDefinitionKey": "AFRFLOW",
+ "processDefinitionId": "AFRFLOW:1:c6eea1b7-9722-11e8-8caf-022ac9304eeb",
+ "processInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "executionId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "activityInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "caseDefinitionKey": null,
+ "caseDefinitionId": null,
+ "caseInstanceId": null,
+ "caseExecutionId": null,
+ "taskId": null,
+ "errorMessage": null,
+ "tenantId": null,
+ "state": "CREATED"
+ },
+ {
+ "type": "String",
+ "value": "true",
+ "valueInfo": {
+
+ },
+ "id": "595f5ca1-9736-11e8-8caf-022ac9304eeb",
+ "name": "URN_log_debug_sendAOTSTicket",
+ "processDefinitionKey": "AFRFLOW",
+ "processDefinitionId": "AFRFLOW:1:c6eea1b7-9722-11e8-8caf-022ac9304eeb",
+ "processInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "executionId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "activityInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "caseDefinitionKey": null,
+ "caseDefinitionId": null,
+ "caseInstanceId": null,
+ "caseExecutionId": null,
+ "taskId": null,
+ "errorMessage": null,
+ "tenantId": null,
+ "state": "CREATED"
+ },
+ {
+ "type": "String",
+ "value": "true",
+ "valueInfo": {
+
+ },
+ "id": "595f5ca2-9736-11e8-8caf-022ac9304eeb",
+ "name": "URN_log_debug_DeleteServiceInstanceInfra",
+ "processDefinitionKey": "AFRFLOW",
+ "processDefinitionId": "AFRFLOW:1:c6eea1b7-9722-11e8-8caf-022ac9304eeb",
+ "processInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "executionId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "activityInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "caseDefinitionKey": null,
+ "caseDefinitionId": null,
+ "caseInstanceId": null,
+ "caseExecutionId": null,
+ "taskId": null,
+ "errorMessage": null,
+ "tenantId": null,
+ "state": "CREATED"
+ },
+ {
+ "type": "String",
+ "value": "true",
+ "valueInfo": {
+
+ },
+ "id": "595f83b3-9736-11e8-8caf-022ac9304eeb",
+ "name": "URN_log_debug_DeleteTenantV1",
+ "processDefinitionKey": "AFRFLOW",
+ "processDefinitionId": "AFRFLOW:1:c6eea1b7-9722-11e8-8caf-022ac9304eeb",
+ "processInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "executionId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "activityInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "caseDefinitionKey": null,
+ "caseDefinitionId": null,
+ "caseInstanceId": null,
+ "caseExecutionId": null,
+ "taskId": null,
+ "errorMessage": null,
+ "tenantId": null,
+ "state": "CREATED"
+ },
+ {
+ "type": "String",
+ "value": "07a7159d3bf51a0e53be7a8f89699be7",
+ "valueInfo": {
+
+ },
+ "id": "595f83b4-9736-11e8-8caf-022ac9304eeb",
+ "name": "URN_mso_msoKey",
+ "processDefinitionKey": "AFRFLOW",
+ "processDefinitionId": "AFRFLOW:1:c6eea1b7-9722-11e8-8caf-022ac9304eeb",
+ "processInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "executionId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "activityInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "caseDefinitionKey": null,
+ "caseDefinitionId": null,
+ "caseInstanceId": null,
+ "caseExecutionId": null,
+ "taskId": null,
+ "errorMessage": null,
+ "tenantId": null,
+ "state": "CREATED"
+ },
+ {
+ "type": "String",
+ "value": "true",
+ "valueInfo": {
+
+ },
+ "id": "595f83b5-9736-11e8-8caf-022ac9304eeb",
+ "name": "URN_log_debug_GenericGetService",
+ "processDefinitionKey": "AFRFLOW",
+ "processDefinitionId": "AFRFLOW:1:c6eea1b7-9722-11e8-8caf-022ac9304eeb",
+ "processInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "executionId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "activityInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "caseDefinitionKey": null,
+ "caseDefinitionId": null,
+ "caseInstanceId": null,
+ "caseExecutionId": null,
+ "taskId": null,
+ "errorMessage": null,
+ "tenantId": null,
+ "state": "CREATED"
+ },
+ {
+ "type": "String",
+ "value": "true",
+ "valueInfo": {
+
+ },
+ "id": "595f83b6-9736-11e8-8caf-022ac9304eeb",
+ "name": "URN_log_debug_DeleteVfModuleVolumeInfraV1",
+ "processDefinitionKey": "AFRFLOW",
+ "processDefinitionId": "AFRFLOW:1:c6eea1b7-9722-11e8-8caf-022ac9304eeb",
+ "processInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "executionId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "activityInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "caseDefinitionKey": null,
+ "caseDefinitionId": null,
+ "caseInstanceId": null,
+ "caseExecutionId": null,
+ "taskId": null,
+ "errorMessage": null,
+ "tenantId": null,
+ "state": "CREATED"
+ },
+ {
+ "type": "String",
+ "value": "360000",
+ "valueInfo": {
+
+ },
+ "id": "595f83b7-9736-11e8-8caf-022ac9304eeb",
+ "name": "URN_appc_client_topic_read_timeout",
+ "processDefinitionKey": "AFRFLOW",
+ "processDefinitionId": "AFRFLOW:1:c6eea1b7-9722-11e8-8caf-022ac9304eeb",
+ "processInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "executionId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "activityInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "caseDefinitionKey": null,
+ "caseDefinitionId": null,
+ "caseInstanceId": null,
+ "caseExecutionId": null,
+ "taskId": null,
+ "errorMessage": null,
+ "tenantId": null,
+ "state": "CREATED"
+ },
+ {
+ "type": "String",
+ "value": "true",
+ "valueInfo": {
+
+ },
+ "id": "595f83b8-9736-11e8-8caf-022ac9304eeb",
+ "name": "URN_log_debug_DoScaleVFCServiceInstance",
+ "processDefinitionKey": "AFRFLOW",
+ "processDefinitionId": "AFRFLOW:1:c6eea1b7-9722-11e8-8caf-022ac9304eeb",
+ "processInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "executionId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "activityInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "caseDefinitionKey": null,
+ "caseDefinitionId": null,
+ "caseInstanceId": null,
+ "caseExecutionId": null,
+ "taskId": null,
+ "errorMessage": null,
+ "tenantId": null,
+ "state": "CREATED"
+ },
+ {
+ "type": "String",
+ "value": "true",
+ "valueInfo": {
+
+ },
+ "id": "595f83b9-9736-11e8-8caf-022ac9304eeb",
+ "name": "URN_log_debug_DoCreateVfModuleVolumeRollback",
+ "processDefinitionKey": "AFRFLOW",
+ "processDefinitionId": "AFRFLOW:1:c6eea1b7-9722-11e8-8caf-022ac9304eeb",
+ "processInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "executionId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "activityInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "caseDefinitionKey": null,
+ "caseDefinitionId": null,
+ "caseInstanceId": null,
+ "caseExecutionId": null,
+ "taskId": null,
+ "errorMessage": null,
+ "tenantId": null,
+ "state": "CREATED"
+ },
+ {
+ "type": "String",
+ "value": "/aai/v11/network/generic-vnfs/generic-vnf",
+ "valueInfo": {
+
+ },
+ "id": "595f83ba-9736-11e8-8caf-022ac9304eeb",
+ "name": "URN_mso_workflow_default_aai_v11_generic_vnf_uri",
+ "processDefinitionKey": "AFRFLOW",
+ "processDefinitionId": "AFRFLOW:1:c6eea1b7-9722-11e8-8caf-022ac9304eeb",
+ "processInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "executionId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "activityInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "caseDefinitionKey": null,
+ "caseDefinitionId": null,
+ "caseInstanceId": null,
+ "caseExecutionId": null,
+ "taskId": null,
+ "errorMessage": null,
+ "tenantId": null,
+ "state": "CREATED"
+ },
+ {
+ "type": "String",
+ "value": "PT5S",
+ "valueInfo": {
+
+ },
+ "id": "595f83bb-9736-11e8-8caf-022ac9304eeb",
+ "name": "URN_mso_workflow_sdnc_replication_delay",
+ "processDefinitionKey": "AFRFLOW",
+ "processDefinitionId": "AFRFLOW:1:c6eea1b7-9722-11e8-8caf-022ac9304eeb",
+ "processInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "executionId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "activityInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "caseDefinitionKey": null,
+ "caseDefinitionId": null,
+ "caseInstanceId": null,
+ "caseExecutionId": null,
+ "taskId": null,
+ "errorMessage": null,
+ "tenantId": null,
+ "state": "CREATED"
+ },
+ {
+ "type": "String",
+ "value": "http://so:8080/vnfs/VnfAdapterAsync",
+ "valueInfo": {
+
+ },
+ "id": "595f83bc-9736-11e8-8caf-022ac9304eeb",
+ "name": "URN_mso_adapters_vnf_async_endpoint",
+ "processDefinitionKey": "AFRFLOW",
+ "processDefinitionId": "AFRFLOW:1:c6eea1b7-9722-11e8-8caf-022ac9304eeb",
+ "processInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "executionId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "activityInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "caseDefinitionKey": null,
+ "caseDefinitionId": null,
+ "caseInstanceId": null,
+ "caseExecutionId": null,
+ "taskId": null,
+ "errorMessage": null,
+ "tenantId": null,
+ "state": "CREATED"
+ },
+ {
+ "type": "String",
+ "value": "true",
+ "valueInfo": {
+
+ },
+ "id": "595f83bd-9736-11e8-8caf-022ac9304eeb",
+ "name": "URN_mso_rollback",
+ "processDefinitionKey": "AFRFLOW",
+ "processDefinitionId": "AFRFLOW:1:c6eea1b7-9722-11e8-8caf-022ac9304eeb",
+ "processInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "executionId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "activityInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "caseDefinitionKey": null,
+ "caseDefinitionId": null,
+ "caseInstanceId": null,
+ "caseExecutionId": null,
+ "taskId": null,
+ "errorMessage": null,
+ "tenantId": null,
+ "state": "CREATED"
+ },
+ {
+ "type": "String",
+ "value": "PT30M",
+ "valueInfo": {
+
+ },
+ "id": "595f83be-9736-11e8-8caf-022ac9304eeb",
+ "name": "URN_mso_sniro_timeout",
+ "processDefinitionKey": "AFRFLOW",
+ "processDefinitionId": "AFRFLOW:1:c6eea1b7-9722-11e8-8caf-022ac9304eeb",
+ "processInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "executionId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "activityInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "caseDefinitionKey": null,
+ "caseDefinitionId": null,
+ "caseInstanceId": null,
+ "caseExecutionId": null,
+ "taskId": null,
+ "errorMessage": null,
+ "tenantId": null,
+ "state": "CREATED"
+ },
+ {
+ "type": "String",
+ "value": "PORT-MIRROR,PPROBE",
+ "valueInfo": {
+
+ },
+ "id": "595f83bf-9736-11e8-8caf-022ac9304eeb",
+ "name": "URN_sdnc_si_svc_types",
+ "processDefinitionKey": "AFRFLOW",
+ "processDefinitionId": "AFRFLOW:1:c6eea1b7-9722-11e8-8caf-022ac9304eeb",
+ "processInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "executionId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "activityInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "caseDefinitionKey": null,
+ "caseDefinitionId": null,
+ "caseInstanceId": null,
+ "caseExecutionId": null,
+ "taskId": null,
+ "errorMessage": null,
+ "tenantId": null,
+ "state": "CREATED"
+ },
+ {
+ "type": "String",
+ "value": "2015-05-15",
+ "valueInfo": {
+
+ },
+ "id": "595f83c0-9736-11e8-8caf-022ac9304eeb",
+ "name": "URN_mso_sdnc_firewall_yang_model_version",
+ "processDefinitionKey": "AFRFLOW",
+ "processDefinitionId": "AFRFLOW:1:c6eea1b7-9722-11e8-8caf-022ac9304eeb",
+ "processInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "executionId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "activityInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "caseDefinitionKey": null,
+ "caseDefinitionId": null,
+ "caseInstanceId": null,
+ "caseExecutionId": null,
+ "taskId": null,
+ "errorMessage": null,
+ "tenantId": null,
+ "state": "CREATED"
+ },
+ {
+ "type": "String",
+ "value": "true",
+ "valueInfo": {
+
+ },
+ "id": "595f83c1-9736-11e8-8caf-022ac9304eeb",
+ "name": "URN_log_debug_DeleteNetworkInstanceInfra",
+ "processDefinitionKey": "AFRFLOW",
+ "processDefinitionId": "AFRFLOW:1:c6eea1b7-9722-11e8-8caf-022ac9304eeb",
+ "processInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "executionId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "activityInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "caseDefinitionKey": null,
+ "caseDefinitionId": null,
+ "caseInstanceId": null,
+ "caseExecutionId": null,
+ "taskId": null,
+ "errorMessage": null,
+ "tenantId": null,
+ "state": "CREATED"
+ },
+ {
+ "type": "String",
+ "value": "true",
+ "valueInfo": {
+
+ },
+ "id": "595f83c2-9736-11e8-8caf-022ac9304eeb",
+ "name": "URN_log_debug_DoDeleteNetworkInstance",
+ "processDefinitionKey": "AFRFLOW",
+ "processDefinitionId": "AFRFLOW:1:c6eea1b7-9722-11e8-8caf-022ac9304eeb",
+ "processInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "executionId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "activityInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "caseDefinitionKey": null,
+ "caseDefinitionId": null,
+ "caseInstanceId": null,
+ "caseExecutionId": null,
+ "taskId": null,
+ "errorMessage": null,
+ "tenantId": null,
+ "state": "CREATED"
+ },
+ {
+ "type": "String",
+ "value": "true",
+ "valueInfo": {
+
+ },
+ "id": "595f83c3-9736-11e8-8caf-022ac9304eeb",
+ "name": "URN_log_debug_vnfAdapterCreateV1",
+ "processDefinitionKey": "AFRFLOW",
+ "processDefinitionId": "AFRFLOW:1:c6eea1b7-9722-11e8-8caf-022ac9304eeb",
+ "processInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "executionId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "activityInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "caseDefinitionKey": null,
+ "caseDefinitionId": null,
+ "caseInstanceId": null,
+ "caseExecutionId": null,
+ "taskId": null,
+ "errorMessage": null,
+ "tenantId": null,
+ "state": "CREATED"
+ },
+ {
+ "type": "String",
+ "value": "11",
+ "valueInfo": {
+
+ },
+ "id": "595f83c4-9736-11e8-8caf-022ac9304eeb",
+ "name": "URN_mso_workflow_global_default_aai_version",
+ "processDefinitionKey": "AFRFLOW",
+ "processDefinitionId": "AFRFLOW:1:c6eea1b7-9722-11e8-8caf-022ac9304eeb",
+ "processInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "executionId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "activityInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "caseDefinitionKey": null,
+ "caseDefinitionId": null,
+ "caseInstanceId": null,
+ "caseExecutionId": null,
+ "taskId": null,
+ "errorMessage": null,
+ "tenantId": null,
+ "state": "CREATED"
+ },
+ {
+ "type": "String",
+ "value": "http://oof-has-api:8091/api/oof/v1/placement",
+ "valueInfo": {
+
+ },
+ "id": "595f83c5-9736-11e8-8caf-022ac9304eeb",
+ "name": "URN_mso_oof_endpoint",
+ "processDefinitionKey": "AFRFLOW",
+ "processDefinitionId": "AFRFLOW:1:c6eea1b7-9722-11e8-8caf-022ac9304eeb",
+ "processInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "executionId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "activityInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "caseDefinitionKey": null,
+ "caseDefinitionId": null,
+ "caseInstanceId": null,
+ "caseExecutionId": null,
+ "taskId": null,
+ "errorMessage": null,
+ "tenantId": null,
+ "state": "CREATED"
+ },
+ {
+ "type": "String",
+ "value": "true",
+ "valueInfo": {
+
+ },
+ "id": "595f83c6-9736-11e8-8caf-022ac9304eeb",
+ "name": "URN_log_debug_VPECreateVfModule",
+ "processDefinitionKey": "AFRFLOW",
+ "processDefinitionId": "AFRFLOW:1:c6eea1b7-9722-11e8-8caf-022ac9304eeb",
+ "processInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "executionId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "activityInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "caseDefinitionKey": null,
+ "caseDefinitionId": null,
+ "caseInstanceId": null,
+ "caseExecutionId": null,
+ "taskId": null,
+ "errorMessage": null,
+ "tenantId": null,
+ "state": "CREATED"
+ },
+ {
+ "type": "String",
+ "value": "/aai/v11/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/DFW/tenants/tenant",
+ "valueInfo": {
+
+ },
+ "id": "595f83c7-9736-11e8-8caf-022ac9304eeb",
+ "name": "URN_mso_workflow_default_aai_v11_tenant_uri",
+ "processDefinitionKey": "AFRFLOW",
+ "processDefinitionId": "AFRFLOW:1:c6eea1b7-9722-11e8-8caf-022ac9304eeb",
+ "processInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "executionId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "activityInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "caseDefinitionKey": null,
+ "caseDefinitionId": null,
+ "caseInstanceId": null,
+ "caseExecutionId": null,
+ "taskId": null,
+ "errorMessage": null,
+ "tenantId": null,
+ "state": "CREATED"
+ },
+ {
+ "type": "String",
+ "value": "true",
+ "valueInfo": {
+
+ },
+ "id": "595f83c8-9736-11e8-8caf-022ac9304eeb",
+ "name": "URN_log_debug_CreateVfModuleVolumeInfraV1",
+ "processDefinitionKey": "AFRFLOW",
+ "processDefinitionId": "AFRFLOW:1:c6eea1b7-9722-11e8-8caf-022ac9304eeb",
+ "processInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "executionId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "activityInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "caseDefinitionKey": null,
+ "caseDefinitionId": null,
+ "caseInstanceId": null,
+ "caseExecutionId": null,
+ "taskId": null,
+ "errorMessage": null,
+ "tenantId": null,
+ "state": "CREATED"
+ },
+ {
+ "type": "String",
+ "value": "PT5M",
+ "valueInfo": {
+
+ },
+ "id": "595f83c9-9736-11e8-8caf-022ac9304eeb",
+ "name": "URN_mso_po_timeout",
+ "processDefinitionKey": "AFRFLOW",
+ "processDefinitionId": "AFRFLOW:1:c6eea1b7-9722-11e8-8caf-022ac9304eeb",
+ "processInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "executionId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "activityInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "caseDefinitionKey": null,
+ "caseDefinitionId": null,
+ "caseInstanceId": null,
+ "caseExecutionId": null,
+ "taskId": null,
+ "errorMessage": null,
+ "tenantId": null,
+ "state": "CREATED"
+ },
+ {
+ "type": "String",
+ "value": "true",
+ "valueInfo": {
+
+ },
+ "id": "595f83ca-9736-11e8-8caf-022ac9304eeb",
+ "name": "URN_log_debug_CreateServiceInstanceInfra",
+ "processDefinitionKey": "AFRFLOW",
+ "processDefinitionId": "AFRFLOW:1:c6eea1b7-9722-11e8-8caf-022ac9304eeb",
+ "processInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "executionId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "activityInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "caseDefinitionKey": null,
+ "caseDefinitionId": null,
+ "caseInstanceId": null,
+ "caseExecutionId": null,
+ "taskId": null,
+ "errorMessage": null,
+ "tenantId": null,
+ "state": "CREATED"
+ },
+ {
+ "type": "String",
+ "value": "true",
+ "valueInfo": {
+
+ },
+ "id": "595f83cb-9736-11e8-8caf-022ac9304eeb",
+ "name": "URN_log_debug_UpdateNetworkInstance",
+ "processDefinitionKey": "AFRFLOW",
+ "processDefinitionId": "AFRFLOW:1:c6eea1b7-9722-11e8-8caf-022ac9304eeb",
+ "processInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "executionId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "activityInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "caseDefinitionKey": null,
+ "caseDefinitionId": null,
+ "caseInstanceId": null,
+ "caseExecutionId": null,
+ "taskId": null,
+ "errorMessage": null,
+ "tenantId": null,
+ "state": "CREATED"
+ },
+ {
+ "type": "String",
+ "value": "52dbec20-47aa-42e4-936c-331d8e350d44",
+ "valueInfo": {
+
+ },
+ "id": "595f83cc-9736-11e8-8caf-022ac9304eeb",
+ "name": "URN_mso_workflow_l3ToHigherLayerAddBonding_model_versionid",
+ "processDefinitionKey": "AFRFLOW",
+ "processDefinitionId": "AFRFLOW:1:c6eea1b7-9722-11e8-8caf-022ac9304eeb",
+ "processInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "executionId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "activityInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "caseDefinitionKey": null,
+ "caseDefinitionId": null,
+ "caseInstanceId": null,
+ "caseExecutionId": null,
+ "taskId": null,
+ "errorMessage": null,
+ "tenantId": null,
+ "state": "CREATED"
+ },
+ {
+ "type": "String",
+ "value": "https://aai.onap:8443",
+ "valueInfo": {
+
+ },
+ "id": "595f83cd-9736-11e8-8caf-022ac9304eeb",
+ "name": "URN_aai_endpoint",
+ "processDefinitionKey": "AFRFLOW",
+ "processDefinitionId": "AFRFLOW:1:c6eea1b7-9722-11e8-8caf-022ac9304eeb",
+ "processInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "executionId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "activityInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "caseDefinitionKey": null,
+ "caseDefinitionId": null,
+ "caseInstanceId": null,
+ "caseExecutionId": null,
+ "taskId": null,
+ "errorMessage": null,
+ "tenantId": null,
+ "state": "CREATED"
+ },
+ {
+ "type": "String",
+ "value": "true",
+ "valueInfo": {
+
+ },
+ "id": "595f83ce-9736-11e8-8caf-022ac9304eeb",
+ "name": "URN_log_debug_CreateTenantV1",
+ "processDefinitionKey": "AFRFLOW",
+ "processDefinitionId": "AFRFLOW:1:c6eea1b7-9722-11e8-8caf-022ac9304eeb",
+ "processInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "executionId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "activityInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "caseDefinitionKey": null,
+ "caseDefinitionId": null,
+ "caseInstanceId": null,
+ "caseExecutionId": null,
+ "taskId": null,
+ "errorMessage": null,
+ "tenantId": null,
+ "state": "CREATED"
+ },
+ {
+ "type": "String",
+ "value": "http://so:8080/workflows/messages/message",
+ "valueInfo": {
+
+ },
+ "id": "595faadf-9736-11e8-8caf-022ac9304eeb",
+ "name": "URN_mso_adapters_workflow_message_endpoint",
+ "processDefinitionKey": "AFRFLOW",
+ "processDefinitionId": "AFRFLOW:1:c6eea1b7-9722-11e8-8caf-022ac9304eeb",
+ "processInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "executionId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "activityInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "caseDefinitionKey": null,
+ "caseDefinitionId": null,
+ "caseInstanceId": null,
+ "caseExecutionId": null,
+ "taskId": null,
+ "errorMessage": null,
+ "tenantId": null,
+ "state": "CREATED"
+ },
+ {
+ "type": "String",
+ "value": "PT30S",
+ "valueInfo": {
+
+ },
+ "id": "595faae0-9736-11e8-8caf-022ac9304eeb",
+ "name": "URN_mso_workflow_aai_distribution_delay",
+ "processDefinitionKey": "AFRFLOW",
+ "processDefinitionId": "AFRFLOW:1:c6eea1b7-9722-11e8-8caf-022ac9304eeb",
+ "processInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "executionId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "activityInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "caseDefinitionKey": null,
+ "caseDefinitionId": null,
+ "caseInstanceId": null,
+ "caseExecutionId": null,
+ "taskId": null,
+ "errorMessage": null,
+ "tenantId": null,
+ "state": "CREATED"
+ },
+ {
+ "type": "String",
+ "value": "2.0",
+ "valueInfo": {
+
+ },
+ "id": "595faae1-9736-11e8-8caf-022ac9304eeb",
+ "name": "URN_mso_workflow_l3ToHigherLayerAddBonding_model_version",
+ "processDefinitionKey": "AFRFLOW",
+ "processDefinitionId": "AFRFLOW:1:c6eea1b7-9722-11e8-8caf-022ac9304eeb",
+ "processInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "executionId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "activityInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "caseDefinitionKey": null,
+ "caseDefinitionId": null,
+ "caseInstanceId": null,
+ "caseExecutionId": null,
+ "taskId": null,
+ "errorMessage": null,
+ "tenantId": null,
+ "state": "CREATED"
+ },
+ {
+ "type": "String",
+ "value": "true",
+ "valueInfo": {
+
+ },
+ "id": "595faae2-9736-11e8-8caf-022ac9304eeb",
+ "name": "URN_log_debug_ScaleCustomE2EServiceInstance",
+ "processDefinitionKey": "AFRFLOW",
+ "processDefinitionId": "AFRFLOW:1:c6eea1b7-9722-11e8-8caf-022ac9304eeb",
+ "processInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "executionId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "activityInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "caseDefinitionKey": null,
+ "caseDefinitionId": null,
+ "caseInstanceId": null,
+ "caseExecutionId": null,
+ "taskId": null,
+ "errorMessage": null,
+ "tenantId": null,
+ "state": "CREATED"
+ },
+ {
+ "type": "String",
+ "value": "/aai/v11/business/customers/customer",
+ "valueInfo": {
+
+ },
+ "id": "595faae3-9736-11e8-8caf-022ac9304eeb",
+ "name": "URN_mso_workflow_default_aai_v11_customer_uri",
+ "processDefinitionKey": "AFRFLOW",
+ "processDefinitionId": "AFRFLOW:1:c6eea1b7-9722-11e8-8caf-022ac9304eeb",
+ "processInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "executionId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "activityInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "caseDefinitionKey": null,
+ "caseDefinitionId": null,
+ "caseInstanceId": null,
+ "caseExecutionId": null,
+ "taskId": null,
+ "errorMessage": null,
+ "tenantId": null,
+ "state": "CREATED"
+ },
+ {
+ "type": "String",
+ "value": "/aai/v11/network/vces/vce",
+ "valueInfo": {
+
+ },
+ "id": "595faae4-9736-11e8-8caf-022ac9304eeb",
+ "name": "URN_mso_workflow_default_aai_v11_vce_uri",
+ "processDefinitionKey": "AFRFLOW",
+ "processDefinitionId": "AFRFLOW:1:c6eea1b7-9722-11e8-8caf-022ac9304eeb",
+ "processInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "executionId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "activityInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "caseDefinitionKey": null,
+ "caseDefinitionId": null,
+ "caseInstanceId": null,
+ "caseExecutionId": null,
+ "taskId": null,
+ "errorMessage": null,
+ "tenantId": null,
+ "state": "CREATED"
+ },
+ {
+ "type": "String",
+ "value": "http://oof-has-api:8091",
+ "valueInfo": {
+
+ },
+ "id": "595faae5-9736-11e8-8caf-022ac9304eeb",
+ "name": "URN_mso_service_agnostic_oof_host",
+ "processDefinitionKey": "AFRFLOW",
+ "processDefinitionId": "AFRFLOW:1:c6eea1b7-9722-11e8-8caf-022ac9304eeb",
+ "processInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "executionId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "activityInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "caseDefinitionKey": null,
+ "caseDefinitionId": null,
+ "caseInstanceId": null,
+ "caseExecutionId": null,
+ "taskId": null,
+ "errorMessage": null,
+ "tenantId": null,
+ "state": "CREATED"
+ },
+ {
+ "type": "String",
+ "value": "http://so:8080/adapters/SDNCAdapter",
+ "valueInfo": {
+
+ },
+ "id": "595faae6-9736-11e8-8caf-022ac9304eeb",
+ "name": "URN_mso_adapters_sdnc_endpoint",
+ "processDefinitionKey": "AFRFLOW",
+ "processDefinitionId": "AFRFLOW:1:c6eea1b7-9722-11e8-8caf-022ac9304eeb",
+ "processInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "executionId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "activityInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "caseDefinitionKey": null,
+ "caseDefinitionId": null,
+ "caseInstanceId": null,
+ "caseExecutionId": null,
+ "taskId": null,
+ "errorMessage": null,
+ "tenantId": null,
+ "state": "CREATED"
+ },
+ {
+ "type": "String",
+ "value": "test:testpwd",
+ "valueInfo": {
+
+ },
+ "id": "595faae7-9736-11e8-8caf-022ac9304eeb",
+ "name": "URN_mso_sniro_auth",
+ "processDefinitionKey": "AFRFLOW",
+ "processDefinitionId": "AFRFLOW:1:c6eea1b7-9722-11e8-8caf-022ac9304eeb",
+ "processInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "executionId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "activityInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "caseDefinitionKey": null,
+ "caseDefinitionId": null,
+ "caseInstanceId": null,
+ "caseExecutionId": null,
+ "taskId": null,
+ "errorMessage": null,
+ "tenantId": null,
+ "state": "CREATED"
+ },
+ {
+ "type": "String",
+ "value": "APPC-LCM-WRITE",
+ "valueInfo": {
+
+ },
+ "id": "595faae8-9736-11e8-8caf-022ac9304eeb",
+ "name": "URN_appc_client_topic_read",
+ "processDefinitionKey": "AFRFLOW",
+ "processDefinitionId": "AFRFLOW:1:c6eea1b7-9722-11e8-8caf-022ac9304eeb",
+ "processInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "executionId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "activityInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "caseDefinitionKey": null,
+ "caseDefinitionId": null,
+ "caseInstanceId": null,
+ "caseExecutionId": null,
+ "taskId": null,
+ "errorMessage": null,
+ "tenantId": null,
+ "state": "CREATED"
+ },
+ {
+ "type": "String",
+ "value": "true",
+ "valueInfo": {
+
+ },
+ "id": "595faae9-9736-11e8-8caf-022ac9304eeb",
+ "name": "URN_log_debug_DoUpdateNetworkInstanceRollback",
+ "processDefinitionKey": "AFRFLOW",
+ "processDefinitionId": "AFRFLOW:1:c6eea1b7-9722-11e8-8caf-022ac9304eeb",
+ "processInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "executionId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "activityInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "caseDefinitionKey": null,
+ "caseDefinitionId": null,
+ "caseInstanceId": null,
+ "caseExecutionId": null,
+ "taskId": null,
+ "errorMessage": null,
+ "tenantId": null,
+ "state": "CREATED"
+ },
+ {
+ "type": "String",
+ "value": "true",
+ "valueInfo": {
+
+ },
+ "id": "595faaea-9736-11e8-8caf-022ac9304eeb",
+ "name": "URN_log_debug_DeleteNetworkV2",
+ "processDefinitionKey": "AFRFLOW",
+ "processDefinitionId": "AFRFLOW:1:c6eea1b7-9722-11e8-8caf-022ac9304eeb",
+ "processInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "executionId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "activityInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "caseDefinitionKey": null,
+ "caseDefinitionId": null,
+ "caseInstanceId": null,
+ "caseExecutionId": null,
+ "taskId": null,
+ "errorMessage": null,
+ "tenantId": null,
+ "state": "CREATED"
+ },
+ {
+ "type": "String",
+ "value": "true",
+ "valueInfo": {
+
+ },
+ "id": "595faaeb-9736-11e8-8caf-022ac9304eeb",
+ "name": "URN_log_debug_DoCompareModelofE2EServiceInstance",
+ "processDefinitionKey": "AFRFLOW",
+ "processDefinitionId": "AFRFLOW:1:c6eea1b7-9722-11e8-8caf-022ac9304eeb",
+ "processInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "executionId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "activityInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "caseDefinitionKey": null,
+ "caseDefinitionId": null,
+ "caseInstanceId": null,
+ "caseExecutionId": null,
+ "taskId": null,
+ "errorMessage": null,
+ "tenantId": null,
+ "state": "CREATED"
+ },
+ {
+ "type": "String",
+ "value": "3904",
+ "valueInfo": {
+
+ },
+ "id": "595faaec-9736-11e8-8caf-022ac9304eeb",
+ "name": "URN_mso_dmaap_port",
+ "processDefinitionKey": "AFRFLOW",
+ "processDefinitionId": "AFRFLOW:1:c6eea1b7-9722-11e8-8caf-022ac9304eeb",
+ "processInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "executionId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "activityInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "caseDefinitionKey": null,
+ "caseDefinitionId": null,
+ "caseInstanceId": null,
+ "caseExecutionId": null,
+ "taskId": null,
+ "errorMessage": null,
+ "tenantId": null,
+ "state": "CREATED"
+ },
+ {
+ "type": "String",
+ "value": "true",
+ "valueInfo": {
+
+ },
+ "id": "595faaed-9736-11e8-8caf-022ac9304eeb",
+ "name": "URN_log_debug_DoCreateNetworkInstance",
+ "processDefinitionKey": "AFRFLOW",
+ "processDefinitionId": "AFRFLOW:1:c6eea1b7-9722-11e8-8caf-022ac9304eeb",
+ "processInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "executionId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "activityInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "caseDefinitionKey": null,
+ "caseDefinitionId": null,
+ "caseInstanceId": null,
+ "caseExecutionId": null,
+ "taskId": null,
+ "errorMessage": null,
+ "tenantId": null,
+ "state": "CREATED"
+ },
+ {
+ "type": "String",
+ "value": "/api/oof/v1/placement",
+ "valueInfo": {
+
+ },
+ "id": "595faaee-9736-11e8-8caf-022ac9304eeb",
+ "name": "URN_mso_service_agnostic_oof_endpoint",
+ "processDefinitionKey": "AFRFLOW",
+ "processDefinitionId": "AFRFLOW:1:c6eea1b7-9722-11e8-8caf-022ac9304eeb",
+ "processInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "executionId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "activityInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "caseDefinitionKey": null,
+ "caseDefinitionId": null,
+ "caseInstanceId": null,
+ "caseExecutionId": null,
+ "taskId": null,
+ "errorMessage": null,
+ "tenantId": null,
+ "state": "CREATED"
+ },
+ {
+ "type": "String",
+ "value": "true",
+ "valueInfo": {
+
+ },
+ "id": "595faaef-9736-11e8-8caf-022ac9304eeb",
+ "name": "URN_log_debug_SNIROAdapter",
+ "processDefinitionKey": "AFRFLOW",
+ "processDefinitionId": "AFRFLOW:1:c6eea1b7-9722-11e8-8caf-022ac9304eeb",
+ "processInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "executionId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "activityInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "caseDefinitionKey": null,
+ "caseDefinitionId": null,
+ "caseInstanceId": null,
+ "caseExecutionId": null,
+ "taskId": null,
+ "errorMessage": null,
+ "tenantId": null,
+ "state": "CREATED"
+ },
+ {
+ "type": "String",
+ "value": "true",
+ "valueInfo": {
+
+ },
+ "id": "595faaf0-9736-11e8-8caf-022ac9304eeb",
+ "name": "URN_log_debug_DoDeleteResourcesV1",
+ "processDefinitionKey": "AFRFLOW",
+ "processDefinitionId": "AFRFLOW:1:c6eea1b7-9722-11e8-8caf-022ac9304eeb",
+ "processInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "executionId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "activityInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "caseDefinitionKey": null,
+ "caseDefinitionId": null,
+ "caseInstanceId": null,
+ "caseExecutionId": null,
+ "taskId": null,
+ "errorMessage": null,
+ "tenantId": null,
+ "state": "CREATED"
+ },
+ {
+ "type": "String",
+ "value": "true",
+ "valueInfo": {
+
+ },
+ "id": "595faaf1-9736-11e8-8caf-022ac9304eeb",
+ "name": "URN_log_debug_DeleteCustomE2EServiceInstance",
+ "processDefinitionKey": "AFRFLOW",
+ "processDefinitionId": "AFRFLOW:1:c6eea1b7-9722-11e8-8caf-022ac9304eeb",
+ "processInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "executionId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "activityInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "caseDefinitionKey": null,
+ "caseDefinitionId": null,
+ "caseInstanceId": null,
+ "caseExecutionId": null,
+ "taskId": null,
+ "errorMessage": null,
+ "tenantId": null,
+ "state": "CREATED"
+ },
+ {
+ "type": "String",
+ "value": "PT5M",
+ "valueInfo": {
+
+ },
+ "id": "595faaf2-9736-11e8-8caf-022ac9304eeb",
+ "name": "URN_mso_sdnc_timeout",
+ "processDefinitionKey": "AFRFLOW",
+ "processDefinitionId": "AFRFLOW:1:c6eea1b7-9722-11e8-8caf-022ac9304eeb",
+ "processInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "executionId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "activityInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "caseDefinitionKey": null,
+ "caseDefinitionId": null,
+ "caseInstanceId": null,
+ "caseExecutionId": null,
+ "taskId": null,
+ "errorMessage": null,
+ "tenantId": null,
+ "state": "CREATED"
+ },
+ {
+ "type": "String",
+ "value": "mso-docker",
+ "valueInfo": {
+
+ },
+ "id": "595faaf3-9736-11e8-8caf-022ac9304eeb",
+ "name": "URN_mso_sitename",
+ "processDefinitionKey": "AFRFLOW",
+ "processDefinitionId": "AFRFLOW:1:c6eea1b7-9722-11e8-8caf-022ac9304eeb",
+ "processInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "executionId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "activityInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "caseDefinitionKey": null,
+ "caseDefinitionId": null,
+ "caseInstanceId": null,
+ "caseExecutionId": null,
+ "taskId": null,
+ "errorMessage": null,
+ "tenantId": null,
+ "state": "CREATED"
+ },
+ {
+ "type": "String",
+ "value": "http://so:8080/CompleteMsoProcess",
+ "valueInfo": {
+
+ },
+ "id": "595faaf4-9736-11e8-8caf-022ac9304eeb",
+ "name": "URN_mso_adapters_completemsoprocess_endpoint",
+ "processDefinitionKey": "AFRFLOW",
+ "processDefinitionId": "AFRFLOW:1:c6eea1b7-9722-11e8-8caf-022ac9304eeb",
+ "processInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "executionId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "activityInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "caseDefinitionKey": null,
+ "caseDefinitionId": null,
+ "caseInstanceId": null,
+ "caseExecutionId": null,
+ "taskId": null,
+ "errorMessage": null,
+ "tenantId": null,
+ "state": "CREATED"
+ },
+ {
+ "type": "String",
+ "value": "true",
+ "valueInfo": {
+
+ },
+ "id": "595faaf5-9736-11e8-8caf-022ac9304eeb",
+ "name": "URN_log_debug_DoCreateNetworkInstanceRollback",
+ "processDefinitionKey": "AFRFLOW",
+ "processDefinitionId": "AFRFLOW:1:c6eea1b7-9722-11e8-8caf-022ac9304eeb",
+ "processInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "executionId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "activityInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "caseDefinitionKey": null,
+ "caseDefinitionId": null,
+ "caseInstanceId": null,
+ "caseExecutionId": null,
+ "taskId": null,
+ "errorMessage": null,
+ "tenantId": null,
+ "state": "CREATED"
+ },
+ {
+ "type": "String",
+ "value": "/aai/v11/network/network-policies/network-policy",
+ "valueInfo": {
+
+ },
+ "id": "595faaf6-9736-11e8-8caf-022ac9304eeb",
+ "name": "URN_mso_workflow_default_aai_v11_network_policy_uri",
+ "processDefinitionKey": "AFRFLOW",
+ "processDefinitionId": "AFRFLOW:1:c6eea1b7-9722-11e8-8caf-022ac9304eeb",
+ "processInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "executionId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "activityInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "caseDefinitionKey": null,
+ "caseDefinitionId": null,
+ "caseInstanceId": null,
+ "caseExecutionId": null,
+ "taskId": null,
+ "errorMessage": null,
+ "tenantId": null,
+ "state": "CREATED"
+ },
+ {
+ "type": "String",
+ "value": "true",
+ "valueInfo": {
+
+ },
+ "id": "595faaf7-9736-11e8-8caf-022ac9304eeb",
+ "name": "URN_log_debug_CreateCustomE2EServiceInstance",
+ "processDefinitionKey": "AFRFLOW",
+ "processDefinitionId": "AFRFLOW:1:c6eea1b7-9722-11e8-8caf-022ac9304eeb",
+ "processInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "executionId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "activityInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "caseDefinitionKey": null,
+ "caseDefinitionId": null,
+ "caseInstanceId": null,
+ "caseExecutionId": null,
+ "taskId": null,
+ "errorMessage": null,
+ "tenantId": null,
+ "state": "CREATED"
+ },
+ {
+ "type": "String",
+ "value": "6B0E6863FB8EE010AB6F191B3C0489437601E81DC7C86305CB92DB98AFC53D74",
+ "valueInfo": {
+
+ },
+ "id": "595faaf8-9736-11e8-8caf-022ac9304eeb",
+ "name": "URN_mso_adapters_db_auth",
+ "processDefinitionKey": "AFRFLOW",
+ "processDefinitionId": "AFRFLOW:1:c6eea1b7-9722-11e8-8caf-022ac9304eeb",
+ "processInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "executionId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "activityInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "caseDefinitionKey": null,
+ "caseDefinitionId": null,
+ "caseInstanceId": null,
+ "caseExecutionId": null,
+ "taskId": null,
+ "errorMessage": null,
+ "tenantId": null,
+ "state": "CREATED"
+ },
+ {
+ "type": "String",
+ "value": "true",
+ "valueInfo": {
+
+ },
+ "id": "595faaf9-9736-11e8-8caf-022ac9304eeb",
+ "name": "URN_log_debug_Layer3TestAndTurnUpV1",
+ "processDefinitionKey": "AFRFLOW",
+ "processDefinitionId": "AFRFLOW:1:c6eea1b7-9722-11e8-8caf-022ac9304eeb",
+ "processInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "executionId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "activityInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "caseDefinitionKey": null,
+ "caseDefinitionId": null,
+ "caseInstanceId": null,
+ "caseExecutionId": null,
+ "taskId": null,
+ "errorMessage": null,
+ "tenantId": null,
+ "state": "CREATED"
+ },
+ {
+ "type": "String",
+ "value": "true",
+ "valueInfo": {
+
+ },
+ "id": "595faafa-9736-11e8-8caf-022ac9304eeb",
+ "name": "URN_log_debug_QueryAAICustomer",
+ "processDefinitionKey": "AFRFLOW",
+ "processDefinitionId": "AFRFLOW:1:c6eea1b7-9722-11e8-8caf-022ac9304eeb",
+ "processInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "executionId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "activityInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "caseDefinitionKey": null,
+ "caseDefinitionId": null,
+ "caseInstanceId": null,
+ "caseExecutionId": null,
+ "taskId": null,
+ "errorMessage": null,
+ "tenantId": null,
+ "state": "CREATED"
+ },
+ {
+ "type": "String",
+ "value": "true",
+ "valueInfo": {
+
+ },
+ "id": "595faafb-9736-11e8-8caf-022ac9304eeb",
+ "name": "URN_log_debug_UpdateNetworkV2",
+ "processDefinitionKey": "AFRFLOW",
+ "processDefinitionId": "AFRFLOW:1:c6eea1b7-9722-11e8-8caf-022ac9304eeb",
+ "processInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "executionId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "activityInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "caseDefinitionKey": null,
+ "caseDefinitionId": null,
+ "caseInstanceId": null,
+ "caseExecutionId": null,
+ "taskId": null,
+ "errorMessage": null,
+ "tenantId": null,
+ "state": "CREATED"
+ },
+ {
+ "type": "String",
+ "value": "true",
+ "valueInfo": {
+
+ },
+ "id": "595faafc-9736-11e8-8caf-022ac9304eeb",
+ "name": "URN_log_debug_getLayer3ServiceDetailsV1",
+ "processDefinitionKey": "AFRFLOW",
+ "processDefinitionId": "AFRFLOW:1:c6eea1b7-9722-11e8-8caf-022ac9304eeb",
+ "processInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "executionId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "activityInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "caseDefinitionKey": null,
+ "caseDefinitionId": null,
+ "caseInstanceId": null,
+ "caseExecutionId": null,
+ "taskId": null,
+ "errorMessage": null,
+ "tenantId": null,
+ "state": "CREATED"
+ },
+ {
+ "type": "String",
+ "value": "true",
+ "valueInfo": {
+
+ },
+ "id": "595faafd-9736-11e8-8caf-022ac9304eeb",
+ "name": "URN_log_debug_UpdateVfModuleVolumeInfraV1",
+ "processDefinitionKey": "AFRFLOW",
+ "processDefinitionId": "AFRFLOW:1:c6eea1b7-9722-11e8-8caf-022ac9304eeb",
+ "processInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "executionId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "activityInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "caseDefinitionKey": null,
+ "caseDefinitionId": null,
+ "caseInstanceId": null,
+ "caseExecutionId": null,
+ "taskId": null,
+ "errorMessage": null,
+ "tenantId": null,
+ "state": "CREATED"
+ },
+ {
+ "type": "String",
+ "value": "true",
+ "valueInfo": {
+
+ },
+ "id": "595fd20e-9736-11e8-8caf-022ac9304eeb",
+ "name": "URN_log_debug_CreateNetworkInstanceInfra",
+ "processDefinitionKey": "AFRFLOW",
+ "processDefinitionId": "AFRFLOW:1:c6eea1b7-9722-11e8-8caf-022ac9304eeb",
+ "processInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "executionId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "activityInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "caseDefinitionKey": null,
+ "caseDefinitionId": null,
+ "caseInstanceId": null,
+ "caseExecutionId": null,
+ "taskId": null,
+ "errorMessage": null,
+ "tenantId": null,
+ "state": "CREATED"
+ },
+ {
+ "type": "String",
+ "value": "/aai/v11/network/l3-networks/l3-network",
+ "valueInfo": {
+
+ },
+ "id": "595fd20f-9736-11e8-8caf-022ac9304eeb",
+ "name": "URN_mso_workflow_default_aai_v11_l3_network_uri",
+ "processDefinitionKey": "AFRFLOW",
+ "processDefinitionId": "AFRFLOW:1:c6eea1b7-9722-11e8-8caf-022ac9304eeb",
+ "processInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "executionId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "activityInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "caseDefinitionKey": null,
+ "caseDefinitionId": null,
+ "caseInstanceId": null,
+ "caseExecutionId": null,
+ "taskId": null,
+ "errorMessage": null,
+ "tenantId": null,
+ "state": "CREATED"
+ },
+ {
+ "type": "String",
+ "value": "true",
+ "valueInfo": {
+
+ },
+ "id": "595fd210-9736-11e8-8caf-022ac9304eeb",
+ "name": "URN_log_debug_CreateSDNCNetworkResource",
+ "processDefinitionKey": "AFRFLOW",
+ "processDefinitionId": "AFRFLOW:1:c6eea1b7-9722-11e8-8caf-022ac9304eeb",
+ "processInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "executionId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "activityInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "caseDefinitionKey": null,
+ "caseDefinitionId": null,
+ "caseInstanceId": null,
+ "caseExecutionId": null,
+ "taskId": null,
+ "errorMessage": null,
+ "tenantId": null,
+ "state": "CREATED"
+ },
+ {
+ "type": "String",
+ "value": "http://so:8080/vnfs/rest/v1/vnfs",
+ "valueInfo": {
+
+ },
+ "id": "595fd211-9736-11e8-8caf-022ac9304eeb",
+ "name": "URN_mso_adapters_vnf_rest_endpoint",
+ "processDefinitionKey": "AFRFLOW",
+ "processDefinitionId": "AFRFLOW:1:c6eea1b7-9722-11e8-8caf-022ac9304eeb",
+ "processInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "executionId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "activityInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "caseDefinitionKey": null,
+ "caseDefinitionId": null,
+ "caseInstanceId": null,
+ "caseExecutionId": null,
+ "taskId": null,
+ "errorMessage": null,
+ "tenantId": null,
+ "state": "CREATED"
+ },
+ {
+ "type": "String",
+ "value": "64AG2hF4pYeG2pq7CT6XwUOT",
+ "valueInfo": {
+
+ },
+ "id": "595fd212-9736-11e8-8caf-022ac9304eeb",
+ "name": "URN_appc_client_secret",
+ "processDefinitionKey": "AFRFLOW",
+ "processDefinitionId": "AFRFLOW:1:c6eea1b7-9722-11e8-8caf-022ac9304eeb",
+ "processInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "executionId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "activityInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "caseDefinitionKey": null,
+ "caseDefinitionId": null,
+ "caseInstanceId": null,
+ "caseExecutionId": null,
+ "taskId": null,
+ "errorMessage": null,
+ "tenantId": null,
+ "state": "CREATED"
+ },
+ {
+ "type": "String",
+ "value": "true",
+ "valueInfo": {
+
+ },
+ "id": "595fd213-9736-11e8-8caf-022ac9304eeb",
+ "name": "URN_log_debug_CompareModelofE2EServiceInstance",
+ "processDefinitionKey": "AFRFLOW",
+ "processDefinitionId": "AFRFLOW:1:c6eea1b7-9722-11e8-8caf-022ac9304eeb",
+ "processInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "executionId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "activityInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "caseDefinitionKey": null,
+ "caseDefinitionId": null,
+ "caseInstanceId": null,
+ "caseExecutionId": null,
+ "taskId": null,
+ "errorMessage": null,
+ "tenantId": null,
+ "state": "CREATED"
+ },
+ {
+ "type": "String",
+ "value": "true",
+ "valueInfo": {
+
+ },
+ "id": "595fd214-9736-11e8-8caf-022ac9304eeb",
+ "name": "URN_log_debug_DoDeleteVfModuleVolumeV1",
+ "processDefinitionKey": "AFRFLOW",
+ "processDefinitionId": "AFRFLOW:1:c6eea1b7-9722-11e8-8caf-022ac9304eeb",
+ "processInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "executionId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "activityInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "caseDefinitionKey": null,
+ "caseDefinitionId": null,
+ "caseInstanceId": null,
+ "caseExecutionId": null,
+ "taskId": null,
+ "errorMessage": null,
+ "tenantId": null,
+ "state": "CREATED"
+ },
+ {
+ "type": "String",
+ "value": "true",
+ "valueInfo": {
+
+ },
+ "id": "595fd215-9736-11e8-8caf-022ac9304eeb",
+ "name": "URN_log_debug_DoDeleteVfModuleVolumeRollback",
+ "processDefinitionKey": "AFRFLOW",
+ "processDefinitionId": "AFRFLOW:1:c6eea1b7-9722-11e8-8caf-022ac9304eeb",
+ "processInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "executionId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "activityInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "caseDefinitionKey": null,
+ "caseDefinitionId": null,
+ "caseInstanceId": null,
+ "caseExecutionId": null,
+ "taskId": null,
+ "errorMessage": null,
+ "tenantId": null,
+ "state": "CREATED"
+ },
+ {
+ "type": "String",
+ "value": "http://so:8080/mso/WorkflowMessage",
+ "valueInfo": {
+
+ },
+ "id": "595fd216-9736-11e8-8caf-022ac9304eeb",
+ "name": "URN_mso_workflow_message_endpoint",
+ "processDefinitionKey": "AFRFLOW",
+ "processDefinitionId": "AFRFLOW:1:c6eea1b7-9722-11e8-8caf-022ac9304eeb",
+ "processInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "executionId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "activityInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "caseDefinitionKey": null,
+ "caseDefinitionId": null,
+ "caseInstanceId": null,
+ "caseExecutionId": null,
+ "taskId": null,
+ "errorMessage": null,
+ "tenantId": null,
+ "state": "CREATED"
+ },
+ {
+ "type": "String",
+ "value": "true",
+ "valueInfo": {
+
+ },
+ "id": "595fd217-9736-11e8-8caf-022ac9304eeb",
+ "name": "URN_log_debug_CreateVfModuleVolume",
+ "processDefinitionKey": "AFRFLOW",
+ "processDefinitionId": "AFRFLOW:1:c6eea1b7-9722-11e8-8caf-022ac9304eeb",
+ "processInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "executionId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "activityInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "caseDefinitionKey": null,
+ "caseDefinitionId": null,
+ "caseInstanceId": null,
+ "caseExecutionId": null,
+ "taskId": null,
+ "errorMessage": null,
+ "tenantId": null,
+ "state": "CREATED"
+ },
+ {
+ "type": "String",
+ "value": "50359538-066f-4a8d-807f-f2bc8eaa79dc",
+ "valueInfo": {
+
+ },
+ "id": "595fd218-9736-11e8-8caf-022ac9304eeb",
+ "name": "URN_mso_workflow_l3ToHigherLayerAddBonding_model_invariantid",
+ "processDefinitionKey": "AFRFLOW",
+ "processDefinitionId": "AFRFLOW:1:c6eea1b7-9722-11e8-8caf-022ac9304eeb",
+ "processInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "executionId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "activityInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "caseDefinitionKey": null,
+ "caseDefinitionId": null,
+ "caseInstanceId": null,
+ "caseExecutionId": null,
+ "taskId": null,
+ "errorMessage": null,
+ "tenantId": null,
+ "state": "CREATED"
+ },
+ {
+ "type": "String",
+ "value": "true",
+ "valueInfo": {
+
+ },
+ "id": "595fd219-9736-11e8-8caf-022ac9304eeb",
+ "name": "URN_log_debug_vnfAdapterRollbackV1",
+ "processDefinitionKey": "AFRFLOW",
+ "processDefinitionId": "AFRFLOW:1:c6eea1b7-9722-11e8-8caf-022ac9304eeb",
+ "processInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "executionId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "activityInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "caseDefinitionKey": null,
+ "caseDefinitionId": null,
+ "caseInstanceId": null,
+ "caseExecutionId": null,
+ "taskId": null,
+ "errorMessage": null,
+ "tenantId": null,
+ "state": "CREATED"
+ },
+ {
+ "type": "String",
+ "value": "http://so:8080/dbadapters/MsoRequestsDbAdapter",
+ "valueInfo": {
+
+ },
+ "id": "595fd21a-9736-11e8-8caf-022ac9304eeb",
+ "name": "URN_mso_adapters_db_endpoint",
+ "processDefinitionKey": "AFRFLOW",
+ "processDefinitionId": "AFRFLOW:1:c6eea1b7-9722-11e8-8caf-022ac9304eeb",
+ "processInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "executionId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "activityInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "caseDefinitionKey": null,
+ "caseDefinitionId": null,
+ "caseInstanceId": null,
+ "caseExecutionId": null,
+ "taskId": null,
+ "errorMessage": null,
+ "tenantId": null,
+ "state": "CREATED"
+ },
+ {
+ "type": "String",
+ "value": "true",
+ "valueInfo": {
+
+ },
+ "id": "595fd21b-9736-11e8-8caf-022ac9304eeb",
+ "name": "URN_log_debug_DoCreateServiceInstanceRollback",
+ "processDefinitionKey": "AFRFLOW",
+ "processDefinitionId": "AFRFLOW:1:c6eea1b7-9722-11e8-8caf-022ac9304eeb",
+ "processInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "executionId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "activityInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "caseDefinitionKey": null,
+ "caseDefinitionId": null,
+ "caseInstanceId": null,
+ "caseExecutionId": null,
+ "taskId": null,
+ "errorMessage": null,
+ "tenantId": null,
+ "state": "CREATED"
+ },
+ {
+ "type": "String",
+ "value": "false",
+ "valueInfo": {
+
+ },
+ "id": "595fd21c-9736-11e8-8caf-022ac9304eeb",
+ "name": "isDebugLogEnabled",
+ "processDefinitionKey": "AFRFLOW",
+ "processDefinitionId": "AFRFLOW:1:c6eea1b7-9722-11e8-8caf-022ac9304eeb",
+ "processInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "executionId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "activityInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "caseDefinitionKey": null,
+ "caseDefinitionId": null,
+ "caseInstanceId": null,
+ "caseExecutionId": null,
+ "taskId": null,
+ "errorMessage": null,
+ "tenantId": null,
+ "state": "CREATED"
+ },
+ {
+ "type": "String",
+ "value": "CVRCS_",
+ "valueInfo": {
+
+ },
+ "id": "59bb113c-9736-11e8-8caf-022ac9304eeb",
+ "name": "prefix",
+ "processDefinitionKey": "AFRFLOW",
+ "processDefinitionId": "AFRFLOW:1:c6eea1b7-9722-11e8-8caf-022ac9304eeb",
+ "processInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "executionId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "activityInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "caseDefinitionKey": null,
+ "caseDefinitionId": null,
+ "caseInstanceId": null,
+ "caseExecutionId": null,
+ "taskId": null,
+ "errorMessage": null,
+ "tenantId": null,
+ "state": "CREATED"
+ },
+ {
+ "type": "String",
+ "value": "{\"requestDetails\":{\"modelInfo\":{\"modelInvariantUuid\":\"8e2be9fa-fffb-4e23-89a5-65497709f507\",\"modelType\":\"service\",\"modelName\":\"PNFSERVICE\",\"modelVersion\":\"1.0\",\"modelUuid\":\"4f7afc34-e475-41ca-be73-40f9a0f7ffa4\"},\"requestInfo\":{\"productFamilyId\":\"c8d92bf2-2c2e-4802-94e0-3f9e0825cc08\",\"source\":\"UUI\",\"instanceName\":\"AFRPOSTMAN51\",\"suppressRollback\":false,\"requestorId\":\"demo\"},\"subscriberInfo\":{\"globalSubscriberId\":\"Demonstration\"},\"cloudConfiguration\":{\"tenantId\":\"3e001881bcb342418ab5f2788a73255d\",\"lcpCloudRegionId\":\"regionOne_aaa_bbb\"},\"requestParameters\":{\"alaCarte\":false,\"subscriptionServiceType\":\"vCPE\",\"userParams\":[{\"name\":\"Homing_Solution\",\"value\":\"dummy\"}],\"aLaCarte\":false},\"project\":{\"projectName\":\"Project-Demonstration\"},\"owningEntity\":{\"owningEntityId\":\"c77274d4-4881-493a-ad46-368ea0996eb3\",\"owningEntityName\":\"OE-Demonstration\"}},\"correlationId\":\"afr\"}",
+ "valueInfo": {
+
+ },
+ "id": "59bbfb9e-9736-11e8-8caf-022ac9304eeb",
+ "name": "createVcpeServiceRequest",
+ "processDefinitionKey": "AFRFLOW",
+ "processDefinitionId": "AFRFLOW:1:c6eea1b7-9722-11e8-8caf-022ac9304eeb",
+ "processInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "executionId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "activityInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "caseDefinitionKey": null,
+ "caseDefinitionId": null,
+ "caseInstanceId": null,
+ "caseExecutionId": null,
+ "taskId": null,
+ "errorMessage": null,
+ "tenantId": null,
+ "state": "CREATED"
+ },
+ {
+ "type": "String",
+ "value": "Demonstration",
+ "valueInfo": {
+
+ },
+ "id": "59bbfba0-9736-11e8-8caf-022ac9304eeb",
+ "name": "globalSubscriberId",
+ "processDefinitionKey": "AFRFLOW",
+ "processDefinitionId": "AFRFLOW:1:c6eea1b7-9722-11e8-8caf-022ac9304eeb",
+ "processInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "executionId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "activityInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "caseDefinitionKey": null,
+ "caseDefinitionId": null,
+ "caseInstanceId": null,
+ "caseExecutionId": null,
+ "taskId": null,
+ "errorMessage": null,
+ "tenantId": null,
+ "state": "CREATED"
+ },
+ {
+ "type": "String",
+ "value": "AFRPOSTMAN51",
+ "valueInfo": {
+
+ },
+ "id": "59bbfba2-9736-11e8-8caf-022ac9304eeb",
+ "name": "serviceInstanceName",
+ "processDefinitionKey": "AFRFLOW",
+ "processDefinitionId": "AFRFLOW:1:c6eea1b7-9722-11e8-8caf-022ac9304eeb",
+ "processInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "executionId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "activityInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "caseDefinitionKey": null,
+ "caseDefinitionId": null,
+ "caseInstanceId": null,
+ "caseExecutionId": null,
+ "taskId": null,
+ "errorMessage": null,
+ "tenantId": null,
+ "state": "CREATED"
+ },
+ {
+ "type": "String",
+ "value": "55b3f0ea-70c5-4965-9e00-df77ed1552a3",
+ "valueInfo": {
+
+ },
+ "id": "59bbfba4-9736-11e8-8caf-022ac9304eeb",
+ "name": "msoRequestId",
+ "processDefinitionKey": "AFRFLOW",
+ "processDefinitionId": "AFRFLOW:1:c6eea1b7-9722-11e8-8caf-022ac9304eeb",
+ "processInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "executionId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "activityInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "caseDefinitionKey": null,
+ "caseDefinitionId": null,
+ "caseInstanceId": null,
+ "caseExecutionId": null,
+ "taskId": null,
+ "errorMessage": null,
+ "tenantId": null,
+ "state": "CREATED"
+ },
+ {
+ "type": "Integer",
+ "value": 0,
+ "valueInfo": {
+
+ },
+ "id": "59bcbef6-9736-11e8-8caf-022ac9304eeb",
+ "name": "CVRCS_VnfsCreatedCount",
+ "processDefinitionKey": "AFRFLOW",
+ "processDefinitionId": "AFRFLOW:1:c6eea1b7-9722-11e8-8caf-022ac9304eeb",
+ "processInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "executionId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "activityInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "caseDefinitionKey": null,
+ "caseDefinitionId": null,
+ "caseInstanceId": null,
+ "caseExecutionId": null,
+ "taskId": null,
+ "errorMessage": null,
+ "tenantId": null,
+ "state": "CREATED"
+ },
+ {
+ "type": "String",
+ "value": "c8d92bf2-2c2e-4802-94e0-3f9e0825cc08",
+ "valueInfo": {
+
+ },
+ "id": "59bcbef8-9736-11e8-8caf-022ac9304eeb",
+ "name": "productFamilyId",
+ "processDefinitionKey": "AFRFLOW",
+ "processDefinitionId": "AFRFLOW:1:c6eea1b7-9722-11e8-8caf-022ac9304eeb",
+ "processInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "executionId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "activityInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "caseDefinitionKey": null,
+ "caseDefinitionId": null,
+ "caseInstanceId": null,
+ "caseExecutionId": null,
+ "taskId": null,
+ "errorMessage": null,
+ "tenantId": null,
+ "state": "CREATED"
+ },
+ {
+ "type": "String",
+ "value": "",
+ "valueInfo": {
+
+ },
+ "id": "59bcbefa-9736-11e8-8caf-022ac9304eeb",
+ "name": "brgWanMacAddress",
+ "processDefinitionKey": "AFRFLOW",
+ "processDefinitionId": "AFRFLOW:1:c6eea1b7-9722-11e8-8caf-022ac9304eeb",
+ "processInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "executionId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "activityInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "caseDefinitionKey": null,
+ "caseDefinitionId": null,
+ "caseInstanceId": null,
+ "caseExecutionId": null,
+ "taskId": null,
+ "errorMessage": null,
+ "tenantId": null,
+ "state": "CREATED"
+ },
+ {
+ "type": "String",
+ "value": "",
+ "valueInfo": {
+
+ },
+ "id": "59bcbefc-9736-11e8-8caf-022ac9304eeb",
+ "name": "customerLocation",
+ "processDefinitionKey": "AFRFLOW",
+ "processDefinitionId": "AFRFLOW:1:c6eea1b7-9722-11e8-8caf-022ac9304eeb",
+ "processInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "executionId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "activityInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "caseDefinitionKey": null,
+ "caseDefinitionId": null,
+ "caseInstanceId": null,
+ "caseExecutionId": null,
+ "taskId": null,
+ "errorMessage": null,
+ "tenantId": null,
+ "state": "CREATED"
+ },
+ {
+ "type": "String",
+ "value": "dummy",
+ "valueInfo": {
+
+ },
+ "id": "59bcbefe-9736-11e8-8caf-022ac9304eeb",
+ "name": "homingService",
+ "processDefinitionKey": "AFRFLOW",
+ "processDefinitionId": "AFRFLOW:1:c6eea1b7-9722-11e8-8caf-022ac9304eeb",
+ "processInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "executionId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "activityInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "caseDefinitionKey": null,
+ "caseDefinitionId": null,
+ "caseInstanceId": null,
+ "caseExecutionId": null,
+ "taskId": null,
+ "errorMessage": null,
+ "tenantId": null,
+ "state": "CREATED"
+ },
+ {
+ "type": "String",
+ "value": "regionOne",
+ "valueInfo": {
+
+ },
+ "id": "59bcbf00-9736-11e8-8caf-022ac9304eeb",
+ "name": "cloudOwner",
+ "processDefinitionKey": "AFRFLOW",
+ "processDefinitionId": "AFRFLOW:1:c6eea1b7-9722-11e8-8caf-022ac9304eeb",
+ "processInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "executionId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "activityInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "caseDefinitionKey": null,
+ "caseDefinitionId": null,
+ "caseInstanceId": null,
+ "caseExecutionId": null,
+ "taskId": null,
+ "errorMessage": null,
+ "tenantId": null,
+ "state": "CREATED"
+ },
+ {
+ "type": "String",
+ "value": "aaa",
+ "valueInfo": {
+
+ },
+ "id": "59bcbf02-9736-11e8-8caf-022ac9304eeb",
+ "name": "cloudRegionId",
+ "processDefinitionKey": "AFRFLOW",
+ "processDefinitionId": "AFRFLOW:1:c6eea1b7-9722-11e8-8caf-022ac9304eeb",
+ "processInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "executionId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "activityInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "caseDefinitionKey": null,
+ "caseDefinitionId": null,
+ "caseInstanceId": null,
+ "caseExecutionId": null,
+ "taskId": null,
+ "errorMessage": null,
+ "tenantId": null,
+ "state": "CREATED"
+ },
+ {
+ "type": "String",
+ "value": "",
+ "valueInfo": {
+
+ },
+ "id": "59bcbf04-9736-11e8-8caf-022ac9304eeb",
+ "name": "homingModelIds",
+ "processDefinitionKey": "AFRFLOW",
+ "processDefinitionId": "AFRFLOW:1:c6eea1b7-9722-11e8-8caf-022ac9304eeb",
+ "processInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "executionId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "activityInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "caseDefinitionKey": null,
+ "caseDefinitionId": null,
+ "caseInstanceId": null,
+ "caseExecutionId": null,
+ "taskId": null,
+ "errorMessage": null,
+ "tenantId": null,
+ "state": "CREATED"
+ },
+ {
+ "type": "String",
+ "value": "1707",
+ "valueInfo": {
+
+ },
+ "id": "59bcbf06-9736-11e8-8caf-022ac9304eeb",
+ "name": "sdncVersion",
+ "processDefinitionKey": "AFRFLOW",
+ "processDefinitionId": "AFRFLOW:1:c6eea1b7-9722-11e8-8caf-022ac9304eeb",
+ "processInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "executionId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "activityInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "caseDefinitionKey": null,
+ "caseDefinitionId": null,
+ "caseInstanceId": null,
+ "caseExecutionId": null,
+ "taskId": null,
+ "errorMessage": null,
+ "tenantId": null,
+ "state": "CREATED"
+ },
+ {
+ "type": "String",
+ "value": "PT30S",
+ "valueInfo": {
+
+ },
+ "id": "59bdf788-9736-11e8-8caf-022ac9304eeb",
+ "name": "aaiDistDelay",
+ "processDefinitionKey": "AFRFLOW",
+ "processDefinitionId": "AFRFLOW:1:c6eea1b7-9722-11e8-8caf-022ac9304eeb",
+ "processInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "executionId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "activityInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "caseDefinitionKey": null,
+ "caseDefinitionId": null,
+ "caseInstanceId": null,
+ "caseExecutionId": null,
+ "taskId": null,
+ "errorMessage": null,
+ "tenantId": null,
+ "state": "CREATED"
+ },
+ {
+ "type": "String",
+ "value": "Basic QlBFTENsaWVudDpwYXNzd29yZDEk",
+ "valueInfo": {
+
+ },
+ "id": "59c34ebf-9736-11e8-8caf-022ac9304eeb",
+ "name": "BasicAuthHeaderValueDB",
+ "processDefinitionKey": "AFRFLOW",
+ "processDefinitionId": "AFRFLOW:1:c6eea1b7-9722-11e8-8caf-022ac9304eeb",
+ "processInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "executionId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "activityInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "caseDefinitionKey": null,
+ "caseDefinitionId": null,
+ "caseInstanceId": null,
+ "caseExecutionId": null,
+ "taskId": null,
+ "errorMessage": null,
+ "tenantId": null,
+ "state": "CREATED"
+ },
+ {
+ "type": "String",
+ "value": "UUI",
+ "valueInfo": {
+
+ },
+ "id": "59c375d1-9736-11e8-8caf-022ac9304eeb",
+ "name": "source",
+ "processDefinitionKey": "AFRFLOW",
+ "processDefinitionId": "AFRFLOW:1:c6eea1b7-9722-11e8-8caf-022ac9304eeb",
+ "processInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "executionId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "activityInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "caseDefinitionKey": null,
+ "caseDefinitionId": null,
+ "caseInstanceId": null,
+ "caseExecutionId": null,
+ "taskId": null,
+ "errorMessage": null,
+ "tenantId": null,
+ "state": "CREATED"
+ },
+ {
+ "type": "String",
+ "value": "Demonstration",
+ "valueInfo": {
+
+ },
+ "id": "59c39ce4-9736-11e8-8caf-022ac9304eeb",
+ "name": "globalCustomerId",
+ "processDefinitionKey": "AFRFLOW",
+ "processDefinitionId": "AFRFLOW:1:c6eea1b7-9722-11e8-8caf-022ac9304eeb",
+ "processInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "executionId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "activityInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "caseDefinitionKey": null,
+ "caseDefinitionId": null,
+ "caseInstanceId": null,
+ "caseExecutionId": null,
+ "taskId": null,
+ "errorMessage": null,
+ "tenantId": null,
+ "state": "CREATED"
+ },
+ {
+ "type": "String",
+ "value": "vCPE",
+ "valueInfo": {
+
+ },
+ "id": "59c39ce6-9736-11e8-8caf-022ac9304eeb",
+ "name": "subscriptionServiceType",
+ "processDefinitionKey": "AFRFLOW",
+ "processDefinitionId": "AFRFLOW:1:c6eea1b7-9722-11e8-8caf-022ac9304eeb",
+ "processInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "executionId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "activityInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "caseDefinitionKey": null,
+ "caseDefinitionId": null,
+ "caseInstanceId": null,
+ "caseExecutionId": null,
+ "taskId": null,
+ "errorMessage": null,
+ "tenantId": null,
+ "state": "CREATED"
+ },
+ {
+ "type": "String",
+ "value": "false",
+ "valueInfo": {
+
+ },
+ "id": "59c3c3f8-9736-11e8-8caf-022ac9304eeb",
+ "name": "disableRollback",
+ "processDefinitionKey": "AFRFLOW",
+ "processDefinitionId": "AFRFLOW:1:c6eea1b7-9722-11e8-8caf-022ac9304eeb",
+ "processInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "executionId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "activityInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "caseDefinitionKey": null,
+ "caseDefinitionId": null,
+ "caseInstanceId": null,
+ "caseExecutionId": null,
+ "taskId": null,
+ "errorMessage": null,
+ "tenantId": null,
+ "state": "CREATED"
+ },
+ {
+ "type": "String",
+ "value": "{\"globalSubscriberId\":\"Demonstration\"}",
+ "valueInfo": {
+
+ },
+ "id": "59c3eb0b-9736-11e8-8caf-022ac9304eeb",
+ "name": "subscriberInfo",
+ "processDefinitionKey": "AFRFLOW",
+ "processDefinitionId": "AFRFLOW:1:c6eea1b7-9722-11e8-8caf-022ac9304eeb",
+ "processInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "executionId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "activityInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "caseDefinitionKey": null,
+ "caseDefinitionId": null,
+ "caseInstanceId": null,
+ "caseExecutionId": null,
+ "taskId": null,
+ "errorMessage": null,
+ "tenantId": null,
+ "state": "CREATED"
+ },
+ {
+ "type": "Object",
+ "value": {
+ "Homing_Solution": "dummy"
+ },
+ "valueInfo": {
+ "objectTypeName": "java.util.LinkedHashMap",
+ "serializationDataFormat": "application/x-java-serialized-object"
+ },
+ "id": "59ca7ac1-9736-11e8-8caf-022ac9304eeb",
+ "name": "serviceInputParams",
+ "processDefinitionKey": "AFRFLOW",
+ "processDefinitionId": "AFRFLOW:1:c6eea1b7-9722-11e8-8caf-022ac9304eeb",
+ "processInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "executionId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "activityInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "caseDefinitionKey": null,
+ "caseDefinitionId": null,
+ "caseInstanceId": null,
+ "caseExecutionId": null,
+ "taskId": null,
+ "errorMessage": null,
+ "tenantId": null,
+ "state": "CREATED"
+ },
+ {
+ "type": "String",
+ "value": "<request-info xmlns=\"http://org.openecomp/mso/infra/vnf-request/v1\">\n <request-id>55b3f0ea-70c5-4965-9e00-df77ed1552a3</request-id>\n <action>CREATE</action>\n <source>UUI</source>\n </request-info>",
+ "valueInfo": {
+
+ },
+ "id": "59cb3e15-9736-11e8-8caf-022ac9304eeb",
+ "name": "CVRCS_requestInfo",
+ "processDefinitionKey": "AFRFLOW",
+ "processDefinitionId": "AFRFLOW:1:c6eea1b7-9722-11e8-8caf-022ac9304eeb",
+ "processInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "executionId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "activityInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "caseDefinitionKey": null,
+ "caseDefinitionId": null,
+ "caseInstanceId": null,
+ "caseExecutionId": null,
+ "taskId": null,
+ "errorMessage": null,
+ "tenantId": null,
+ "state": "CREATED"
+ },
+ {
+ "type": "String",
+ "value": "202",
+ "valueInfo": {
+
+ },
+ "id": "59d1f4d8-9736-11e8-8caf-022ac9304eeb",
+ "name": "AFRFLOWResponseCode",
+ "processDefinitionKey": "AFRFLOW",
+ "processDefinitionId": "AFRFLOW:1:c6eea1b7-9722-11e8-8caf-022ac9304eeb",
+ "processInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "executionId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "activityInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "caseDefinitionKey": null,
+ "caseDefinitionId": null,
+ "caseInstanceId": null,
+ "caseExecutionId": null,
+ "taskId": null,
+ "errorMessage": null,
+ "tenantId": null,
+ "state": "CREATED"
+ },
+ {
+ "type": "String",
+ "value": "{\"requestReferences\":{\"instanceId\":\"744fee42-8e20-4152-ad75-17fb1ebfc5b2\",\"requestId\":\"55b3f0ea-70c5-4965-9e00-df77ed1552a3\"}}",
+ "valueInfo": {
+
+ },
+ "id": "59d1f4da-9736-11e8-8caf-022ac9304eeb",
+ "name": "AFRFLOWResponse",
+ "processDefinitionKey": "AFRFLOW",
+ "processDefinitionId": "AFRFLOW:1:c6eea1b7-9722-11e8-8caf-022ac9304eeb",
+ "processInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "executionId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "activityInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "caseDefinitionKey": null,
+ "caseDefinitionId": null,
+ "caseInstanceId": null,
+ "caseExecutionId": null,
+ "taskId": null,
+ "errorMessage": null,
+ "tenantId": null,
+ "state": "CREATED"
+ },
+ {
+ "type": "String",
+ "value": "Success",
+ "valueInfo": {
+
+ },
+ "id": "59d1f4dc-9736-11e8-8caf-022ac9304eeb",
+ "name": "AFRFLOWStatus",
+ "processDefinitionKey": "AFRFLOW",
+ "processDefinitionId": "AFRFLOW:1:c6eea1b7-9722-11e8-8caf-022ac9304eeb",
+ "processInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "executionId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "activityInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "caseDefinitionKey": null,
+ "caseDefinitionId": null,
+ "caseInstanceId": null,
+ "caseExecutionId": null,
+ "taskId": null,
+ "errorMessage": null,
+ "tenantId": null,
+ "state": "CREATED"
+ },
+ {
+ "type": "String",
+ "value": "{\"requestReferences\":{\"instanceId\":\"744fee42-8e20-4152-ad75-17fb1ebfc5b2\",\"requestId\":\"55b3f0ea-70c5-4965-9e00-df77ed1552a3\"}}",
+ "valueInfo": {
+
+ },
+ "id": "59d1f4de-9736-11e8-8caf-022ac9304eeb",
+ "name": "WorkflowResponse",
+ "processDefinitionKey": "AFRFLOW",
+ "processDefinitionId": "AFRFLOW:1:c6eea1b7-9722-11e8-8caf-022ac9304eeb",
+ "processInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "executionId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "activityInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "caseDefinitionKey": null,
+ "caseDefinitionId": null,
+ "caseInstanceId": null,
+ "caseExecutionId": null,
+ "taskId": null,
+ "errorMessage": null,
+ "tenantId": null,
+ "state": "CREATED"
+ },
+ {
+ "type": "String",
+ "value": "true",
+ "valueInfo": {
+
+ },
+ "id": "59d3c9a0-9736-11e8-8caf-022ac9304eeb",
+ "name": "AFRFLOWWorkflowResponseSent",
+ "processDefinitionKey": "AFRFLOW",
+ "processDefinitionId": "AFRFLOW:1:c6eea1b7-9722-11e8-8caf-022ac9304eeb",
+ "processInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "executionId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "activityInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "caseDefinitionKey": null,
+ "caseDefinitionId": null,
+ "caseInstanceId": null,
+ "caseExecutionId": null,
+ "taskId": null,
+ "errorMessage": null,
+ "tenantId": null,
+ "state": "CREATED"
+ },
+ {
+ "type": "String",
+ "value": "{\"modelInvariantUuid\":\"8e2be9fa-fffb-4e23-89a5-65497709f507\",\"modelName\":\"PNFSERVICE\",\"modelVersion\":\"1.0\",\"modelType\":\"service\",\"modelUuid\":\"4f7afc34-e475-41ca-be73-40f9a0f7ffa4\"}",
+ "valueInfo": {
+
+ },
+ "id": "59d6d6e5-9736-11e8-8caf-022ac9304eeb",
+ "name": "serviceModelInfo",
+ "processDefinitionKey": "AFRFLOW",
+ "processDefinitionId": "AFRFLOW:1:c6eea1b7-9722-11e8-8caf-022ac9304eeb",
+ "processInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "executionId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "activityInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "caseDefinitionKey": null,
+ "caseDefinitionId": null,
+ "caseInstanceId": null,
+ "caseExecutionId": null,
+ "taskId": null,
+ "errorMessage": null,
+ "tenantId": null,
+ "state": "CREATED"
+ },
+ {
+ "type": "Object",
+ "value": null,
+ "valueInfo": null,
+ "id": "5aea904b-9736-11e8-8caf-022ac9304eeb",
+ "name": "serviceDecomposition",
+ "processDefinitionKey": "AFRFLOW",
+ "processDefinitionId": "AFRFLOW:1:c6eea1b7-9722-11e8-8caf-022ac9304eeb",
+ "processInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "executionId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "activityInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "caseDefinitionKey": null,
+ "caseDefinitionId": null,
+ "caseInstanceId": null,
+ "caseExecutionId": null,
+ "taskId": null,
+ "errorMessage": "Cannot deserialize object in variable 'serviceDecomposition': ENGINE-09017 Cannot load class 'org.openecomp.mso.bpmn.core.domain.ServiceDecomposition': org.openecomp.mso.bpmn.core.domain.ServiceDecomposition from [Module \"deployment.camunda-rest-api-1.2.0-SNAPSHOT.war:main\" from Service Module Loader]",
+ "tenantId": null,
+ "state": "CREATED"
+ },
+ {
+ "type": "Null",
+ "value": null,
+ "valueInfo": {
+
+ },
+ "id": "5aea904f-9736-11e8-8caf-022ac9304eeb",
+ "name": "WorkflowException",
+ "processDefinitionKey": "AFRFLOW",
+ "processDefinitionId": "AFRFLOW:1:c6eea1b7-9722-11e8-8caf-022ac9304eeb",
+ "processInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "executionId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "activityInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "caseDefinitionKey": null,
+ "caseDefinitionId": null,
+ "caseInstanceId": null,
+ "caseExecutionId": null,
+ "taskId": null,
+ "errorMessage": null,
+ "tenantId": null,
+ "state": "CREATED"
+ },
+ {
+ "type": "Object",
+ "value": [],
+ "valueInfo": {
+ "objectTypeName": "java.util.ArrayList",
+ "serializationDataFormat": "application/x-java-serialized-object"
+ },
+ "id": "5aedc4a4-9736-11e8-8caf-022ac9304eeb",
+ "name": "vnfList",
+ "processDefinitionKey": "AFRFLOW",
+ "processDefinitionId": "AFRFLOW:1:c6eea1b7-9722-11e8-8caf-022ac9304eeb",
+ "processInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "executionId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "activityInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "caseDefinitionKey": null,
+ "caseDefinitionId": null,
+ "caseInstanceId": null,
+ "caseExecutionId": null,
+ "taskId": null,
+ "errorMessage": null,
+ "tenantId": null,
+ "state": "CREATED"
+ },
+ {
+ "type": "String",
+ "value": "[]",
+ "valueInfo": {
+
+ },
+ "id": "5aedc4a8-9736-11e8-8caf-022ac9304eeb",
+ "name": "vnfListString",
+ "processDefinitionKey": "AFRFLOW",
+ "processDefinitionId": "AFRFLOW:1:c6eea1b7-9722-11e8-8caf-022ac9304eeb",
+ "processInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "executionId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "activityInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "caseDefinitionKey": null,
+ "caseDefinitionId": null,
+ "caseInstanceId": null,
+ "caseExecutionId": null,
+ "taskId": null,
+ "errorMessage": null,
+ "tenantId": null,
+ "state": "CREATED"
+ },
+ {
+ "type": "Integer",
+ "value": 0,
+ "valueInfo": {
+
+ },
+ "id": "5aedebba-9736-11e8-8caf-022ac9304eeb",
+ "name": "CVRCS_VNFsCount",
+ "processDefinitionKey": "AFRFLOW",
+ "processDefinitionId": "AFRFLOW:1:c6eea1b7-9722-11e8-8caf-022ac9304eeb",
+ "processInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "executionId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "activityInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "caseDefinitionKey": null,
+ "caseDefinitionId": null,
+ "caseInstanceId": null,
+ "caseExecutionId": null,
+ "taskId": null,
+ "errorMessage": null,
+ "tenantId": null,
+ "state": "CREATED"
+ },
+ {
+ "type": "String",
+ "value": "",
+ "valueInfo": {
+
+ },
+ "id": "5aedebbc-9736-11e8-8caf-022ac9304eeb",
+ "name": "vnfModelInfo",
+ "processDefinitionKey": "AFRFLOW",
+ "processDefinitionId": "AFRFLOW:1:c6eea1b7-9722-11e8-8caf-022ac9304eeb",
+ "processInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "executionId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "activityInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "caseDefinitionKey": null,
+ "caseDefinitionId": null,
+ "caseInstanceId": null,
+ "caseExecutionId": null,
+ "taskId": null,
+ "errorMessage": null,
+ "tenantId": null,
+ "state": "CREATED"
+ },
+ {
+ "type": "String",
+ "value": "",
+ "valueInfo": {
+
+ },
+ "id": "5aedebbe-9736-11e8-8caf-022ac9304eeb",
+ "name": "vnfModelInfoString",
+ "processDefinitionKey": "AFRFLOW",
+ "processDefinitionId": "AFRFLOW:1:c6eea1b7-9722-11e8-8caf-022ac9304eeb",
+ "processInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "executionId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "activityInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "caseDefinitionKey": null,
+ "caseDefinitionId": null,
+ "caseInstanceId": null,
+ "caseExecutionId": null,
+ "taskId": null,
+ "errorMessage": null,
+ "tenantId": null,
+ "state": "CREATED"
+ },
+ {
+ "type": "String",
+ "value": "{\n \"serviceInstance\" : {\n \"instanceId\" : \"744fee42-8e20-4152-ad75-17fb1ebfc5b2\"\n },\n \"serviceNetworks\" : [ ],\n \"serviceVnfs\" : [ ],\n \"serviceAllottedResources\" : [ ],\n \"modelInfo\" : {\n \"modelName\" : \"PNFSERVIVE\",\n \"modelUuid\" : \"4f7afc34-e475-41ca-be73-40f9a0f7ffa4\",\n \"modelInvariantUuid\" : \"8e2be9fa-fffb-4e23-89a5-65497709f507\",\n \"modelVersion\" : \"1.0\",\n \"modelCustomizationUuid\" : \"\",\n \"modelCustomizationName\" : \"\",\n \"modelInstanceName\" : \"\",\n \"modelType\" : \"\"\n },\n \"serviceType\" : \"aaa\",\n \"serviceRole\" : \"aaa\",\n \"vnfResource\" : [ ],\n \"networkResource\" : [ ],\n \"allottedResource\" : [ ]\n}",
+ "valueInfo": {
+
+ },
+ "id": "5af083d4-9736-11e8-8caf-022ac9304eeb",
+ "name": "serviceDecompositionString",
+ "processDefinitionKey": "AFRFLOW",
+ "processDefinitionId": "AFRFLOW:1:c6eea1b7-9722-11e8-8caf-022ac9304eeb",
+ "processInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "executionId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "activityInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "caseDefinitionKey": null,
+ "caseDefinitionId": null,
+ "caseInstanceId": null,
+ "caseExecutionId": null,
+ "taskId": null,
+ "errorMessage": null,
+ "tenantId": null,
+ "state": "CREATED"
+ },
+ {
+ "type": "Null",
+ "value": null,
+ "valueInfo": {
+
+ },
+ "id": "5e7eb37e-9736-11e8-8caf-022ac9304eeb",
+ "name": "rolledBack",
+ "processDefinitionKey": "AFRFLOW",
+ "processDefinitionId": "AFRFLOW:1:c6eea1b7-9722-11e8-8caf-022ac9304eeb",
+ "processInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "executionId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "activityInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "caseDefinitionKey": null,
+ "caseDefinitionId": null,
+ "caseInstanceId": null,
+ "caseExecutionId": null,
+ "taskId": null,
+ "errorMessage": null,
+ "tenantId": null,
+ "state": "CREATED"
+ },
+ {
+ "type": "Object",
+ "value": null,
+ "valueInfo": null,
+ "id": "5e7eda91-9736-11e8-8caf-022ac9304eeb",
+ "name": "DCRESI_rollbackData",
+ "processDefinitionKey": "AFRFLOW",
+ "processDefinitionId": "AFRFLOW:1:c6eea1b7-9722-11e8-8caf-022ac9304eeb",
+ "processInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "executionId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "activityInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "caseDefinitionKey": null,
+ "caseDefinitionId": null,
+ "caseInstanceId": null,
+ "caseExecutionId": null,
+ "taskId": null,
+ "errorMessage": "Cannot deserialize object in variable 'DCRESI_rollbackData': ENGINE-09017 Cannot load class 'org.openecomp.mso.bpmn.core.RollbackData': org.openecomp.mso.bpmn.core.RollbackData from [Module \"deployment.camunda-rest-api-1.2.0-SNAPSHOT.war:main\" from Service Module Loader]",
+ "tenantId": null,
+ "state": "CREATED"
+ },
+ {
+ "type": "String",
+ "value": "\n <soapenv:Envelope xmlns:soapenv=\"http://schemas.xmlsoap.org/soap/envelope/\" xmlns:req=\"http://org.openecomp.mso/requestsdb\">\n <soapenv:Header/>\n <soapenv:Body>\n <req:updateInfraRequest>\n <requestId>55b3f0ea-70c5-4965-9e00-df77ed1552a3</requestId>\n <lastModifiedBy>BPEL</lastModifiedBy>\n <serviceInstanceId>744fee42-8e20-4152-ad75-17fb1ebfc5b2</serviceInstanceId>\n <serviceInstanceName>AFRPOSTMAN51</serviceInstanceName>\n </req:updateInfraRequest>\n </soapenv:Body>\n </soapenv:Envelope>\n ",
+ "valueInfo": {
+
+ },
+ "id": "5e825d08-9736-11e8-8caf-022ac9304eeb",
+ "name": "CVRCS_setUpdateDbInstancePayload",
+ "processDefinitionKey": "AFRFLOW",
+ "processDefinitionId": "AFRFLOW:1:c6eea1b7-9722-11e8-8caf-022ac9304eeb",
+ "processInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "executionId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "activityInstanceId": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "caseDefinitionKey": null,
+ "caseDefinitionId": null,
+ "caseInstanceId": null,
+ "caseExecutionId": null,
+ "taskId": null,
+ "errorMessage": null,
+ "tenantId": null,
+ "state": "CREATED"
+ }
+] \ No newline at end of file
diff --git a/so-monitoring/so-monitoring-service/src/test/resources/camundaResponses/singleprocessInstance.json b/so-monitoring/so-monitoring-service/src/test/resources/camundaResponses/singleprocessInstance.json
new file mode 100644
index 0000000000..d1e70e1957
--- /dev/null
+++ b/so-monitoring/so-monitoring-service/src/test/resources/camundaResponses/singleprocessInstance.json
@@ -0,0 +1,19 @@
+{
+ "id": "5956a99d-9736-11e8-8caf-022ac9304eeb",
+ "businessKey": "203b9171-c113-435e-aaa6-f47cb836e3cb",
+ "processDefinitionId": "EricssonNetworkSliceV1:3:28f9e0fc-9b00-11e8-a57a-022ac90273ed",
+ "processDefinitionKey": "EricssonNetworkSliceV1",
+ "processDefinitionName": "EricssonNetworkSliceV1",
+ "processDefinitionVersion": 3,
+ "startTime": "2018-08-14T09:52:46.105+0000",
+ "endTime": "2018-08-14T09:53:50.499+0000",
+ "durationInMillis": 64394,
+ "startUserId": null,
+ "startActivityId": "createVCPE_startEvent",
+ "deleteReason": null,
+ "superProcessInstanceId": null,
+ "superCaseInstanceId": null,
+ "caseInstanceId": null,
+ "tenantId": null,
+ "state": "COMPLETED"
+} \ No newline at end of file