You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cxf.apache.org by se...@apache.org on 2017/08/30 15:11:04 UTC

cxf git commit: [CXF-7474] Checking all the resources if UI is required (always by default) and making it possible to disable it from the properties file too

Repository: cxf
Updated Branches:
  refs/heads/master df0c72713 -> eec5aaf5a


[CXF-7474] Checking all the resources if UI is required (always by default) and making it possible to disable it from the properties file too


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

Branch: refs/heads/master
Commit: eec5aaf5a7974dffef5c25ddcbd1d0b3721660d0
Parents: df0c727
Author: Sergey Beryozkin <sb...@gmail.com>
Authored: Wed Aug 30 16:10:48 2017 +0100
Committer: Sergey Beryozkin <sb...@gmail.com>
Committed: Wed Aug 30 16:10:48 2017 +0100

----------------------------------------------------------------------
 .../cxf/jaxrs/swagger/Swagger2Feature.java      | 25 ++++++++++++++++----
 .../cxf/jaxrs/swagger/SwaggerUiResolver.java    | 16 ++++++-------
 2 files changed, 28 insertions(+), 13 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cxf/blob/eec5aaf5/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 eab36a6..33ee47c 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
@@ -96,6 +96,7 @@ public class Swagger2Feature extends AbstractSwaggerFeature {
     private static final String FILTER_CLASS_PROPERTY = "filter.class";
     private static final String HOST_PROPERTY = "host";
     private static final String USE_PATH_CFG_PROPERTY = "use.path.based.config";
+    private static final String SUPPORT_UI_PROPERTY = "support.swagger.ui";
     
     private boolean runAsFilter;
     
@@ -103,7 +104,7 @@ public class Swagger2Feature extends AbstractSwaggerFeature {
 
     private String ignoreRoutes;
 
-    private boolean supportSwaggerUi = true;
+    private Boolean supportSwaggerUi;
 
     private String swaggerUiVersion;
     
@@ -162,7 +163,8 @@ public class Swagger2Feature extends AbstractSwaggerFeature {
                                                             customizer));
         }
 
-        if (supportSwaggerUi) {
+        Properties swaggerProps = getSwaggerProperties(bus);
+        if (checkSupportSwaggerUiProp(swaggerProps)) {
             String swaggerUiRoot = SwaggerUiResolver.findSwaggerUiRoot(swaggerUiMavenGroupAndArtifact, 
                                                                        swaggerUiVersion);
             if (swaggerUiRoot != null) {
@@ -194,7 +196,7 @@ public class Swagger2Feature extends AbstractSwaggerFeature {
         BeanConfig beanConfig = appInfo == null
             ? new BeanConfig()
             : new ApplicationBeanConfig(appInfo.getProvider());
-        initBeanConfig(bus, beanConfig);
+        initBeanConfig(beanConfig, swaggerProps);
 
         Swagger swagger = beanConfig.getSwagger();
         if (swagger != null && securityDefinitions != null) {
@@ -211,7 +213,18 @@ public class Swagger2Feature extends AbstractSwaggerFeature {
         factory.setUserProviders(providers);
     }
 
-    protected void initBeanConfig(Bus bus, BeanConfig beanConfig) {
+    protected boolean checkSupportSwaggerUiProp(Properties props) {
+        Boolean theSupportSwaggerUI = this.supportSwaggerUi;
+        if (theSupportSwaggerUI == null && props != null && props.containsKey(SUPPORT_UI_PROPERTY)) {
+            theSupportSwaggerUI = PropertyUtils.isTrue(props.get(SUPPORT_UI_PROPERTY));
+        }
+        if (theSupportSwaggerUI == null) {
+            theSupportSwaggerUI = true;
+        }
+        return theSupportSwaggerUI;
+    }
+
+    protected Properties getSwaggerProperties(Bus bus) {
         InputStream is = ResourceUtils.getClasspathResourceStream(propertiesLocation, 
                                                  AbstractSwaggerFeature.class, 
                                                  bus);
@@ -224,6 +237,10 @@ public class Swagger2Feature extends AbstractSwaggerFeature {
                 props = null;
             }
         }
+        return props;
+    }
+    protected void initBeanConfig(BeanConfig beanConfig, Properties props) {
+        
         // resource package
         String theResourcePackage = getResourcePackage();
         if (theResourcePackage == null && props != null) {

http://git-wip-us.apache.org/repos/asf/cxf/blob/eec5aaf5/rt/rs/description-swagger/src/main/java/org/apache/cxf/jaxrs/swagger/SwaggerUiResolver.java
----------------------------------------------------------------------
diff --git a/rt/rs/description-swagger/src/main/java/org/apache/cxf/jaxrs/swagger/SwaggerUiResolver.java b/rt/rs/description-swagger/src/main/java/org/apache/cxf/jaxrs/swagger/SwaggerUiResolver.java
index 63043b18..f3a30ba 100644
--- a/rt/rs/description-swagger/src/main/java/org/apache/cxf/jaxrs/swagger/SwaggerUiResolver.java
+++ b/rt/rs/description-swagger/src/main/java/org/apache/cxf/jaxrs/swagger/SwaggerUiResolver.java
@@ -52,17 +52,15 @@ public class SwaggerUiResolver {
                         return root;
                     }
                 }
-            } else {
-                Enumeration<URL> urls = cl.getResources(UI_RESOURCES_ROOT_START);
-                while (urls.hasMoreElements()) {
-                    String urlStr = urls.nextElement().toString().replace(UI_RESOURCES_ROOT_START, "");     
-                    String root = checkUiRoot(urlStr, swaggerUiMavenGroupAndArtifact, swaggerUiVersion);
-                    if (root != null) {
-                        return root;
-                    }
+            } 
+            Enumeration<URL> urls = cl.getResources(UI_RESOURCES_ROOT_START);
+            while (urls.hasMoreElements()) {
+                String urlStr = urls.nextElement().toString().replace(UI_RESOURCES_ROOT_START, "");     
+                String root = checkUiRoot(urlStr, swaggerUiMavenGroupAndArtifact, swaggerUiVersion);
+                if (root != null) {
+                    return root;
                 }
             }
-            
         } catch (Throwable ex) {
             // ignore
         }