This is an automated email from the ASF dual-hosted git repository. reta pushed a commit to branch 3.2.x-fixes in repository https://gitbox.apache.org/repos/asf/cxf.git
The following commit(s) were added to refs/heads/3.2.x-fixes by this push: new b5f360f CXF-8094 Register additional classes for WADL (#575) b5f360f is described below commit b5f360fb8591c3dc3c27d342892ebbca1f30ef1f Author: Yury Molchan <yury.molc...@gmail.com> AuthorDate: Wed Aug 28 14:12:14 2019 +0300 CXF-8094 Register additional classes for WADL (#575) * CXF-8094 Register additional classes for WADL It is useful in case when classes are provided by 3rd party and cannot be annotated by @XmlSeeAlso. * CXF-8094 Simplify code * Missprint --- .../java/org/apache/cxf/jaxrs/model/wadl/WadlGenerator.java | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/rt/rs/description/src/main/java/org/apache/cxf/jaxrs/model/wadl/WadlGenerator.java b/rt/rs/description/src/main/java/org/apache/cxf/jaxrs/model/wadl/WadlGenerator.java index 6358a2f..7f047c3 100644 --- a/rt/rs/description/src/main/java/org/apache/cxf/jaxrs/model/wadl/WadlGenerator.java +++ b/rt/rs/description/src/main/java/org/apache/cxf/jaxrs/model/wadl/WadlGenerator.java @@ -200,6 +200,8 @@ public class WadlGenerator implements ContainerRequestFilter { private ResourceIdGenerator idGenerator; private Map<String, Object> jaxbContextProperties; + private List<Class<?>> extraClasses = Collections.emptyList(); + public WadlGenerator() { } @@ -208,6 +210,15 @@ public class WadlGenerator implements ContainerRequestFilter { this.bus.setProperty("wadl.service.description.available", "true"); } + /** + * The list of classes which should be added to the generated scheme also. + */ + public void setExtraClasses(List<Class<?>> extraClasses) { + if (extraClasses != null) { + this.extraClasses = extraClasses; + } + } + @Override public void filter(ContainerRequestContext context) { Message m = JAXRSUtils.getCurrentMessage(); @@ -490,7 +501,7 @@ public class WadlGenerator implements ContainerRequestFilter { if (!this.useJaxbContextForQnames) { return; } - List<Class<?>> extraClasses = new LinkedList<>(); + List<Class<?>> extraClasses = new LinkedList<>(this.extraClasses); for (Class<?> cls : resourceTypes.getAllTypes().keySet()) { if (!isXmlRoot(cls) || Modifier.isAbstract(cls.getModifiers())) { XmlSeeAlso seeAlsoAnn = cls.getAnnotation(XmlSeeAlso.class);