From ab8844da6987d8d8c0bdebf927a0283a25626dab Mon Sep 17 00:00:00 2001 From: Tom Date: Tue, 12 Jun 2018 15:52:07 +0200 Subject: [PATCH 1/5] Added serviceSuffix and serviceFileSuffix parameters to control the suffixes of generated class and file names --- .../TypeScriptAngularClientCodegen.java | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/TypeScriptAngularClientCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/TypeScriptAngularClientCodegen.java index a3cd59c3c20b..9afa1bf326c0 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/TypeScriptAngularClientCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/TypeScriptAngularClientCodegen.java @@ -43,11 +43,14 @@ public class TypeScriptAngularClientCodegen extends AbstractTypeScriptClientCode public static final String TAGGED_UNIONS = "taggedUnions"; public static final String NG_VERSION = "ngVersion"; public static final String PROVIDED_IN_ROOT ="providedInRoot"; - + public static final String SERVICE_SUFFIX = "serviceSuffix"; + public static final String SERVICE_FILE_SUFFIX = "serviceFileSuffix"; protected String npmName = null; protected String npmVersion = "1.0.0"; protected String npmRepository = null; + protected String serviceSuffix = "Service"; + protected String serviceFileSuffix = "service"; private boolean taggedUnions = false; @@ -81,6 +84,8 @@ public TypeScriptAngularClientCodegen() { "Use this property to provide Injectables in root (it is only valid in angular version greater or equal to 6.0.0).", SchemaTypeUtil.BOOLEAN_TYPE).defaultValue(Boolean.FALSE.toString())); this.cliOptions.add(new CliOption(NG_VERSION, "The version of Angular. Default is '4.3'")); + this.cliOptions.add(new CliOption(SERVICE_SUFFIX, "The suffix of the generated service. Default is Service")); + this.cliOptions.add(new CliOption(SERVICE_FILE_SUFFIX, "The suffix of the file of the generated service (service..ts). Default is service")); } @Override @@ -159,6 +164,12 @@ public void processOpts() { if (!ngVersion.atLeast("4.3.0")) { supportingFiles.add(new SupportingFile("rxjs-operators.mustache", getIndexDirectory(), "rxjs-operators.ts")); } + if (additionalProperties.containsKey(SERVICE_SUFFIX)) { + serviceSuffix = additionalProperties.get(SERVICE_SUFFIX).toString(); + } + if (additionalProperties.containsKey(SERVICE_FILE_SUFFIX)) { + serviceFileSuffix = additionalProperties.get(SERVICE_FILE_SUFFIX).toString(); + } } private void addNpmPackageGeneration(SemVer ngVersion) { @@ -418,7 +429,7 @@ public String toApiName(String name) { if (name.length() == 0) { return "DefaultService"; } - return initialCaps(name) + "Service"; + return initialCaps(name) + serviceSuffix; } @Override @@ -426,7 +437,7 @@ public String toApiFilename(String name) { if (name.length() == 0) { return "default.service"; } - return camelize(name, true) + ".service"; + return camelize(name, true) + "." + serviceFileSuffix; } @Override From 1dcf4602d0f8d893dc766581f330d2da1836f6c0 Mon Sep 17 00:00:00 2001 From: Tom Date: Tue, 12 Jun 2018 16:22:30 +0200 Subject: [PATCH 2/5] Updated TypeScriptAngularClientOptionsProvider to include the new serviceSuffix and serviceFileSuffix parameters --- .../options/TypeScriptAngularClientOptionsProvider.java | 4 ++++ .../typescript-angular-v2/default/.openapi-generator/VERSION | 2 +- .../with-interfaces/.openapi-generator/VERSION | 2 +- .../typescript-angular-v4.3/npm/.openapi-generator/VERSION | 2 +- .../typescript-angular-v4/npm/.openapi-generator/VERSION | 2 +- .../default/.openapi-generator/VERSION | 2 +- .../default/.openapi-generator/VERSION | 2 +- 7 files changed, 10 insertions(+), 6 deletions(-) diff --git a/modules/openapi-generator/src/test/java/org/openapitools/codegen/options/TypeScriptAngularClientOptionsProvider.java b/modules/openapi-generator/src/test/java/org/openapitools/codegen/options/TypeScriptAngularClientOptionsProvider.java index 35bf14aaa732..a53d2b829404 100644 --- a/modules/openapi-generator/src/test/java/org/openapitools/codegen/options/TypeScriptAngularClientOptionsProvider.java +++ b/modules/openapi-generator/src/test/java/org/openapitools/codegen/options/TypeScriptAngularClientOptionsProvider.java @@ -35,6 +35,8 @@ public class TypeScriptAngularClientOptionsProvider implements OptionsProvider { public static final String ALLOW_UNICODE_IDENTIFIERS_VALUE = "false"; public static final String NG_VERSION = "2"; public static final String PREPEND_FORM_OR_BODY_PARAMETERS_VALUE = "true"; + public static String SERVICE_SUFFIX = "Service"; + public static String SERVICE_FILE_SUFFIX = "service"; @Override public String getLanguage() { @@ -56,6 +58,8 @@ public Map createOptions() { .put(TypeScriptAngularClientCodegen.TAGGED_UNIONS, Boolean.FALSE.toString()) .put(TypeScriptAngularClientCodegen.NPM_REPOSITORY, NPM_REPOSITORY) .put(TypeScriptAngularClientCodegen.NG_VERSION, NG_VERSION) + .put(TypeScriptAngularClientCodegen.SERVICE_SUFFIX, SERVICE_SUFFIX) + .put(TypeScriptAngularClientCodegen.SERVICE_FILE_SUFFIX, SERVICE_FILE_SUFFIX) .put(CodegenConstants.ALLOW_UNICODE_IDENTIFIERS, ALLOW_UNICODE_IDENTIFIERS_VALUE) .put(CodegenConstants.PREPEND_FORM_OR_BODY_PARAMETERS, PREPEND_FORM_OR_BODY_PARAMETERS_VALUE) .build(); diff --git a/samples/client/petstore/typescript-angular-v2/default/.openapi-generator/VERSION b/samples/client/petstore/typescript-angular-v2/default/.openapi-generator/VERSION index ad121e8340e0..1c00c5181548 100644 --- a/samples/client/petstore/typescript-angular-v2/default/.openapi-generator/VERSION +++ b/samples/client/petstore/typescript-angular-v2/default/.openapi-generator/VERSION @@ -1 +1 @@ -3.0.1-SNAPSHOT \ No newline at end of file +3.0.2-SNAPSHOT \ No newline at end of file diff --git a/samples/client/petstore/typescript-angular-v2/with-interfaces/.openapi-generator/VERSION b/samples/client/petstore/typescript-angular-v2/with-interfaces/.openapi-generator/VERSION index ad121e8340e0..1c00c5181548 100644 --- a/samples/client/petstore/typescript-angular-v2/with-interfaces/.openapi-generator/VERSION +++ b/samples/client/petstore/typescript-angular-v2/with-interfaces/.openapi-generator/VERSION @@ -1 +1 @@ -3.0.1-SNAPSHOT \ No newline at end of file +3.0.2-SNAPSHOT \ No newline at end of file diff --git a/samples/client/petstore/typescript-angular-v4.3/npm/.openapi-generator/VERSION b/samples/client/petstore/typescript-angular-v4.3/npm/.openapi-generator/VERSION index ad121e8340e0..1c00c5181548 100644 --- a/samples/client/petstore/typescript-angular-v4.3/npm/.openapi-generator/VERSION +++ b/samples/client/petstore/typescript-angular-v4.3/npm/.openapi-generator/VERSION @@ -1 +1 @@ -3.0.1-SNAPSHOT \ No newline at end of file +3.0.2-SNAPSHOT \ No newline at end of file diff --git a/samples/client/petstore/typescript-angular-v4/npm/.openapi-generator/VERSION b/samples/client/petstore/typescript-angular-v4/npm/.openapi-generator/VERSION index ad121e8340e0..1c00c5181548 100644 --- a/samples/client/petstore/typescript-angular-v4/npm/.openapi-generator/VERSION +++ b/samples/client/petstore/typescript-angular-v4/npm/.openapi-generator/VERSION @@ -1 +1 @@ -3.0.1-SNAPSHOT \ No newline at end of file +3.0.2-SNAPSHOT \ No newline at end of file diff --git a/samples/client/petstore/typescript-angular-v6-not-provided-in-root/default/.openapi-generator/VERSION b/samples/client/petstore/typescript-angular-v6-not-provided-in-root/default/.openapi-generator/VERSION index ad121e8340e0..1c00c5181548 100644 --- a/samples/client/petstore/typescript-angular-v6-not-provided-in-root/default/.openapi-generator/VERSION +++ b/samples/client/petstore/typescript-angular-v6-not-provided-in-root/default/.openapi-generator/VERSION @@ -1 +1 @@ -3.0.1-SNAPSHOT \ No newline at end of file +3.0.2-SNAPSHOT \ No newline at end of file diff --git a/samples/client/petstore/typescript-angular-v6-provided-in-root/default/.openapi-generator/VERSION b/samples/client/petstore/typescript-angular-v6-provided-in-root/default/.openapi-generator/VERSION index ad121e8340e0..1c00c5181548 100644 --- a/samples/client/petstore/typescript-angular-v6-provided-in-root/default/.openapi-generator/VERSION +++ b/samples/client/petstore/typescript-angular-v6-provided-in-root/default/.openapi-generator/VERSION @@ -1 +1 @@ -3.0.1-SNAPSHOT \ No newline at end of file +3.0.2-SNAPSHOT \ No newline at end of file From 057ba693cf63dfa410b9f0fc8ce984a00ec3794c Mon Sep 17 00:00:00 2001 From: Tom Date: Mon, 18 Jun 2018 14:33:52 +0200 Subject: [PATCH 3/5] Fixed part in generator where hardcoded 'Service' suffix was used. --- .../codegen/languages/TypeScriptAngularClientCodegen.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/TypeScriptAngularClientCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/TypeScriptAngularClientCodegen.java index 9afa1bf326c0..4b37e427703f 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/TypeScriptAngularClientCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/TypeScriptAngularClientCodegen.java @@ -480,7 +480,7 @@ public void setNpmRepository(String npmRepository) { } private String getApiFilenameFromClassname(String classname) { - String name = classname.substring(0, classname.length() - "Service".length()); + String name = classname.substring(0, classname.length() - serviceSuffix.length()); return toApiFilename(name); } From f3d23db98bd08195f11c7c8309438ccaa3d89fdd Mon Sep 17 00:00:00 2001 From: Tom Date: Mon, 18 Jun 2018 15:04:29 +0200 Subject: [PATCH 4/5] Made the . in the service file name part of the config setting --- .../codegen/languages/TypeScriptAngularClientCodegen.java | 4 ++-- .../options/TypeScriptAngularClientOptionsProvider.java | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/TypeScriptAngularClientCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/TypeScriptAngularClientCodegen.java index 4b37e427703f..55a975097c7f 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/TypeScriptAngularClientCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/TypeScriptAngularClientCodegen.java @@ -50,7 +50,7 @@ public class TypeScriptAngularClientCodegen extends AbstractTypeScriptClientCode protected String npmVersion = "1.0.0"; protected String npmRepository = null; protected String serviceSuffix = "Service"; - protected String serviceFileSuffix = "service"; + protected String serviceFileSuffix = ".service"; private boolean taggedUnions = false; @@ -437,7 +437,7 @@ public String toApiFilename(String name) { if (name.length() == 0) { return "default.service"; } - return camelize(name, true) + "." + serviceFileSuffix; + return camelize(name, true) + serviceFileSuffix; } @Override diff --git a/modules/openapi-generator/src/test/java/org/openapitools/codegen/options/TypeScriptAngularClientOptionsProvider.java b/modules/openapi-generator/src/test/java/org/openapitools/codegen/options/TypeScriptAngularClientOptionsProvider.java index a53d2b829404..8bf3e65827c5 100644 --- a/modules/openapi-generator/src/test/java/org/openapitools/codegen/options/TypeScriptAngularClientOptionsProvider.java +++ b/modules/openapi-generator/src/test/java/org/openapitools/codegen/options/TypeScriptAngularClientOptionsProvider.java @@ -36,7 +36,7 @@ public class TypeScriptAngularClientOptionsProvider implements OptionsProvider { public static final String NG_VERSION = "2"; public static final String PREPEND_FORM_OR_BODY_PARAMETERS_VALUE = "true"; public static String SERVICE_SUFFIX = "Service"; - public static String SERVICE_FILE_SUFFIX = "service"; + public static String SERVICE_FILE_SUFFIX = ".service"; @Override public String getLanguage() { From 6db1c3d9b912d6b43fd2de263b8bbf4de643b298 Mon Sep 17 00:00:00 2001 From: Tom Date: Mon, 18 Jun 2018 15:05:22 +0200 Subject: [PATCH 5/5] Updated cli message --- .../codegen/languages/TypeScriptAngularClientCodegen.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/TypeScriptAngularClientCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/TypeScriptAngularClientCodegen.java index 55a975097c7f..2ccd6706501d 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/TypeScriptAngularClientCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/TypeScriptAngularClientCodegen.java @@ -84,8 +84,8 @@ public TypeScriptAngularClientCodegen() { "Use this property to provide Injectables in root (it is only valid in angular version greater or equal to 6.0.0).", SchemaTypeUtil.BOOLEAN_TYPE).defaultValue(Boolean.FALSE.toString())); this.cliOptions.add(new CliOption(NG_VERSION, "The version of Angular. Default is '4.3'")); - this.cliOptions.add(new CliOption(SERVICE_SUFFIX, "The suffix of the generated service. Default is Service")); - this.cliOptions.add(new CliOption(SERVICE_FILE_SUFFIX, "The suffix of the file of the generated service (service..ts). Default is service")); + this.cliOptions.add(new CliOption(SERVICE_SUFFIX, "The suffix of the generated service. Default is 'Service'.")); + this.cliOptions.add(new CliOption(SERVICE_FILE_SUFFIX, "The suffix of the file of the generated service (service.ts). Default is '.service'.")); } @Override