THRIFT-1065 Unexpected exceptions not proper handled on JS
THRIFT-847  same bahavior for Java and C++(test/cpp/src/TestServer.cpp)

Patch: Henrique Mendonca


git-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1073484 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/lib/java/test/org/apache/thrift/server/ServerTestBase.java b/lib/java/test/org/apache/thrift/server/ServerTestBase.java
index 9542520..8bd2cef 100644
--- a/lib/java/test/org/apache/thrift/server/ServerTestBase.java
+++ b/lib/java/test/org/apache/thrift/server/ServerTestBase.java
@@ -29,6 +29,7 @@
 import junit.framework.TestCase;
 
 import org.apache.thrift.TException;
+import org.apache.thrift.TApplicationException;
 import org.apache.thrift.TProcessor;
 import org.apache.thrift.protocol.TBinaryProtocol;
 import org.apache.thrift.protocol.TCompactProtocol;
@@ -227,13 +228,18 @@
       return hello;
     }
   
-    public void testException(String arg) throws Xception {
+    public void testException(String arg) throws Xception, TApplicationException {
       System.out.print("testException("+arg+")\n");
       if (arg.equals("Xception")) {
         Xception x = new Xception();
         x.errorCode = 1001;
         x.message = "This is an Xception";
         throw x;
+      } else if (arg.equals("ApplicationException")) {
+        throw new TApplicationException("This is a ApplicationException");
+      } else {
+        Xtruct result = new Xtruct();
+        result.string_thing = arg;
       }
       return;
     }