[jboss-svn-commits] JBL Code SVN: r21034 - in labs/jbossrules/trunk/drools-guvnor: src/main/java/org/jboss/seam/remoting/gwt and 1 other directory.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Tue Jul 15 07:02:28 EDT 2008


Author: jervisliu
Date: 2008-07-15 07:02:28 -0400 (Tue, 15 Jul 2008)
New Revision: 21034

Modified:
   labs/jbossrules/trunk/drools-guvnor/pom.xml
   labs/jbossrules/trunk/drools-guvnor/src/main/java/org/jboss/seam/remoting/gwt/GWTRemoteServiceServlet.java
   labs/jbossrules/trunk/drools-guvnor/src/main/java/org/jboss/seam/remoting/gwt/GWTToSeamAdapter.java
Log:
Improved error message when authorization failed. 

Modified: labs/jbossrules/trunk/drools-guvnor/pom.xml
===================================================================
--- labs/jbossrules/trunk/drools-guvnor/pom.xml	2008-07-15 08:55:20 UTC (rev 21033)
+++ labs/jbossrules/trunk/drools-guvnor/pom.xml	2008-07-15 11:02:28 UTC (rev 21034)
@@ -144,7 +144,13 @@
 		<artifactId>jta</artifactId>
 		<version>1.0.1B</version>
 	</dependency>
-
+	
+      <dependency>
+        <groupId>javax.ejb</groupId>
+        <artifactId>ejb-api</artifactId>
+        <version>3.0</version>
+      </dependency>
+      
 	 <dependency>
 	  <groupId>org.hibernate</groupId>
 	  <artifactId>hibernate</artifactId>

Modified: labs/jbossrules/trunk/drools-guvnor/src/main/java/org/jboss/seam/remoting/gwt/GWTRemoteServiceServlet.java
===================================================================
--- labs/jbossrules/trunk/drools-guvnor/src/main/java/org/jboss/seam/remoting/gwt/GWTRemoteServiceServlet.java	2008-07-15 08:55:20 UTC (rev 21033)
+++ labs/jbossrules/trunk/drools-guvnor/src/main/java/org/jboss/seam/remoting/gwt/GWTRemoteServiceServlet.java	2008-07-15 11:02:28 UTC (rev 21034)
@@ -33,6 +33,7 @@
 import javax.servlet.http.HttpServletResponse;
 
 import org.jboss.seam.remoting.gwt.GWTToSeamAdapter.ReturnedObject;
+import org.jboss.seam.security.AuthorizationException;
 
 import com.google.gwt.user.client.rpc.RemoteService;
 import com.google.gwt.user.client.rpc.SerializableException;
@@ -308,7 +309,14 @@
         caught = cause;
         // Serialize the exception back to the client if it's a declared
         // exception
-        if (cause instanceof SerializableException) {
+        if (cause instanceof AuthorizationException) {
+        	responsePayload = cause.getMessage();
+        	streamWriter.prepareToWrite();
+        	streamWriter.writeString(responsePayload);
+        	// Don't log the exception on the server
+        	caught = null;        
+        } else if (cause instanceof SerializableException) {
+        
           Class thrownClass = cause.getClass();
           responsePayload = createResponse(streamWriter, thrownClass, cause,
               true);

Modified: labs/jbossrules/trunk/drools-guvnor/src/main/java/org/jboss/seam/remoting/gwt/GWTToSeamAdapter.java
===================================================================
--- labs/jbossrules/trunk/drools-guvnor/src/main/java/org/jboss/seam/remoting/gwt/GWTToSeamAdapter.java	2008-07-15 08:55:20 UTC (rev 21033)
+++ labs/jbossrules/trunk/drools-guvnor/src/main/java/org/jboss/seam/remoting/gwt/GWTToSeamAdapter.java	2008-07-15 11:02:28 UTC (rev 21034)
@@ -35,6 +35,8 @@
 import org.jboss.seam.Component;
 import org.jboss.seam.annotations.remoting.WebRemote;
 import org.jboss.seam.contexts.Contexts;
+import org.jboss.seam.security.AuthorizationException;
+
 /**
  * This class adapts GWT RPC mechanism to Seam actions.
  *
@@ -87,6 +89,8 @@
                     cause.printStackTrace( w );
                     if (cause instanceof DetailedSerializableException) {
                     	throw new InvocationTargetException(cause);
+                    } else if (cause instanceof AuthorizationException) {
+                    	throw e;
                     } else {
                         throw new InvocationTargetException(new DetailedSerializableException("An error occurred executing the action.", sw.toString()));
                     }




More information about the jboss-svn-commits mailing list