Repository: syncope
Updated Branches:
  refs/heads/2_0_X 3927f2c96 -> c81bc6ca1
  refs/heads/master 2b7cfed68 -> 7bd5b1817


Upgrade to CXF 3.1.8


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

Branch: refs/heads/2_0_X
Commit: c81bc6ca10cfa35efcf93abc9a07d78a73703952
Parents: 3927f2c
Author: Francesco Chicchiriccò <[email protected]>
Authored: Thu Aug 25 15:57:02 2016 +0200
Committer: Francesco Chicchiriccò <[email protected]>
Committed: Wed Oct 19 14:09:55 2016 +0200

----------------------------------------------------------------------
 .../syncope/common/lib/SyncopeConstants.java    |   4 +-
 .../syncope/common/lib/info/package-info.java   |   6 +-
 .../syncope/common/lib/jaxb/package-info.java   |   6 +-
 .../apache/syncope/common/lib/package-info.java |   2 +-
 .../syncope/common/lib/patch/package-info.java  |   6 +-
 .../syncope/common/lib/policy/package-info.java |   6 +-
 .../syncope/common/lib/report/package-info.java |   6 +-
 .../syncope/common/lib/search/package-info.java |   6 +-
 .../syncope/common/lib/to/package-info.java     |   6 +-
 .../syncope/common/lib/types/package-info.java  |   6 +-
 common/rest-api/pom.xml                         |   3 +-
 core/rest-cxf/pom.xml                           |   8 +-
 .../rest/cxf/ExtendedSwagger2Serializers.java   | 194 +++----------------
 .../syncope/core/rest/cxf/Swagger2Feature.java  | 175 -----------------
 .../core/rest/cxf/Swagger2Serializers.java      |  36 ----
 .../main/resources/META-INF/web-fragment.xml    |   2 +-
 .../src/main/resources/restCXFContext.xml       |   7 +-
 .../src/main/resources/jboss/restCXFContext.xml |  22 +--
 pom.xml                                         |   2 +-
 19 files changed, 96 insertions(+), 407 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/syncope/blob/c81bc6ca/common/lib/src/main/java/org/apache/syncope/common/lib/SyncopeConstants.java
