From f27ca88380c41c37dae374cff669585b00419ff3 Mon Sep 17 00:00:00 2001 From: Q-Lee Date: Thu, 13 May 2021 15:10:14 +0800 Subject: [PATCH] =?UTF-8?q?=E9=87=8D=E6=9E=84=EF=BC=9A(1)lcm-metadata-shel?= =?UTF-8?q?l=E5=B7=A5=E7=A8=8B=E4=BB=A3=E7=A0=81=E8=BF=81=E7=A7=BB?= =?UTF-8?q?=E5=AE=8C=E6=AF=95=20(2)=E4=BF=AE=E5=A4=8Dcheckstyle=E7=9A=84?= =?UTF-8?q?=E9=97=AE=E9=A2=98=20(3)=20=E5=8E=BB=E6=8E=89=E6=89=80=E6=9C=89?= =?UTF-8?q?=E4=BD=BF=E7=94=A8lombok=E7=9A=84=E5=9C=B0=E6=96=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- model/framework/common/pom.xml | 6 + .../entity/AdvancedFunctionConfiguration.java | 27 ++- .../metadata/api/entity/MetadataRTFilter.java | 63 +++++- .../api/entity/WorkspaceDataLocation.java | 38 +++- .../MavenSourceRuleConfigLoader.java | 13 +- .../MetadataConfigurationLoader.java | 13 +- .../common/context/RuntimeContext.java | 14 +- .../common/logging/MvnStreamConsumer.java | 5 +- model/framework/devtime-core/pom.xml | 6 + .../edp/lcm/metadata/core/MavenUtilsCore.java | 6 +- .../metadata/core/MetadataCoreManager.java | 5 +- .../core/MetadataIndexCacheService.java | 6 +- .../lcm/metadata/core/MetadataServiceImp.java | 6 +- .../lcm/metadata/core/PackageCoreService.java | 5 +- .../metadata/core/RefCommonCoreService.java | 2 - .../core/config/JitRuntimeConfigLoader.java | 9 +- .../edp/lcm/metadata/ref/MavenUtilsImp.java | 2 - .../edp/lcm/metadata/ref/MdpkgServiceImp.java | 2 - model/framework/devtime-webapi/pom.xml | 6 + .../jittojava/core/GenerateServiceCore.java | 2 - .../jittojava/core/GenerateServiceImp.java | 2 - .../core/manager/GeneratorManager.java | 6 +- model/framework/generator-webapi/pom.xml | 10 +- .../jittojava/webapi/GenerateController.java | 3 - model/framework/metadata-shell/pom.xml | 36 +++ .../edp/lcm/metadata/ShellApplication.java | 38 ++++ .../lcm/metadata/shell/MetadataCommand.java | 206 ++++++++++++++++++ .../metadata/shell/StringCommandRunner.java | 69 ++++++ .../metadata/shell/StringInputProvider.java | 50 +++++ .../metadata/shell/StringParsedLineInput.java | 51 +++++ .../inspur/edp/lcm/metadata/shell/Utils.java | 49 +++++ .../shell/config/ShellConfiguration.java | 34 +++ .../main/resources/META-INF/spring.factories | 1 + .../src/main/resources/application.yaml | 8 + .../src/main/resources/banner.txt | 10 + model/framework/pom.xml | 12 + .../rtservice/MetadataRTServiceImp.java | 2 - .../MetadataRTServerServiceImpl.java | 6 +- .../monitor/MonitorInitializer.java | 6 +- .../MetadataPackageRepositoryImp.java | 5 +- .../vo/definition/common/ConvertUtils.java | 1 - .../extendinfo/entity/GspVoExtendInfo.java | 5 +- .../VmActionCollectionSerializer.java | 1 - 43 files changed, 779 insertions(+), 68 deletions(-) create mode 100644 model/framework/metadata-shell/pom.xml create mode 100644 model/framework/metadata-shell/src/main/java/com/inspur/edp/lcm/metadata/ShellApplication.java create mode 100644 model/framework/metadata-shell/src/main/java/com/inspur/edp/lcm/metadata/shell/MetadataCommand.java create mode 100644 model/framework/metadata-shell/src/main/java/com/inspur/edp/lcm/metadata/shell/StringCommandRunner.java create mode 100644 model/framework/metadata-shell/src/main/java/com/inspur/edp/lcm/metadata/shell/StringInputProvider.java create mode 100644 model/framework/metadata-shell/src/main/java/com/inspur/edp/lcm/metadata/shell/StringParsedLineInput.java create mode 100644 model/framework/metadata-shell/src/main/java/com/inspur/edp/lcm/metadata/shell/Utils.java create mode 100644 model/framework/metadata-shell/src/main/java/com/inspur/edp/lcm/metadata/shell/config/ShellConfiguration.java create mode 100644 model/framework/metadata-shell/src/main/resources/META-INF/spring.factories create mode 100644 model/framework/metadata-shell/src/main/resources/application.yaml create mode 100644 model/framework/metadata-shell/src/main/resources/banner.txt diff --git a/model/framework/common/pom.xml b/model/framework/common/pom.xml index 5e269a1..06a5538 100644 --- a/model/framework/common/pom.xml +++ b/model/framework/common/pom.xml @@ -33,6 +33,12 @@ io.iec.edp caf-boot-starter-context + + + lombok + org.projectlombok + + diff --git a/model/framework/common/src/main/java/com/inspur/edp/lcm/metadata/api/entity/AdvancedFunctionConfiguration.java b/model/framework/common/src/main/java/com/inspur/edp/lcm/metadata/api/entity/AdvancedFunctionConfiguration.java index bcc578a..770f34b 100644 --- a/model/framework/common/src/main/java/com/inspur/edp/lcm/metadata/api/entity/AdvancedFunctionConfiguration.java +++ b/model/framework/common/src/main/java/com/inspur/edp/lcm/metadata/api/entity/AdvancedFunctionConfiguration.java @@ -15,10 +15,31 @@ */ package com.inspur.edp.lcm.metadata.api.entity; -import lombok.Data; - -@Data public class AdvancedFunctionConfiguration { private boolean maven; private boolean menu; + + public boolean isMaven() { + return maven; + } + + public void setMaven(boolean maven) { + this.maven = maven; + } + + public boolean isMenu() { + return menu; + } + + public void setMenu(boolean menu) { + this.menu = menu; + } + + @Override + public String toString() { + return "AdvancedFunctionConfiguration{" + + "maven=" + maven + + ", menu=" + menu + + '}'; + } } diff --git a/model/framework/common/src/main/java/com/inspur/edp/lcm/metadata/api/entity/MetadataRTFilter.java b/model/framework/common/src/main/java/com/inspur/edp/lcm/metadata/api/entity/MetadataRTFilter.java index 109fb2b..b72a39e 100644 --- a/model/framework/common/src/main/java/com/inspur/edp/lcm/metadata/api/entity/MetadataRTFilter.java +++ b/model/framework/common/src/main/java/com/inspur/edp/lcm/metadata/api/entity/MetadataRTFilter.java @@ -16,7 +16,6 @@ package com.inspur.edp.lcm.metadata.api.entity; import java.util.List; -import lombok.Data; /** * Classname MetadataRTFilter Description 过滤条件实体类 Date 2019/11/18 15:21 @@ -24,9 +23,7 @@ import lombok.Data; * @author zhongchq * @version 1.0 */ -@Data public class MetadataRTFilter { - //关键应用编号 public String appCode; //服务单元编号 @@ -39,4 +36,64 @@ public class MetadataRTFilter { public String code; public String nameSpace; + + public String getAppCode() { + return appCode; + } + + public void setAppCode(String appCode) { + this.appCode = appCode; + } + + public String getServiceUnitCode() { + return serviceUnitCode; + } + + public void setServiceUnitCode(String serviceUnitCode) { + this.serviceUnitCode = serviceUnitCode; + } + + public List getBizobjectId() { + return bizobjectId; + } + + public void setBizobjectId(List bizobjectId) { + this.bizobjectId = bizobjectId; + } + + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } + + public String getCode() { + return code; + } + + public void setCode(String code) { + this.code = code; + } + + public String getNameSpace() { + return nameSpace; + } + + public void setNameSpace(String nameSpace) { + this.nameSpace = nameSpace; + } + + @Override + public String toString() { + return "MetadataRTFilter{" + + "appCode='" + appCode + '\'' + + ", serviceUnitCode='" + serviceUnitCode + '\'' + + ", bizobjectId=" + bizobjectId + + ", type='" + type + '\'' + + ", code='" + code + '\'' + + ", nameSpace='" + nameSpace + '\'' + + '}'; + } } diff --git a/model/framework/common/src/main/java/com/inspur/edp/lcm/metadata/api/entity/WorkspaceDataLocation.java b/model/framework/common/src/main/java/com/inspur/edp/lcm/metadata/api/entity/WorkspaceDataLocation.java index aca8a1f..413e6f9 100644 --- a/model/framework/common/src/main/java/com/inspur/edp/lcm/metadata/api/entity/WorkspaceDataLocation.java +++ b/model/framework/common/src/main/java/com/inspur/edp/lcm/metadata/api/entity/WorkspaceDataLocation.java @@ -15,8 +15,6 @@ */ package com.inspur.edp.lcm.metadata.api.entity; -import lombok.Data; - /** * @Classname WorkspaceDataLocation * @Description TODO @@ -25,8 +23,40 @@ import lombok.Data; * @Version 1.0 */ -@Data public class WorkspaceDataLocation { - public String workspaceDataLocation; + + public String getWorkspaceDataLocation() { + return workspaceDataLocation; + } + + public void setWorkspaceDataLocation(String workspaceDataLocation) { + this.workspaceDataLocation = workspaceDataLocation; + } + + @Override + public String toString() { + return "WorkspaceDataLocation{" + + "workspaceDataLocation='" + workspaceDataLocation + '\'' + + '}'; + } + + @Override + public boolean equals(Object obj) { + if (this == obj) { + return true; + } + if (!(obj instanceof WorkspaceDataLocation)) { + return false; + } + WorkspaceDataLocation item = (WorkspaceDataLocation) obj; + return workspaceDataLocation == null ? item.getWorkspaceDataLocation() == null : workspaceDataLocation.equals(item.getWorkspaceDataLocation()); + } + + @Override + public int hashCode() { + int result = 17; + result = 31 * result + (workspaceDataLocation == null ? 0 : workspaceDataLocation.hashCode()); + return result; + } } diff --git a/model/framework/common/src/main/java/com/inspur/edp/lcm/metadata/common/configuration/MavenSourceRuleConfigLoader.java b/model/framework/common/src/main/java/com/inspur/edp/lcm/metadata/common/configuration/MavenSourceRuleConfigLoader.java index 06d293c..7374654 100644 --- a/model/framework/common/src/main/java/com/inspur/edp/lcm/metadata/common/configuration/MavenSourceRuleConfigLoader.java +++ b/model/framework/common/src/main/java/com/inspur/edp/lcm/metadata/common/configuration/MavenSourceRuleConfigLoader.java @@ -20,8 +20,6 @@ import java.io.IOException; import java.nio.file.Paths; import java.util.List; import java.util.Map; -import lombok.Getter; -import lombok.Setter; /** * @Classname MavenSourceRuleConfigLoader @@ -34,14 +32,21 @@ public class MavenSourceRuleConfigLoader { private static String fileName = "config/platform/common/lcm_mavensourcerule.json"; private static String sectionName = "rule"; - @Setter - @Getter public static Map> mavenSourceRuleConfigurations; public MavenSourceRuleConfigLoader() { fileName = Paths.get(EnvironmentUtil.getServerRTPath()).resolve(fileName).toString(); } + public static Map> getMavenSourceRuleConfigurations() { + return mavenSourceRuleConfigurations; + } + + public static void setMavenSourceRuleConfigurations( + Map> mavenSourceRuleConfigurations) { + MavenSourceRuleConfigLoader.mavenSourceRuleConfigurations = mavenSourceRuleConfigurations; + } + protected Map> loadSourceRuleConfigration() { MetadataServiceHelper metadataServiceHelper = new MetadataServiceHelper(); try { diff --git a/model/framework/common/src/main/java/com/inspur/edp/lcm/metadata/common/configuration/MetadataConfigurationLoader.java b/model/framework/common/src/main/java/com/inspur/edp/lcm/metadata/common/configuration/MetadataConfigurationLoader.java index 744600b..9cc3d89 100644 --- a/model/framework/common/src/main/java/com/inspur/edp/lcm/metadata/common/configuration/MetadataConfigurationLoader.java +++ b/model/framework/common/src/main/java/com/inspur/edp/lcm/metadata/common/configuration/MetadataConfigurationLoader.java @@ -21,8 +21,6 @@ import io.iec.edp.caf.common.environment.EnvironmentUtil; import java.io.IOException; import java.io.Serializable; import java.util.List; -import lombok.Getter; -import lombok.Setter; /** * @Classname MetadataConfigurationLoader @@ -33,8 +31,6 @@ import lombok.Setter; */ public class MetadataConfigurationLoader implements Serializable { - @Setter - @Getter public static List metadataConfigurations; private static String fileName = "config/platform/common/lcm_metadataextend.json"; private static final String SECTION_NAME = "MetadataConfiguration"; @@ -43,6 +39,15 @@ public class MetadataConfigurationLoader implements Serializable { loadMetadataConfigurations(); } + public static List getMetadataConfigurations() { + return metadataConfigurations; + } + + public static void setMetadataConfigurations( + List metadataConfigurations) { + MetadataConfigurationLoader.metadataConfigurations = metadataConfigurations; + } + /** * @param * @return java.util.List diff --git a/model/framework/common/src/main/java/com/inspur/edp/lcm/metadata/common/context/RuntimeContext.java b/model/framework/common/src/main/java/com/inspur/edp/lcm/metadata/common/context/RuntimeContext.java index 9635086..6b60dba 100644 --- a/model/framework/common/src/main/java/com/inspur/edp/lcm/metadata/common/context/RuntimeContext.java +++ b/model/framework/common/src/main/java/com/inspur/edp/lcm/metadata/common/context/RuntimeContext.java @@ -16,7 +16,6 @@ package com.inspur.edp.lcm.metadata.common.context; import io.iec.edp.caf.boot.context.CAFContext; -import lombok.Setter; /** * Classname RuntimeContext Description TODO Date 2019/8/20 14:11 @@ -26,8 +25,16 @@ import lombok.Setter; */ public class RuntimeContext { - @Setter public static String tenantID; + private static String language; + + public static void setTenantID(String tenantID) { + RuntimeContext.tenantID = tenantID; + } + + public static void setLanguage(String language) { + RuntimeContext.language = language; + } public static String getTenantID() { @@ -37,9 +44,6 @@ public class RuntimeContext { return tenantID; } - @Setter - private static String language; - public static String getLanguage() { try { language = CAFContext.current.getLanguage(); diff --git a/model/framework/common/src/main/java/com/inspur/edp/lcm/metadata/common/logging/MvnStreamConsumer.java b/model/framework/common/src/main/java/com/inspur/edp/lcm/metadata/common/logging/MvnStreamConsumer.java index 3620543..12714a9 100644 --- a/model/framework/common/src/main/java/com/inspur/edp/lcm/metadata/common/logging/MvnStreamConsumer.java +++ b/model/framework/common/src/main/java/com/inspur/edp/lcm/metadata/common/logging/MvnStreamConsumer.java @@ -17,8 +17,9 @@ package com.inspur.edp.lcm.metadata.common.logging; import com.inspur.lcm.metadata.logging.LoggerDisruptorQueue; import io.iec.edp.caf.boot.context.CAFContext; -import lombok.extern.slf4j.Slf4j; import org.apache.maven.shared.invoker.InvocationOutputHandler; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; /** * Classname MvnStreamConsumer Description 获取日志 Date 2020/3/4 11:32 @@ -26,8 +27,8 @@ import org.apache.maven.shared.invoker.InvocationOutputHandler; * @author zhongchq * @version 1.0 */ -@Slf4j public class MvnStreamConsumer implements InvocationOutputHandler { + private static final Logger log = LoggerFactory.getLogger(MvnStreamConsumer.class); private String exceptionString; diff --git a/model/framework/devtime-core/pom.xml b/model/framework/devtime-core/pom.xml index 6082276..de4c65a 100644 --- a/model/framework/devtime-core/pom.xml +++ b/model/framework/devtime-core/pom.xml @@ -15,6 +15,12 @@ io.iec.edp caf-business-object-api + + + lombok + org.projectlombok + + io.iec.edp diff --git a/model/framework/devtime-core/src/main/java/com/inspur/edp/lcm/metadata/core/MavenUtilsCore.java b/model/framework/devtime-core/src/main/java/com/inspur/edp/lcm/metadata/core/MavenUtilsCore.java index f69739e..00ceb92 100644 --- a/model/framework/devtime-core/src/main/java/com/inspur/edp/lcm/metadata/core/MavenUtilsCore.java +++ b/model/framework/devtime-core/src/main/java/com/inspur/edp/lcm/metadata/core/MavenUtilsCore.java @@ -23,7 +23,6 @@ import java.io.File; import java.io.IOException; import java.util.ArrayList; import java.util.List; -import lombok.extern.slf4j.Slf4j; import org.apache.maven.shared.invoker.DefaultInvocationRequest; import org.apache.maven.shared.invoker.DefaultInvoker; import org.apache.maven.shared.invoker.InvocationRequest; @@ -31,12 +30,15 @@ import org.apache.maven.shared.invoker.InvocationResult; import org.apache.maven.shared.utils.cli.CommandLineException; import org.codehaus.plexus.util.StringUtils; import org.codehaus.plexus.util.xml.pull.XmlPullParserException; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; /** * @author zhaoleitr */ -@Slf4j public class MavenUtilsCore { + private static final Logger log = LoggerFactory.getLogger(MavenUtilsCore.class); + private String mavenHomePath; private final DefaultInvoker invoker; diff --git a/model/framework/devtime-core/src/main/java/com/inspur/edp/lcm/metadata/core/MetadataCoreManager.java b/model/framework/devtime-core/src/main/java/com/inspur/edp/lcm/metadata/core/MetadataCoreManager.java index 7d2e459..dcbd4aa 100644 --- a/model/framework/devtime-core/src/main/java/com/inspur/edp/lcm/metadata/core/MetadataCoreManager.java +++ b/model/framework/devtime-core/src/main/java/com/inspur/edp/lcm/metadata/core/MetadataCoreManager.java @@ -96,15 +96,16 @@ import java.util.stream.Collectors; import java.util.zip.ZipEntry; import java.util.zip.ZipFile; import java.util.zip.ZipInputStream; -import lombok.extern.slf4j.Slf4j; import org.apache.commons.collections.CollectionUtils; import org.codehaus.plexus.util.StringUtils; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; /** * @author zhaoleitr */ -@Slf4j public class MetadataCoreManager { + private static final Logger log = LoggerFactory.getLogger(MetadataCoreManager.class); private final FileServiceImp fileService = new FileServiceImp(); private final MetadataProjectCoreService metadataProjectCoreService = new MetadataProjectCoreService(); diff --git a/model/framework/devtime-core/src/main/java/com/inspur/edp/lcm/metadata/core/MetadataIndexCacheService.java b/model/framework/devtime-core/src/main/java/com/inspur/edp/lcm/metadata/core/MetadataIndexCacheService.java index a977bd6..43d8c69 100644 --- a/model/framework/devtime-core/src/main/java/com/inspur/edp/lcm/metadata/core/MetadataIndexCacheService.java +++ b/model/framework/devtime-core/src/main/java/com/inspur/edp/lcm/metadata/core/MetadataIndexCacheService.java @@ -32,15 +32,17 @@ import java.util.Map; import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.locks.Lock; import java.util.concurrent.locks.ReentrantLock; -import lombok.extern.slf4j.Slf4j; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; /** * 元数据索引服务 * * @author zhaoleitr */ -@Slf4j public class MetadataIndexCacheService { + private static final Logger log = LoggerFactory.getLogger(MetadataIndexCacheService.class); + private static MetadataIndexCacheService singleton = null; private final FileServiceImp fileServiceImp = new FileServiceImp(); diff --git a/model/framework/devtime-core/src/main/java/com/inspur/edp/lcm/metadata/core/MetadataServiceImp.java b/model/framework/devtime-core/src/main/java/com/inspur/edp/lcm/metadata/core/MetadataServiceImp.java index bc1bd51..d80ff73 100644 --- a/model/framework/devtime-core/src/main/java/com/inspur/edp/lcm/metadata/core/MetadataServiceImp.java +++ b/model/framework/devtime-core/src/main/java/com/inspur/edp/lcm/metadata/core/MetadataServiceImp.java @@ -36,13 +36,15 @@ import java.io.IOException; import java.nio.file.Paths; import java.util.List; import java.util.Objects; -import lombok.extern.slf4j.Slf4j; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; /** * @author zhaoleitr */ -@Slf4j public class MetadataServiceImp implements MetadataService { + private static final Logger log = LoggerFactory.getLogger(MetadataServiceImp.class); + private final GspProjectService gspProjectService = new GspProjectServiceImp(); private final MetadataProjectCoreService metadataProjectService = new MetadataProjectCoreService(); private final MetadataCoreManager metadataCoreManager = new MetadataCoreManager(); diff --git a/model/framework/devtime-core/src/main/java/com/inspur/edp/lcm/metadata/core/PackageCoreService.java b/model/framework/devtime-core/src/main/java/com/inspur/edp/lcm/metadata/core/PackageCoreService.java index 2a8bb8c..42a9dab 100644 --- a/model/framework/devtime-core/src/main/java/com/inspur/edp/lcm/metadata/core/PackageCoreService.java +++ b/model/framework/devtime-core/src/main/java/com/inspur/edp/lcm/metadata/core/PackageCoreService.java @@ -80,7 +80,6 @@ import java.util.stream.Collectors; import java.util.zip.ZipEntry; import java.util.zip.ZipFile; import java.util.zip.ZipInputStream; -import lombok.extern.slf4j.Slf4j; import org.apache.maven.model.Dependency; import org.apache.maven.model.DeploymentRepository; import org.apache.maven.model.DistributionManagement; @@ -89,6 +88,8 @@ import org.apache.maven.model.Parent; import org.apache.maven.model.io.xpp3.MavenXpp3Reader; import org.apache.maven.model.io.xpp3.MavenXpp3Writer; import org.codehaus.plexus.util.xml.pull.XmlPullParserException; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import org.springframework.http.HttpEntity; import org.springframework.http.HttpHeaders; import org.springframework.http.HttpMethod; @@ -99,8 +100,8 @@ import org.springframework.web.client.RestTemplate; /** * @author zhaoleitr */ -@Slf4j public class PackageCoreService { + private static final Logger log = LoggerFactory.getLogger(PackageCoreService.class); private FileServiceImp fileServiceImp = new FileServiceImp(); private MavenUtilsCore mavenUtilsCore = new MavenUtilsCore(); diff --git a/model/framework/devtime-core/src/main/java/com/inspur/edp/lcm/metadata/core/RefCommonCoreService.java b/model/framework/devtime-core/src/main/java/com/inspur/edp/lcm/metadata/core/RefCommonCoreService.java index f86bf1d..9ff9be9 100644 --- a/model/framework/devtime-core/src/main/java/com/inspur/edp/lcm/metadata/core/RefCommonCoreService.java +++ b/model/framework/devtime-core/src/main/java/com/inspur/edp/lcm/metadata/core/RefCommonCoreService.java @@ -26,12 +26,10 @@ import com.inspur.edp.lcm.metadata.core.index.ProjectMetadataCacheService; import java.io.File; import java.util.ArrayList; import java.util.List; -import lombok.extern.slf4j.Slf4j; /** * @author zhaoleitr */ -@Slf4j public class RefCommonCoreService { private final MetadataCoreManager metadataManager = new MetadataCoreManager(); private final MetadataProjectCoreService projectService = new MetadataProjectCoreService(); diff --git a/model/framework/devtime-core/src/main/java/com/inspur/edp/lcm/metadata/core/config/JitRuntimeConfigLoader.java b/model/framework/devtime-core/src/main/java/com/inspur/edp/lcm/metadata/core/config/JitRuntimeConfigLoader.java index b49f2c4..337f883 100644 --- a/model/framework/devtime-core/src/main/java/com/inspur/edp/lcm/metadata/core/config/JitRuntimeConfigLoader.java +++ b/model/framework/devtime-core/src/main/java/com/inspur/edp/lcm/metadata/core/config/JitRuntimeConfigLoader.java @@ -25,20 +25,21 @@ import com.inspur.edp.lcm.metadata.common.FileServiceImp; import io.iec.edp.caf.common.environment.EnvironmentUtil; import java.io.IOException; import java.nio.file.Paths; -import lombok.Getter; -import lombok.Setter; public class JitRuntimeConfigLoader { private static final String SECTION_NAME = "JitRuntimeConfigration"; - @Getter - @Setter static JitRuntimeConfigration jitRuntimeConfigration; private static String fileName = "config/platform/common/lcm_gspprojectextend.json"; public JitRuntimeConfigLoader() { } + public static void setJitRuntimeConfigration( + JitRuntimeConfigration jitRuntimeConfigration) { + JitRuntimeConfigLoader.jitRuntimeConfigration = jitRuntimeConfigration; + } + protected JitRuntimeConfigration getJitRuntimeConfigration() { fileName = Paths.get(EnvironmentUtil.getServerRTPath()).resolve(fileName).toString(); diff --git a/model/framework/devtime-core/src/main/java/com/inspur/edp/lcm/metadata/ref/MavenUtilsImp.java b/model/framework/devtime-core/src/main/java/com/inspur/edp/lcm/metadata/ref/MavenUtilsImp.java index 78fb424..d7421b0 100644 --- a/model/framework/devtime-core/src/main/java/com/inspur/edp/lcm/metadata/ref/MavenUtilsImp.java +++ b/model/framework/devtime-core/src/main/java/com/inspur/edp/lcm/metadata/ref/MavenUtilsImp.java @@ -18,7 +18,6 @@ package com.inspur.edp.lcm.metadata.ref; import com.inspur.edp.lcm.metadata.api.service.MavenUtilsService; import com.inspur.edp.lcm.metadata.core.MavenUtilsCore; import com.inspur.edp.lcm.metadata.devcommon.ManagerUtils; -import lombok.extern.slf4j.Slf4j; /** * Classname MavenUtils Description mvn操作工具类 Date 2019/12/9 9:49 @@ -26,7 +25,6 @@ import lombok.extern.slf4j.Slf4j; * @author zhongchq * @version 1.0 */ -@Slf4j public class MavenUtilsImp implements MavenUtilsService { @Override diff --git a/model/framework/devtime-core/src/main/java/com/inspur/edp/lcm/metadata/ref/MdpkgServiceImp.java b/model/framework/devtime-core/src/main/java/com/inspur/edp/lcm/metadata/ref/MdpkgServiceImp.java index 425bbad..c25a7f5 100644 --- a/model/framework/devtime-core/src/main/java/com/inspur/edp/lcm/metadata/ref/MdpkgServiceImp.java +++ b/model/framework/devtime-core/src/main/java/com/inspur/edp/lcm/metadata/ref/MdpkgServiceImp.java @@ -27,12 +27,10 @@ import com.inspur.edp.lcm.metadata.devcommon.ManagerUtils; import io.iec.edp.caf.commons.utils.SpringBeanUtils; import java.io.IOException; import java.util.List; -import lombok.extern.slf4j.Slf4j; /** * 元数据服务 */ -@Slf4j public class MdpkgServiceImp implements MdpkgService { private MetadataProjectService metadataProjectService; diff --git a/model/framework/devtime-webapi/pom.xml b/model/framework/devtime-webapi/pom.xml index 0aaf73f..042cd1e 100644 --- a/model/framework/devtime-webapi/pom.xml +++ b/model/framework/devtime-webapi/pom.xml @@ -15,6 +15,12 @@ io.iec.edp caf-boot-starter-rest-server + + + lombok + org.projectlombok + + diff --git a/model/framework/generator-core/src/main/java/com/inspur/edp/jittojava/core/GenerateServiceCore.java b/model/framework/generator-core/src/main/java/com/inspur/edp/jittojava/core/GenerateServiceCore.java index 1ab8798..4b3d6ca 100644 --- a/model/framework/generator-core/src/main/java/com/inspur/edp/jittojava/core/GenerateServiceCore.java +++ b/model/framework/generator-core/src/main/java/com/inspur/edp/jittojava/core/GenerateServiceCore.java @@ -27,7 +27,6 @@ import java.nio.file.Paths; import java.util.ArrayList; import java.util.List; import java.util.stream.Collectors; -import lombok.extern.slf4j.Slf4j; import org.apache.maven.model.Model; import org.apache.maven.model.io.xpp3.MavenXpp3Reader; import org.apache.maven.model.io.xpp3.MavenXpp3Writer; @@ -35,7 +34,6 @@ import org.codehaus.plexus.util.xml.pull.XmlPullParserException; import org.dom4j.Document; import org.dom4j.Element; -@Slf4j public class GenerateServiceCore { public void generate(String absolutePath, String mavenPath) throws Exception { final GeneratorManager generatorManager = GeneratorManagerFactory.createGeneratorManager(absolutePath); diff --git a/model/framework/generator-core/src/main/java/com/inspur/edp/jittojava/core/GenerateServiceImp.java b/model/framework/generator-core/src/main/java/com/inspur/edp/jittojava/core/GenerateServiceImp.java index fb19618..33e5820 100644 --- a/model/framework/generator-core/src/main/java/com/inspur/edp/jittojava/core/GenerateServiceImp.java +++ b/model/framework/generator-core/src/main/java/com/inspur/edp/jittojava/core/GenerateServiceImp.java @@ -27,10 +27,8 @@ import java.nio.file.Paths; import java.util.Arrays; import java.util.List; import java.util.Properties; -import lombok.extern.slf4j.Slf4j; import org.codehaus.plexus.util.StringUtils; -@Slf4j public class GenerateServiceImp implements GenerateService { GenerateServiceCore generateServiceCore = new GenerateServiceCore(); diff --git a/model/framework/generator-core/src/main/java/com/inspur/edp/jittojava/core/manager/GeneratorManager.java b/model/framework/generator-core/src/main/java/com/inspur/edp/jittojava/core/manager/GeneratorManager.java index d32b9c2..24a6180 100644 --- a/model/framework/generator-core/src/main/java/com/inspur/edp/jittojava/core/manager/GeneratorManager.java +++ b/model/framework/generator-core/src/main/java/com/inspur/edp/jittojava/core/manager/GeneratorManager.java @@ -47,16 +47,18 @@ import java.io.IOException; import java.nio.file.Paths; import java.util.ArrayList; import java.util.List; -import lombok.extern.slf4j.Slf4j; import org.apache.commons.io.FileUtils; import org.apache.maven.model.Model; import org.apache.maven.model.Parent; import org.apache.maven.model.io.xpp3.MavenXpp3Reader; import org.apache.maven.model.io.xpp3.MavenXpp3Writer; import org.codehaus.plexus.util.xml.pull.XmlPullParserException; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; -@Slf4j public class GeneratorManager { + private static final Logger log = LoggerFactory.getLogger(GeneratorManager.class); + MetadataProjectCoreService metadataProjectCoreService = new MetadataProjectCoreService(); GspProjectCoreService gspProjectCoreService = new GspProjectCoreService(); MavenUtilsCore mavenUtilsCore = new MavenUtilsCore(); diff --git a/model/framework/generator-webapi/pom.xml b/model/framework/generator-webapi/pom.xml index 1153e91..2291d68 100644 --- a/model/framework/generator-webapi/pom.xml +++ b/model/framework/generator-webapi/pom.xml @@ -9,6 +9,8 @@ 4.0.0 ubml-model-framework-generator-webapi ${project.version} + ubml-model-framework-generator-webapi + org.openatom.ubml @@ -18,10 +20,14 @@ io.iec.edp caf-boot-starter-rest-server + + + lombok + org.projectlombok + + - ubml-model-framework-generator-webapi - 8 8 diff --git a/model/framework/generator-webapi/src/main/java/com/inspur/edp/jittojava/webapi/GenerateController.java b/model/framework/generator-webapi/src/main/java/com/inspur/edp/jittojava/webapi/GenerateController.java index a4872eb..2b37ecc 100644 --- a/model/framework/generator-webapi/src/main/java/com/inspur/edp/jittojava/webapi/GenerateController.java +++ b/model/framework/generator-webapi/src/main/java/com/inspur/edp/jittojava/webapi/GenerateController.java @@ -22,7 +22,6 @@ import javax.ws.rs.Path; import javax.ws.rs.Produces; import javax.ws.rs.QueryParam; import javax.ws.rs.core.MediaType; -import lombok.extern.slf4j.Slf4j; /** * @Classname GenerateServiceWebApiImp @@ -31,11 +30,9 @@ import lombok.extern.slf4j.Slf4j; * @Created by liu_bintr * @Version 1.0 */ -@Slf4j @Path("/") @Produces(MediaType.APPLICATION_JSON) public class GenerateController { - GenerateService generateService = SpringBeanUtils.getBean(GenerateService.class); @POST diff --git a/model/framework/metadata-shell/pom.xml b/model/framework/metadata-shell/pom.xml new file mode 100644 index 0000000..bc8d365 --- /dev/null +++ b/model/framework/metadata-shell/pom.xml @@ -0,0 +1,36 @@ + + + + ubml-model-framework + org.openatom.ubml + 0.9.0-SNAPSHOT + + 4.0.0 + ubml-model-framework-metadata-shell ${project.version} + ubml-model-framework-metadata-shell + + + 8 + 8 + + + + + org.springframework.boot + spring-boot-starter + + + org.springframework.shell + spring-shell-starter + + + + org.openatom.ubml + ubml-model-framework-devtime-core + ${project.version} + + + + \ No newline at end of file diff --git a/model/framework/metadata-shell/src/main/java/com/inspur/edp/lcm/metadata/ShellApplication.java b/model/framework/metadata-shell/src/main/java/com/inspur/edp/lcm/metadata/ShellApplication.java new file mode 100644 index 0000000..63b98ad --- /dev/null +++ b/model/framework/metadata-shell/src/main/java/com/inspur/edp/lcm/metadata/ShellApplication.java @@ -0,0 +1,38 @@ +/* + * Copyright © OpenAtom Foundation. + * + * 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.lcm.metadata; + +import org.jline.utils.AttributedString; +import org.jline.utils.AttributedStyle; +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; +import org.springframework.context.annotation.Bean; + +import static com.inspur.edp.lcm.metadata.shell.Utils.SPRING_SHELL_FLAG_NAME; +import static com.inspur.edp.lcm.metadata.shell.Utils.SPRING_SHELL_FLAG_TRUE; + +@SpringBootApplication(scanBasePackages = {"io.iec.edp", "com.inspur"}) +public class ShellApplication { + public static void main(String[] args) { + System.setProperty(SPRING_SHELL_FLAG_NAME, SPRING_SHELL_FLAG_TRUE); + SpringApplication.run(ShellApplication.class, args); + } + + @Bean + public org.springframework.shell.jline.PromptProvider myPromptProvider() { + return () -> new AttributedString("lcm-metadata-shell:>", AttributedStyle.DEFAULT.foreground(AttributedStyle.YELLOW)); + } +} diff --git a/model/framework/metadata-shell/src/main/java/com/inspur/edp/lcm/metadata/shell/MetadataCommand.java b/model/framework/metadata-shell/src/main/java/com/inspur/edp/lcm/metadata/shell/MetadataCommand.java new file mode 100644 index 0000000..6ce8eba --- /dev/null +++ b/model/framework/metadata-shell/src/main/java/com/inspur/edp/lcm/metadata/shell/MetadataCommand.java @@ -0,0 +1,206 @@ +/* + * Copyright © OpenAtom Foundation. + * + * 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.lcm.metadata.shell; + +import com.inspur.edp.lcm.metadata.api.entity.MetadataProject; +import com.inspur.edp.lcm.metadata.api.entity.ProcessMode; +import com.inspur.edp.lcm.metadata.api.mvnEntity.MavenPackageRefs; +import com.inspur.edp.lcm.metadata.api.service.FileService; +import com.inspur.edp.lcm.metadata.api.service.MetadataProjectService; +import com.inspur.edp.lcm.metadata.core.MavenUtilsCore; +import com.inspur.edp.lcm.metadata.core.MetadataCoreManager; +import com.inspur.edp.lcm.metadata.core.MetadataProjectServiceImp; +import com.inspur.edp.lcm.metadata.core.PackageCoreService; +import com.inspur.edp.lcm.metadata.core.PackageGenerateCoreService; +import com.inspur.edp.lcm.metadata.devcommon.ManagerUtils; +import java.io.File; +import java.io.FileInputStream; +import java.io.FileOutputStream; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; +import org.apache.maven.model.Dependency; +import org.apache.maven.model.Model; +import org.apache.maven.model.io.xpp3.MavenXpp3Reader; +import org.apache.maven.model.io.xpp3.MavenXpp3Writer; +import org.codehaus.plexus.util.xml.pull.XmlPullParserException; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.shell.standard.ShellComponent; +import org.springframework.shell.standard.ShellMethod; +import org.springframework.shell.standard.ShellOption; +import org.springframework.util.StringUtils; + +/** + * @author zhongchq + */ +@ShellComponent +public class MetadataCommand { + private static final Logger log = LoggerFactory.getLogger(MetadataCommand.class); + + MetadataProjectService metadataProjectService = new MetadataProjectServiceImp(); + + @Autowired + FileService fileService; + + String gspprojectJson = "gspproject.json"; + String defaultVersion = "0.1.0-SNAPSHOT"; + String code = "code"; + + @ShellMethod(key = "compile", value = "Compile Projects") + public void compile(String path, String mavenPath) { + path = path + File.separator + "java" + File.separator + "code"; + MavenUtilsCore mavenUtilsCore = new MavenUtilsCore(); + mavenUtilsCore.exeMavenCommand(path, mavenPath, "clean install"); + } + + //version为该工程的版本号。对于解析型,生成型默认的版本号为0.1.0-SNAPSHOT + @ShellMethod(key = "push", value = "Push Metadata.") + public void pushMetadata(String path, String repoId, String mavenPath, + @ShellOption(defaultValue = "0.1.0-SNAPSHOT") String version) { + ManagerUtils.setMavenStoragePath(mavenPath); + final ProcessMode processMode = metadataProjectService.getProcessMode(path); + PackageCoreService packageCoreService = new PackageCoreService(); + switch (processMode.toString()) { + case "interpretation": + packageCoreService.deployMdpkgForInterpretation(path, repoId, version, null, mavenPath); + break; + default: + packageCoreService.deploySnapshotMdVersion(path, repoId, version, false, mavenPath); + } + } + + /*** + * @author zhongchq + * @param path 工程路径 + **/ + @ShellMethod(key = "compileall", value = "Compile All Projects UnderDir") + public void compileAllProjects(String path, String mavenPath) { + List allDirectories = new ArrayList<>(); + List directories = fileService.getAllProjectsDirectories(path, allDirectories, gspprojectJson); + MavenUtilsCore mavenUtilsCore = new MavenUtilsCore(); + for (String proDir : directories) { + proDir = proDir + File.separator + "java" + File.separator + "code"; + mavenUtilsCore.exeMavenCommand(proDir, mavenPath, "clean install"); + } + } + + @ShellMethod(key = "extract", value = "Extract Package.") + public void extract(String path, String desDir) { + List allDirectories = new ArrayList<>(); + List directories = fileService.getAllProjectsDirectories(path, allDirectories, gspprojectJson); + for (String directory : directories) { + String publishDir = directory + File.separator + "publish"; + if (new File(publishDir).exists()) { + fileService.folderCopy(publishDir, desDir); + } + } + } + + @ShellMethod(key = "restore", value = "Pull Metadata Package.") + public void restore(String path, String mavenPath) { + String packagePathT = Utils.createTempDir(); + try { + PackageCoreService mdPkgService = new PackageCoreService(); + mdPkgService.restore(path, true, mavenPath, packagePathT); + log.info("restore complete"); + } finally { + log.info("clear temp files"); + Utils.delDir(packagePathT); + log.info("clear complete"); + } + } + + @ShellMethod(key = "restoreWithPath", value = "Pull Metadata Package with packagePath.") + public void restore(String path, String mavenPath, String packagePath) { + String packagePathT = ""; + if (StringUtils.isEmpty(packagePath)) { + packagePathT = Utils.createTempDir(); + } + try { + PackageCoreService mdPkgService = new PackageCoreService(); + mdPkgService.restore(path, true, mavenPath, packagePathT); + } finally { + if (StringUtils.isEmpty(packagePath)) { + Utils.delDir(packagePathT); + } + } + } + +// @ShellMethod(key = "generatecode",value = "Generate Code.") +//// public void generateCode(String path) throws Exception { +//// generateService.generate(path); +//// } + + @ShellMethod(key = "packmd", value = "Generate Metadata Package.") + public void generateMdPack(String path) { + path = path + File.separator + "metadata"; +// ManagerUtils.setDevRootPath(devPath); + PackageGenerateCoreService packageGenerateCoreService = new PackageGenerateCoreService(); + packageGenerateCoreService.generatePackage(path); + log.info("元数据打包完成!"); + } + + /** + * @param boPath bo工程所在路径,相对于projects.eg:bf/df + * @throws IOException IO异常 + * @author zhongchq + **/ + @ShellMethod("Update Api Modules Dependencies Version.") + void updateApiDependencies(String boPath) throws IOException { + File projDir = new File(boPath); + List allDirectories = new ArrayList<>(); + List directories = fileService.getAllProjectsDirectories(boPath, allDirectories, gspprojectJson); + for (String dir : directories) { + File file = new File(dir); + String mdprojPath = "metadata" + File.separator + file.getName() + ".mdproj"; + MetadataCoreManager manager = new MetadataCoreManager(); + MetadataProject metadataProjInfo = manager.getMetadataProjInfo(file.getPath() + File.separator + mdprojPath); + List refs = metadataProjInfo.getMavenPackageRefs(); + String apiPath = file.getPath() + "/java/code/api/pom.xml"; + if (!(refs == null)) { + try (FileInputStream fis = new FileInputStream(apiPath)) { + MavenXpp3Reader reader = new MavenXpp3Reader(); + Model model = reader.read(fis); + List dependencies = model.getDependencies(); + dependencies.clear(); + if (refs.size() > 0) { + for (MavenPackageRefs ref : refs) { + Dependency dependency = new Dependency(); + dependency.setGroupId(ref.getGroupId()); + dependency.setArtifactId(ref.getArtifactId()); + if (ref.getVersion().startsWith("m")) { + dependency.setVersion(ref.getVersion().substring(1)); + } else { + dependency.setVersion(ref.getVersion()); + } + dependencies.add(dependency); + } + } + model.setDependencies(dependencies); + MavenXpp3Writer mavenXpp3Writer = new MavenXpp3Writer(); + try (FileOutputStream fileOutputStream = new FileOutputStream(apiPath)) { + mavenXpp3Writer.write(fileOutputStream, model); + } + } catch (IOException | XmlPullParserException e) { + throw new IOException("update apimodules error!", e); + } + } + + } + } +} \ No newline at end of file diff --git a/model/framework/metadata-shell/src/main/java/com/inspur/edp/lcm/metadata/shell/StringCommandRunner.java b/model/framework/metadata-shell/src/main/java/com/inspur/edp/lcm/metadata/shell/StringCommandRunner.java new file mode 100644 index 0000000..be7eacd --- /dev/null +++ b/model/framework/metadata-shell/src/main/java/com/inspur/edp/lcm/metadata/shell/StringCommandRunner.java @@ -0,0 +1,69 @@ +/* + * Copyright © OpenAtom Foundation. + * + * 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.lcm.metadata.shell; + +import java.util.List; +import java.util.PriorityQueue; +import java.util.Queue; +import java.util.stream.Collectors; +import org.jline.reader.Parser; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.ApplicationArguments; +import org.springframework.boot.ApplicationRunner; +import org.springframework.context.annotation.Lazy; +import org.springframework.core.annotation.Order; +import org.springframework.core.env.ConfigurableEnvironment; +import org.springframework.shell.Shell; +import org.springframework.shell.jline.InteractiveShellApplicationRunner; + +/** + * @Description: 自定义命令Runner, 启动应用后直接执行多条命令, 执行后结束 + */ +@Order(InteractiveShellApplicationRunner.PRECEDENCE - 50) // order 越小, 越先执行 +public class StringCommandRunner implements ApplicationRunner { + + @Lazy + @Autowired + private Parser parser; + + @Lazy + @Autowired + private Shell shell; + + @Lazy + @Autowired + private ConfigurableEnvironment environment; + + @Override + public void run(ApplicationArguments args) throws Exception { + //过滤掉所有@开头的参数, @开头的参数交给ScriptShellApplicationRunner 处理 + List cmds = args.getNonOptionArgs().stream() + .filter(s -> !s.startsWith("@")) + .collect(Collectors.toList()); + + //如果启动参数中, 命令不为空, 则执行 + if (cmds.size() > 0) { + // 关闭交互式应用: 确保关闭应用后, 直接退出应用, 不停留在交互式窗口中 + InteractiveShellApplicationRunner.disable(environment); + + // 将所有命令存储到队列中 + Queue queue = new PriorityQueue<>(cmds); + + // 执行命令 + shell.run(new StringInputProvider(parser, queue)); + } + } +} \ No newline at end of file diff --git a/model/framework/metadata-shell/src/main/java/com/inspur/edp/lcm/metadata/shell/StringInputProvider.java b/model/framework/metadata-shell/src/main/java/com/inspur/edp/lcm/metadata/shell/StringInputProvider.java new file mode 100644 index 0000000..4e4080f --- /dev/null +++ b/model/framework/metadata-shell/src/main/java/com/inspur/edp/lcm/metadata/shell/StringInputProvider.java @@ -0,0 +1,50 @@ +/* + * Copyright © OpenAtom Foundation. + * + * 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.lcm.metadata.shell; + +import java.util.Queue; +import org.jline.reader.ParsedLine; +import org.jline.reader.Parser; +import org.springframework.shell.Input; +import org.springframework.shell.InputProvider; + +/* + * 读取命令 + */ +public class StringInputProvider implements InputProvider { + + // 存储要执行的所有命令 + private Queue commands; + + private final Parser parser; + + public StringInputProvider(Parser parser, Queue commands) { + this.parser = parser; + this.commands = commands; + } + + @Override + public Input readInput() { + String command = commands.poll(); + if (command == null) { + // return null 时退出应用 + return null; + } else { + ParsedLine parsedLine = parser.parse(command, command.length()); + return new StringParsedLineInput(parsedLine); + } + } +} \ No newline at end of file diff --git a/model/framework/metadata-shell/src/main/java/com/inspur/edp/lcm/metadata/shell/StringParsedLineInput.java b/model/framework/metadata-shell/src/main/java/com/inspur/edp/lcm/metadata/shell/StringParsedLineInput.java new file mode 100644 index 0000000..e667814 --- /dev/null +++ b/model/framework/metadata-shell/src/main/java/com/inspur/edp/lcm/metadata/shell/StringParsedLineInput.java @@ -0,0 +1,51 @@ +/* + * Copyright © OpenAtom Foundation. + * + * 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.lcm.metadata.shell; + +import java.util.List; +import java.util.stream.Collectors; +import org.jline.reader.ParsedLine; +import org.springframework.shell.Input; + +/* + * 自定义行解析, 复制的底层代码: org.springframework.shell.jline.ParsedLineInput + */ +public class StringParsedLineInput implements Input { + + private final ParsedLine parsedLine; + + StringParsedLineInput(ParsedLine parsedLine) { + this.parsedLine = parsedLine; + } + + @Override + public String rawText() { + return parsedLine.line(); + } + + @Override + public List words() { + return sanitizeInput(parsedLine.words()); + } + + static List sanitizeInput(List words) { + words = words.stream() + .map(s -> s.replaceAll("^\\n+|\\n+$", "")) + .map(s -> s.replaceAll("\\n+", " ")) + .collect(Collectors.toList()); + return words; + } +} \ No newline at end of file diff --git a/model/framework/metadata-shell/src/main/java/com/inspur/edp/lcm/metadata/shell/Utils.java b/model/framework/metadata-shell/src/main/java/com/inspur/edp/lcm/metadata/shell/Utils.java new file mode 100644 index 0000000..f5c6bc2 --- /dev/null +++ b/model/framework/metadata-shell/src/main/java/com/inspur/edp/lcm/metadata/shell/Utils.java @@ -0,0 +1,49 @@ +/* + * Copyright © OpenAtom Foundation. + * + * 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.lcm.metadata.shell; + +import java.io.File; + +public class Utils { + public static final String SPRING_SHELL_FLAG_NAME = "spring-shell"; + public static final String SPRING_SHELL_FLAG_TRUE = "1"; + + public static void delDir(String filePath) { + File file = new File(filePath); + if (file.exists()) + delDir(file); + } + + public static void delDir(File file) { + if (file.isDirectory()) { + File zFiles[] = file.listFiles(); + for (File file2 : zFiles) { + delDir(file2); + } + file.delete(); + } else { + file.delete(); + } + } + + public static String createTempDir() { + File file = new File("packages"); + if (file.exists()) + file = new File("packages" + Runtime.getRuntime()); + file.mkdir(); + return file.getPath(); + } +} diff --git a/model/framework/metadata-shell/src/main/java/com/inspur/edp/lcm/metadata/shell/config/ShellConfiguration.java b/model/framework/metadata-shell/src/main/java/com/inspur/edp/lcm/metadata/shell/config/ShellConfiguration.java new file mode 100644 index 0000000..0190120 --- /dev/null +++ b/model/framework/metadata-shell/src/main/java/com/inspur/edp/lcm/metadata/shell/config/ShellConfiguration.java @@ -0,0 +1,34 @@ +/* + * Copyright © OpenAtom Foundation. + * + * 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.lcm.metadata.shell.config; + +import com.inspur.edp.lcm.metadata.shell.StringCommandRunner; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; + +/** + * Classname RefConfiguration Description ref配置类 Date 2019/11/28 10:34 + * + * @author zhongchq + * @version 1.0 + */ +@Configuration +public class ShellConfiguration { + @Bean + public StringCommandRunner create() { + return new StringCommandRunner(); + } +} diff --git a/model/framework/metadata-shell/src/main/resources/META-INF/spring.factories b/model/framework/metadata-shell/src/main/resources/META-INF/spring.factories new file mode 100644 index 0000000..6c7a393 --- /dev/null +++ b/model/framework/metadata-shell/src/main/resources/META-INF/spring.factories @@ -0,0 +1 @@ +org.springframework.boot.autoconfigure.EnableAutoConfiguration=com.inspur.edp.lcm.metadata.shell.config.ShellConfiguration \ No newline at end of file diff --git a/model/framework/metadata-shell/src/main/resources/application.yaml b/model/framework/metadata-shell/src/main/resources/application.yaml new file mode 100644 index 0000000..e6724a6 --- /dev/null +++ b/model/framework/metadata-shell/src/main/resources/application.yaml @@ -0,0 +1,8 @@ +application: + version: 0.1.0-SNAPSHOT +logging: + pattern: + console: "%date{yyyy-MM-dd HH:mm:ss.SSS}[%level][%thread]-%msg%n" + level: + root: warn + com.inspur.edp.lcm.metadata.shell.ShellApplication: warn \ No newline at end of file diff --git a/model/framework/metadata-shell/src/main/resources/banner.txt b/model/framework/metadata-shell/src/main/resources/banner.txt new file mode 100644 index 0000000..08bdee9 --- /dev/null +++ b/model/framework/metadata-shell/src/main/resources/banner.txt @@ -0,0 +1,10 @@ +${AnsiColor.BRIGHT_YELLOW} ${AnsiStyle.BOLD} +Welcome to +// .__ ________ .___ ____ ___ ______ +// |__| / _____/ | |\ \/ / \ \ \ \ +// | |/ \ ___ | | \ / \ \ \ \ +// | |\ \_\ \| | / \ ) ) ) ) +// |__| \______ /|___|/___/\ \ / / / / +// ==============\/============\_/ /_/_/_/ + +iGIX Development Kit (${application.version}) \ No newline at end of file diff --git a/model/framework/pom.xml b/model/framework/pom.xml index 48eebed..c7dfa2f 100644 --- a/model/framework/pom.xml +++ b/model/framework/pom.xml @@ -26,11 +26,13 @@ generator-spi generator-core generator-webapi + metadata-shell 2.2.0.RELEASE 1.2.62 + 2.0.1.RELEASE 0.3.7-SNAPSHOT 0.3.2 @@ -63,6 +65,16 @@ fastjson ${fastjson.version} + + org.springframework.boot + spring-boot-starter + ${spring-boot.version} + + + org.springframework.shell + spring-shell-starter + ${spring-shell-starter.version} + io.iec.edp diff --git a/model/framework/runtime-core/src/main/java/com/inspur/edp/lcm/metadata/rtservice/MetadataRTServiceImp.java b/model/framework/runtime-core/src/main/java/com/inspur/edp/lcm/metadata/rtservice/MetadataRTServiceImp.java index 512e9e1..db382f3 100644 --- a/model/framework/runtime-core/src/main/java/com/inspur/edp/lcm/metadata/rtservice/MetadataRTServiceImp.java +++ b/model/framework/runtime-core/src/main/java/com/inspur/edp/lcm/metadata/rtservice/MetadataRTServiceImp.java @@ -36,9 +36,7 @@ import io.iec.edp.caf.commons.utils.SpringBeanUtils; import io.iec.edp.caf.rpc.api.service.RpcClient; import java.util.LinkedHashMap; import java.util.List; -import lombok.extern.slf4j.Slf4j; -@Slf4j public class MetadataRTServiceImp implements MetadataRTService { MetadataRtUtils utils = new MetadataRtUtils(); diff --git a/model/framework/runtime-core/src/main/java/com/inspur/edp/lcm/metadata/servermanager/MetadataRTServerServiceImpl.java b/model/framework/runtime-core/src/main/java/com/inspur/edp/lcm/metadata/servermanager/MetadataRTServerServiceImpl.java index 749c351..78b0ef1 100644 --- a/model/framework/runtime-core/src/main/java/com/inspur/edp/lcm/metadata/servermanager/MetadataRTServerServiceImpl.java +++ b/model/framework/runtime-core/src/main/java/com/inspur/edp/lcm/metadata/servermanager/MetadataRTServerServiceImpl.java @@ -69,14 +69,16 @@ import java.util.zip.ZipEntry; import java.util.zip.ZipFile; import java.util.zip.ZipInputStream; import javax.annotation.PostConstruct; -import lombok.extern.slf4j.Slf4j; import org.codehaus.plexus.util.StringUtils; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; /** * @author zhaoleitr */ -@Slf4j public class MetadataRTServerServiceImpl implements MetadataRTServerService { + private static final Logger log = LoggerFactory.getLogger(MetadataRTServerServiceImpl.class); + FileService fileService = new FileServiceImp(); private II18nResourceRTManager i18nResourceRtManager; diff --git a/model/framework/runtime-core/src/main/java/com/inspur/edp/lcm/metadata/servermanager/monitor/MonitorInitializer.java b/model/framework/runtime-core/src/main/java/com/inspur/edp/lcm/metadata/servermanager/monitor/MonitorInitializer.java index 398d2eb..3e8b330 100644 --- a/model/framework/runtime-core/src/main/java/com/inspur/edp/lcm/metadata/servermanager/monitor/MonitorInitializer.java +++ b/model/framework/runtime-core/src/main/java/com/inspur/edp/lcm/metadata/servermanager/monitor/MonitorInitializer.java @@ -18,10 +18,12 @@ package com.inspur.edp.lcm.metadata.servermanager.monitor; import com.inspur.edp.lcm.metadata.common.FileServiceImp; import io.iec.edp.caf.common.environment.EnvironmentUtil; import javax.annotation.PostConstruct; -import lombok.extern.slf4j.Slf4j; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; -@Slf4j public class MonitorInitializer { + private static final Logger log = LoggerFactory.getLogger(MonitorInitializer.class); + private final String mdpkgSuffix = ".mdpkg"; private final String metatdataPath = "metadata"; diff --git a/model/framework/runtime-core/src/main/java/com/inspur/edp/lcm/metadata/servermanager/persistent/MetadataPackageRepositoryImp.java b/model/framework/runtime-core/src/main/java/com/inspur/edp/lcm/metadata/servermanager/persistent/MetadataPackageRepositoryImp.java index 3e8a7d5..8b41f79 100644 --- a/model/framework/runtime-core/src/main/java/com/inspur/edp/lcm/metadata/servermanager/persistent/MetadataPackageRepositoryImp.java +++ b/model/framework/runtime-core/src/main/java/com/inspur/edp/lcm/metadata/servermanager/persistent/MetadataPackageRepositoryImp.java @@ -36,7 +36,8 @@ import java.util.List; import java.util.zip.ZipEntry; import java.util.zip.ZipFile; import java.util.zip.ZipInputStream; -import lombok.extern.slf4j.Slf4j; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; /** * Classname MetadataPackageRepositoryImp Description TODO Date 2019/8/21 17:04 @@ -44,8 +45,8 @@ import lombok.extern.slf4j.Slf4j; * @author zhongchq * @version 1.0 */ -@Slf4j public class MetadataPackageRepositoryImp implements MetadataPackageRepository { + private static final Logger log = LoggerFactory.getLogger(MetadataPackageRepositoryImp.class); // @Autowired //TODO 依赖注入会是null,此类还未被初始化。 FileService fileService = new FileServiceImp(); diff --git a/model/vo/definition/src/main/java/org/openatom/ubml/model/vo/definition/common/ConvertUtils.java b/model/vo/definition/src/main/java/org/openatom/ubml/model/vo/definition/common/ConvertUtils.java index b3ebb6f..726d409 100644 --- a/model/vo/definition/src/main/java/org/openatom/ubml/model/vo/definition/common/ConvertUtils.java +++ b/model/vo/definition/src/main/java/org/openatom/ubml/model/vo/definition/common/ConvertUtils.java @@ -72,7 +72,6 @@ //import org.openatom.ubml.model.vo.definition.common.mapping.GspVoElementSourceType; //import org.openatom.ubml.model.vo.definition.common.mapping.GspVoObjectMapping; //import org.openatom.ubml.model.vo.definition.common.mapping.GspVoObjectSourceType; -//import lombok.var; // //import java.util.ArrayList; //import java.util.List; diff --git a/model/vo/definition/src/main/java/org/openatom/ubml/model/vo/definition/extendinfo/entity/GspVoExtendInfo.java b/model/vo/definition/src/main/java/org/openatom/ubml/model/vo/definition/extendinfo/entity/GspVoExtendInfo.java index fae9fa8..49a3a33 100644 --- a/model/vo/definition/src/main/java/org/openatom/ubml/model/vo/definition/extendinfo/entity/GspVoExtendInfo.java +++ b/model/vo/definition/src/main/java/org/openatom/ubml/model/vo/definition/extendinfo/entity/GspVoExtendInfo.java @@ -20,7 +20,6 @@ import java.util.Date; import javax.persistence.Entity; import javax.persistence.Id; import javax.persistence.Table; -import lombok.NoArgsConstructor; /** * The Josn Deserializer Of Biz Operation @@ -32,10 +31,12 @@ import lombok.NoArgsConstructor; */ @Entity @Table(name = "GspViewModel") -@NoArgsConstructor @JsonIgnoreProperties(ignoreUnknown = true) public class GspVoExtendInfo { + public GspVoExtendInfo() { + } + public GspVoExtendInfo(String id, String extendInfo, String configId, String createdBy, Date createdOn, String lastChangedBy, Date lastChangedOn) { this.id = id; diff --git a/model/vo/definition/src/main/java/org/openatom/ubml/model/vo/definition/json/operation/VmActionCollectionSerializer.java b/model/vo/definition/src/main/java/org/openatom/ubml/model/vo/definition/json/operation/VmActionCollectionSerializer.java index f4dd0e1..e4ddfd5 100644 --- a/model/vo/definition/src/main/java/org/openatom/ubml/model/vo/definition/json/operation/VmActionCollectionSerializer.java +++ b/model/vo/definition/src/main/java/org/openatom/ubml/model/vo/definition/json/operation/VmActionCollectionSerializer.java @@ -22,7 +22,6 @@ import org.openatom.ubml.model.common.definition.cef.json.SerializerUtils; import org.openatom.ubml.model.vo.definition.action.ViewModelAction; import org.openatom.ubml.model.vo.definition.action.ViewModelActionType; import org.openatom.ubml.model.vo.definition.collection.VMActionCollection; -import lombok.var; /** * The Josn Serializer Of View Model Action Collection * -- Gitee