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 2012/01/25 14:13:06 UTC
svn commit: r1235731 - in /cxf/branches/2.5.x-fixes: ./
rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/utils/InjectionUtils.java
Author: sergeyb
Date: Wed Jan 25 13:13:06 2012
New Revision: 1235731
URL: http://svn.apache.org/viewvc?rev=1235731&view=rev
Log:
Merged revisions 1235730 via svnmerge from
https://svn.apache.org/repos/asf/cxf/trunk
........
r1235730 | sergeyb | 2012-01-25 13:09:41 +0000 (Wed, 25 Jan 2012) | 1 line
[CXF-4055] Optionally checking ParameterHandlers first
........
Modified:
cxf/branches/2.5.x-fixes/ (props changed)
cxf/branches/2.5.x-fixes/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/utils/InjectionUtils.java
Propchange: cxf/branches/2.5.x-fixes/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Wed Jan 25 13:13:06 2012
@@ -1 +1 @@
-/cxf/trunk:1235544
+/cxf/trunk:1235544,1235730
Propchange: cxf/branches/2.5.x-fixes/
------------------------------------------------------------------------------
Binary property 'svnmerge-integrated' - no diff available.
Modified: cxf/branches/2.5.x-fixes/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/utils/InjectionUtils.java
URL: http://svn.apache.org/viewvc/cxf/branches/2.5.x-fixes/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/utils/InjectionUtils.java?rev=1235731&r1=1235730&r2=1235731&view=diff
==============================================================================
--- cxf/branches/2.5.x-fixes/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/utils/InjectionUtils.java (original)
+++ cxf/branches/2.5.x-fixes/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/utils/InjectionUtils.java Wed Jan 25 13:13:06 2012
@@ -37,6 +37,7 @@ import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
import java.util.Collections;
+import java.util.Date;
import java.util.HashMap;
import java.util.HashSet;
import java.util.LinkedHashMap;
@@ -88,6 +89,7 @@ import org.apache.cxf.jaxrs.model.Parame
import org.apache.cxf.jaxrs.model.ParameterType;
import org.apache.cxf.jaxrs.provider.ProviderFactory;
import org.apache.cxf.message.Message;
+import org.apache.cxf.message.MessageUtils;
public final class InjectionUtils {
@@ -99,6 +101,8 @@ public final class InjectionUtils {
private static final String HTTP_SERVLET_REQUEST_CLASS_NAME = "javax.servlet.http.HttpServletRequest";
private static final String HTTP_SERVLET_RESPONSE_CLASS_NAME = "javax.servlet.http.HttpServletResponse";
+ private static final String PARAM_HANDLERS_FIRST = "check.parameter.handlers.first";
+
private InjectionUtils() {
}
@@ -378,12 +382,10 @@ public final class InjectionUtils {
private static Object instantiateFromParameterHandler(String value,
Class<?> pClass,
- Message message) {
- // TODO: Consider always checking custom parameter handlers first.
- // Right now, Locale and Date are two special cases so it's very cheap
- // just to check if it is Locale or not;
- if (Locale.class == pClass) {
- return createFromParameterHandler(value, pClass, message);
+ Message m) {
+ if (Date.class == pClass || Locale.class == pClass
+ || m != null && MessageUtils.isTrue(m.getContextualProperty(PARAM_HANDLERS_FIRST))) {
+ return createFromParameterHandler(value, pClass, m);
} else {
return null;
}