Author: solomax
Date: Thu Sep 11 06:50:13 2014
New Revision: 1624209

URL: http://svn.apache.org/r1624209
Log:
[OPENMEETINGS-1080] Wicket session kept alive while user is in room

Modified:
    
openmeetings/branches/3.0.x/src/web/java/org/apache/openmeetings/web/user/rooms/RoomPanel.java

Modified: 
openmeetings/branches/3.0.x/src/web/java/org/apache/openmeetings/web/user/rooms/RoomPanel.java
URL: 
http://svn.apache.org/viewvc/openmeetings/branches/3.0.x/src/web/java/org/apache/openmeetings/web/user/rooms/RoomPanel.java?rev=1624209&r1=1624208&r2=1624209&view=diff
==============================================================================
--- 
openmeetings/branches/3.0.x/src/web/java/org/apache/openmeetings/web/user/rooms/RoomPanel.java
 (original)
+++ 
openmeetings/branches/3.0.x/src/web/java/org/apache/openmeetings/web/user/rooms/RoomPanel.java
 Thu Sep 11 06:50:13 2014
@@ -19,8 +19,11 @@
 package org.apache.openmeetings.web.user.rooms;
 
 
+import org.apache.openmeetings.web.app.WebSession;
 import org.apache.openmeetings.web.common.BasePanel;
 import org.apache.wicket.RuntimeConfigurationType;
+import org.apache.wicket.ajax.AbstractAjaxTimerBehavior;
+import org.apache.wicket.ajax.AjaxRequestTarget;
 import org.apache.wicket.markup.head.CssHeaderItem;
 import org.apache.wicket.markup.head.IHeaderResponse;
 import org.apache.wicket.markup.head.JavaScriptHeaderItem;
@@ -31,6 +34,7 @@ import org.apache.wicket.request.mapper.
 import org.apache.wicket.request.resource.JavaScriptResourceReference;
 import org.apache.wicket.request.resource.ResourceReference;
 import org.apache.wicket.util.string.StringValue;
+import org.apache.wicket.util.time.Duration;
 
 public class RoomPanel extends BasePanel {
        private static final long serialVersionUID = 2308988314987829510L;
@@ -51,6 +55,14 @@ public class RoomPanel extends BasePanel
                String swf = (swfVal.isEmpty() ? getFlashFile() : 
swfVal.toString())
                                + new 
PageParametersEncoder().encodePageParameters(pp);
                add(new Label("init", String.format("initSwf('%s');", 
swf)).setEscapeModelStrings(false));
+               add(new AbstractAjaxTimerBehavior(Duration.minutes(5)) {
+                       private static final long serialVersionUID = 1L;
+
+                       @Override
+                       protected void onTimer(AjaxRequestTarget target) {
+                               WebSession.getString(1L); //dummy call to keep 
session alive
+                       }
+               });
        }
 
        private ResourceReference newResourceReference() {


Reply via email to