From 2995dc7e2f248bbfe9459d4b6c0c264d780ca413 Mon Sep 17 00:00:00 2001 From: zhouhao Date: Mon, 4 Sep 2017 17:00:21 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=E5=93=8D=E5=BA=94=E5=AE=9E?= =?UTF-8?q?=E4=BD=93?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../FlowableDeploymentController.java | 44 +++-- .../entity/SimpleProcessDefinition.java | 175 ++++++++++++++++++ .../workflow/flowable/TestApplication.java | 17 ++ .../src/test/resources/application.yml | 2 +- 4 files changed, 220 insertions(+), 18 deletions(-) create mode 100644 hsweb-system/hsweb-system-workflow/hsweb-system-workflow-flowable/src/main/java/org/hswebframework/web/workflow/flowable/entity/SimpleProcessDefinition.java create mode 100644 hsweb-system/hsweb-system-workflow/hsweb-system-workflow-flowable/src/test/java/org/hswebframework/web/workflow/flowable/TestApplication.java diff --git a/hsweb-system/hsweb-system-workflow/hsweb-system-workflow-flowable/src/main/java/org/hswebframework/web/workflow/flowable/controller/FlowableDeploymentController.java b/hsweb-system/hsweb-system-workflow/hsweb-system-workflow-flowable/src/main/java/org/hswebframework/web/workflow/flowable/controller/FlowableDeploymentController.java index f290c865a..7390d0760 100644 --- a/hsweb-system/hsweb-system-workflow/hsweb-system-workflow-flowable/src/main/java/org/hswebframework/web/workflow/flowable/controller/FlowableDeploymentController.java +++ b/hsweb-system/hsweb-system-workflow/hsweb-system-workflow-flowable/src/main/java/org/hswebframework/web/workflow/flowable/controller/FlowableDeploymentController.java @@ -21,6 +21,7 @@ import org.hswebframework.web.NotFoundException; import org.hswebframework.web.commons.entity.PagerResult; import org.hswebframework.web.commons.entity.param.QueryParamEntity; import org.hswebframework.web.controller.message.ResponseMessage; +import org.hswebframework.web.workflow.flowable.entity.SimpleProcessDefinition; import org.hswebframework.web.workflow.flowable.service.BpmActivityService; import org.hswebframework.web.workflow.flowable.service.BpmProcessService; import org.hswebframework.web.workflow.flowable.service.BpmTaskService; @@ -42,6 +43,7 @@ import java.util.Collections; import java.util.HashMap; import java.util.List; import java.util.Map; +import java.util.stream.Collectors; import java.util.zip.ZipInputStream; /** @@ -101,9 +103,17 @@ public class FlowableDeploymentController extends FlowableAbstract { }); int total = (int) processDefinitionQuery.count(); param.rePaging(total); - List models = processDefinitionQuery.listPage(param.getPageIndex(), param.getPageSize() * (param.getPageIndex() + 1)); - return ResponseMessage.ok(new PagerResult<>(total, models)) - .exclude(ProcessDefinitionEntity.class, "identityLinks"); + if (total == 0) { + return ResponseMessage.ok(PagerResult.empty()); + } + List models = processDefinitionQuery + .listPage(param.getPageIndex(), param.getPageSize() * (param.getPageIndex() + 1)) + .stream() + .map(SimpleProcessDefinition::new) + .collect(Collectors.toList()); + + + return ResponseMessage.ok(new PagerResult<>(total, models)); } /** @@ -115,22 +125,22 @@ public class FlowableDeploymentController extends FlowableAbstract { // 获取上传的文件名 String fileName = file.getOriginalFilename(); - // 得到输入流(字节流)对象 - InputStream fileInputStream = file.getInputStream(); + // 得到输入流(字节流)对象 + InputStream fileInputStream = file.getInputStream(); - // 文件的扩展名 - String extension = FilenameUtils.getExtension(fileName); + // 文件的扩展名 + String extension = FilenameUtils.getExtension(fileName); - // zip或者bar类型的文件用ZipInputStream方式部署 - DeploymentBuilder deployment = repositoryService.createDeployment(); - if (extension.equals("zip") || extension.equals("bar")) { - ZipInputStream zip = new ZipInputStream(fileInputStream); - deployment.addZipInputStream(zip); - } else { - // 其他类型的文件直接部署 - deployment.addInputStream(fileName, fileInputStream); - } - deployment.deploy(); + // zip或者bar类型的文件用ZipInputStream方式部署 + DeploymentBuilder deployment = repositoryService.createDeployment(); + if (extension.equals("zip") || extension.equals("bar")) { + ZipInputStream zip = new ZipInputStream(fileInputStream); + deployment.addZipInputStream(zip); + } else { + // 其他类型的文件直接部署 + deployment.addInputStream(fileName, fileInputStream); + } + deployment.deploy(); return ResponseMessage.ok(); } diff --git a/hsweb-system/hsweb-system-workflow/hsweb-system-workflow-flowable/src/main/java/org/hswebframework/web/workflow/flowable/entity/SimpleProcessDefinition.java b/hsweb-system/hsweb-system-workflow/hsweb-system-workflow-flowable/src/main/java/org/hswebframework/web/workflow/flowable/entity/SimpleProcessDefinition.java new file mode 100644 index 000000000..575c8a889 --- /dev/null +++ b/hsweb-system/hsweb-system-workflow/hsweb-system-workflow-flowable/src/main/java/org/hswebframework/web/workflow/flowable/entity/SimpleProcessDefinition.java @@ -0,0 +1,175 @@ +package org.hswebframework.web.workflow.flowable.entity; + +import org.activiti.engine.repository.ProcessDefinition; + +/** + * TODO 完成注释 + * + * @author zhouhao + */ +public class SimpleProcessDefinition implements ProcessDefinition { + + private String id; + + private String category; + private String name; + private String key; + private String description; + private int version; + private String resourceName; + private String deploymentId; + private String diagramResourceName; + private boolean suspended; + + private boolean hasStartFormKey; + private boolean hasGraphicalNotation; + private String tenantId; + + public SimpleProcessDefinition() { + } + + public SimpleProcessDefinition(ProcessDefinition definition) { + id = definition.getId(); + category = definition.getCategory(); + name = definition.getName(); + key = definition.getKey(); + description = definition.getDescription(); + version = definition.getVersion(); + + resourceName = definition.getResourceName(); + deploymentId = definition.getDeploymentId(); + diagramResourceName = definition.getResourceName(); + + suspended = definition.isSuspended(); + + hasGraphicalNotation = definition.hasGraphicalNotation(); + hasStartFormKey = definition.hasStartFormKey(); + tenantId = definition.getTenantId(); + + } + + public void setSuspended(boolean suspended) { + this.suspended = suspended; + } + + @Override + public boolean isSuspended() { + return suspended; + } + + @Override + public boolean hasGraphicalNotation() { + return hasGraphicalNotation; + } + + @Override + public boolean hasStartFormKey() { + return hasStartFormKey; + } + + @Override + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + @Override + public String getCategory() { + return category; + } + + public void setCategory(String category) { + this.category = category; + } + + @Override + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + @Override + public String getKey() { + return key; + } + + public void setKey(String key) { + this.key = key; + } + + @Override + public String getDescription() { + return description; + } + + public void setDescription(String description) { + this.description = description; + } + + @Override + public int getVersion() { + return version; + } + + public void setVersion(int version) { + this.version = version; + } + + @Override + public String getResourceName() { + return resourceName; + } + + public void setResourceName(String resourceName) { + this.resourceName = resourceName; + } + + @Override + public String getDeploymentId() { + return deploymentId; + } + + public void setDeploymentId(String deploymentId) { + this.deploymentId = deploymentId; + } + + @Override + public String getDiagramResourceName() { + return diagramResourceName; + } + + public void setDiagramResourceName(String diagramResourceName) { + this.diagramResourceName = diagramResourceName; + } + + public boolean isHasStartFormKey() { + return hasStartFormKey; + } + + public void setHasStartFormKey(boolean hasStartFormKey) { + this.hasStartFormKey = hasStartFormKey; + } + + public boolean isHasGraphicalNotation() { + return hasGraphicalNotation; + } + + public void setHasGraphicalNotation(boolean hasGraphicalNotation) { + this.hasGraphicalNotation = hasGraphicalNotation; + } + + @Override + public String getTenantId() { + return tenantId; + } + + public void setTenantId(String tenantId) { + this.tenantId = tenantId; + } +} diff --git a/hsweb-system/hsweb-system-workflow/hsweb-system-workflow-flowable/src/test/java/org/hswebframework/web/workflow/flowable/TestApplication.java b/hsweb-system/hsweb-system-workflow/hsweb-system-workflow-flowable/src/test/java/org/hswebframework/web/workflow/flowable/TestApplication.java new file mode 100644 index 000000000..b5c45cfb2 --- /dev/null +++ b/hsweb-system/hsweb-system-workflow/hsweb-system-workflow-flowable/src/test/java/org/hswebframework/web/workflow/flowable/TestApplication.java @@ -0,0 +1,17 @@ +package org.hswebframework.web.workflow.flowable; + +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; + +/** + * TODO 完成注释 + * + * @author zhouhao + */ +@SpringBootApplication +public class TestApplication { + + public static void main(String[] args) { + SpringApplication.run(TestApplication.class, args); + } +} diff --git a/hsweb-system/hsweb-system-workflow/hsweb-system-workflow-flowable/src/test/resources/application.yml b/hsweb-system/hsweb-system-workflow/hsweb-system-workflow-flowable/src/test/resources/application.yml index f78e27891..dad9ecea3 100644 --- a/hsweb-system/hsweb-system-workflow/hsweb-system-workflow-flowable/src/test/resources/application.yml +++ b/hsweb-system/hsweb-system-workflow/hsweb-system-workflow-flowable/src/test/resources/application.yml @@ -3,7 +3,7 @@ spring: auto: true proxy-target-class: true datasource: - url : jdbc:h2:file:target/workflow-test + url : jdbc:h2:file:./target/workflow-test username : sa password : type: com.alibaba.druid.pool.DruidDataSource