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 -->