aboutsummaryrefslogtreecommitdiffstats
path: root/mso-api-handlers/mso-api-handler-infra/src/main/java/org/onap/so/apihandlerinfra/tenantisolation/TenantIsolationRequest.java
diff options
context:
space:
mode:
Diffstat (limited to 'mso-api-handlers/mso-api-handler-infra/src/main/java/org/onap/so/apihandlerinfra/tenantisolation/TenantIsolationRequest.java')
-rw-r--r--mso-api-handlers/mso-api-handler-infra/src/main/java/org/onap/so/apihandlerinfra/tenantisolation/TenantIsolationRequest.java541
1 files changed, 272 insertions, 269 deletions
diff --git a/mso-api-handlers/mso-api-handler-infra/src/main/java/org/onap/so/apihandlerinfra/tenantisolation/TenantIsolationRequest.java b/mso-api-handlers/mso-api-handler-infra/src/main/java/org/onap/so/apihandlerinfra/tenantisolation/TenantIsolationRequest.java
index 82a5d1ebbf..696616099f 100644
--- a/mso-api-handlers/mso-api-handler-infra/src/main/java/org/onap/so/apihandlerinfra/tenantisolation/TenantIsolationRequest.java
+++ b/mso-api-handlers/mso-api-handler-infra/src/main/java/org/onap/so/apihandlerinfra/tenantisolation/TenantIsolationRequest.java
@@ -27,9 +27,7 @@ import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Map.Entry;
-
import javax.ws.rs.core.MultivaluedMap;
-
import org.apache.commons.lang3.StringUtils;
import org.onap.so.apihandlerinfra.Constants;
import org.onap.so.apihandlerinfra.Status;
@@ -49,14 +47,12 @@ import org.onap.so.db.request.client.RequestsDbClient;
import org.onap.so.exceptions.ValidationException;
import org.onap.so.logger.ErrorCode;
import org.onap.so.logger.MessageEnum;
-
import org.onap.so.utils.UUIDChecker;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Scope;
import org.springframework.stereotype.Component;
-
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
@@ -75,316 +71,323 @@ public class TenantIsolationRequest {
private long progress = Constants.PROGRESS_REQUEST_RECEIVED;
private String requestScope;
private CloudOrchestrationRequest cor;
-
+
@Autowired
- private RequestsDbClient requestsDbClient;
-
+ private RequestsDbClient requestsDbClient;
+
private static Logger logger = LoggerFactory.getLogger(TenantIsolationRequest.class);
- TenantIsolationRequest (String requestId) {
+ TenantIsolationRequest(String requestId) {
this.requestId = requestId;
}
- TenantIsolationRequest () {
+ TenantIsolationRequest() {}
+
+ void parse(CloudOrchestrationRequest request, HashMap<String, String> instanceIdMap, Action action)
+ throws ValidationException {
+ this.cor = request;
+ this.requestInfo = request.getRequestDetails().getRequestInfo();
+
+ try {
+ ObjectMapper mapper = new ObjectMapper();
+ requestJSON = mapper.writeValueAsString(request.getRequestDetails());
+
+ } catch (JsonProcessingException e) {
+ throw new ValidationException("Parse ServiceInstanceRequest to JSON string", true);
+ }
+
+ String envId = null;
+ if (instanceIdMap != null) {
+ envId = instanceIdMap.get("operationalEnvironmentId");
+ if (envId != null && !UUIDChecker.isValidUUID(envId)) {
+ throw new ValidationException("operationalEnvironmentId", true);
+ }
+ cor.setOperationalEnvironmentId(envId);
+ }
+
+ this.operationalEnvironmentId = envId;
+
+ RequestDetails requestDetails = request.getRequestDetails();
+ RequestParameters requestParameters = requestDetails.getRequestParameters();
+
+ requestInfoValidation(action, requestInfo);
+
+ requestParamsValidation(action, requestParameters);
+
+ relatedInstanceValidation(action, requestDetails, requestParameters);
+
+ }
+
+ private void relatedInstanceValidation(Action action, RequestDetails requestDetails,
+ RequestParameters requestParameters) throws ValidationException {
+ RelatedInstanceList[] instanceList = requestDetails.getRelatedInstanceList();
+
+ if (requestParameters == null) {
+ throw new ValidationException("requestParameters", true);
+ }
+ if ((Action.activate.equals(action) || Action.deactivate.equals(action))
+ && OperationalEnvironment.ECOMP.equals(requestParameters.getOperationalEnvironmentType())) {
+ throw new ValidationException("operationalEnvironmentType in requestParameters", true);
+ }
+
+ if (!Action.deactivate.equals(action)
+ && OperationalEnvironment.VNF.equals(requestParameters.getOperationalEnvironmentType())) {
+ if (instanceList != null && instanceList.length > 0) {
+ for (RelatedInstanceList relatedInstanceList : instanceList) {
+ RelatedInstance relatedInstance = relatedInstanceList.getRelatedInstance();
+
+ if (relatedInstance.getResourceType() == null) {
+ throw new ValidationException("ResourceType in relatedInstance", true);
+ }
+
+ if (!empty(relatedInstance.getInstanceName())
+ && !relatedInstance.getInstanceName().matches(Constants.VALID_INSTANCE_NAME_FORMAT)) {
+ throw new ValidationException("instanceName format", true);
+ }
+
+ if (empty(relatedInstance.getInstanceId())) {
+ throw new ValidationException("instanceId in relatedInstance", true);
+ }
+
+ if (!UUIDChecker.isValidUUID(relatedInstance.getInstanceId())) {
+ throw new ValidationException("instanceId format in relatedInstance", true);
+ }
+ }
+ } else {
+ throw new ValidationException("relatedInstanceList", true);
+ }
+ }
}
-
- void parse(CloudOrchestrationRequest request, HashMap<String,String> instanceIdMap, Action action) throws ValidationException {
- this.cor = request;
- this.requestInfo = request.getRequestDetails().getRequestInfo();
-
- try{
- ObjectMapper mapper = new ObjectMapper();
- requestJSON = mapper.writeValueAsString(request.getRequestDetails());
-
- } catch(JsonProcessingException e){
- throw new ValidationException ("Parse ServiceInstanceRequest to JSON string", true);
+
+ private void requestParamsValidation(Action action, RequestParameters requestParameters)
+ throws ValidationException {
+
+ if (requestParameters != null) {
+ if (!Action.deactivate.equals(action) && requestParameters.getOperationalEnvironmentType() == null) {
+ throw new ValidationException("OperationalEnvironmentType", true);
+ }
+
+ if (Action.create.equals(action) && empty(requestParameters.getTenantContext())) {
+ throw new ValidationException("Tenant Context", true);
+ }
+ if (!Action.deactivate.equals(action) && empty(requestParameters.getWorkloadContext())) {
+ throw new ValidationException("Workload Context", true);
+ }
+
+ Manifest manifest = requestParameters.getManifest();
+
+ if (Action.activate.equals(action)) {
+ if (manifest == null) {
+ throw new ValidationException("Manifest on Activate", true);
+ } else {
+ List<ServiceModelList> serviceModelList = manifest.getServiceModelList();
+
+ if (serviceModelList.isEmpty()) {
+ throw new ValidationException(" empty ServiceModelList", true);
+ }
+
+ for (ServiceModelList list : serviceModelList) {
+ if (empty(list.getServiceModelVersionId())) {
+ throw new ValidationException("ServiceModelVersionId", true);
+ }
+
+ if (!UUIDChecker.isValidUUID(list.getServiceModelVersionId())) {
+ throw new ValidationException("ServiceModelVersionId format", true);
+ }
+
+ if (list.getRecoveryAction() == null) {
+ throw new ValidationException("RecoveryAction", true);
+ }
+ }
+ }
+ }
+ } else if (!Action.deactivate.equals(action)) {
+ throw new ValidationException("request Parameters", true);
+ }
+ }
+
+ private void requestInfoValidation(Action action, RequestInfo requestInfo) throws ValidationException {
+
+ if (Action.create.equals(action) && empty(requestInfo.getInstanceName())) {
+ throw new ValidationException("instanceName", true);
+ }
+
+ if (!empty(requestInfo.getInstanceName())
+ && !requestInfo.getInstanceName().matches(Constants.VALID_INSTANCE_NAME_FORMAT)) {
+ throw new ValidationException("instanceName format", true);
+ }
+
+ if (empty(requestInfo.getSource())) {
+ throw new ValidationException("source", true);
}
-
- String envId = null;
- if(instanceIdMap != null) {
- envId = instanceIdMap.get("operationalEnvironmentId");
- if(envId != null && !UUIDChecker.isValidUUID (envId)){
- throw new ValidationException ("operationalEnvironmentId", true);
- }
- cor.setOperationalEnvironmentId(envId);
- }
-
- this.operationalEnvironmentId = envId;
-
- RequestDetails requestDetails = request.getRequestDetails();
- RequestParameters requestParameters = requestDetails.getRequestParameters();
-
- requestInfoValidation(action, requestInfo);
-
- requestParamsValidation(action, requestParameters);
-
- relatedInstanceValidation(action, requestDetails, requestParameters);
-
- }
-
- private void relatedInstanceValidation(Action action, RequestDetails requestDetails, RequestParameters requestParameters) throws ValidationException {
- RelatedInstanceList[] instanceList = requestDetails.getRelatedInstanceList();
-
- if (requestParameters == null) {
- throw new ValidationException("requestParameters", true);
- }
- if((Action.activate.equals(action) || Action.deactivate.equals(action)) && OperationalEnvironment.ECOMP.equals(requestParameters.getOperationalEnvironmentType())) {
- throw new ValidationException("operationalEnvironmentType in requestParameters", true);
- }
-
- if(!Action.deactivate.equals(action) && OperationalEnvironment.VNF.equals(requestParameters.getOperationalEnvironmentType())) {
- if(instanceList != null && instanceList.length > 0) {
- for(RelatedInstanceList relatedInstanceList : instanceList){
- RelatedInstance relatedInstance = relatedInstanceList.getRelatedInstance();
-
- if(relatedInstance.getResourceType() == null) {
- throw new ValidationException("ResourceType in relatedInstance", true);
- }
-
- if(!empty(relatedInstance.getInstanceName()) && !relatedInstance.getInstanceName().matches(Constants.VALID_INSTANCE_NAME_FORMAT)) {
- throw new ValidationException ("instanceName format", true);
- }
-
- if (empty (relatedInstance.getInstanceId ())) {
- throw new ValidationException ("instanceId in relatedInstance", true);
- }
-
- if (!UUIDChecker.isValidUUID (relatedInstance.getInstanceId ())) {
- throw new ValidationException ("instanceId format in relatedInstance", true);
- }
- }
- } else {
- throw new ValidationException ("relatedInstanceList", true);
- }
- }
- }
-
- private void requestParamsValidation(Action action, RequestParameters requestParameters) throws ValidationException {
-
- if(requestParameters != null) {
- if(!Action.deactivate.equals(action) && requestParameters.getOperationalEnvironmentType() == null) {
- throw new ValidationException ("OperationalEnvironmentType", true);
- }
-
- if (Action.create.equals(action) && empty(requestParameters.getTenantContext())) {
- throw new ValidationException ("Tenant Context", true);
- }
- if (!Action.deactivate.equals(action) && empty(requestParameters.getWorkloadContext())) {
- throw new ValidationException ("Workload Context", true);
- }
-
- Manifest manifest = requestParameters.getManifest();
-
- if(Action.activate.equals(action)) {
- if(manifest == null) {
- throw new ValidationException ("Manifest on Activate", true);
- } else {
- List<ServiceModelList> serviceModelList = manifest.getServiceModelList();
-
- if(serviceModelList.isEmpty()) {
- throw new ValidationException (" empty ServiceModelList", true);
- }
-
- for(ServiceModelList list : serviceModelList) {
- if(empty(list.getServiceModelVersionId())) {
- throw new ValidationException ("ServiceModelVersionId", true);
- }
-
- if (!UUIDChecker.isValidUUID (list.getServiceModelVersionId())) {
- throw new ValidationException ("ServiceModelVersionId format", true);
- }
-
- if(list.getRecoveryAction() == null) {
- throw new ValidationException ("RecoveryAction", true);
- }
- }
- }
- }
- } else if(!Action.deactivate.equals(action)) {
- throw new ValidationException("request Parameters", true);
- }
- }
-
- private void requestInfoValidation(Action action, RequestInfo requestInfo) throws ValidationException {
-
- if(Action.create.equals(action) && empty(requestInfo.getInstanceName())) {
- throw new ValidationException ("instanceName", true);
- }
-
- if(!empty(requestInfo.getInstanceName()) && !requestInfo.getInstanceName().matches(Constants.VALID_INSTANCE_NAME_FORMAT)) {
- throw new ValidationException ("instanceName format", true);
- }
-
- if (empty(requestInfo.getSource())) {
- throw new ValidationException ("source", true);
+
+ if (empty(requestInfo.getRequestorId())) {
+ throw new ValidationException("requestorId", true);
}
-
- if(empty(requestInfo.getRequestorId())) {
- throw new ValidationException ("requestorId", true);
+
+ ResourceType resourceType = requestInfo.getResourceType();
+ if (resourceType == null) {
+ throw new ValidationException("resourceType", true);
}
-
- ResourceType resourceType = requestInfo.getResourceType();
- if(resourceType == null) {
- throw new ValidationException ("resourceType", true);
- }
-
- this.requestScope = resourceType.name();
- }
-
- void parseOrchestration (CloudOrchestrationRequest cor) throws ValidationException {
+
+ this.requestScope = resourceType.name();
+ }
+
+ void parseOrchestration(CloudOrchestrationRequest cor) throws ValidationException {
this.cor = cor;
- try{
- ObjectMapper mapper = new ObjectMapper();
- requestJSON = mapper.writeValueAsString(cor.getRequestDetails());
+ try {
+ ObjectMapper mapper = new ObjectMapper();
+ requestJSON = mapper.writeValueAsString(cor.getRequestDetails());
- } catch(JsonProcessingException e){
- throw new ValidationException ("Parse CloudOrchestrationRequest to JSON string", e);
+ } catch (JsonProcessingException e) {
+ throw new ValidationException("Parse CloudOrchestrationRequest to JSON string", e);
}
- if(cor.getRequestDetails() == null){
+ if (cor.getRequestDetails() == null) {
throw new ValidationException("requestDetails", true);
}
this.requestInfo = cor.getRequestDetails().getRequestInfo();
if (this.requestInfo == null) {
- throw new ValidationException ("requestInfo", true);
+ throw new ValidationException("requestInfo", true);
}
- if (empty (requestInfo.getSource ())) {
- throw new ValidationException ("source", true);
+ if (empty(requestInfo.getSource())) {
+ throw new ValidationException("source", true);
}
- if (empty (requestInfo.getRequestorId ())) {
- throw new ValidationException ("requestorId", true);
+ if (empty(requestInfo.getRequestorId())) {
+ throw new ValidationException("requestorId", true);
}
}
-
- public void createRequestRecord (Status status, Action action){
-
- InfraActiveRequests aq = new InfraActiveRequests ();
- aq.setRequestId (requestId);
-
- aq.setRequestAction(action.name());
- aq.setAction(action.name());
-
- Timestamp startTimeStamp = new Timestamp (System.currentTimeMillis());
-
- aq.setStartTime (startTimeStamp);
-
- if (requestInfo != null) {
-
- if(requestInfo.getSource() != null){
- aq.setSource(requestInfo.getSource());
- }
- if(requestInfo.getRequestorId() != null) {
- aq.setRequestorId(requestInfo.getRequestorId());
- }
- if(requestInfo.getResourceType() != null) {
- aq.setRequestScope(requestInfo.getResourceType().name());
- }
- }
-
- if(ResourceType.operationalEnvironment.name().equalsIgnoreCase(requestScope) && requestInfo != null) {
- aq.setOperationalEnvId(operationalEnvironmentId);
- aq.setOperationalEnvName(requestInfo.getInstanceName());
- }
-
- aq.setRequestBody (this.requestJSON);
-
- aq.setRequestStatus (status.toString ());
- aq.setLastModifiedBy (Constants.MODIFIED_BY_APIHANDLER);
-
- if ((status == Status.FAILED) || (status == Status.COMPLETE)) {
- aq.setStatusMessage (this.errorMessage);
- aq.setResponseBody (this.responseBody);
- aq.setProgress(Long.valueOf(100));
-
- Timestamp endTimeStamp = new Timestamp (System.currentTimeMillis());
- aq.setEndTime (endTimeStamp);
- } else if(status == Status.IN_PROGRESS) {
- aq.setProgress(Constants.PROGRESS_REQUEST_IN_PROGRESS);
- }
- requestsDbClient.save(aq);
+
+ public void createRequestRecord(Status status, Action action) {
+
+ InfraActiveRequests aq = new InfraActiveRequests();
+ aq.setRequestId(requestId);
+
+ aq.setRequestAction(action.name());
+ aq.setAction(action.name());
+
+ Timestamp startTimeStamp = new Timestamp(System.currentTimeMillis());
+
+ aq.setStartTime(startTimeStamp);
+
+ if (requestInfo != null) {
+
+ if (requestInfo.getSource() != null) {
+ aq.setSource(requestInfo.getSource());
+ }
+ if (requestInfo.getRequestorId() != null) {
+ aq.setRequestorId(requestInfo.getRequestorId());
+ }
+ if (requestInfo.getResourceType() != null) {
+ aq.setRequestScope(requestInfo.getResourceType().name());
+ }
+ }
+
+ if (ResourceType.operationalEnvironment.name().equalsIgnoreCase(requestScope) && requestInfo != null) {
+ aq.setOperationalEnvId(operationalEnvironmentId);
+ aq.setOperationalEnvName(requestInfo.getInstanceName());
+ }
+
+ aq.setRequestBody(this.requestJSON);
+
+ aq.setRequestStatus(status.toString());
+ aq.setLastModifiedBy(Constants.MODIFIED_BY_APIHANDLER);
+
+ if ((status == Status.FAILED) || (status == Status.COMPLETE)) {
+ aq.setStatusMessage(this.errorMessage);
+ aq.setResponseBody(this.responseBody);
+ aq.setProgress(Long.valueOf(100));
+
+ Timestamp endTimeStamp = new Timestamp(System.currentTimeMillis());
+ aq.setEndTime(endTimeStamp);
+ } else if (status == Status.IN_PROGRESS) {
+ aq.setProgress(Constants.PROGRESS_REQUEST_IN_PROGRESS);
+ }
+ requestsDbClient.save(aq);
}
-
-
- public Map<String, String> getOrchestrationFilters (MultivaluedMap<String, String> queryParams) throws ValidationException {
+
+
+ public Map<String, String> getOrchestrationFilters(MultivaluedMap<String, String> queryParams)
+ throws ValidationException {
String queryParam = null;
Map<String, String> orchestrationFilterParams = new HashMap<>();
- for (Entry<String,List<String>> entry : queryParams.entrySet()) {
+ for (Entry<String, List<String>> entry : queryParams.entrySet()) {
queryParam = entry.getKey();
- try{
- for(String value : entry.getValue()) {
- if(StringUtils.isBlank(value)) {
- throw (new Exception(queryParam + " value"));
- }
- orchestrationFilterParams.put(queryParam, value);
- }
- }catch(Exception e){
- throw new ValidationException (e.getMessage(), true);
- }
+ try {
+ for (String value : entry.getValue()) {
+ if (StringUtils.isBlank(value)) {
+ throw (new Exception(queryParam + " value"));
+ }
+ orchestrationFilterParams.put(queryParam, value);
+ }
+ } catch (Exception e) {
+ throw new ValidationException(e.getMessage(), true);
+ }
}
return orchestrationFilterParams;
- }
+ }
+
+ private static boolean empty(String s) {
+ return (s == null || s.trim().isEmpty());
+ }
- private static boolean empty(String s) {
- return (s == null || s.trim().isEmpty());
- }
-
- public String getRequestId () {
+ public String getRequestId() {
return requestId;
}
-
+
public void setRequestId(String requestId) {
- this.requestId = requestId;
+ this.requestId = requestId;
+ }
+
+ public void updateFinalStatus() {
+ try {
+ InfraActiveRequests request = new InfraActiveRequests(requestId);
+ request.setRequestStatus(status.toString());
+ request.setStatusMessage(this.errorMessage);
+ request.setProgress(this.progress);
+ request.setResponseBody(this.responseBody);
+ request.setLastModifiedBy(Constants.MODIFIED_BY_APIHANDLER);
+ requestsDbClient.save(request);
+ } catch (Exception e) {
+ logger.error("{} {} {} {}", MessageEnum.APIH_DB_UPDATE_EXC.toString(), e.getMessage(),
+ ErrorCode.DataError.getValue(), "Exception when updating record in DB");
+ logger.debug("Exception: ", e);
+ }
}
- public void updateFinalStatus() {
- try {
- InfraActiveRequests request = new InfraActiveRequests(requestId);
- request.setRequestStatus(status.toString());
- request.setStatusMessage(this.errorMessage);
- request.setProgress(this.progress);
- request.setResponseBody(this.responseBody);
- request.setLastModifiedBy(Constants.MODIFIED_BY_APIHANDLER);
- requestsDbClient.save(request);
- } catch (Exception e) {
- logger.error("{} {} {} {}", MessageEnum.APIH_DB_UPDATE_EXC.toString(), e.getMessage(),
- ErrorCode.DataError.getValue(), "Exception when updating record in DB");
- logger.debug("Exception: ", e);
- }
- }
-
- public void setStatus (RequestStatusType status) {
+ public void setStatus(RequestStatusType status) {
this.status = status;
switch (status) {
- case FAILED:
- case COMPLETE:
- this.progress = Constants.PROGRESS_REQUEST_COMPLETED;
- break;
- case IN_PROGRESS:
- this.progress = Constants.PROGRESS_REQUEST_IN_PROGRESS;
- break;
- case PENDING:
- break;
- case TIMEOUT:
- break;
- case UNLOCKED:
- break;
- default:
- break;
+ case FAILED:
+ case COMPLETE:
+ this.progress = Constants.PROGRESS_REQUEST_COMPLETED;
+ break;
+ case IN_PROGRESS:
+ this.progress = Constants.PROGRESS_REQUEST_IN_PROGRESS;
+ break;
+ case PENDING:
+ break;
+ case TIMEOUT:
+ break;
+ case UNLOCKED:
+ break;
+ default:
+ break;
}
}
- public String getOperationalEnvironmentId() {
- return operationalEnvironmentId;
- }
+ public String getOperationalEnvironmentId() {
+ return operationalEnvironmentId;
+ }
- public void setOperationalEnvironmentId(String operationalEnvironmentId) {
- this.operationalEnvironmentId = operationalEnvironmentId;
- }
+ public void setOperationalEnvironmentId(String operationalEnvironmentId) {
+ this.operationalEnvironmentId = operationalEnvironmentId;
+ }
}