diff options
author | 2018-04-12 15:57:13 +0800 | |
---|---|---|
committer | 2018-04-12 16:22:43 +0800 | |
commit | ab102f5ea3be0051c1f41da44fc89487f2dc13f9 (patch) | |
tree | 38cd5b6649d5e71d7b99e5887fa17564ba202275 /sdc-workflow-designer-server/src/main | |
parent | 41e5e22612921ddd7bc58e6371dc1ed7df7b7788 (diff) |
Fixed Error in Retrieving Data From SDC
Retrieve extend activities from sdc
Retrieve bpmn artifact from sdc
Issue-ID: SDC-1215
Change-Id: I9122237bddb2a95ec406bc762dab1d293e8825dd
Signed-off-by: YuanHu <yuan.hu1@zte.com.cn>
Diffstat (limited to 'sdc-workflow-designer-server/src/main')
-rw-r--r-- | sdc-workflow-designer-server/src/main/java/org/onap/sdc/workflowdesigner/common/SDCProxyException.java (renamed from sdc-workflow-designer-server/src/main/java/org/onap/sdc/workflowdesigner/common/WorkflowDesignerException.java) | 8 | ||||
-rw-r--r-- | sdc-workflow-designer-server/src/main/java/org/onap/sdc/workflowdesigner/externalservice/sdc/ActivitySpecServiceProxy.java | 12 | ||||
-rw-r--r-- | sdc-workflow-designer-server/src/main/java/org/onap/sdc/workflowdesigner/externalservice/sdc/SDCServiceProxy.java | 14 | ||||
-rw-r--r-- | sdc-workflow-designer-server/src/main/java/org/onap/sdc/workflowdesigner/resources/ExtendActivityResource.java | 172 | ||||
-rw-r--r-- | sdc-workflow-designer-server/src/main/java/org/onap/sdc/workflowdesigner/resources/WorkflowModelerResource.java | 137 | ||||
-rw-r--r-- | sdc-workflow-designer-server/src/main/java/org/onap/sdc/workflowdesigner/resources/entity/ExtActivity.java (renamed from sdc-workflow-designer-server/src/main/java/org/onap/sdc/workflowdesigner/resources/entity/ExtendActivity.java) | 2 |
6 files changed, 283 insertions, 62 deletions
diff --git a/sdc-workflow-designer-server/src/main/java/org/onap/sdc/workflowdesigner/common/WorkflowDesignerException.java b/sdc-workflow-designer-server/src/main/java/org/onap/sdc/workflowdesigner/common/SDCProxyException.java index 343df014..8f596b0c 100644 --- a/sdc-workflow-designer-server/src/main/java/org/onap/sdc/workflowdesigner/common/WorkflowDesignerException.java +++ b/sdc-workflow-designer-server/src/main/java/org/onap/sdc/workflowdesigner/common/SDCProxyException.java @@ -15,19 +15,19 @@ */ package org.onap.sdc.workflowdesigner.common; -public class WorkflowDesignerException extends Exception { +public class SDCProxyException extends Exception { private static final long serialVersionUID = 1L; - public WorkflowDesignerException() { + public SDCProxyException() { super(); } - public WorkflowDesignerException(String msg, Exception e) { + public SDCProxyException(String msg, Exception e) { super(msg, e); } - public WorkflowDesignerException(String msg) { + public SDCProxyException(String msg) { super(msg); } } diff --git a/sdc-workflow-designer-server/src/main/java/org/onap/sdc/workflowdesigner/externalservice/sdc/ActivitySpecServiceProxy.java b/sdc-workflow-designer-server/src/main/java/org/onap/sdc/workflowdesigner/externalservice/sdc/ActivitySpecServiceProxy.java index fa1987ef..e014b542 100644 --- a/sdc-workflow-designer-server/src/main/java/org/onap/sdc/workflowdesigner/externalservice/sdc/ActivitySpecServiceProxy.java +++ b/sdc-workflow-designer-server/src/main/java/org/onap/sdc/workflowdesigner/externalservice/sdc/ActivitySpecServiceProxy.java @@ -16,7 +16,7 @@ package org.onap.sdc.workflowdesigner.externalservice.sdc; import org.glassfish.jersey.client.ClientConfig; -import org.onap.sdc.workflowdesigner.common.WorkflowDesignerException; +import org.onap.sdc.workflowdesigner.common.SDCProxyException; import org.onap.sdc.workflowdesigner.config.AppConfig; import org.onap.sdc.workflowdesigner.externalservice.sdc.entity.ActivitySpec; import org.slf4j.Logger; @@ -35,11 +35,11 @@ public class ActivitySpecServiceProxy { private static final String X_ECOMP_INSTANCE_ID = AppConfig.getSdcServiceProxy().getxEcompInstanceId(); /** */ - private static final String Activity_ROOT_PATH = "/activityspec-api/v1.0"; + private static final String ACTIVITY_ROOT_PATH = "/activityspec-api/v1.0"; private static String getActivityRootPath() { - return AppConfig.getSdcServiceProxy().getServiceAddr() + Activity_ROOT_PATH; + return AppConfig.getSdcServiceProxy().getServiceAddr() + ACTIVITY_ROOT_PATH; } /** @@ -54,15 +54,15 @@ public class ActivitySpecServiceProxy { /** * * @return - * @throws WorkflowDesignerException + * @throws SDCProxyException */ - public ActivitySpec[] getActivitySpecs() throws WorkflowDesignerException { + public ActivitySpec[] getActivitySpecs() throws SDCProxyException { ActivitySpecService serviceProxy = getActivityServiceProxy(); try { return serviceProxy.getActivitySpecs(X_ECOMP_INSTANCE_ID, AUTHORIZATION); } catch (Exception e) { LOGGER.error("Get Activity Specifications Failed.", e); - throw new WorkflowDesignerException("Get Activity Specifications Failed.", e); + throw new SDCProxyException("Get Activity Specifications Failed.", e); } } diff --git a/sdc-workflow-designer-server/src/main/java/org/onap/sdc/workflowdesigner/externalservice/sdc/SDCServiceProxy.java b/sdc-workflow-designer-server/src/main/java/org/onap/sdc/workflowdesigner/externalservice/sdc/SDCServiceProxy.java index b925c03d..374bca7a 100644 --- a/sdc-workflow-designer-server/src/main/java/org/onap/sdc/workflowdesigner/externalservice/sdc/SDCServiceProxy.java +++ b/sdc-workflow-designer-server/src/main/java/org/onap/sdc/workflowdesigner/externalservice/sdc/SDCServiceProxy.java @@ -16,7 +16,7 @@ package org.onap.sdc.workflowdesigner.externalservice.sdc; import org.glassfish.jersey.client.ClientConfig; -import org.onap.sdc.workflowdesigner.common.WorkflowDesignerException; +import org.onap.sdc.workflowdesigner.common.SDCProxyException; import org.onap.sdc.workflowdesigner.config.AppConfig; import org.onap.sdc.workflowdesigner.externalservice.sdc.entity.WorkflowArtifactInfo; import org.slf4j.Logger; @@ -56,17 +56,17 @@ public class SDCServiceProxy { * @param operationId * @param workflowId * @param workflowArtifactInfo - * @throws WorkflowDesignerException + * @throws SDCProxyException */ public void saveWorkflowArtifact(String uuid, String operationId, String workflowId, - WorkflowArtifactInfo workflowArtifactInfo) throws WorkflowDesignerException { + WorkflowArtifactInfo workflowArtifactInfo) throws SDCProxyException { SDCService serviceProxy = getSDCServiceProxy(); try { serviceProxy.saveWorkflowArtifact(uuid, operationId, workflowId, X_ECOMP_INSTANCE_ID, AUTHORIZATION, workflowArtifactInfo); } catch (Exception e) { LOGGER.error("Save WorkflowArtifact Failed.", e); - throw new WorkflowDesignerException("Save WorkflowArtifact Failed.", e); + throw new SDCProxyException("Save WorkflowArtifact Failed.", e); } } @@ -76,17 +76,17 @@ public class SDCServiceProxy { * @param operationId * @param workflowId * @return - * @throws WorkflowDesignerException + * @throws SDCProxyException */ public WorkflowArtifactInfo getWorkflowArtifact(String uuid, String operationId, - String workflowId) throws WorkflowDesignerException { + String workflowId) throws SDCProxyException { SDCService serviceProxy = getSDCServiceProxy(); try { return serviceProxy.getWorkflowArtifact(uuid, operationId, workflowId, X_ECOMP_INSTANCE_ID, AUTHORIZATION); } catch (Exception e) { LOGGER.error("Get WorkflowArtifact Failed.", e); - throw new WorkflowDesignerException("Get WorkflowArtifact Failed.", e); + throw new SDCProxyException("Get WorkflowArtifact Failed.", e); } } diff --git a/sdc-workflow-designer-server/src/main/java/org/onap/sdc/workflowdesigner/resources/ExtendActivityResource.java b/sdc-workflow-designer-server/src/main/java/org/onap/sdc/workflowdesigner/resources/ExtendActivityResource.java index bd8a541f..46fef111 100644 --- a/sdc-workflow-designer-server/src/main/java/org/onap/sdc/workflowdesigner/resources/ExtendActivityResource.java +++ b/sdc-workflow-designer-server/src/main/java/org/onap/sdc/workflowdesigner/resources/ExtendActivityResource.java @@ -13,6 +13,8 @@ package org.onap.sdc.workflowdesigner.resources; import java.io.IOException; +import java.util.HashMap; +import java.util.Map; import javax.ws.rs.Consumes; import javax.ws.rs.GET; @@ -23,8 +25,18 @@ import javax.ws.rs.core.MediaType; import javax.ws.rs.core.Response; import org.eclipse.jetty.http.HttpStatus; +import org.onap.sdc.workflowdesigner.common.SDCProxyException; +import org.onap.sdc.workflowdesigner.config.AppConfig; +import org.onap.sdc.workflowdesigner.externalservice.sdc.ActivitySpecServiceProxy; +import org.onap.sdc.workflowdesigner.externalservice.sdc.entity.ActivitySpec; +import org.onap.sdc.workflowdesigner.externalservice.sdc.entity.Parameter; import org.onap.sdc.workflowdesigner.resources.entity.ExtActivityDisplayInfo; -import org.onap.sdc.workflowdesigner.resources.entity.ExtendActivity; +import org.onap.sdc.workflowdesigner.resources.entity.I18nString; +import org.onap.sdc.workflowdesigner.resources.entity.InputOutput; +import org.onap.sdc.workflowdesigner.resources.entity.NodeCategory; +import org.onap.sdc.workflowdesigner.resources.entity.CategoryData; +import org.onap.sdc.workflowdesigner.resources.entity.Content; +import org.onap.sdc.workflowdesigner.resources.entity.ExtActivity; import org.onap.sdc.workflowdesigner.utils.FileCommonUtils; import org.onap.sdc.workflowdesigner.utils.JsonUtils; import org.onap.sdc.workflowdesigner.utils.RestUtils; @@ -54,6 +66,11 @@ public class ExtendActivityResource { private static final String EXT_ACTIVITIES_FILE_NAME = "ext-activities.json"; + private static final CategoryData EXTENSION_TASK_CATEGORY = + new CategoryData(new I18nString("Extension Task", "Extension Task")); + + private static final String EXTENSION_TASK_CATEGORY_CATEGORY_ID = "extension_task_category_id"; + /** * test function. * @@ -63,7 +80,7 @@ public class ExtendActivityResource { @GET @Consumes(MediaType.APPLICATION_JSON) @Produces(MediaType.APPLICATION_JSON) - @ApiOperation(value = "Get Extend Activities.", response = ExtendActivity.class, + @ApiOperation(value = "Get Extend Activities.", response = ExtActivity.class, responseContainer = "List") @ApiResponses(value = { @ApiResponse(code = HttpStatus.NOT_FOUND_404, message = "microservice not found", @@ -74,25 +91,106 @@ public class ExtendActivityResource { response = String.class)}) @Timed public Response getExtActivities(@ApiParam(value = "sence") @QueryParam("sence") String sence) { + if (AppConfig.isSDCAdapter()) { + return getExtActivitiesfromSDC(); + } else { + return getExtActivitiesfromLocal(); + } + } + /** + * @return + */ + private Response getExtActivitiesfromLocal() { try { - ExtendActivity[] extActivities = retriveExtActivites(sence); + String json = FileCommonUtils.readString(EXT_ACTIVITIES_FILE_NAME); + ExtActivity[] extActivities = JsonUtils.fromJson(json, ExtActivity[].class); return Response.status(Response.Status.OK).entity(extActivities).build(); } catch (IOException e) { - LOGGER.error("Get ExtActivities failed.", e); + LOGGER.error("Get ExtActivities from local failed.", e); throw RestUtils.newInternalServerErrorException(e); } + } + /** + * @return + */ + private Response getExtActivitiesfromSDC() { + try { + ActivitySpecServiceProxy proxy = new ActivitySpecServiceProxy(); + ActivitySpec[] activitySpecs = proxy.getActivitySpecs(); + ExtActivity[] extActivities = convert2ExtActivities(activitySpecs); + return Response.status(Response.Status.OK).entity(extActivities).build(); + } catch (SDCProxyException e) { + LOGGER.error("Get ExtActivities from sdc failed.", e); + throw RestUtils.newInternalServerErrorException(e); + } } /** - * @param sence + * @param activitySpecs + * @return + */ + private ExtActivity[] convert2ExtActivities(ActivitySpec[] activitySpecs) { + ExtActivity[] extendActivities = new ExtActivity[activitySpecs.length]; + for (int i = 0; i < activitySpecs.length; i++) { + extendActivities[i] = convert2ExtActivity(activitySpecs[i]); + } + return extendActivities; + } + + /** + * @param activitySpec + * @return + */ + private ExtActivity convert2ExtActivity(ActivitySpec activitySpec) { + ExtActivity extActivity = new ExtActivity(); + extActivity.setId(activitySpec.getId()); + extActivity.setDisplayName(new I18nString(activitySpec.getName(), activitySpec.getName())); + extActivity.setDescription( + new I18nString(activitySpec.getDescription(), activitySpec.getDescription())); + extActivity.setType(activitySpec.getType()); + extActivity.setContent(buildContent(activitySpec)); + return extActivity; + } + + /** + * @param activitySpec + * @return + */ + private Content buildContent(ActivitySpec activitySpec) { + Content content = new Content(); + content.setClass(activitySpec.getContent().getClazz()); + content.setScript(activitySpec.getContent().getScript()); + content.setScriptFormat(activitySpec.getContent().getScriptFormat()); + content.setInputs(convert2InputOutputs(activitySpec.getInputs())); + content.setOutputs(convert2InputOutputs(activitySpec.getOutputs())); + return content; + } + + /** + * @param parameters + * @return + */ + private Map<String, InputOutput> convert2InputOutputs(Parameter[] parameters) { + Map<String, InputOutput> inputOutputs = new HashMap<>(); + for (Parameter parameter : parameters) { + inputOutputs.put(parameter.getName(), convert2InputOutput(parameter)); + } + return inputOutputs; + } + + /** + * @param parameter * @return - * @throws IOException */ - protected ExtendActivity[] retriveExtActivites(String sence) throws IOException { - String json = FileCommonUtils.readString(EXT_ACTIVITIES_FILE_NAME); - return JsonUtils.fromJson(json, ExtendActivity[].class); + private InputOutput convert2InputOutput(Parameter parameter) { + InputOutput inputOutput = new InputOutput(); + inputOutput.setDisplayName(new I18nString(parameter.getName(), parameter.getName())); + inputOutput.setType(parameter.getType()); + inputOutput.setDefault(parameter.getDefault()); + inputOutput.setValue(parameter.getValue()); + return inputOutput; } @@ -111,16 +209,70 @@ public class ExtendActivityResource { response = String.class)}) @Timed public Response getDisplayInfo(@ApiParam(value = "sence") @QueryParam("sence") String sence) { + if (AppConfig.isSDCAdapter()) { + return getDisplayInfofromSDC(); + } else { + return getDisplayInfofromLocal(sence); + } + } + + /** + * @param sence + * @return + */ + private Response getDisplayInfofromLocal(String sence) { try { ExtActivityDisplayInfo displayInfo = retriveDisplayInfo(sence); return Response.status(Response.Status.OK).entity(displayInfo).build(); } catch (IOException e) { - LOGGER.error("Get Extend Activities DisplayInfo failed.", e); + LOGGER.error("Get Extend Activities DisplayInfo from failed.", e); throw RestUtils.newInternalServerErrorException(e); } } /** + * @return + */ + private Response getDisplayInfofromSDC() { + try { + ActivitySpecServiceProxy proxy = new ActivitySpecServiceProxy(); + ActivitySpec[] activitySpecs = proxy.getActivitySpecs(); + ExtActivityDisplayInfo displayInfo = convert2ExtActivityDisplayInfo(activitySpecs); + return Response.status(Response.Status.OK).entity(displayInfo).build(); + } catch (SDCProxyException e) { + LOGGER.error("Get Extend Activities DisplayInfo from sdc failed.", e); + throw RestUtils.newInternalServerErrorException(e); + } + } + + /** + * @param activitySpecs + * @return + */ + private ExtActivityDisplayInfo convert2ExtActivityDisplayInfo(ActivitySpec[] activitySpecs) { + ExtActivityDisplayInfo displayInfo = new ExtActivityDisplayInfo(); + + for (ActivitySpec activitySpec : activitySpecs) { + displayInfo.getNodes().put(activitySpec.getId(), buildNodeCategory(activitySpec)); + } + + displayInfo.getCategoryData().put(EXTENSION_TASK_CATEGORY_CATEGORY_ID, EXTENSION_TASK_CATEGORY); + + return displayInfo; + } + + /** + * @param activitySpec + * @return + */ + private NodeCategory buildNodeCategory(ActivitySpec activitySpec) { + NodeCategory nodeCategory = new NodeCategory(); + nodeCategory.setCategory(EXTENSION_TASK_CATEGORY_CATEGORY_ID); + + return nodeCategory; + } + + /** * @param sence * @return * @throws IOException diff --git a/sdc-workflow-designer-server/src/main/java/org/onap/sdc/workflowdesigner/resources/WorkflowModelerResource.java b/sdc-workflow-designer-server/src/main/java/org/onap/sdc/workflowdesigner/resources/WorkflowModelerResource.java index 0f0e2dd8..c08fcef5 100644 --- a/sdc-workflow-designer-server/src/main/java/org/onap/sdc/workflowdesigner/resources/WorkflowModelerResource.java +++ b/sdc-workflow-designer-server/src/main/java/org/onap/sdc/workflowdesigner/resources/WorkflowModelerResource.java @@ -14,9 +14,9 @@ package org.onap.sdc.workflowdesigner.resources; import java.io.IOException; import java.net.URI; -//import java.nio.file.Paths; +import java.nio.file.Paths; import java.util.List; -//import java.util.UUID; +import java.util.UUID; import javax.ws.rs.Consumes; import javax.ws.rs.GET; @@ -24,6 +24,7 @@ import javax.ws.rs.PUT; 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; @@ -32,15 +33,17 @@ import org.dom4j.Document; import org.dom4j.DocumentException; import org.dom4j.DocumentHelper; import org.eclipse.jetty.http.HttpStatus; -//import org.onap.sdc.workflowdesigner.common.WorkflowDesignerException; -//import org.onap.sdc.workflowdesigner.externalservice.sdc.SDCServiceProxy; -//import org.onap.sdc.workflowdesigner.externalservice.sdc.entity.WorkflowArtifactInfo; +import org.onap.sdc.workflowdesigner.common.SDCProxyException; +import org.onap.sdc.workflowdesigner.config.AppConfig; +import org.onap.sdc.workflowdesigner.externalservice.sdc.SDCServiceProxy; +import org.onap.sdc.workflowdesigner.externalservice.sdc.entity.WorkflowArtifactInfo; import org.onap.sdc.workflowdesigner.model.Process; import org.onap.sdc.workflowdesigner.parser.Bpmn4ToscaJsonParser; -//import org.onap.sdc.workflowdesigner.resources.entity.WorkflowInfo; +import org.onap.sdc.workflowdesigner.resources.entity.WorkflowInfo; import org.onap.sdc.workflowdesigner.utils.FileCommonUtils; -//import org.onap.sdc.workflowdesigner.utils.JsonUtils; +import org.onap.sdc.workflowdesigner.utils.JsonUtils; import org.onap.sdc.workflowdesigner.utils.RestUtils; +import org.onap.sdc.workflowdesigner.utils.ToolUtils; import org.onap.sdc.workflowdesigner.writer.BpmnPlanArtefactWriter; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -63,7 +66,7 @@ public class WorkflowModelerResource { private static final Logger logger = LoggerFactory.getLogger(WorkflowModelerResource.class); private static final String WORKFLOW_JSON_TEMP_FILE_NAME = "temp_workflow.json"; -// private static final String WORKFLOW_XML_TEMP_FILE_NAME = "temp_workflow.xml"; + private static final String WORKFLOW_XML_TEMP_FILE_NAME = "temp_workflow.xml"; /** @@ -74,7 +77,7 @@ public class WorkflowModelerResource { @GET @Consumes(MediaType.APPLICATION_JSON) @Produces(MediaType.APPLICATION_JSON) - @ApiOperation(value = "Get Model", response = String.class) + @ApiOperation(value = "Get Model", response = WorkflowInfo.class) @ApiResponses(value = { @ApiResponse(code = HttpStatus.NOT_FOUND_404, message = "microservice not found", response = String.class), @@ -83,17 +86,78 @@ public class WorkflowModelerResource { @ApiResponse(code = HttpStatus.INTERNAL_SERVER_ERROR_500, message = "server internal error", response = String.class)}) @Timed - public Response getModel(@ApiParam(value = "id") @PathParam("id") String id) { + public Response getModel(@ApiParam(value = "id") @PathParam("id") String id, + @ApiParam(value = "name") @QueryParam("name") String name, + @ApiParam(value = "uuid") @QueryParam("uuid") String uuid, + @ApiParam(value = "operationId") @QueryParam("operationId") String operationId) { + if (AppConfig.isSDCAdapter()) { + return getModelfromSDC(uuid, operationId, id, name); + } else { + return getModelfromLocal(); + } + + } + + /** + * @return + */ + private Response getModelfromLocal() { try { String json = FileCommonUtils.readString(WORKFLOW_JSON_TEMP_FILE_NAME); return Response.status(Response.Status.OK).entity(json).build(); } catch (IOException e) { - logger.error("get workflow failed.", e); + logger.error("get workflow from local failed.", e); throw RestUtils.newInternalServerErrorException(e); } } + /** + * @param uuid + * @param operationId + * @param id + * @param name + * @return + */ + private Response getModelfromSDC(String uuid, String operationId, String id, String name) { + try { + SDCServiceProxy sdcProxy = new SDCServiceProxy(); + WorkflowArtifactInfo wai = sdcProxy.getWorkflowArtifact(uuid, operationId, id); + String bpmn = wai.getPayloadData(); + String json = readJsonfromBPMN(bpmn); + if (ToolUtils.isEmpty(json)) { + WorkflowInfo wfi = newEmptyWorkflowInfo(uuid, operationId, id, name); + return Response.status(Response.Status.OK).entity(wfi).build(); + } + return Response.status(Response.Status.OK).entity(json).build(); + } catch (SDCProxyException e) { + logger.error("get workflow from sdc failed.", e); + throw RestUtils.newInternalServerErrorException(e); + } catch (DocumentException e) { + logger.error("get workflow from sdc failed.", e); + throw RestUtils.newInternalServerErrorException(e); + } + } + + /** + * @param id + * @param operationId + * @param uuid + * @param name + * @return + */ + private WorkflowInfo newEmptyWorkflowInfo(String uuid, String operationId, String id, + String name) { + WorkflowInfo wfi = new WorkflowInfo(); + wfi.setId(id); + wfi.setName(name); + wfi.setUuid(uuid); + wfi.setOperationId(operationId); + + return wfi; + } + + @Path("/{id}") @PUT @@ -112,15 +176,16 @@ public class WorkflowModelerResource { @ApiParam(value = "Model Content", required = true) String json) { try { FileCommonUtils.write(WORKFLOW_JSON_TEMP_FILE_NAME, json); - - // TODO for Nexus-IQ -// URI srcUri = Paths.get(".", WORKFLOW_JSON_TEMP_FILE_NAME).toUri(); -// String processName = "plan_" + UUID.randomUUID().toString(); -// String bpmn = buildBPMN(srcUri, processName); -// String jsonBpmn = insertJson2Bpmn(json, bpmn); -// save2SDC(json, jsonBpmn); -// FileCommonUtils.write(WORKFLOW_XML_TEMP_FILE_NAME, jsonBpmn); + URI srcUri = Paths.get(".", WORKFLOW_JSON_TEMP_FILE_NAME).toUri(); + String processName = "plan_" + UUID.randomUUID().toString(); + String bpmn = buildBPMN(srcUri, processName); + String jsonBpmn = insertJson2Bpmn(json, bpmn); + + if (AppConfig.isSDCAdapter()) { + save2SDC(json, jsonBpmn); + } + FileCommonUtils.write(WORKFLOW_XML_TEMP_FILE_NAME, jsonBpmn); return Response.status(Response.Status.OK).entity(json).build(); } catch (IOException e) { @@ -149,7 +214,11 @@ public class WorkflowModelerResource { * @return * @throws DocumentException */ - protected String readJsonfromBPMNFile(String bpmn) throws DocumentException { + protected String readJsonfromBPMN(String bpmn) throws DocumentException { + if (ToolUtils.isEmpty(bpmn)) { + return null; + } + Document doc = DocumentHelper.parseText(bpmn); List<?> elementList = doc.content(); for (Object object : elementList) { @@ -163,20 +232,20 @@ public class WorkflowModelerResource { } -// /** -// * @param json -// * @param bpmn -// * @throws WorkflowDesignerException -// */ -// private void save2SDC(String json, String bpmn) throws WorkflowDesignerException { -// WorkflowInfo workflowInfo = JsonUtils.fromJson(json, WorkflowInfo.class); -// WorkflowArtifactInfo workflowArtifactInfo = -// new WorkflowArtifactInfo(workflowInfo.getName(), workflowInfo.getDescription(), bpmn); -// -// SDCServiceProxy sdcProxy = new SDCServiceProxy(); -// sdcProxy.saveWorkflowArtifact(workflowInfo.getUuid(), workflowInfo.getOperationId(), -// workflowInfo.getId(), workflowArtifactInfo); -// } + /** + * @param json + * @param bpmn + * @throws SDCProxyException + */ + private void save2SDC(String json, String bpmn) throws SDCProxyException { + WorkflowInfo workflowInfo = JsonUtils.fromJson(json, WorkflowInfo.class); + WorkflowArtifactInfo workflowArtifactInfo = + new WorkflowArtifactInfo(workflowInfo.getName(), workflowInfo.getDescription(), bpmn); + + SDCServiceProxy sdcProxy = new SDCServiceProxy(); + sdcProxy.saveWorkflowArtifact(workflowInfo.getUuid(), workflowInfo.getOperationId(), + workflowInfo.getId(), workflowArtifactInfo); + } /** * diff --git a/sdc-workflow-designer-server/src/main/java/org/onap/sdc/workflowdesigner/resources/entity/ExtendActivity.java b/sdc-workflow-designer-server/src/main/java/org/onap/sdc/workflowdesigner/resources/entity/ExtActivity.java index 30e35c13..46661713 100644 --- a/sdc-workflow-designer-server/src/main/java/org/onap/sdc/workflowdesigner/resources/entity/ExtendActivity.java +++ b/sdc-workflow-designer-server/src/main/java/org/onap/sdc/workflowdesigner/resources/entity/ExtActivity.java @@ -14,7 +14,7 @@ package org.onap.sdc.workflowdesigner.resources.entity; /**
*
*/
-public class ExtendActivity {
+public class ExtActivity {
private String id;
private I18nString displayName;
|