aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--bpmn/mso-infrastructure-bpmn/src/main/java/org/onap/so/bpmn/common/workflow/service/WorkflowOnboardingSupport.java412
1 files changed, 0 insertions, 412 deletions
diff --git a/bpmn/mso-infrastructure-bpmn/src/main/java/org/onap/so/bpmn/common/workflow/service/WorkflowOnboardingSupport.java b/bpmn/mso-infrastructure-bpmn/src/main/java/org/onap/so/bpmn/common/workflow/service/WorkflowOnboardingSupport.java
index 8506b9542f..939164492b 100644
--- a/bpmn/mso-infrastructure-bpmn/src/main/java/org/onap/so/bpmn/common/workflow/service/WorkflowOnboardingSupport.java
+++ b/bpmn/mso-infrastructure-bpmn/src/main/java/org/onap/so/bpmn/common/workflow/service/WorkflowOnboardingSupport.java
@@ -28,7 +28,6 @@ import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.util.ArrayList;
-import java.util.Arrays;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@@ -47,24 +46,15 @@ import javax.ws.rs.ext.Provider;
import org.apache.cxf.jaxrs.ext.multipart.Attachment;
import org.apache.cxf.jaxrs.ext.multipart.Multipart;
-import org.onap.so.db.catalog.beans.NetworkRecipe;
-import org.onap.so.db.catalog.beans.NetworkResource;
-import org.onap.so.db.catalog.beans.ServiceRecipe;
import org.onap.so.db.catalog.client.CatalogDbClient;
-import org.onap.so.rest.catalog.beans.Service;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
-import org.springframework.web.bind.annotation.CrossOrigin;
-
-import com.fasterxml.jackson.databind.ObjectMapper;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import net.minidev.json.JSONObject;
-import org.onap.so.db.catalog.beans.VnfRecipe;
-import org.onap.so.db.catalog.beans.VnfResource;
/**
*
@@ -77,318 +67,11 @@ import org.onap.so.db.catalog.beans.VnfResource;
public class WorkflowOnboardingSupport extends ProcessEngineAwareService {
protected static final Logger logger = LoggerFactory.getLogger(WorkflowOnboardingSupport.class);
- protected static final long DEFAULT_WAIT_TIME = 60000; // default wait time
- private static final String SERVICE = "SERVICE";
- private static final String NETWORK = "NETWORK";
- private static final String VNF = "VNF";
@Autowired
private CatalogDbClient catalogDbClient;
/**
- * Get all service recipes.
- *
- * @return
- */
- @GET
- @ApiOperation(value = "Get all service recipes", notes = "Get all service recipes")
- @Path("/serviceRecipes")
- public Response getServiceRecipes() {
- List<ServiceRecipe> serviceRecipes = catalogDbClient.getServiceRecipes();
- List<Service> services = catalogDbClient.getServices();
- Map<String, String> idToName = new HashMap<String, String>();
- for (Service service : services) {
- idToName.put(service.getModelVersionId(), service.getModelName());
- }
- Map<String, String> flowToName = new HashMap<String, String>();
- Map<String, List<String>> packages = getPackages();
- for (Entry<String, List<String>> entry : packages.entrySet()) {
- for (String flow : entry.getValue()) {
- flowToName.put(flow, entry.getKey());
- }
- }
- Map<String, List<Map<String, String>>> mapServiceRecipes = new HashMap<String, List<Map<String, String>>>();
- List<Map<String, String>> recipeList = new ArrayList<Map<String, String>>();
- for (ServiceRecipe serviceRecipe : serviceRecipes) {
- Map<String, String> recipeObj = new HashMap<String, String>();
- recipeObj.put("id", String.valueOf(serviceRecipe.getId()));
- recipeObj.put("modelVersionId", serviceRecipe.getServiceModelUUID());
- recipeObj.put("modelName", idToName.get(serviceRecipe.getServiceModelUUID()));
- recipeObj.put("operation", serviceRecipe.getAction());
- recipeObj.put("orchestrationPackageName", flowToName.get(serviceRecipe.getOrchestrationUri()));
- recipeObj.put("orchestrationFlow", serviceRecipe.getOrchestrationUri());
- recipeList.add(recipeObj);
- }
- mapServiceRecipes.put("serviceRecipes", recipeList);
- String resp = JSONObject.toJSONString(mapServiceRecipes);
-
- return Response.status(200).header("Access-Control-Allow-Origin", "*").entity(resp).build();
- }
-
- /**
- * Add new recipe for service
- *
- * @param request
- * @return
- */
- @SuppressWarnings("unchecked")
- @POST
- @Path("/serviceRecipes")
- @ApiOperation(value = "Add a new service recipe", notes = "Add a new service recipe")
- @Produces("application/json")
- @Consumes("application/json")
- public Response addServiceRecipDese(String request) {
- Map<String, String> mapRecipeInfo;
- ObjectMapper mapper = new ObjectMapper();
-
- try {
-
- try {
- mapRecipeInfo = mapper.readValue(request, Map.class);
-
- } catch (Exception e) {
- logger.debug("Mapping of request to JSON object failed : ", e);
- return Response.status(200).header("Access-Control-Allow-Origin", "*").build();
- }
- String nfRole = mapRecipeInfo.get("nfRole");
- String type = mapRecipeInfo.get("modelType");
- String modelVersionId = mapRecipeInfo.get("modelVersionId");
- String action = mapRecipeInfo.get("operation");
- String orchestrationFlow = "/mso/async/services/" + mapRecipeInfo.get("orchestrationFlow");
- String modelName = mapRecipeInfo.get("modelName");
- String description = action + " orchestration flow for template " + mapRecipeInfo.get("modelName");
-
- String[] validTypes = { SERVICE, NETWORK, VNF };
-
- if (org.springframework.util.StringUtils.isEmpty(type)
- || !Arrays.asList(validTypes).contains(type.toUpperCase())) {
- return Response.status(200).header("Access-Control-Allow-Origin", "*")
- .entity("{\"errMsg\":\"type is invalid.\"}").build();
-
- }
- int assignedId = 0;
- boolean isModelVersionExists = false;
- Object[] conflictAndIdCheck;
-
- if (type.equalsIgnoreCase(SERVICE)) {
- isModelVersionExists = isServiceModelVersionIdExists(modelVersionId);
- if (!isModelVersionExists) {
- return Response.status(200).header("Access-Control-Allow-Origin", "*")
- .entity("{\"errMsg\":\"The service template does not exist.\"}").build();
- }
-
- conflictAndIdCheck = isServiceActionConflict(modelVersionId, action);
- if ((boolean) conflictAndIdCheck[0]) {
- return Response.status(200).header("Access-Control-Allow-Origin", "*").entity(
- "{\"errMsg\":\"The recipe for this action of the service template already exists.\"}")
- .build();
- }
- assignedId = (int) conflictAndIdCheck[1] + 1;
- ServiceRecipe serviceRecipe = new ServiceRecipe();
- serviceRecipe.setId(assignedId);
- serviceRecipe.setServiceModelUUID(modelVersionId);
- serviceRecipe.setAction(action);
- serviceRecipe.setOrchestrationUri(orchestrationFlow);
- serviceRecipe.setRecipeTimeout(180);
- serviceRecipe.setDescription(description);
- catalogDbClient.postServiceRecipe(serviceRecipe);
- } else if (type.equalsIgnoreCase(NETWORK)) {
-
- isModelVersionExists = isNetworkVersionIdValid(modelVersionId);
- if (!isModelVersionExists) {
- return Response.status(200).header("Access-Control-Allow-Origin", "*")
- .entity("{\"errMsg\":\"The network template does not exist.\"}").build();
- }
-
- conflictAndIdCheck = isNetworkActionConflict(modelVersionId, action);
- if ((boolean) conflictAndIdCheck[0]) {
- return Response.status(200).header("Access-Control-Allow-Origin", "*").entity(
- "{\"errMsg\":\"The recipe for this action of the network template already exists.\"}")
- .build();
- }
-
- assignedId = (int) conflictAndIdCheck[1] + 1;
- NetworkRecipe nwrecipe = new NetworkRecipe();
- nwrecipe.setId(assignedId);
- nwrecipe.setModelName(modelName);
- nwrecipe.setAction(action);
- nwrecipe.setOrchestrationUri(orchestrationFlow);
- nwrecipe.setDescription(description);
- nwrecipe.setRecipeTimeout(180);
- nwrecipe.setVersionStr(modelVersionId);
- catalogDbClient.postNetworkRecipe(nwrecipe);
-
- } else if (type.equalsIgnoreCase(VNF)) {
-
- isModelVersionExists = isVnfVersionIdValid(modelVersionId);
- if (!isModelVersionExists) {
- return Response.status(200).header("Access-Control-Allow-Origin", "*")
- .entity("{\"errMsg\":\"The Vnf template does not exist.\"}").build();
-
- }
-
- conflictAndIdCheck = isVfActionConflict(modelVersionId, action);
- if ((boolean) conflictAndIdCheck[0]) {
- return Response.status(200).header("Access-Control-Allow-Origin", "*")
- .entity("{\"errMsg\":\"The recipe for this action of the vnf template already exists.\"}")
- .build();
- }
-
- assignedId = (int) conflictAndIdCheck[1] + 1;
- VnfRecipe vnfRecipe = new VnfRecipe();
- vnfRecipe.setNfRole(nfRole);
- vnfRecipe.setId(assignedId);
- vnfRecipe.setAction(action);
- vnfRecipe.setDescription(description);
- vnfRecipe.setVersionStr(modelVersionId);
- vnfRecipe.setOrchestrationUri(orchestrationFlow);
- vnfRecipe.setRecipeTimeout(180);
- catalogDbClient.postVnfRecipe(vnfRecipe);
-
- }
-
- mapRecipeInfo.put("id", String.valueOf(assignedId));
- } catch (Exception e) {
- logger.debug("WorkflowOnboardingSupport addServiceRecipDese error {} : ", e);
- return Response.status(200).header("Access-Control-Allow-Origin", "*")
- .entity("{\"errMsg\":\"Unable to process.\"}").build();
- }
- String resp = JSONObject.toJSONString(mapRecipeInfo);
- return Response.status(201).header("Access-Control-Allow-Origin", "*").entity(resp).build();
- }
-
- private boolean isServiceModelVersionIdExists(String modelVersionId) {
- List<Service> services = catalogDbClient.getServices();
- boolean isExists = false;
- for(Service service: services) {
- if(service.getModelVersionId().equals(modelVersionId)){
- isExists = true;
- break;
- }
- }
- return isExists;
- }
-
- private Object[] isServiceActionConflict(String modelVersionId,String action) {
- List<ServiceRecipe> serviceRecipes = catalogDbClient.getServiceRecipes();
- boolean isConflict = false;
- Object[] data= new Object[2];
- int maxId = serviceRecipes.get(0)!=null? serviceRecipes.get(0).getId(): 1;
- for (ServiceRecipe recipe : serviceRecipes) {
- maxId = recipe.getId() > maxId ? recipe.getId() : maxId;
- if (recipe.getServiceModelUUID().equals(modelVersionId)
- && recipe.getAction().equals(action)) {
- isConflict = true;
- }
- }
- data[0]=isConflict;
- data[1]=maxId;
- return data;
- }
-
- private Object[] isNetworkActionConflict(String modelVersionId,String action) {
- List<NetworkRecipe> recipes = catalogDbClient.getNetworkRecipes();
- boolean isConflict = false;
- Object[] data= new Object[2];
- int maxId = recipes.get(0)!=null ? recipes.get(0).getId() : 1;
- for (NetworkRecipe recipe : recipes) {
- maxId = recipe.getId() > maxId ? recipe.getId() : maxId;
- if (recipe.getVersionStr().equals(modelVersionId)
- && recipe.getAction().equals(action)) {
- isConflict = true;
-
- }
-
- }
- data[0]=isConflict;
- data[1]=maxId;
- return data;
- }
-
- private Object[] isVfActionConflict(String modelVersionId,String action) {
- List<VnfRecipe> vnfRecipes = catalogDbClient.getVnfRecipes();
- boolean isConflict = false;
- Object[] data= new Object[2];
- int maxId = vnfRecipes.get(0) !=null ? vnfRecipes.get(0).getId() : 1;
- for (VnfRecipe recipe : vnfRecipes) {
- maxId = recipe.getId() > maxId ? recipe.getId() : maxId;
- if (recipe.getVersionStr().equals(modelVersionId)
- && recipe.getAction().equals(action)) {
- isConflict = true;
- }
- }
- data[0]=isConflict;
- data[1]=maxId;
- return data;
- }
-
-
-
- private boolean isNetworkVersionIdValid(String modelVersionId) {
- List<NetworkResource> networkResources = catalogDbClient.getNetworkResources();
- boolean isExists = false;
- for(NetworkResource networkResource: networkResources) {
- if(networkResource.getModelVersion().equals(modelVersionId)){
- isExists = true;
- break;
- }
- }
- return isExists;
- }
-
- private boolean isVnfVersionIdValid(String modelVersionId) {
- List<VnfResource> vnfResources = catalogDbClient.getVnfResources();
- boolean isExists = false;
- for(VnfResource vnfResource: vnfResources) {
- if(vnfResource.getModelVersion().equals(modelVersionId)){
- isExists = true;
- break;
- }
- }
- return isExists;
- }
-
- /**
- * delete service recipe
- *
- * @param request the body of the request
- * @return
- */
- @DELETE
- @Path("/serviceRecipes/{id}")
- @ApiOperation(value = "delete a service recipe", notes = "delete a service recipe")
- @Produces("application/json")
- @Consumes("application/json")
- public Response delServiceRecipe(String request, @PathParam("id") String id) {
- catalogDbClient.deleteServiceRecipe(id);
- return Response.status(200).header("Access-Control-Allow-Origin", "*").build();
- }
-
- /**
- * Get service templates
- *
- * @return
- */
- @GET
- @ApiOperation(value = "query all service templates", notes = "query all service templates")
- @Path("/serviceTemplates")
- public Response getServices() {
- List<Service> services = catalogDbClient.getServices();
- Map<String, List<Map<String, String>>> mapServices = new HashMap<String, List<Map<String, String>>>();
- List<Map<String, String>> serviceList = new ArrayList<Map<String, String>>();
- for (Service service : services) {
- Map<String, String> serviceObj = new HashMap<String, String>();
- serviceObj.put("modelInvariantId", service.getModelInvariantId());
- serviceObj.put("modelVersionId", service.getModelVersionId());
- serviceObj.put("modelName", service.getModelName());
- serviceList.add(serviceObj);
- }
- mapServices.put("services", serviceList);
- String resp = JSONObject.toJSONString(mapServices);
- return Response.status(200).header("Access-Control-Allow-Origin", "*").entity(resp).build();
- }
-
- /**
* Get all workflow packages including all bpmn infos.
*
* @return
@@ -524,99 +207,4 @@ public class WorkflowOnboardingSupport extends ProcessEngineAwareService {
}
return true;
}
- /**
- * Get all network recipes.
- *
- * @return
- */
- @GET
- @ApiOperation(value = "Get all network recipes", notes = "Get all network recipes")
- @Path("/networkRecipes")
- public Response getNetworkRecipes() {
- List<NetworkRecipe> networkRecipes = catalogDbClient.getNetworkRecipes();
- Map<String, List<Map<String, String>>> mapNetworkRecipes = new HashMap<String, List<Map<String, String>>>();
- List<Map<String, String>> recipeList = new ArrayList<Map<String, String>>();
- for (NetworkRecipe networkRecipe : networkRecipes) {
- Map<String, String> recipeObj = new HashMap<String, String>();
- recipeObj.put("id", String.valueOf(networkRecipe.getId()));
- recipeObj.put("paramXsd", String.valueOf(networkRecipe.getParamXsd()));
- recipeObj.put("modelName", String.valueOf(networkRecipe.getModelName()));
- recipeObj.put("description", String.valueOf(networkRecipe.getDescription()));
- recipeObj.put("action", String.valueOf(networkRecipe.getAction()));
- recipeObj.put("orchestrationUri", String.valueOf(networkRecipe.getOrchestrationUri()));
- recipeObj.put("recipeTimeout", String.valueOf(networkRecipe.getRecipeTimeout()));
- recipeObj.put("versionStr", String.valueOf(networkRecipe.getVersionStr()));
- recipeObj.put("serviceType", String.valueOf(networkRecipe.getServiceType()));
- recipeObj.put("created", String.valueOf(networkRecipe.getCreated()));
- recipeList.add(recipeObj);
- }
- mapNetworkRecipes.put("networkRecipes", recipeList);
- String resp = JSONObject.toJSONString(mapNetworkRecipes);
-
- return Response.status(200).header("Access-Control-Allow-Origin", "*").entity(resp).build();
- }
-
- /**
- * Get all network recipes.
- *
- * @return
- */
- @GET
- @ApiOperation(value = "Get all network recipes", notes = "Get all network recipes")
- @Path("/getServiceRecipes")
- public Response getServiceRecipesList() {
- List<ServiceRecipe> serviceRecipes = catalogDbClient.getServiceRecipes();
- Map<String, List<Map<String, String>>> mapNetworkRecipes = new HashMap<String, List<Map<String, String>>>();
- List<Map<String, String>> recipeList = new ArrayList<Map<String, String>>();
- for (ServiceRecipe serviceRecipe : serviceRecipes) {
- Map<String, String> recipeObj = new HashMap<String, String>();
- recipeObj.put("id", String.valueOf(serviceRecipe.getId()));
- recipeObj.put("paramXsd", String.valueOf(serviceRecipe.getParamXsd()));
- recipeObj.put("serviceModelUUID", String.valueOf(serviceRecipe.getServiceModelUUID()));
- recipeObj.put("description", String.valueOf(serviceRecipe.getDescription()));
- recipeObj.put("action", String.valueOf(serviceRecipe.getAction()));
- recipeObj.put("orchestrationUri", String.valueOf(serviceRecipe.getOrchestrationUri()));
- recipeObj.put("recipeTimeout", String.valueOf(serviceRecipe.getRecipeTimeout()));
- recipeObj.put("serviceTimeoutInterim", String.valueOf(serviceRecipe.getServiceTimeoutInterim()));
- recipeObj.put("created", String.valueOf(serviceRecipe.getCreated()));
- recipeList.add(recipeObj);
- }
- mapNetworkRecipes.put("serviceRecipes", recipeList);
- String resp = JSONObject.toJSONString(mapNetworkRecipes);
-
- return Response.status(200).header("Access-Control-Allow-Origin", "*").entity(resp).build();
- }
-
- /**
- * Get all vnf recipes.
- *
- * @return
- */
- @GET
- @ApiOperation(value = "Get all vnf recipes", notes = "Get all vnf recipes")
- @Path("/vnfRecipes")
- public Response getVNFRecipes() {
- List<VnfRecipe> vnfRecipes = catalogDbClient.getVnfRecipes();
- Map<String, List<Map<String, String>>> mapVnfRecipes = new HashMap<String, List<Map<String, String>>>();
- List<Map<String, String>> recipeList = new ArrayList<Map<String, String>>();
- for (VnfRecipe vnfRecipe : vnfRecipes) {
- Map<String, String> recipeObj = new HashMap<String, String>();
- recipeObj.put("id", String.valueOf(vnfRecipe.getId()));
- recipeObj.put("nfRole", String.valueOf(vnfRecipe.getNfRole()));
- recipeObj.put("paramXsd", String.valueOf(vnfRecipe.getParamXsd()));
- recipeObj.put("vfModuleId", String.valueOf(vnfRecipe.getVfModuleId()));
- recipeObj.put("description", String.valueOf(vnfRecipe.getDescription()));
- recipeObj.put("action", String.valueOf(vnfRecipe.getAction()));
- recipeObj.put("orchestrationUri", String.valueOf(vnfRecipe.getOrchestrationUri()));
- recipeObj.put("recipeTimeout", String.valueOf(vnfRecipe.getRecipeTimeout()));
- recipeObj.put("versionStr", String.valueOf(vnfRecipe.getVersionStr()));
- recipeObj.put("serviceType", String.valueOf(vnfRecipe.getServiceType()));
- recipeObj.put("created", String.valueOf(vnfRecipe.getCreated()));
- recipeList.add(recipeObj);
- }
- mapVnfRecipes.put("vnfRecipes", recipeList);
- String resp = JSONObject.toJSONString(mapVnfRecipes);
-
- return Response.status(200).header("Access-Control-Allow-Origin", "*").entity(resp).build();
- }
}