You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cxf.apache.org by se...@apache.org on 2011/09/23 00:10:08 UTC
svn commit: r1174416 - in /cxf/branches/2.3.x-fixes: ./
rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/servlet/CXFNonSpringJaxrsServlet.java
Author: sergeyb
Date: Thu Sep 22 22:10:08 2011
New Revision: 1174416
URL: http://svn.apache.org/viewvc?rev=1174416&view=rev
Log:
Merged revisions 1174408 via svnmerge from
https://svn.apache.org/repos/asf/cxf/branches/2.4.x-fixes
................
r1174408 | sergeyb | 2011-09-22 22:56:58 +0100 (Thu, 22 Sep 2011) | 9 lines
Merged revisions 1174404 via svnmerge from
https://svn.apache.org/repos/asf/cxf/trunk
........
r1174404 | sergeyb | 2011-09-22 22:55:24 +0100 (Thu, 22 Sep 2011) | 1 line
[CXF-3743] Configuration of extension and language mappings in a non spring servlet
........
................
Modified:
cxf/branches/2.3.x-fixes/ (props changed)
cxf/branches/2.3.x-fixes/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/servlet/CXFNonSpringJaxrsServlet.java
Propchange: cxf/branches/2.3.x-fixes/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Thu Sep 22 22:10:08 2011
@@ -1,2 +1,2 @@
-/cxf/branches/2.4.x-fixes:1172584,1173057,1173766,1174040
-/cxf/trunk:1172522,1173027,1173997-1173998
+/cxf/branches/2.4.x-fixes:1172584,1173057,1173766,1174040,1174408
+/cxf/trunk:1172522,1173027,1173997-1173998,1174404
Propchange: cxf/branches/2.3.x-fixes/
------------------------------------------------------------------------------
Binary property 'svnmerge-integrated' - no diff available.
Modified: cxf/branches/2.3.x-fixes/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/servlet/CXFNonSpringJaxrsServlet.java
URL: http://svn.apache.org/viewvc/cxf/branches/2.3.x-fixes/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/servlet/CXFNonSpringJaxrsServlet.java?rev=1174416&r1=1174415&r2=1174416&view=diff
==============================================================================
--- cxf/branches/2.3.x-fixes/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/servlet/CXFNonSpringJaxrsServlet.java (original)
+++ cxf/branches/2.3.x-fixes/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/servlet/CXFNonSpringJaxrsServlet.java Thu Sep 22 22:10:08 2011
@@ -56,6 +56,8 @@ public class CXFNonSpringJaxrsServlet ex
private static final String OUT_INTERCEPTORS_PARAM = "jaxrs.outInterceptors";
private static final String IN_INTERCEPTORS_PARAM = "jaxrs.inInterceptors";
private static final String SERVICE_SCOPE_PARAM = "jaxrs.scope";
+ private static final String EXTENSIONS_PARAM = "jaxrs.extensions";
+ private static final String LANGUAGES_PARAM = "jaxrs.languages";
private static final String SCHEMAS_PARAM = "jaxrs.schemaLocations";
private static final String SERVICE_SCOPE_SINGLETON = "singleton";
private static final String SERVICE_SCOPE_REQUEST = "prototype";
@@ -98,9 +100,37 @@ public class CXFNonSpringJaxrsServlet ex
for (Map.Entry<Class, ResourceProvider> entry : resourceProviders.entrySet()) {
bean.setResourceProvider(entry.getKey(), entry.getValue());
}
+ setExtensions(bean, servletConfig);
+
bean.create();
}
+ protected void setExtensions(JAXRSServerFactoryBean bean, ServletConfig servletConfig) {
+ doSetExtensions(bean, servletConfig, EXTENSIONS_PARAM);
+ doSetExtensions(bean, servletConfig, LANGUAGES_PARAM);
+ }
+
+ protected void doSetExtensions(JAXRSServerFactoryBean bean, ServletConfig servletConfig,
+ String extParamName) {
+ String extParam = servletConfig.getInitParameter(extParamName);
+ if (extParam != null) {
+ Map<Object, Object> extensions = new HashMap<Object, Object>();
+ String[] pairs = extParam.split(" ");
+ for (String pair : pairs) {
+ String[] value = pair.split(":");
+ if (value.length == 2) {
+ extensions.put(value[0].trim(), value[1].trim());
+ }
+ }
+ if (EXTENSIONS_PARAM.equals(extParamName)) {
+ bean.setExtensionMappings(extensions);
+ } else {
+ bean.setLanguageMappings(extensions);
+ }
+ }
+
+ }
+
protected void setAllInterceptors(JAXRSServerFactoryBean bean, ServletConfig servletConfig) {
setInterceptors(bean, servletConfig, OUT_INTERCEPTORS_PARAM);
setInterceptors(bean, servletConfig, IN_INTERCEPTORS_PARAM);
@@ -265,6 +295,7 @@ public class CXFNonSpringJaxrsServlet ex
String ignoreParam = servletConfig.getInitParameter(IGNORE_APP_PATH_PARAM);
JAXRSServerFactoryBean bean = ResourceUtils.createApplication(app, MessageUtils.isTrue(ignoreParam));
setAllInterceptors(bean, servletConfig);
+ setExtensions(bean, servletConfig);
bean.create();
}