From bad1e54770a36638e38e9b3980c19f791237da4e Mon Sep 17 00:00:00 2001 From: liuyuxin01 Date: Thu, 28 Nov 2024 14:34:24 +0800 Subject: [PATCH] =?UTF-8?q?=E8=8E=B7=E5=8F=96=E4=BE=9D=E8=B5=96=E5=85=83?= =?UTF-8?q?=E6=95=B0=E6=8D=AE=E5=92=8C=E4=BE=9D=E8=B5=96=E8=8A=82=E7=82=B9?= =?UTF-8?q?=E4=BF=A1=E6=81=AF=E6=8E=A5=E5=8F=A3=E5=8F=82=E6=95=B0=E5=B0=81?= =?UTF-8?q?=E8=A3=85=E6=88=90Optional=E5=AF=B9=E8=B1=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../lcm/metadata/core/RefCommonCoreService.java | 10 ++++++---- .../edp/lcm/metadata/core/RefCommonServiceImp.java | 14 ++++++++------ .../core/index/ProjectMetadataCacheService.java | 12 +++++++----- pom.xml | 2 +- 4 files changed, 22 insertions(+), 16 deletions(-) diff --git a/metadata-service-dev-core/src/main/java/com/inspur/edp/lcm/metadata/core/RefCommonCoreService.java b/metadata-service-dev-core/src/main/java/com/inspur/edp/lcm/metadata/core/RefCommonCoreService.java index 36a1220..1a5590e 100644 --- a/metadata-service-dev-core/src/main/java/com/inspur/edp/lcm/metadata/core/RefCommonCoreService.java +++ b/metadata-service-dev-core/src/main/java/com/inspur/edp/lcm/metadata/core/RefCommonCoreService.java @@ -31,6 +31,8 @@ import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; import org.springframework.data.util.Pair; +import java.util.Optional; + /** * @author zhaoleitr */ @@ -46,11 +48,11 @@ public class RefCommonCoreService { } public GspMetadata getRefMetadata(MetadataURI targetURI, AbstractURI sourceURI, String absolutePath) { - Pair refMetadataAndSource = getRefMetadataAndSource(targetURI, sourceURI, absolutePath); - if(refMetadataAndSource == null){ + Pair, Optional> refMetadataAndSource = getRefMetadataAndSource(targetURI, sourceURI, absolutePath); + if(refMetadataAndSource == null || !refMetadataAndSource.getFirst().isPresent()){ return null; } - return refMetadataAndSource.getFirst(); + return refMetadataAndSource.getFirst().get(); } /** @@ -60,7 +62,7 @@ public class RefCommonCoreService { * @param absolutePath * @return */ - public Pair getRefMetadataAndSource(MetadataURI targetURI, AbstractURI sourceURI, String absolutePath) { + public Pair, Optional> getRefMetadataAndSource(MetadataURI targetURI, AbstractURI sourceURI, String absolutePath) { // 工程信息 String projectPath = projectService.getProjPath(absolutePath); if (StringUtils.isBlank(projectPath)) { diff --git a/metadata-service-dev-core/src/main/java/com/inspur/edp/lcm/metadata/core/RefCommonServiceImp.java b/metadata-service-dev-core/src/main/java/com/inspur/edp/lcm/metadata/core/RefCommonServiceImp.java index 0642993..5d9af23 100644 --- a/metadata-service-dev-core/src/main/java/com/inspur/edp/lcm/metadata/core/RefCommonServiceImp.java +++ b/metadata-service-dev-core/src/main/java/com/inspur/edp/lcm/metadata/core/RefCommonServiceImp.java @@ -33,6 +33,8 @@ import com.inspur.edp.metadata.service.dev.core.manager.MetadataChangeSetService import org.springframework.data.util.Pair; import org.springframework.util.StringUtils; +import java.util.Optional; + /** * @author zhaoleitr */ @@ -66,16 +68,16 @@ public class RefCommonServiceImp implements RefCommonService { throw new LcmMetadataDevException(ErrorCodes.ECP_METADATA_DEV_0005, "projectPath"); } String absolutePath = ManagerUtils.getAbsolutePath(projectPath); - Pair refMetadataAndSource = new RefCommonCoreService().getRefMetadataAndSource(targetURI, sourceURI, absolutePath); + Pair, Optional> refMetadataAndSource = new RefCommonCoreService().getRefMetadataAndSource(targetURI, sourceURI, absolutePath); GspMetadata gspMetadata = null; - if(refMetadataAndSource != null && refMetadataAndSource.getFirst() != null){ - gspMetadata = refMetadataAndSource.getFirst(); - MdProjectDependencyNode projectDependencyNode = refMetadataAndSource.getSecond(); - if (projectDependencyNode != null && projectDependencyNode.isBO()) { + if(refMetadataAndSource != null && refMetadataAndSource.getFirst().isPresent()){ + gspMetadata = refMetadataAndSource.getFirst().get(); + Optional dependencyNodeOptional = refMetadataAndSource.getSecond(); + if (dependencyNodeOptional.isPresent()&& dependencyNodeOptional.get().isBO()) { MetadataChangeSetService metadataChangeSetService = MetadataChangeSetServiceFactory.getMetadataChangeSetService(gspMetadata.getHeader().getType()); if(metadataChangeSetService != null){ String currentBoPath = metadataProjectService.getBoPath(absolutePath); - String refMdBoPath = metadataProjectService.getBoPath(projectDependencyNode.getLocation()); + String refMdBoPath = metadataProjectService.getBoPath(dependencyNodeOptional.get().getLocation()); metadataChangeSet.setSameBoReferenceFlag(FileServiceImp.isEqual(currentBoPath, refMdBoPath)); metadataChangeSetService.mergeMetadataChangeSet(gspMetadata, metadataChangeSet); } diff --git a/metadata-service-dev-core/src/main/java/com/inspur/edp/lcm/metadata/core/index/ProjectMetadataCacheService.java b/metadata-service-dev-core/src/main/java/com/inspur/edp/lcm/metadata/core/index/ProjectMetadataCacheService.java index adc91d8..cf98c34 100644 --- a/metadata-service-dev-core/src/main/java/com/inspur/edp/lcm/metadata/core/index/ProjectMetadataCacheService.java +++ b/metadata-service-dev-core/src/main/java/com/inspur/edp/lcm/metadata/core/index/ProjectMetadataCacheService.java @@ -55,6 +55,7 @@ import java.util.Iterator; import java.util.LinkedList; import java.util.List; import java.util.Map; +import java.util.Optional; import java.util.Queue; import java.util.Set; import java.util.concurrent.ConcurrentHashMap; @@ -147,11 +148,11 @@ public class ProjectMetadataCacheService { * @return 元数据归属路径 */ public GspMetadata getRefMetadata(String metadataId) { - Pair refMetadatAndDependencyNodePair = getRefMetadataAndSource(metadataId); - if(refMetadatAndDependencyNodePair == null){ + Pair, Optional> refMetadatAndDependencyNodePair = getRefMetadataAndSource(metadataId); + if(refMetadatAndDependencyNodePair == null || !refMetadatAndDependencyNodePair.getFirst().isPresent()){ return null; } - return refMetadatAndDependencyNodePair.getFirst(); + return refMetadatAndDependencyNodePair.getFirst().get(); } /** * 获取元数据和归属依赖节点 @@ -161,7 +162,7 @@ public class ProjectMetadataCacheService { * @param metadataId 元数据编码 * @return 元数据归属路径 */ - public Pair getRefMetadataAndSource(String metadataId) { + public Pair, Optional> getRefMetadataAndSource(String metadataId) { if (StringUtils.isEmpty(metadataId)) { throw new LcmMetadataDevException(ErrorCodes.ECP_METADATA_DEV_0005, "metadataId"); } @@ -217,7 +218,8 @@ public class ProjectMetadataCacheService { if(metadata != null && metadata.getHeader() != null) { metadata.getHeader().setI18nName(RuntimeContext.getLanguage()); } - return Pair.of(metadata, dependencyNode); + + return Pair.of(Optional.ofNullable(metadata), Optional.ofNullable(dependencyNode)); } /** diff --git a/pom.xml b/pom.xml index 2fcc44a..e67d1f9 100644 --- a/pom.xml +++ b/pom.xml @@ -49,7 +49,7 @@ 0.2.0-rc.3 - 0.2.0-rc.3 + 0.2.0-rc.5 0.1.1 0.1.0 -- Gitee