You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@syncope.apache.org by md...@apache.org on 2015/08/28 17:26:32 UTC
[2/9] syncope git commit: Finally fixing WADL offline generation and
live browsing
Finally fixing WADL offline generation and live browsing
Project: http://git-wip-us.apache.org/repos/asf/syncope/repo
Commit: http://git-wip-us.apache.org/repos/asf/syncope/commit/926e8fd9
Tree: http://git-wip-us.apache.org/repos/asf/syncope/tree/926e8fd9
Diff: http://git-wip-us.apache.org/repos/asf/syncope/diff/926e8fd9
Branch: refs/heads/SYNCOPE-156
Commit: 926e8fd90201be8fa31f8c518c73423ae06669e2
Parents: 64c5fbd
Author: Francesco Chicchiriccò <il...@apache.org>
Authored: Thu Aug 27 15:45:13 2015 +0200
Committer: Francesco Chicchiriccò <il...@apache.org>
Committed: Thu Aug 27 15:45:13 2015 +0200
----------------------------------------------------------------------
.../syncope/common/lib/policy/package-info.java | 23 ++++
common/rest-api/pom.xml | 43 +++---
.../common/rest/api/service/AnyService.java | 38 +-----
.../rest/api/service/AnyTypeClassService.java | 7 -
.../common/rest/api/service/AnyTypeService.java | 7 -
.../rest/api/service/ConnectorService.java | 7 -
.../common/rest/api/service/DomainService.java | 7 -
.../common/rest/api/service/GroupService.java | 10 +-
.../rest/api/service/NotificationService.java | 7 -
.../common/rest/api/service/PolicyService.java | 6 -
.../common/rest/api/service/RealmService.java | 7 -
.../api/service/RelationshipTypeService.java | 7 -
.../common/rest/api/service/ReportService.java | 6 -
.../rest/api/service/ResourceService.java | 13 +-
.../common/rest/api/service/RoleService.java | 7 -
.../common/rest/api/service/SchemaService.java | 6 -
.../api/service/SecurityQuestionService.java | 7 -
.../common/rest/api/service/SyncopeService.java | 5 +
.../common/rest/api/service/TaskService.java | 6 -
.../rest/api/service/UserSelfService.java | 22 +--
.../common/rest/api/service/UserService.java | 25 +---
core/rest-cxf/pom.xml | 135 ++++++++++++++++++-
.../syncope/core/rest/cxf/WADLServlet.java | 96 -------------
.../main/resources/META-INF/web-fragment.xml | 9 --
.../src/main/resources/restCXFContext.xml | 15 +--
.../src/main/resources/wadl2html/identity.xsl | 28 ++++
.../src/main/resources/wadl2html/index.xsl | 7 +-
pom.xml | 11 +-
28 files changed, 238 insertions(+), 329 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/syncope/blob/926e8fd9/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
new file mode 100644
index 0000000..bb26628
--- /dev/null
+++ b/common/lib/src/main/java/org/apache/syncope/common/lib/policy/package-info.java
@@ -0,0 +1,23 @@
+/*
+ * 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.
+ */
+@XmlSchema(namespace = SyncopeConstants.NAMESPACE)
+package org.apache.syncope.common.lib.policy;
+
+import javax.xml.bind.annotation.XmlSchema;
+import org.apache.syncope.common.lib.SyncopeConstants;
http://git-wip-us.apache.org/repos/asf/syncope/blob/926e8fd9/common/rest-api/pom.xml
----------------------------------------------------------------------
diff --git a/common/rest-api/pom.xml b/common/rest-api/pom.xml
index 16f93e3..7a01834 100644
--- a/common/rest-api/pom.xml
+++ b/common/rest-api/pom.xml
@@ -47,18 +47,6 @@ under the License.
<groupId>javax.ws.rs</groupId>
<artifactId>javax.ws.rs-api</artifactId>
</dependency>
- <dependency>
- <groupId>org.apache.cxf</groupId>
- <artifactId>cxf-rt-frontend-jaxrs</artifactId>
- </dependency>
- <dependency>
- <groupId>org.apache.cxf</groupId>
- <artifactId>cxf-rt-rs-extension-search</artifactId>
- </dependency>
- <dependency>
- <groupId>org.apache.cxf</groupId>
- <artifactId>cxf-rt-rs-service-description</artifactId>
- </dependency>
<dependency>
<groupId>org.apache.syncope.common</groupId>
@@ -69,17 +57,38 @@ under the License.
<build>
<plugins>
- <!-- Generating javadoc JAR artifact for usage with CXF's WADL generator (for core) -->
<plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-javadoc-plugin</artifactId>
+ <groupId>org.apache.cxf</groupId>
+ <artifactId>cxf-java2wadl-plugin</artifactId>
<inherited>true</inherited>
<executions>
<execution>
- <id>attach-javadocs</id>
+ <id>parsejavadoc</id>
+ <phase>process-classes</phase>
+ <goals>
+ <goal>parsejavadoc</goal>
+ </goals>
+ </execution>
+ <execution>
+ <id>process-classes</id>
+ <phase>process-classes</phase>
<goals>
- <goal>jar</goal>
+ <goal>java2wadl</goal>
</goals>
+ <configuration>
+ <applicationTitle>Apache Syncope ${project.version}</applicationTitle>
+ <namespacePrefix>syncope</namespacePrefix>
+ <linkAnyMediaTypeToXmlSchema>true</linkAnyMediaTypeToXmlSchema>
+ <useJaxbContextForQnames>true</useJaxbContextForQnames>
+ <ignoreMessageWriters>true</ignoreMessageWriters>
+ <addResourceAndMethodIds>true</addResourceAndMethodIds>
+ <usePathParamsToCompareOperations>false</usePathParamsToCompareOperations>
+ <singleResourceMultipleMethods>true</singleResourceMultipleMethods>
+ <classResourceNames />
+ <basePackages>org.apache.syncope.common.rest.api.service</basePackages>
+ <docProvider>org.apache.cxf.maven_plugin.javatowadl.ResourceMapJavaDocProvider</docProvider>
+ <attachWadl>true</attachWadl>
+ </configuration>
</execution>
</executions>
</plugin>
http://git-wip-us.apache.org/repos/asf/syncope/blob/926e8fd9/common/rest-api/src/main/java/org/apache/syncope/common/rest/api/service/AnyService.java
----------------------------------------------------------------------
diff --git a/common/rest-api/src/main/java/org/apache/syncope/common/rest/api/service/AnyService.java b/common/rest-api/src/main/java/org/apache/syncope/common/rest/api/service/AnyService.java
index 1c0fda2..71aa4b6 100644
--- a/common/rest-api/src/main/java/org/apache/syncope/common/rest/api/service/AnyService.java
+++ b/common/rest-api/src/main/java/org/apache/syncope/common/rest/api/service/AnyService.java
@@ -30,9 +30,6 @@ import javax.ws.rs.PathParam;
import javax.ws.rs.Produces;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response;
-import org.apache.cxf.jaxrs.model.wadl.Description;
-import org.apache.cxf.jaxrs.model.wadl.Descriptions;
-import org.apache.cxf.jaxrs.model.wadl.DocTarget;
import org.apache.syncope.common.lib.mod.AnyMod;
import org.apache.syncope.common.lib.mod.ResourceAssociationMod;
import org.apache.syncope.common.lib.to.AnyTO;
@@ -84,14 +81,8 @@ public interface AnyService<TO extends AnyTO, MOD extends AnyMod> extends JAXRSS
*
* @param anyTO any object to be created
* @return <tt>Response</tt> object featuring <tt>Location</tt> header of created any object as well as the any
- * object itself enriched with propagation status information - {@link AnyTO} as <tt>Entity</tt>
+ * object itself enriched with propagation status information - <tt>AnyTO</tt> as <tt>Entity</tt>
*/
- @Descriptions({
- @Description(target = DocTarget.RESPONSE,
- value = "Featuring <tt>Location</tt> header of created any object as well as the "
- + "any object itself enriched with propagation status information - "
- + "<tt>AnyTO</tt> as <tt>Entity</tt>")
- })
@POST
@Produces({ MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON })
@Consumes({ MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON })
@@ -102,13 +93,8 @@ public interface AnyService<TO extends AnyTO, MOD extends AnyMod> extends JAXRSS
*
* @param anyMod modification to be applied to any object matching the provided key
* @return <tt>Response</tt> object featuring the updated any object enriched with propagation status information
- * - {@link AnyTO} as <tt>Entity</tt>
+ * - <tt>AnyTO</tt> as <tt>Entity</tt>
*/
- @Descriptions({
- @Description(target = DocTarget.RESPONSE,
- value = "Featuring the updated any object enriched with propagation status information - "
- + "<tt>AnyTO</tt> as <tt>Entity</tt>")
- })
@POST
@Path("{key}")
@Produces({ MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON })
@@ -120,13 +106,8 @@ public interface AnyService<TO extends AnyTO, MOD extends AnyMod> extends JAXRSS
*
* @param key key of any object to be deleted
* @return <tt>Response</tt> object featuring the deleted any object enriched with propagation status information
- * - {@link AnyTO} as <tt>Entity</tt>
+ * - <tt>AnyTO</tt> as <tt>Entity</tt>
*/
- @Descriptions({
- @Description(target = DocTarget.RESPONSE,
- value = "Featuring the deleted any object enriched with propagation status information - "
- + "<tt>AnyTO</tt> as <tt>Entity</tt>")
- })
@DELETE
@Path("{key}")
@Produces({ MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON })
@@ -139,13 +120,8 @@ public interface AnyService<TO extends AnyTO, MOD extends AnyMod> extends JAXRSS
* @param key any object id.
* @param type resource association action type
* @param resourceNames external resources to be used for propagation-related operations
- * @return <tt>Response</tt> object featuring
- * {@link BulkActionResult} as <tt>Entity</tt>
+ * @return <tt>Response</tt> object featuring <tt>BulkActionResult</tt> as <tt>Entity</tt>
*/
- @Descriptions({
- @Description(target = DocTarget.RESPONSE,
- value = "Featuring <tt>BulkActionResult</tt> as <tt>Entity</tt>")
- })
@POST
@Path("{key}/deassociate/{type}")
@Produces({ MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON })
@@ -161,12 +137,8 @@ public interface AnyService<TO extends AnyTO, MOD extends AnyMod> extends JAXRSS
* @param key any object id.
* @param type resource association action type
* @param associationMod external resources to be used for propagation-related operations
- * @return <tt>Response</tt> object featuring {@link BulkActionResult} as <tt>Entity</tt>
+ * @return <tt>Response</tt> object featuring <tt>BulkActionResult</tt> as <tt>Entity</tt>
*/
- @Descriptions({
- @Description(target = DocTarget.RESPONSE,
- value = "Featuring <tt>BulkActionResult</tt> as <tt>Entity</tt>")
- })
@POST
@Path("{key}/associate/{type}")
@Produces({ MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON })
http://git-wip-us.apache.org/repos/asf/syncope/blob/926e8fd9/common/rest-api/src/main/java/org/apache/syncope/common/rest/api/service/AnyTypeClassService.java
----------------------------------------------------------------------
diff --git a/common/rest-api/src/main/java/org/apache/syncope/common/rest/api/service/AnyTypeClassService.java b/common/rest-api/src/main/java/org/apache/syncope/common/rest/api/service/AnyTypeClassService.java
index 43c3d23..454652e 100644
--- a/common/rest-api/src/main/java/org/apache/syncope/common/rest/api/service/AnyTypeClassService.java
+++ b/common/rest-api/src/main/java/org/apache/syncope/common/rest/api/service/AnyTypeClassService.java
@@ -30,9 +30,6 @@ import javax.ws.rs.PathParam;
import javax.ws.rs.Produces;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response;
-import org.apache.cxf.jaxrs.model.wadl.Description;
-import org.apache.cxf.jaxrs.model.wadl.Descriptions;
-import org.apache.cxf.jaxrs.model.wadl.DocTarget;
import org.apache.syncope.common.lib.to.AnyTypeClassTO;
/**
@@ -67,10 +64,6 @@ public interface AnyTypeClassService extends JAXRSService {
* @param anyTypeClassTO anyTypeClass to be created
* @return <tt>Response</tt> object featuring <tt>Location</tt> header of created anyTypeClass
*/
- @Descriptions({
- @Description(target = DocTarget.RESPONSE,
- value = "Featuring <tt>Location</tt> header of created anyTypeClass")
- })
@POST
@Consumes({ MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON })
Response create(@NotNull AnyTypeClassTO anyTypeClassTO);
http://git-wip-us.apache.org/repos/asf/syncope/blob/926e8fd9/common/rest-api/src/main/java/org/apache/syncope/common/rest/api/service/AnyTypeService.java
----------------------------------------------------------------------
diff --git a/common/rest-api/src/main/java/org/apache/syncope/common/rest/api/service/AnyTypeService.java b/common/rest-api/src/main/java/org/apache/syncope/common/rest/api/service/AnyTypeService.java
index c4a8c02..8f01fc1 100644
--- a/common/rest-api/src/main/java/org/apache/syncope/common/rest/api/service/AnyTypeService.java
+++ b/common/rest-api/src/main/java/org/apache/syncope/common/rest/api/service/AnyTypeService.java
@@ -30,9 +30,6 @@ import javax.ws.rs.PathParam;
import javax.ws.rs.Produces;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response;
-import org.apache.cxf.jaxrs.model.wadl.Description;
-import org.apache.cxf.jaxrs.model.wadl.Descriptions;
-import org.apache.cxf.jaxrs.model.wadl.DocTarget;
import org.apache.syncope.common.lib.to.AnyTypeTO;
/**
@@ -67,10 +64,6 @@ public interface AnyTypeService extends JAXRSService {
* @param anyTypeTO anyType to be created
* @return <tt>Response</tt> object featuring <tt>Location</tt> header of created anyType
*/
- @Descriptions({
- @Description(target = DocTarget.RESPONSE,
- value = "Featuring <tt>Location</tt> header of created anyType")
- })
@POST
@Consumes({ MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON })
Response create(@NotNull AnyTypeTO anyTypeTO);
http://git-wip-us.apache.org/repos/asf/syncope/blob/926e8fd9/common/rest-api/src/main/java/org/apache/syncope/common/rest/api/service/ConnectorService.java
----------------------------------------------------------------------
diff --git a/common/rest-api/src/main/java/org/apache/syncope/common/rest/api/service/ConnectorService.java b/common/rest-api/src/main/java/org/apache/syncope/common/rest/api/service/ConnectorService.java
index 66da67c..b523758 100644
--- a/common/rest-api/src/main/java/org/apache/syncope/common/rest/api/service/ConnectorService.java
+++ b/common/rest-api/src/main/java/org/apache/syncope/common/rest/api/service/ConnectorService.java
@@ -32,9 +32,6 @@ import javax.ws.rs.Produces;
import javax.ws.rs.QueryParam;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response;
-import org.apache.cxf.jaxrs.model.wadl.Description;
-import org.apache.cxf.jaxrs.model.wadl.Descriptions;
-import org.apache.cxf.jaxrs.model.wadl.DocTarget;
import org.apache.syncope.common.lib.to.BulkAction;
import org.apache.syncope.common.lib.to.BulkActionResult;
import org.apache.syncope.common.lib.to.ConnBundleTO;
@@ -148,10 +145,6 @@ public interface ConnectorService extends JAXRSService {
* @param connInstanceTO connector instance to be created
* @return <tt>Response</tt> object featuring <tt>Location</tt> header of created connector instance
*/
- @Descriptions({
- @Description(target = DocTarget.RESPONSE,
- value = "Featuring <tt>Location</tt> header of created connector instance")
- })
@POST
@Consumes({ MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON })
Response create(@NotNull ConnInstanceTO connInstanceTO);
http://git-wip-us.apache.org/repos/asf/syncope/blob/926e8fd9/common/rest-api/src/main/java/org/apache/syncope/common/rest/api/service/DomainService.java
----------------------------------------------------------------------
diff --git a/common/rest-api/src/main/java/org/apache/syncope/common/rest/api/service/DomainService.java b/common/rest-api/src/main/java/org/apache/syncope/common/rest/api/service/DomainService.java
index 4076dc1..a37c643 100644
--- a/common/rest-api/src/main/java/org/apache/syncope/common/rest/api/service/DomainService.java
+++ b/common/rest-api/src/main/java/org/apache/syncope/common/rest/api/service/DomainService.java
@@ -30,9 +30,6 @@ import javax.ws.rs.PathParam;
import javax.ws.rs.Produces;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response;
-import org.apache.cxf.jaxrs.model.wadl.Description;
-import org.apache.cxf.jaxrs.model.wadl.Descriptions;
-import org.apache.cxf.jaxrs.model.wadl.DocTarget;
import org.apache.syncope.common.lib.to.DomainTO;
/**
@@ -67,10 +64,6 @@ public interface DomainService extends JAXRSService {
* @param domainTO domain to be created
* @return <tt>Response</tt> object featuring <tt>Location</tt> header of created domain
*/
- @Descriptions({
- @Description(target = DocTarget.RESPONSE,
- value = "Featuring <tt>Location</tt> header of created domain")
- })
@POST
@Consumes({ MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON })
Response create(@NotNull DomainTO domainTO);
http://git-wip-us.apache.org/repos/asf/syncope/blob/926e8fd9/common/rest-api/src/main/java/org/apache/syncope/common/rest/api/service/GroupService.java
----------------------------------------------------------------------
diff --git a/common/rest-api/src/main/java/org/apache/syncope/common/rest/api/service/GroupService.java b/common/rest-api/src/main/java/org/apache/syncope/common/rest/api/service/GroupService.java
index 7d48b46..569c0b6 100644
--- a/common/rest-api/src/main/java/org/apache/syncope/common/rest/api/service/GroupService.java
+++ b/common/rest-api/src/main/java/org/apache/syncope/common/rest/api/service/GroupService.java
@@ -23,9 +23,6 @@ import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
import javax.ws.rs.core.MediaType;
-import org.apache.cxf.jaxrs.model.wadl.Description;
-import org.apache.cxf.jaxrs.model.wadl.Descriptions;
-import org.apache.cxf.jaxrs.model.wadl.DocTarget;
import org.apache.syncope.common.lib.mod.GroupMod;
import org.apache.syncope.common.lib.to.GroupTO;
@@ -36,16 +33,11 @@ import org.apache.syncope.common.lib.to.GroupTO;
public interface GroupService extends AnyService<GroupTO, GroupMod> {
/**
- * This method is similar to {@link #read(Long)}, but uses different authentication handling to ensure that a user
+ * This method is similar to <tt>read()</tt>, but uses different authentication handling to ensure that a user
* can read his own groups.
*
* @return own groups
*/
- @Descriptions({
- @Description(target = DocTarget.METHOD,
- value = "This method is similar to <tt>read()</tt>, but uses different authentication handling to "
- + "ensure that a user can read his own groups.")
- })
@GET
@Path("own")
@Produces({ MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON })
http://git-wip-us.apache.org/repos/asf/syncope/blob/926e8fd9/common/rest-api/src/main/java/org/apache/syncope/common/rest/api/service/NotificationService.java
----------------------------------------------------------------------
diff --git a/common/rest-api/src/main/java/org/apache/syncope/common/rest/api/service/NotificationService.java b/common/rest-api/src/main/java/org/apache/syncope/common/rest/api/service/NotificationService.java
index ae33d5a..c380d31 100644
--- a/common/rest-api/src/main/java/org/apache/syncope/common/rest/api/service/NotificationService.java
+++ b/common/rest-api/src/main/java/org/apache/syncope/common/rest/api/service/NotificationService.java
@@ -30,9 +30,6 @@ import javax.ws.rs.PathParam;
import javax.ws.rs.Produces;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response;
-import org.apache.cxf.jaxrs.model.wadl.Description;
-import org.apache.cxf.jaxrs.model.wadl.Descriptions;
-import org.apache.cxf.jaxrs.model.wadl.DocTarget;
import org.apache.syncope.common.lib.to.NotificationTO;
/**
@@ -67,10 +64,6 @@ public interface NotificationService extends JAXRSService {
* @param notificationTO Creates a new notification.
* @return <tt>Response</tt> object featuring <tt>Location</tt> header of created notification
*/
- @Descriptions({
- @Description(target = DocTarget.RESPONSE,
- value = "Featuring <tt>Location</tt> header of created notification")
- })
@POST
@Consumes({ MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON })
Response create(@NotNull NotificationTO notificationTO);
http://git-wip-us.apache.org/repos/asf/syncope/blob/926e8fd9/common/rest-api/src/main/java/org/apache/syncope/common/rest/api/service/PolicyService.java
----------------------------------------------------------------------
diff --git a/common/rest-api/src/main/java/org/apache/syncope/common/rest/api/service/PolicyService.java b/common/rest-api/src/main/java/org/apache/syncope/common/rest/api/service/PolicyService.java
index 55b8747..e35ef7c 100644
--- a/common/rest-api/src/main/java/org/apache/syncope/common/rest/api/service/PolicyService.java
+++ b/common/rest-api/src/main/java/org/apache/syncope/common/rest/api/service/PolicyService.java
@@ -31,9 +31,6 @@ import javax.ws.rs.PathParam;
import javax.ws.rs.Produces;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response;
-import org.apache.cxf.jaxrs.model.wadl.Description;
-import org.apache.cxf.jaxrs.model.wadl.Descriptions;
-import org.apache.cxf.jaxrs.model.wadl.DocTarget;
import org.apache.syncope.common.lib.policy.AbstractPolicyTO;
import org.apache.syncope.common.lib.types.PolicyType;
@@ -73,9 +70,6 @@ public interface PolicyService extends JAXRSService {
* @param <T> response type (extending PolicyTO)
* @return <tt>Response</tt> object featuring <tt>Location</tt> header of created policy
*/
- @Descriptions({
- @Description(target = DocTarget.RESPONSE, value = "Featuring <tt>Location</tt> header of created policy")
- })
@POST
@Consumes({ MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON })
<T extends AbstractPolicyTO> Response create(@NotNull T policyTO);
http://git-wip-us.apache.org/repos/asf/syncope/blob/926e8fd9/common/rest-api/src/main/java/org/apache/syncope/common/rest/api/service/RealmService.java
----------------------------------------------------------------------
diff --git a/common/rest-api/src/main/java/org/apache/syncope/common/rest/api/service/RealmService.java b/common/rest-api/src/main/java/org/apache/syncope/common/rest/api/service/RealmService.java
index 74b2333..81111e0 100644
--- a/common/rest-api/src/main/java/org/apache/syncope/common/rest/api/service/RealmService.java
+++ b/common/rest-api/src/main/java/org/apache/syncope/common/rest/api/service/RealmService.java
@@ -30,9 +30,6 @@ import javax.ws.rs.PathParam;
import javax.ws.rs.Produces;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response;
-import org.apache.cxf.jaxrs.model.wadl.Description;
-import org.apache.cxf.jaxrs.model.wadl.Descriptions;
-import org.apache.cxf.jaxrs.model.wadl.DocTarget;
import org.apache.syncope.common.lib.to.RealmTO;
/**
@@ -68,10 +65,6 @@ public interface RealmService extends JAXRSService {
* @param realmTO new realm.
* @return <tt>Response</tt> object featuring <tt>Location</tt> header of created realm
*/
- @Descriptions({
- @Description(target = DocTarget.RESPONSE,
- value = "Featuring <tt>Location</tt> header of created realm")
- })
@POST
@Path("{parentPath:.*}")
@Consumes({ MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON })
http://git-wip-us.apache.org/repos/asf/syncope/blob/926e8fd9/common/rest-api/src/main/java/org/apache/syncope/common/rest/api/service/RelationshipTypeService.java
----------------------------------------------------------------------
diff --git a/common/rest-api/src/main/java/org/apache/syncope/common/rest/api/service/RelationshipTypeService.java b/common/rest-api/src/main/java/org/apache/syncope/common/rest/api/service/RelationshipTypeService.java
index 178bb6c..30a7a15 100644
--- a/common/rest-api/src/main/java/org/apache/syncope/common/rest/api/service/RelationshipTypeService.java
+++ b/common/rest-api/src/main/java/org/apache/syncope/common/rest/api/service/RelationshipTypeService.java
@@ -30,9 +30,6 @@ import javax.ws.rs.PathParam;
import javax.ws.rs.Produces;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response;
-import org.apache.cxf.jaxrs.model.wadl.Description;
-import org.apache.cxf.jaxrs.model.wadl.Descriptions;
-import org.apache.cxf.jaxrs.model.wadl.DocTarget;
import org.apache.syncope.common.lib.to.RelationshipTypeTO;
/**
@@ -67,10 +64,6 @@ public interface RelationshipTypeService extends JAXRSService {
* @param relationshipTypeTO relationshipType to be created
* @return <tt>Response</tt> object featuring <tt>Location</tt> header of created relationshipType
*/
- @Descriptions({
- @Description(target = DocTarget.RESPONSE,
- value = "Featuring <tt>Location</tt> header of created relationshipType")
- })
@POST
@Consumes({ MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON })
Response create(@NotNull RelationshipTypeTO relationshipTypeTO);
http://git-wip-us.apache.org/repos/asf/syncope/blob/926e8fd9/common/rest-api/src/main/java/org/apache/syncope/common/rest/api/service/ReportService.java
----------------------------------------------------------------------
diff --git a/common/rest-api/src/main/java/org/apache/syncope/common/rest/api/service/ReportService.java b/common/rest-api/src/main/java/org/apache/syncope/common/rest/api/service/ReportService.java
index 44863ba..6d01b2a 100644
--- a/common/rest-api/src/main/java/org/apache/syncope/common/rest/api/service/ReportService.java
+++ b/common/rest-api/src/main/java/org/apache/syncope/common/rest/api/service/ReportService.java
@@ -33,9 +33,6 @@ import javax.ws.rs.Produces;
import javax.ws.rs.QueryParam;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response;
-import org.apache.cxf.jaxrs.model.wadl.Description;
-import org.apache.cxf.jaxrs.model.wadl.Descriptions;
-import org.apache.cxf.jaxrs.model.wadl.DocTarget;
import org.apache.syncope.common.lib.to.PagedResult;
import org.apache.syncope.common.lib.to.ReportExecTO;
import org.apache.syncope.common.lib.to.ReportTO;
@@ -88,9 +85,6 @@ public interface ReportService extends JAXRSService {
* @param reportTO report to be created
* @return <tt>Response</tt> object featuring <tt>Location</tt> header of created report
*/
- @Descriptions({
- @Description(target = DocTarget.RESPONSE, value = "Featuring <tt>Location</tt> header of created report")
- })
@POST
@Consumes({ MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON })
Response create(@NotNull ReportTO reportTO);
http://git-wip-us.apache.org/repos/asf/syncope/blob/926e8fd9/common/rest-api/src/main/java/org/apache/syncope/common/rest/api/service/ResourceService.java
----------------------------------------------------------------------
diff --git a/common/rest-api/src/main/java/org/apache/syncope/common/rest/api/service/ResourceService.java b/common/rest-api/src/main/java/org/apache/syncope/common/rest/api/service/ResourceService.java
index cac9132..f15bcd5 100644
--- a/common/rest-api/src/main/java/org/apache/syncope/common/rest/api/service/ResourceService.java
+++ b/common/rest-api/src/main/java/org/apache/syncope/common/rest/api/service/ResourceService.java
@@ -30,9 +30,6 @@ import javax.ws.rs.PathParam;
import javax.ws.rs.Produces;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response;
-import org.apache.cxf.jaxrs.model.wadl.Description;
-import org.apache.cxf.jaxrs.model.wadl.Descriptions;
-import org.apache.cxf.jaxrs.model.wadl.DocTarget;
import org.apache.syncope.common.lib.to.BulkAction;
import org.apache.syncope.common.lib.to.BulkActionResult;
import org.apache.syncope.common.lib.to.ConnObjectTO;
@@ -87,10 +84,6 @@ public interface ResourceService extends JAXRSService {
* @param resourceTO Resource to be created
* @return <tt>Response</tt> object featuring <tt>Location</tt> header of created resource
*/
- @Descriptions({
- @Description(target = DocTarget.RESPONSE,
- value = "Featuring <tt>Location</tt> header of created resource")
- })
@POST
@Consumes({ MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON })
Response create(@NotNull ResourceTO resourceTO);
@@ -134,12 +127,8 @@ public interface ResourceService extends JAXRSService {
* @param anyTypeKey any object kind
* @param type resource de-association action type
* @param keys any object keys against which the bulk action will be performed
- * @return <tt>Response</tt> object featuring {@link BulkActionResult} as <tt>Entity</tt>
+ * @return <tt>Response</tt> object featuring <tt>BulkActionResult</tt> as <tt>Entity</tt>
*/
- @Descriptions({
- @Description(target = DocTarget.RESPONSE,
- value = "Featuring <tt>BulkActionResult</tt> as <tt>Entity</tt>")
- })
@POST
@Path("{key}/bulkDeassociation/{anyTypeKey}/{type}")
@Produces({ MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON })
http://git-wip-us.apache.org/repos/asf/syncope/blob/926e8fd9/common/rest-api/src/main/java/org/apache/syncope/common/rest/api/service/RoleService.java
----------------------------------------------------------------------
diff --git a/common/rest-api/src/main/java/org/apache/syncope/common/rest/api/service/RoleService.java b/common/rest-api/src/main/java/org/apache/syncope/common/rest/api/service/RoleService.java
index d6afa1f..36f18e7 100644
--- a/common/rest-api/src/main/java/org/apache/syncope/common/rest/api/service/RoleService.java
+++ b/common/rest-api/src/main/java/org/apache/syncope/common/rest/api/service/RoleService.java
@@ -30,9 +30,6 @@ import javax.ws.rs.PathParam;
import javax.ws.rs.Produces;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response;
-import org.apache.cxf.jaxrs.model.wadl.Description;
-import org.apache.cxf.jaxrs.model.wadl.Descriptions;
-import org.apache.cxf.jaxrs.model.wadl.DocTarget;
import org.apache.syncope.common.lib.to.RoleTO;
/**
@@ -67,10 +64,6 @@ public interface RoleService extends JAXRSService {
* @param roleTO role to be created
* @return <tt>Response</tt> object featuring <tt>Location</tt> header of created role
*/
- @Descriptions({
- @Description(target = DocTarget.RESPONSE,
- value = "Featuring <tt>Location</tt> header of created role")
- })
@POST
@Consumes({ MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON })
Response create(@NotNull RoleTO roleTO);
http://git-wip-us.apache.org/repos/asf/syncope/blob/926e8fd9/common/rest-api/src/main/java/org/apache/syncope/common/rest/api/service/SchemaService.java
----------------------------------------------------------------------
diff --git a/common/rest-api/src/main/java/org/apache/syncope/common/rest/api/service/SchemaService.java b/common/rest-api/src/main/java/org/apache/syncope/common/rest/api/service/SchemaService.java
index 195e756..e59d7d0 100644
--- a/common/rest-api/src/main/java/org/apache/syncope/common/rest/api/service/SchemaService.java
+++ b/common/rest-api/src/main/java/org/apache/syncope/common/rest/api/service/SchemaService.java
@@ -30,9 +30,6 @@ import javax.ws.rs.PathParam;
import javax.ws.rs.Produces;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response;
-import org.apache.cxf.jaxrs.model.wadl.Description;
-import org.apache.cxf.jaxrs.model.wadl.Descriptions;
-import org.apache.cxf.jaxrs.model.wadl.DocTarget;
import org.apache.syncope.common.lib.to.AbstractSchemaTO;
import org.apache.syncope.common.lib.types.SchemaType;
@@ -75,9 +72,6 @@ public interface SchemaService extends JAXRSService {
* @param schemaTO schema to be created
* @return <tt>Response</tt> object featuring <tt>Location</tt> header of created schema
*/
- @Descriptions({
- @Description(target = DocTarget.RESPONSE, value = "Featuring <tt>Location</tt> header of created schema")
- })
@POST
@Consumes({ MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON })
<T extends AbstractSchemaTO> Response create(@NotNull @PathParam("type") SchemaType type, @NotNull T schemaTO);
http://git-wip-us.apache.org/repos/asf/syncope/blob/926e8fd9/common/rest-api/src/main/java/org/apache/syncope/common/rest/api/service/SecurityQuestionService.java
----------------------------------------------------------------------
diff --git a/common/rest-api/src/main/java/org/apache/syncope/common/rest/api/service/SecurityQuestionService.java b/common/rest-api/src/main/java/org/apache/syncope/common/rest/api/service/SecurityQuestionService.java
index f0dcf27..d0a63f7 100644
--- a/common/rest-api/src/main/java/org/apache/syncope/common/rest/api/service/SecurityQuestionService.java
+++ b/common/rest-api/src/main/java/org/apache/syncope/common/rest/api/service/SecurityQuestionService.java
@@ -30,9 +30,6 @@ import javax.ws.rs.PathParam;
import javax.ws.rs.Produces;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response;
-import org.apache.cxf.jaxrs.model.wadl.Description;
-import org.apache.cxf.jaxrs.model.wadl.Descriptions;
-import org.apache.cxf.jaxrs.model.wadl.DocTarget;
import org.apache.syncope.common.lib.to.SecurityQuestionTO;
/**
@@ -67,10 +64,6 @@ public interface SecurityQuestionService extends JAXRSService {
* @param securityQuestionTO security question to be created
* @return <tt>Response</tt> object featuring <tt>Location</tt> header of created security question
*/
- @Descriptions({
- @Description(target = DocTarget.RESPONSE,
- value = "Featuring <tt>Location</tt> header of created security question")
- })
@POST
@Consumes({ MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON })
Response create(@NotNull SecurityQuestionTO securityQuestionTO);
http://git-wip-us.apache.org/repos/asf/syncope/blob/926e8fd9/common/rest-api/src/main/java/org/apache/syncope/common/rest/api/service/SyncopeService.java
----------------------------------------------------------------------
diff --git a/common/rest-api/src/main/java/org/apache/syncope/common/rest/api/service/SyncopeService.java b/common/rest-api/src/main/java/org/apache/syncope/common/rest/api/service/SyncopeService.java
index cdd6dbc..bb5a1a8 100644
--- a/common/rest-api/src/main/java/org/apache/syncope/common/rest/api/service/SyncopeService.java
+++ b/common/rest-api/src/main/java/org/apache/syncope/common/rest/api/service/SyncopeService.java
@@ -27,6 +27,11 @@ import org.apache.syncope.common.lib.to.SyncopeTO;
@Path("")
public interface SyncopeService extends JAXRSService {
+ /**
+ * Provides information summary about this Apache Syncope deployment's configuration.
+ *
+ * @return information summary about this Apache Syncope deployment's configuration
+ */
@GET
@Produces({ MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON })
SyncopeTO info();
http://git-wip-us.apache.org/repos/asf/syncope/blob/926e8fd9/common/rest-api/src/main/java/org/apache/syncope/common/rest/api/service/TaskService.java
----------------------------------------------------------------------
diff --git a/common/rest-api/src/main/java/org/apache/syncope/common/rest/api/service/TaskService.java b/common/rest-api/src/main/java/org/apache/syncope/common/rest/api/service/TaskService.java
index 31b76f4..2665c51 100644
--- a/common/rest-api/src/main/java/org/apache/syncope/common/rest/api/service/TaskService.java
+++ b/common/rest-api/src/main/java/org/apache/syncope/common/rest/api/service/TaskService.java
@@ -34,9 +34,6 @@ import javax.ws.rs.Produces;
import javax.ws.rs.QueryParam;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response;
-import org.apache.cxf.jaxrs.model.wadl.Description;
-import org.apache.cxf.jaxrs.model.wadl.Descriptions;
-import org.apache.cxf.jaxrs.model.wadl.DocTarget;
import org.apache.syncope.common.lib.to.AbstractTaskTO;
import org.apache.syncope.common.lib.to.BulkAction;
import org.apache.syncope.common.lib.to.BulkActionResult;
@@ -99,9 +96,6 @@ public interface TaskService extends JAXRSService {
* @param <T> type of taskTO
* @return <tt>Response</tt> object featuring <tt>Location</tt> header of created task
*/
- @Descriptions({
- @Description(target = DocTarget.RESPONSE, value = "Featuring <tt>Location</tt> header of created task")
- })
@POST
@Consumes({ MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON })
<T extends SchedTaskTO> Response create(@NotNull T taskTO);
http://git-wip-us.apache.org/repos/asf/syncope/blob/926e8fd9/common/rest-api/src/main/java/org/apache/syncope/common/rest/api/service/UserSelfService.java
----------------------------------------------------------------------
diff --git a/common/rest-api/src/main/java/org/apache/syncope/common/rest/api/service/UserSelfService.java b/common/rest-api/src/main/java/org/apache/syncope/common/rest/api/service/UserSelfService.java
index dd2fe7e..2203a11 100644
--- a/common/rest-api/src/main/java/org/apache/syncope/common/rest/api/service/UserSelfService.java
+++ b/common/rest-api/src/main/java/org/apache/syncope/common/rest/api/service/UserSelfService.java
@@ -29,9 +29,6 @@ import javax.ws.rs.Produces;
import javax.ws.rs.QueryParam;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response;
-import org.apache.cxf.jaxrs.model.wadl.Description;
-import org.apache.cxf.jaxrs.model.wadl.Descriptions;
-import org.apache.cxf.jaxrs.model.wadl.DocTarget;
import org.apache.syncope.common.lib.mod.UserMod;
import org.apache.syncope.common.lib.to.UserTO;
@@ -57,13 +54,8 @@ public interface UserSelfService extends JAXRSService {
* @param userTO user to be created
* @param storePassword whether password shall be stored internally
* @return <tt>Response</tt> object featuring <tt>Location</tt> header of self-registered user as well as the user
- * itself - {@link UserTO} as <tt>Entity</tt>
+ * itself - <tt>UserTO</tt> as <tt>Entity</tt>
*/
- @Descriptions({
- @Description(target = DocTarget.RESPONSE,
- value = "Featuring <tt>Location</tt> header of self-registered user as well "
- + "as the user itself - {@link UserTO} as <tt>Entity</tt>")
- })
@POST
@Produces({ MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON })
@Consumes({ MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON })
@@ -74,12 +66,8 @@ public interface UserSelfService extends JAXRSService {
* Self-updates user.
*
* @param userMod modification to be applied to user matching the provided key
- * @return <tt>Response</tt> object featuring the updated user - {@link UserTO} as <tt>Entity</tt>
+ * @return <tt>Response</tt> object featuring the updated user - <tt>UserTO</tt> as <tt>Entity</tt>
*/
- @Descriptions({
- @Description(target = DocTarget.RESPONSE,
- value = "Featuring the updated user - <tt>UserTO</tt> as <tt>Entity</tt>")
- })
@POST
@Path("{key}")
@Produces({ MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON })
@@ -89,12 +77,8 @@ public interface UserSelfService extends JAXRSService {
/**
* Self-deletes user.
*
- * @return <tt>Response</tt> object featuring the deleted user - {@link UserTO} as <tt>Entity</tt>
+ * @return <tt>Response</tt> object featuring the deleted user - <tt>UserTO</tt> as <tt>Entity</tt>
*/
- @Descriptions({
- @Description(target = DocTarget.RESPONSE,
- value = "Featuring the deleted user - <tt>UserTO</tt> as <tt>Entity</tt>")
- })
@DELETE
@Produces({ MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON })
Response delete();
http://git-wip-us.apache.org/repos/asf/syncope/blob/926e8fd9/common/rest-api/src/main/java/org/apache/syncope/common/rest/api/service/UserService.java
----------------------------------------------------------------------
diff --git a/common/rest-api/src/main/java/org/apache/syncope/common/rest/api/service/UserService.java b/common/rest-api/src/main/java/org/apache/syncope/common/rest/api/service/UserService.java
index 418e233..fd0faac 100644
--- a/common/rest-api/src/main/java/org/apache/syncope/common/rest/api/service/UserService.java
+++ b/common/rest-api/src/main/java/org/apache/syncope/common/rest/api/service/UserService.java
@@ -29,9 +29,6 @@ import javax.ws.rs.Produces;
import javax.ws.rs.QueryParam;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response;
-import org.apache.cxf.jaxrs.model.wadl.Description;
-import org.apache.cxf.jaxrs.model.wadl.Descriptions;
-import org.apache.cxf.jaxrs.model.wadl.DocTarget;
import org.apache.syncope.common.lib.mod.StatusMod;
import org.apache.syncope.common.lib.mod.UserMod;
import org.apache.syncope.common.lib.to.UserTO;
@@ -48,10 +45,6 @@ public interface UserService extends AnyService<UserTO, UserMod> {
* @param key user key
* @return <tt>Response</tt> object featuring HTTP header with username matching the given key
*/
- @Descriptions({
- @Description(target = DocTarget.RESPONSE,
- value = "Featuring HTTP header with username matching the given key")
- })
@OPTIONS
@Path("{key}/username")
Response getUsername(@NotNull @PathParam("key") Long key);
@@ -62,10 +55,6 @@ public interface UserService extends AnyService<UserTO, UserMod> {
* @param username username
* @return <tt>Response</tt> object featuring HTTP header with key matching the given username
*/
- @Descriptions({
- @Description(target = DocTarget.RESPONSE,
- value = "Featuring HTTP header with key matching the given username")
- })
@OPTIONS
@Path("{username}/key")
Response getUserKey(@NotNull @PathParam("username") String username);
@@ -76,13 +65,8 @@ public interface UserService extends AnyService<UserTO, UserMod> {
* @param userTO user to be created
* @param storePassword whether password shall be stored internally
* @return <tt>Response</tt> object featuring <tt>Location</tt> header of created user as well as the user itself
- * enriched with propagation status information - {@link UserTO} as <tt>Entity</tt>
+ * enriched with propagation status information - <tt>UserTO</tt> as <tt>Entity</tt>
*/
- @Descriptions({
- @Description(target = DocTarget.RESPONSE,
- value = "Featuring <tt>Location</tt> header of created user as well as the "
- + "user itself enriched with propagation status information - <tt>UserTO</tt> as <tt>Entity</tt>")
- })
@POST
@Produces({ MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON })
@Consumes({ MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON })
@@ -95,13 +79,8 @@ public interface UserService extends AnyService<UserTO, UserMod> {
*
* @param statusMod status update details
* @return <tt>Response</tt> object featuring the updated user enriched with propagation status information
- * - {@link UserTO} as <tt>Entity</tt>
+ * - <tt>UserTO</tt> as <tt>Entity</tt>
*/
- @Descriptions({
- @Description(target = DocTarget.RESPONSE,
- value = "Featuring the updated user enriched with propagation status information - "
- + "<tt>UserTO</tt> as <tt>Entity</tt>")
- })
@POST
@Path("{key}/status")
@Produces({ MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON })
http://git-wip-us.apache.org/repos/asf/syncope/blob/926e8fd9/core/rest-cxf/pom.xml
----------------------------------------------------------------------
diff --git a/core/rest-cxf/pom.xml b/core/rest-cxf/pom.xml
index 1651193..89c0de4 100644
--- a/core/rest-cxf/pom.xml
+++ b/core/rest-cxf/pom.xml
@@ -105,12 +105,6 @@ under the License.
</dependency>
<dependency>
- <groupId>org.apache.syncope.common</groupId>
- <artifactId>syncope-common-rest-api</artifactId>
- <version>${project.version}</version>
- <classifier>javadoc</classifier>
- </dependency>
- <dependency>
<groupId>org.apache.syncope.core</groupId>
<artifactId>syncope-core-logic</artifactId>
<version>${project.version}</version>
@@ -120,7 +114,7 @@ under the License.
<artifactId>syncope-common-rest-api</artifactId>
<version>${project.version}</version>
</dependency>
-
+
<dependency>
<groupId>org.webjars</groupId>
<artifactId>jquery</artifactId>
@@ -131,6 +125,10 @@ under the License.
</dependency>
<dependency>
<groupId>org.webjars</groupId>
+ <artifactId>jquery-ui-themes</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.webjars</groupId>
<artifactId>highlightjs</artifactId>
</dependency>
</dependencies>
@@ -139,6 +137,129 @@ under the License.
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-dependency-plugin</artifactId>
+ <inherited>false</inherited>
+ <configuration>
+ <outputDirectory>${project.build.directory}</outputDirectory>
+ <artifactItems>
+ <artifactItem>
+ <groupId>org.apache.syncope.common</groupId>
+ <artifactId>syncope-common-rest-api</artifactId>
+ <version>${project.version}</version>
+ <type>wadl</type>
+ </artifactItem>
+ </artifactItems>
+ </configuration>
+ <executions>
+ <execution>
+ <phase>process-resources</phase>
+ <goals>
+ <goal>copy</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+
+ <plugin>
+ <groupId>org.codehaus.mojo</groupId>
+ <artifactId>xml-maven-plugin</artifactId>
+ <inherited>true</inherited>
+ <executions>
+ <execution>
+ <phase>prepare-package</phase>
+ <goals>
+ <goal>transform</goal>
+ </goals>
+ </execution>
+ </executions>
+ <configuration>
+ <transformationSets>
+ <transformationSet>
+ <dir>${project.build.directory}</dir>
+ <includes>
+ <include>syncope-common-rest-api-${project.version}.wadl</include>
+ </includes>
+ <outputDir>${project.build.directory}/classes/META-INF/resources/doc</outputDir>
+ <stylesheet>${project.build.directory}/classes/wadl2html/identity.xsl</stylesheet>
+ <outputProperties>
+ <outputProperty>
+ <name>indent</name>
+ <value>yes</value>
+ </outputProperty>
+ </outputProperties>
+ <fileMappers>
+ <fileMapper implementation="org.codehaus.plexus.components.io.filemappers.RegExpFileMapper">
+ <pattern>^.*$</pattern>
+ <replacement>syncope.wadl</replacement>
+ </fileMapper>
+ </fileMappers>
+ </transformationSet>
+ <transformationSet>
+ <dir>${project.build.directory}</dir>
+ <includes>
+ <include>syncope-common-rest-api-${project.version}.wadl</include>
+ </includes>
+ <outputDir>${project.build.directory}/classes/META-INF/resources/doc</outputDir>
+ <stylesheet>${project.build.directory}/classes/wadl2html/index.xsl</stylesheet>
+ <parameters>
+ <parameter>
+ <name>contextPath</name>
+ <value>..</value>
+ </parameter>
+ </parameters>
+ <outputProperties>
+ <outputProperty>
+ <name>indent</name>
+ <value>yes</value>
+ </outputProperty>
+ </outputProperties>
+ <fileMappers>
+ <fileMapper implementation="org.codehaus.plexus.components.io.filemappers.RegExpFileMapper">
+ <pattern>^.*$</pattern>
+ <replacement>index.html</replacement>
+ </fileMapper>
+ </fileMappers>
+ </transformationSet>
+ <transformationSet>
+ <dir>${project.build.directory}</dir>
+ <includes>
+ <include>syncope-common-rest-api-${project.version}.wadl</include>
+ </includes>
+ <outputDir>${project.build.directory}/classes/META-INF/resources/doc</outputDir>
+ <stylesheet>${project.build.directory}/classes/wadl2html/schema.xsl</stylesheet>
+ <parameters>
+ <parameter>
+ <name>contextPath</name>
+ <value>..</value>
+ </parameter>
+ <parameter>
+ <name>schema-position</name>
+ <value>1</value>
+ </parameter>
+ <parameter>
+ <name>schema-prefix</name>
+ <value>syncope1</value>
+ </parameter>
+ </parameters>
+ <outputProperties>
+ <outputProperty>
+ <name>indent</name>
+ <value>yes</value>
+ </outputProperty>
+ </outputProperties>
+ <fileMappers>
+ <fileMapper implementation="org.codehaus.plexus.components.io.filemappers.RegExpFileMapper">
+ <pattern>^.*$</pattern>
+ <replacement>schema_1_syncope1.html</replacement>
+ </fileMapper>
+ </fileMappers>
+ </transformationSet>
+ </transformationSets>
+ </configuration>
+ </plugin>
+
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-checkstyle-plugin</artifactId>
</plugin>
</plugins>
http://git-wip-us.apache.org/repos/asf/syncope/blob/926e8fd9/core/rest-cxf/src/main/java/org/apache/syncope/core/rest/cxf/WADLServlet.java
----------------------------------------------------------------------
diff --git a/core/rest-cxf/src/main/java/org/apache/syncope/core/rest/cxf/WADLServlet.java b/core/rest-cxf/src/main/java/org/apache/syncope/core/rest/cxf/WADLServlet.java
deleted file mode 100644
index e5d5c74..0000000
--- a/core/rest-cxf/src/main/java/org/apache/syncope/core/rest/cxf/WADLServlet.java
+++ /dev/null
@@ -1,96 +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 java.io.IOException;
-import java.net.URL;
-import java.rmi.ServerException;
-import java.util.HashMap;
-import java.util.Map;
-import java.util.regex.Matcher;
-import java.util.regex.Pattern;
-import javax.servlet.ServletException;
-import javax.servlet.http.HttpServlet;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import org.apache.cocoon.pipeline.CachingPipeline;
-import org.apache.cocoon.pipeline.Pipeline;
-import org.apache.cocoon.sax.SAXPipelineComponent;
-import org.apache.cocoon.sax.component.XMLGenerator;
-import org.apache.cocoon.sax.component.XMLSerializer;
-import org.apache.cocoon.sax.component.XSLTTransformer;
-
-public class WADLServlet extends HttpServlet {
-
- private static final long serialVersionUID = -6737005675471095560L;
-
- private static final Pattern SCHEMA_PATTERN = Pattern.compile("/schema_(.*)_(.*)\\.html");
-
- /**
- * Handles the HTTP <code>GET</code> method.
- *
- * @param request servlet request
- * @param response servlet response
- * @throws ServletException if a servlet-specific error occurs
- * @throws IOException if an I/O error occurs
- */
- @Override
- protected void doGet(final HttpServletRequest request, final HttpServletResponse response)
- throws ServletException, IOException {
-
- String requestURI = request.getRequestURI().substring(
- request.getRequestURI().indexOf(request.getServletPath()) + request.getServletPath().length());
- Matcher schemaMatcher = SCHEMA_PATTERN.matcher(requestURI);
-
- Pipeline<SAXPipelineComponent> pipeline = new CachingPipeline<SAXPipelineComponent>();
- final String wadlURL = request.getRequestURL().
- substring(0, request.getRequestURL().indexOf("/doc")) + "/?_wadl";
- pipeline.addComponent(new XMLGenerator(new URL(wadlURL)));
- if ("/".equals(requestURI)) {
- XSLTTransformer xslt = new XSLTTransformer(getClass().getResource("/wadl2html/index.xsl"));
-
- Map<String, Object> parameters = new HashMap<>();
- parameters.put("contextPath", request.getContextPath());
- xslt.setParameters(parameters);
-
- pipeline.addComponent(xslt);
- } else if (schemaMatcher.matches()) {
- XSLTTransformer xslt = new XSLTTransformer(getClass().getResource("/wadl2html/schema.xsl"));
-
- Map<String, Object> parameters = new HashMap<>();
- parameters.put("contextPath", request.getContextPath());
- parameters.put("schema-position", schemaMatcher.group(1));
- parameters.put("schema-prefix", schemaMatcher.group(2));
- xslt.setParameters(parameters);
-
- pipeline.addComponent(xslt);
- } else {
- throw new ServerException("URL not supported: " + request.getRequestURI());
- }
-
- pipeline.addComponent(XMLSerializer.createHTML4Serializer());
- pipeline.setup(response.getOutputStream());
- try {
- pipeline.execute();
- } catch (Exception e) {
- throw new ServletException(e);
- }
- }
-
-}
http://git-wip-us.apache.org/repos/asf/syncope/blob/926e8fd9/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 d5e53ef..e9ded9d 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
@@ -46,15 +46,6 @@ under the License.
<servlet-name>CXFServlet</servlet-name>
<url-pattern>/rest/*</url-pattern>
</servlet-mapping>
- <servlet>
- <servlet-name>WADLServlet</servlet-name>
- <servlet-class>org.apache.syncope.core.rest.cxf.WADLServlet</servlet-class>
- <load-on-startup>2</load-on-startup>
- </servlet>
- <servlet-mapping>
- <servlet-name>WADLServlet</servlet-name>
- <url-pattern>/rest/doc/*</url-pattern>
- </servlet-mapping>
<filter>
<filter-name>encodingFilter</filter-name>
http://git-wip-us.apache.org/repos/asf/syncope/blob/926e8fd9/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 b26ed2e..b8f8948 100644
--- a/core/rest-cxf/src/main/resources/restCXFContext.xml
+++ b/core/rest-cxf/src/main/resources/restCXFContext.xml
@@ -78,23 +78,13 @@ under the License.
<bean id="searchContextProvider" class="org.apache.cxf.jaxrs.ext.search.SearchContextProvider"/>
- <bean id="wadlGenerator" class="org.apache.cxf.jaxrs.model.wadl.WadlGenerator">
- <property name="applicationTitle" value="Apache Syncope ${syncope.version}"/>
- <property name="namespacePrefix" value="syncope"/>
- <property name="linkJsonToXmlSchema" value="true"/>
- <property name="useJaxbContextForQnames" value="true"/>
- <property name="ignoreMessageWriters" value="true"/>
- <property name="addResourceAndMethodIds" value="true"/>
- <property name="usePathParamsToCompareOperations" value="false"/>
- <property name="javaDocPath" value="/WEB-INF/lib/syncope-common-rest-api-${syncope.version}-javadoc.jar"/>
- </bean>
-
<bean id="addDomainFilter" class="org.apache.syncope.core.rest.cxf.AddDomainFilter"/>
<bean id="addETagFilter" class="org.apache.syncope.core.rest.cxf.AddETagFilter"/>
<jaxrs:server id="restContainer" address="/"
basePackages="org.apache.syncope.common.rest.api.service, org.apache.syncope.core.rest.cxf.service"
- staticSubresourceResolution="true">
+ staticSubresourceResolution="true"
+ docLocation="classpath:/META-INF/resources/doc/syncope.wadl">
<jaxrs:properties>
<entry key="search.lax.property.match" value="true"/>
</jaxrs:properties>
@@ -109,7 +99,6 @@ under the License.
<ref bean="jsonProvider"/>
<ref bean="exceptionMapper"/>
<ref bean="searchContextProvider"/>
- <ref bean="wadlGenerator"/>
<ref bean="addDomainFilter"/>
<ref bean="addETagFilter"/>
</jaxrs:providers>
http://git-wip-us.apache.org/repos/asf/syncope/blob/926e8fd9/core/rest-cxf/src/main/resources/wadl2html/identity.xsl
----------------------------------------------------------------------
diff --git a/core/rest-cxf/src/main/resources/wadl2html/identity.xsl b/core/rest-cxf/src/main/resources/wadl2html/identity.xsl
new file mode 100644
index 0000000..3678f80
--- /dev/null
+++ b/core/rest-cxf/src/main/resources/wadl2html/identity.xsl
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ 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.
+-->
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+ version="1.0">
+
+ <xsl:template match="node()|@*">
+ <xsl:copy>
+ <xsl:apply-templates select="@*|node()"/>
+ </xsl:copy>
+ </xsl:template>
+</xsl:stylesheet>
http://git-wip-us.apache.org/repos/asf/syncope/blob/926e8fd9/core/rest-cxf/src/main/resources/wadl2html/index.xsl
----------------------------------------------------------------------
diff --git a/core/rest-cxf/src/main/resources/wadl2html/index.xsl b/core/rest-cxf/src/main/resources/wadl2html/index.xsl
index a4809a7..9e37e24 100644
--- a/core/rest-cxf/src/main/resources/wadl2html/index.xsl
+++ b/core/rest-cxf/src/main/resources/wadl2html/index.xsl
@@ -46,7 +46,7 @@
<xsl:value-of select="wadl:doc/@title"/>
</title>
- <link rel="stylesheet" href="{$contextPath}/webjars/jquery-ui/${jquery-ui.version}/jquery-ui.min.css"/>
+ <link rel="stylesheet" href="{$contextPath}/webjars/jquery-ui-themes/${jquery-ui.version}/smoothness/jquery-ui.min.css"/>
<style>
body {
font-family: "Verdana,Arial,sans-serif";
@@ -142,6 +142,7 @@
<th>Prefix</th>
<th>URI</th>
<th>XSD</th>
+ <th>WADL</th>
</tr>
<xsl:apply-templates select="wadl:grammars/xs:schema"/>
</table>
@@ -212,6 +213,10 @@
onClick="window.open('', 'schema', '', true).focus();" target="schema">
<xsl:value-of select="$prefix"/>.xsd</a>
</td>
+ <td>
+ <a href="syncope.wadl"
+ onClick="window.open('', 'wadl', '', true).focus();" target="wadl">syncope.wadl</a>
+ </td>
</tr>
</xsl:template>
http://git-wip-us.apache.org/repos/asf/syncope/blob/926e8fd9/pom.xml
----------------------------------------------------------------------
diff --git a/pom.xml b/pom.xml
index adc785d..68e2997 100644
--- a/pom.xml
+++ b/pom.xml
@@ -326,7 +326,7 @@ under the License.
<connid.ldap.version>1.4.0</connid.ldap.version>
<connid.ad.version>1.2.3</connid.ad.version>
- <cxf.version>3.1.2</cxf.version>
+ <cxf.version>3.1.3-SNAPSHOT</cxf.version>
<camel.version>2.15.3</camel.version>
@@ -371,7 +371,7 @@ under the License.
<log.directory>${project.build.directory}/log</log.directory>
<activiti-modeler.directory>${project.build.directory}/activiti-modeler</activiti-modeler.directory>
- <jquery.version>2.1.3</jquery.version>
+ <jquery.version>2.1.4</jquery.version>
<jquery-ui.version>1.11.4</jquery-ui.version>
<jquery-cookie.version>1.4.1-1</jquery-cookie.version>
<bootstrap.version>3.3.5</bootstrap.version>
@@ -931,6 +931,11 @@ under the License.
</dependency>
<dependency>
<groupId>org.webjars</groupId>
+ <artifactId>jquery-ui-themes</artifactId>
+ <version>${jquery-ui.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.webjars</groupId>
<artifactId>bootstrap</artifactId>
<version>${bootstrap.version}</version>
</dependency>
@@ -1081,7 +1086,7 @@ under the License.
<configuration>
<source>${targetJdk}</source>
<target>${targetJdk}</target>
- <useIncrementalCompilation>false</useIncrementalCompilation>
+ <useIncrementalCompilation>false</useIncrementalCompilation>
<showWarnings>true</showWarnings>
<showDeprecation>true</showDeprecation>
<!--<compilerArgument>-Xlint:unchecked</compilerArgument>-->