You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cxf.apache.org by ff...@apache.org on 2013/04/08 04:30:08 UTC

svn commit: r1465529 - in /cxf/branches/2.5.x-fixes: ./ rt/core/src/main/java/org/apache/cxf/interceptor/ rt/frontend/jaxws/src/test/java/org/apache/cxf/jaxws/ rt/frontend/jaxws/src/test/java/org/apache/cxf/jaxws/service/

Author: ffang
Date: Mon Apr  8 02:30:08 2013
New Revision: 1465529

URL: http://svn.apache.org/r1465529
Log:
Merged revisions 1465527 via svnmerge from 
https://svn.apache.org/repos/asf/cxf/branches/2.6.x-fixes

................
  r1465527 | ffang | 2013-04-08 09:40:19 +0800 (一, 08  4 2013) | 20 lines
  
  Merged revisions 1465526 via svnmerge from 
  https://svn.apache.org/repos/asf/cxf/branches/2.7.x-fixes
  
  ................
    r1465526 | ffang | 2013-04-08 09:33:19 +0800 (一, 08  4 2013) | 13 lines
    
    Merged revisions 1465337,1465373 via svnmerge from 
    https://svn.apache.org/repos/asf/cxf/trunk
    
    ........
      r1465337 | ffang | 2013-04-07 15:42:23 +0800 (日, 07  4 2013) | 1 line
      
      [CXF-4940]add a testcase to demonstrate exception hierarchy works
    ........
      r1465373 | ffang | 2013-04-07 20:32:59 +0800 (日, 07  4 2013) | 1 line
      
      [CXF-4940]CXF not (always) responding with the correct exception when working with an exception hierarchy 
    ........
  ................
................

Added:
    cxf/branches/2.5.x-fixes/rt/frontend/jaxws/src/test/java/org/apache/cxf/jaxws/service/AddNumbersSubException.java
      - copied unchanged from r1465527, cxf/branches/2.6.x-fixes/rt/frontend/jaxws/src/test/java/org/apache/cxf/jaxws/service/AddNumbersSubException.java
Modified:
    cxf/branches/2.5.x-fixes/   (props changed)
    cxf/branches/2.5.x-fixes/rt/core/src/main/java/org/apache/cxf/interceptor/FaultOutInterceptor.java
    cxf/branches/2.5.x-fixes/rt/frontend/jaxws/src/test/java/org/apache/cxf/jaxws/CodeFirstTest.java
    cxf/branches/2.5.x-fixes/rt/frontend/jaxws/src/test/java/org/apache/cxf/jaxws/service/AddNumbersException.java
    cxf/branches/2.5.x-fixes/rt/frontend/jaxws/src/test/java/org/apache/cxf/jaxws/service/Hello.java
    cxf/branches/2.5.x-fixes/rt/frontend/jaxws/src/test/java/org/apache/cxf/jaxws/service/HelloInterface.java

Propchange: cxf/branches/2.5.x-fixes/
------------------------------------------------------------------------------
  Merged /cxf/branches/2.7.x-fixes:r1465526
  Merged /cxf/trunk:r1465337-1465373
  Merged /cxf/branches/2.6.x-fixes:r1465527

Propchange: cxf/branches/2.5.x-fixes/
------------------------------------------------------------------------------
Binary property 'svnmerge-integrated' - no diff available.

Modified: cxf/branches/2.5.x-fixes/rt/core/src/main/java/org/apache/cxf/interceptor/FaultOutInterceptor.java
URL: http://svn.apache.org/viewvc/cxf/branches/2.5.x-fixes/rt/core/src/main/java/org/apache/cxf/interceptor/FaultOutInterceptor.java?rev=1465529&r1=1465528&r2=1465529&view=diff
==============================================================================
--- cxf/branches/2.5.x-fixes/rt/core/src/main/java/org/apache/cxf/interceptor/FaultOutInterceptor.java (original)
+++ cxf/branches/2.5.x-fixes/rt/core/src/main/java/org/apache/cxf/interceptor/FaultOutInterceptor.java Mon Apr  8 02:30:08 2013
@@ -143,16 +143,20 @@ public class FaultOutInterceptor extends
      * @param class1
      * @return
      */
