Author: solomax
Date: Mon Sep 14 13:33:09 2015
New Revision: 1702950

URL: http://svn.apache.org/r1702950
Log:
[OPENMEETINGS-1248] clustering should work as expected from external systems

Modified:
    
openmeetings/branches/3.0.x/src/db/java/org/apache/openmeetings/db/entity/room/Client.java
    
openmeetings/branches/3.0.x/src/main/webapp/WEB-INF/classes/openmeetings-applicationContext.xml
    
openmeetings/branches/3.0.x/src/web/java/org/apache/openmeetings/web/app/WebSession.java
    
openmeetings/branches/3.0.x/src/web/java/org/apache/openmeetings/web/pages/SwfPage.java
    
openmeetings/branches/3.0.x/src/web/java/org/apache/openmeetings/web/user/rooms/RoomPanel.java
    
openmeetings/trunk/singlewebapp/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/room/Client.java
    
openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/WebSession.java
    
openmeetings/trunk/singlewebapp/openmeetings-web/src/main/webapp/WEB-INF/classes/openmeetings-applicationContext.xml

Modified: 
openmeetings/branches/3.0.x/src/db/java/org/apache/openmeetings/db/entity/room/Client.java
URL: 
http://svn.apache.org/viewvc/openmeetings/branches/3.0.x/src/db/java/org/apache/openmeetings/db/entity/room/Client.java?rev=1702950&r1=1702949&r2=1702950&view=diff
==============================================================================
--- 
openmeetings/branches/3.0.x/src/db/java/org/apache/openmeetings/db/entity/room/Client.java
 (original)
+++ 
openmeetings/branches/3.0.x/src/db/java/org/apache/openmeetings/db/entity/room/Client.java
 Mon Sep 14 13:33:09 2015
@@ -287,7 +287,7 @@ public class Client implements IDataProv
         * @see Client#getSwfurl()
         */
        // FIXME: Move to {@link ClientSession}
