diff --git a/pom.xml b/pom.xml index 207e6d6c74902c91e36ac61629f0cbaa7f6db291..6946a2da8a989f954682361c354b3595fffb5874 100644 --- a/pom.xml +++ b/pom.xml @@ -60,6 +60,7 @@ 0.1.0 0.1.7 0.3.4 + 0.1.2 0.1.0 @@ -127,13 +128,18 @@ com.inspur.edp metadata-rtcustomization-api - ${metadata.rtcustomization.version} + 0.1.36 com.inspur.edp metadata-deploy-api ${metadata.deploy.version} + + com.inspur.edp + metadata-service-dev-api + 0.1.1 + io.iec.edp caf-caching @@ -149,6 +155,11 @@ common-entity-variable-generator ${common-variable-generator.version} + + com.inspur.edp + business-entity-model + ${bef-entity-model.version} + com.inspur.edp lcm-logging-service @@ -199,6 +210,11 @@ metadata-service-dev-spi ${metadata-service-dev-spi.version} + + com.inspur.edp + metadata-service-dev-api + 0.1.1 + diff --git a/view-object-manager/pom.xml b/view-object-manager/pom.xml index 2587a1f40f7ca5e791cffdf74e31eadc3f62bd60..d343b24d595fb98acbaeca8e5998f9777f3c98dc 100644 --- a/view-object-manager/pom.xml +++ b/view-object-manager/pom.xml @@ -31,6 +31,10 @@ 0.1.2 + + com.inspur.edp + metadata-service-dev-api + com.inspur.edp view-object-model @@ -50,7 +54,7 @@ com.inspur.edp - das-commonmodel + common-model com.inspur.edp diff --git a/view-object-manager/src/main/java/com/inspur/edp/formserver/vmmanager/createvmmetadata/GspMetadataExchangeUtil.java b/view-object-manager/src/main/java/com/inspur/edp/formserver/vmmanager/createvmmetadata/GspMetadataExchangeUtil.java index f3d767461287a3b904e93a127a3f50f0f7381754..0ad75705d9b8c30bd6d4c0cfa1265875309ee48c 100644 --- a/view-object-manager/src/main/java/com/inspur/edp/formserver/vmmanager/createvmmetadata/GspMetadataExchangeUtil.java +++ b/view-object-manager/src/main/java/com/inspur/edp/formserver/vmmanager/createvmmetadata/GspMetadataExchangeUtil.java @@ -1,11 +1,25 @@ -package com.inspur.edp.formserver.vmmanager.createvmmetadata; +/* + * 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.formserver.vmmanager.createvmmetadata; import com.inspur.edp.bef.component.base.GspComponent; import com.inspur.edp.formserver.viewmodel.util.ViewModelUtils; import com.inspur.edp.lcm.metadata.api.entity.GspMetadata; import com.inspur.edp.lcm.metadata.api.entity.MetadataHeader; -import com.inspur.edp.lcm.metadata.api.entity.MetadataReference; import com.inspur.edp.lcm.metadata.api.service.MetadataService; import io.iec.edp.caf.commons.utils.SpringBeanUtils; @@ -15,9 +29,9 @@ import java.util.ArrayList; * 与元数据交互的工具 */ public class GspMetadataExchangeUtil { - private final String VM_TYPE = "VMComponent"; - private final String VM_FILESUFFIX = ".vmCmp"; - private final String VOACTIONCONTROLLER = "VOActionController"; + private final static String VM_TYPE = "VMComponent"; + private final static String VM_FILESUFFIX = ".vmCmp"; + private final static String VOACTIONCONTROLLER = "VOActionController"; public static GspMetadataExchangeUtil getInstance() { return new GspMetadataExchangeUtil(); @@ -165,9 +179,9 @@ public class GspMetadataExchangeUtil { private GspMetadata createMetadataEntity() { GspMetadata tempVar = new GspMetadata(); tempVar.setHeader(new MetadataHeader()); - tempVar.setRefs(new ArrayList()); - GspMetadata metadata = tempVar; - return metadata; + tempVar.setRefs(new ArrayList<>()); + tempVar.setRelativePath(this.getMetadataPath()); + return tempVar; } /** @@ -218,7 +232,6 @@ public class GspMetadataExchangeUtil { * 生成构件元数据 * * @param metadata 元数据 - * @param * @return 生成的构件元数据名称 * */ diff --git a/view-object-manager/src/main/java/com/inspur/edp/formserver/vmmanager/createvmmetadata/MappedCdpActionComponentGenerator.java b/view-object-manager/src/main/java/com/inspur/edp/formserver/vmmanager/createvmmetadata/MappedCdpActionComponentGenerator.java index c143f2eca74819ae2f0f3634941026f5b2437d2d..1984177a5f6158ebf25a712472bcfb192d66041e 100644 --- a/view-object-manager/src/main/java/com/inspur/edp/formserver/vmmanager/createvmmetadata/MappedCdpActionComponentGenerator.java +++ b/view-object-manager/src/main/java/com/inspur/edp/formserver/vmmanager/createvmmetadata/MappedCdpActionComponentGenerator.java @@ -11,6 +11,7 @@ import com.inspur.edp.bef.component.detailcmpentity.vm.VMMethodParameter; import com.inspur.edp.bef.component.enums.ParameterCollectionType; import com.inspur.edp.bef.component.enums.ParameterMode; import com.inspur.edp.bef.component.enums.ParameterType; +import com.inspur.edp.caf.db.dbaccess.DataValidator; import com.inspur.edp.formserver.viewmodel.action.IViewModelParameter; import com.inspur.edp.formserver.viewmodel.action.MappedCdpAction; import com.inspur.edp.formserver.viewmodel.action.viewmodelbase.ViewModelParameter; @@ -20,12 +21,17 @@ import com.inspur.edp.formserver.viewmodel.util.ViewModelUtils; import com.inspur.edp.formserver.vmmanager.exception.VoManagerErrorCodes; import com.inspur.edp.formserver.vmmanager.generatacmpcode.JavaCompCodeNames; import com.inspur.edp.lcm.metadata.api.entity.GspMetadata; +import com.inspur.edp.lcm.metadata.api.entity.GspProject; +import com.inspur.edp.lcm.metadata.api.service.GspProjectService; import com.inspur.edp.lcm.metadata.api.service.MetadataService; import io.iec.edp.caf.commons.utils.SpringBeanUtils; import org.apache.commons.lang3.StringUtils; import java.util.Iterator; + +import java.io.IOException; + public class MappedCdpActionComponentGenerator { /** * 业务实体编号 @@ -45,6 +51,10 @@ public class MappedCdpActionComponentGenerator { * 原始构件 */ protected VMComponent originalComponent; + /** + * 包前缀 + */ + private String packagePrefix; public static MappedCdpActionComponentGenerator getInstance() { return new MappedCdpActionComponentGenerator(); @@ -67,6 +77,9 @@ public class MappedCdpActionComponentGenerator { this.assemblyName = assemblyName; namespace = defaltnamespace; this.bizObjectID = bizObjectID; + //获取包路径前缀,common-model发版之后调用MetadataProjectUtil.getPackagePrefix(path);即可 + this.packagePrefix = getPackagePrefix(path); + if (ViewModelUtils.checkNull(mappedCdpAction.getComponentEntityId())) { createComponent(mappedCdpAction, path); return mappedCdpAction.getCode(); @@ -76,6 +89,26 @@ public class MappedCdpActionComponentGenerator { return null; } + /** + * 根据工程路径,获取包路径前缀,默认为com + * @param relativePath + * @return + */ + private String getPackagePrefix(String relativePath) { + DataValidator.checkForEmptyString(relativePath,"relativePath"); + + GspProjectService gspProjectService = SpringBeanUtils.getBean(GspProjectService.class); + try { + GspProject gspProject = gspProjectService.getGspProjectInfo(relativePath); + if (gspProject == null) { + throw new NullPointerException("GspProject is null"); + } + return gspProject.getPackagePrefix(); + } catch (IOException e) { + throw new RuntimeException(e); + } + } + /** * 生成视图对象上的视图操作构件元数据, * @param mappedCdpAction @@ -91,6 +124,8 @@ public class MappedCdpActionComponentGenerator { this.assemblyName = assemblyName; namespace = defaltnamespace; this.bizObjectID = bizObjectID; + //获取包路径前缀,common-model发版之后调用MetadataProjectUtil.getPackagePrefix(path);即可 + this.packagePrefix = getPackagePrefix(path); if (ViewModelUtils.checkNull(mappedCdpAction.getComponentEntityId())) { createComponent(mappedCdpAction, path); return mappedCdpAction.getCode(); @@ -138,7 +173,10 @@ public class MappedCdpActionComponentGenerator { component.getVmMethod().setDotnetAssembly(this.assemblyName); String suffix = String.format("%1$s%2$s%3$s%4$s", '.', this.vmActionCode, '.', JavaCompCodeNames.VOActionNameSpaceSuffix); - String packageName = javaModuleImportPackage(namespace); + //添加前缀 + String packageName = javaModuleImportPackage(this.packagePrefix, namespace); + //assembly对应JavaPackageName + component.getMethod().setAssembly(packageName); packageName = String.format("%1$s%2$s", packageName, suffix.toLowerCase()); if (this.originalComponent != null) { @@ -163,9 +201,10 @@ public class MappedCdpActionComponentGenerator { return (connections); } - protected final String javaModuleImportPackage(String packageName) { + protected final String javaModuleImportPackage(String packagePrefix, String packageName) { String[] strArray = packageName.split("[.]", -1); - String str = "com."; + //namespace前面添加包前缀 + String str = packagePrefix + "."; int i; for (i = 0; i < strArray.length - 1; i++) { @@ -227,7 +266,7 @@ public class MappedCdpActionComponentGenerator { } /** - * 修改构件,参数个数、类型、返回值发生变化,返回true + * 修改构件 * * @param action * @param path @@ -306,6 +345,7 @@ public class MappedCdpActionComponentGenerator { return true; } } + private VMComponent getoriginalComponent(String path, String metadataFileNameWithSuffix) { MetadataService metadataService = SpringBeanUtils.getBean(MetadataService.class); GspMetadata metadata = metadataService.loadMetadata(metadataFileNameWithSuffix, path); diff --git a/view-object-manager/src/main/java/com/inspur/edp/formserver/vmmanager/extendinfo/repository/GspVoExtendInfoRepository.java b/view-object-manager/src/main/java/com/inspur/edp/formserver/vmmanager/extendinfo/repository/GspVoExtendInfoRepository.java index 9f61be64eec7091b09c06aa43c0cff073bada352..0866f6b76daea060aa576e7436302ab6a695773d 100644 --- a/view-object-manager/src/main/java/com/inspur/edp/formserver/vmmanager/extendinfo/repository/GspVoExtendInfoRepository.java +++ b/view-object-manager/src/main/java/com/inspur/edp/formserver/vmmanager/extendinfo/repository/GspVoExtendInfoRepository.java @@ -1,3 +1,19 @@ +/* + * 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.formserver.vmmanager.extendinfo.repository; import com.inspur.edp.formserver.viewmodel.extendinfo.entity.GspVoExtendInfoEntity; @@ -10,8 +26,8 @@ public interface GspVoExtendInfoRepository extends DataRepository usingList; - private java.util.LinkedHashMap parameters; - private java.util.ArrayList allGenericParamType; + private ArrayList usingList; + private LinkedHashMap parameters; + private ArrayList allGenericParamType; protected String ReturnTypeName = "VoidActionResult"; protected String errorCode = "VmBaseActionGenerator"; @@ -49,8 +52,8 @@ public abstract class JavaBaseActionGenerator extends JavaBaseCompCodeGenerator if (this.vmAction == null) { throw new ViewModelException(VoManagerErrorCodes.GSP_VIEWOBJECT_MANAGER_0019, null); } - this.usingList = new java.util.ArrayList(); - this.allGenericParamType = new java.util.ArrayList(); + this.usingList = new ArrayList<>(); + this.allGenericParamType = new ArrayList<>(); ///#region ReturnValue @@ -66,7 +69,7 @@ public abstract class JavaBaseActionGenerator extends JavaBaseCompCodeGenerator if (this.vmAction.getParameterCollection() == null || this.vmAction.getParameterCollection().getCount() < 1) { return; } - parameters = new java.util.LinkedHashMap(); + parameters = new LinkedHashMap<>(); for (Object actionParameter : this.vmAction.getParameterCollection()) { getParameterUsing((IViewModelParameter) actionParameter); @@ -283,8 +286,6 @@ public abstract class JavaBaseActionGenerator extends JavaBaseCompCodeGenerator result.append(parameterValue.getParamType()).append(" ").append(parameterKey); if (i < parameters.size() - 1) { result.append(","); - } else { - result.append(""); } } } @@ -373,7 +374,7 @@ public abstract class JavaBaseActionGenerator extends JavaBaseCompCodeGenerator if (Boolean.class == type) { return "Boolean"; } - if (java.util.Date.class == type) { + if (Date.class == type) { return "Date"; } if (java.math.BigDecimal.class == type) { @@ -395,29 +396,6 @@ public abstract class JavaBaseActionGenerator extends JavaBaseCompCodeGenerator //TODO 后续确认 private String getGenericExpress(Class type) { -// if (!type.IsGenericType) -// { -// return getClassName(type); -// } -// else -// { -// Class[] array = type.GenericTypeArguments; -// int count = array.length; -// String info = "{0}"; -// for (int i = 1; i < count; i++) -// { -// info = info + "," + "{" + i + "}"; -// } -// info = getClassName(type) + "<" + info + ">"; -// String[] arrayStr = new String[count]; -// for (int i = 0; i < count; i++) -// { -// arrayStr[i] = getGenericExpress(array[i]); -// } -// info = String.format(info, arrayStr); -// -// return info; -// } return ""; } diff --git a/view-object-manager/src/main/java/com/inspur/edp/formserver/vmmanager/generatacmpcode/JavaBaseCompCodeGenerator.java b/view-object-manager/src/main/java/com/inspur/edp/formserver/vmmanager/generatacmpcode/JavaBaseCompCodeGenerator.java index ac0c77b4d9ce3274117f409dd43a6eb9fcb2d05d..536903cc99c5f1810130921e0d9aa4913cb63e29 100644 --- a/view-object-manager/src/main/java/com/inspur/edp/formserver/vmmanager/generatacmpcode/JavaBaseCompCodeGenerator.java +++ b/view-object-manager/src/main/java/com/inspur/edp/formserver/vmmanager/generatacmpcode/JavaBaseCompCodeGenerator.java @@ -105,18 +105,6 @@ public abstract class JavaBaseCompCodeGenerator implements JavaIBaseCompCodeGen this.isInterpretation = SpringBeanUtils.getBean(MetadataProjectService.class).isInterpretation(path); } - private String convertJavaImportPackage(String readPropertyValue_string) { - String[] strArray = readPropertyValue_string.split("[.]", -1); - String str = "com."; - int i; - - for (i = 0; i < strArray.length - 1; i++) { - str += strArray[i].toLowerCase() + "."; - } - str += strArray[i].toLowerCase(); - return str; - } - protected abstract String getNameSpaceSuffix(); public String getCompName() { diff --git a/view-object-manager/src/main/java/com/inspur/edp/formserver/vmmanager/generatacmpcode/JavaCodeFileGenerator.java b/view-object-manager/src/main/java/com/inspur/edp/formserver/vmmanager/generatacmpcode/JavaCodeFileGenerator.java index d6f5fd397cf98c601ff236f7e6d976d01b466900..2d033e51f9851f9ff9700cd71e78ee60c1dc97a6 100644 --- a/view-object-manager/src/main/java/com/inspur/edp/formserver/vmmanager/generatacmpcode/JavaCodeFileGenerator.java +++ b/view-object-manager/src/main/java/com/inspur/edp/formserver/vmmanager/generatacmpcode/JavaCodeFileGenerator.java @@ -22,7 +22,11 @@ import com.inspur.edp.cef.designtime.api.operation.CommonDetermination; import com.inspur.edp.cef.variable.dtgenerator.vardtmGenerate.javageneratecmpcode.JavaCommonDeterminationGenerator; import com.inspur.edp.cef.variable.dtgenerator.vardtmGenerate.javageneratecmpcode.JavaIBaseCompCodeGen; import com.inspur.edp.formserver.viewmodel.GspViewModel; -import com.inspur.edp.formserver.viewmodel.action.*; +import com.inspur.edp.formserver.viewmodel.action.ActionParamInfo; +import com.inspur.edp.formserver.viewmodel.action.MappedCdpAction; +import com.inspur.edp.formserver.viewmodel.action.ViewModelAction; +import com.inspur.edp.formserver.viewmodel.action.ViewModelActionInfo; +import com.inspur.edp.formserver.viewmodel.action.ViewModelActionType; import com.inspur.edp.formserver.viewmodel.common.InternalExtendActionUtil; import com.inspur.edp.formserver.viewmodel.common.ValueHelpConfig; import com.inspur.edp.formserver.viewmodel.common.ViewModelActionUtil; @@ -31,7 +35,30 @@ import com.inspur.edp.formserver.viewmodel.exception.ViewModelException; import com.inspur.edp.formserver.viewmodel.util.ViewModelUtils; import com.inspur.edp.formserver.vmmanager.createvmmetadata.ComponentGenUtil; import com.inspur.edp.formserver.vmmanager.exception.VoManagerErrorCodes; -import com.inspur.edp.formserver.vmmanager.generatacmpcode.voextendedaction.*; +import com.inspur.edp.formserver.vmmanager.generatacmpcode.voextendedaction.JavaAbstractDeleteActionGenerator; +import com.inspur.edp.formserver.vmmanager.generatacmpcode.voextendedaction.JavaAbstractModifyActionGenerator; +import com.inspur.edp.formserver.vmmanager.generatacmpcode.voextendedaction.JavaAbstractMultiDeleteActionGenerator; +import com.inspur.edp.formserver.vmmanager.generatacmpcode.voextendedaction.JavaAbstractRetrieveDefaultActionGenerator; +import com.inspur.edp.formserver.vmmanager.generatacmpcode.voextendedaction.JavaAfterDeleteActionGenerator; +import com.inspur.edp.formserver.vmmanager.generatacmpcode.voextendedaction.JavaAfterModifyActionGenerator; +import com.inspur.edp.formserver.vmmanager.generatacmpcode.voextendedaction.JavaAfterMultiDeleteActionGenerator; +import com.inspur.edp.formserver.vmmanager.generatacmpcode.voextendedaction.JavaAfterQueryActionGenerator; +import com.inspur.edp.formserver.vmmanager.generatacmpcode.voextendedaction.JavaAfterRetrieveActionGenerator; +import com.inspur.edp.formserver.vmmanager.generatacmpcode.voextendedaction.JavaAfterRetrieveDefaultActionGenerator; +import com.inspur.edp.formserver.vmmanager.generatacmpcode.voextendedaction.JavaAfterSaveActionGenerator; +import com.inspur.edp.formserver.vmmanager.generatacmpcode.voextendedaction.JavaBeforeDeleteActionGenerator; +import com.inspur.edp.formserver.vmmanager.generatacmpcode.voextendedaction.JavaBeforeModifyActionGenerator; +import com.inspur.edp.formserver.vmmanager.generatacmpcode.voextendedaction.JavaBeforeMultiDeleteActionGenerator; +import com.inspur.edp.formserver.vmmanager.generatacmpcode.voextendedaction.JavaBeforeQueryActionGenerator; +import com.inspur.edp.formserver.vmmanager.generatacmpcode.voextendedaction.JavaBeforeRetrieveActionsGenerator; +import com.inspur.edp.formserver.vmmanager.generatacmpcode.voextendedaction.JavaBeforeRetrieveDefaultActionGenerator; +import com.inspur.edp.formserver.vmmanager.generatacmpcode.voextendedaction.JavaBeforeSaveActionGenerator; +import com.inspur.edp.formserver.vmmanager.generatacmpcode.voextendedaction.JavaChangeMappingActionGenerator; +import com.inspur.edp.formserver.vmmanager.generatacmpcode.voextendedaction.JavaChangeReversalMappingActionGenerator; +import com.inspur.edp.formserver.vmmanager.generatacmpcode.voextendedaction.JavaDataMappingActionsGenerator; +import com.inspur.edp.formserver.vmmanager.generatacmpcode.voextendedaction.JavaDataReversalMappingActionsGenerator; +import com.inspur.edp.formserver.vmmanager.generatacmpcode.voextendedaction.JavaQueryActionGenerator; +import com.inspur.edp.formserver.vmmanager.generatacmpcode.voextendedaction.JavaRetrieveActionGenerator; import com.inspur.edp.formserver.vmmanager.service.VmManagerService; import com.inspur.edp.lcm.fs.api.IFsService; import com.inspur.edp.lcm.metadata.api.entity.GspMetadata; @@ -63,6 +90,7 @@ public class JavaCodeFileGenerator { GspProject metadataProj = SpringBeanUtils.getBean(MetadataService.class) .getGspProjectInfo(relativePath); viewModel = (GspViewModel) metadata.getContent(); + //根据元数据相对路径获取工程的namespace(dotnet中对应程序集名称) compAssemblyName = metadataProj.getProjectNameSpace(); fsService = SpringBeanUtils.getBean(FileService.class); iFsService = SpringBeanUtils.getBean(IFsService.class); @@ -540,6 +568,7 @@ public class JavaCodeFileGenerator { private String prepareDir(ViewModelActionInfo actionInfo) { MetadataProjectService service = SpringBeanUtils.getBean(MetadataProjectService.class); + //获取Java工程路径下java文件夹路径 String compModulePath = service.getJavaCompProjectPath(relativePath); String className = VmManagerService.getComponentJavaClassName(actionInfo); //构件中获取javaClassName,需要截取掉一级ClassName拼接相对路径 diff --git a/view-object-model/pom.xml b/view-object-model/pom.xml index a04b9028aac95b4a7373ecd76a8d3514c5c41eba..59f91889442b8f59a89993a9a925edf0d9514796 100644 --- a/view-object-model/pom.xml +++ b/view-object-model/pom.xml @@ -55,11 +55,11 @@ com.inspur.edp - bef-bizentity + business-entity-model com.inspur.edp - das-commonmodel + common-model io.iec.edp @@ -98,6 +98,11 @@ udt-designtime-api 0.1.7 + + com.inspur.edp + common-entity-model + 0.1.2 + com.inspur.edp bef-component diff --git a/view-object-rtwebapi/pom.xml b/view-object-rtwebapi/pom.xml index 494be5952b7d63fb0ff38309944af29d62b32470..0c6e8b5c549a990b769e2429adbd6d0f0734223c 100644 --- a/view-object-rtwebapi/pom.xml +++ b/view-object-rtwebapi/pom.xml @@ -30,7 +30,7 @@ com.inspur.edp - bef-bizentity + business-entity-model com.inspur.edp diff --git a/view-object-webapi/pom.xml b/view-object-webapi/pom.xml index b790e2ac3b3216edc0f79e4f034f66d129faf187..05b00484f9b4cba6bd9fe8c84c8efb46930405e7 100644 --- a/view-object-webapi/pom.xml +++ b/view-object-webapi/pom.xml @@ -52,7 +52,7 @@ com.inspur.edp - bef-bizentity + business-entity-model com.inspur.edp