-    public FaultInfo getFaultForClass(BindingOperationInfo op, Class class1) {
+    public FaultInfo getFaultForClass(BindingOperationInfo op, Class<?> class1) {
+        FaultInfo selectedFaultInfo = null;
+        Class<?> selectedFaultInfoClass = null;
         for (BindingFaultInfo bfi : op.getFaults()) {
 
             FaultInfo faultInfo = bfi.getFaultInfo();
-            Class<?> c = (Class)faultInfo.getProperty(Class.class.getName());
-            if (c != null && c.isAssignableFrom(class1)) {
-                return faultInfo;
+            Class<?> c = (Class<?>)faultInfo.getProperty(Class.class.getName());
+            if (c != null && c.isAssignableFrom(class1)
+                && (selectedFaultInfo == null || selectedFaultInfoClass.isAssignableFrom(c))) {
+                selectedFaultInfo = faultInfo;
+                selectedFaultInfoClass = c;
+
             }
         }
-
-        return null;
+        return selectedFaultInfo;
     }
 }

Modified: cxf/branches/2.5.x-fixes/rt/frontend/jaxws/src/test/java/org/apache/cxf/jaxws/CodeFirstTest.java
URL: http://svn.apache.org/viewvc/cxf/branches/2.5.x-fixes/rt/frontend/jaxws/src/test/java/org/apache/cxf/jaxws/CodeFirstTest.java?rev=1465529&r1=1465528&r2=1465529&view=diff
==============================================================================
--- cxf/branches/2.5.x-fixes/rt/frontend/jaxws/src/test/java/org/apache/cxf/jaxws/CodeFirstTest.java (original)
+++ cxf/branches/2.5.x-fixes/rt/frontend/jaxws/src/test/java/org/apache/cxf/jaxws/CodeFirstTest.java Mon Apr  8 02:30:08 2013
@@ -47,6 +47,7 @@ import org.apache.cxf.frontend.ServerFac
 import org.apache.cxf.interceptor.LoggingInInterceptor;
 import org.apache.cxf.interceptor.LoggingOutInterceptor;
 import org.apache.cxf.jaxws.service.AddNumbersException;
+import org.apache.cxf.jaxws.service.AddNumbersSubException;
 import org.apache.cxf.jaxws.service.ArrayService;
 import org.apache.cxf.jaxws.service.ArrayServiceImpl;
 import org.apache.cxf.jaxws.service.Entity;
@@ -247,6 +248,15 @@ public class CodeFirstTest extends Abstr
         } catch (AddNumbersException e) {
             assertEquals(e.getInfo(), "Sum is less than 0.");
         }
+        
+        try {   
+            proxy.addNumbers(1, 99);
+            fail("should throw AddNumbersSubException");
+        } catch (AddNumbersSubException e) {
+            assertEquals(e.getSubInfo(), "Sum is 100");
+        } catch (AddNumbersException e) {
+            fail("should throw AddNumbersSubException");
+        }
 
     }
 

Modified: cxf/branches/2.5.x-fixes/rt/frontend/jaxws/src/test/java/org/apache/cxf/jaxws/service/AddNumbersException.java
URL: http://svn.apache.org/viewvc/cxf/branches/2.5.x-fixes/rt/frontend/jaxws/src/test/java/org/apache/cxf/jaxws/service/AddNumbersException.java?rev=1465529&r1=1465528&r2=1465529&view=diff
==============================================================================
--- cxf/branches/2.5.x-fixes/rt/frontend/jaxws/src/test/java/org/apache/cxf/jaxws/service/AddNumbersException.java (original)
+++ cxf/branches/2.5.x-fixes/rt/frontend/jaxws/src/test/java/org/apache/cxf/jaxws/service/AddNumbersException.java Mon Apr  8 02:30:08 2013
@@ -23,7 +23,7 @@ import javax.xml.ws.WebFault;
 @WebFault
 public class AddNumbersException extends Exception {
     private static final long serialVersionUID = 1L;
-    private String info;
+    protected String info;
 
     public AddNumbersException() {
     }

Modified: cxf/branches/2.5.x-fixes/rt/frontend/jaxws/src/test/java/org/apache/cxf/jaxws/service/Hello.java
URL: http://svn.apache.org/viewvc/cxf/branches/2.5.x-fixes/rt/frontend/jaxws/src/test/java/org/apache/cxf/jaxws/service/Hello.java?rev=1465529&r1=1465528&r2=1465529&view=diff
==============================================================================
--- cxf/branches/2.5.x-fixes/rt/frontend/jaxws/src/test/java/org/apache/cxf/jaxws/service/Hello.java (original)
+++ cxf/branches/2.5.x-fixes/rt/frontend/jaxws/src/test/java/org/apache/cxf/jaxws/service/Hello.java Mon Apr  8 02:30:08 2013
@@ -70,10 +70,13 @@ public class Hello {
     }
     
     @WebMethod
-    public String addNumbers(int arg0, int arg1) throws AddNumbersException {
+    public String addNumbers(int arg0, int arg1) throws AddNumbersSubException, AddNumbersException {
         if (arg0 + arg1 < 0) {
             throw new AddNumbersException("Sum is less than 0.");
         }
+        if (arg0 + arg1 == 100) {
+            throw new AddNumbersSubException("Sum is 100");
+        }
         return "Result = " + String.valueOf(arg0 + arg1);
     }
 }

Modified: cxf/branches/2.5.x-fixes/rt/frontend/jaxws/src/test/java/org/apache/cxf/jaxws/service/HelloInterface.java
URL: http://svn.apache.org/viewvc/cxf/branches/2.5.x-fixes/rt/frontend/jaxws/src/test/java/org/apache/cxf/jaxws/service/HelloInterface.java?rev=1465529&r1=1465528&r2=1465529&view=diff
==============================================================================
--- cxf/branches/2.5.x-fixes/rt/frontend/jaxws/src/test/java/org/apache/cxf/jaxws/service/HelloInterface.java (original)
+++ cxf/branches/2.5.x-fixes/rt/frontend/jaxws/src/test/java/org/apache/cxf/jaxws/service/HelloInterface.java Mon Apr  8 02:30:08 2013
@@ -34,5 +34,5 @@ public interface HelloInterface {
     @WebMethod
     List<String> getStringList(List<String> list);
     @WebMethod
-    String addNumbers(int arg0, int arg1) throws AddNumbersException;
+    String addNumbers(int arg0, int arg1) throws AddNumbersSubException, AddNumbersException;
 }