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/05/31 08:23:23 UTC
[cxf] branch master updated: parse cxf.jaxrs.extensions like it
done in CXFNonSpringJaxrsServlet, but with ", " separator
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 <sl...@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();
+ }
}