You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@syncope.apache.org by il...@apache.org on 2018/10/30 12:44:10 UTC

[2/2] syncope git commit: Upgrading CXF

Upgrading CXF


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

Branch: refs/heads/master
Commit: c1b1b74563740969951dcb9fa89cff2143b6f634
Parents: 96569be
Author: Francesco Chicchiriccò <il...@apache.org>
Authored: Tue Oct 30 13:43:49 2018 +0100
Committer: Francesco Chicchiriccò <il...@apache.org>
Committed: Tue Oct 30 13:43:56 2018 +0100

----------------------------------------------------------------------
 .../core/rest/cxf/SyncopeOpenApiCustomizer.java | 113 +------------------
 pom.xml                                         |   2 +-
 2 files changed, 4 insertions(+), 111 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/syncope/blob/c1b1b745/core/rest-cxf/src/main/java/org/apache/syncope/core/rest/cxf/SyncopeOpenApiCustomizer.java
----------------------------------------------------------------------
diff --git a/core/rest-cxf/src/main/java/org/apache/syncope/core/rest/cxf/SyncopeOpenApiCustomizer.java b/core/rest-cxf/src/main/java/org/apache/syncope/core/rest/cxf/SyncopeOpenApiCustomizer.java
index 69adcbb..2676521 100644
--- a/core/rest-cxf/src/main/java/org/apache/syncope/core/rest/cxf/SyncopeOpenApiCustomizer.java
+++ b/core/rest-cxf/src/main/java/org/apache/syncope/core/rest/cxf/SyncopeOpenApiCustomizer.java
@@ -18,11 +18,8 @@
  */
 package org.apache.syncope.core.rest.cxf;
 
-import io.swagger.v3.jaxrs2.Reader;
 import io.swagger.v3.oas.integration.api.OpenAPIConfiguration;
-import io.swagger.v3.oas.models.OpenAPI;
 import io.swagger.v3.oas.models.Operation;
-import io.swagger.v3.oas.models.PathItem;
 import io.swagger.v3.oas.models.headers.Header;
 import io.swagger.v3.oas.models.media.Content;
 import io.swagger.v3.oas.models.media.MediaType;
@@ -32,19 +29,15 @@ import io.swagger.v3.oas.models.parameters.Parameter;
 import io.swagger.v3.oas.models.responses.ApiResponse;
 import io.swagger.v3.oas.models.responses.ApiResponses;
 import io.swagger.v3.oas.models.servers.Server;
-import io.swagger.v3.oas.models.tags.Tag;
 import java.net.URL;
 import java.util.ArrayList;
 import java.util.Collections;
-import java.util.HashMap;
 import java.util.LinkedHashMap;
 import java.util.List;
 import java.util.Map;
 import java.util.Optional;
 import org.apache.commons.lang3.StringUtils;
-import org.apache.commons.lang3.tuple.Pair;
 import org.apache.cxf.jaxrs.ext.MessageContext;
-import org.apache.cxf.jaxrs.model.ClassResourceInfo;
 import org.apache.cxf.jaxrs.model.OperationResourceInfo;
 import org.apache.cxf.jaxrs.model.doc.JavaDocProvider;
 import org.apache.cxf.jaxrs.openapi.OpenApiCustomizer;
