You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cxf.apache.org by il...@apache.org on 2015/12/02 15:59:19 UTC

[5/6] cxf git commit: Do not initialize if no swagger-jaxrs classes are found

Do not initialize if no swagger-jaxrs classes are found


Project: http://git-wip-us.apache.org/repos/asf/cxf/repo
Commit: http://git-wip-us.apache.org/repos/asf/cxf/commit/df453769
Tree: http://git-wip-us.apache.org/repos/asf/cxf/tree/df453769
Diff: http://git-wip-us.apache.org/repos/asf/cxf/diff/df453769

Branch: refs/heads/3.0.x-fixes
Commit: df453769ffbf72b7277c9b240d39894198a3d954
Parents: bcbf653
Author: Francesco Chicchiriccò <il...@apache.org>
Authored: Wed Dec 2 15:37:20 2015 +0100
Committer: Francesco Chicchiriccò <il...@apache.org>
Committed: Wed Dec 2 15:48:09 2015 +0100

----------------------------------------------------------------------
 .../jaxrs/swagger/AbstractSwaggerFeature.java   | 28 ++++++++++++++++----
 1 file changed, 23 insertions(+), 5 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cxf/blob/df453769/rt/rs/description/src/main/java/org/apache/cxf/jaxrs/swagger/AbstractSwaggerFeature.java
----------------------------------------------------------------------
diff --git a/rt/rs/description/src/main/java/org/apache/cxf/jaxrs/swagger/AbstractSwaggerFeature.java b/rt/rs/description/src/main/java/org/apache/cxf/jaxrs/swagger/AbstractSwaggerFeature.java
index 87dfdfe..08d2e16 100644
--- a/rt/rs/description/src/main/java/org/apache/cxf/jaxrs/swagger/AbstractSwaggerFeature.java
+++ b/rt/rs/description/src/main/java/org/apache/cxf/jaxrs/swagger/AbstractSwaggerFeature.java
@@ -25,6 +25,13 @@ import org.apache.cxf.jaxrs.JAXRSServiceFactoryBean;
 import org.apache.cxf.jaxrs.model.AbstractResourceInfo;
 
 public abstract class AbstractSwaggerFeature extends AbstractFeature {
+
+    private static final boolean SWAGGER_JAXRS_AVAILABLE;
+
+    static {
+        SWAGGER_JAXRS_AVAILABLE = isSwaggerJaxRsAvailable();
+    }
+
     protected boolean scan = true;
     protected boolean runAsFilter;
     private String resourcePackage;
@@ -39,13 +46,24 @@ public abstract class AbstractSwaggerFeature extends AbstractFeature {
     private String termsOfServiceUrl;
     private String filterClass;
     
+    private static boolean isSwaggerJaxRsAvailable() {
+        try {
+            Class.forName("io.swagger.jaxrs.DefaultParameterExtension");
+            return true;
+        } catch (Throwable ex) {
+            return false;
+        }    
+    }
+
     @Override
     public void initialize(Server server, Bus bus) {
-        calculateDefaultResourcePackage(server);
-        calculateDefaultBasePath(server);
-        addSwaggerResource(server);
-        
-        initializeProvider(server.getEndpoint(), bus);
+        if (SWAGGER_JAXRS_AVAILABLE) {
+            calculateDefaultResourcePackage(server);
+            calculateDefaultBasePath(server);
+            addSwaggerResource(server);
+
+            initializeProvider(server.getEndpoint(), bus);
+        }
     }
 
     protected abstract void addSwaggerResource(Server server);