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

[cxf] 02/02: Backporting rt/frontend only part of last commit

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

coheigea pushed a commit to branch 3.2.x-fixes
in repository https://gitbox.apache.org/repos/asf/cxf.git

commit 9f1f2a4d6bfeb6baddbae01a83d69ec6b35de45f
Author: Colm O hEigeartaigh <co...@apache.org>
AuthorDate: Tue Dec 10 22:40:18 2019 +0000

    Backporting rt/frontend only part of last commit
---
 .../apache/cxf/jaxrs/servlet/CXFNonSpringJaxrsServlet.java  | 13 ++++++++-----
 .../main/java/org/apache/cxf/jaxrs/utils/ResourceUtils.java |  2 +-
 2 files changed, 9 insertions(+), 6 deletions(-)

diff --git a/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/servlet/CXFNonSpringJaxrsServlet.java b/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/servlet/CXFNonSpringJaxrsServlet.java
index 75a4493..b0f469d 100644
--- a/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/servlet/CXFNonSpringJaxrsServlet.java
+++ b/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/servlet/CXFNonSpringJaxrsServlet.java
@@ -158,7 +158,7 @@ public class CXFNonSpringJaxrsServlet extends CXFNonSpringServlet {
         setExtensions(bean, servletConfig);
 
         List<? extends Feature> features = getFeatures(servletConfig, splitChar);
-        bean.setFeatures(features);
+        bean.getFeatures().addAll(features);
 
         bean.create();
     }
@@ -183,9 +183,12 @@ public class CXFNonSpringJaxrsServlet extends CXFNonSpringServlet {
              CastUtils.cast((Map<?, ?>)parseMapSequence(servletConfig.getInitParameter(EXTENSIONS_PARAM))));
         bean.setLanguageMappings(
              CastUtils.cast((Map<?, ?>)parseMapSequence(servletConfig.getInitParameter(LANGUAGES_PARAM))));
-        bean.setProperties(CastUtils.cast(
+        Map<String, Object> properties = CastUtils.cast(
                 parseMapSequence(servletConfig.getInitParameter(PROPERTIES_PARAM)),
-                String.class, Object.class));
+                String.class, Object.class);
+        if (properties != null) {
+            bean.getProperties(true).putAll(properties);
+        }
     }
 
     protected void setAllInterceptors(JAXRSServerFactoryBean bean, ServletConfig servletConfig,
@@ -521,7 +524,7 @@ public class CXFNonSpringJaxrsServlet extends CXFNonSpringServlet {
             List<?> providers = getProviders(servletConfig, splitChar);
             bean.setProviders(providers);
             List<? extends Feature> features = getFeatures(servletConfig, splitChar);
-            bean.setFeatures(features);
+            bean.getFeatures().addAll(features);
 
             bean.setBus(getBus());
             bean.setApplicationInfo(providerApp);
@@ -554,7 +557,7 @@ public class CXFNonSpringJaxrsServlet extends CXFNonSpringServlet {
         List<?> providers = getProviders(servletConfig, splitChar);
         bean.setProviders(providers);
         List<? extends Feature> features = getFeatures(servletConfig, splitChar);
-        bean.setFeatures(features);
+        bean.getFeatures().addAll(features);
 
         bean.setBus(getBus());
         bean.setApplication(getApplication());
diff --git a/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/utils/ResourceUtils.java b/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/utils/ResourceUtils.java
index 88536a9..734df44 100644
--- a/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/utils/ResourceUtils.java
+++ b/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/utils/ResourceUtils.java
@@ -925,7 +925,7 @@ public final class ResourceUtils {
         bean.setStaticSubresourceResolution(staticSubresourceResolution);
         bean.setResourceClasses(resourceClasses);
         bean.setProviders(providers);
-        bean.setFeatures(features);
+        bean.getFeatures().addAll(features);
         for (Map.Entry<Class<?>, ResourceProvider> entry : map.entrySet()) {
             bean.setResourceProvider(entry.getKey(), entry.getValue());
         }