summaryrefslogtreecommitdiffstats
path: root/sdc-workflow-designer-server
diff options
context:
space:
mode:
authorZhaoxing Meng <meng.zhaoxing1@zte.com.cn>2018-04-12 14:43:01 +0000
committerGerrit Code Review <gerrit@onap.org>2018-04-12 14:43:01 +0000
commite789e3060b7860075820af76a71e6dfc050cc286 (patch)
treed7d1d239813bf14496f64cb557507ceb45d53265 /sdc-workflow-designer-server
parent144ae201a1640aefb17b9e5eb827a5e1e2e0f600 (diff)
parentab102f5ea3be0051c1f41da44fc89487f2dc13f9 (diff)
Merge "Fixed Error in Retrieving Data From SDC"
Diffstat (limited to 'sdc-workflow-designer-server')
-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.java12
-rw-r--r--sdc-workflow-designer-server/src/main/java/org/onap/sdc/workflowdesigner/externalservice/sdc/SDCServiceProxy.java14
-rw-r--r--sdc-workflow-designer-server/src/main/java/org/onap/sdc/workflowdesigner/resources/ExtendActivityResource.java172
-rw-r--r--sdc-workflow-designer-server/src/main/java/org/onap/sdc/workflowdesigner/resources/WorkflowModelerResource.java137
-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
-rw-r--r--sdc-workflow-designer-server/src/test/java/org/onap/sdc/workflowdesigner/resources/ExtendActivityResourceTest.java6
-rw-r--r--sdc-workflow-designer-server/src/test/java/org/onap/sdc/workflowdesigner/resources/WorkflowModelerResourceTest.java23
-rw-r--r--sdc-workflow-designer-server/src/test/java/org/onap/sdc/workflowdesigner/resources/entity/ExtendActivityTest.java2
9 files changed, 299 insertions, 77 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;
diff --git a/sdc-workflow-designer-server/src/test/java/org/onap/sdc/workflowdesigner/resources/ExtendActivityResourceTest.java b/sdc-workflow-designer-server/src/test/java/org/onap/sdc/workflowdesigner/resources/ExtendActivityResourceTest.java
index 899e2ee9..fcb71360 100644
--- a/sdc-workflow-designer-server/src/test/java/org/onap/sdc/workflowdesigner/resources/ExtendActivityResourceTest.java
+++ b/sdc-workflow-designer-server/src/test/java/org/onap/sdc/workflowdesigner/resources/ExtendActivityResourceTest.java
@@ -16,7 +16,7 @@ import static org.junit.Assert.assertEquals;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
-import org.onap.sdc.workflowdesigner.resources.entity.ExtendActivity;
+import org.onap.sdc.workflowdesigner.resources.entity.ExtActivity;
import org.onap.sdc.workflowdesigner.utils.FileCommonUtils;
import org.onap.sdc.workflowdesigner.utils.JsonUtils;
@@ -39,13 +39,13 @@ public class ExtendActivityResourceTest {
public void tearDown() throws Exception {}
/**
- * Test method for {@link org.onap.sdc.workflowdesigner.resources.ExtendActivityResource#retriveExtActivites(java.lang.String)}.
+ *
*/
@Test
public void testRetriveExtActivites() {
try {
String json = FileCommonUtils.readString(EXT_ACTIVITIES_FILE_NAME);
- ExtendActivity[] extActivities = JsonUtils.fromJson(json, ExtendActivity[].class);
+ ExtActivity[] extActivities = JsonUtils.fromJson(json, ExtActivity[].class);
FileCommonUtils.write("test.json", JsonUtils.toJson(extActivities));
assertEquals(extActivities.length == 0, false);
diff --git a/sdc-workflow-designer-server/src/test/java/org/onap/sdc/workflowdesigner/resources/WorkflowModelerResourceTest.java b/sdc-workflow-designer-server/src/test/java/org/onap/sdc/workflowdesigner/resources/WorkflowModelerResourceTest.java
index a67adbeb..ba399644 100644
--- a/sdc-workflow-designer-server/src/test/java/org/onap/sdc/workflowdesigner/resources/WorkflowModelerResourceTest.java
+++ b/sdc-workflow-designer-server/src/test/java/org/onap/sdc/workflowdesigner/resources/WorkflowModelerResourceTest.java
@@ -45,7 +45,8 @@ public class WorkflowModelerResourceTest {
public void tearDown() throws Exception {}
/**
- * Test method for {@link org.onap.sdc.workflowdesigner.resources.WorkflowModelerResource#buildBPMN(java.net.URI, java.lang.String)}.
+ * Test method for
+ * {@link org.onap.sdc.workflowdesigner.resources.WorkflowModelerResource#buildBPMN(java.net.URI, java.lang.String)}.
*/
@Test
public void testBuildBPMN() {
@@ -65,25 +66,25 @@ public class WorkflowModelerResourceTest {
} catch (IOException e) {
} catch (Exception e) {
}
-// return null;
- // TODO for Nexus-IQ
- return " ";
+
+ return null;
}
-
+
/**
- * Test method for {@link org.onap.sdc.workflowdesigner.resources.WorkflowModelerResource#insertJson2Bpmn(java.lang.String, java.lang.String)}.
+ * Test method for
+ * {@link org.onap.sdc.workflowdesigner.resources.WorkflowModelerResource#insertJson2Bpmn(java.lang.String, java.lang.String)}.
*/
@Test
public void testInsertJson2Bpmn() {
String bpmn = parseBpmnfromJsonFile();
-
+
try {
String json = FileCommonUtils.readString("src/main/assembly/" + WORKFLOW_JSON_TEMP_FILE_NAME);
WorkflowModelerResource resource = new WorkflowModelerResource();
String combineBpmn = resource.insertJson2Bpmn(json, bpmn);
- String json1 = resource.readJsonfromBPMNFile(combineBpmn);
-
+ String json1 = resource.readJsonfromBPMN(combineBpmn);
+
assertEqualsJson(json, json1);
} catch (IOException e) {
} catch (DocumentException e) {
@@ -97,12 +98,12 @@ public class WorkflowModelerResourceTest {
private void assertEqualsJson(String json, String json1) {
WorkflowInfo wi = JsonUtils.fromJson(json, WorkflowInfo.class);
WorkflowInfo wi1 = JsonUtils.fromJson(json1, WorkflowInfo.class);
-
+
String newJson = JsonUtils.toJson(wi);
String newJson1 = JsonUtils.toJson(wi1);
assertEquals(newJson1, newJson);
-
+
}
}
diff --git a/sdc-workflow-designer-server/src/test/java/org/onap/sdc/workflowdesigner/resources/entity/ExtendActivityTest.java b/sdc-workflow-designer-server/src/test/java/org/onap/sdc/workflowdesigner/resources/entity/ExtendActivityTest.java
index e8fa1e75..0c16807a 100644
--- a/sdc-workflow-designer-server/src/test/java/org/onap/sdc/workflowdesigner/resources/entity/ExtendActivityTest.java
+++ b/sdc-workflow-designer-server/src/test/java/org/onap/sdc/workflowdesigner/resources/entity/ExtendActivityTest.java
@@ -43,7 +43,7 @@ public class ExtendActivityTest {
IconData icon = new IconData();
Content content = new Content();
- ExtendActivity ea = new ExtendActivity();
+ ExtActivity ea = new ExtActivity();
ea.setContent(content);
ea.setDescription(description);
ea.setDisplayName(displayName);