From 06ce9b3124026b3dda61a25bb1927e33c505ad5d Mon Sep 17 00:00:00 2001 From: guozhiqi Date: Mon, 17 Jul 2023 18:34:32 +0800 Subject: [PATCH 01/11] =?UTF-8?q?=E8=BF=90=E8=A1=8C=E6=97=B6=E5=AE=9A?= =?UTF-8?q?=E5=88=B6=E7=94=9F=E6=88=90json=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- runtime-api/pom.xml | 8 +- .../api/entity/JitBuildRefMetadata.java | 8 +- .../api/entity/JitMetadataTypeEnum.java | 48 ------ .../api/entity/JitRuntimeConstant.java | 24 --- .../AbstractFormJsonFileGenerator.java | 20 +-- .../CommandJsonFileGenerator.java | 4 +- .../EapiJsonFileGenerator.java | 8 +- .../FormJsonFileManager.java | 8 +- .../FormModuleWithBuildParameter.java | 54 ------- .../FormModuleWithBuildParameterManager.java | 5 +- .../FormRouteJsonFileGenerator.java | 4 +- .../FormRuntimeMetadataEntity.java | 10 +- .../FrmJsonFileGenerator.java | 16 +- .../JsonFileGeneratorFactory.java | 4 +- .../JsonFileGeneratorInterface.java | 4 + .../ResourceJsonFileGenerator.java | 6 +- .../StateMachineJsonFileGenerator.java | 8 +- .../SourceCodeMetadataManager.java | 6 +- .../inspur/edp/web/common/CopyJarFile.java | 151 ++++++++++++++++++ web-form-jitengine/pom.xml | 1 - .../zerocode/ZeroCodeFormParameter.java | 8 +- .../ZeroCodeFormRefMetadataParameter.java | 8 +- .../specific/EapiMetadataOperation.java | 9 +- .../StateMachineMetadataOperation.java | 4 +- 24 files changed, 226 insertions(+), 200 deletions(-) delete mode 100644 runtime-api/src/main/java/com/inspur/edp/web/jitruntimebuild/api/entity/JitMetadataTypeEnum.java delete mode 100644 runtime-api/src/main/java/com/inspur/edp/web/jitruntimebuild/api/entity/JitRuntimeConstant.java delete mode 100644 runtime-core/src/main/java/com/inspur/edp/web/jitruntimebuild/core/formjsonfilegenerator/FormModuleWithBuildParameter.java create mode 100644 web-common/src/test/java/com/inspur/edp/web/common/CopyJarFile.java diff --git a/runtime-api/pom.xml b/runtime-api/pom.xml index baa4d415..e23555f4 100644 --- a/runtime-api/pom.xml +++ b/runtime-api/pom.xml @@ -23,9 +23,15 @@ com.inspur.edp ${custom.version} + 4.0.0 web-jitengine-runtimebuild-api - + + + com.inspur.edp + web-jitengine-common + + diff --git a/runtime-api/src/main/java/com/inspur/edp/web/jitruntimebuild/api/entity/JitBuildRefMetadata.java b/runtime-api/src/main/java/com/inspur/edp/web/jitruntimebuild/api/entity/JitBuildRefMetadata.java index 0d9ff9fb..2a47cbfa 100644 --- a/runtime-api/src/main/java/com/inspur/edp/web/jitruntimebuild/api/entity/JitBuildRefMetadata.java +++ b/runtime-api/src/main/java/com/inspur/edp/web/jitruntimebuild/api/entity/JitBuildRefMetadata.java @@ -16,6 +16,8 @@ package com.inspur.edp.web.jitruntimebuild.api.entity; +import com.inspur.edp.web.common.metadata.MetadataTypeEnum; + /** * description: * @@ -31,7 +33,7 @@ public class JitBuildRefMetadata { /** * 元数据类型 */ - private JitMetadataTypeEnum metadataType; + private MetadataTypeEnum metadataType; public String getContent() { return content; @@ -41,11 +43,11 @@ public class JitBuildRefMetadata { this.content = content; } - public JitMetadataTypeEnum getMetadataType() { + public MetadataTypeEnum getMetadataType() { return metadataType; } - public void setMetadataType(JitMetadataTypeEnum metadataType) { + public void setMetadataType(MetadataTypeEnum metadataType) { this.metadataType = metadataType; } diff --git a/runtime-api/src/main/java/com/inspur/edp/web/jitruntimebuild/api/entity/JitMetadataTypeEnum.java b/runtime-api/src/main/java/com/inspur/edp/web/jitruntimebuild/api/entity/JitMetadataTypeEnum.java deleted file mode 100644 index 0b46e283..00000000 --- a/runtime-api/src/main/java/com/inspur/edp/web/jitruntimebuild/api/entity/JitMetadataTypeEnum.java +++ /dev/null @@ -1,48 +0,0 @@ -/* - * Copyright (c) 2020 - present, Inspur Genersoft Co., Ltd. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.inspur.edp.web.jitruntimebuild.api.entity; - -/** - * 运行时依赖元数据类型 - * @author guozhiqi - */ -public enum JitMetadataTypeEnum { - /** - * 表单元数据 - */ - Frm, - /** - * eapi 元数据 - */ - Eapi, - /** - * 资源元数据 - */ - Resource, - /** - * 状态机元数据 - */ - StateMachine, - /** - * 命令元数据 - */ - Command, - /** - * 页面流 - */ - Route -} diff --git a/runtime-api/src/main/java/com/inspur/edp/web/jitruntimebuild/api/entity/JitRuntimeConstant.java b/runtime-api/src/main/java/com/inspur/edp/web/jitruntimebuild/api/entity/JitRuntimeConstant.java deleted file mode 100644 index d8b5f055..00000000 --- a/runtime-api/src/main/java/com/inspur/edp/web/jitruntimebuild/api/entity/JitRuntimeConstant.java +++ /dev/null @@ -1,24 +0,0 @@ -/* - * Copyright (c) 2020 - present, Inspur Genersoft Co., Ltd. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.inspur.edp.web.jitruntimebuild.api.entity; - -/** - * jit运行时定制常量参数 - */ -public class JitRuntimeConstant { - -} diff --git a/runtime-core/src/main/java/com/inspur/edp/web/jitruntimebuild/core/formjsonfilegenerator/AbstractFormJsonFileGenerator.java b/runtime-core/src/main/java/com/inspur/edp/web/jitruntimebuild/core/formjsonfilegenerator/AbstractFormJsonFileGenerator.java index 702853d5..4e068e49 100644 --- a/runtime-core/src/main/java/com/inspur/edp/web/jitruntimebuild/core/formjsonfilegenerator/AbstractFormJsonFileGenerator.java +++ b/runtime-core/src/main/java/com/inspur/edp/web/jitruntimebuild/core/formjsonfilegenerator/AbstractFormJsonFileGenerator.java @@ -25,31 +25,25 @@ import com.inspur.edp.web.common.io.FileUtility; * @author Noah Guo * @date 2020/04/29 */ -public abstract class AbstractFormJsonFileGenerator implements JsonFileGeneratorInterface { +abstract class AbstractFormJsonFileGenerator implements JsonFileGeneratorInterface { private ExecuteEnvironment executeEnvironment; - private boolean isUpdradeTool=false; + private boolean isUpgradeTool = false; - protected AbstractFormJsonFileGenerator(ExecuteEnvironment executeEnvironment, boolean isUpdradeTool) { + protected AbstractFormJsonFileGenerator(ExecuteEnvironment executeEnvironment, boolean isUpgradeTool) { this.executeEnvironment = executeEnvironment; - this.isUpdradeTool=isUpdradeTool; + this.isUpgradeTool = isUpgradeTool; } - public boolean isUpdradeTool() { - return isUpdradeTool; + protected boolean isUpgradeTool() { + return isUpgradeTool; } - - public ExecuteEnvironment getExecuteEnvironment() { + protected ExecuteEnvironment getExecuteEnvironment() { return this.executeEnvironment; } - public void setExecuteEnvironment(ExecuteEnvironment value) { - this.executeEnvironment = value; - } - - /** * 生成文件全称 * diff --git a/runtime-core/src/main/java/com/inspur/edp/web/jitruntimebuild/core/formjsonfilegenerator/CommandJsonFileGenerator.java b/runtime-core/src/main/java/com/inspur/edp/web/jitruntimebuild/core/formjsonfilegenerator/CommandJsonFileGenerator.java index 038d15be..92a98c9b 100644 --- a/runtime-core/src/main/java/com/inspur/edp/web/jitruntimebuild/core/formjsonfilegenerator/CommandJsonFileGenerator.java +++ b/runtime-core/src/main/java/com/inspur/edp/web/jitruntimebuild/core/formjsonfilegenerator/CommandJsonFileGenerator.java @@ -31,8 +31,8 @@ import com.inspur.edp.web.common.utility.StringUtility; */ class CommandJsonFileGenerator extends AbstractFormJsonFileGenerator implements JsonFileGeneratorInterface { - public CommandJsonFileGenerator(ExecuteEnvironment executeEnvironment, boolean isUpdradeTool) { - super(executeEnvironment, isUpdradeTool); + CommandJsonFileGenerator(ExecuteEnvironment executeEnvironment, boolean isUpgradeTool) { + super(executeEnvironment, isUpgradeTool); } diff --git a/runtime-core/src/main/java/com/inspur/edp/web/jitruntimebuild/core/formjsonfilegenerator/EapiJsonFileGenerator.java b/runtime-core/src/main/java/com/inspur/edp/web/jitruntimebuild/core/formjsonfilegenerator/EapiJsonFileGenerator.java index 4f2602e5..7c583d3d 100644 --- a/runtime-core/src/main/java/com/inspur/edp/web/jitruntimebuild/core/formjsonfilegenerator/EapiJsonFileGenerator.java +++ b/runtime-core/src/main/java/com/inspur/edp/web/jitruntimebuild/core/formjsonfilegenerator/EapiJsonFileGenerator.java @@ -26,9 +26,9 @@ import com.inspur.edp.web.jitruntimebuild.core.constant.FormJsonFileSuffixConsta * @author Noah Guo * @date 2020/04/29 */ -public class EapiJsonFileGenerator extends AbstractFormJsonFileGenerator implements JsonFileGeneratorInterface { - public EapiJsonFileGenerator(ExecuteEnvironment executeEnvironment, boolean isUpdradeTool) { - super(executeEnvironment,isUpdradeTool); +class EapiJsonFileGenerator extends AbstractFormJsonFileGenerator implements JsonFileGeneratorInterface { + EapiJsonFileGenerator(ExecuteEnvironment executeEnvironment, boolean isUpgradeTool) { + super(executeEnvironment, isUpgradeTool); } @Override @@ -38,7 +38,7 @@ public class EapiJsonFileGenerator extends AbstractFormJsonFileGenerator impleme } //eapi 内容需要转换为数组形式 当前传递过来的是单个对象 组装成数组形式 - content="["+content+"]"; + content = "[" + content + "]"; String eapiJsonFileName = this.generateFileName(formName, FormJsonFileSuffixConstant.FrmSuffix + FormJsonFileSuffixConstant.EapiJsonFile); this.writeFile(basePath, eapiJsonFileName, content); diff --git a/runtime-core/src/main/java/com/inspur/edp/web/jitruntimebuild/core/formjsonfilegenerator/FormJsonFileManager.java b/runtime-core/src/main/java/com/inspur/edp/web/jitruntimebuild/core/formjsonfilegenerator/FormJsonFileManager.java index ae3d161f..95902376 100644 --- a/runtime-core/src/main/java/com/inspur/edp/web/jitruntimebuild/core/formjsonfilegenerator/FormJsonFileManager.java +++ b/runtime-core/src/main/java/com/inspur/edp/web/jitruntimebuild/core/formjsonfilegenerator/FormJsonFileManager.java @@ -18,15 +18,15 @@ package com.inspur.edp.web.jitruntimebuild.core.formjsonfilegenerator; import com.inspur.edp.web.common.environment.ExecuteEnvironment; import com.inspur.edp.web.common.logger.WebLogger; +import com.inspur.edp.web.common.metadata.MetadataTypeEnum; import com.inspur.edp.web.common.utility.ListUtility; import com.inspur.edp.web.common.utility.StringUtility; import com.inspur.edp.web.jitruntimebuild.api.entity.JitBuildParameter; -import com.inspur.edp.web.jitruntimebuild.api.entity.JitMetadataTypeEnum; import java.util.concurrent.atomic.AtomicReference; /** - * description: + * description: 表单json文件构造 * * @author Noah Guo * @date 2020/04/29 @@ -43,10 +43,10 @@ public class FormJsonFileManager { if (ListUtility.isNotEmpty(buildParameter.getBuildRefMetadataList())) { buildParameter.getBuildRefMetadataList().forEach(jitBuildRefMetadata -> { if (!StringUtility.isNullOrEmpty(jitBuildRefMetadata.getContent())) { - JitMetadataTypeEnum metadataTypeEnum = jitBuildRefMetadata.getMetadataType(); + MetadataTypeEnum metadataTypeEnum = jitBuildRefMetadata.getMetadataType(); String strBasePath = webDevPath; // 针对命令构件 主表单需要放置于对应的moduleCode目录下 - if (metadataTypeEnum == JitMetadataTypeEnum.Command) { + if (metadataTypeEnum == MetadataTypeEnum.Command) { AtomicReference formModuleCode = FormModuleWithBuildParameterManager.getFormModuleCodeAtomicReference(buildParameter); if (formModuleCode != null && formModuleCode.get() != null) { strBasePath = webDevPath + "/services/" + formModuleCode.get().toLowerCase() + "/services/"; diff --git a/runtime-core/src/main/java/com/inspur/edp/web/jitruntimebuild/core/formjsonfilegenerator/FormModuleWithBuildParameter.java b/runtime-core/src/main/java/com/inspur/edp/web/jitruntimebuild/core/formjsonfilegenerator/FormModuleWithBuildParameter.java deleted file mode 100644 index 163fa508..00000000 --- a/runtime-core/src/main/java/com/inspur/edp/web/jitruntimebuild/core/formjsonfilegenerator/FormModuleWithBuildParameter.java +++ /dev/null @@ -1,54 +0,0 @@ -/* - * Copyright (c) 2020 - present, Inspur Genersoft Co., Ltd. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.inspur.edp.web.jitruntimebuild.core.formjsonfilegenerator; - -import com.inspur.edp.web.common.serialize.SerializeUtility; -import com.inspur.edp.web.formmetadata.metadata.formdom.FormDOM; -import com.inspur.edp.web.jitruntimebuild.api.entity.JitBuildParameter; -import com.inspur.edp.web.jitruntimebuild.api.entity.JitMetadataTypeEnum; - -import java.util.concurrent.atomic.AtomicReference; - -/** - * description: - * - * @author Noah Guo - * @date 2020/07/29 - */ -public class FormModuleWithBuildParameter { - - /** - * 根据编译参数获取对应的表单 moduleCode - * @param buildParameter - * @return - */ - public static AtomicReference getFormModuleCodeAtomicReference(JitBuildParameter buildParameter) { - AtomicReference formModuleCode = new AtomicReference<>(); - buildParameter.getBuildRefMetadataList().forEach((item) -> { - if (item.getMetadataType() == JitMetadataTypeEnum.Frm) { - FormRuntimeMetadataEntity formRuntimeMetadataEntity = SerializeUtility.getInstance().deserialize(item.getContent(), FormRuntimeMetadataEntity.class); - if (formRuntimeMetadataEntity != null) { - FormDOM visualDom = SerializeUtility.getInstance().deserialize(formRuntimeMetadataEntity.getContents().toString(), FormDOM.class); - if (visualDom != null) { - formModuleCode.set(visualDom.getModule().getCode()); - } - } - } - }); - return formModuleCode; - } -} diff --git a/runtime-core/src/main/java/com/inspur/edp/web/jitruntimebuild/core/formjsonfilegenerator/FormModuleWithBuildParameterManager.java b/runtime-core/src/main/java/com/inspur/edp/web/jitruntimebuild/core/formjsonfilegenerator/FormModuleWithBuildParameterManager.java index b8b5004e..551ac39b 100644 --- a/runtime-core/src/main/java/com/inspur/edp/web/jitruntimebuild/core/formjsonfilegenerator/FormModuleWithBuildParameterManager.java +++ b/runtime-core/src/main/java/com/inspur/edp/web/jitruntimebuild/core/formjsonfilegenerator/FormModuleWithBuildParameterManager.java @@ -16,10 +16,10 @@ package com.inspur.edp.web.jitruntimebuild.core.formjsonfilegenerator; +import com.inspur.edp.web.common.metadata.MetadataTypeEnum; import com.inspur.edp.web.common.serialize.SerializeUtility; import com.inspur.edp.web.formmetadata.metadata.formdom.FormDOM; import com.inspur.edp.web.jitruntimebuild.api.entity.JitBuildParameter; -import com.inspur.edp.web.jitruntimebuild.api.entity.JitMetadataTypeEnum; import java.util.concurrent.atomic.AtomicReference; @@ -33,13 +33,14 @@ public class FormModuleWithBuildParameterManager { /** * 根据编译参数获取对应的表单 moduleCode + * * @param buildParameter * @return */ public static AtomicReference getFormModuleCodeAtomicReference(JitBuildParameter buildParameter) { AtomicReference formModuleCode = new AtomicReference<>(); buildParameter.getBuildRefMetadataList().forEach((item) -> { - if (item.getMetadataType() == JitMetadataTypeEnum.Frm) { + if (item.getMetadataType() == MetadataTypeEnum.Frm) { FormRuntimeMetadataEntity formRuntimeMetadataEntity = SerializeUtility.getInstance().deserialize(item.getContent(), FormRuntimeMetadataEntity.class); if (formRuntimeMetadataEntity != null) { FormDOM visualDom = SerializeUtility.getInstance().deserialize(formRuntimeMetadataEntity.getContents().toString(), FormDOM.class); diff --git a/runtime-core/src/main/java/com/inspur/edp/web/jitruntimebuild/core/formjsonfilegenerator/FormRouteJsonFileGenerator.java b/runtime-core/src/main/java/com/inspur/edp/web/jitruntimebuild/core/formjsonfilegenerator/FormRouteJsonFileGenerator.java index 5455230b..b2ca66be 100644 --- a/runtime-core/src/main/java/com/inspur/edp/web/jitruntimebuild/core/formjsonfilegenerator/FormRouteJsonFileGenerator.java +++ b/runtime-core/src/main/java/com/inspur/edp/web/jitruntimebuild/core/formjsonfilegenerator/FormRouteJsonFileGenerator.java @@ -33,9 +33,9 @@ import java.util.concurrent.atomic.AtomicReference; * @author Noah Guo * @date 2020/04/29 */ -public class FormRouteJsonFileGenerator extends AbstractFormJsonFileGenerator implements JsonFileGeneratorInterface { +class FormRouteJsonFileGenerator extends AbstractFormJsonFileGenerator implements JsonFileGeneratorInterface { - public FormRouteJsonFileGenerator(ExecuteEnvironment executeEnvironment, boolean isUpdradeTool) { + FormRouteJsonFileGenerator(ExecuteEnvironment executeEnvironment, boolean isUpdradeTool) { super(executeEnvironment, isUpdradeTool); } diff --git a/runtime-core/src/main/java/com/inspur/edp/web/jitruntimebuild/core/formjsonfilegenerator/FormRuntimeMetadataEntity.java b/runtime-core/src/main/java/com/inspur/edp/web/jitruntimebuild/core/formjsonfilegenerator/FormRuntimeMetadataEntity.java index 471675f4..6e899231 100644 --- a/runtime-core/src/main/java/com/inspur/edp/web/jitruntimebuild/core/formjsonfilegenerator/FormRuntimeMetadataEntity.java +++ b/runtime-core/src/main/java/com/inspur/edp/web/jitruntimebuild/core/formjsonfilegenerator/FormRuntimeMetadataEntity.java @@ -21,8 +21,8 @@ import com.fasterxml.jackson.databind.JsonNode; /** * 运行时表单元数据 */ -public class FormRuntimeMetadataEntity { - private String Id; +class FormRuntimeMetadataEntity { + private String Id; public String getId() { return Id; @@ -56,7 +56,7 @@ public class FormRuntimeMetadataEntity { Contents = contents; } - private String Code; - private String Name; - private JsonNode Contents; + private String Code; + private String Name; + private JsonNode Contents; } diff --git a/runtime-core/src/main/java/com/inspur/edp/web/jitruntimebuild/core/formjsonfilegenerator/FrmJsonFileGenerator.java b/runtime-core/src/main/java/com/inspur/edp/web/jitruntimebuild/core/formjsonfilegenerator/FrmJsonFileGenerator.java index effad153..b65a37fe 100644 --- a/runtime-core/src/main/java/com/inspur/edp/web/jitruntimebuild/core/formjsonfilegenerator/FrmJsonFileGenerator.java +++ b/runtime-core/src/main/java/com/inspur/edp/web/jitruntimebuild/core/formjsonfilegenerator/FrmJsonFileGenerator.java @@ -104,7 +104,7 @@ public class FrmJsonFileGenerator extends AbstractFormJsonFileGenerator implemen WebLogger.Instance.info("generate command json file", FrmJsonFileGenerator.class.getName()); // 反序列化表单元数据 FormDOM json = SerializeUtility.getInstance().deserialize(content, FormDOM.class); - CommandsAnalysis commandsAnalysis = new CommandsAnalysis(this.getExecuteEnvironment(), this.isUpdradeTool()); + CommandsAnalysis commandsAnalysis = new CommandsAnalysis(this.getExecuteEnvironment(), this.isUpgradeTool()); HashMap projectCmpList = new HashMap<>(); try { fileName = fileName + ".frm"; @@ -133,7 +133,7 @@ public class FrmJsonFileGenerator extends AbstractFormJsonFileGenerator implemen getterMetadataInfo.setId(MetadataReference.getDependentMetadata().getId()); getterMetadataInfo.setMetadataType(MetadataTypeEnum.Resource); return getterMetadataInfo; - }, null, this.getExecuteEnvironment(), this.isUpdradeTool()); + }, null, this.getExecuteEnvironment(), this.isUpgradeTool()); ResourceMetadata resourceMetadata = (refMetadata == null || refMetadata.getContent() == null) ? null : ((ResourceMetadata) refMetadata.getContent()); I18nResource item = ConvertToI18nResource(resourceMetadata, resourceMetadata.getOriginalLanguage()); resourceList.add(item); @@ -215,7 +215,7 @@ public class FrmJsonFileGenerator extends AbstractFormJsonFileGenerator implemen if (json != null && json.getModule() != null && json.getModule().getExternalComponents() != null && json.getModule().getExternalComponents().size() > 0) { for (HashMap item : json.getModule().getExternalComponents()) { - FormAnalysis formAnalysis = new FormAnalysis(this.getExecuteEnvironment(), this.isUpdradeTool()); + FormAnalysis formAnalysis = new FormAnalysis(this.getExecuteEnvironment(), this.isUpgradeTool()); AnalysisExternalComponentResult externalVisualDom; try { @@ -255,7 +255,7 @@ public class FrmJsonFileGenerator extends AbstractFormJsonFileGenerator implemen getterMetadataInfo.setCode(json.getModule().getCode()); getterMetadataInfo.setName(json.getModule().getName()); return getterMetadataInfo; - }, this.getExecuteEnvironment(), this.isUpdradeTool()); + }, this.getExecuteEnvironment(), this.isUpgradeTool()); String[] params = {externalVisualDom.getExternalComponentPath(), externalVisualDom.getJson().getModule().getCode()}; @@ -293,20 +293,20 @@ public class FrmJsonFileGenerator extends AbstractFormJsonFileGenerator implemen String formMetadataName = formMetadata.getHeader().getFileName(); // 临时注释,方便调试 // Step 2: Resolve StateMachine, and Save StateMachine - StateMachineAnalysis stateMachineAnalysis = new StateMachineAnalysis(this.getExecuteEnvironment(), this.isUpdradeTool()); + StateMachineAnalysis stateMachineAnalysis = new StateMachineAnalysis(this.getExecuteEnvironment(), this.isUpgradeTool()); stateMachineAnalysis.resolveStateMachine(formDom, formMetadataName, targetStorageBasePath, relativePath); // // // Step 3: Resolve Command - CommandsAnalysis commandsAnalysis = new CommandsAnalysis(this.getExecuteEnvironment(), this.isUpdradeTool()); + CommandsAnalysis commandsAnalysis = new CommandsAnalysis(this.getExecuteEnvironment(), this.isUpgradeTool()); commandsAnalysis.resolveCommand(CommandsAnalysis.ResolveCommandParameter.init(formMetadata, formDom), formMetadataName, targetStorageBasePath, projectCmpList); // // // Step 4: Resolve eapi - EapiAnalysis eapiAnalysis = new EapiAnalysis(this.getExecuteEnvironment(), this.isUpdradeTool()); + EapiAnalysis eapiAnalysis = new EapiAnalysis(this.getExecuteEnvironment(), this.isUpgradeTool()); eapiAnalysis.resolveEapi(formDom, formMetadataName, targetStorageBasePath, formMetadata.getHeader().getNameSpace(), relativePath); // // // Step 5: Resolve command service - CommandServiceAnalysis.resolveCommandService(formDom, relativePath, formServiceBasePath, webDevPath, this.getExecuteEnvironment(), this.isUpdradeTool()); + CommandServiceAnalysis.resolveCommandService(formDom, relativePath, formServiceBasePath, webDevPath, this.getExecuteEnvironment(), this.isUpgradeTool()); // 构造对应的国际化资源项 //GenerateResourceManager.generateI18nResource(formMetadata, i18nResourceList, i18nResourceKeyPrefix,"en"); diff --git a/runtime-core/src/main/java/com/inspur/edp/web/jitruntimebuild/core/formjsonfilegenerator/JsonFileGeneratorFactory.java b/runtime-core/src/main/java/com/inspur/edp/web/jitruntimebuild/core/formjsonfilegenerator/JsonFileGeneratorFactory.java index 5ab428ba..4aa36569 100644 --- a/runtime-core/src/main/java/com/inspur/edp/web/jitruntimebuild/core/formjsonfilegenerator/JsonFileGeneratorFactory.java +++ b/runtime-core/src/main/java/com/inspur/edp/web/jitruntimebuild/core/formjsonfilegenerator/JsonFileGeneratorFactory.java @@ -19,7 +19,7 @@ package com.inspur.edp.web.jitruntimebuild.core.formjsonfilegenerator; import com.inspur.edp.web.common.environment.ExecuteEnvironment; import com.inspur.edp.web.common.logger.WebLogger; -import com.inspur.edp.web.jitruntimebuild.api.entity.JitMetadataTypeEnum; +import com.inspur.edp.web.common.metadata.MetadataTypeEnum; /** * description: @@ -28,7 +28,7 @@ import com.inspur.edp.web.jitruntimebuild.api.entity.JitMetadataTypeEnum; * @date 2020/04/29 */ public class JsonFileGeneratorFactory { - public static JsonFileGeneratorInterface create(JitMetadataTypeEnum metadataType, ExecuteEnvironment executeEnvironment, boolean isUpdradeTool) { + public static JsonFileGeneratorInterface create(MetadataTypeEnum metadataType, ExecuteEnvironment executeEnvironment, boolean isUpdradeTool) { JsonFileGeneratorInterface jsonFileGenerator = null; switch (metadataType) { case Frm: diff --git a/runtime-core/src/main/java/com/inspur/edp/web/jitruntimebuild/core/formjsonfilegenerator/JsonFileGeneratorInterface.java b/runtime-core/src/main/java/com/inspur/edp/web/jitruntimebuild/core/formjsonfilegenerator/JsonFileGeneratorInterface.java index 78e0a85f..40ffd971 100644 --- a/runtime-core/src/main/java/com/inspur/edp/web/jitruntimebuild/core/formjsonfilegenerator/JsonFileGeneratorInterface.java +++ b/runtime-core/src/main/java/com/inspur/edp/web/jitruntimebuild/core/formjsonfilegenerator/JsonFileGeneratorInterface.java @@ -16,6 +16,10 @@ package com.inspur.edp.web.jitruntimebuild.core.formjsonfilegenerator; +/** + * 表单json文件构造 接口 + * @author noah + */ public interface JsonFileGeneratorInterface { /** * json文件生成接口方法 diff --git a/runtime-core/src/main/java/com/inspur/edp/web/jitruntimebuild/core/formjsonfilegenerator/ResourceJsonFileGenerator.java b/runtime-core/src/main/java/com/inspur/edp/web/jitruntimebuild/core/formjsonfilegenerator/ResourceJsonFileGenerator.java index e470bd56..0415bd6e 100644 --- a/runtime-core/src/main/java/com/inspur/edp/web/jitruntimebuild/core/formjsonfilegenerator/ResourceJsonFileGenerator.java +++ b/runtime-core/src/main/java/com/inspur/edp/web/jitruntimebuild/core/formjsonfilegenerator/ResourceJsonFileGenerator.java @@ -25,10 +25,10 @@ import com.inspur.edp.web.jitruntimebuild.core.constant.FormJsonFileSuffixConsta * @author Noah Guo * @date 2020/04/29 */ -public class ResourceJsonFileGenerator extends AbstractFormJsonFileGenerator implements JsonFileGeneratorInterface { +class ResourceJsonFileGenerator extends AbstractFormJsonFileGenerator implements JsonFileGeneratorInterface { - public ResourceJsonFileGenerator(ExecuteEnvironment executeEnvironment, boolean isUpdradeTool) { - super(executeEnvironment,isUpdradeTool); + ResourceJsonFileGenerator(ExecuteEnvironment executeEnvironment, boolean isUpdradeTool) { + super(executeEnvironment, isUpdradeTool); } @Override diff --git a/runtime-core/src/main/java/com/inspur/edp/web/jitruntimebuild/core/formjsonfilegenerator/StateMachineJsonFileGenerator.java b/runtime-core/src/main/java/com/inspur/edp/web/jitruntimebuild/core/formjsonfilegenerator/StateMachineJsonFileGenerator.java index b459f477..300e2c61 100644 --- a/runtime-core/src/main/java/com/inspur/edp/web/jitruntimebuild/core/formjsonfilegenerator/StateMachineJsonFileGenerator.java +++ b/runtime-core/src/main/java/com/inspur/edp/web/jitruntimebuild/core/formjsonfilegenerator/StateMachineJsonFileGenerator.java @@ -20,15 +20,15 @@ import com.inspur.edp.web.common.environment.ExecuteEnvironment; import com.inspur.edp.web.jitruntimebuild.core.constant.FormJsonFileSuffixConstant; /** - * description: + * description:状态机json文件构造 * * @author Noah Guo * @date 2020/04/29 */ -public class StateMachineJsonFileGenerator extends AbstractFormJsonFileGenerator implements JsonFileGeneratorInterface { +class StateMachineJsonFileGenerator extends AbstractFormJsonFileGenerator implements JsonFileGeneratorInterface { - public StateMachineJsonFileGenerator(ExecuteEnvironment executeEnvironment, boolean isUpdradeTool) { - super(executeEnvironment,isUpdradeTool); + StateMachineJsonFileGenerator(ExecuteEnvironment executeEnvironment, boolean isUpdradeTool) { + super(executeEnvironment, isUpdradeTool); } diff --git a/runtime-core/src/main/java/com/inspur/edp/web/jitruntimebuild/core/sourcecodemetadata/SourceCodeMetadataManager.java b/runtime-core/src/main/java/com/inspur/edp/web/jitruntimebuild/core/sourcecodemetadata/SourceCodeMetadataManager.java index 243d6c45..b6e09478 100644 --- a/runtime-core/src/main/java/com/inspur/edp/web/jitruntimebuild/core/sourcecodemetadata/SourceCodeMetadataManager.java +++ b/runtime-core/src/main/java/com/inspur/edp/web/jitruntimebuild/core/sourcecodemetadata/SourceCodeMetadataManager.java @@ -18,13 +18,13 @@ package com.inspur.edp.web.jitruntimebuild.core.sourcecodemetadata; import com.inspur.edp.web.common.io.FileUtility; import com.inspur.edp.web.common.logger.WebLogger; +import com.inspur.edp.web.common.metadata.MetadataTypeEnum; import com.inspur.edp.web.common.utility.Base64Utility; import com.inspur.edp.web.common.utility.StringUtility; import com.inspur.edp.web.jitengine.sourcecode.SourceCodeInFormManager; import com.inspur.edp.web.jitengine.sourcecode.SourceCodeInFormRef; import com.inspur.edp.web.jitruntimebuild.api.entity.JitBuildParameter; import com.inspur.edp.web.jitruntimebuild.api.entity.JitBuildRefMetadata; -import com.inspur.edp.web.jitruntimebuild.api.entity.JitMetadataTypeEnum; import com.inspur.edp.web.sourcecode.metadata.entity.SourceCodeItemEntity; import com.inspur.edp.web.sourcecode.metadata.entity.SourceCodeMetadataEntity; @@ -117,8 +117,8 @@ public class SourceCodeMetadataManager { List refMetadataList = buildParameter.getBuildRefMetadataList(); if (refMetadataList != null && refMetadataList.size() > 0) { refMetadataList.forEach((metadata) -> { - JitMetadataTypeEnum metadataTypeEnum = metadata.getMetadataType(); - if (metadataTypeEnum == JitMetadataTypeEnum.Frm) { + MetadataTypeEnum metadataTypeEnum = metadata.getMetadataType(); + if (metadataTypeEnum == MetadataTypeEnum.Frm) { String strFormMetadataContent = metadata.getContent(); SourceCodeInFormManager.getSourceCodeWithFormMetadataContent(formRefList, strFormMetadataContent); } diff --git a/web-common/src/test/java/com/inspur/edp/web/common/CopyJarFile.java b/web-common/src/test/java/com/inspur/edp/web/common/CopyJarFile.java new file mode 100644 index 00000000..a46b4fc6 --- /dev/null +++ b/web-common/src/test/java/com/inspur/edp/web/common/CopyJarFile.java @@ -0,0 +1,151 @@ +/* + * Copyright (c) 2020 - present, Inspur Genersoft Co., Ltd. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.inspur.edp.web.common; + +import com.inspur.edp.web.common.io.FileUtility; +import com.inspur.edp.web.common.logger.WebLogger; +import com.inspur.edp.web.common.utility.StringUtility; +import lombok.Data; +import org.apache.commons.io.IOUtils; +import org.apache.maven.model.Model; +import org.apache.maven.model.io.xpp3.MavenXpp3Reader; +import org.codehaus.plexus.util.xml.pull.XmlPullParserException; +import org.junit.jupiter.api.Test; + +import java.io.File; +import java.io.FileNotFoundException; +import java.io.FileReader; +import java.io.IOException; +import java.nio.file.Paths; +import java.util.HashMap; +import java.util.Map; + +/** + * 用于进行mac 的拷贝 + * + * @author noah + * 2023/7/17 10:23 + */ +public class CopyJarFile { + @Test + public void copy() throws XmlPullParserException, IOException { + // 获取当前运行目录 + String currentWorkPath = System.getProperty("user.dir"); + System.out.println(currentWorkPath); + // 获取对应的工程路径 + String projectPath = new File(currentWorkPath).getParent(); + System.out.println(projectPath); + + // 挨个读取其生成的jar包,拷贝至目标目录 + String version = "0.1.9-SNAPSHOT"; + + String baseTargetJarPath = FileUtility.combine(projectPath, "out"); + + FileUtility.deleteFolder(baseTargetJarPath); + + Model pomModel = getPom(projectPath); + + Map moduleMap = this.getModulePath(); + pomModel.getModules().forEach(moduleItem -> { + String moduleId = moduleMap.get(moduleItem).moduleId; + if (StringUtility.isNullOrEmpty(moduleId)) { + WebLogger.Instance.error("无法找到对应的moduleId" + moduleItem); + } else { + String modulePath = FileUtility.combine(projectPath, moduleItem); + String moduleJarFilePath = FileUtility.combine(modulePath, "target", moduleId + "-" + version + ".jar"); + if (!new File(moduleJarFilePath).exists()) { + WebLogger.Instance.error("目标文件不存在," + moduleJarFilePath); + } else { + String targetJarPath = FileUtility.combine(baseTargetJarPath, moduleMap.get(moduleItem).getRelativePath()); + String targetJarFilePath = FileUtility.combine(targetJarPath, moduleId + ".jar"); + FileUtility.copyFile(moduleJarFilePath, targetJarFilePath, true); + } + } + + }); + + + } + + private Map getModulePath() { + Map moduleMap = new HashMap<>(); + moduleMap.put("web-common", ModulePath.init("web-jitengine-common")); + moduleMap.put("web-form-metadata-api", ModulePath.init("web-jitengine-formmetadata-api")); + moduleMap.put("web-form-metadata", ModulePath.init("web-jitengine-formmetadata")); + moduleMap.put("web-sourcecode-metadata", ModulePath.init("web-sourcecode-metadata")); + moduleMap.put("web-pageflow-metadata", ModulePath.init("web-pageflow-metadata")); + moduleMap.put("web-appconfig-api", ModulePath.init("web-appconfig-api")); + moduleMap.put("web-appconfig-core", ModulePath.init("web-appconfig-core")); + moduleMap.put("web-frontendproject", ModulePath.init("web-jitengine-frontendproject")); + moduleMap.put("web-frontendproject-api", ModulePath.init("web-jitengine-frontendproject-api")); + moduleMap.put("web-form-jitengine", ModulePath.init("web-jitengine")); + moduleMap.put("web-designschema", ModulePath.init("web-designschema")); + moduleMap.put("web-designschema-api", ModulePath.init("web-designschema-api")); + moduleMap.put("web-statemachine", ModulePath.init("web-statemachine-metadata")); + moduleMap.put("web-tsfile-api", ModulePath.init("web-tsfile-api")); + moduleMap.put("web-tsfile-core", ModulePath.init("web-tsfile-core")); + moduleMap.put("web-ide-api", ModulePath.init("web-ide-api")); + moduleMap.put("web-ide-webapi", ModulePath.init("ide-config-webapi","server/platform/dev/main/libs")); + moduleMap.put("runtime-api", ModulePath.init("web-jitengine-runtimebuild-api")); + moduleMap.put("runtime-core", ModulePath.init("web-jitengine-runtimebuild-core")); + moduleMap.put("runtime-scriptcache", ModulePath.init("web-jitengine-runtimebuild-scriptcache")); + moduleMap.put("runtime-scriptcache-api", ModulePath.init("web-jitengine-runtimebuild-scriptcache-api")); + moduleMap.put("jitengine-web-api", ModulePath.init("web-jitengine-web-api")); + moduleMap.put("jitengine-web-core", ModulePath.init("web-jitengine-web-core")); + moduleMap.put("web-npmpackage-core", ModulePath.init("web-npmpackage-core")); + moduleMap.put("web-npmpackage-api", ModulePath.init("web-npmpackage-api")); + moduleMap.put("web-npmpackage-patch", ModulePath.init("web-npmpackage-patch")); + moduleMap.put("web-dynamic-form-api", ModulePath.init("web-dynamicform-api")); + moduleMap.put("web-dynamic-form-core", ModulePath.init("web-dynamicform-core")); + moduleMap.put("web-formconfig-api", ModulePath.init("web-formconfig-api")); + moduleMap.put("web-formconfig-core", ModulePath.init("web-formconfig-core")); + return moduleMap; + } + + @Data + private static class ModulePath { + private String moduleId; + private String relativePath = "server/platform/common/libs"; + + public static ModulePath init(String moduleId) { + ModulePath modulePath = new ModulePath(); + modulePath.moduleId = moduleId; + return modulePath; + } + + public static ModulePath init(String moduleId, String relativePath) { + ModulePath modulePath = new ModulePath(); + modulePath.moduleId = moduleId; + modulePath.relativePath = relativePath; + return modulePath; + } + } + + private Model getPom(String basePath) throws IOException, XmlPullParserException { + File file = new File(basePath, "pom.xml"); + FileReader reader = null; + + try { + reader = new FileReader(file); + return new MavenXpp3Reader().read(reader); + } finally { + IOUtils.closeQuietly(reader); + } + + } + +} diff --git a/web-form-jitengine/pom.xml b/web-form-jitengine/pom.xml index 5a76ea73..0f754b7d 100644 --- a/web-form-jitengine/pom.xml +++ b/web-form-jitengine/pom.xml @@ -1,4 +1,3 @@ -