diff --git a/bin/configs/java-microprofile-rest-client.yaml b/bin/configs/java-microprofile-rest-client.yaml index 2d9796db540..384a6aa7f30 100644 --- a/bin/configs/java-microprofile-rest-client.yaml +++ b/bin/configs/java-microprofile-rest-client.yaml @@ -5,3 +5,4 @@ inputSpec: modules/openapi-generator/src/test/resources/2_0/petstore.yaml templateDir: modules/openapi-generator/src/main/resources/Java additionalProperties: artifactId: microprofile-rest-client + configKey: petstore diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/JavaClientCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/JavaClientCodegen.java index 328a4b089b2..1d8b4f18ba2 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/JavaClientCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/JavaClientCodegen.java @@ -56,6 +56,7 @@ public class JavaClientCodegen extends AbstractJavaCodegen public static final String USE_PLAY_WS = "usePlayWS"; public static final String PLAY_VERSION = "playVersion"; public static final String ASYNC_NATIVE = "asyncNative"; + public static final String CONFIGKEY = "configKey"; public static final String PARCELABLE_MODEL = "parcelableModel"; public static final String USE_RUNTIME_EXCEPTION = "useRuntimeException"; public static final String USE_REFLECTION_EQUALS_HASHCODE = "useReflectionEqualsHashCode"; @@ -102,6 +103,7 @@ public class JavaClientCodegen extends AbstractJavaCodegen protected boolean usePlayWS = false; protected String playVersion = PLAY_26; protected String microprofileFramework = MICROPROFILE_DEFAULT; + protected String configKey = null; protected boolean asyncNative = false; protected boolean parcelableModel = false; @@ -281,6 +283,10 @@ public class JavaClientCodegen extends AbstractJavaCodegen } additionalProperties.put(MICROPROFILE_FRAMEWORK, microprofileFramework); + if (additionalProperties.containsKey(CONFIGKEY)) { + this.setConfigKey(additionalProperties.get(CONFIGKEY).toString()); + } + if (additionalProperties.containsKey(ASYNC_NATIVE)) { this.setAsyncNative(convertPropertyToBooleanAndWriteBack(ASYNC_NATIVE)); } @@ -964,6 +970,10 @@ public class JavaClientCodegen extends AbstractJavaCodegen this.microprofileFramework = microprofileFramework; } + public void setConfigKey(String configKey) { + this.configKey = configKey; + } + public void setParcelableModel(boolean parcelableModel) { this.parcelableModel = parcelableModel; } diff --git a/modules/openapi-generator/src/main/resources/Java/libraries/microprofile/api.mustache b/modules/openapi-generator/src/main/resources/Java/libraries/microprofile/api.mustache index f6a69ff6a7c..119494e54d3 100644 --- a/modules/openapi-generator/src/main/resources/Java/libraries/microprofile/api.mustache +++ b/modules/openapi-generator/src/main/resources/Java/libraries/microprofile/api.mustache @@ -30,7 +30,7 @@ import org.eclipse.microprofile.rest.client.inject.RegisterRestClient; */ {{/appName}} -@RegisterRestClient +@RegisterRestClient{{#configKey}}(configKey="{{configKey}}"){{/configKey}} @RegisterProvider(ApiExceptionMapper.class) @Path("{{#useAnnotatedBasePath}}{{contextPath}}{{/useAnnotatedBasePath}}{{commonPath}}") public interface {{classname}} { diff --git a/samples/client/petstore/java/microprofile-rest-client/src/main/java/org/openapitools/client/api/PetApi.java b/samples/client/petstore/java/microprofile-rest-client/src/main/java/org/openapitools/client/api/PetApi.java index 01f075d1cc0..3d2ecd955a5 100644 --- a/samples/client/petstore/java/microprofile-rest-client/src/main/java/org/openapitools/client/api/PetApi.java +++ b/samples/client/petstore/java/microprofile-rest-client/src/main/java/org/openapitools/client/api/PetApi.java @@ -36,7 +36,7 @@ import org.eclipse.microprofile.rest.client.inject.RegisterRestClient; * */ -@RegisterRestClient +@RegisterRestClient(configKey="petstore") @RegisterProvider(ApiExceptionMapper.class) @Path("/pet") public interface PetApi { diff --git a/samples/client/petstore/java/microprofile-rest-client/src/main/java/org/openapitools/client/api/StoreApi.java b/samples/client/petstore/java/microprofile-rest-client/src/main/java/org/openapitools/client/api/StoreApi.java index 4e5844e79ad..fc5b9b52f29 100644 --- a/samples/client/petstore/java/microprofile-rest-client/src/main/java/org/openapitools/client/api/StoreApi.java +++ b/samples/client/petstore/java/microprofile-rest-client/src/main/java/org/openapitools/client/api/StoreApi.java @@ -34,7 +34,7 @@ import org.eclipse.microprofile.rest.client.inject.RegisterRestClient; * */ -@RegisterRestClient +@RegisterRestClient(configKey="petstore") @RegisterProvider(ApiExceptionMapper.class) @Path("/store") public interface StoreApi { diff --git a/samples/client/petstore/java/microprofile-rest-client/src/main/java/org/openapitools/client/api/UserApi.java b/samples/client/petstore/java/microprofile-rest-client/src/main/java/org/openapitools/client/api/UserApi.java index 41c31a4d49d..b9fd9ed12a0 100644 --- a/samples/client/petstore/java/microprofile-rest-client/src/main/java/org/openapitools/client/api/UserApi.java +++ b/samples/client/petstore/java/microprofile-rest-client/src/main/java/org/openapitools/client/api/UserApi.java @@ -34,7 +34,7 @@ import org.eclipse.microprofile.rest.client.inject.RegisterRestClient; * */ -@RegisterRestClient +@RegisterRestClient(configKey="petstore") @RegisterProvider(ApiExceptionMapper.class) @Path("/user") public interface UserApi {