Author: ema
Date: Tue Jan 15 08:09:33 2013
New Revision: 1433306

URL: http://svn.apache.org/viewvc?rev=1433306&view=rev
Log:
Merged revisions 1433305 via svnmerge from 
https://svn.apache.org/repos/asf/cxf/trunk

........
  r1433305 | ema | 2013-01-15 16:04:51 +0800 (Tue, 15 Jan 2013) | 1 line
  
  CXF-4755- StackOverflowError when ASMHelper tries to getClassCode from a 
parametrized type <E extends Enum>
........

Added:
    
cxf/branches/2.7.x-fixes/api/src/test/java/org/apache/cxf/common/util/ASMHelperTest.java
      - copied unchanged from r1433305, 
cxf/trunk/api/src/test/java/org/apache/cxf/common/util/ASMHelperTest.java
Modified:
    cxf/branches/2.7.x-fixes/   (props changed)
    
cxf/branches/2.7.x-fixes/api/src/main/java/org/apache/cxf/common/util/ASMHelper.java

Propchange: cxf/branches/2.7.x-fixes/
------------------------------------------------------------------------------
    svn:mergeinfo = /cxf/trunk:1433305

Propchange: cxf/branches/2.7.x-fixes/
------------------------------------------------------------------------------
--- svnmerge-integrated (original)
+++ svnmerge-integrated Tue Jan 15 08:09:33 2013
@@ -1 +1 @@
-/cxf/trunk:1-1430398,1430564,1430881-1430882,1430905,1430965,1430976,1431315,1431604-1431607,1432070,1432236,1432798,1433007,1433033,1433135
+/cxf/trunk:1-1430398,1430564,1430881-1430882,1430905,1430965,1430976,1431315,1431604-1431607,1432070,1432236,1432798,1433007,1433033,1433135,1433305

Modified: 
cxf/branches/2.7.x-fixes/api/src/main/java/org/apache/cxf/common/util/ASMHelper.java
URL: 
http://svn.apache.org/viewvc/cxf/branches/2.7.x-fixes/api/src/main/java/org/apache/cxf/common/util/ASMHelper.java?rev=1433306&r1=1433305&r2=1433306&view=diff
==============================================================================
--- 
cxf/branches/2.7.x-fixes/api/src/main/java/org/apache/cxf/common/util/ASMHelper.java
 (original)
+++ 
cxf/branches/2.7.x-fixes/api/src/main/java/org/apache/cxf/common/util/ASMHelper.java
 Tue Jan 15 08:09:33 2013
@@ -192,12 +192,15 @@ public class ASMHelper {
         } else if (type instanceof ParameterizedType) {
             ParameterizedType pt = (ParameterizedType)type;
             StringBuilder a = new StringBuilder(getClassCode(pt.getRawType()));
-            a.setLength(a.length() - 1);
-            a.append('<');
-            for (java.lang.reflect.Type t : pt.getActualTypeArguments()) {
-                a.append(getClassCode(t));  
+            if (!pt.getRawType().equals(Enum.class)) {
+                a.setLength(a.length() - 1);
+                a.append('<');
+
+                for (java.lang.reflect.Type t : pt.getActualTypeArguments()) {
+                    a.append(getClassCode(t));
+                }
+                a.append(">;");
             }
-            a.append(">;");
             return a.toString();
         } else if (type instanceof WildcardType) {
             WildcardType wt = (WildcardType)type;


Reply via email to