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)); } }); }