@@ -57,15 +50,8 @@ import org.apache.syncope.core.spring.ApplicationContextProvider;
 
 public class SyncopeOpenApiCustomizer extends OpenApiCustomizer {
 
-    // remove the line below with CXF 3.2.7
     private JavaDocProvider javadocProvider;
 
-    // remove the line below with CXF 3.2.7
-    private boolean replaceTags;
-
-    // remove the line below with CXF 3.2.7
-    private List<ClassResourceInfo> cris;
-
     private List<String> domains;
 
     public SyncopeOpenApiCustomizer() {
@@ -73,27 +59,12 @@ public class SyncopeOpenApiCustomizer extends OpenApiCustomizer {
 
         URL[] javaDocURLs = JavaDocUtils.getJavaDocURLs();
         if (javaDocURLs != null) {
-            // remove the line below with CXF 3.2.7
             this.javadocProvider = new JavaDocProvider(javaDocURLs);
-            super.setJavaDocURLs(javaDocURLs);
+            super.setJavadocProvider(javadocProvider);
         }
     }
 
     @Override
-    public void setReplaceTags(final boolean replaceTags) {
-        // remove this method with CXF 3.2.7
-        this.replaceTags = replaceTags;
-        super.setReplaceTags(replaceTags);
-    }
-
-    @Override
-    public void setClassResourceInfos(final List<ClassResourceInfo> classResourceInfos) {
-        // remove this method with CXF 3.2.7
-        this.cris = classResourceInfos;
-        super.setClassResourceInfos(classResourceInfos);
-    }
-
-    @Override
     public OpenAPIConfiguration customize(final OpenAPIConfiguration configuration) {
         super.customize(configuration);
 
@@ -107,75 +78,6 @@ public class SyncopeOpenApiCustomizer extends OpenApiCustomizer {
     }
 
     @Override
-    public void customize(final OpenAPI oas) {
-        // remove this method with CXF 3.2.7
-        if (replaceTags || javadocProvider != null) {
-            Map<String, ClassResourceInfo> operations = new HashMap<>();
-            Map<Pair<String, String>, OperationResourceInfo> methods = new HashMap<>();
-            cris.forEach(cri -> {
-                cri.getMethodDispatcher().getOperationResourceInfos().forEach(ori -> {
-                    String normalizedPath = getNormalizedPath(
-                            cri.getURITemplate().getValue(), ori.getURITemplate().getValue());
-
-                    operations.put(normalizedPath, cri);
-                    methods.put(Pair.of(ori.getHttpMethod(), normalizedPath), ori);
-                });
-            });
-
-            List<Tag> tags = new ArrayList<>();
-            oas.getPaths().forEach((pathKey, pathItem) -> {
-                Tag tag = null;
-                if (replaceTags && operations.containsKey(pathKey)) {
-                    ClassResourceInfo cri = operations.get(pathKey);
-
-                    tag = new Tag();
-                    tag.setName(cri.getURITemplate().getValue().replaceAll("/", "_"));
-                    if (javadocProvider != null) {
-                        tag.setDescription(javadocProvider.getClassDoc(cri));
-                    }
-
-                    if (!tags.contains(tag)) {
-                        tags.add(tag);
-                    }
-                }
-
-                for (Map.Entry<PathItem.HttpMethod, Operation> subentry : pathItem.readOperationsMap().entrySet()) {
-                    if (replaceTags && tag != null) {
-                        subentry.getValue().setTags(Collections.singletonList(tag.getName()));
-                    }
-
-                    Pair<String, String> key = Pair.of(subentry.getKey().name(), pathKey);
-                    if (methods.containsKey(key) && javadocProvider != null) {
-                        OperationResourceInfo ori = methods.get(key);
-
-                        if (StringUtils.isBlank(subentry.getValue().getSummary())) {
-                            subentry.getValue().setSummary(javadocProvider.getMethodDoc(ori));
-                        }
-                        if (subentry.getValue().getParameters() == null) {
-                            List<Parameter> parameters = new ArrayList<>();
-                            addParameters(parameters);
-                            subentry.getValue().setParameters(parameters);
-                        } else {
-                            for (int i = 0; i < subentry.getValue().getParameters().size(); i++) {
-                                if (StringUtils.isBlank(subentry.getValue().getParameters().get(i).getDescription())) {
-                                    subentry.getValue().getParameters().get(i).
-                                            setDescription(javadocProvider.getMethodParameterDoc(ori, i));
-                                }
-                            }
-                            addParameters(subentry.getValue().getParameters());
-                        }
-
-                        customizeResponses(subentry.getValue(), ori);
-                    }
-                }
-            });
-            if (replaceTags && oas.getTags() != null) {
-                oas.setTags(tags);
-            }
-        }
-    }
-
-    @Override
     protected void addParameters(final List<Parameter> parameters) {
         if (domains == null) {
             domains = new ArrayList<>(
@@ -201,18 +103,9 @@ public class SyncopeOpenApiCustomizer extends OpenApiCustomizer {
         }
     }
 
+    @Override
     protected void customizeResponses(final Operation operation, final OperationResourceInfo ori) {
-        // this will be replaced by super.customizeResponses(operation, ori);
-        if (operation.getResponses() != null && !operation.getResponses().isEmpty()) {
-            ApiResponse response = operation.getResponses().entrySet().iterator().next().getValue();
-            if (StringUtils.isBlank(response.getDescription())
-                    || (StringUtils.isNotBlank(javadocProvider.getMethodResponseDoc(ori))
-                    && Reader.DEFAULT_DESCRIPTION.equals(response.getDescription()))) {
-
-                response.setDescription(javadocProvider.getMethodResponseDoc(ori));
-            }
-        }
-        //
+        super.customizeResponses(operation, ori);
 
         ApiResponses responses = operation.getResponses();
         if (responses == null) {

http://git-wip-us.apache.org/repos/asf/syncope/blob/c1b1b745/pom.xml
----------------------------------------------------------------------
diff --git a/pom.xml b/pom.xml
index 55942d7..f7411ad 100644
--- a/pom.xml
+++ b/pom.xml
@@ -389,7 +389,7 @@ under the License.
     <connid.scimv11.version>1.0.1</connid.scimv11.version>
     <connid.servicenow.version>1.0.0</connid.servicenow.version>
 
-    <cxf.version>3.2.6</cxf.version>
+    <cxf.version>3.2.7</cxf.version>
 
     <jackson.version>2.9.7</jackson.version>