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());