Author: solomax
Date: Mon Aug 22 15:04:17 2016
New Revision: 1757191

URL: http://svn.apache.org/viewvc?rev=1757191&view=rev
Log:
[OPENMEETINGS-1138] single 'hash' page is created (initial commit)

Added:
    
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/HashPage.html
      - copied unchanged from r1757190, 
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/RecordingPage.html
    
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/HashPage.java
      - copied, changed from r1757190, 
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/RecordingPage.java
    
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/SwfPanel.html
      - copied unchanged from r1757190, 
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomPanel.html
    
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/SwfPanel.java
      - copied, changed from r1757190, 
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomPanel.java
    
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/menu/
    
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/menu/RoomInvitationForm.html
      - copied unchanged from r1757190, 
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomInvitationForm.html
    
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/menu/RoomInvitationForm.java
      - copied, changed from r1757190, 
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomInvitationForm.java
    
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/HashPage.html
      - copied unchanged from r1757190, 
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/RecordingPage.html
    
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/HashPage.java
      - copied, changed from r1757190, 
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/RecordingPage.java
    
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/HashPage.html
      - copied unchanged from r1757190, 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/RecordingPage.html
    
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/HashPage.java
      - copied, changed from r1757190, 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/RecordingPage.java
Removed:
    
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/RecordingPage.html
    
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/RecordingPage.java
    
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/SwfPage.html
    
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/SwfPage.java
    
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomInvitationForm.html
    
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomInvitationForm.java
    
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomPanel.html
    
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomPanel.java
    
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/RecordingPage.html
    
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/RecordingPage.java
    
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/SwfPage.html
    
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/SwfPage.java
    
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/RecordingPage.html
    
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/RecordingPage.java
    
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/SwfPage.html
    
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/SwfPage.java
Modified:
    
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application.java
    
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/WebSession.java
    
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/auth/SignInDialog.java
    
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/StartSharingEventBehavior.java
    
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/ChatPanel.java
    
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/dashboard/WelcomeWidgetView.java
    
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/util/OmUrlFragment.java
    
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application.java
    
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/WebSession.java
    
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/auth/SignInDialog.java
    
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/dashboard/WelcomeWidgetView.java
    
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application.java
    
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/WebSession.java
    
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/auth/SignInDialog.java
    
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/dashboard/WelcomeWidgetView.java

Modified: 
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application.java
URL: 
http://svn.apache.org/viewvc/openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application.java?rev=1757191&r1=1757190&r2=1757191&view=diff
==============================================================================
--- 
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application.java
 (original)
+++ 
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application.java
 Mon Aug 22 15:04:17 2016
@@ -53,11 +53,10 @@ import org.apache.openmeetings.db.entity
 import org.apache.openmeetings.db.entity.user.User.Type;
 import org.apache.openmeetings.util.InitializationContainer;
 import org.apache.openmeetings.web.pages.ActivatePage;
+import org.apache.openmeetings.web.pages.HashPage;
 import org.apache.openmeetings.web.pages.MainPage;
 import org.apache.openmeetings.web.pages.NotInitedPage;
-import org.apache.openmeetings.web.pages.RecordingPage;
 import org.apache.openmeetings.web.pages.ResetPage;
-import org.apache.openmeetings.web.pages.SwfPage;
 import org.apache.openmeetings.web.pages.auth.SignInPage;
 import org.apache.openmeetings.web.pages.install.InstallWizardPage;
 import org.apache.openmeetings.web.user.dashboard.MyRoomsWidgetDescriptor;
@@ -143,13 +142,13 @@ public class Application extends Authent
                
                getRootRequestMapperAsCompound().add(new 
NoVersionMapper(getHomePage()));
                getRootRequestMapperAsCompound().add(new 
NoVersionMapper("notinited", NotInitedPage.class));
-               getRootRequestMapperAsCompound().add(new NoVersionMapper("swf", 
SwfPage.class));
+               getRootRequestMapperAsCompound().add(new NoVersionMapper("swf", 
HashPage.class));
+               getRootRequestMapperAsCompound().add(new 
NoVersionMapper("recording/${hash}", HashPage.class));
+               getRootRequestMapperAsCompound().add(new 
NoVersionMapper("hash", HashPage.class));
                getRootRequestMapperAsCompound().add(new 
NoVersionMapper("signin", getSignInPageClass()));
                mountPage("install", InstallWizardPage.class);
                mountPage("activate", ActivatePage.class);
                mountPage("reset", ResetPage.class);
-               mountPage("/recording/${hash}", RecordingPage.class);
-               mountPage("/recording", RecordingPage.class);
                mountResource("/recordings/avi/${id}", new 
AviRecordingResourceReference());
                mountResource("/recordings/flv/${id}", new 
FlvRecordingResourceReference());
                mountResource("/recordings/mp4/${id}", new 
Mp4RecordingResourceReference());
@@ -455,14 +454,14 @@ public class Application extends Authent
                                if (u.getLanguageId() > 0) {
                                        pp.add("language", u.getLanguageId());
                                }
-                               link = urlForPage(MainPage.class, pp);
+                               link = urlForPage(HashPage.class, pp);
                        } else {
                                link = getRoomUrlFragment(r.getId()).getLink();
                        }
                }
                Recording rec = i.getRecording();
                if (rec != null) {
-                       link = urlForPage(RecordingPage.class, new 
PageParameters().add(INVITATION_HASH, i.getHash()));
+                       link = urlForPage(HashPage.class, new 
PageParameters().add(INVITATION_HASH, i.getHash()));
                }
                return link;
        }

Modified: 
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/WebSession.java
URL: 
http://svn.apache.org/viewvc/openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/WebSession.java?rev=1757191&r1=1757190&r2=1757191&view=diff
==============================================================================
--- 
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/WebSession.java
 (original)
+++ 
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/WebSession.java
 Mon Aug 22 15:04:17 2016
@@ -61,8 +61,6 @@ import org.apache.openmeetings.db.entity
 import org.apache.openmeetings.db.entity.user.User.Type;
 import org.apache.openmeetings.db.util.TimezoneUtil;
 import org.apache.openmeetings.util.OmException;