----------------------------------------------------------------------
diff --git 
a/common/lib/src/main/java/org/apache/syncope/common/lib/SyncopeConstants.java 
b/common/lib/src/main/java/org/apache/syncope/common/lib/SyncopeConstants.java
index 81f93a0..8d80f6d 100644
--- 
a/common/lib/src/main/java/org/apache/syncope/common/lib/SyncopeConstants.java
+++ 
b/common/lib/src/main/java/org/apache/syncope/common/lib/SyncopeConstants.java
@@ -25,7 +25,9 @@ import java.util.regex.Pattern;
 
 public final class SyncopeConstants {
 
-    public static final String NAMESPACE = "http://syncope.apache.org/2.0";;
+    public static final String NS_PREFIX = "syncope2";
+
+    public static final String NS = "http://syncope.apache.org/2.0";;
 
     public static final String MASTER_DOMAIN = "Master";
 

http://git-wip-us.apache.org/repos/asf/syncope/blob/c81bc6ca/common/lib/src/main/java/org/apache/syncope/common/lib/info/package-info.java
----------------------------------------------------------------------
diff --git 
a/common/lib/src/main/java/org/apache/syncope/common/lib/info/package-info.java 
b/common/lib/src/main/java/org/apache/syncope/common/lib/info/package-info.java
index fccc6f4..60ef65d 100644
--- 
a/common/lib/src/main/java/org/apache/syncope/common/lib/info/package-info.java
+++ 
b/common/lib/src/main/java/org/apache/syncope/common/lib/info/package-info.java
@@ -16,8 +16,12 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-@XmlSchema(namespace = SyncopeConstants.NAMESPACE)
+@XmlSchema(
+        namespace = SyncopeConstants.NS,
+        xmlns = { @XmlNs(prefix = SyncopeConstants.NS_PREFIX,
+                    namespaceURI = SyncopeConstants.NS) })
 package org.apache.syncope.common.lib.info;
 
+import javax.xml.bind.annotation.XmlNs;
 import javax.xml.bind.annotation.XmlSchema;
 import org.apache.syncope.common.lib.SyncopeConstants;

http://git-wip-us.apache.org/repos/asf/syncope/blob/c81bc6ca/common/lib/src/main/java/org/apache/syncope/common/lib/jaxb/package-info.java
----------------------------------------------------------------------
diff --git 
a/common/lib/src/main/java/org/apache/syncope/common/lib/jaxb/package-info.java 
b/common/lib/src/main/java/org/apache/syncope/common/lib/jaxb/package-info.java
index a04b95d..dd6b260 100644
--- 
a/common/lib/src/main/java/org/apache/syncope/common/lib/jaxb/package-info.java
+++ 
b/common/lib/src/main/java/org/apache/syncope/common/lib/jaxb/package-info.java
@@ -16,8 +16,12 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-@XmlSchema(namespace = SyncopeConstants.NAMESPACE)
+@XmlSchema(
+        namespace = SyncopeConstants.NS,
+        xmlns = { @XmlNs(prefix = SyncopeConstants.NS_PREFIX,
+                    namespaceURI = SyncopeConstants.NS) })
 package org.apache.syncope.common.lib.jaxb;
 
+import javax.xml.bind.annotation.XmlNs;
 import javax.xml.bind.annotation.XmlSchema;
 import org.apache.syncope.common.lib.SyncopeConstants;

http://git-wip-us.apache.org/repos/asf/syncope/blob/c81bc6ca/common/lib/src/main/java/org/apache/syncope/common/lib/package-info.java
----------------------------------------------------------------------
diff --git 
a/common/lib/src/main/java/org/apache/syncope/common/lib/package-info.java 
b/common/lib/src/main/java/org/apache/syncope/common/lib/package-info.java
index 8eac5d5..43df8b4 100644
--- a/common/lib/src/main/java/org/apache/syncope/common/lib/package-info.java
+++ b/common/lib/src/main/java/org/apache/syncope/common/lib/package-info.java
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-@XmlSchema(namespace = SyncopeConstants.NAMESPACE)
+@XmlSchema(namespace = SyncopeConstants.NS)
 package org.apache.syncope.common.lib;
 
 import javax.xml.bind.annotation.XmlSchema;

http://git-wip-us.apache.org/repos/asf/syncope/blob/c81bc6ca/common/lib/src/main/java/org/apache/syncope/common/lib/patch/package-info.java
----------------------------------------------------------------------
diff --git 
a/common/lib/src/main/java/org/apache/syncope/common/lib/patch/package-info.java
 
b/common/lib/src/main/java/org/apache/syncope/common/lib/patch/package-info.java
index 426ac6d..2aeca44 100644
--- 
a/common/lib/src/main/java/org/apache/syncope/common/lib/patch/package-info.java
+++ 
b/common/lib/src/main/java/org/apache/syncope/common/lib/patch/package-info.java
@@ -16,8 +16,12 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-@XmlSchema(namespace = SyncopeConstants.NAMESPACE)
+@XmlSchema(
+        namespace = SyncopeConstants.NS,
+        xmlns = { @XmlNs(prefix = SyncopeConstants.NS_PREFIX,
+                    namespaceURI = SyncopeConstants.NS) })
 package org.apache.syncope.common.lib.patch;
 
+import javax.xml.bind.annotation.XmlNs;
 import javax.xml.bind.annotation.XmlSchema;
 import org.apache.syncope.common.lib.SyncopeConstants;

http://git-wip-us.apache.org/repos/asf/syncope/blob/c81bc6ca/common/lib/src/main/java/org/apache/syncope/common/lib/policy/package-info.java
----------------------------------------------------------------------
diff --git 
a/common/lib/src/main/java/org/apache/syncope/common/lib/policy/package-info.java
 
b/common/lib/src/main/java/org/apache/syncope/common/lib/policy/package-info.java
index bb26628..67952ac 100644
--- 
a/common/lib/src/main/java/org/apache/syncope/common/lib/policy/package-info.java
+++ 
b/common/lib/src/main/java/org/apache/syncope/common/lib/policy/package-info.java
@@ -16,8 +16,12 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-@XmlSchema(namespace = SyncopeConstants.NAMESPACE)
+@XmlSchema(
+        namespace = SyncopeConstants.NS,
+        xmlns = { @XmlNs(prefix = SyncopeConstants.NS_PREFIX,
+                    namespaceURI = SyncopeConstants.NS) })
 package org.apache.syncope.common.lib.policy;
 
+import javax.xml.bind.annotation.XmlNs;
 import javax.xml.bind.annotation.XmlSchema;
 import org.apache.syncope.common.lib.SyncopeConstants;

http://git-wip-us.apache.org/repos/asf/syncope/blob/c81bc6ca/common/lib/src/main/java/org/apache/syncope/common/lib/report/package-info.java
----------------------------------------------------------------------
diff --git 
a/common/lib/src/main/java/org/apache/syncope/common/lib/report/package-info.java
 
b/common/lib/src/main/java/org/apache/syncope/common/lib/report/package-info.java
index bc452c1..9d6a5da 100644
--- 
a/common/lib/src/main/java/org/apache/syncope/common/lib/report/package-info.java
+++ 
b/common/lib/src/main/java/org/apache/syncope/common/lib/report/package-info.java
@@ -16,8 +16,12 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-@XmlSchema(namespace = SyncopeConstants.NAMESPACE)
+@XmlSchema(
+        namespace = SyncopeConstants.NS,
+        xmlns = { @XmlNs(prefix = SyncopeConstants.NS_PREFIX,
+                    namespaceURI = SyncopeConstants.NS) })
 package org.apache.syncope.common.lib.report;
 
+import javax.xml.bind.annotation.XmlNs;
 import javax.xml.bind.annotation.XmlSchema;
 import org.apache.syncope.common.lib.SyncopeConstants;

http://git-wip-us.apache.org/repos/asf/syncope/blob/c81bc6ca/common/lib/src/main/java/org/apache/syncope/common/lib/search/package-info.java
----------------------------------------------------------------------
diff --git 
a/common/lib/src/main/java/org/apache/syncope/common/lib/search/package-info.java
 
b/common/lib/src/main/java/org/apache/syncope/common/lib/search/package-info.java
index ff6b5e7..5b06db0 100644
--- 
a/common/lib/src/main/java/org/apache/syncope/common/lib/search/package-info.java
+++ 
b/common/lib/src/main/java/org/apache/syncope/common/lib/search/package-info.java
@@ -16,8 +16,12 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-@XmlSchema(namespace = SyncopeConstants.NAMESPACE)
+@XmlSchema(
+        namespace = SyncopeConstants.NS,
+        xmlns = { @XmlNs(prefix = SyncopeConstants.NS_PREFIX,
+                    namespaceURI = SyncopeConstants.NS) })
 package org.apache.syncope.common.lib.search;
 
+import javax.xml.bind.annotation.XmlNs;
 import javax.xml.bind.annotation.XmlSchema;
 import org.apache.syncope.common.lib.SyncopeConstants;

http://git-wip-us.apache.org/repos/asf/syncope/blob/c81bc6ca/common/lib/src/main/java/org/apache/syncope/common/lib/to/package-info.java
----------------------------------------------------------------------
diff --git 
a/common/lib/src/main/java/org/apache/syncope/common/lib/to/package-info.java 
b/common/lib/src/main/java/org/apache/syncope/common/lib/to/package-info.java
index b02ed8f..7467695 100644
--- 
a/common/lib/src/main/java/org/apache/syncope/common/lib/to/package-info.java
+++ 
b/common/lib/src/main/java/org/apache/syncope/common/lib/to/package-info.java
@@ -16,8 +16,12 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-@XmlSchema(namespace = SyncopeConstants.NAMESPACE)
+@XmlSchema(
+        namespace = SyncopeConstants.NS,
+        xmlns = { @XmlNs(prefix = SyncopeConstants.NS_PREFIX,
+                    namespaceURI = SyncopeConstants.NS) })
 package org.apache.syncope.common.lib.to;
 
+import javax.xml.bind.annotation.XmlNs;
 import javax.xml.bind.annotation.XmlSchema;
 import org.apache.syncope.common.lib.SyncopeConstants;

http://git-wip-us.apache.org/repos/asf/syncope/blob/c81bc6ca/common/lib/src/main/java/org/apache/syncope/common/lib/types/package-info.java
----------------------------------------------------------------------
diff --git 
a/common/lib/src/main/java/org/apache/syncope/common/lib/types/package-info.java
 
b/common/lib/src/main/java/org/apache/syncope/common/lib/types/package-info.java
index 80cb87f..6d6cd5c 100644
--- 
a/common/lib/src/main/java/org/apache/syncope/common/lib/types/package-info.java
+++ 
b/common/lib/src/main/java/org/apache/syncope/common/lib/types/package-info.java
@@ -16,8 +16,12 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-@XmlSchema(namespace = SyncopeConstants.NAMESPACE)
+@XmlSchema(
+        namespace = SyncopeConstants.NS,
+        xmlns = { @XmlNs(prefix = SyncopeConstants.NS_PREFIX,
+                    namespaceURI = SyncopeConstants.NS) })
 package org.apache.syncope.common.lib.types;
 
+import javax.xml.bind.annotation.XmlNs;
 import javax.xml.bind.annotation.XmlSchema;
 import org.apache.syncope.common.lib.SyncopeConstants;

http://git-wip-us.apache.org/repos/asf/syncope/blob/c81bc6ca/common/rest-api/pom.xml
----------------------------------------------------------------------
diff --git a/common/rest-api/pom.xml b/common/rest-api/pom.xml
index de49287..d6d25ac 100644
--- a/common/rest-api/pom.xml
+++ b/common/rest-api/pom.xml
@@ -138,7 +138,8 @@ under the License.
                 </goals>
                 <configuration>
                   <applicationTitle>Apache Syncope 
${project.version}</applicationTitle>
-                  <namespacePrefix>syncope</namespacePrefix>
+                  <namespacePrefix>syncope2</namespacePrefix>
+                  <incrementNamespacePrefix>false</incrementNamespacePrefix>
                   
<linkAnyMediaTypeToXmlSchema>true</linkAnyMediaTypeToXmlSchema>
                   <useJaxbContextForQnames>true</useJaxbContextForQnames>
                   <addResourceAndMethodIds>true</addResourceAndMethodIds>

http://git-wip-us.apache.org/repos/asf/syncope/blob/c81bc6ca/core/rest-cxf/pom.xml
----------------------------------------------------------------------
diff --git a/core/rest-cxf/pom.xml b/core/rest-cxf/pom.xml
index 218a9b6..8af667b 100644
--- a/core/rest-cxf/pom.xml
+++ b/core/rest-cxf/pom.xml
@@ -241,7 +241,7 @@ under the License.
                     </parameter>
                     <parameter>
                       <name>schema-prefix</name>
-                      <value>syncope1</value>
+                      <value>syncope2</value>
                     </parameter>
                   </parameters>
                   <outputProperties>
@@ -253,7 +253,7 @@ under the License.
                   <fileMappers>
                     <fileMapper 
implementation="org.codehaus.plexus.components.io.filemappers.RegExpFileMapper">
                       <pattern>^.*$</pattern>
-                      <replacement>schema_1_syncope1.html</replacement>
+                      <replacement>schema_1_syncope2.html</replacement>
                     </fileMapper>
                   </fileMappers>
                 </transformationSet>
@@ -276,8 +276,8 @@ under the License.
                     <replace 
file="${project.build.directory}/generated/wadl/index.html" 
token="../webjars/jquery-ui/$/jquery-ui.min.js" 
value="http://code.jquery.com/ui/${jquery-ui.version}/jquery-ui.min.js"; />
                     <replace 
file="${project.build.directory}/generated/wadl/index.html" 
token="../webjars/jquery-ui-themes/$/smoothness/jquery-ui.min.css" 
value="https://code.jquery.com/ui/${jquery-ui.version}/themes/smoothness/jquery-ui.css";
 />      
 
-                    <replace 
file="${project.build.directory}/generated/wadl/schema_1_syncope1.html" 
token="../webjars/highlightjs/$/highlight.min.js" 
value="http://cdnjs.cloudflare.com/ajax/libs/highlight.js/${highlightjs.version}/highlight.min.js";
 />
-                    <replace 
file="${project.build.directory}/generated/wadl/schema_1_syncope1.html" 
token="../webjars/highlightjs/$/styles/default.min.css" 
value="http://cdnjs.cloudflare.com/ajax/libs/highlight.js/${highlightjs.version}/styles/default.min.css";
 />      
+                    <replace 
file="${project.build.directory}/generated/wadl/schema_1_syncope2.html" 
token="../webjars/highlightjs/$/highlight.min.js" 
value="http://cdnjs.cloudflare.com/ajax/libs/highlight.js/${highlightjs.version}/highlight.min.js";
 />
+                    <replace 
file="${project.build.directory}/generated/wadl/schema_1_syncope2.html" 
token="../webjars/highlightjs/$/styles/default.min.css" 
value="http://cdnjs.cloudflare.com/ajax/libs/highlight.js/${highlightjs.version}/styles/default.min.css";
 />      
 
                     <copy todir="${site.deploymentBaseDir}/rest/2.0">
                       <fileset dir="${project.build.directory}/generated/wadl" 
/>

http://git-wip-us.apache.org/repos/asf/syncope/blob/c81bc6ca/core/rest-cxf/src/main/java/org/apache/syncope/core/rest/cxf/ExtendedSwagger2Serializers.java
----------------------------------------------------------------------
diff --git 
a/core/rest-cxf/src/main/java/org/apache/syncope/core/rest/cxf/ExtendedSwagger2Serializers.java
 
b/core/rest-cxf/src/main/java/org/apache/syncope/core/rest/cxf/ExtendedSwagger2Serializers.java
index 45b479e..6d2b4cd 100644
--- 
a/core/rest-cxf/src/main/java/org/apache/syncope/core/rest/cxf/ExtendedSwagger2Serializers.java
+++ 
b/core/rest-cxf/src/main/java/org/apache/syncope/core/rest/cxf/ExtendedSwagger2Serializers.java
@@ -18,192 +18,56 @@
  */
 package org.apache.syncope.core.rest.cxf;
 
-import io.swagger.jaxrs.listing.SwaggerSerializers;
-import io.swagger.models.HttpMethod;
-import io.swagger.models.Operation;
-import io.swagger.models.Path;
-import io.swagger.models.Swagger;
-import io.swagger.models.Tag;
 import io.swagger.models.parameters.HeaderParameter;
-import java.io.IOException;
-import java.io.OutputStream;
-import java.lang.annotation.Annotation;
-import java.lang.reflect.Type;
+import io.swagger.models.parameters.Parameter;
+import java.net.URL;
 import java.util.ArrayList;
-import java.util.Collections;
-import java.util.Comparator;
-import java.util.HashMap;
 import java.util.List;
-import java.util.Map;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.MultivaluedMap;
-import org.apache.commons.collections4.ComparatorUtils;
-import org.apache.commons.lang3.StringUtils;
-import org.apache.commons.lang3.tuple.ImmutablePair;
-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.DocumentationProvider;
-import org.apache.cxf.jaxrs.utils.JAXRSUtils;
+import org.apache.cxf.jaxrs.swagger.DefaultSwagger2Serializers;
+import org.apache.cxf.jaxrs.swagger.Swagger2Serializers;
 import org.apache.syncope.common.lib.SyncopeConstants;
 import org.apache.syncope.common.rest.api.RESTHeaders;
 import org.apache.syncope.core.persistence.api.DomainsHolder;
 import org.apache.syncope.core.spring.ApplicationContextProvider;
 
-public class ExtendedSwagger2Serializers extends SwaggerSerializers implements 
Swagger2Serializers {
+public class ExtendedSwagger2Serializers extends DefaultSwagger2Serializers 
implements Swagger2Serializers {
 
-    protected boolean dynamicBasePath;
+    private List<String> domains;
 
-    protected boolean replaceTags;
+    public ExtendedSwagger2Serializers() {
+        super();
 
-    protected DocumentationProvider javadocProvider;
-
-    protected List<ClassResourceInfo> cris;
-
-    @Override
-    public void setDynamicBasePath(final boolean dynamicBasePath) {
-        this.dynamicBasePath = dynamicBasePath;
-    }
-
-    @Override
-    public void setReplaceTags(final boolean replaceTags) {
-        this.replaceTags = replaceTags;
-    }
-
-    @Override
-    public void setJavadocProvider(final DocumentationProvider 
javadocProvider) {
-        this.javadocProvider = javadocProvider;
-    }
-
-    @Override
-    public void setClassResourceInfos(final List<ClassResourceInfo> 
classResourceInfos) {
-        this.cris = classResourceInfos;
+        URL[] javaDocURLs = JavaDocUtils.getJavaDocURLs();
+        if (javaDocURLs != null) {
+            super.setJavaDocURLs(javaDocURLs);
+        }
     }
 
     @Override
-    public void writeTo(
-            final Swagger data,
-            final Class<?> type,
-            final Type genericType,
-            final Annotation[] annotations,
-            final MediaType mediaType,
-            final MultivaluedMap<String, Object> headers,
-            final OutputStream out) throws IOException {
-
-        if (dynamicBasePath) {
-            MessageContext ctx = JAXRSUtils.createContextValue(
-                    JAXRSUtils.getCurrentMessage(), null, 
MessageContext.class);
-            
data.setBasePath(StringUtils.substringBeforeLast(ctx.getHttpServletRequest().
-                    getRequestURI(), "/"));
-        }
-
-        if (replaceTags || javadocProvider != null) {
-            List<String> domains = new ArrayList<>(
+    protected void addParameters(final List<Parameter> parameters) {
+        if (domains == null) {
+            domains = new ArrayList<>(
                     ApplicationContextProvider.getApplicationContext().
                             
getBean(DomainsHolder.class).getDomains().keySet());
-
-            Map<String, ClassResourceInfo> operations = new HashMap<>();
-            Map<Pair<String, String>, OperationResourceInfo> methods = new 
HashMap<>();
-            for (ClassResourceInfo cri : cris) {
-                for (OperationResourceInfo ori : 
cri.getMethodDispatcher().getOperationResourceInfos()) {
-                    String normalizedPath = getNormalizedPath(
-                            cri.getURITemplate().getValue(), 
ori.getURITemplate().getValue());
-
-                    operations.put(normalizedPath, cri);
-                    methods.put(ImmutablePair.of(ori.getHttpMethod(), 
normalizedPath), ori);
-                }
-            }
-
-            if (replaceTags && data.getTags() != null) {
-                data.getTags().clear();
-            }
-            for (final Map.Entry<String, Path> entry : 
data.getPaths().entrySet()) {
-                Tag tag = null;
-                if (replaceTags && operations.containsKey(entry.getKey())) {
-                    ClassResourceInfo cri = operations.get(entry.getKey());
-
-                    tag = new Tag();
-                    
tag.setName(cri.getURITemplate().getValue().replaceAll("/", "_"));
-                    if (javadocProvider != null) {
-                        tag.setDescription(javadocProvider.getClassDoc(cri));
-                    }
-
-                    data.addTag(tag);
-                }
-
-                for (Map.Entry<HttpMethod, Operation> subentry : 
entry.getValue().getOperationMap().entrySet()) {
-                    if (replaceTags && tag != null) {
-                        
subentry.getValue().setTags(Collections.singletonList(tag.getName()));
-                    }
-
-                    Pair<String, String> key = 
ImmutablePair.of(subentry.getKey().name(), entry.getKey());
-                    if (methods.containsKey(key) && javadocProvider != null) {
-                        OperationResourceInfo ori = methods.get(key);
-
-                        
subentry.getValue().setSummary(javadocProvider.getMethodDoc(ori));
-
-                        boolean domainHeaderParameterFound = false;
-                        for (int i = 0; i < 
subentry.getValue().getParameters().size(); i++) {
-                            subentry.getValue().getParameters().get(i).
-                                    
setDescription(javadocProvider.getMethodParameterDoc(ori, i));
-
-                            if (subentry.getValue().getParameters().get(i) 
instanceof HeaderParameter
-                                    && RESTHeaders.DOMAIN.equals(
-                                            
subentry.getValue().getParameters().get(i).getName())) {
-
-                                domainHeaderParameterFound = true;
-                            }
-                        }
-                        if (!domainHeaderParameterFound) {
-                            HeaderParameter domainHeaderParameter = new 
HeaderParameter();
-                            domainHeaderParameter.setName(RESTHeaders.DOMAIN);
-                            domainHeaderParameter.setRequired(true);
-                            domainHeaderParameter.setType("string");
-                            domainHeaderParameter.setEnum(domains);
-                            
domainHeaderParameter.setDefault(SyncopeConstants.MASTER_DOMAIN);
-
-                            
subentry.getValue().getParameters().add(domainHeaderParameter);
-                        }
-
-                        if (subentry.getValue().getResponses() != null
-                                && 
!subentry.getValue().getResponses().isEmpty()) {
-
-                            
subentry.getValue().getResponses().entrySet().iterator().next().getValue().
-                                    
setDescription(javadocProvider.getMethodResponseDoc(ori));
-                        }
-                    }
-                }
-            }
         }
-        if (replaceTags && data.getTags() != null) {
-            Collections.sort(data.getTags(), new Comparator<Tag>() {
-
-                @Override
-                public int compare(final Tag tag1, final Tag tag2) {
-                    return 
ComparatorUtils.<String>naturalComparator().compare(tag1.getName(), 
tag2.getName());
-                }
-            });
-        }
-
-        super.writeTo(data, type, genericType, annotations, mediaType, 
headers, out);
-    }
 
-    protected String getNormalizedPath(final String classResourcePath, final 
String operationResourcePath) {
-        StringBuilder normalizedPath = new StringBuilder();
+        boolean domainHeaderParameterFound = false;
+        for (int i = 0; i < parameters.size(); i++) {
+            if (parameters.get(i) instanceof HeaderParameter
+                    && RESTHeaders.DOMAIN.equals(parameters.get(i).getName())) 
{
 
-        String[] segments = 
org.apache.commons.lang3.StringUtils.split(classResourcePath + 
operationResourcePath,
-                "/");
-        for (String segment : segments) {
-            if (!org.apache.commons.lang3.StringUtils.isEmpty(segment)) {
-                normalizedPath.append("/").append(segment);
+                domainHeaderParameterFound = true;
             }
         }
-        // Adapt to Swagger's path expression
-        if (normalizedPath.toString().endsWith(":.*}")) {
-            normalizedPath.setLength(normalizedPath.length() - 4);
-            normalizedPath.append('}');
+        if (!domainHeaderParameterFound) {
+            HeaderParameter domainHeaderParameter = new HeaderParameter();
+            domainHeaderParameter.setName(RESTHeaders.DOMAIN);
+            domainHeaderParameter.setRequired(true);
+            domainHeaderParameter.setType("string");
+            domainHeaderParameter.setEnum(domains);
+            domainHeaderParameter.setDefault(SyncopeConstants.MASTER_DOMAIN);
+
+            parameters.add(domainHeaderParameter);
         }
-        return StringUtils.EMPTY.equals(normalizedPath.toString()) ? "/" : 
normalizedPath.toString();
     }
 }

http://git-wip-us.apache.org/repos/asf/syncope/blob/c81bc6ca/core/rest-cxf/src/main/java/org/apache/syncope/core/rest/cxf/Swagger2Feature.java
----------------------------------------------------------------------
diff --git 
a/core/rest-cxf/src/main/java/org/apache/syncope/core/rest/cxf/Swagger2Feature.java
 
b/core/rest-cxf/src/main/java/org/apache/syncope/core/rest/cxf/Swagger2Feature.java
deleted file mode 100644
index e01d7e2..0000000
--- 
a/core/rest-cxf/src/main/java/org/apache/syncope/core/rest/cxf/Swagger2Feature.java
+++ /dev/null
@@ -1,175 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.syncope.core.rest.cxf;
-
-import io.swagger.jaxrs.config.BeanConfig;
-import io.swagger.jaxrs.config.DefaultReaderConfig;
-import io.swagger.jaxrs.config.ReaderConfig;
-import io.swagger.jaxrs.listing.ApiListingResource;
-import java.io.IOException;
-import java.net.URI;
-import java.net.URL;
-import java.util.ArrayList;
-import java.util.LinkedHashSet;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.Set;
-import java.util.regex.Pattern;
-import javax.servlet.ServletContext;
-import javax.ws.rs.HttpMethod;
-import javax.ws.rs.container.ContainerRequestContext;
-import javax.ws.rs.container.ContainerRequestFilter;
-import javax.ws.rs.container.PreMatching;
-import javax.ws.rs.core.Context;
-import javax.ws.rs.core.UriInfo;
-import org.apache.commons.lang3.StringUtils;
-import org.apache.cxf.Bus;
-import org.apache.cxf.endpoint.Server;
-import org.apache.cxf.jaxrs.JAXRSServiceFactoryBean;
-import org.apache.cxf.jaxrs.ext.MessageContext;
-import org.apache.cxf.jaxrs.model.ClassResourceInfo;
-import org.apache.cxf.jaxrs.provider.ServerProviderFactory;
-import org.apache.cxf.jaxrs.utils.InjectionUtils;
-
-/**
- * Automatically loads available javadocs from class loader (when {@link 
java.net.URLClassLoader}).
- */
-public class Swagger2Feature extends 
org.apache.cxf.jaxrs.swagger.Swagger2Feature {
-
-    @Override
-    public void initialize(final Server server, final Bus bus) {
-        URL[] javaDocURLs = JavaDocUtils.getJavaDocURLs();
-        if (javaDocURLs != null) {
-            super.setJavaDocURLs(javaDocURLs);
-        }
-
-        super.initialize(server, bus);
-    }
-
-    // ------- Remove the code below this point when CXF 3.1.8 is available 
-----
-    private Swagger2Serializers swagger2Serializers;
-
-    public void setSwagger2Serializers(final Swagger2Serializers 
swagger2Serializers) {
-        this.swagger2Serializers = swagger2Serializers;
-    }
-
-    @Override
-    protected void addSwaggerResource(final Server server, final Bus bus) {
-        List<Object> swaggerResources = new LinkedList<>();
-        ApiListingResource apiListingResource = new ApiListingResource();
-        swaggerResources.add(apiListingResource);
-        if (SWAGGER_UI_RESOURCE_ROOT != null) {
-            swaggerResources.add(new SwaggerUIService());
-            bus.setProperty("swagger.service.ui.available", "true");
-        }
-        JAXRSServiceFactoryBean sfb =
-                (JAXRSServiceFactoryBean) 
server.getEndpoint().get(JAXRSServiceFactoryBean.class.getName());
-        sfb.setResourceClassesFromBeans(swaggerResources);
-
-        List<ClassResourceInfo> cris = sfb.getClassResourceInfo();
-
-        List<Object> providers = new ArrayList<>();
-        for (ClassResourceInfo cri : cris) {
-            if (ApiListingResource.class == cri.getResourceClass()) {
-                InjectionUtils.injectContextProxies(cri, apiListingResource);
-            }
-        }
-        if (SWAGGER_UI_RESOURCE_ROOT != null) {
-            providers.add(new SwaggerUIFilter());
-        }
-
-        if (swagger2Serializers != null) {
-            swagger2Serializers.setJavadocProvider(javadocProvider);
-            swagger2Serializers.setClassResourceInfos(cris);
-            providers.add(swagger2Serializers);
-        }
-
-        providers.add(new ReaderConfigFilter());
-        ((ServerProviderFactory) server.getEndpoint().get(
-                
ServerProviderFactory.class.getName())).setUserProviders(providers);
-
-        BeanConfig beanConfig = new BeanConfig();
-        beanConfig.setResourcePackage(getResourcePackage());
-        beanConfig.setVersion(getVersion());
-        String basePath = getBasePath();
-        beanConfig.setBasePath(basePath);
-        beanConfig.setHost(getHost());
-        beanConfig.setSchemes(getSchemes());
-        beanConfig.setTitle(getTitle());
-        beanConfig.setDescription(getDescription());
-        beanConfig.setContact(getContact());
-        beanConfig.setLicense(getLicense());
-        beanConfig.setLicenseUrl(getLicenseUrl());
-        beanConfig.setTermsOfServiceUrl(getTermsOfServiceUrl());
-        beanConfig.setScan(isScan());
-        beanConfig.setPrettyPrint(isPrettyPrint());
-        beanConfig.setFilterClass(getFilterClass());
-    }
-
-    protected class ReaderConfigFilter implements ContainerRequestFilter {
-
-        @Context
-        protected MessageContext mc;
-
-        @Override
-        public void filter(final ContainerRequestContext requestContext) 
throws IOException {
-            ServletContext servletContext = mc.getServletContext();
-            if (servletContext != null && 
servletContext.getAttribute(ReaderConfig.class.getName()) == null) {
-                if (mc.getServletConfig() != null
-                        && 
Boolean.valueOf(mc.getServletConfig().getInitParameter("scan.all.resources"))) {
-                    
addReaderConfig(mc.getServletConfig().getInitParameter("ignore.routes"));
-                } else if (isScanAllResources()) {
-                    addReaderConfig(getIgnoreRoutes());
-                }
-            }
-        }
-
-        protected void addReaderConfig(final String ignoreRoutesParam) {
-            DefaultReaderConfig rc = new DefaultReaderConfig();
-            rc.setScanAllResources(true);
-            if (ignoreRoutesParam != null) {
-                Set<String> routes = new LinkedHashSet<>();
-                for (String route : StringUtils.split(ignoreRoutesParam, ",")) 
{
-                    routes.add(route.trim());
-                }
-                rc.setIgnoredRoutes(routes);
-            }
-            mc.getServletContext().setAttribute(ReaderConfig.class.getName(), 
rc);
-        }
-    }
-
-    @PreMatching
-    protected static class SwaggerUIFilter implements ContainerRequestFilter {
-
-        private static final Pattern PATTERN =
-                
Pattern.compile(".*[.]js|/css/.*|/images/.*|/lib/.*|.*ico|/fonts/.*");
-
-        @Override
-        public void filter(final ContainerRequestContext rc) throws 
IOException {
-            if (HttpMethod.GET.equals(rc.getRequest().getMethod())) {
-                UriInfo ui = rc.getUriInfo();
-                String path = "/" + ui.getPath();
-                if (PATTERN.matcher(path).matches()) {
-                    rc.setRequestUri(URI.create("api-docs" + path));
-                }
-            }
-        }
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/syncope/blob/c81bc6ca/core/rest-cxf/src/main/java/org/apache/syncope/core/rest/cxf/Swagger2Serializers.java
----------------------------------------------------------------------
diff --git 
a/core/rest-cxf/src/main/java/org/apache/syncope/core/rest/cxf/Swagger2Serializers.java
 
b/core/rest-cxf/src/main/java/org/apache/syncope/core/rest/cxf/Swagger2Serializers.java
deleted file mode 100644
index 39abf7b..0000000
--- 
a/core/rest-cxf/src/main/java/org/apache/syncope/core/rest/cxf/Swagger2Serializers.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.syncope.core.rest.cxf;
-
-import io.swagger.models.Swagger;
-import java.util.List;
-import javax.ws.rs.ext.MessageBodyWriter;
-import org.apache.cxf.jaxrs.model.ClassResourceInfo;
-import org.apache.cxf.jaxrs.model.doc.DocumentationProvider;
-
-public interface Swagger2Serializers extends MessageBodyWriter<Swagger> {
-
-    void setDynamicBasePath(boolean dynamicBasePath);
-
-    void setReplaceTags(boolean replaceTags);
-
-    void setJavadocProvider(DocumentationProvider javadocProvider);
-
-    void setClassResourceInfos(List<ClassResourceInfo> classResourceInfos);
-}

http://git-wip-us.apache.org/repos/asf/syncope/blob/c81bc6ca/core/rest-cxf/src/main/resources/META-INF/web-fragment.xml
----------------------------------------------------------------------
diff --git a/core/rest-cxf/src/main/resources/META-INF/web-fragment.xml 
b/core/rest-cxf/src/main/resources/META-INF/web-fragment.xml
index 405139a..9e75b2d 100644
--- a/core/rest-cxf/src/main/resources/META-INF/web-fragment.xml
+++ b/core/rest-cxf/src/main/resources/META-INF/web-fragment.xml
@@ -45,7 +45,7 @@ under the License.
   <servlet-mapping>
     <servlet-name>WADLServlet</servlet-name>
     <url-pattern>/index.html</url-pattern>
-    <url-pattern>/schema_1_syncope1.html</url-pattern>
+    <url-pattern>/schema_1_syncope2.html</url-pattern>
     <url-pattern>/syncope.wadl</url-pattern>
   </servlet-mapping>
 

http://git-wip-us.apache.org/repos/asf/syncope/blob/c81bc6ca/core/rest-cxf/src/main/resources/restCXFContext.xml
----------------------------------------------------------------------
diff --git a/core/rest-cxf/src/main/resources/restCXFContext.xml 
b/core/rest-cxf/src/main/resources/restCXFContext.xml
index 4f4d12b..5daa96a 100644
--- a/core/rest-cxf/src/main/resources/restCXFContext.xml
+++ b/core/rest-cxf/src/main/resources/restCXFContext.xml
@@ -40,7 +40,7 @@ under the License.
     <property name="namespacePrefixes">
       <map>
         <entry key="http://syncope.apache.org/2.0";>
-          <value>syncope</value>
+          <value>syncope2</value>
         </entry>
       </map>      
     </property>
@@ -91,7 +91,8 @@ under the License.
   
   <bean id="wadlGenerator" 
class="org.apache.syncope.core.rest.cxf.WadlGenerator">
     <property name="applicationTitle" value="Apache Syncope 
${syncope.version}"/>
-    <property name="namespacePrefix" value="syncope"/>
+    <property name="namespacePrefix" value="syncope2"/>
+    <property name="incrementNamespacePrefix" value="false"/>    
     <property name="linkAnyMediaTypeToXmlSchema" value="true"/>
     <property name="useJaxbContextForQnames" value="true"/>
     <property name="addResourceAndMethodIds" value="true"/>
@@ -103,7 +104,7 @@ under the License.
     <property name="dynamicBasePath" value="true"/>
     <property name="replaceTags" value="true"/>
   </bean>
-  <bean id="swagger2Feature" 
class="org.apache.syncope.core.rest.cxf.Swagger2Feature">
+  <bean id="swagger2Feature" 
class="org.apache.cxf.jaxrs.swagger.Swagger2Feature">
     <property name="title" value="Apache Syncope"/>
     <property name="version" value="${syncope.version}"/>
     <property name="description" value="Apache Syncope ${syncope.version}"/>   
 

http://git-wip-us.apache.org/repos/asf/syncope/blob/c81bc6ca/fit/core-reference/src/main/resources/jboss/restCXFContext.xml
----------------------------------------------------------------------
diff --git a/fit/core-reference/src/main/resources/jboss/restCXFContext.xml 
b/fit/core-reference/src/main/resources/jboss/restCXFContext.xml
index 1b709b1..7a9bed5 100644
--- a/fit/core-reference/src/main/resources/jboss/restCXFContext.xml
+++ b/fit/core-reference/src/main/resources/jboss/restCXFContext.xml
@@ -40,7 +40,7 @@ under the License.
     <property name="namespacePrefixes">
       <map>
         <entry key="http://syncope.apache.org/2.0";>
-          <value>syncope</value>
+          <value>syncope2</value>
         </entry>
       </map>      
     </property>
@@ -91,7 +91,8 @@ under the License.
   
   <bean id="wadlGenerator" 
class="org.apache.syncope.core.rest.cxf.WadlGenerator">
     <property name="applicationTitle" value="Apache Syncope 
${syncope.version}"/>
-    <property name="namespacePrefix" value="syncope"/>
+    <property name="namespacePrefix" value="syncope2"/>
+    <property name="incrementNamespacePrefix" value="false"/>    
     <property name="linkAnyMediaTypeToXmlSchema" value="true"/>
     <property name="useJaxbContextForQnames" value="true"/>
     <property name="addResourceAndMethodIds" value="true"/>
@@ -108,24 +109,23 @@ under the License.
   <bean id="extendedSwagger2Serializers" 
class="org.apache.syncope.core.rest.cxf.ExtendedSwagger2Serializers">
     <property name="dynamicBasePath" value="true"/>
     <property name="replaceTags" value="true"/>
+    <property name="javaDocPaths">
+      <list>
+        
<value>/WEB-INF/lib/syncope-common-rest-api-${syncope.version}-javadoc.jar</value>
+        
<value>/WEB-INF/lib/syncope-ext-camel-rest-api-${syncope.version}-javadoc.jar</value>
+      </list>
+    </property>
   </bean>
-  <bean id="swagger2Feature" 
class="org.apache.syncope.core.rest.cxf.Swagger2Feature">
+  <bean id="swagger2Feature" 
class="org.apache.cxf.jaxrs.swagger.Swagger2Feature">
     <property name="title" value="Apache Syncope"/>
     <property name="version" value="${syncope.version}"/>
     <property name="description" value="Apache Syncope ${syncope.version}"/>   
 
-    <property name="contact" value="[email protected]"/>
+    <property name="contact" value="[email protected]"/>    
     
     <property name="resourcePackage" 
value="org.apache.syncope.common.rest.api.service"/>
     <property name="scanAllResources" value="true"/>
     <property name="activateOnlyIfJaxrsSupported" value="true"/>
     
-    <property name="javaDocPaths">
-      <list>
-        
<value>/WEB-INF/lib/syncope-common-rest-api-${syncope.version}-javadoc.jar</value>
-        
<value>/WEB-INF/lib/syncope-ext-camel-rest-api-${syncope.version}-javadoc.jar</value>
-      </list>
-    </property>
-
     <property name="swagger2Serializers" ref="extendedSwagger2Serializers"/>
   </bean>
 

http://git-wip-us.apache.org/repos/asf/syncope/blob/c81bc6ca/pom.xml
----------------------------------------------------------------------
diff --git a/pom.xml b/pom.xml
index c27550c..4b611f9 100644
--- a/pom.xml
+++ b/pom.xml
@@ -356,7 +356,7 @@ under the License.
     <connid.ldap.version>1.5.1</connid.ldap.version>
     <connid.ad.version>1.3.2</connid.ad.version>
 
-    <cxf.version>3.1.7</cxf.version>
+    <cxf.version>3.1.8</cxf.version>
 
     <camel.version>2.17.3</camel.version>      
 

Reply via email to