You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@servicecomb.apache.org by ch...@apache.org on 2019/12/30 03:26:06 UTC

[servicecomb-toolkit] 01/02: [SCB-1679] adjust main class package

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 <18...@163.com>
AuthorDate: Tue Dec 24 09:48:59 2019 +0800

    [SCB-1679] adjust main class package
    
    Signed-off-by: kakulisen <18...@163.com>
---
 .../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());