Author: sergeyb
Date: Mon Jul 26 21:50:09 2010
New Revision: 979462
URL: http://svn.apache.org/viewvc?rev=979462&view=rev
Log:
Merged revisions 979459 via svnmerge from
https://svn.apache.org/repos/asf/cxf/trunk
........
r979459 | sergeyb | 2010-07-26 22:46:02 +0100 (Mon, 26 Jul 2010) | 1 line
Fixing StachOverflow in InjectionUtils plus a couple of other minor updates
........
Modified:
cxf/branches/2.2.x-fixes/ (props changed)
cxf/branches/2.2.x-fixes/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/provider/JAXBElementProvider.java
cxf/branches/2.2.x-fixes/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/provider/JSONProvider.java
cxf/branches/2.2.x-fixes/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/utils/InjectionUtils.java
cxf/branches/2.2.x-fixes/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/utils/JAXRSUtils.java
cxf/branches/2.2.x-fixes/rt/frontend/jaxrs/src/test/java/org/apache/cxf/jaxrs/model/wadl/BookStore.java
Propchange: cxf/branches/2.2.x-fixes/
------------------------------------------------------------------------------
svn:mergeinfo = /cxf/trunk:979459
Propchange: cxf/branches/2.2.x-fixes/
------------------------------------------------------------------------------
Binary property 'svnmerge-integrated' - no diff available.
Modified:
cxf/branches/2.2.x-fixes/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/provider/JAXBElementProvider.java
URL:
http://svn.apache.org/viewvc/cxf/branches/2.2.x-fixes/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/provider/JAXBElementProvider.java?rev=979462&r1=979461&r2=979462&view=diff
==============================================================================
---
cxf/branches/2.2.x-fixes/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/provider/JAXBElementProvider.java
(original)
+++
cxf/branches/2.2.x-fixes/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/provider/JAXBElementProvider.java
Mon Jul 26 21:50:09 2010
@@ -234,6 +234,7 @@ public class JAXBElementProvider extends
String encoding = HttpUtils.getSetEncoding(m, headers, null);
if (InjectionUtils.isSupportedCollectionOrArray(actualClass)) {
actualClass = InjectionUtils.getActualType(genericType);
+ actualClass = getActualType(actualClass, genericType, anns);
marshalCollection(cls, actualObject, actualClass, genericType,
encoding, os, m);
} else {
marshal(actualObject, actualClass, genericType, encoding, os,
m);
Modified:
cxf/branches/2.2.x-fixes/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/provider/JSONProvider.java
URL:
http://svn.apache.org/viewvc/cxf/branches/2.2.x-fixes/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/provider/JSONProvider.java?rev=979462&r1=979461&r2=979462&view=diff
==============================================================================
---
cxf/branches/2.2.x-fixes/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/provider/JSONProvider.java
(original)
+++
cxf/branches/2.2.x-fixes/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/provider/JSONProvider.java
Mon Jul 26 21:50:09 2010
@@ -263,6 +263,7 @@ public class JSONProvider extends Abstra
if (InjectionUtils.isSupportedCollectionOrArray(actualClass)) {
actualClass = InjectionUtils.getActualType(genericType);
+ actualClass = getActualType(actualClass, genericType, anns);
marshalCollection(cls, actualObject, actualClass, genericType,
encoding, os, m);
} else {
marshal(actualObject, actualClass, genericType, encoding, os);
Modified:
cxf/branches/2.2.x-fixes/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/utils/InjectionUtils.java
URL:
http://svn.apache.org/viewvc/cxf/branches/2.2.x-fixes/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/utils/InjectionUtils.java?rev=979462&r1=979461&r2=979462&view=diff
==============================================================================
---
cxf/branches/2.2.x-fixes/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/utils/InjectionUtils.java
(original)
+++
cxf/branches/2.2.x-fixes/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/utils/InjectionUtils.java
Mon Jul 26 21:50:09 2010
@@ -860,7 +860,7 @@ public final class InjectionUtils {
if (m.getName().startsWith("get") && m.getParameterTypes().length
== 0
&& m.getName().length() > 3) {
String propertyName = m.getName().substring(3).toLowerCase();
- if ("class".equals(propertyName)
+ if (m.getReturnType() == Class.class
|| checkIgnorable && canPropertyBeIgnored(m,
propertyName)) {
continue;
}
Modified:
cxf/branches/2.2.x-fixes/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/utils/JAXRSUtils.java
URL:
http://svn.apache.org/viewvc/cxf/branches/2.2.x-fixes/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/utils/JAXRSUtils.java?rev=979462&r1=979461&r2=979462&view=diff
==============================================================================
---
cxf/branches/2.2.x-fixes/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/utils/JAXRSUtils.java
(original)
+++
cxf/branches/2.2.x-fixes/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/utils/JAXRSUtils.java
Mon Jul 26 21:50:09 2010
@@ -360,8 +360,21 @@ public final class JAXRSUtils {
return ori;
}
- int status = pathMatched == 0 ? 404 : methodMatched == 0 ? 405
- : consumeMatched == 0 ? 415 : produceMatched == 0 ? 406 :
404;
+ int status;
+
+ if (pathMatched == 0) {
+ status = 404;
+ } else if (methodMatched == 0) {
+ status = 405;
+ } else if (consumeMatched == 0) {
+ status = 415;
+ } else if (produceMatched == 0) {
+ status = 406;
+ } else {
+ // this branch should not even be executed
+ status = 404;
+ }
+
String name = resource.isRoot() ? "NO_OP_EXC" :
"NO_SUBRESOURCE_METHOD_FOUND";
org.apache.cxf.common.i18n.Message errorMsg =
new org.apache.cxf.common.i18n.Message(name,
Modified:
cxf/branches/2.2.x-fixes/rt/frontend/jaxrs/src/test/java/org/apache/cxf/jaxrs/model/wadl/BookStore.java
URL:
http://svn.apache.org/viewvc/cxf/branches/2.2.x-fixes/rt/frontend/jaxrs/src/test/java/org/apache/cxf/jaxrs/model/wadl/BookStore.java?rev=979462&r1=979461&r2=979462&view=diff
==============================================================================
---
cxf/branches/2.2.x-fixes/rt/frontend/jaxrs/src/test/java/org/apache/cxf/jaxrs/model/wadl/BookStore.java
(original)
+++
cxf/branches/2.2.x-fixes/rt/frontend/jaxrs/src/test/java/org/apache/cxf/jaxrs/model/wadl/BookStore.java
Mon Jul 26 21:50:09 2010
@@ -145,6 +145,10 @@ public class BookStore {
return bean;
}
+ public TestEnum getE() {
+ return TestEnum.A;
+ }
+
}
public static class QueryBean2 {
@@ -179,4 +183,8 @@ public class BookStore {
return b;
}
}
+
+ public static enum TestEnum {
+ A;
+ }
}