-import org.apache.openmeetings.web.pages.RecordingPage;
-import org.apache.openmeetings.web.pages.SwfPage;
 import org.apache.openmeetings.web.user.dashboard.MyRoomsWidget;
 import org.apache.openmeetings.web.user.dashboard.MyRoomsWidgetDescriptor;
 import org.apache.openmeetings.web.user.dashboard.RssWidget;
@@ -73,15 +71,10 @@ import org.apache.openmeetings.web.user.
 import org.apache.openmeetings.web.user.dashboard.admin.AdminWidgetDescriptor;
 import org.apache.openmeetings.web.util.OmUrlFragment;
 import org.apache.openmeetings.web.util.UserDashboard;
-import org.apache.wicket.RestartResponseException;
 import org.apache.wicket.authentication.IAuthenticationStrategy;
 import 
org.apache.wicket.authroles.authentication.AbstractAuthenticatedWebSession;
 import org.apache.wicket.authroles.authorization.strategies.role.Roles;
-import org.apache.wicket.core.request.handler.PageProvider;
-import 
org.apache.wicket.core.request.handler.RenderPageRequestHandler.RedirectPolicy;
-import org.apache.wicket.request.IRequestParameters;
 import org.apache.wicket.request.Request;
-import org.apache.wicket.request.cycle.RequestCycle;
 import org.apache.wicket.request.mapper.parameter.PageParameters;
 import org.apache.wicket.util.string.StringValue;
 import org.apache.wicket.util.string.Strings;
@@ -141,23 +134,8 @@ public class WebSession extends Abstract
                browserLocale = null;
        }
 
-       private PageParameters getParams(IRequestParameters params, 
PageParameters pp) {
-               for (String p : params.getParameterNames()) {
-                       List<StringValue> vals = params.getParameterValues(p);
-                       if (vals != null) {
-                               for (StringValue sv : vals) {
-                                       if (!sv.isEmpty()) {
-                                               pp.add(p, sv.toString());
-                                       }
-                               }
-                       }
-               }
-               return pp;
-       }
-
        @Override
        public Roles getRoles() {
-               checkHashes();
                if (rights.isEmpty()) {
                        isSignedIn();
                }
@@ -191,11 +169,9 @@ public class WebSession extends Abstract
                return userId != null && userId.longValue() > 0;
        }
 
