This is an automated email from the ASF dual-hosted git repository. coheigea 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 bdae8a1 parse cxf.jaxrs.extensions like it done in CXFNonSpringJaxrsServlet, but with "," separator new a5e7f3b Merge pull request #559 from slavb18/master bdae8a1 is described below commit bdae8a1b0237f2fb8bdee8c2f7548036b79930ec Author: slavb18 <slav...@gmail.com> AuthorDate: Fri May 31 10:04:38 2019 +0400 parse cxf.jaxrs.extensions like it done in CXFNonSpringJaxrsServlet, but with "," separator --- .../spring/AbstractSpringConfigurationFactory.java | 28 ++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/spring/AbstractSpringConfigurationFactory.java b/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/spring/AbstractSpringConfigurationFactory.java index ce8b360..11f610c 100644 --- a/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/spring/AbstractSpringConfigurationFactory.java +++ b/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/spring/AbstractSpringConfigurationFactory.java @@ -19,7 +19,9 @@ package org.apache.cxf.jaxrs.spring; import java.util.Collections; +import java.util.HashMap; import java.util.List; +import java.util.Map; import org.apache.cxf.Bus; import org.apache.cxf.bus.spring.SpringBus; @@ -39,6 +41,8 @@ public abstract class AbstractSpringConfigurationFactory protected ApplicationContext applicationContext; @Value("${cxf.jaxrs.server.address:}") private String jaxrsServerAddress; + @Value("${cxf.jaxrs.extensions:}") + private String jaxrsExtensions; protected Server createJaxRsServer() { @@ -53,6 +57,9 @@ public abstract class AbstractSpringConfigurationFactory factory.setOutInterceptors(getOutInterceptors()); factory.setOutFaultInterceptors(getOutFaultInterceptors()); factory.setFeatures(getFeatures()); + if (!StringUtils.isEmpty(jaxrsExtensions)) { + factory.setExtensionMappings((Map)parseMapSequence(jaxrsExtensions)); + } finalizeFactorySetup(factory); return factory.create(); } @@ -90,4 +97,25 @@ public abstract class AbstractSpringConfigurationFactory protected void finalizeFactorySetup(JAXRSServerFactoryBean factory) { // complete } + protected static Map<String, String> parseMapSequence(String sequence) { + if (sequence != null) { + sequence = sequence.trim(); + Map<String, String> map = new HashMap<>(); + String[] pairs = sequence.split(","); + for (String pair : pairs) { + String thePair = pair.trim(); + if (thePair.length() == 0) { + continue; + } + String[] value = thePair.split("="); + if (value.length == 2) { + map.put(value[0].trim(), value[1].trim()); + } else { + map.put(thePair, ""); + } + } + return map; + } + return Collections.emptyMap(); + } }