This is an automated email from the ASF dual-hosted git repository. chanjarster pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/servicecomb-toolkit.git
commit 0903b5edf07d359070a468d229963333e889558b Author: kakulisen <[email protected]> AuthorDate: Tue Dec 24 09:48:59 2019 +0800 [SCB-1679] adjust main class package Signed-off-by: kakulisen <[email protected]> --- .../java/org/apache/servicecomb/toolkit/cli/CodeGenerate.java | 11 ++++++++--- .../servicecomb/toolkit/codegen/AbstractJavaCodegenExt.java | 11 +++++++++++ .../servicecomb/toolkit/codegen/ServiceCombCodegen.java | 8 -------- .../servicecomb/toolkit/codegen/SpringCloudCodegen.java | 5 ----- 4 files changed, 19 insertions(+), 16 deletions(-) diff --git a/cli/src/main/java/org/apache/servicecomb/toolkit/cli/CodeGenerate.java b/cli/src/main/java/org/apache/servicecomb/toolkit/cli/CodeGenerate.java index 36a21a2..4db0c82 100755 --- a/cli/src/main/java/org/apache/servicecomb/toolkit/cli/CodeGenerate.java +++ b/cli/src/main/java/org/apache/servicecomb/toolkit/cli/CodeGenerate.java @@ -98,10 +98,15 @@ public class CodeGenerate implements Runnable { @Override public void run() { - CodegenConfigurator configurator = new CodegenConfigurator(); - CodeGenerator codegenerator = GeneratorFactory.getGenerator(CodeGenerator.class, "default"); + if (codegenerator == null) { + LOGGER.warn("Not CodeGenerator found"); + return; + } + + CodegenConfigurator configurator = new CodegenConfigurator(); + // add additional property Optional.ofNullable(properties).ifPresent(properties -> Arrays.stream(properties.split(",")).forEach(property -> { @@ -151,7 +156,7 @@ public class CodeGenerate implements Runnable { return; } } else { - configurator.setInputSpec(specFile); + configurator.setInputSpec(specFile).addAdditionalProperty("apiName", contractFile.getName().split("\\.")[0]); codegenerator.configure(Collections.singletonMap("configurator", configurator)); codegenerator.generate(); } diff --git a/codegen/src/main/java/org/apache/servicecomb/toolkit/codegen/AbstractJavaCodegenExt.java b/codegen/src/main/java/org/apache/servicecomb/toolkit/codegen/AbstractJavaCodegenExt.java index 92fdc5a..ccfdbb4 100644 --- a/codegen/src/main/java/org/apache/servicecomb/toolkit/codegen/AbstractJavaCodegenExt.java +++ b/codegen/src/main/java/org/apache/servicecomb/toolkit/codegen/AbstractJavaCodegenExt.java @@ -21,6 +21,7 @@ import java.util.LinkedHashMap; import java.util.List; import java.util.Map; +import org.apache.commons.lang3.StringUtils; import org.openapitools.codegen.CodegenModel; import org.openapitools.codegen.CodegenProperty; import org.openapitools.codegen.languages.AbstractJavaCodegen; @@ -46,7 +47,17 @@ public abstract class AbstractJavaCodegenExt extends AbstractJavaCodegen { apiPackage = groupId + "." + artifactId + ".api"; modelPackage = groupId + "." + artifactId + ".model"; mainClassPackage = groupId + "." + artifactId; + } + @Override + public void processOpts() { + super.processOpts(); + if (StringUtils.isEmpty((String) additionalProperties.get("mainClassPackage"))) { + mainClassPackage = apiPackage.substring(0, apiPackage.lastIndexOf(".")); + additionalProperties.put("mainClassPackage", mainClassPackage); + } else { + mainClassPackage = (String) additionalProperties.get("mainClassPackage"); + } } @Override diff --git a/codegen/src/main/java/org/apache/servicecomb/toolkit/codegen/ServiceCombCodegen.java b/codegen/src/main/java/org/apache/servicecomb/toolkit/codegen/ServiceCombCodegen.java index 8b15e44..020976d 100755 --- a/codegen/src/main/java/org/apache/servicecomb/toolkit/codegen/ServiceCombCodegen.java +++ b/codegen/src/main/java/org/apache/servicecomb/toolkit/codegen/ServiceCombCodegen.java @@ -20,18 +20,15 @@ package org.apache.servicecomb.toolkit.codegen; import static org.openapitools.codegen.utils.StringUtils.camelize; import java.io.File; -import java.util.LinkedHashMap; import java.util.List; import java.util.Map; import java.util.Optional; -import org.apache.commons.lang3.StringUtils; import org.openapitools.codegen.CliOption; import org.openapitools.codegen.CodegenConstants; import org.openapitools.codegen.CodegenModel; import org.openapitools.codegen.CodegenProperty; import org.openapitools.codegen.CodegenType; -import org.openapitools.codegen.SupportingFile; import org.openapitools.codegen.languages.SpringCodegen; import io.swagger.codegen.mustache.CamelCaseLambda; @@ -139,11 +136,6 @@ public class ServiceCombCodegen extends AbstractJavaCodegenExt { importMapping.put("OffsetDateTime", "java.time.OffsetDateTime"); additionalProperties.put("dateLibrary", "java8"); - if (StringUtils.isEmpty((String) additionalProperties.get("mainClassPackage"))) { - additionalProperties.put("mainClassPackage", mainClassPackage); - } else { - mainClassPackage = (String) additionalProperties.get("mainClassPackage"); - } additionalProperties.put("camelcase", new CamelCaseLambda()); additionalProperties.put("getGenericClassType", new GetGenericClassTypeLambda()); additionalProperties.put("getRelativeBasePath", new GetRelativeBasePathLambda()); diff --git a/codegen/src/main/java/org/apache/servicecomb/toolkit/codegen/SpringCloudCodegen.java b/codegen/src/main/java/org/apache/servicecomb/toolkit/codegen/SpringCloudCodegen.java index e882b65..abcaa99 100644 --- a/codegen/src/main/java/org/apache/servicecomb/toolkit/codegen/SpringCloudCodegen.java +++ b/codegen/src/main/java/org/apache/servicecomb/toolkit/codegen/SpringCloudCodegen.java @@ -64,11 +64,6 @@ public class SpringCloudCodegen extends AbstractJavaCodegenExt { importMapping.put("OffsetDateTime", "java.time.OffsetDateTime"); additionalProperties.put("dateLibrary", "java8"); - if (StringUtils.isEmpty((String) additionalProperties.get("mainClassPackage"))) { - additionalProperties.put("mainClassPackage", mainClassPackage); - } else { - mainClassPackage = (String) additionalProperties.get("mainClassPackage"); - } additionalProperties.put("camelcase", new CamelCaseLambda()); additionalProperties.put("apiTemplateFiles", apiTemplateFiles); additionalProperties.put("getGenericClassType", new GetGenericClassTypeLambda());
