cxf git commit: [CXF-7482] Let users customize Swagger2Feature with the external properties file
Repository: cxf Updated Branches: refs/heads/3.1.x-fixes b283ae8cd -> 756014e9c [CXF-7482] Let users customize Swagger2Feature with the external properties file Project: http://git-wip-us.apache.org/repos/asf/cxf/repo Commit: http://git-wip-us.apache.org/repos/asf/cxf/commit/756014e9 Tree: http://git-wip-us.apache.org/repos/asf/cxf/tree/756014e9 Diff: http://git-wip-us.apache.org/repos/asf/cxf/diff/756014e9 Branch: refs/heads/3.1.x-fixes Commit: 756014e9c36d5b481b0b4556a375af0c86abc254 Parents: b283ae8 Author: Sergey BeryozkinAuthored: Tue Aug 22 16:43:16 2017 +0100 Committer: Sergey Beryozkin Committed: Tue Aug 22 17:50:26 2017 +0100 -- .../jaxrs/swagger/AbstractSwaggerFeature.java | 15 +- .../cxf/jaxrs/swagger/Swagger2Feature.java | 243 +++ .../cxf/jaxrs/swagger/SwaggerFeature.java | 45 +++- .../AbstractSwagger2ServiceDescriptionTest.java | 25 +- .../Swagger2CustomPropertiesTest.java | 66 + .../src/test/resources/files/swagger.properties | 5 + 6 files changed, 338 insertions(+), 61 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cxf/blob/756014e9/rt/rs/description-swagger/src/main/java/org/apache/cxf/jaxrs/swagger/AbstractSwaggerFeature.java -- diff --git a/rt/rs/description-swagger/src/main/java/org/apache/cxf/jaxrs/swagger/AbstractSwaggerFeature.java b/rt/rs/description-swagger/src/main/java/org/apache/cxf/jaxrs/swagger/AbstractSwaggerFeature.java index 427ab49..c073bb0 100644 --- a/rt/rs/description-swagger/src/main/java/org/apache/cxf/jaxrs/swagger/AbstractSwaggerFeature.java +++ b/rt/rs/description-swagger/src/main/java/org/apache/cxf/jaxrs/swagger/AbstractSwaggerFeature.java @@ -31,6 +31,9 @@ import org.apache.cxf.jaxrs.model.ClassResourceInfo; public abstract class AbstractSwaggerFeature extends AbstractFeature { +static final String DEFAULT_LICENSE_VALUE = "Apache 2.0 License"; +static final String DEFAULT_LICENSE_URL = "http://www.apache.org/licenses/LICENSE-2.0.html;; + private static final boolean SWAGGER_JAXRS_AVAILABLE; static { @@ -41,14 +44,14 @@ public abstract class AbstractSwaggerFeature extends AbstractFeature { protected boolean runAsFilter; private boolean activateOnlyIfJaxrsSupported; private String resourcePackage; -private String version = "1.0.0"; +private String version; // depending on swagger version basePath is set differently private String basePath; -private String title = "Sample REST Application"; -private String description = "The Application"; -private String contact = "us...@cxf.apache.org"; -private String license = "Apache 2.0 License"; -private String licenseUrl = "http://www.apache.org/licenses/LICENSE-2.0.html;; +private String title; +private String description; +private String contact; +private String license; +private String licenseUrl; private String termsOfServiceUrl; private String filterClass; http://git-wip-us.apache.org/repos/asf/cxf/blob/756014e9/rt/rs/description-swagger/src/main/java/org/apache/cxf/jaxrs/swagger/Swagger2Feature.java -- diff --git a/rt/rs/description-swagger/src/main/java/org/apache/cxf/jaxrs/swagger/Swagger2Feature.java b/rt/rs/description-swagger/src/main/java/org/apache/cxf/jaxrs/swagger/Swagger2Feature.java index 108db51..ed1bb6e 100644 --- a/rt/rs/description-swagger/src/main/java/org/apache/cxf/jaxrs/swagger/Swagger2Feature.java +++ b/rt/rs/description-swagger/src/main/java/org/apache/cxf/jaxrs/swagger/Swagger2Feature.java @@ -19,6 +19,7 @@ package org.apache.cxf.jaxrs.swagger; import java.io.IOException; +import java.io.InputStream; import java.net.URI; import java.net.URL; import java.util.ArrayList; @@ -28,6 +29,7 @@ import java.util.LinkedHashSet; import java.util.LinkedList; import java.util.List; import java.util.Map; +import java.util.Properties; import java.util.Set; import java.util.regex.Pattern; @@ -53,6 +55,7 @@ import org.apache.cxf.Bus; import org.apache.cxf.annotations.Provider; import org.apache.cxf.annotations.Provider.Scope; import org.apache.cxf.annotations.Provider.Type; +import org.apache.cxf.common.util.PropertyUtils; import org.apache.cxf.common.util.StringUtils; import org.apache.cxf.endpoint.Server; import org.apache.cxf.jaxrs.JAXRSServiceFactoryBean; @@ -62,6 +65,7 @@ import org.apache.cxf.jaxrs.model.ApplicationInfo; import org.apache.cxf.jaxrs.model.ClassResourceInfo; import org.apache.cxf.jaxrs.provider.ServerProviderFactory; import org.apache.cxf.jaxrs.utils.InjectionUtils; +import org.apache.cxf.jaxrs.utils.ResourceUtils; import
cxf git commit: [CXF-7482] Let users customize Swagger2Feature with the external properties file
Repository: cxf Updated Branches: refs/heads/master e127bc912 -> 982556218 [CXF-7482] Let users customize Swagger2Feature with the external properties file Project: http://git-wip-us.apache.org/repos/asf/cxf/repo Commit: http://git-wip-us.apache.org/repos/asf/cxf/commit/98255621 Tree: http://git-wip-us.apache.org/repos/asf/cxf/tree/98255621 Diff: http://git-wip-us.apache.org/repos/asf/cxf/diff/98255621 Branch: refs/heads/master Commit: 982556218c86ad834a6bf76e62e0a77d055e291d Parents: e127bc9 Author: Sergey BeryozkinAuthored: Tue Aug 22 16:43:16 2017 +0100 Committer: Sergey Beryozkin Committed: Tue Aug 22 16:43:16 2017 +0100 -- .../jaxrs/swagger/AbstractSwaggerFeature.java | 4 +- .../cxf/jaxrs/swagger/Swagger2Feature.java | 232 +++ .../AbstractSwagger2ServiceDescriptionTest.java | 19 +- .../Swagger2CustomPropertiesTest.java | 69 ++ .../src/test/resources/files/swagger.properties | 5 + 5 files changed, 280 insertions(+), 49 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cxf/blob/98255621/rt/rs/description-swagger/src/main/java/org/apache/cxf/jaxrs/swagger/AbstractSwaggerFeature.java -- diff --git a/rt/rs/description-swagger/src/main/java/org/apache/cxf/jaxrs/swagger/AbstractSwaggerFeature.java b/rt/rs/description-swagger/src/main/java/org/apache/cxf/jaxrs/swagger/AbstractSwaggerFeature.java index d5135ae..11ba731 100644 --- a/rt/rs/description-swagger/src/main/java/org/apache/cxf/jaxrs/swagger/AbstractSwaggerFeature.java +++ b/rt/rs/description-swagger/src/main/java/org/apache/cxf/jaxrs/swagger/AbstractSwaggerFeature.java @@ -47,8 +47,8 @@ public abstract class AbstractSwaggerFeature extends AbstractFeature { private String title; private String description; private String contact; -private String license = "Apache 2.0 License"; -private String licenseUrl = "http://www.apache.org/licenses/LICENSE-2.0.html;; +private String license; +private String licenseUrl; private String termsOfServiceUrl; private String filterClass; http://git-wip-us.apache.org/repos/asf/cxf/blob/98255621/rt/rs/description-swagger/src/main/java/org/apache/cxf/jaxrs/swagger/Swagger2Feature.java -- diff --git a/rt/rs/description-swagger/src/main/java/org/apache/cxf/jaxrs/swagger/Swagger2Feature.java b/rt/rs/description-swagger/src/main/java/org/apache/cxf/jaxrs/swagger/Swagger2Feature.java index 8260281..78bc676 100644 --- a/rt/rs/description-swagger/src/main/java/org/apache/cxf/jaxrs/swagger/Swagger2Feature.java +++ b/rt/rs/description-swagger/src/main/java/org/apache/cxf/jaxrs/swagger/Swagger2Feature.java @@ -19,6 +19,7 @@ package org.apache.cxf.jaxrs.swagger; import java.io.IOException; +import java.io.InputStream; import java.net.URI; import java.net.URL; import java.util.ArrayList; @@ -28,6 +29,7 @@ import java.util.LinkedHashSet; import java.util.LinkedList; import java.util.List; import java.util.Map; +import java.util.Properties; import java.util.Set; import java.util.regex.Pattern; @@ -53,6 +55,7 @@ import org.apache.cxf.Bus; import org.apache.cxf.annotations.Provider; import org.apache.cxf.annotations.Provider.Scope; import org.apache.cxf.annotations.Provider.Type; +import org.apache.cxf.common.util.PropertyUtils; import org.apache.cxf.common.util.StringUtils; import org.apache.cxf.endpoint.Server; import org.apache.cxf.jaxrs.JAXRSServiceFactoryBean; @@ -62,6 +65,7 @@ import org.apache.cxf.jaxrs.model.ApplicationInfo; import org.apache.cxf.jaxrs.model.ClassResourceInfo; import org.apache.cxf.jaxrs.provider.ServerProviderFactory; import org.apache.cxf.jaxrs.utils.InjectionUtils; +import org.apache.cxf.jaxrs.utils.ResourceUtils; import org.apache.cxf.message.Message; import io.swagger.jaxrs.config.BeanConfig; @@ -74,13 +78,27 @@ import io.swagger.models.auth.SecuritySchemeDefinition; @Provider(value = Type.Feature, scope = Scope.Server) public class Swagger2Feature extends AbstractSwaggerFeature { - -private String host; - -private String[] schemes; - -private boolean prettyPrint; +private static final String DEFAULT_LICENSE_VALUE = "Apache 2.0 License"; +private static final String DEFAULT_LICENSE_URL = "http://www.apache.org/licenses/LICENSE-2.0.html;; + +private static final String DEFAULT_PROPS_LOCATION = "/swagger.properties"; +private static final String RESOURCE_PACKAGE_PROPERTY = "resource.package"; +private static final String TITLE_PROPERTY = "title"; +private static final String SCHEMES_PROPERTY = "schemes"; +private static final String VERSION_PROPERTY = "version"; +private static final String