[jboss-svn-commits] JBL Code SVN: r33264 - in labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor: public and 1 other directories.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Mon May 31 13:10:16 EDT 2010


Author: jervisliu
Date: 2010-05-31 13:10:15 -0400 (Mon, 31 May 2010)
New Revision: 33264

Modified:
   labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/rpc/PushClient.java
   labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/public/logout.jsp
   labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/server/ServiceImplementation.java
Log:
GUVNOR-553: Log out from Guvnor throws exception.


Modified: labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/rpc/PushClient.java
===================================================================
--- labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/rpc/PushClient.java	2010-05-31 15:11:38 UTC (rev 33263)
+++ labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/client/rpc/PushClient.java	2010-05-31 17:10:15 UTC (rev 33264)
@@ -1,11 +1,14 @@
 package org.drools.guvnor.client.rpc;
 
+import com.google.gwt.user.client.Timer;
 import com.google.gwt.user.client.rpc.AsyncCallback;
 import com.google.gwt.core.client.GWT;
 
 import java.util.List;
 import java.util.ArrayList;
 
+import org.drools.guvnor.client.common.GenericCallback;
+
 /**
  * This manages "subscriptions" for when messages are pushed from the server.
  * @author Michael Neale
@@ -32,10 +35,31 @@
 
     private void connect() {
         connected = true;
+        
         System.err.println("Connecting" + System.currentTimeMillis());
+        Timer timer = new Timer() {
+
+            public void run() {
+                RepositoryServiceFactory.getService().subscribe(new AsyncCallback<List<PushResponse>>() {
+                    public void onFailure(Throwable caught) {
+                        System.err.println("FAIL" + System.currentTimeMillis());
+                    }
+
+                    public void onSuccess(List<PushResponse> result) {
+                        System.err.println("Got response !" + System.currentTimeMillis());
+                        processResult(result);
+                    }
+                });
+            }
+
+        };
+
+        timer.scheduleRepeating( 60000 );
+/*        
         RepositoryServiceFactory.getService().subscribe(new AsyncCallback<List<PushResponse>>() {
             public void onFailure(Throwable caught) {
                 System.err.println("FAIL" + System.currentTimeMillis());
+                
                 connect();
             }
 
@@ -44,7 +68,7 @@
                 processResult(result);
                 connect();
             }
-        });
+        });*/
 
     }
 

Modified: labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/public/logout.jsp
===================================================================
--- labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/public/logout.jsp	2010-05-31 15:11:38 UTC (rev 33263)
+++ labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/public/logout.jsp	2010-05-31 17:10:15 UTC (rev 33264)
@@ -1,5 +1,5 @@
 <%
-	org.jboss.seam.Seam.invalidateSession();
+	org.jboss.seam.security.Identity.instance().logout();
     String redirectURL = "Guvnor.html";
     response.sendRedirect(redirectURL);
 %>
\ No newline at end of file

Modified: labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/server/ServiceImplementation.java
===================================================================
--- labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/server/ServiceImplementation.java	2010-05-31 15:11:38 UTC (rev 33263)
+++ labs/jbossrules/trunk/drools-guvnor/src/main/java/org/drools/guvnor/server/ServiceImplementation.java	2010-05-31 17:10:15 UTC (rev 33264)
@@ -144,6 +144,7 @@
 import org.jboss.seam.annotations.security.Restrict;
 import org.jboss.seam.contexts.Contexts;
 import org.jboss.seam.security.Identity;
+import org.jboss.seam.web.Session;
 import org.mvel2.MVEL;
 import org.mvel2.templates.TemplateRuntime;
 
@@ -2778,11 +2779,15 @@
     }
 
     public List<PushResponse> subscribe() {
-        try {
-            return backchannel.await( getCurrentUserName() );
-        } catch ( InterruptedException e ) {
-            return new ArrayList<PushResponse>();
-        }
+    	if (Contexts.isApplicationContextActive() && !Session.instance().isInvalid()) {
+			try {
+				return backchannel.await(getCurrentUserName());
+			} catch (InterruptedException e) {
+				return new ArrayList<PushResponse>();
+			}
+		} else {
+			return new ArrayList<PushResponse>();
+		}
     }
 
     private String getCurrentUserName() {



More information about the jboss-svn-commits mailing list