Repository: cxf
Updated Branches:
  refs/heads/3.0.x-fixes bcbf6534f -> ec399a6a7
  refs/heads/3.1.x-fixes 4685f0687 -> e4c456743
  refs/heads/master afe7a56f1 -> e915cfd79


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/8c02d3c8
Tree: http://git-wip-us.apache.org/repos/asf/cxf/tree/8c02d3c8
Diff: http://git-wip-us.apache.org/repos/asf/cxf/diff/8c02d3c8

Branch: refs/heads/3.1.x-fixes
Commit: 8c02d3c817c730851ebe748043daaec10190b125
Parents: 4685f06
Author: Francesco Chicchiriccò <ilgro...@apache.org>
Authored: Wed Dec 2 15:37:20 2015 +0100
Committer: Francesco Chicchiriccò <ilgro...@apache.org>
Committed: Wed Dec 2 15:37:20 2015 +0100

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


http://git-wip-us.apache.org/repos/asf/cxf/blob/8c02d3c8/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);

Reply via email to