-       @Column(name = "swfurl")
+       @Column(name = "swfurl", length=2048)
        private String swfurl;
        
        /**

Modified: 
openmeetings/branches/3.0.x/src/main/webapp/WEB-INF/classes/openmeetings-applicationContext.xml
URL: 
http://svn.apache.org/viewvc/openmeetings/branches/3.0.x/src/main/webapp/WEB-INF/classes/openmeetings-applicationContext.xml?rev=1702950&r1=1702949&r2=1702950&view=diff
==============================================================================
--- 
openmeetings/branches/3.0.x/src/main/webapp/WEB-INF/classes/openmeetings-applicationContext.xml
 (original)
+++ 
openmeetings/branches/3.0.x/src/main/webapp/WEB-INF/classes/openmeetings-applicationContext.xml
 Mon Sep 14 13:33:09 2015
@@ -53,7 +53,8 @@
 
        <bean id="openmeetings.SessionManager" 
class="org.apache.openmeetings.session.SessionManager">
                <property name="cache">
-                       <ref bean="openmeetings.HashMapStore" />  <!-- Memory 
based session cache by default -->
+                       <!-- Memory based session cache by default -->
+                       <ref bean="openmeetings.HashMapStore" />
                        <!-- The following section should be used in clustering 
mode
                        <ref bean="openmeetings.DatabaseStore" />
                        -->
@@ -71,7 +72,9 @@
        <bean id="openmeetings.DatabaseStore" 
class="org.apache.openmeetings.session.store.DatabaseStore" />
 
        <bean id="openmeetings.ServerUtil" scope="singleton" 
class="org.apache.openmeetings.session.ServerUtil">
-               <!-- Need to be uncommented and set to the real ID if in 
cluster mode <property name="serverId" value="1" /> -->
+               <!-- Need to be uncommented and set to the real ID if in 
cluster mode
+               <property name="serverId" value="1" />
+               -->
        </bean>
 
        <!-- Cluster related config start -->

Modified: 
openmeetings/branches/3.0.x/src/web/java/org/apache/openmeetings/web/app/WebSession.java
URL: 
http://svn.apache.org/viewvc/openmeetings/branches/3.0.x/src/web/java/org/apache/openmeetings/web/app/WebSession.java?rev=1702950&r1=1702949&r2=1702950&view=diff
==============================================================================
--- 
openmeetings/branches/3.0.x/src/web/java/org/apache/openmeetings/web/app/WebSession.java
 (original)
+++ 
openmeetings/branches/3.0.x/src/web/java/org/apache/openmeetings/web/app/WebSession.java
 Mon Sep 14 13:33:09 2015
@@ -88,6 +88,7 @@ import ro.fortsoft.wicket.dashboard.web.
 public class WebSession extends AbstractAuthenticatedWebSession {
        private static final long serialVersionUID = 1L;
        public static int MILLIS_IN_MINUTE = 60000;
+       public static final String SECURE_HASH = "secureHash";
        private long userId = -1;
        private Set<Right> rights = new HashSet<User.Right>(); //TODO renew 
somehow on user edit !!!!
        private long languageId = -1; //TODO renew somehow on user edit !!!!
@@ -133,7 +134,7 @@ public class WebSession extends Abstract
                //first of all will check hashes
                try {
                        IRequestParameters params = 
RequestCycle.get().getRequest().getRequestParameters();
-                       StringValue secureHash = 
params.getParameterValue("secureHash");
+                       StringValue secureHash = 
params.getParameterValue(SECURE_HASH);
                        StringValue invitationHash = 
params.getParameterValue("invitationHash");
                        if (!secureHash.isEmpty() || !invitationHash.isEmpty()) 
{
                                PageParameters pp = new PageParameters();

Modified: 
openmeetings/branches/3.0.x/src/web/java/org/apache/openmeetings/web/pages/SwfPage.java
URL: 
http://svn.apache.org/viewvc/openmeetings/branches/3.0.x/src/web/java/org/apache/openmeetings/web/pages/SwfPage.java?rev=1702950&r1=1702949&r2=1702950&view=diff
==============================================================================
--- 
openmeetings/branches/3.0.x/src/web/java/org/apache/openmeetings/web/pages/SwfPage.java
 (original)
+++ 
openmeetings/branches/3.0.x/src/web/java/org/apache/openmeetings/web/pages/SwfPage.java
 Mon Sep 14 13:33:09 2015
@@ -19,10 +19,14 @@
 package org.apache.openmeetings.web.pages;
 
 import static org.apache.openmeetings.web.app.Application.getBean;
+import static org.apache.openmeetings.web.app.WebSession.SECURE_HASH;
 
 import org.apache.openmeetings.db.dao.basic.ConfigurationDao;
+import org.apache.openmeetings.db.dao.server.SOAPLoginDao;
+import org.apache.openmeetings.db.entity.server.SOAPLogin;
 import org.apache.openmeetings.web.user.rooms.RoomPanel;
 import org.apache.wicket.request.mapper.parameter.PageParameters;
+import org.apache.wicket.util.string.StringValue;
 
 public class SwfPage extends BaseNotInitedPage {
        private static final long serialVersionUID = 1L;
@@ -32,6 +36,14 @@ public class SwfPage extends BaseNotInit
        }
 
        public SwfPage(PageParameters pp) {
+               StringValue shash = pp.get(SECURE_HASH);
+               if (!shash.isEmpty()) {
+                       SOAPLogin soapLogin = 
getBean(SOAPLoginDao.class).get(shash.toString());
+                       Long roomId = soapLogin.getRoom_id();
+                       if (roomId != null) {
+                               pp = pp.mergeWith(RoomPanel.addServer(roomId, 
false));
+                       }
+               }
                add(new RoomPanel("room", pp));
        }
 

Modified: 
openmeetings/branches/3.0.x/src/web/java/org/apache/openmeetings/web/user/rooms/RoomPanel.java
URL: 
http://svn.apache.org/viewvc/openmeetings/branches/3.0.x/src/web/java/org/apache/openmeetings/web/user/rooms/RoomPanel.java?rev=1702950&r1=1702949&r2=1702950&view=diff
==============================================================================
--- 
openmeetings/branches/3.0.x/src/web/java/org/apache/openmeetings/web/user/rooms/RoomPanel.java
 (original)
+++ 
openmeetings/branches/3.0.x/src/web/java/org/apache/openmeetings/web/user/rooms/RoomPanel.java
 Mon Sep 14 13:33:09 2015
@@ -68,8 +68,11 @@ public class RoomPanel extends BasePanel
                return pp.add("protocol", s.getProtocol()).add("host", 
s.getAddress()).add("port", s.getPort()).add("context", s.getWebapp());
        }
        
-       private static PageParameters addServer(long roomId) {
-               PageParameters pp = new PageParameters().add("wicketsid", 
getSid()).add("wicketroomid", roomId).add("language", getLanguage());
+       public static PageParameters addServer(long roomId, boolean addBasic) {
+               PageParameters pp = new PageParameters();
+               if (addBasic) {
+                       pp.add("wicketsid", getSid()).add("wicketroomid", 
roomId).add("language", getLanguage());
+               }
                List<Server> serverList = 
getBean(ServerDao.class).getActiveServers();
 
                long minimum = -1;
@@ -98,7 +101,7 @@ public class RoomPanel extends BasePanel
        }
 
        public RoomPanel(String id, long roomId) {
-               this(id, addServer(roomId));
+               this(id, addServer(roomId, true));
        }
        
        public RoomPanel(String id, PageParameters pp) {

Modified: 
openmeetings/trunk/singlewebapp/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/room/Client.java
URL: 
http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/room/Client.java?rev=1702950&r1=1702949&r2=1702950&view=diff
==============================================================================
--- 
openmeetings/trunk/singlewebapp/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/room/Client.java
 (original)
+++ 
openmeetings/trunk/singlewebapp/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/room/Client.java
 Mon Sep 14 13:33:09 2015
@@ -290,7 +290,7 @@ public class Client implements IDataProv
         * @see Client#getSwfurl()
         */
        // FIXME: Move to {@link ClientSession}
