diff --git a/view-object-manager/src/main/java/com/inspur/edp/formserver/vmmanager/config/MdPkgDeployConfig.java b/view-object-manager/src/main/java/com/inspur/edp/formserver/vmmanager/config/MdPkgDeployConfig.java index b93bd6cfc6e8ed333e2d3deab563e05bd08e0cf1..654c4c4d458d65d72e9744d8e78e36b88943f9b3 100644 --- a/view-object-manager/src/main/java/com/inspur/edp/formserver/vmmanager/config/MdPkgDeployConfig.java +++ b/view-object-manager/src/main/java/com/inspur/edp/formserver/vmmanager/config/MdPkgDeployConfig.java @@ -25,12 +25,17 @@ import org.springframework.context.annotation.Configuration; import java.util.ArrayList; import java.util.List; -@Configuration(proxyBeanMethods=false) +/** + * 工程打包部署 + * + * @author haoxiaofei + */ +@Configuration(proxyBeanMethods = false) public class MdPkgDeployConfig { @Bean - public EventManagerData createEventManagerData(){ - EventManagerData data= new EventManagerData(); + public EventManagerData createEventManagerData() { + EventManagerData data = new EventManagerData(); data.setName("MdpkgChangedEventManager"); List listeners = new ArrayList<>(); data.setListeners(listeners); diff --git a/view-object-manager/src/main/java/com/inspur/edp/formserver/vmmanager/extendinfo/GspVoExtendInfoServiceImpl.java b/view-object-manager/src/main/java/com/inspur/edp/formserver/vmmanager/extendinfo/GspVoExtendInfoServiceImpl.java index 113efeaa61ed45818ee03301786fe930c5ab85d6..e4706826330d3f9840d646b0053bc492e09f6e3e 100644 --- a/view-object-manager/src/main/java/com/inspur/edp/formserver/vmmanager/extendinfo/GspVoExtendInfoServiceImpl.java +++ b/view-object-manager/src/main/java/com/inspur/edp/formserver/vmmanager/extendinfo/GspVoExtendInfoServiceImpl.java @@ -30,6 +30,11 @@ import java.util.LinkedHashMap; import java.util.List; import java.util.concurrent.ConcurrentHashMap; +/** + * 实体模型扩展服务接口实现 + * + * @author haoxiaofei + */ public class GspVoExtendInfoServiceImpl implements GspVoExtendInfoService { private GspVoExtendInfoRepository extendInfoRepository; @@ -37,24 +42,25 @@ public class GspVoExtendInfoServiceImpl implements GspVoExtendInfoService { protected static ConcurrentHashMap idGspVoExtendInfo; private String Lcm_SU = "Lcm"; - private String VIEWWMODEL_SERVICE="com.inspur.edp.formserver.voextendinfo.server.api.GspVoExtendInfoRpcService"; + private String VIEWWMODEL_SERVICE = "com.inspur.edp.formserver.voextendinfo.server.api.GspVoExtendInfoRpcService"; public GspVoExtendInfoServiceImpl(GspVoExtendInfoRepository extendInfoRepository) { this.extendInfoRepository = extendInfoRepository; configIdGspVoExtendInfo = new ConcurrentHashMap<>(); idGspVoExtendInfo = new ConcurrentHashMap<>(); } + // 使用be Id的取消缓存 @Override public GspVoExtendInfo getVoExtendInfo(String id) { GspVoExtendInfo voExtendInfo = idGspVoExtendInfo.get(id); - if(voExtendInfo == null) { + if (voExtendInfo == null) { RpcClient client = SpringBeanUtils.getBean(RpcClient.class); LinkedHashMap params = new LinkedHashMap<>(); params.put("id", id); voExtendInfo = (GspVoExtendInfo) client.invoke(GspVoExtendInfo.class, getMethodString("getVoExtendInfo"), Lcm_SU, params, null); - if(voExtendInfo != null) { + if (voExtendInfo != null) { idGspVoExtendInfo.put(id, voExtendInfo); } } @@ -63,45 +69,45 @@ public class GspVoExtendInfoServiceImpl implements GspVoExtendInfoService { @Override public GspVoExtendInfo getVoExtendInfoByConfigId(String configId) { - if(configIdGspVoExtendInfo.containsKey(configId)){ + if (configIdGspVoExtendInfo.containsKey(configId)) { return configIdGspVoExtendInfo.get(configId); } - try{ - RpcClient client= SpringBeanUtils.getBean(RpcClient.class); + try { + RpcClient client = SpringBeanUtils.getBean(RpcClient.class); LinkedHashMap params = new LinkedHashMap<>(); params.put("configId", configId); - GspVoExtendInfo voExtendInfo=(GspVoExtendInfo)client.invoke(GspVoExtendInfo.class, - getMethodString("getVoExtendInfoByConfigId"),Lcm_SU,params,null); - putConfigIdGspVoExtendInfo(configId,voExtendInfo); + GspVoExtendInfo voExtendInfo = (GspVoExtendInfo) client.invoke(GspVoExtendInfo.class, + getMethodString("getVoExtendInfoByConfigId"), Lcm_SU, params, null); + putConfigIdGspVoExtendInfo(configId, voExtendInfo); return voExtendInfo; - }catch (IncorrectResultSizeDataAccessException e){ + } catch (IncorrectResultSizeDataAccessException e) { throw new CAFRuntimeException("", "", - "ConfigId为"+configId+"的vo有多个,请检查", null, ExceptionLevel.Error); + "ConfigId为" + configId + "的vo有多个,请检查", null, ExceptionLevel.Error); } } @Override public List getVoExtendInfos() { - RpcClient client= SpringBeanUtils.getBean(RpcClient.class); + RpcClient client = SpringBeanUtils.getBean(RpcClient.class); LinkedHashMap params = new LinkedHashMap<>(); - Type type=getViewModelListType(); - List voExtendInfos=(List) client.invoke(type, - getMethodString("getVoExtendInfos"),Lcm_SU,params,null); + Type type = getViewModelListType(); + List voExtendInfos = (List) client.invoke(type, + getMethodString("getVoExtendInfos"), Lcm_SU, params, null); return voExtendInfos; } @Override public void saveGspVoExtendInfos(List infos) { infos.stream().forEach(item -> { - if(item.getId() == null ||"".equals(item.getId())) + if (item.getId() == null || "".equals(item.getId())) throw new RuntimeException("id不允许为空"); }); - RpcClient client= SpringBeanUtils.getBean(RpcClient.class); + RpcClient client = SpringBeanUtils.getBean(RpcClient.class); LinkedHashMap params = new LinkedHashMap<>(); - params.put("infos",infos); + params.put("infos", infos); client.invoke(Void.class, - getMethodString("saveGspVoExtendInfos"),Lcm_SU,params,null); + getMethodString("saveGspVoExtendInfos"), Lcm_SU, params, null); } @Override @@ -109,12 +115,12 @@ public class GspVoExtendInfoServiceImpl implements GspVoExtendInfoService { if (!extendInfoRepository.existsById(id)) { return; } - RpcClient client= SpringBeanUtils.getBean(RpcClient.class); + RpcClient client = SpringBeanUtils.getBean(RpcClient.class); LinkedHashMap params = new LinkedHashMap<>(); - params.put("id",id); + params.put("id", id); client.invoke(Void.class, - getMethodString("deleteVoExtendInfo"),Lcm_SU,params,null); - if(id != null) + getMethodString("deleteVoExtendInfo"), Lcm_SU, params, null); + if (id != null) idGspVoExtendInfo.remove(id); if (id == null || configIdGspVoExtendInfo == null || configIdGspVoExtendInfo.values().size() == 0) { @@ -134,25 +140,26 @@ public class GspVoExtendInfoServiceImpl implements GspVoExtendInfoService { @Override public List getVoId(String beId) { - if(beId==null || "".equals(beId)){ + if (beId == null || "".equals(beId)) { throw new RuntimeException("beId不能为空!"); } - RpcClient client= SpringBeanUtils.getBean(RpcClient.class); + RpcClient client = SpringBeanUtils.getBean(RpcClient.class); LinkedHashMap params = new LinkedHashMap<>(); - params.put("beId",beId); - Type type=getViewModelListType(); - List voExtendInfos=(List) client.invoke(type, - getMethodString("getVoId"),Lcm_SU,params,null); + params.put("beId", beId); + Type type = getViewModelListType(); + List voExtendInfos = (List) client.invoke(type, + getMethodString("getVoId"), Lcm_SU, params, null); return voExtendInfos; } - private boolean putConfigIdGspVoExtendInfo(String id, GspVoExtendInfo info){ - if(id == null || info == null) + private boolean putConfigIdGspVoExtendInfo(String id, GspVoExtendInfo info) { + if (id == null || info == null) return false; - configIdGspVoExtendInfo.put(id,info); + configIdGspVoExtendInfo.put(id, info); return true; } + private String getMethodString(String methodName) { return VIEWWMODEL_SERVICE + "." + methodName; } 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 e1e705cffe8a4b8d7f0413fe80f1063c5c71a89a..d166c2d8175dfc927b097fb095d6e2271d078c68 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 @@ -24,14 +24,26 @@ import java.util.List; public interface GspVoExtendInfoRepository extends DataRepository { /** - * 根据configId获取某条BE扩展信息 - * @param configId - * @return + * 根据configId获取某条VO扩展信息 + * @param configId config信息 + * @return 视图模型扩展信息 */ GspVoExtendInfo getVoExtendInfoByConfigId(String configId); + /** + * 根据configId获取某条VO扩展信息 + * + * @param configId config信息 + * @return 视图模型扩展信息 + */ List getVoExtendInfosByConfigId(String configId); + /** + * 根据beID获取某条VO扩展信息 + * + * @param beId beID + * @return 视图模型扩展信息 + */ List getVoExtendInfoByBeSourceId(String beId); } diff --git a/view-object-manager/src/main/java/com/inspur/edp/formserver/vmmanager/lowcode/BSessionUtil.java b/view-object-manager/src/main/java/com/inspur/edp/formserver/vmmanager/lowcode/BSessionUtil.java index 333d3c8293b16a3d3f7bf9ef8d501fce91d2cc9a..8fe060bd8a1a03ed5fab702d2af11f7872052a63 100644 --- a/view-object-manager/src/main/java/com/inspur/edp/formserver/vmmanager/lowcode/BSessionUtil.java +++ b/view-object-manager/src/main/java/com/inspur/edp/formserver/vmmanager/lowcode/BSessionUtil.java @@ -23,14 +23,20 @@ import io.iec.edp.caf.tenancy.api.entity.Tenant; import java.util.function.Consumer; import java.util.function.Function; +/** + * 业务实体Session工具类 + * + * @author haoxiaofei + */ public class BSessionUtil { - public static void wrapFirstTenantBSession(Consumer consumer) { - } - private static void clearSession() { - } + public static void wrapFirstTenantBSession(Consumer consumer) { + } + + private static void clearSession() { + } - public static void handleMdPkg(MetadataPackage metadataPackage, - Function getMetadata) { - } + public static void handleMdPkg(MetadataPackage metadataPackage, + Function getMetadata) { + } } diff --git a/view-object-manager/src/main/java/com/inspur/edp/formserver/vmmanager/lowcode/MdPkgDeployListener.java b/view-object-manager/src/main/java/com/inspur/edp/formserver/vmmanager/lowcode/MdPkgDeployListener.java index ad4e1ba891dd30c93696d0d80af2a68ed352000e..75f956f51a554fe7291e8f7e4a697ff14c33fb0a 100644 --- a/view-object-manager/src/main/java/com/inspur/edp/formserver/vmmanager/lowcode/MdPkgDeployListener.java +++ b/view-object-manager/src/main/java/com/inspur/edp/formserver/vmmanager/lowcode/MdPkgDeployListener.java @@ -36,127 +36,48 @@ import java.util.stream.Collectors; */ public class MdPkgDeployListener implements MdPkgChangedEventListener { - CustomizationService metadataService; + CustomizationService metadataService; - public MdPkgDeployListener() { - this.metadataService = SpringBeanUtils.getBean(CustomizationService.class); - } - - @Override - public void fireMdPkgAddedEvent(MdPkgChangedArgs mdPkgChangedArgs) { -// if(metadataService == null) { -// this.metadataService = SpringBeanUtils.getBean(CustomizationService.class); -// } -// MetadataPackage metadataPackage = mdPkgChangedArgs.getMetadataPackage(); -// handleMdPkg(metadataPackage, var -> metadataService.getMetadata(var)); - } - - @Override - public void fireMdPkgChangedEvent(MdPkgChangedArgs mdPkgChangedArgs) { - if(metadataService == null) { - this.metadataService = SpringBeanUtils.getBean(CustomizationService.class); + public MdPkgDeployListener() { + this.metadataService = SpringBeanUtils.getBean(CustomizationService.class); } - MetadataPackage metadataPackage = mdPkgChangedArgs.getMetadataPackage(); - clearVoCache(metadataPackage,metadataService); - //handleMdPkg(metadataPackage, var -> metadataService.getMetadata(var)); - } - public void clearVoCache( MetadataPackage metadataPackage,CustomizationService metadataService){ - List packageMetadataList = metadataPackage.getMetadataList(); - if (packageMetadataList == null || packageMetadataList.isEmpty()) { - return; - } - List metadatas = packageMetadataList.stream() - .filter(item -> item.getHeader().getType().equals("GSPBusinessEntity")) - .collect(Collectors.toList()); - if (metadatas.isEmpty()) { - return; + @Override + public void fireMdPkgAddedEvent(MdPkgChangedArgs mdPkgChangedArgs) { } - ArrayList metadataLists=new ArrayList<>(); - GspVoExtendInfoService service = SpringBeanUtils.getBean(GspVoExtendInfoService.class); - for (GspMetadata metadata: metadatas){ - List voExtendInfos=service.getVoId(metadata.getHeader().getId()); - if(voExtendInfos==null || voExtendInfos.size()==0){ - continue; - } - voExtendInfos.forEach(info -> metadataLists.add(info.getId())); + + @Override + public void fireMdPkgChangedEvent(MdPkgChangedArgs mdPkgChangedArgs) { + if (metadataService == null) { + this.metadataService = SpringBeanUtils.getBean(CustomizationService.class); + } + MetadataPackage metadataPackage = mdPkgChangedArgs.getMetadataPackage(); + clearVoCache(metadataPackage, metadataService); } - metadataService.removeCacheByMetadataIds(metadataLists); + public void clearVoCache(MetadataPackage metadataPackage, CustomizationService metadataService) { + + List packageMetadataList = metadataPackage.getMetadataList(); + if (packageMetadataList == null || packageMetadataList.isEmpty()) { + return; + } + List metadatas = packageMetadataList.stream() + .filter(item -> item.getHeader().getType().equals("GSPBusinessEntity")) + .collect(Collectors.toList()); + if (metadatas.isEmpty()) { + return; + } + ArrayList metadataLists = new ArrayList<>(); + GspVoExtendInfoService service = SpringBeanUtils.getBean(GspVoExtendInfoService.class); + for (GspMetadata metadata : metadatas) { + List voExtendInfos = service.getVoId(metadata.getHeader().getId()); + if (voExtendInfos == null || voExtendInfos.size() == 0) { + continue; + } + voExtendInfos.forEach(info -> metadataLists.add(info.getId())); + } - } + metadataService.removeCacheByMetadataIds(metadataLists); -// void handleMdPkg(MetadataPackage metadataPackage, -// Function getMetadata) { -// try { -//// if (metadataPackage.getHeader().getProcessMode() != ProcessMode.interpretation) { -//// //如果不是无需生成代码的元数据包,直接忽略 -//// return; -//// } -// -// List packageMetadataList = metadataPackage.getMetadataList(); -// if (packageMetadataList == null || packageMetadataList.isEmpty()) { -// //如果元数据包下不存在元数据 -// return; -// } -// List metadatas = packageMetadataList.stream() -// .filter(item -> item.getHeader().getType().equals("GSPViewModel")) -// .collect(Collectors.toList()); -// if (metadatas.isEmpty()) { -// return; -// } -// ProcessMode processMode = Optional.ofNullable(metadataPackage.getHeader().getProcessMode()).orElse(ProcessMode.generation); -// BSessionUtil.wrapFirstTenantBSession(tenant -> { -// // 获取当前已部署的eapi版本,并移除未变动的Eapi元数据 -// GspVoExtendInfoService beInfoService = SpringBeanUtils -// .getBean(GspVoExtendInfoService.class); -// List infos = new ArrayList(metadatas.size()); -// for (GspMetadata metadata : metadatas) { -// GspViewModel be = (GspViewModel) getMetadata.apply(metadata.getHeader().getId()) -// .getContent(); -// ((GspViewModel) getMetadata.apply(metadata.getHeader().getId()).getContent()) -// .getCoreAssemblyInfo().getDefaultNamespace(); -// BffEngineCacheService.remove(be.getID()); -// if (be.getGeneratedConfigID() == null) { -// continue; -// } -// GspVoExtendInfo existing = beInfoService.getVoExtendInfo(be.getID()); -// GspVoExtendInfo info = buildVoExtendInfo(processMode, be, existing); -// infos.add(info); -// } -// if (!infos.isEmpty()) { -// beInfoService.saveGspVoExtendInfos(infos); -// } -// }); -// } catch (Exception e) { -// throw new RuntimeException("部署解析VO元数据出错:", e); -// } -// } -// -// private GspVoExtendInfo buildVoExtendInfo(ProcessMode processMode, GspViewModel be, GspVoExtendInfo existing) { -// GspVoExtendInfo info = new GspVoExtendInfo(); -// VoConfigCollectionInfo voConfigCollectionInfo = getBffConfigCollectionInfo(be); -// voConfigCollectionInfo.setProjectType(processMode); -// info.setVoConfigCollectionInfo(voConfigCollectionInfo); -// info.setId(be.getID()); -// info.setConfigId(be.getGeneratedConfigID());; -// info.setCreatedOn(Date.from(CAFContext.current.getCurrentDateTime().toInstant())); -// info.setLastChangedOn(Date.from(CAFContext.current.getCurrentDateTime().toInstant())); -// if (!be.getIsVirtual()) { -// info.setBeSourceId(be.getMapping().getTargetMetadataId()); -// } -// if (existing != null) { -// info.setLastChangedOn(Date.from(CAFContext.current.getCurrentDateTime().toInstant())); -// } -// return info; -// } -// -// private VoConfigCollectionInfo getBffConfigCollectionInfo(GspViewModel be) { -// CefConfig cefConfig = new CefConfig(); -// cefConfig.setID(be.getGeneratedConfigID()); -// cefConfig.setDefaultNamespace(be.getCoreAssemblyInfo().getDefaultNamespace().toLowerCase()); -// VoConfigCollectionInfo voConfigCollectionInfo = new VoConfigCollectionInfo(); -// voConfigCollectionInfo.setConfig(cefConfig); -// return voConfigCollectionInfo; -// } + } } diff --git a/view-object-manager/src/main/java/com/inspur/edp/formserver/vmmanager/lowcode/MdPkgToolsDeployListener.java b/view-object-manager/src/main/java/com/inspur/edp/formserver/vmmanager/lowcode/MdPkgToolsDeployListener.java index 623f011655e07eac2389b5eafcfa9c203497bb48..9ceab6dd7b13c31ac126cb9e5e5a5a555915963f 100644 --- a/view-object-manager/src/main/java/com/inspur/edp/formserver/vmmanager/lowcode/MdPkgToolsDeployListener.java +++ b/view-object-manager/src/main/java/com/inspur/edp/formserver/vmmanager/lowcode/MdPkgToolsDeployListener.java @@ -27,15 +27,14 @@ import com.inspur.edp.metadata.rtcustomization.spi.event.MdPkgDeployedEventArgs; */ public class MdPkgToolsDeployListener implements IMetadataDeployEventListener { + public MdPkgToolsDeployListener() { + } - public MdPkgToolsDeployListener() { - } + @Override + public void fireMdPkgDeployedEvent(MdPkgDeployedEventArgs mdPkgDeployedEventArgs) { + } - @Override - public void fireMdPkgDeployedEvent(MdPkgDeployedEventArgs mdPkgDeployedEventArgs) { - } - - @Override - public void fireExtMdSavedEvent(ExtMdSavedArgs extMdSavedArgs) { - } + @Override + public void fireExtMdSavedEvent(ExtMdSavedArgs extMdSavedArgs) { + } }