You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cxf.apache.org by se...@apache.org on 2013/07/15 14:45:47 UTC
svn commit: r1503207 - in /cxf/trunk: rt/
rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/ext/xml/
rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/impl/
rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/model/wadl/
rt/frontend/jaxrs/src/ma...
Author: sergeyb
Date: Mon Jul 15 12:45:45 2013
New Revision: 1503207
URL: http://svn.apache.org/r1503207
Log:
[CXF-4827] Moving WADL generator code into its own module
Added:
cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/ext/xml/ElementClass.java
- copied, changed from r1503166, cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/model/wadl/ElementClass.java
cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/ext/xml/XMLName.java
- copied, changed from r1503166, cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/model/wadl/XMLName.java
cxf/trunk/rt/rs/description/
cxf/trunk/rt/rs/description/pom.xml (with props)
cxf/trunk/rt/rs/description/src/
cxf/trunk/rt/rs/description/src/main/
cxf/trunk/rt/rs/description/src/main/java/
cxf/trunk/rt/rs/description/src/main/java/org/
cxf/trunk/rt/rs/description/src/main/java/org/apache/
cxf/trunk/rt/rs/description/src/main/java/org/apache/cxf/
cxf/trunk/rt/rs/description/src/main/java/org/apache/cxf/jaxrs/
cxf/trunk/rt/rs/description/src/main/java/org/apache/cxf/jaxrs/model/
cxf/trunk/rt/rs/description/src/main/java/org/apache/cxf/jaxrs/model/wadl/
cxf/trunk/rt/rs/description/src/main/java/org/apache/cxf/jaxrs/model/wadl/Description.java
- copied unchanged from r1503166, cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/model/wadl/Description.java
cxf/trunk/rt/rs/description/src/main/java/org/apache/cxf/jaxrs/model/wadl/Descriptions.java
- copied unchanged from r1503166, cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/model/wadl/Descriptions.java
cxf/trunk/rt/rs/description/src/main/java/org/apache/cxf/jaxrs/model/wadl/DocTarget.java
- copied unchanged from r1503166, cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/model/wadl/DocTarget.java
cxf/trunk/rt/rs/description/src/main/java/org/apache/cxf/jaxrs/model/wadl/ElementQNameResolver.java
- copied unchanged from r1503166, cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/model/wadl/ElementQNameResolver.java
cxf/trunk/rt/rs/description/src/main/java/org/apache/cxf/jaxrs/model/wadl/WadlGenerator.java
- copied, changed from r1503166, cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/model/wadl/WadlGenerator.java
cxf/trunk/rt/rs/description/src/test/
cxf/trunk/rt/rs/description/src/test/java/
cxf/trunk/rt/rs/description/src/test/java/org/
cxf/trunk/rt/rs/description/src/test/java/org/apache/
cxf/trunk/rt/rs/description/src/test/java/org/apache/cxf/
cxf/trunk/rt/rs/description/src/test/java/org/apache/cxf/jaxrs/
cxf/trunk/rt/rs/description/src/test/java/org/apache/cxf/jaxrs/model/
cxf/trunk/rt/rs/description/src/test/java/org/apache/cxf/jaxrs/model/wadl/
cxf/trunk/rt/rs/description/src/test/java/org/apache/cxf/jaxrs/model/wadl/BookEnum.java
- copied unchanged from r1503166, cxf/trunk/rt/frontend/jaxrs/src/test/java/org/apache/cxf/jaxrs/model/wadl/BookEnum.java
cxf/trunk/rt/rs/description/src/test/java/org/apache/cxf/jaxrs/model/wadl/BookStore.java
- copied, changed from r1503166, cxf/trunk/rt/frontend/jaxrs/src/test/java/org/apache/cxf/jaxrs/model/wadl/BookStore.java
cxf/trunk/rt/rs/description/src/test/java/org/apache/cxf/jaxrs/model/wadl/BookStoreWithSingleSlash.java
- copied, changed from r1503166, cxf/trunk/rt/frontend/jaxrs/src/test/java/org/apache/cxf/jaxrs/model/wadl/BookStoreWithSingleSlash.java
cxf/trunk/rt/rs/description/src/test/java/org/apache/cxf/jaxrs/model/wadl/FormInterface.java
- copied unchanged from r1503166, cxf/trunk/rt/frontend/jaxrs/src/test/java/org/apache/cxf/jaxrs/model/wadl/FormInterface.java
cxf/trunk/rt/rs/description/src/test/java/org/apache/cxf/jaxrs/model/wadl/Orders.java
- copied unchanged from r1503166, cxf/trunk/rt/frontend/jaxrs/src/test/java/org/apache/cxf/jaxrs/model/wadl/Orders.java
cxf/trunk/rt/rs/description/src/test/java/org/apache/cxf/jaxrs/model/wadl/ServerProviderFactoryTest.java (with props)
cxf/trunk/rt/rs/description/src/test/java/org/apache/cxf/jaxrs/model/wadl/WadlGeneratorTest.java
- copied unchanged from r1503166, cxf/trunk/rt/frontend/jaxrs/src/test/java/org/apache/cxf/jaxrs/model/wadl/WadlGeneratorTest.java
cxf/trunk/rt/rs/description/src/test/java/org/apache/cxf/jaxrs/model/wadl/jaxb/
cxf/trunk/rt/rs/description/src/test/java/org/apache/cxf/jaxrs/model/wadl/jaxb/Book.java
- copied, changed from r1503166, cxf/trunk/rt/frontend/jaxrs/src/test/java/org/apache/cxf/jaxrs/model/wadl/jaxb/Book.java
cxf/trunk/rt/rs/description/src/test/java/org/apache/cxf/jaxrs/model/wadl/jaxb/Chapter.java
- copied, changed from r1503166, cxf/trunk/rt/frontend/jaxrs/src/test/java/org/apache/cxf/jaxrs/model/wadl/jaxb/Chapter.java
cxf/trunk/rt/rs/description/src/test/java/org/apache/cxf/jaxrs/model/wadl/jaxb/ObjectFactory.java
- copied unchanged from r1503166, cxf/trunk/rt/frontend/jaxrs/src/test/java/org/apache/cxf/jaxrs/model/wadl/jaxb/ObjectFactory.java
cxf/trunk/rt/rs/description/src/test/java/org/apache/cxf/jaxrs/model/wadl/jaxb/packageinfo/
cxf/trunk/rt/rs/description/src/test/java/org/apache/cxf/jaxrs/model/wadl/jaxb/packageinfo/Book2.java (with props)
cxf/trunk/rt/rs/description/src/test/java/org/apache/cxf/jaxrs/model/wadl/jaxb/packageinfo/package-info.java (with props)
cxf/trunk/rt/rs/description/src/test/resources/
cxf/trunk/rt/rs/description/src/test/resources/book1.xsd (with props)
cxf/trunk/rt/rs/description/src/test/resources/book2.xsd (with props)
cxf/trunk/rt/rs/description/src/test/resources/books.xsd (with props)
Removed:
cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/model/wadl/
cxf/trunk/rt/frontend/jaxrs/src/test/java/org/apache/cxf/jaxrs/model/wadl/
Modified:
cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/impl/RequestPreprocessor.java
cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/provider/ProviderFactory.java
cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/provider/ServerProviderFactory.java
cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/utils/ResourceUtils.java
cxf/trunk/rt/frontend/jaxrs/src/test/java/org/apache/cxf/jaxrs/provider/ProviderFactoryTest.java
cxf/trunk/rt/pom.xml
cxf/trunk/rt/rs/extensions/providers/pom.xml
cxf/trunk/rt/rs/extensions/providers/src/test/java/org/apache/cxf/jaxrs/resources/Chapter.java
cxf/trunk/systests/jaxrs/pom.xml
cxf/trunk/systests/rs-security/pom.xml
Copied: cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/ext/xml/ElementClass.java (from r1503166, cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/model/wadl/ElementClass.java)
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/ext/xml/ElementClass.java?p2=cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/ext/xml/ElementClass.java&p1=cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/model/wadl/ElementClass.java&r1=1503166&r2=1503207&rev=1503207&view=diff
==============================================================================
--- cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/model/wadl/ElementClass.java (original)
+++ cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/ext/xml/ElementClass.java Mon Jul 15 12:45:45 2013
@@ -16,7 +16,7 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.cxf.jaxrs.model.wadl;
+package org.apache.cxf.jaxrs.ext.xml;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
@@ -24,10 +24,7 @@ import java.lang.annotation.RetentionPol
import java.lang.annotation.Target;
/**
- * References the concrete response or request class for
- * WADL generator be able to generate representations and link
- * them to schema elements. For example, it can be applied to
- * methods returning a JAX-RS {@link Response}.
+ * Can be applied to methods returning a JAX-RS {@link Response}
*
*/
@Retention(RetentionPolicy.RUNTIME)
Copied: cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/ext/xml/XMLName.java (from r1503166, cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/model/wadl/XMLName.java)
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/ext/xml/XMLName.java?p2=cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/ext/xml/XMLName.java&p1=cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/model/wadl/XMLName.java&r1=1503166&r2=1503207&rev=1503207&view=diff
==============================================================================
--- cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/model/wadl/XMLName.java (original)
+++ cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/ext/xml/XMLName.java Mon Jul 15 12:45:45 2013
@@ -17,7 +17,7 @@
* under the License.
*/
-package org.apache.cxf.jaxrs.model.wadl;
+package org.apache.cxf.jaxrs.ext.xml;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
Modified: cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/impl/RequestPreprocessor.java
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/impl/RequestPreprocessor.java?rev=1503207&r1=1503206&r2=1503207&view=diff
==============================================================================
--- cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/impl/RequestPreprocessor.java (original)
+++ cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/impl/RequestPreprocessor.java Mon Jul 15 12:45:45 2013
@@ -29,7 +29,6 @@ import javax.ws.rs.core.MultivaluedMap;
import javax.ws.rs.core.UriInfo;
import org.apache.cxf.common.util.StringUtils;
-import org.apache.cxf.jaxrs.model.wadl.WadlGenerator;
import org.apache.cxf.jaxrs.utils.HttpUtils;
import org.apache.cxf.message.Message;
@@ -102,9 +101,9 @@ public class RequestPreprocessor {
// WADL type (xml or json or html - other options)
String query = (String)m.get(Message.QUERY_STRING);
if (StringUtils.isEmpty(query)) {
- query = WadlGenerator.WADL_QUERY;
- } else if (!query.contains(WadlGenerator.WADL_QUERY)) {
- query += "&" + WadlGenerator.WADL_QUERY;
+ query = "_wadl";
+ } else if (!query.contains("_wadl")) {
+ query += "&_wadl";
}
m.put(Message.QUERY_STRING, query);
}
Modified: cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/provider/ProviderFactory.java
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/provider/ProviderFactory.java?rev=1503207&r1=1503206&r2=1503207&view=diff
==============================================================================
--- cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/provider/ProviderFactory.java (original)
+++ cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/provider/ProviderFactory.java Mon Jul 15 12:45:45 2013
@@ -138,7 +138,7 @@ public abstract class ProviderFactory {
new MultipartProvider());
}
- private static Object createProvider(String className) {
+ protected static Object createProvider(String className) {
try {
return ClassLoaderUtils.loadClass(className, ProviderFactory.class).newInstance();
Modified: cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/provider/ServerProviderFactory.java
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/provider/ServerProviderFactory.java?rev=1503207&r1=1503206&r2=1503207&view=diff
==============================================================================
--- cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/provider/ServerProviderFactory.java (original)
+++ cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/provider/ServerProviderFactory.java Mon Jul 15 12:45:45 2013
@@ -54,7 +54,6 @@ import org.apache.cxf.jaxrs.model.BeanPa
import org.apache.cxf.jaxrs.model.ClassResourceInfo;
import org.apache.cxf.jaxrs.model.OperationResourceInfo;
import org.apache.cxf.jaxrs.model.ProviderInfo;
-import org.apache.cxf.jaxrs.model.wadl.WadlGenerator;
import org.apache.cxf.jaxrs.utils.AnnotationUtils;
import org.apache.cxf.jaxrs.utils.InjectionUtils;
import org.apache.cxf.message.Message;
@@ -66,6 +65,7 @@ public final class ServerProviderFactory
ContainerResponseFilter.class,
ReaderInterceptor.class,
WriterInterceptor.class};
+ private static final String WADL_PROVIDER_NAME = "org.apache.cxf.jaxrs.model.wadl.WadlGenerator";
private List<ProviderInfo<ExceptionMapper<?>>> exceptionMappers =
new ArrayList<ProviderInfo<ExceptionMapper<?>>>(1);
@@ -85,7 +85,16 @@ public final class ServerProviderFactory
private ServerProviderFactory(ProviderFactory baseFactory, Bus bus) {
super(baseFactory, bus);
if (baseFactory == null) {
- wadlGenerator = new ProviderInfo<ContainerRequestFilter>(new WadlGenerator(), bus);
+ wadlGenerator = createWadlGenerator(bus);
+ }
+ }
+
+ private static ProviderInfo<ContainerRequestFilter> createWadlGenerator(Bus bus) {
+ Object provider = createProvider(WADL_PROVIDER_NAME);
+ if (provider == null) {
+ return null;
+ } else {
+ return new ProviderInfo<ContainerRequestFilter>((ContainerRequestFilter)provider, bus);
}
}
@@ -251,7 +260,7 @@ public final class ServerProviderFactory
List<ProviderInfo<ContainerRequestFilter>> postMatchFilters,
ProviderInfo<ContainerRequestFilter> p) {
ContainerRequestFilter filter = p.getProvider();
- if (filter instanceof WadlGenerator) {
+ if (isWadlGenerator(filter.getClass())) {
wadlGenerator = p;
} else {
if (isPrematching(filter.getClass())) {
@@ -263,6 +272,17 @@ public final class ServerProviderFactory
}
+ private static boolean isWadlGenerator(Class<?> filterCls) {
+ if (filterCls == null || filterCls == Object.class) {
+ return false;
+ }
+ if (WADL_PROVIDER_NAME.equals(filterCls.getName())) {
+ return true;
+ } else {
+ return isWadlGenerator(filterCls.getSuperclass());
+ }
+ }
+
public RequestPreprocessor getRequestPreprocessor() {
return requestPreprocessor;
}
Modified: cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/utils/ResourceUtils.java
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/utils/ResourceUtils.java?rev=1503207&r1=1503206&r2=1503207&view=diff
==============================================================================
--- cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/utils/ResourceUtils.java (original)
+++ cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/utils/ResourceUtils.java Mon Jul 15 12:45:45 2013
@@ -74,6 +74,8 @@ import org.apache.cxf.common.logging.Log
import org.apache.cxf.helpers.CastUtils;
import org.apache.cxf.helpers.DOMUtils;
import org.apache.cxf.jaxrs.JAXRSServerFactoryBean;
+import org.apache.cxf.jaxrs.ext.xml.ElementClass;
+import org.apache.cxf.jaxrs.ext.xml.XMLName;
import org.apache.cxf.jaxrs.lifecycle.PerRequestResourceProvider;
import org.apache.cxf.jaxrs.lifecycle.ResourceProvider;
import org.apache.cxf.jaxrs.lifecycle.SingletonResourceProvider;
@@ -86,8 +88,6 @@ import org.apache.cxf.jaxrs.model.Resour
import org.apache.cxf.jaxrs.model.URITemplate;
import org.apache.cxf.jaxrs.model.UserOperation;
import org.apache.cxf.jaxrs.model.UserResource;
-import org.apache.cxf.jaxrs.model.wadl.ElementClass;
-import org.apache.cxf.jaxrs.model.wadl.XMLName;
import org.apache.cxf.jaxrs.provider.JAXBElementProvider;
import org.apache.cxf.message.Message;
import org.apache.cxf.resource.ResourceManager;
Modified: cxf/trunk/rt/frontend/jaxrs/src/test/java/org/apache/cxf/jaxrs/provider/ProviderFactoryTest.java
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/frontend/jaxrs/src/test/java/org/apache/cxf/jaxrs/provider/ProviderFactoryTest.java?rev=1503207&r1=1503206&r2=1503207&view=diff
==============================================================================
--- cxf/trunk/rt/frontend/jaxrs/src/test/java/org/apache/cxf/jaxrs/provider/ProviderFactoryTest.java (original)
+++ cxf/trunk/rt/frontend/jaxrs/src/test/java/org/apache/cxf/jaxrs/provider/ProviderFactoryTest.java Mon Jul 15 12:45:45 2013
@@ -35,9 +35,6 @@ import javax.activation.DataSource;
import javax.ws.rs.Consumes;
import javax.ws.rs.Produces;
import javax.ws.rs.WebApplicationException;
-import javax.ws.rs.container.ContainerRequestContext;
-import javax.ws.rs.container.ContainerRequestFilter;
-import javax.ws.rs.container.PreMatching;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.MultivaluedMap;
import javax.ws.rs.core.Response;
@@ -61,7 +58,6 @@ import org.apache.cxf.jaxrs.impl.Metadat
import org.apache.cxf.jaxrs.impl.WebApplicationExceptionMapper;
import org.apache.cxf.jaxrs.model.AbstractResourceInfo;
import org.apache.cxf.jaxrs.model.ProviderInfo;
-import org.apache.cxf.jaxrs.model.wadl.WadlGenerator;
import org.apache.cxf.jaxrs.resources.Book;
import org.apache.cxf.jaxrs.resources.SuperBook;
import org.apache.cxf.message.Exchange;
@@ -89,50 +85,6 @@ public class ProviderFactoryTest extends
}
@Test
- public void testCustomWadlHandler() {
- ServerProviderFactory pf = ServerProviderFactory.getInstance();
- assertEquals(1, pf.getPreMatchContainerRequestFilters().size());
- assertTrue(pf.getPreMatchContainerRequestFilters().get(0).getProvider() instanceof WadlGenerator);
-
- WadlGenerator wg = new WadlGenerator();
- pf.setUserProviders(Collections.singletonList(wg));
- assertEquals(1, pf.getPreMatchContainerRequestFilters().size());
- assertTrue(pf.getPreMatchContainerRequestFilters().get(0).getProvider() instanceof WadlGenerator);
- assertSame(wg, pf.getPreMatchContainerRequestFilters().get(0).getProvider());
- }
-
- @Test
- public void testCustomTestHandler() {
- ServerProviderFactory pf = ServerProviderFactory.getInstance();
- assertEquals(1, pf.getPreMatchContainerRequestFilters().size());
- assertTrue(pf.getPreMatchContainerRequestFilters().get(0).getProvider() instanceof WadlGenerator);
-
- TestHandler th = new TestHandler();
- pf.setUserProviders(Collections.singletonList(th));
- assertEquals(2, pf.getPreMatchContainerRequestFilters().size());
- assertTrue(pf.getPreMatchContainerRequestFilters().get(0).getProvider() instanceof WadlGenerator);
- assertSame(th, pf.getPreMatchContainerRequestFilters().get(1).getProvider());
- }
-
- @Test
- public void testCustomTestAndWadlHandler() {
- ServerProviderFactory pf = ServerProviderFactory.getInstance();
- assertEquals(1, pf.getPreMatchContainerRequestFilters().size());
- assertTrue(pf.getPreMatchContainerRequestFilters().get(0).getProvider() instanceof WadlGenerator);
-
- List<Object> providers = new ArrayList<Object>();
- WadlGenerator wg = new WadlGenerator();
- providers.add(wg);
- TestHandler th = new TestHandler();
- providers.add(th);
- pf.setUserProviders(providers);
- assertEquals(2, pf.getPreMatchContainerRequestFilters().size());
- assertSame(wg, pf.getPreMatchContainerRequestFilters().get(0).getProvider());
- assertSame(th, pf.getPreMatchContainerRequestFilters().get(1).getProvider());
- }
-
-
- @Test
public void testCustomJaxbProvider() {
ProviderFactory pf = ServerProviderFactory.getInstance();
JAXBElementProvider<Book> provider = new JAXBElementProvider<Book>();
@@ -745,16 +697,7 @@ public class ProviderFactoryTest extends
}
}
-
- @PreMatching
- private static class TestHandler implements ContainerRequestFilter {
-
- public void filter(ContainerRequestContext context) {
- // complete
- }
-
- }
-
+
private static class RuntimeExceptionMapper1
extends AbstractTestExceptionMapper<RuntimeException> {
Modified: cxf/trunk/rt/pom.xml
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/pom.xml?rev=1503207&r1=1503206&r2=1503207&view=diff
==============================================================================
--- cxf/trunk/rt/pom.xml (original)
+++ cxf/trunk/rt/pom.xml Mon Jul 15 12:45:45 2013
@@ -61,6 +61,7 @@
<module>ws/mex</module>
<module>ws/eventing</module>
<module>rs/client</module>
+ <module>rs/description</module>
<module>rs/extensions/providers</module>
<module>rs/extensions/search</module>
<module>rs/security/xml</module>
Added: cxf/trunk/rt/rs/description/pom.xml
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/rs/description/pom.xml?rev=1503207&view=auto
==============================================================================
--- cxf/trunk/rt/rs/description/pom.xml (added)
+++ cxf/trunk/rt/rs/description/pom.xml Mon Jul 15 12:45:45 2013
@@ -0,0 +1,82 @@
+<!--
+ 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.
+-->
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>org.apache.cxf</groupId>
+ <artifactId>cxf-rt-rs-service-description</artifactId>
+ <packaging>jar</packaging>
+ <version>3.0.0-SNAPSHOT</version>
+ <name>Apache CXF JAX-RS Service Description</name>
+ <description>Apache CXF JAX-RS Service Description</description>
+ <url>http://cxf.apache.org</url>
+
+ <parent>
+ <groupId>org.apache.cxf</groupId>
+ <artifactId>cxf-parent</artifactId>
+ <version>3.0.0-SNAPSHOT</version>
+ <relativePath>../../parent/pom.xml</relativePath>
+ </parent>
+
+ <properties>
+ <cxf.osgi.import>
+ javax.servlet*;version="${cxf.osgi.javax.servlet.version}",
+ </cxf.osgi.import>
+ </properties>
+
+ <dependencies>
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>${cxf.servlet-api.group}</groupId>
+ <artifactId>${cxf.servlet-api.artifact}</artifactId>
+ <scope>provided</scope>
+ <optional>true</optional>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.cxf</groupId>
+ <artifactId>cxf-rt-frontend-jaxrs</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.cxf</groupId>
+ <artifactId>cxf-rt-databinding-aegis</artifactId>
+ <version>${project.version}</version>
+ <scope>test</scope>
+ <optional>true</optional>
+ <exclusions>
+ <exclusion>
+ <groupId>org.apache.cxf</groupId>
+ <artifactId>cxf-rt-frontend-simple</artifactId>
+ </exclusion>
+ </exclusions>
+ </dependency>
+ <dependency>
+ <groupId>org.easymock</groupId>
+ <artifactId>easymock</artifactId>
+ <scope>test</scope>
+ </dependency>
+ </dependencies>
+ <build>
+ <plugins>
+ </plugins>
+ </build>
+</project>
Propchange: cxf/trunk/rt/rs/description/pom.xml
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: cxf/trunk/rt/rs/description/pom.xml
------------------------------------------------------------------------------
svn:keywords = Rev Date
Propchange: cxf/trunk/rt/rs/description/pom.xml
------------------------------------------------------------------------------
svn:mime-type = text/xml
Copied: cxf/trunk/rt/rs/description/src/main/java/org/apache/cxf/jaxrs/model/wadl/WadlGenerator.java (from r1503166, cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/model/wadl/WadlGenerator.java)
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/rs/description/src/main/java/org/apache/cxf/jaxrs/model/wadl/WadlGenerator.java?p2=cxf/trunk/rt/rs/description/src/main/java/org/apache/cxf/jaxrs/model/wadl/WadlGenerator.java&p1=cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/model/wadl/WadlGenerator.java&r1=1503166&r2=1503207&rev=1503207&view=diff
==============================================================================
--- cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/model/wadl/WadlGenerator.java (original)
+++ cxf/trunk/rt/rs/description/src/main/java/org/apache/cxf/jaxrs/model/wadl/WadlGenerator.java Mon Jul 15 12:45:45 2013
@@ -87,6 +87,7 @@ import org.apache.cxf.helpers.IOUtils;
import org.apache.cxf.jaxrs.JAXRSServiceImpl;
import org.apache.cxf.jaxrs.ext.Oneway;
import org.apache.cxf.jaxrs.ext.multipart.Multipart;
+import org.apache.cxf.jaxrs.ext.xml.XMLName;
import org.apache.cxf.jaxrs.ext.xml.XMLSource;
import org.apache.cxf.jaxrs.impl.HttpHeadersImpl;
import org.apache.cxf.jaxrs.impl.MetadataMap;
Copied: cxf/trunk/rt/rs/description/src/test/java/org/apache/cxf/jaxrs/model/wadl/BookStore.java (from r1503166, cxf/trunk/rt/frontend/jaxrs/src/test/java/org/apache/cxf/jaxrs/model/wadl/BookStore.java)
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/rs/description/src/test/java/org/apache/cxf/jaxrs/model/wadl/BookStore.java?p2=cxf/trunk/rt/rs/description/src/test/java/org/apache/cxf/jaxrs/model/wadl/BookStore.java&p1=cxf/trunk/rt/frontend/jaxrs/src/test/java/org/apache/cxf/jaxrs/model/wadl/BookStore.java&r1=1503166&r2=1503207&rev=1503207&view=diff
==============================================================================
--- cxf/trunk/rt/frontend/jaxrs/src/test/java/org/apache/cxf/jaxrs/model/wadl/BookStore.java (original)
+++ cxf/trunk/rt/rs/description/src/test/java/org/apache/cxf/jaxrs/model/wadl/BookStore.java Mon Jul 15 12:45:45 2013
@@ -40,9 +40,11 @@ import javax.xml.bind.annotation.XmlTran
import org.apache.cxf.aegis.type.java5.IgnoreProperty;
import org.apache.cxf.jaxrs.ext.multipart.MultipartBody;
-import org.apache.cxf.jaxrs.fortest.jaxb.packageinfo.Book2;
+import org.apache.cxf.jaxrs.ext.xml.ElementClass;
+import org.apache.cxf.jaxrs.ext.xml.XMLName;
import org.apache.cxf.jaxrs.model.wadl.jaxb.Book;
import org.apache.cxf.jaxrs.model.wadl.jaxb.Chapter;
+import org.apache.cxf.jaxrs.model.wadl.jaxb.packageinfo.Book2;
@Path("/bookstore/{id}")
@Consumes({"application/xml", "application/json" })
Copied: cxf/trunk/rt/rs/description/src/test/java/org/apache/cxf/jaxrs/model/wadl/BookStoreWithSingleSlash.java (from r1503166, cxf/trunk/rt/frontend/jaxrs/src/test/java/org/apache/cxf/jaxrs/model/wadl/BookStoreWithSingleSlash.java)
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/rs/description/src/test/java/org/apache/cxf/jaxrs/model/wadl/BookStoreWithSingleSlash.java?p2=cxf/trunk/rt/rs/description/src/test/java/org/apache/cxf/jaxrs/model/wadl/BookStoreWithSingleSlash.java&p1=cxf/trunk/rt/frontend/jaxrs/src/test/java/org/apache/cxf/jaxrs/model/wadl/BookStoreWithSingleSlash.java&r1=1503166&r2=1503207&rev=1503207&view=diff
==============================================================================
--- cxf/trunk/rt/frontend/jaxrs/src/test/java/org/apache/cxf/jaxrs/model/wadl/BookStoreWithSingleSlash.java (original)
+++ cxf/trunk/rt/rs/description/src/test/java/org/apache/cxf/jaxrs/model/wadl/BookStoreWithSingleSlash.java Mon Jul 15 12:45:45 2013
@@ -25,6 +25,7 @@ import javax.ws.rs.Produces;
import javax.ws.rs.QueryParam;
import javax.ws.rs.core.Response;
+import org.apache.cxf.jaxrs.ext.xml.ElementClass;
import org.apache.cxf.jaxrs.model.wadl.jaxb.Book;
@Path("/")
Added: cxf/trunk/rt/rs/description/src/test/java/org/apache/cxf/jaxrs/model/wadl/ServerProviderFactoryTest.java
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/rs/description/src/test/java/org/apache/cxf/jaxrs/model/wadl/ServerProviderFactoryTest.java?rev=1503207&view=auto
==============================================================================
--- cxf/trunk/rt/rs/description/src/test/java/org/apache/cxf/jaxrs/model/wadl/ServerProviderFactoryTest.java (added)
+++ cxf/trunk/rt/rs/description/src/test/java/org/apache/cxf/jaxrs/model/wadl/ServerProviderFactoryTest.java Mon Jul 15 12:45:45 2013
@@ -0,0 +1,100 @@
+/**
+ * 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.cxf.jaxrs.model.wadl;
+
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.List;
+
+import javax.ws.rs.container.ContainerRequestContext;
+import javax.ws.rs.container.ContainerRequestFilter;
+import javax.ws.rs.container.PreMatching;
+
+import org.apache.cxf.jaxrs.model.AbstractResourceInfo;
+import org.apache.cxf.jaxrs.provider.ServerProviderFactory;
+
+import org.junit.Assert;
+import org.junit.Before;
+import org.junit.Test;
+
+public class ServerProviderFactoryTest extends Assert {
+
+
+ @Before
+ public void setUp() {
+ ServerProviderFactory.getInstance().clearProviders();
+ AbstractResourceInfo.clearAllMaps();
+ }
+
+
+ @Test
+ public void testCustomWadlHandler() {
+ ServerProviderFactory pf = ServerProviderFactory.getInstance();
+ assertEquals(1, pf.getPreMatchContainerRequestFilters().size());
+ assertTrue(pf.getPreMatchContainerRequestFilters().get(0).getProvider() instanceof WadlGenerator);
+
+ WadlGenerator wg = new WadlGenerator();
+ pf.setUserProviders(Collections.singletonList(wg));
+ assertEquals(1, pf.getPreMatchContainerRequestFilters().size());
+ assertTrue(pf.getPreMatchContainerRequestFilters().get(0).getProvider() instanceof WadlGenerator);
+ assertSame(wg, pf.getPreMatchContainerRequestFilters().get(0).getProvider());
+ }
+
+ @Test
+ public void testCustomTestHandler() {
+ ServerProviderFactory pf = ServerProviderFactory.getInstance();
+ assertEquals(1, pf.getPreMatchContainerRequestFilters().size());
+ assertTrue(pf.getPreMatchContainerRequestFilters().get(0).getProvider() instanceof WadlGenerator);
+
+ TestHandler th = new TestHandler();
+ pf.setUserProviders(Collections.singletonList(th));
+ assertEquals(2, pf.getPreMatchContainerRequestFilters().size());
+ assertTrue(pf.getPreMatchContainerRequestFilters().get(0).getProvider() instanceof WadlGenerator);
+ assertSame(th, pf.getPreMatchContainerRequestFilters().get(1).getProvider());
+ }
+
+ @Test
+ public void testCustomTestAndWadlHandler() {
+ ServerProviderFactory pf = ServerProviderFactory.getInstance();
+ assertEquals(1, pf.getPreMatchContainerRequestFilters().size());
+ assertTrue(pf.getPreMatchContainerRequestFilters().get(0).getProvider() instanceof WadlGenerator);
+
+ List<Object> providers = new ArrayList<Object>();
+ WadlGenerator wg = new WadlGenerator();
+ providers.add(wg);
+ TestHandler th = new TestHandler();
+ providers.add(th);
+ pf.setUserProviders(providers);
+ assertEquals(2, pf.getPreMatchContainerRequestFilters().size());
+ assertSame(wg, pf.getPreMatchContainerRequestFilters().get(0).getProvider());
+ assertSame(th, pf.getPreMatchContainerRequestFilters().get(1).getProvider());
+ }
+
+ @PreMatching
+ private static class TestHandler implements ContainerRequestFilter {
+
+ public void filter(ContainerRequestContext context) {
+ // complete
+ }
+
+ }
+
+
+}
Propchange: cxf/trunk/rt/rs/description/src/test/java/org/apache/cxf/jaxrs/model/wadl/ServerProviderFactoryTest.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: cxf/trunk/rt/rs/description/src/test/java/org/apache/cxf/jaxrs/model/wadl/ServerProviderFactoryTest.java
------------------------------------------------------------------------------
svn:keywords = Rev Date
Copied: cxf/trunk/rt/rs/description/src/test/java/org/apache/cxf/jaxrs/model/wadl/jaxb/Book.java (from r1503166, cxf/trunk/rt/frontend/jaxrs/src/test/java/org/apache/cxf/jaxrs/model/wadl/jaxb/Book.java)
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/rs/description/src/test/java/org/apache/cxf/jaxrs/model/wadl/jaxb/Book.java?p2=cxf/trunk/rt/rs/description/src/test/java/org/apache/cxf/jaxrs/model/wadl/jaxb/Book.java&p1=cxf/trunk/rt/frontend/jaxrs/src/test/java/org/apache/cxf/jaxrs/model/wadl/jaxb/Book.java&r1=1503166&r2=1503207&rev=1503207&view=diff
==============================================================================
--- cxf/trunk/rt/frontend/jaxrs/src/test/java/org/apache/cxf/jaxrs/model/wadl/jaxb/Book.java (original)
+++ cxf/trunk/rt/rs/description/src/test/java/org/apache/cxf/jaxrs/model/wadl/jaxb/Book.java Mon Jul 15 12:45:45 2013
@@ -27,9 +27,9 @@ import javax.xml.bind.annotation.XmlElem
import javax.xml.bind.annotation.XmlRootElement;
import javax.xml.bind.annotation.XmlType;
+import org.apache.cxf.jaxrs.ext.xml.XMLName;
import org.apache.cxf.jaxrs.model.wadl.Description;
import org.apache.cxf.jaxrs.model.wadl.FormInterface;
-import org.apache.cxf.jaxrs.model.wadl.XMLName;
@XmlRootElement(name = "thebook", namespace = "http://superbooks")
@XmlType(name = "book", namespace = "http://superbooks")
Copied: cxf/trunk/rt/rs/description/src/test/java/org/apache/cxf/jaxrs/model/wadl/jaxb/Chapter.java (from r1503166, cxf/trunk/rt/frontend/jaxrs/src/test/java/org/apache/cxf/jaxrs/model/wadl/jaxb/Chapter.java)
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/rs/description/src/test/java/org/apache/cxf/jaxrs/model/wadl/jaxb/Chapter.java?p2=cxf/trunk/rt/rs/description/src/test/java/org/apache/cxf/jaxrs/model/wadl/jaxb/Chapter.java&p1=cxf/trunk/rt/frontend/jaxrs/src/test/java/org/apache/cxf/jaxrs/model/wadl/jaxb/Chapter.java&r1=1503166&r2=1503207&rev=1503207&view=diff
==============================================================================
--- cxf/trunk/rt/frontend/jaxrs/src/test/java/org/apache/cxf/jaxrs/model/wadl/jaxb/Chapter.java (original)
+++ cxf/trunk/rt/rs/description/src/test/java/org/apache/cxf/jaxrs/model/wadl/jaxb/Chapter.java Mon Jul 15 12:45:45 2013
@@ -24,8 +24,8 @@ import javax.ws.rs.Produces;
import javax.xml.bind.annotation.XmlRootElement;
import javax.xml.bind.annotation.XmlType;
+import org.apache.cxf.jaxrs.ext.xml.XMLName;
import org.apache.cxf.jaxrs.model.wadl.Description;
-import org.apache.cxf.jaxrs.model.wadl.XMLName;
@XmlRootElement(name = "thechapter", namespace = "http://superbooks")
@XmlType(name = "chapter", namespace = "http://superbooks")
Added: cxf/trunk/rt/rs/description/src/test/java/org/apache/cxf/jaxrs/model/wadl/jaxb/packageinfo/Book2.java
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/rs/description/src/test/java/org/apache/cxf/jaxrs/model/wadl/jaxb/packageinfo/Book2.java?rev=1503207&view=auto
==============================================================================
--- cxf/trunk/rt/rs/description/src/test/java/org/apache/cxf/jaxrs/model/wadl/jaxb/packageinfo/Book2.java (added)
+++ cxf/trunk/rt/rs/description/src/test/java/org/apache/cxf/jaxrs/model/wadl/jaxb/packageinfo/Book2.java Mon Jul 15 12:45:45 2013
@@ -0,0 +1,51 @@
+/**
+ * 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.cxf.jaxrs.model.wadl.jaxb.packageinfo;
+
+import javax.xml.bind.annotation.XmlRootElement;
+
+@XmlRootElement(name = "thebook2")
+public class Book2 {
+
+ private String name;
+ private int id;
+
+ public Book2() {
+ }
+
+ public Book2(int id) {
+ this.id = id;
+ }
+
+ public int getId() {
+ return id;
+ }
+
+ public void setId(int ident) {
+ id = ident;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ public String getName() {
+ return name;
+ }
+}
Propchange: cxf/trunk/rt/rs/description/src/test/java/org/apache/cxf/jaxrs/model/wadl/jaxb/packageinfo/Book2.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: cxf/trunk/rt/rs/description/src/test/java/org/apache/cxf/jaxrs/model/wadl/jaxb/packageinfo/Book2.java
------------------------------------------------------------------------------
svn:keywords = Rev Date
Added: cxf/trunk/rt/rs/description/src/test/java/org/apache/cxf/jaxrs/model/wadl/jaxb/packageinfo/package-info.java
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/rs/description/src/test/java/org/apache/cxf/jaxrs/model/wadl/jaxb/packageinfo/package-info.java?rev=1503207&view=auto
==============================================================================
--- cxf/trunk/rt/rs/description/src/test/java/org/apache/cxf/jaxrs/model/wadl/jaxb/packageinfo/package-info.java (added)
+++ cxf/trunk/rt/rs/description/src/test/java/org/apache/cxf/jaxrs/model/wadl/jaxb/packageinfo/package-info.java Mon Jul 15 12:45:45 2013
@@ -0,0 +1,24 @@
+/**
+ * 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.
+ */
+@javax.xml.bind.annotation.XmlSchema(namespace = "http://superbooks",
+ xmlns = { @XmlNs(prefix = "os", namespaceURI = "http://superbooks") })
+package org.apache.cxf.jaxrs.model.wadl.jaxb.packageinfo;
+
+import javax.xml.bind.annotation.XmlNs;
+
Propchange: cxf/trunk/rt/rs/description/src/test/java/org/apache/cxf/jaxrs/model/wadl/jaxb/packageinfo/package-info.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: cxf/trunk/rt/rs/description/src/test/java/org/apache/cxf/jaxrs/model/wadl/jaxb/packageinfo/package-info.java
------------------------------------------------------------------------------
svn:keywords = Rev Date
Added: cxf/trunk/rt/rs/description/src/test/resources/book1.xsd
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/rs/description/src/test/resources/book1.xsd?rev=1503207&view=auto
==============================================================================
--- cxf/trunk/rt/rs/description/src/test/resources/book1.xsd (added)
+++ cxf/trunk/rt/rs/description/src/test/resources/book1.xsd Mon Jul 15 12:45:45 2013
@@ -0,0 +1,49 @@
+<?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.
+-->
+
+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://superbooks"
+ xmlns:tns="http://superbooks" elementFormDefault="unqualified">
+
+ <xs:element name="thebook" type="tns:book"/>
+ <xs:element name="thebook2" type="tns:book2"/>
+ <xs:element name="thechapter" type="tns:chapter"/>
+
+ <xs:complexType name="book">
+
+ <xs:sequence>
+ <xs:element minOccurs="0" ref="tns:thechapter"/>
+ <xs:element name="id" type="xs:int"/>
+ </xs:sequence>
+ </xs:complexType>
+
+ <xs:complexType name="chapter">
+ <xs:sequence>
+ <xs:element name="id" type="xs:int"/>
+ </xs:sequence>
+ </xs:complexType>
+
+ <xs:complexType name="book2">
+
+ <xs:sequence>
+ <xs:element name="id" type="xs:int"/>
+ </xs:sequence>
+ </xs:complexType>
+
+</xs:schema>
\ No newline at end of file
Propchange: cxf/trunk/rt/rs/description/src/test/resources/book1.xsd
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: cxf/trunk/rt/rs/description/src/test/resources/book1.xsd
------------------------------------------------------------------------------
svn:keywords = Rev Date
Propchange: cxf/trunk/rt/rs/description/src/test/resources/book1.xsd
------------------------------------------------------------------------------
svn:mime-type = text/xml
Added: cxf/trunk/rt/rs/description/src/test/resources/book2.xsd
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/rs/description/src/test/resources/book2.xsd?rev=1503207&view=auto
==============================================================================
--- cxf/trunk/rt/rs/description/src/test/resources/book2.xsd (added)
+++ cxf/trunk/rt/rs/description/src/test/resources/book2.xsd Mon Jul 15 12:45:45 2013
@@ -0,0 +1,49 @@
+<?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.
+-->
+
+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://superbooks"
+ xmlns:tns="http://superbooks" elementFormDefault="unqualified">
+
+ <xs:element name="book" type="tns:book"/>
+ <xs:element name="book2" type="tns:book2"/>
+ <xs:element name="chapter" type="tns:chapter"/>
+
+ <xs:complexType name="book">
+
+ <xs:sequence>
+ <xs:element minOccurs="0" ref="tns:thechapter"/>
+ <xs:element name="id" type="xs:int"/>
+ </xs:sequence>
+ </xs:complexType>
+
+ <xs:complexType name="chapter">
+ <xs:sequence>
+ <xs:element name="id" type="xs:int"/>
+ </xs:sequence>
+ </xs:complexType>
+
+ <xs:complexType name="book2">
+
+ <xs:sequence>
+ <xs:element name="id" type="xs:int"/>
+ </xs:sequence>
+ </xs:complexType>
+
+</xs:schema>
\ No newline at end of file
Propchange: cxf/trunk/rt/rs/description/src/test/resources/book2.xsd
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: cxf/trunk/rt/rs/description/src/test/resources/book2.xsd
------------------------------------------------------------------------------
svn:keywords = Rev Date
Propchange: cxf/trunk/rt/rs/description/src/test/resources/book2.xsd
------------------------------------------------------------------------------
svn:mime-type = text/xml
Added: cxf/trunk/rt/rs/description/src/test/resources/books.xsd
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/rs/description/src/test/resources/books.xsd?rev=1503207&view=auto
==============================================================================
--- cxf/trunk/rt/rs/description/src/test/resources/books.xsd (added)
+++ cxf/trunk/rt/rs/description/src/test/resources/books.xsd Mon Jul 15 12:45:45 2013
@@ -0,0 +1,35 @@
+<?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.
+-->
+
+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://books"
+ xmlns:tns="http://books" xmlns:sbooks="http://superbooks">
+
+ <xs:import schemaLocation="book1.xsd"/>
+
+ <xs:element name="books" type="tns:books"/>
+
+ <xs:complexType name="books">
+
+ <xs:sequence>
+ <xs:element minOccurs="0" ref="sbooks:thebook"/>
+ </xs:sequence>
+ </xs:complexType>
+
+</xs:schema>
\ No newline at end of file
Propchange: cxf/trunk/rt/rs/description/src/test/resources/books.xsd
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: cxf/trunk/rt/rs/description/src/test/resources/books.xsd
------------------------------------------------------------------------------
svn:keywords = Rev Date
Propchange: cxf/trunk/rt/rs/description/src/test/resources/books.xsd
------------------------------------------------------------------------------
svn:mime-type = text/xml
Modified: cxf/trunk/rt/rs/extensions/providers/pom.xml
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/rs/extensions/providers/pom.xml?rev=1503207&r1=1503206&r2=1503207&view=diff
==============================================================================
--- cxf/trunk/rt/rs/extensions/providers/pom.xml (original)
+++ cxf/trunk/rt/rs/extensions/providers/pom.xml Mon Jul 15 12:45:45 2013
@@ -131,6 +131,12 @@
<scope>test</scope>
</dependency>
<dependency>
+ <groupId>org.apache.cxf</groupId>
+ <artifactId>cxf-rt-rs-service-description</artifactId>
+ <version>${project.version}</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
<groupId>org.apache.xmlbeans</groupId>
<artifactId>xmlbeans</artifactId>
<scope>provided</scope>
Modified: cxf/trunk/rt/rs/extensions/providers/src/test/java/org/apache/cxf/jaxrs/resources/Chapter.java
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/rs/extensions/providers/src/test/java/org/apache/cxf/jaxrs/resources/Chapter.java?rev=1503207&r1=1503206&r2=1503207&view=diff
==============================================================================
--- cxf/trunk/rt/rs/extensions/providers/src/test/java/org/apache/cxf/jaxrs/resources/Chapter.java (original)
+++ cxf/trunk/rt/rs/extensions/providers/src/test/java/org/apache/cxf/jaxrs/resources/Chapter.java Mon Jul 15 12:45:45 2013
@@ -24,8 +24,8 @@ import javax.ws.rs.Produces;
import javax.xml.bind.annotation.XmlRootElement;
import javax.xml.bind.annotation.XmlType;
+import org.apache.cxf.jaxrs.ext.xml.XMLName;
import org.apache.cxf.jaxrs.model.wadl.Description;
-import org.apache.cxf.jaxrs.model.wadl.XMLName;
@XmlRootElement(name = "thechapter", namespace = "http://superbooks")
@XmlType(name = "chapter", namespace = "http://superbooks")
Modified: cxf/trunk/systests/jaxrs/pom.xml
URL: http://svn.apache.org/viewvc/cxf/trunk/systests/jaxrs/pom.xml?rev=1503207&r1=1503206&r2=1503207&view=diff
==============================================================================
--- cxf/trunk/systests/jaxrs/pom.xml (original)
+++ cxf/trunk/systests/jaxrs/pom.xml Mon Jul 15 12:45:45 2013
@@ -52,6 +52,12 @@
<artifactId>abdera-extensions-json</artifactId>
<version>${cxf.abdera.version}</version>
</dependency>
+ <dependency>
+ <groupId>org.apache.cxf</groupId>
+ <artifactId>cxf-rt-rs-service-description</artifactId>
+ <version>${project.version}</version>
+ <scope>test</scope>
+ </dependency>
<dependency>
<groupId>org.apache.ant</groupId>
<artifactId>ant</artifactId>
Modified: cxf/trunk/systests/rs-security/pom.xml
URL: http://svn.apache.org/viewvc/cxf/trunk/systests/rs-security/pom.xml?rev=1503207&r1=1503206&r2=1503207&view=diff
==============================================================================
--- cxf/trunk/systests/rs-security/pom.xml (original)
+++ cxf/trunk/systests/rs-security/pom.xml Mon Jul 15 12:45:45 2013
@@ -88,6 +88,11 @@
</dependency>
<dependency>
<groupId>org.apache.cxf</groupId>
+ <artifactId>cxf-rt-rs-service-description</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.cxf</groupId>
<artifactId>cxf-rt-transports-http</artifactId>
<version>${project.version}</version>
</dependency>