You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cxf.apache.org by re...@apache.org on 2019/09/07 20:51:56 UTC

[cxf] 02/02: CXF-8106: Update to Swagger Core 1.5.23 and 2.0.9

This is an automated email from the ASF dual-hosted git repository.

reta pushed a commit to branch 3.3.x-fixes
in repository https://gitbox.apache.org/repos/asf/cxf.git

commit 2dd0450422b5952b15ddab15b7f40dee499bc1a5
Author: reta <dr...@gmail.com>
AuthorDate: Sat Sep 7 15:51:42 2019 -0400

    CXF-8106: Update to Swagger Core 1.5.23 and 2.0.9
    
    (cherry picked from commit 5a4abaa246dae133ff6fe2373e52b1bb6a72a218)
---
 .../src/main/resources/context.xml                 |  2 ++
 .../apache/cxf/jaxrs/openapi/OpenApiFeature.java   | 22 ++++++++++++++++++++++
 2 files changed, 24 insertions(+)

diff --git a/distribution/src/main/release/samples/jax_rs/description_openapi_v3_spring/src/main/resources/context.xml b/distribution/src/main/release/samples/jax_rs/description_openapi_v3_spring/src/main/resources/context.xml
index 73aeb15..f7ae78d 100644
--- a/distribution/src/main/release/samples/jax_rs/description_openapi_v3_spring/src/main/resources/context.xml
+++ b/distribution/src/main/release/samples/jax_rs/description_openapi_v3_spring/src/main/resources/context.xml
@@ -41,12 +41,14 @@
         <property name="title" value="Sample REST Application" />
         <property name="useContextBasedConfig" value="true" />
         <property name="scan" value="false" />
+        <property name="scannerClass" value="io.swagger.v3.jaxrs2.integration.JaxrsApplicationScanner"/>
     </bean>
     
     <bean id="openApiFeature2" class="org.apache.cxf.jaxrs.openapi.OpenApiFeature">
         <property name="title" value="Sample2 REST Application" />
         <property name="useContextBasedConfig" value="true" />
         <property name="scan" value="false" />
+        <property name="scannerClass" value="io.swagger.v3.jaxrs2.integration.JaxrsApplicationScanner"/>
     </bean>
 
     <cxf:bus>
diff --git a/rt/rs/description-openapi-v3/src/main/java/org/apache/cxf/jaxrs/openapi/OpenApiFeature.java b/rt/rs/description-openapi-v3/src/main/java/org/apache/cxf/jaxrs/openapi/OpenApiFeature.java
index e7900e2..c35fffa 100644
--- a/rt/rs/description-openapi-v3/src/main/java/org/apache/cxf/jaxrs/openapi/OpenApiFeature.java
+++ b/rt/rs/description-openapi-v3/src/main/java/org/apache/cxf/jaxrs/openapi/OpenApiFeature.java
@@ -304,6 +304,14 @@ public class OpenApiFeature extends DelegatingFeature<OpenApiFeature.Portable>
     public boolean isUseContextBasedConfig() {
         return delegate.isUseContextBasedConfig();
     }
+    
+    public String getScannerClass() {
+        return delegate.getScannerClass();
+    }
+
+    public void setScannerClass(String scannerClass) {
+        delegate.setScannerClass(scannerClass);
+    }
 
     @Override
     public SwaggerUiConfig getSwaggerUiConfig() {
@@ -414,6 +422,8 @@ public class OpenApiFeature extends DelegatingFeature<OpenApiFeature.Portable>
         // are co-located in the same application.
         private boolean useContextBasedConfig;
         private String ctxId;
+        // The API Scanner class to use 
+        private String scannerClass;
 
         @Override
         public void initialize(Server server, Bus bus) {
@@ -463,6 +473,10 @@ public class OpenApiFeature extends DelegatingFeature<OpenApiFeature.Portable>
                         .filterClass(getOrFallback(getFilterClass(), swaggerProps, FILTER_CLASS_PROPERTY))
                         .resourceClasses(getResourceClasses())
                         .resourcePackages(getOrFallback(packages, swaggerProps, RESOURCE_PACKAGE_PROPERTY));
+                
+                if (!StringUtils.isEmpty(getScannerClass())) {
+                    config.setScannerClass(getScannerClass());
+                }
 
                 openApiConfiguration = new JaxrsOpenApiContextBuilder<>()
                         .application(application)
@@ -732,6 +746,14 @@ public class OpenApiFeature extends DelegatingFeature<OpenApiFeature.Portable>
             return useContextBasedConfig;
         }
 
+        public String getScannerClass() {
+            return scannerClass;
+        }
+
+        public void setScannerClass(String scannerClass) {
+            this.scannerClass = scannerClass;
+        }
+
         @Override
         public SwaggerUiConfig getSwaggerUiConfig() {
             return swaggerUiConfig;