-       @Column(name = "swfurl")
+       @Column(name = "swfurl", length=2048)
        private String swfurl;
        
        /**

Modified: 
openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/WebSession.java
URL: 
http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/WebSession.java?rev=1702950&r1=1702949&r2=1702950&view=diff
==============================================================================
--- 
openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/WebSession.java
 (original)
+++ 
openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/WebSession.java
 Mon Sep 14 13:33:09 2015
@@ -89,6 +89,7 @@ import ro.fortsoft.wicket.dashboard.web.
 public class WebSession extends AbstractAuthenticatedWebSession implements 
IWebSession {
        private static final long serialVersionUID = 1L;
        public static int MILLIS_IN_MINUTE = 60000;
+       public static final String SECURE_HASH = "secureHash";
        private long userId = -1;
        private Set<Right> rights = new HashSet<User.Right>(); //TODO renew 
somehow on user edit !!!!
        private long languageId = -1; //TODO renew somehow on user edit !!!!
@@ -134,7 +135,7 @@ public class WebSession extends Abstract
                //first of all will check hashes
                try {
                        IRequestParameters params = 
RequestCycle.get().getRequest().getRequestParameters();
-                       StringValue secureHash = 
params.getParameterValue("secureHash");
+                       StringValue secureHash = 
params.getParameterValue(SECURE_HASH);
                        StringValue invitationHash = 
params.getParameterValue("invitationHash");
                        if (!secureHash.isEmpty() || !invitationHash.isEmpty()) 
{
                                PageParameters pp = new PageParameters();

Modified: 
openmeetings/trunk/singlewebapp/openmeetings-web/src/main/webapp/WEB-INF/classes/openmeetings-applicationContext.xml
URL: 
http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/openmeetings-web/src/main/webapp/WEB-INF/classes/openmeetings-applicationContext.xml?rev=1702950&r1=1702949&r2=1702950&view=diff
==============================================================================
--- 
openmeetings/trunk/singlewebapp/openmeetings-web/src/main/webapp/WEB-INF/classes/openmeetings-applicationContext.xml
 (original)
+++ 
openmeetings/trunk/singlewebapp/openmeetings-web/src/main/webapp/WEB-INF/classes/openmeetings-applicationContext.xml
 Mon Sep 14 13:33:09 2015
@@ -57,7 +57,8 @@
 
        <bean id="openmeetings.SessionManager" 
class="org.apache.openmeetings.core.session.SessionManager">
                <property name="cache">
-                       <ref bean="openmeetings.HashMapStore" />  <!-- Memory 
based session cache by default -->
+                       <!-- Memory based session cache by default -->
+                       <ref bean="openmeetings.HashMapStore" />
                        <!-- The following section should be used in clustering 
mode
                        <ref bean="openmeetings.DatabaseStore" />
                        -->
@@ -74,7 +75,9 @@
        <bean id="openmeetings.DatabaseStore" 
class="org.apache.openmeetings.core.session.store.DatabaseStore" />
 
        <bean id="openmeetings.ServerUtil" scope="singleton" 
class="org.apache.openmeetings.core.session.ServerUtil">
-               <!-- Need to be uncommented and set to the real ID if in 
cluster mode <property name="serverId" value="1" /> -->
+               <!-- Need to be uncommented and set to the real ID if in 
cluster mode
+               <property name="serverId" value="1" />
+               -->
        </bean>
 
        <!-- Cluster related config start -->


Reply via email to