You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openmeetings.apache.org by so...@apache.org on 2017/07/13 02:46:56 UTC

openmeetings git commit: [OPENMEETINGS-1664] active room ids calculation should be fixed

Repository: openmeetings
Updated Branches:
  refs/heads/master 50e6b2b6d -> 21ee02288


[OPENMEETINGS-1664] active room ids calculation should be fixed


Project: http://git-wip-us.apache.org/repos/asf/openmeetings/repo
Commit: http://git-wip-us.apache.org/repos/asf/openmeetings/commit/21ee0228
Tree: http://git-wip-us.apache.org/repos/asf/openmeetings/tree/21ee0228
Diff: http://git-wip-us.apache.org/repos/asf/openmeetings/diff/21ee0228

Branch: refs/heads/master
Commit: 21ee0228844d80be77cc33e0b4d5691a1d217ce1
Parents: 50e6b2b
Author: Maxim Solodovnik <so...@gmail.com>
Authored: Thu Jul 13 09:46:48 2017 +0700
Committer: Maxim Solodovnik <so...@gmail.com>
Committed: Thu Jul 13 09:46:48 2017 +0700

----------------------------------------------------------------------
 .../core/remote/ScopeApplicationAdapter.java    | 29 +-------------------
 .../org/apache/openmeetings/IApplication.java   |  1 +
 .../openmeetings/web/app/Application.java       | 25 +++++++++--------
 pom.xml                                         |  2 +-
 4 files changed, 16 insertions(+), 41 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/openmeetings/blob/21ee0228/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/ScopeApplicationAdapter.java
----------------------------------------------------------------------
diff --git a/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/ScopeApplicationAdapter.java b/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/ScopeApplicationAdapter.java
index 90ec027..750ae6e 100644
--- a/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/ScopeApplicationAdapter.java
+++ b/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/ScopeApplicationAdapter.java
@@ -33,15 +33,11 @@ import static org.apache.openmeetings.util.OpenmeetingsVariables.wicketApplicati
 import java.io.File;
 import java.io.FileInputStream;
 import java.io.InputStream;
-import java.util.ArrayList;
 import java.util.Date;
 import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Iterator;
 import java.util.List;
 import java.util.Map;
 import java.util.Properties;
-import java.util.Set;
 import java.util.UUID;
 
 import org.apache.openmeetings.IApplication;
@@ -54,12 +50,10 @@ import org.apache.openmeetings.db.dao.record.RecordingDao;
 import org.apache.openmeetings.db.dao.room.RoomDao;
 import org.apache.openmeetings.db.dao.room.SipDao;
 import org.apache.openmeetings.db.dao.server.ISessionManager;
-import org.apache.openmeetings.db.dao.server.ServerDao;
 import org.apache.openmeetings.db.dao.user.UserDao;
 import org.apache.openmeetings.db.entity.log.ConferenceLog;
 import org.apache.openmeetings.db.entity.room.Room;
 import org.apache.openmeetings.db.entity.room.StreamClient;
-import org.apache.openmeetings.db.entity.server.Server;
 import org.apache.openmeetings.util.CalendarPatterns;
 import org.apache.openmeetings.util.InitializationContainer;
 import org.apache.openmeetings.util.OmFileHelper;
@@ -116,8 +110,6 @@ public class ScopeApplicationAdapter extends MultiThreadedApplicationAdapter imp
 	private SipDao sipDao;
 	@Autowired
 	private RecordingDao recordingDao;
