You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cxf.apache.org by re...@apache.org on 2019/08/28 11:12:20 UTC

[cxf] branch master updated: CXF-8094 Register additional classes for WADL (#575)

This is an automated email from the ASF dual-hosted git repository.

reta pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/cxf.git


The following commit(s) were added to refs/heads/master by this push:
     new b779018  CXF-8094 Register additional classes for WADL (#575)
b779018 is described below

commit b7790182d73bfd099688f64394f48ff82bf5aa10
Author: Yury Molchan <yu...@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 98d9e7d..ab23ff1 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();
@@ -491,7 +502,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);