From 611590e6ab768c02c6732adc110fe720c6066063 Mon Sep 17 00:00:00 2001 From: o2sword <171715986@qq.com> Date: Wed, 20 Jul 2022 16:24:46 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B5=81=E7=A8=8B=E6=95=B0=E6=8D=AE=E5=8F=91?= =?UTF-8?q?=E5=B8=83=E8=AE=BE=E8=AE=A14?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../entity/dynamic/DynamicEntityBuilder.java | 2 +- .../core/entity/element/Publish.java | 14 +- .../service/processing/Business.java | 1 + .../processing/factory/ElementFactory.java | 52 ++++---- .../processor/publish/PublishProcessor.java | 120 +++++++++++++++++- 5 files changed, 153 insertions(+), 36 deletions(-) diff --git a/o2server/x_base_core_project/src/main/java/com/x/base/core/entity/dynamic/DynamicEntityBuilder.java b/o2server/x_base_core_project/src/main/java/com/x/base/core/entity/dynamic/DynamicEntityBuilder.java index 35ced2ebc0..95acb080a6 100644 --- a/o2server/x_base_core_project/src/main/java/com/x/base/core/entity/dynamic/DynamicEntityBuilder.java +++ b/o2server/x_base_core_project/src/main/java/com/x/base/core/entity/dynamic/DynamicEntityBuilder.java @@ -153,7 +153,7 @@ public class DynamicEntityBuilder { */ private void createBundleField(Builder builder) { Field bundleField = new Field(); - bundleField.setName("bundle"); + bundleField.setName(DynamicEntity.BUNDLE_FIELD); bundleField.setDescription("流程实例的JOB"); bundleField.setType("string"); this.createField(builder, bundleField, String.class); diff --git a/o2server/x_processplatform_core_entity/src/main/java/com/x/processplatform/core/entity/element/Publish.java b/o2server/x_processplatform_core_entity/src/main/java/com/x/processplatform/core/entity/element/Publish.java index 18a02659e0..52f218092c 100644 --- a/o2server/x_processplatform_core_entity/src/main/java/com/x/processplatform/core/entity/element/Publish.java +++ b/o2server/x_processplatform_core_entity/src/main/java/com/x/processplatform/core/entity/element/Publish.java @@ -32,6 +32,8 @@ public class Publish extends Activity { private static final long serialVersionUID = 588240173459487399L; private static final String TABLE = PersistenceProperties.Element.Publish.table; + public static final String PUBLISH_TARGET_CMS = "cms"; + public static final String PUBLISH_TARGET_TABLE = "table"; @Override public String getId() { @@ -452,19 +454,19 @@ public class Publish extends Activity { @CheckPersist(allowEmpty = true) private String notifyDataPathList; - public static final String jaxwsParameterScript_FIELDNAME = "jaxwsParameterScript"; + public static final String targetAssignDataScript_FIELDNAME = "targetAssignDataScript"; @IdReference(Script.class) - @FieldDescribe("数据脚本.") + @FieldDescribe("内容管理数据脚本.") @Column(length = AbstractPersistenceProperties.processPlatform_name_length, name = ColumnNamePrefix - + jaxwsParameterScript_FIELDNAME) + + targetAssignDataScript_FIELDNAME) @CheckPersist(allowEmpty = true) private String targetAssignDataScript; - public static final String jaxwsParameterScriptText_FIELDNAME = "jaxwsParameterScriptText"; - @FieldDescribe("数据脚本文本.") + public static final String targetAssignDataScriptText_FIELDNAME = "targetAssignDataScriptText"; + @FieldDescribe("内容管理数据脚本文本.") @Lob @Basic(fetch = FetchType.EAGER) - @Column(length = JpaObject.length_1M, name = ColumnNamePrefix + jaxwsParameterScriptText_FIELDNAME) + @Column(length = JpaObject.length_1M, name = ColumnNamePrefix + targetAssignDataScriptText_FIELDNAME) @CheckPersist(allowEmpty = true) private String targetAssignDataScriptText; diff --git a/o2server/x_processplatform_service_processing/src/main/java/com/x/processplatform/service/processing/Business.java b/o2server/x_processplatform_service_processing/src/main/java/com/x/processplatform/service/processing/Business.java index 57a753e2b7..202a01ec8b 100644 --- a/o2server/x_processplatform_service_processing/src/main/java/com/x/processplatform/service/processing/Business.java +++ b/o2server/x_processplatform_service_processing/src/main/java/com/x/processplatform/service/processing/Business.java @@ -34,6 +34,7 @@ public class Business { public static final String EVENT_INVOKEJAXRSRESPONSE = "invokeJaxrsResponse"; public static final String EVENT_INVOKEJAXRSBODY = "invokeJaxrsBody"; public static final String EVENT_INVOKEJAXRSHEAD = "invokeJaxrsHead"; + public static final String EVENT_PUBLISHCMSBODY = "publishCmsBody"; public static final String EVENT_SERVICE = "service"; public static final String EVENT_ROUTE = "route"; public static final String EVENT_ROUTEAPPENDTASKIDENTITY = "routeAppendTaskIdentity"; diff --git a/o2server/x_processplatform_service_processing/src/main/java/com/x/processplatform/service/processing/factory/ElementFactory.java b/o2server/x_processplatform_service_processing/src/main/java/com/x/processplatform/service/processing/factory/ElementFactory.java index 821b344509..287a25fcf2 100644 --- a/o2server/x_processplatform_service_processing/src/main/java/com/x/processplatform/service/processing/factory/ElementFactory.java +++ b/o2server/x_processplatform_service_processing/src/main/java/com/x/processplatform/service/processing/factory/ElementFactory.java @@ -14,6 +14,8 @@ import javax.persistence.criteria.Predicate; import javax.persistence.criteria.Root; import javax.script.CompiledScript; +import com.x.processplatform.core.entity.element.*; +import com.x.processplatform.core.entity.element.Process; import org.apache.commons.beanutils.PropertyUtils; import org.apache.commons.collections4.ListUtils; import org.apache.commons.lang3.StringUtils; @@ -26,30 +28,6 @@ import com.x.base.core.project.logger.Logger; import com.x.base.core.project.logger.LoggerFactory; import com.x.base.core.project.scripting.ScriptingFactory; import com.x.base.core.project.tools.ListTools; -import com.x.processplatform.core.entity.element.Activity; -import com.x.processplatform.core.entity.element.ActivityType; -import com.x.processplatform.core.entity.element.Agent; -import com.x.processplatform.core.entity.element.Application; -import com.x.processplatform.core.entity.element.Begin; -import com.x.processplatform.core.entity.element.Cancel; -import com.x.processplatform.core.entity.element.Choice; -import com.x.processplatform.core.entity.element.Delay; -import com.x.processplatform.core.entity.element.Embed; -import com.x.processplatform.core.entity.element.End; -import com.x.processplatform.core.entity.element.Form; -import com.x.processplatform.core.entity.element.Invoke; -import com.x.processplatform.core.entity.element.Manual; -import com.x.processplatform.core.entity.element.Mapping; -import com.x.processplatform.core.entity.element.Mapping_; -import com.x.processplatform.core.entity.element.Merge; -import com.x.processplatform.core.entity.element.Parallel; -import com.x.processplatform.core.entity.element.Process; -import com.x.processplatform.core.entity.element.Route; -import com.x.processplatform.core.entity.element.Route_; -import com.x.processplatform.core.entity.element.Script; -import com.x.processplatform.core.entity.element.Script_; -import com.x.processplatform.core.entity.element.Service; -import com.x.processplatform.core.entity.element.Split; import com.x.processplatform.service.processing.AbstractFactory; import com.x.processplatform.service.processing.Business; @@ -526,6 +504,10 @@ public class ElementFactory extends AbstractFactory { scriptName = Objects.toString(PropertyUtils.getProperty(o, Invoke.jaxrsBodyScript_FIELDNAME)); scriptText = Objects.toString(PropertyUtils.getProperty(o, Invoke.jaxrsBodyScriptText_FIELDNAME)); break; + case Business.EVENT_PUBLISHCMSBODY: + scriptName = Objects.toString(PropertyUtils.getProperty(o, Publish.targetAssignDataScript_FIELDNAME)); + scriptText = Objects.toString(PropertyUtils.getProperty(o, Publish.targetAssignDataScriptText_FIELDNAME)); + break; case Business.EVENT_INVOKEJAXRSHEAD: scriptName = Objects.toString(PropertyUtils.getProperty(o, Invoke.jaxrsHeadScript_FIELDNAME)); scriptText = Objects.toString(PropertyUtils.getProperty(o, Invoke.jaxrsHeadScriptText_FIELDNAME)); @@ -614,6 +596,26 @@ public class ElementFactory extends AbstractFactory { return compiledScript; } + public CompiledScript getCompiledScript(String applicationId, String scriptName, String scriptText) { + StringBuilder sb = new StringBuilder(); + CompiledScript compiledScript = null; + try { + if (StringUtils.isNotEmpty(scriptName)) { + List