-	@Autowired
-	private ServerDao serverDao;
 
 	@Override
 	public void resultReceived(IPendingServiceCall arg0) {
@@ -1072,20 +1064,6 @@ public class ScopeApplicationAdapter extends MultiThreadedApplicationAdapter imp
 	/*
 	 * SIP transport methods
 	 */
-
-	private List<Long> getVerifiedActiveRoomIds(Server s) {
-		List<Long> result = new ArrayList<>(sessionManager.getActiveRoomIdsByServer(s));
-		//verify
-		for (Iterator<Long> i = result.iterator(); i.hasNext();) {
-			Long id = i.next();
-			List<StreamClient> rcs = sessionManager.getClientListByRoom(id);
-			if (rcs.size() == 0 || (rcs.size() == 1 && rcs.get(0).isSipTransport())) {
-				i.remove();
-			}
-		}
-		return result.isEmpty() ? result : roomDao.getSipRooms(result);
-	}
-
 	/**
 	 * Returns number of SIP conference participants
 	 * @param roomId id of room
@@ -1114,12 +1092,7 @@ public class ScopeApplicationAdapter extends MultiThreadedApplicationAdapter imp
 	}
 
 	public List<Long> getActiveRoomIds() {
-		Set<Long> ids = new HashSet<>();
-		ids.addAll(getVerifiedActiveRoomIds(null));
-		for (Server s : serverDao.getActiveServers()) {
-			ids.addAll(getVerifiedActiveRoomIds(s));
-		}
-		return new ArrayList<>(ids);
+		return ((IApplication)Application.get(wicketApplicationName)).getActiveRooms();
 	}
 
 	public synchronized int updateSipTransport() {

http://git-wip-us.apache.org/repos/asf/openmeetings/blob/21ee0228/openmeetings-db/src/main/java/org/apache/openmeetings/IApplication.java
----------------------------------------------------------------------
diff --git a/openmeetings-db/src/main/java/org/apache/openmeetings/IApplication.java b/openmeetings-db/src/main/java/org/apache/openmeetings/IApplication.java
index 9b54e1e..76e7efe 100644
--- a/openmeetings-db/src/main/java/org/apache/openmeetings/IApplication.java
+++ b/openmeetings-db/src/main/java/org/apache/openmeetings/IApplication.java
@@ -45,6 +45,7 @@ public interface IApplication {
 	Client getOmClientBySid(String sid);
 	StreamClient updateClient(StreamClient rcl, boolean forceSize);
 	Client getOmOnlineClient(String uid);
+	List<Long> getActiveRooms();
 	List<Client> getOmRoomClients(Long roomId);
 	List<Client> getOmClients(Long userId);
 	String getOmContactsLink();

http://git-wip-us.apache.org/repos/asf/openmeetings/blob/21ee0228/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application.java
----------------------------------------------------------------------
diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application.java b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application.java
index b48d5f0..3ce15b2 100644
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application.java
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application.java
@@ -101,9 +101,7 @@ import org.apache.wicket.core.request.handler.BookmarkableListenerRequestHandler
 import org.apache.wicket.core.request.handler.ListenerRequestHandler;
 import org.apache.wicket.core.request.mapper.MountedMapper;
 import org.apache.wicket.markup.html.WebPage;
-import org.apache.wicket.protocol.http.CsrfPreventionRequestCycleListener;
-import org.apache.wicket.protocol.ws.api.WebSocketMessageBroadcastHandler;
-import org.apache.wicket.protocol.ws.api.WebSocketRequestHandler;
+import org.apache.wicket.protocol.ws.WebSocketAwareCsrfPreventionRequestCycleListener;
 import org.apache.wicket.protocol.ws.api.WebSocketResponse;
 import org.apache.wicket.request.IRequestHandler;
 import org.apache.wicket.request.Response;
@@ -155,7 +153,7 @@ public class Application extends AuthenticatedWebApplication implements IApplica
 		//Resource Loader for a the property key
 		getResourceSettings().getStringResourceLoaders().add(0, new LabelResourceLoader());
 		getJavaScriptLibrarySettings().setJQueryReference(getV3());
-		getRequestCycleListeners().add(new CsrfPreventionRequestCycleListener() {
+		getRequestCycleListeners().add(new WebSocketAwareCsrfPreventionRequestCycleListener() {
 			@Override
 			public void onEndRequest(RequestCycle cycle) {
 				Response resp = cycle.getResponse();
@@ -168,14 +166,6 @@ public class Application extends AuthenticatedWebApplication implements IApplica
 					wresp.setHeader("Content-Security-Policy", contentSecurityPolicy);
 				}
 			}
-
-			@Override
-			protected boolean isChecked(IRequestHandler handler) {
-				if (handler instanceof WebSocketRequestHandler || handler instanceof WebSocketMessageBroadcastHandler) {
-					return false;
-				}
-				return super.isChecked(handler);
-			}
 		});
 
 		super.init();
@@ -401,6 +391,17 @@ public class Application extends AuthenticatedWebApplication implements IApplica
 	}
 
 	@Override
+	public List<Long> getActiveRooms() {
+		Set<Long> ids = new HashSet<>();
+		for (Map.Entry<String, Client> e : ONLINE_USERS.entrySet()) {
+			if (e.getValue().getRoomId() != null) {
+				ids.add(e.getValue().getRoomId());
+			}
+		}
+		return new ArrayList<>(ids);
+	}
+
+	@Override
 	public Client getOmClientBySid(String sid) {
 		return getClientBySid(sid);
 	}

http://git-wip-us.apache.org/repos/asf/openmeetings/blob/21ee0228/pom.xml
----------------------------------------------------------------------
diff --git a/pom.xml b/pom.xml
index 37180ca..8777f55 100644
--- a/pom.xml
+++ b/pom.xml
@@ -40,7 +40,7 @@
 		<maven.javadoc.version>2.10.3</maven.javadoc.version>
 		<maven.surefire.version>2.20</maven.surefire.version>
 		<maven-site.version>3.3</maven-site.version>
-		<wicket.version>8.0.0-M6</wicket.version>
+		<wicket.version>8.0.0-SNAPSHOT</wicket.version>
 		<wicketju.version>8.0.0-SNAPSHOT</wicketju.version>
 		<wickets.version>8.0.0-SNAPSHOT</wickets.version>
 		<red5-server.version>1.0.9-M6</red5-server.version>