-       public void checkHashes() {
-               IRequestParameters params = 
RequestCycle.get().getRequest().getRequestParameters();
-               StringValue secureHash = params.getParameterValue(SECURE_HASH);
-               StringValue invitationHash = 
params.getParameterValue(INVITATION_HASH);
-               PageParameters pp = new PageParameters();
+       public void checkHashes(PageParameters params) {
+               StringValue secureHash = params.get(SECURE_HASH);
+               StringValue invitationHash = params.get(INVITATION_HASH);
                try {
                        if (!secureHash.isEmpty()) {
                                if (isSignedIn()) {
@@ -224,16 +200,6 @@ public class WebSession extends Abstract
                                        }
                                }
                        }
-                       if (!secureHash.isEmpty() || !invitationHash.isEmpty()) 
{
-                               if (roomId != null) {
-                                       getParams(params, 
pp).add(WICKET_ROOM_ID, roomId);
-                                       throw new RestartResponseException(new 
PageProvider(SwfPage.class, pp), RedirectPolicy.ALWAYS_REDIRECT);
-                               } else if (recordingId != null){
-                                       throw new RestartResponseException(new 
PageProvider(RecordingPage.class, pp), RedirectPolicy.ALWAYS_REDIRECT);
-                               }
-                       }
-               } catch (RestartResponseException e) {
-                       throw e;
                } catch (Exception e) {
                        //no-op, will continue to sign-in page
                }

Copied: 
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/HashPage.java
 (from r1757190, 
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/RecordingPage.java)
URL: 
http://svn.apache.org/viewvc/openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/HashPage.java?p2=openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/HashPage.java&p1=openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/RecordingPage.java&r1=1757190&r2=1757191&rev=1757191&view=diff
==============================================================================
--- 
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/RecordingPage.java
 (original)
+++ 
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/HashPage.java
 Mon Aug 22 15:04:17 2016
@@ -33,12 +33,12 @@ import org.apache.wicket.request.IReques
 import org.apache.wicket.request.mapper.parameter.PageParameters;
 import org.apache.wicket.util.string.StringValue;
 
-public class RecordingPage extends BaseInitedPage implements IUpdatable {
+public class HashPage extends BaseInitedPage implements IUpdatable {
        private static final long serialVersionUID = 1L;
        private final VideoInfo vi = new VideoInfo("info", null);
        private final VideoPlayer vp = new VideoPlayer("player", null);
 
-       public RecordingPage(PageParameters p) {
+       public HashPage(PageParameters p) {
                WebSession ws = WebSession.get();
                StringValue hash = p.get("hash");
                Recording r = null;

Modified: 
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/auth/SignInDialog.java
URL: 
http://svn.apache.org/viewvc/openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/auth/SignInDialog.java?rev=1757191&r1=1757190&r2=1757191&view=diff
==============================================================================
--- 
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/auth/SignInDialog.java
 (original)
+++ 
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/auth/SignInDialog.java
 Mon Aug 22 15:04:17 2016
@@ -38,8 +38,8 @@ import org.apache.openmeetings.db.entity
 import org.apache.openmeetings.web.app.Application;
 import org.apache.openmeetings.web.app.OmAuthenticationStrategy;
 import org.apache.openmeetings.web.app.WebSession;
-import org.apache.openmeetings.web.pages.SwfPage;
-import org.apache.openmeetings.web.room.RoomPanel;
+import org.apache.openmeetings.web.pages.HashPage;
+import org.apache.openmeetings.web.room.SwfPanel;
 import org.apache.wicket.AttributeModifier;
 import org.apache.wicket.RestartResponseException;
 import org.apache.wicket.ajax.AjaxClientInfoBehavior;
@@ -245,7 +245,7 @@ public class SignInDialog extends Abstra
 
                                @Override
                                public void onClick() {
-                                       setResponsePage(SwfPage.class, new 
PageParameters().add("swf", RoomPanel.SWF_TYPE_NETWORK));
+                                       setResponsePage(HashPage.class, new 
PageParameters().add("swf", SwfPanel.SWF_TYPE_NETWORK));
                                }
                        });
                        add(new WebMarkupContainer("oauthContainer").add(

Modified: 
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/StartSharingEventBehavior.java
URL: 
http://svn.apache.org/viewvc/openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/StartSharingEventBehavior.java?rev=1757191&r1=1757190&r2=1757191&view=diff
==============================================================================
--- 
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/StartSharingEventBehavior.java
 (original)
+++ 
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/StartSharingEventBehavior.java
 Mon Aug 22 15:04:17 2016
@@ -26,7 +26,7 @@ import static org.apache.openmeetings.ut
 import static org.apache.openmeetings.web.app.Application.getBean;
 import static org.apache.openmeetings.web.app.WebSession.getLanguage;
 import static org.apache.openmeetings.web.room.RoomBroadcaster.getClient;
-import static org.apache.openmeetings.web.room.RoomPanel.PARAM_PUBLIC_SID;
+import static org.apache.openmeetings.web.room.SwfPanel.PARAM_PUBLIC_SID;
 import static org.apache.openmeetings.web.util.CallbackFunctionHelper.getParam;
 
 import java.io.File;

Copied: 
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/SwfPanel.java
 (from r1757190, 
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomPanel.java)
URL: 
http://svn.apache.org/viewvc/openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/SwfPanel.java?p2=openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/SwfPanel.java&p1=openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomPanel.java&r1=1757190&r2=1757191&rev=1757191&view=diff
==============================================================================
--- 
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomPanel.java
 (original)
+++ 
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/SwfPanel.java
 Mon Aug 22 15:04:17 2016
@@ -45,6 +45,7 @@ import org.apache.openmeetings.web.app.A
 import org.apache.openmeetings.web.app.WebSession;
 import org.apache.openmeetings.web.common.BasePanel;
 import org.apache.openmeetings.web.common.InvitationDialog;
+import org.apache.openmeetings.web.room.menu.RoomInvitationForm;
 import org.apache.openmeetings.web.room.poll.CreatePollDialog;
 import org.apache.openmeetings.web.room.poll.PollResultsDialog;
 import org.apache.openmeetings.web.room.poll.VoteDialog;
@@ -70,11 +71,11 @@ import org.apache.wicket.util.time.Durat
 import org.red5.logging.Red5LoggerFactory;
 import org.slf4j.Logger;
 
-public class RoomPanel extends BasePanel {
+public class SwfPanel extends BasePanel {
        private static final long serialVersionUID = 1L;
+       private static final Logger log = 
Red5LoggerFactory.getLogger(SwfPanel.class, webAppRootKey);
        public static final String PARAM_PUBLIC_SID = "publicSid";
        public static final String SWF_TYPE_NETWORK = "network";
-       private static final Logger log = 
Red5LoggerFactory.getLogger(RoomPanel.class, webAppRootKey);
        private final InvitationDialog invite;
        private final CreatePollDialog createPoll;
        private final VoteDialog vote;
@@ -82,47 +83,11 @@ public class RoomPanel extends BasePanel
        private final StartSharingEventBehavior startSharing;
        private Long roomId = null;
        
-       private static PageParameters addServer(PageParameters pp, Server s) {
-               return pp.add("protocol", s.getProtocol()).add("host", 
s.getAddress()).add("port", s.getPort()).add("context", s.getWebapp());
-       }
-       
-       public static PageParameters addServer(Long roomId, boolean addBasic) {
-               PageParameters pp = new PageParameters();
-               if (addBasic) {
-                       pp.add("wicketsid", getSid()).add(WICKET_ROOM_ID, 
roomId).add("language", getLanguage());
-               }
-               List<Server> serverList = 
getBean(ServerDao.class).getActiveServers();
-
-               long minimum = -1;
-               Server result = null;
-               HashMap<Server, List<Long>> activeRoomsMap = new 
HashMap<Server, List<Long>>();
-               for (Server server : serverList) {
-                       List<Long> roomIds = 
getBean(SessionManager.class).getActiveRoomIdsByServer(server);
-                       if (roomIds.contains(roomId)) {
-                               // if the room is already opened on a server, 
redirect the user to that one,
-                               log.debug("Room is already opened on a server " 
+ server.getAddress());
-                               return addServer(pp, server);
-                       }
-                       activeRoomsMap.put(server, roomIds);
-               }
-               for (Map.Entry<Server, List<Long>> entry : 
activeRoomsMap.entrySet()) {
-                       List<Long> roomIds = entry.getValue();
-                       long capacity = 
getBean(RoomDao.class).getRoomsCapacityByIds(roomIds);
-                       if (minimum < 0 || capacity < minimum) {
-                               minimum = capacity;
-                               result = entry.getKey();
-                       }
-                       log.debug("Checking server: " + entry.getKey() + " 
Number of rooms " + roomIds.size() + " RoomIds: "
-                                       + roomIds + " max(Sum): " + capacity);
-               }
-               return result == null ? pp : addServer(pp, result);
-       }
-
-       public RoomPanel(String id, Long roomId) {
+       public SwfPanel(String id, Long roomId) {
                this(id, addServer(roomId, true));
        }
        
-       public RoomPanel(String id, PageParameters pp) {
+       public SwfPanel(String id, PageParameters pp) {
                super(id);
                //OK let's find the room
                try {
@@ -257,7 +222,7 @@ public class RoomPanel extends BasePanel
        }
        
        private static ResourceReference newResourceReference() {
-               return new JavaScriptResourceReference(RoomPanel.class, 
"swf-functions.js");
+               return new JavaScriptResourceReference(SwfPanel.class, 
"swf-functions.js");
        }
        
        @Override
@@ -269,10 +234,10 @@ public class RoomPanel extends BasePanel
                response.render(new 
PriorityHeaderItem(CssHeaderItem.forUrl("css/history.css")));
                //FIXME TODO ugly HACK
                if 
(WebSession.get().getClientInfo().getProperties().isBrowserMozillaFirefox()) {
-                       response.render(new 
PriorityHeaderItem(CssHeaderItem.forCSS(".ui-widget-overlay{opacity: 1 
!important;}", "linux-ff-veil-hack")));
+                       response.render(new 
PriorityHeaderItem(CssHeaderItem.forCSS(".ui-widget-overlay{opacity: 1 
!important;}", "ff-veil-hack")));
                }
        }
-       
+
        public String getInitFunction(PageParameters pp) {
                String initStr = null;
                String swf = getFlashFile(pp);
@@ -300,6 +265,42 @@ public class RoomPanel extends BasePanel
                return arr.toString();
        }
 
+       private static PageParameters addServer(PageParameters pp, Server s) {
+               return pp.add("protocol", s.getProtocol()).add("host", 
s.getAddress()).add("port", s.getPort()).add("context", s.getWebapp());
+       }
+       
+       public static PageParameters addServer(Long roomId, boolean addBasic) {
+               PageParameters pp = new PageParameters();
+               if (addBasic) {
+                       pp.add("wicketsid", getSid()).add(WICKET_ROOM_ID, 
roomId).add("language", getLanguage());
+               }
+               List<Server> serverList = 
getBean(ServerDao.class).getActiveServers();
+
+               long minimum = -1;
+               Server result = null;
+               HashMap<Server, List<Long>> activeRoomsMap = new 
HashMap<Server, List<Long>>();
+               for (Server server : serverList) {
+                       List<Long> roomIds = 
getBean(SessionManager.class).getActiveRoomIdsByServer(server);
+                       if (roomIds.contains(roomId)) {
+                               // if the room is already opened on a server, 
redirect the user to that one,
+                               log.debug("Room is already opened on a server " 
+ server.getAddress());
+                               return addServer(pp, server);
+                       }
+                       activeRoomsMap.put(server, roomIds);
+               }
+               for (Map.Entry<Server, List<Long>> entry : 
activeRoomsMap.entrySet()) {
+                       List<Long> roomIds = entry.getValue();
+                       long capacity = 
getBean(RoomDao.class).getRoomsCapacityByIds(roomIds);
+                       if (minimum < 0 || capacity < minimum) {
+                               minimum = capacity;
+                               result = entry.getKey();
+                       }
+                       log.debug("Checking server: " + entry.getKey() + " 
Number of rooms " + roomIds.size() + " RoomIds: "
+                                       + roomIds + " max(Sum): " + capacity);
+               }
+               return result == null ? pp : addServer(pp, result);
+       }
+
        private String getPublicSid() {
                return 
getRequest().getRequestParameters().getParameterValue(PARAM_PUBLIC_SID).toString();
        }

Copied: 
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/menu/RoomInvitationForm.java
 (from r1757190, 
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomInvitationForm.java)
URL: 
http://svn.apache.org/viewvc/openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/menu/RoomInvitationForm.java?p2=openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/menu/RoomInvitationForm.java&p1=openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomInvitationForm.java&r1=1757190&r2=1757191&rev=1757191&view=diff
==============================================================================
--- 
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomInvitationForm.java
 (original)
+++ 
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/menu/RoomInvitationForm.java
 Mon Aug 22 15:04:17 2016
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package org.apache.openmeetings.web.room;
+package org.apache.openmeetings.web.room.menu;
 
 import static org.apache.openmeetings.util.OpenmeetingsVariables.webAppRootKey;
 import static org.apache.openmeetings.web.app.Application.getBean;

Modified: 
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/ChatPanel.java
URL: 
http://svn.apache.org/viewvc/openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/ChatPanel.java?rev=1757191&r1=1757190&r2=1757191&view=diff
==============================================================================
--- 
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/ChatPanel.java
 (original)
+++ 
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/ChatPanel.java
 Mon Aug 22 15:04:17 2016
@@ -25,7 +25,7 @@ import static org.apache.openmeetings.we
 import static org.apache.openmeetings.web.app.Application.isUserInRoom;
 import static org.apache.openmeetings.web.app.WebSession.getDateFormat;
 import static org.apache.openmeetings.web.app.WebSession.getUserId;
-import static org.apache.openmeetings.web.room.RoomPanel.isModerator;
+import static org.apache.openmeetings.web.room.SwfPanel.isModerator;
 import static 
org.apache.openmeetings.web.util.CallbackFunctionHelper.getNamedFunction;
 import static 
org.apache.openmeetings.web.util.ProfileImageResourceReference.getUrl;
 import static org.apache.wicket.ajax.attributes.CallbackParameter.explicit;

Modified: 
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/dashboard/WelcomeWidgetView.java
URL: 
http://svn.apache.org/viewvc/openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/dashboard/WelcomeWidgetView.java?rev=1757191&r1=1757190&r2=1757191&view=diff
==============================================================================
--- 
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/dashboard/WelcomeWidgetView.java
 (original)
+++ 
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/dashboard/WelcomeWidgetView.java
 Mon Aug 22 15:04:17 2016
@@ -28,9 +28,9 @@ import org.apache.openmeetings.db.dao.us
 import org.apache.openmeetings.db.dao.user.UserDao;
 import org.apache.openmeetings.db.entity.user.User;
 import org.apache.openmeetings.web.common.UploadableProfileImagePanel;
+import org.apache.openmeetings.web.pages.HashPage;
 import org.apache.openmeetings.web.pages.MainPage;
-import org.apache.openmeetings.web.pages.SwfPage;
-import org.apache.openmeetings.web.room.RoomPanel;
+import org.apache.openmeetings.web.room.SwfPanel;
 import org.apache.wicket.ajax.AjaxRequestTarget;
 import org.apache.wicket.ajax.markup.html.AjaxLink;
 import org.apache.wicket.markup.html.basic.Label;
@@ -73,7 +73,7 @@ public class WelcomeWidgetView extends W
 
                        @Override
                        public void onClick() {
-                               setResponsePage(SwfPage.class, new 
PageParameters().add("swf", RoomPanel.SWF_TYPE_NETWORK));
+                               setResponsePage(HashPage.class, new 
PageParameters().add("swf", SwfPanel.SWF_TYPE_NETWORK));
                        }
                });
        }

Modified: 
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/util/OmUrlFragment.java
URL: 
http://svn.apache.org/viewvc/openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/util/OmUrlFragment.java?rev=1757191&r1=1757190&r2=1757191&view=diff
==============================================================================
--- 
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/util/OmUrlFragment.java
 (original)
+++ 
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/util/OmUrlFragment.java
 Mon Aug 22 15:04:17 2016
@@ -40,7 +40,7 @@ import org.apache.openmeetings.web.admin
 import org.apache.openmeetings.web.admin.servers.ServersPanel;
 import org.apache.openmeetings.web.admin.users.UsersPanel;
 import org.apache.openmeetings.web.common.BasePanel;
-import org.apache.openmeetings.web.room.RoomPanel;
+import org.apache.openmeetings.web.room.SwfPanel;
 import org.apache.openmeetings.web.user.calendar.CalendarPanel;
 import org.apache.openmeetings.web.user.dashboard.OmDashboardPanel;
 import org.apache.openmeetings.web.user.profile.SettingsPanel;
@@ -269,7 +269,7 @@ public class OmUrlFragment implements Se
                                        Long roomId = Long.valueOf(type);
                                        Room r = 
getBean(RoomDao.class).get(roomId);
                                        if (r != null) {
-                                               basePanel = new 
RoomPanel(CHILD_ID, roomId);
+                                               basePanel = new 
SwfPanel(CHILD_ID, roomId);
                                        }
                                } catch(NumberFormatException ne) {
                                        //skip it, bad roomid passed

Modified: 
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application.java
URL: 
http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application.java?rev=1757191&r1=1757190&r2=1757191&view=diff
==============================================================================
--- 
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application.java
 (original)
+++ 
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application.java
 Mon Aug 22 15:04:17 2016
@@ -50,11 +50,10 @@ import org.apache.openmeetings.db.entity
 import org.apache.openmeetings.db.entity.user.User.Type;
 import org.apache.openmeetings.util.InitializationContainer;
 import org.apache.openmeetings.web.pages.ActivatePage;
+import org.apache.openmeetings.web.pages.HashPage;
 import org.apache.openmeetings.web.pages.MainPage;
 import org.apache.openmeetings.web.pages.NotInitedPage;
-import org.apache.openmeetings.web.pages.RecordingPage;
 import org.apache.openmeetings.web.pages.ResetPage;
-import org.apache.openmeetings.web.pages.SwfPage;
 import org.apache.openmeetings.web.pages.auth.SignInPage;
 import org.apache.openmeetings.web.pages.install.InstallWizardPage;
 import org.apache.openmeetings.web.room.RoomResourceReference;
@@ -141,13 +140,13 @@ public class Application extends Authent
                
                getRootRequestMapperAsCompound().add(new 
NoVersionMapper(getHomePage()));
                getRootRequestMapperAsCompound().add(new 
NoVersionMapper("notinited", NotInitedPage.class));
-               getRootRequestMapperAsCompound().add(new NoVersionMapper("swf", 
SwfPage.class));
+               getRootRequestMapperAsCompound().add(new NoVersionMapper("swf", 
HashPage.class));
+               getRootRequestMapperAsCompound().add(new 
NoVersionMapper("recording/${hash}", HashPage.class));
+               getRootRequestMapperAsCompound().add(new 
NoVersionMapper("hash", HashPage.class));
                getRootRequestMapperAsCompound().add(new 
NoVersionMapper("signin", getSignInPageClass()));
                mountPage("install", InstallWizardPage.class);
                mountPage("activate", ActivatePage.class);
                mountPage("reset", ResetPage.class);
-               mountPage("/recording/${hash}", RecordingPage.class);
-               mountPage("/recording", RecordingPage.class);
                mountResource("/recordings/avi/${id}", new 
AviRecordingResourceReference());
                mountResource("/recordings/flv/${id}", new 
FlvRecordingResourceReference());
                mountResource("/recordings/mp4/${id}", new 
Mp4RecordingResourceReference());
@@ -469,14 +468,14 @@ public class Application extends Authent
                                if (u.getLanguageId() > 0) {
                                        pp.add("language", u.getLanguageId());
                                }
-                               link = urlForPage(MainPage.class, pp);
+                               link = urlForPage(HashPage.class, pp);
                        } else {
                                link = getRoomUrlFragment(r.getId()).getLink();
                        }
                }
                Recording rec = i.getRecording();
                if (rec != null) {
-                       link = urlForPage(RecordingPage.class, new 
PageParameters().add(INVITATION_HASH, i.getHash()));
+                       link = urlForPage(HashPage.class, new 
PageParameters().add(INVITATION_HASH, i.getHash()));
                }
                return link;
        }

Modified: 
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/WebSession.java
URL: 
http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/WebSession.java?rev=1757191&r1=1757190&r2=1757191&view=diff
==============================================================================
--- 
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/WebSession.java
 (original)
+++ 
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/WebSession.java
 Mon Aug 22 15:04:17 2016
@@ -61,8 +61,6 @@ import org.apache.openmeetings.db.entity
 import org.apache.openmeetings.db.entity.user.User.Type;
 import org.apache.openmeetings.db.util.TimezoneUtil;
 import org.apache.openmeetings.util.OmException;
-import org.apache.openmeetings.web.pages.RecordingPage;
-import org.apache.openmeetings.web.pages.SwfPage;
 import org.apache.openmeetings.web.user.dashboard.MyRoomsWidget;
 import org.apache.openmeetings.web.user.dashboard.MyRoomsWidgetDescriptor;
 import org.apache.openmeetings.web.user.dashboard.RssWidget;
@@ -73,15 +71,10 @@ import org.apache.openmeetings.web.user.
 import org.apache.openmeetings.web.user.dashboard.admin.AdminWidgetDescriptor;
 import org.apache.openmeetings.web.util.OmUrlFragment;
 import org.apache.openmeetings.web.util.UserDashboard;
-import org.apache.wicket.RestartResponseException;
 import org.apache.wicket.authentication.IAuthenticationStrategy;
 import 
org.apache.wicket.authroles.authentication.AbstractAuthenticatedWebSession;
 import org.apache.wicket.authroles.authorization.strategies.role.Roles;
-import org.apache.wicket.core.request.handler.PageProvider;
-import 
org.apache.wicket.core.request.handler.RenderPageRequestHandler.RedirectPolicy;
-import org.apache.wicket.request.IRequestParameters;
 import org.apache.wicket.request.Request;
-import org.apache.wicket.request.cycle.RequestCycle;
 import org.apache.wicket.request.mapper.parameter.PageParameters;
 import org.apache.wicket.util.string.StringValue;
 import org.apache.wicket.util.string.Strings;
@@ -141,23 +134,8 @@ public class WebSession extends Abstract
                browserLocale = null;
        }
 
-       private PageParameters getParams(IRequestParameters params, 
PageParameters pp) {
-               for (String p : params.getParameterNames()) {
-                       List<StringValue> vals = params.getParameterValues(p);
-                       if (vals != null) {
-                               for (StringValue sv : vals) {
-                                       if (!sv.isEmpty()) {
-                                               pp.add(p, sv.toString());
-                                       }
-                               }
-                       }
-               }
-               return pp;
-       }
-
        @Override
        public Roles getRoles() {
-               checkHashes();
                if (rights.isEmpty()) {
                        isSignedIn();
                }
@@ -191,11 +169,9 @@ public class WebSession extends Abstract
                return userId != null && userId.longValue() > 0;
        }
 
-       public void checkHashes() {
-               IRequestParameters params = 
RequestCycle.get().getRequest().getRequestParameters();
-               StringValue secureHash = params.getParameterValue(SECURE_HASH);
-               StringValue invitationHash = 
params.getParameterValue(INVITATION_HASH);
-               PageParameters pp = new PageParameters();
+       public void checkHashes(PageParameters params) {
+               StringValue secureHash = params.get(SECURE_HASH);
+               StringValue invitationHash = params.get(INVITATION_HASH);
                try {
                        if (!secureHash.isEmpty()) {
                                if (isSignedIn()) {
@@ -224,16 +200,6 @@ public class WebSession extends Abstract
                                        }
                                }
                        }
-                       if (!secureHash.isEmpty() || !invitationHash.isEmpty()) 
{
-                               if (roomId != null) {
-                                       getParams(params, 
pp).add(WICKET_ROOM_ID, roomId);
-                                       throw new RestartResponseException(new 
PageProvider(SwfPage.class, pp), RedirectPolicy.ALWAYS_REDIRECT);
-                               } else if (recordingId != null){
-                                       throw new RestartResponseException(new 
PageProvider(RecordingPage.class, pp), RedirectPolicy.ALWAYS_REDIRECT);
-                               }
-                       }
-               } catch (RestartResponseException e) {
-                       throw e;
                } catch (Exception e) {
                        //no-op, will continue to sign-in page
                }

Copied: 
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/HashPage.java
 (from r1757190, 
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/RecordingPage.java)
URL: 
http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/HashPage.java?p2=openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/HashPage.java&p1=openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/RecordingPage.java&r1=1757190&r2=1757191&rev=1757191&view=diff
==============================================================================
--- 
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/RecordingPage.java
 (original)
+++ 
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/HashPage.java
 Mon Aug 22 15:04:17 2016
@@ -33,12 +33,12 @@ import org.apache.wicket.request.IReques
 import org.apache.wicket.request.mapper.parameter.PageParameters;
 import org.apache.wicket.util.string.StringValue;
 
-public class RecordingPage extends BaseInitedPage implements IUpdatable {
+public class HashPage extends BaseInitedPage implements IUpdatable {
        private static final long serialVersionUID = 1L;
        private final VideoInfo vi = new VideoInfo("info", null);
        private final VideoPlayer vp = new VideoPlayer("player", null);
 
-       public RecordingPage(PageParameters p) {
+       public HashPage(PageParameters p) {
                WebSession ws = WebSession.get();
                StringValue hash = p.get("hash");
                Recording r = null;

Modified: 
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/auth/SignInDialog.java
URL: 
http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/auth/SignInDialog.java?rev=1757191&r1=1757190&r2=1757191&view=diff
==============================================================================
--- 
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/auth/SignInDialog.java
 (original)
+++ 
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/auth/SignInDialog.java
 Mon Aug 22 15:04:17 2016
@@ -38,7 +38,7 @@ import org.apache.openmeetings.db.entity
 import org.apache.openmeetings.web.app.Application;
 import org.apache.openmeetings.web.app.OmAuthenticationStrategy;
 import org.apache.openmeetings.web.app.WebSession;
-import org.apache.openmeetings.web.pages.SwfPage;
+import org.apache.openmeetings.web.pages.HashPage;
 import org.apache.openmeetings.web.room.SwfPanel;
 import org.apache.wicket.AttributeModifier;
 import org.apache.wicket.RestartResponseException;
@@ -245,7 +245,7 @@ public class SignInDialog extends Abstra
 
                                @Override
                                public void onClick() {
-                                       setResponsePage(SwfPage.class, new 
PageParameters().add("swf", SwfPanel.SWF_TYPE_NETWORK));
+                                       setResponsePage(HashPage.class, new 
PageParameters().add("swf", SwfPanel.SWF_TYPE_NETWORK));
                                }
                        });
                        add(new WebMarkupContainer("oauthContainer").add(

Modified: 
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/dashboard/WelcomeWidgetView.java
URL: 
http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/dashboard/WelcomeWidgetView.java?rev=1757191&r1=1757190&r2=1757191&view=diff
==============================================================================
--- 
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/dashboard/WelcomeWidgetView.java
 (original)
+++ 
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/dashboard/WelcomeWidgetView.java
 Mon Aug 22 15:04:17 2016
@@ -28,8 +28,8 @@ import org.apache.openmeetings.db.dao.us
 import org.apache.openmeetings.db.dao.user.UserDao;
 import org.apache.openmeetings.db.entity.user.User;
 import org.apache.openmeetings.web.common.UploadableProfileImagePanel;
+import org.apache.openmeetings.web.pages.HashPage;
 import org.apache.openmeetings.web.pages.MainPage;
-import org.apache.openmeetings.web.pages.SwfPage;
 import org.apache.openmeetings.web.room.SwfPanel;
 import org.apache.wicket.ajax.AjaxRequestTarget;
 import org.apache.wicket.ajax.markup.html.AjaxLink;
@@ -73,7 +73,7 @@ public class WelcomeWidgetView extends W
 
                        @Override
                        public void onClick() {
-                               setResponsePage(SwfPage.class, new 
PageParameters().add("swf", SwfPanel.SWF_TYPE_NETWORK));
+                               setResponsePage(HashPage.class, new 
PageParameters().add("swf", SwfPanel.SWF_TYPE_NETWORK));
                        }
                });
        }

Modified: 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application.java
URL: 
http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application.java?rev=1757191&r1=1757190&r2=1757191&view=diff
==============================================================================
--- 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application.java
 (original)
+++ 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application.java
 Mon Aug 22 15:04:17 2016
@@ -50,11 +50,10 @@ import org.apache.openmeetings.db.entity
 import org.apache.openmeetings.db.entity.user.User.Type;
 import org.apache.openmeetings.util.InitializationContainer;
 import org.apache.openmeetings.web.pages.ActivatePage;
+import org.apache.openmeetings.web.pages.HashPage;
 import org.apache.openmeetings.web.pages.MainPage;
 import org.apache.openmeetings.web.pages.NotInitedPage;
-import org.apache.openmeetings.web.pages.RecordingPage;
 import org.apache.openmeetings.web.pages.ResetPage;
-import org.apache.openmeetings.web.pages.SwfPage;
 import org.apache.openmeetings.web.pages.auth.SignInPage;
 import org.apache.openmeetings.web.pages.install.InstallWizardPage;
 import org.apache.openmeetings.web.room.RoomResourceReference;
@@ -141,13 +140,13 @@ public class Application extends Authent
                
                getRootRequestMapperAsCompound().add(new 
NoVersionMapper(getHomePage()));
                getRootRequestMapperAsCompound().add(new 
NoVersionMapper("notinited", NotInitedPage.class));
-               getRootRequestMapperAsCompound().add(new NoVersionMapper("swf", 
SwfPage.class));
+               getRootRequestMapperAsCompound().add(new NoVersionMapper("swf", 
HashPage.class));
+               getRootRequestMapperAsCompound().add(new 
NoVersionMapper("recording/${hash}", HashPage.class));
+               getRootRequestMapperAsCompound().add(new 
NoVersionMapper("hash", HashPage.class));
                getRootRequestMapperAsCompound().add(new 
NoVersionMapper("signin", getSignInPageClass()));
                mountPage("install", InstallWizardPage.class);
                mountPage("activate", ActivatePage.class);
                mountPage("reset", ResetPage.class);
-               mountPage("/recording/${hash}", RecordingPage.class);
-               mountPage("/recording", RecordingPage.class);
                mountResource("/recordings/avi/${id}", new 
AviRecordingResourceReference());
                mountResource("/recordings/flv/${id}", new 
FlvRecordingResourceReference());
                mountResource("/recordings/mp4/${id}", new 
Mp4RecordingResourceReference());
@@ -469,14 +468,14 @@ public class Application extends Authent
                                if (u.getLanguageId() > 0) {
                                        pp.add("language", u.getLanguageId());
                                }
-                               link = urlForPage(MainPage.class, pp);
+                               link = urlForPage(HashPage.class, pp);
                        } else {
                                link = getRoomUrlFragment(r.getId()).getLink();
                        }
                }
                Recording rec = i.getRecording();
                if (rec != null) {
-                       link = urlForPage(RecordingPage.class, new 
PageParameters().add(INVITATION_HASH, i.getHash()));
+                       link = urlForPage(HashPage.class, new 
PageParameters().add(INVITATION_HASH, i.getHash()));
                }
                return link;
        }

Modified: 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/WebSession.java
URL: 
http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/WebSession.java?rev=1757191&r1=1757190&r2=1757191&view=diff
==============================================================================
--- 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/WebSession.java
 (original)
+++ 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/WebSession.java
 Mon Aug 22 15:04:17 2016
@@ -61,8 +61,6 @@ import org.apache.openmeetings.db.entity
 import org.apache.openmeetings.db.entity.user.User.Type;
 import org.apache.openmeetings.db.util.TimezoneUtil;
 import org.apache.openmeetings.util.OmException;
-import org.apache.openmeetings.web.pages.RecordingPage;
-import org.apache.openmeetings.web.pages.SwfPage;
 import org.apache.openmeetings.web.user.dashboard.MyRoomsWidget;
 import org.apache.openmeetings.web.user.dashboard.MyRoomsWidgetDescriptor;
 import org.apache.openmeetings.web.user.dashboard.RssWidget;
@@ -73,15 +71,10 @@ import org.apache.openmeetings.web.user.
 import org.apache.openmeetings.web.user.dashboard.admin.AdminWidgetDescriptor;
 import org.apache.openmeetings.web.util.OmUrlFragment;
 import org.apache.openmeetings.web.util.UserDashboard;
-import org.apache.wicket.RestartResponseException;
 import org.apache.wicket.authentication.IAuthenticationStrategy;
 import 
org.apache.wicket.authroles.authentication.AbstractAuthenticatedWebSession;
 import org.apache.wicket.authroles.authorization.strategies.role.Roles;
-import org.apache.wicket.core.request.handler.PageProvider;
-import 
org.apache.wicket.core.request.handler.RenderPageRequestHandler.RedirectPolicy;
-import org.apache.wicket.request.IRequestParameters;
 import org.apache.wicket.request.Request;
-import org.apache.wicket.request.cycle.RequestCycle;
 import org.apache.wicket.request.mapper.parameter.PageParameters;
 import org.apache.wicket.util.string.StringValue;
 import org.apache.wicket.util.string.Strings;
@@ -141,23 +134,8 @@ public class WebSession extends Abstract
                browserLocale = null;
        }
 
-       private PageParameters getParams(IRequestParameters params, 
PageParameters pp) {
-               for (String p : params.getParameterNames()) {
-                       List<StringValue> vals = params.getParameterValues(p);
-                       if (vals != null) {
-                               for (StringValue sv : vals) {
-                                       if (!sv.isEmpty()) {
-                                               pp.add(p, sv.toString());
-                                       }
-                               }
-                       }
-               }
-               return pp;
-       }
-
        @Override
        public Roles getRoles() {
-               checkHashes();
                if (rights.isEmpty()) {
                        isSignedIn();
                }
@@ -191,11 +169,9 @@ public class WebSession extends Abstract
                return userId != null && userId.longValue() > 0;
        }
 
-       public void checkHashes() {
-               IRequestParameters params = 
RequestCycle.get().getRequest().getRequestParameters();
-               StringValue secureHash = params.getParameterValue(SECURE_HASH);
-               StringValue invitationHash = 
params.getParameterValue(INVITATION_HASH);
-               PageParameters pp = new PageParameters();
+       public void checkHashes(PageParameters params) {
+               StringValue secureHash = params.get(SECURE_HASH);
+               StringValue invitationHash = params.get(INVITATION_HASH);
                try {
                        if (!secureHash.isEmpty()) {
                                if (isSignedIn()) {
@@ -224,16 +200,6 @@ public class WebSession extends Abstract
                                        }
                                }
                        }
-                       if (!secureHash.isEmpty() || !invitationHash.isEmpty()) 
{
-                               if (roomId != null) {
-                                       getParams(params, 
pp).add(WICKET_ROOM_ID, roomId);
-                                       throw new RestartResponseException(new 
PageProvider(SwfPage.class, pp), RedirectPolicy.ALWAYS_REDIRECT);
-                               } else if (recordingId != null){
-                                       throw new RestartResponseException(new 
PageProvider(RecordingPage.class, pp), RedirectPolicy.ALWAYS_REDIRECT);
-                               }
-                       }
-               } catch (RestartResponseException e) {
-                       throw e;
                } catch (Exception e) {
                        //no-op, will continue to sign-in page
                }

Copied: 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/HashPage.java
 (from r1757190, 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/RecordingPage.java)
URL: 
http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/HashPage.java?p2=openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/HashPage.java&p1=openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/RecordingPage.java&r1=1757190&r2=1757191&rev=1757191&view=diff
==============================================================================
--- 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/RecordingPage.java
 (original)
+++ 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/HashPage.java
 Mon Aug 22 15:04:17 2016
@@ -33,12 +33,12 @@ import org.apache.wicket.request.IReques
 import org.apache.wicket.request.mapper.parameter.PageParameters;
 import org.apache.wicket.util.string.StringValue;
 
-public class RecordingPage extends BaseInitedPage implements IUpdatable {
+public class HashPage extends BaseInitedPage implements IUpdatable {
        private static final long serialVersionUID = 1L;
        private final VideoInfo vi = new VideoInfo("info", null);
        private final VideoPlayer vp = new VideoPlayer("player", null);
 
-       public RecordingPage(PageParameters p) {
+       public HashPage(PageParameters p) {
                WebSession ws = WebSession.get();
                StringValue hash = p.get("hash");
                Recording r = null;

Modified: 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/auth/SignInDialog.java
URL: 
http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/auth/SignInDialog.java?rev=1757191&r1=1757190&r2=1757191&view=diff
==============================================================================
--- 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/auth/SignInDialog.java
 (original)
+++ 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/auth/SignInDialog.java
 Mon Aug 22 15:04:17 2016
@@ -38,7 +38,7 @@ import org.apache.openmeetings.db.entity
 import org.apache.openmeetings.web.app.Application;
 import org.apache.openmeetings.web.app.OmAuthenticationStrategy;
 import org.apache.openmeetings.web.app.WebSession;
-import org.apache.openmeetings.web.pages.SwfPage;
+import org.apache.openmeetings.web.pages.HashPage;
 import org.apache.openmeetings.web.room.SwfPanel;
 import org.apache.wicket.AttributeModifier;
 import org.apache.wicket.RestartResponseException;
@@ -245,7 +245,7 @@ public class SignInDialog extends Abstra
 
                                @Override
                                public void onClick() {
-                                       setResponsePage(SwfPage.class, new 
PageParameters().add("swf", SwfPanel.SWF_TYPE_NETWORK));
+                                       setResponsePage(HashPage.class, new 
PageParameters().add("swf", SwfPanel.SWF_TYPE_NETWORK));
                                }
                        });
                        add(new WebMarkupContainer("oauthContainer").add(

Modified: 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/dashboard/WelcomeWidgetView.java
URL: 
http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/dashboard/WelcomeWidgetView.java?rev=1757191&r1=1757190&r2=1757191&view=diff
==============================================================================
--- 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/dashboard/WelcomeWidgetView.java
 (original)
+++ 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/dashboard/WelcomeWidgetView.java
 Mon Aug 22 15:04:17 2016
@@ -28,8 +28,8 @@ import org.apache.openmeetings.db.dao.us
 import org.apache.openmeetings.db.dao.user.UserDao;
 import org.apache.openmeetings.db.entity.user.User;
 import org.apache.openmeetings.web.common.UploadableProfileImagePanel;
+import org.apache.openmeetings.web.pages.HashPage;
 import org.apache.openmeetings.web.pages.MainPage;
-import org.apache.openmeetings.web.pages.SwfPage;
 import org.apache.openmeetings.web.room.SwfPanel;
 import org.apache.wicket.ajax.AjaxRequestTarget;
 import org.apache.wicket.ajax.markup.html.AjaxLink;
@@ -73,7 +73,7 @@ public class WelcomeWidgetView extends W
 
                        @Override
                        public void onClick() {
-                               setResponsePage(SwfPage.class, new 
PageParameters().add("swf", SwfPanel.SWF_TYPE_NETWORK));
+                               setResponsePage(HashPage.class, new 
PageParameters().add("swf", SwfPanel.SWF_TYPE_NETWORK));
                        }
                });
        }


Reply via email to