You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openmeetings.apache.org by se...@apache.org on 2012/10/28 11:48:09 UTC

svn commit: r1402968 - in /incubator/openmeetings/trunk/singlewebapp: WebContent/WEB-INF/ src/org/apache/openmeetings/axis/services/ src/org/apache/openmeetings/data/basic/ src/org/apache/openmeetings/data/conference/ src/org/apache/openmeetings/data/u...

Author: sebawagner
Date: Sun Oct 28 10:48:08 2012
New Revision: 1402968

URL: http://svn.apache.org/viewvc?rev=1402968&view=rev
Log:
OPENMEETINGS-455 Make ClientList as interface and provide alternative implementation

Added:
    incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/remote/red5/ClientListDatabaseStore.java
      - copied, changed from r1388584, incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/remote/red5/ClientListManager.java
    incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/remote/red5/ClientListHashMapStore.java
    incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/remote/red5/IClientList.java
Removed:
    incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/remote/red5/ClientListManager.java
Modified:
    incubator/openmeetings/trunk/singlewebapp/WebContent/WEB-INF/openmeetings-applicationContext.xml
    incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/axis/services/RoomWebService.java
    incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/basic/Sessionmanagement.java
    incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/conference/Roommanagement.java
    incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/user/Usermanagement.java
    incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/remote/ChatService.java
    incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/remote/ConferenceLibrary.java
    incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/remote/ConferenceService.java
    incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/remote/FLVRecorderService.java
    incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/remote/MainService.java
    incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/remote/PollService.java
    incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/remote/UserService.java
    incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/remote/WhiteBoardService.java
    incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/remote/red5/ScopeApplicationAdapter.java
    incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/servlet/outputhandler/ScreenController.java
    incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/test/poll/TestClientListManager.java

Modified: incubator/openmeetings/trunk/singlewebapp/WebContent/WEB-INF/openmeetings-applicationContext.xml
URL: http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/WebContent/WEB-INF/openmeetings-applicationContext.xml?rev=1402968&r1=1402967&r2=1402968&view=diff
==============================================================================
--- incubator/openmeetings/trunk/singlewebapp/WebContent/WEB-INF/openmeetings-applicationContext.xml (original)
+++ incubator/openmeetings/trunk/singlewebapp/WebContent/WEB-INF/openmeetings-applicationContext.xml Sun Oct 28 10:48:08 2012
@@ -51,7 +51,7 @@
 	<!-- New Class for the Streaming Handlers -->
 	<bean id="web.handler"
 		class="org.apache.openmeetings.remote.red5.ScopeApplicationAdapter" />
-	<bean id="openmeetings.ClientListManager" class="org.apache.openmeetings.remote.red5.ClientListManager" />
+	<bean id="openmeetings.ClientListManager" class="org.apache.openmeetings.remote.red5.ClientListDatabaseStore" />
 	<bean id="openmeetings.EmoticonsManager" class="org.apache.openmeetings.remote.red5.EmoticonsManager" />
 	<bean id="openmeetings.WhiteBoardObjectListManager"
 		class="org.apache.openmeetings.remote.red5.WhiteBoardObjectListManager" />

Modified: incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/axis/services/RoomWebService.java
URL: http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/axis/services/RoomWebService.java?rev=1402968&r1=1402967&r2=1402968&view=diff
==============================================================================
--- incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/axis/services/RoomWebService.java (original)
+++ incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/axis/services/RoomWebService.java Sun Oct 28 10:48:08 2012
@@ -46,7 +46,7 @@ import org.apache.openmeetings.persisten
 import org.apache.openmeetings.persistence.beans.rooms.Rooms;
 import org.apache.openmeetings.persistence.beans.user.Users;
 import org.apache.openmeetings.remote.ConferenceService;
-import org.apache.openmeetings.remote.red5.ClientListManager;
+import org.apache.openmeetings.remote.red5.IClientList;
 import org.apache.openmeetings.remote.red5.ScopeApplicationAdapter;
 import org.apache.openmeetings.utils.math.CalendarPatterns;
 import org.red5.logging.Red5LoggerFactory;
@@ -84,7 +84,7 @@ public class RoomWebService {
 	@Autowired
 	private ConferenceService conferenceService;
 	@Autowired
-	private ClientListManager clientListManager;
+	private IClientList clientListManager;
 	@Autowired
 	private MeetingMemberLogic meetingMemberLogic;
 	@Autowired

Modified: incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/basic/Sessionmanagement.java
URL: http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/basic/Sessionmanagement.java?rev=1402968&r1=1402967&r2=1402968&view=diff
==============================================================================
--- incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/basic/Sessionmanagement.java (original)
+++ incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/basic/Sessionmanagement.java Sun Oct 28 10:48:08 2012
@@ -34,7 +34,7 @@ import javax.persistence.criteria.Root;
 import org.apache.openmeetings.OpenmeetingsVariables;
 import org.apache.openmeetings.persistence.beans.basic.Sessiondata;
 import org.apache.openmeetings.persistence.beans.rooms.RoomClient;
-import org.apache.openmeetings.remote.red5.ClientListManager;
+import org.apache.openmeetings.remote.red5.IClientList;
 import org.apache.openmeetings.utils.crypt.ManageCryptStyle;
 import org.red5.logging.Red5LoggerFactory;
 import org.slf4j.Logger;
@@ -59,7 +59,7 @@ public class Sessionmanagement {
 	@Autowired
 	private ManageCryptStyle manageCryptStyle;
 	@Autowired
-	private ClientListManager clientListManager;
+	private IClientList clientListManager;
 
 	/**
 	 * creates a new session-object in the database

Modified: incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/conference/Roommanagement.java
URL: http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/conference/Roommanagement.java?rev=1402968&r1=1402967&r2=1402968&view=diff
==============================================================================
--- incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/conference/Roommanagement.java (original)
+++ incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/conference/Roommanagement.java Sun Oct 28 10:48:08 2012
@@ -45,7 +45,7 @@ import org.apache.openmeetings.persisten
 import org.apache.openmeetings.persistence.beans.rooms.Rooms_Organisation;
 import org.apache.openmeetings.persistence.beans.sip.OpenXGReturnObject;
 import org.apache.openmeetings.persistence.beans.user.Users;
-import org.apache.openmeetings.remote.red5.ClientListManager;
+import org.apache.openmeetings.remote.red5.IClientList;
 import org.apache.openmeetings.sip.api.impl.asterisk.AsteriskDbSipClient;
 import org.apache.openmeetings.sip.api.request.SIPCreateConferenceRequest;
 import org.apache.openmeetings.sip.api.result.SipCreateConferenceRequestResult;
@@ -82,7 +82,7 @@ public class Roommanagement {
 	@Autowired
 	private AuthLevelmanagement authLevelManagement;
 	@Autowired
-	private ClientListManager clientListManager;
+	private IClientList clientListManager;
     @Autowired
 	private ConfigurationDao configurationDaoImpl;
     @Autowired

Modified: incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/user/Usermanagement.java
URL: http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/user/Usermanagement.java?rev=1402968&r1=1402967&r2=1402968&view=diff
==============================================================================
--- incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/user/Usermanagement.java (original)
+++ incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/user/Usermanagement.java Sun Oct 28 10:48:08 2012
@@ -58,7 +58,7 @@ import org.apache.openmeetings.persisten
 import org.apache.openmeetings.persistence.beans.user.Userdata;
 import org.apache.openmeetings.persistence.beans.user.Userlevel;
 import org.apache.openmeetings.persistence.beans.user.Users;
-import org.apache.openmeetings.remote.red5.ClientListManager;
+import org.apache.openmeetings.remote.red5.IClientList;
 import org.apache.openmeetings.remote.red5.ScopeApplicationAdapter;
 import org.apache.openmeetings.sip.xmlrpc.OpenXGHttpClient;
 import org.apache.openmeetings.templates.ResetPasswordTemplate;
@@ -118,7 +118,7 @@ public class Usermanagement {
 	@Autowired
 	private AuthLevelmanagement authLevelManagement;
 	@Autowired
-	private ClientListManager clientListManager;
+	private IClientList clientListManager;
 	@Autowired
 	private ServerDao serverDao;
 

Modified: incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/remote/ChatService.java
URL: http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/remote/ChatService.java?rev=1402968&r1=1402967&r2=1402968&view=diff
==============================================================================
--- incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/remote/ChatService.java (original)
+++ incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/remote/ChatService.java Sun Oct 28 10:48:08 2012
@@ -31,8 +31,8 @@ import java.util.Set;
 
 import org.apache.openmeetings.OpenmeetingsVariables;
 import org.apache.openmeetings.persistence.beans.rooms.RoomClient;
-import org.apache.openmeetings.remote.red5.ClientListManager;
 import org.apache.openmeetings.remote.red5.EmoticonsManager;
+import org.apache.openmeetings.remote.red5.IClientList;
 import org.apache.openmeetings.remote.red5.ScopeApplicationAdapter;
 import org.apache.openmeetings.utils.stringhandlers.ChatString;
 import org.red5.logging.Red5LoggerFactory;
@@ -55,7 +55,7 @@ public class ChatService implements IPen
 	@Autowired
 	private ScopeApplicationAdapter scopeApplicationAdapter;
 	@Autowired
-	private ClientListManager clientListManager = null;
+	private IClientList clientListManager = null;
 	@Autowired
 	private EmoticonsManager emoticonsManager;
 	

Modified: incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/remote/ConferenceLibrary.java
URL: http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/remote/ConferenceLibrary.java?rev=1402968&r1=1402967&r2=1402968&view=diff
==============================================================================
--- incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/remote/ConferenceLibrary.java (original)
+++ incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/remote/ConferenceLibrary.java Sun Oct 28 10:48:08 2012
@@ -41,7 +41,7 @@ import org.apache.openmeetings.documents
 import org.apache.openmeetings.documents.LoadLibraryPresentation;
 import org.apache.openmeetings.persistence.beans.files.FileExplorerItem;
 import org.apache.openmeetings.persistence.beans.rooms.RoomClient;
-import org.apache.openmeetings.remote.red5.ClientListManager;
+import org.apache.openmeetings.remote.red5.IClientList;
 import org.apache.openmeetings.utils.OmFileHelper;
 import org.apache.openmeetings.utils.crypt.MD5;
 import org.red5.logging.Red5LoggerFactory;
@@ -64,7 +64,7 @@ public class ConferenceLibrary implement
 			ConferenceLibrary.class, OpenmeetingsVariables.webAppRootKey);
 
 	@Autowired
-	private ClientListManager clientListManager = null;
+	private IClientList clientListManager = null;
 	@Autowired
 	private Sessionmanagement sessionManagement;
 	@Autowired

Modified: incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/remote/ConferenceService.java
URL: http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/remote/ConferenceService.java?rev=1402968&r1=1402967&r2=1402968&view=diff
==============================================================================
--- incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/remote/ConferenceService.java (original)
+++ incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/remote/ConferenceService.java Sun Oct 28 10:48:08 2012
@@ -44,7 +44,7 @@ import org.apache.openmeetings.persisten
 import org.apache.openmeetings.persistence.beans.rooms.Rooms;
 import org.apache.openmeetings.persistence.beans.rooms.Rooms_Organisation;
 import org.apache.openmeetings.persistence.beans.user.Users;
-import org.apache.openmeetings.remote.red5.ClientListManager;
+import org.apache.openmeetings.remote.red5.IClientList;
 import org.apache.openmeetings.utils.math.CalendarPatterns;
 import org.apache.openmeetings.utils.math.TimezoneUtil;
 import org.red5.logging.Red5LoggerFactory;
@@ -80,7 +80,7 @@ public class ConferenceService {
 	@Autowired
 	private TimezoneUtil timezoneUtil;
 	@Autowired
-	private ClientListManager clientListManager = null;
+	private IClientList clientListManager = null;
 	@Autowired
 	private ServerDao serverDao;
 

Modified: incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/remote/FLVRecorderService.java
URL: http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/remote/FLVRecorderService.java?rev=1402968&r1=1402967&r2=1402968&view=diff
==============================================================================
--- incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/remote/FLVRecorderService.java (original)
+++ incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/remote/FLVRecorderService.java Sun Oct 28 10:48:08 2012
@@ -47,7 +47,7 @@ import org.apache.openmeetings.persisten
 import org.apache.openmeetings.persistence.beans.flvrecord.FlvRecordingLog;
 import org.apache.openmeetings.persistence.beans.flvrecord.FlvRecordingMetaData;
 import org.apache.openmeetings.persistence.beans.rooms.RoomClient;
-import org.apache.openmeetings.remote.red5.ClientListManager;
+import org.apache.openmeetings.remote.red5.IClientList;
 import org.apache.openmeetings.remote.red5.ScopeApplicationAdapter;
 import org.apache.openmeetings.utils.OmFileHelper;
 import org.apache.openmeetings.utils.math.CalendarPatterns;
@@ -80,7 +80,7 @@ public class FLVRecorderService implemen
 
 	// Spring Beans
 	@Autowired
-	private ClientListManager clientListManager;
+	private IClientList clientListManager;
 	@Autowired
 	private FlvRecordingDao flvRecordingDaoImpl;
 	@Autowired

Modified: incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/remote/MainService.java
URL: http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/remote/MainService.java?rev=1402968&r1=1402967&r2=1402968&view=diff
==============================================================================
--- incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/remote/MainService.java (original)
+++ incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/remote/MainService.java Sun Oct 28 10:48:08 2012
@@ -54,7 +54,7 @@ import org.apache.openmeetings.persisten
 import org.apache.openmeetings.persistence.beans.rooms.RoomClient;
 import org.apache.openmeetings.persistence.beans.user.Userdata;
 import org.apache.openmeetings.persistence.beans.user.Users;
-import org.apache.openmeetings.remote.red5.ClientListManager;
+import org.apache.openmeetings.remote.red5.IClientList;
 import org.apache.openmeetings.remote.red5.ScopeApplicationAdapter;
 import org.apache.openmeetings.rss.LoadAtomRssFeed;
 import org.red5.logging.Red5LoggerFactory;
@@ -79,7 +79,7 @@ public class MainService implements IPen
 	private static final Logger log = Red5LoggerFactory.getLogger(MainService.class, OpenmeetingsVariables.webAppRootKey);
 
 	@Autowired
-	private ClientListManager clientListManager;
+	private IClientList clientListManager;
 	@Autowired
 	private ScopeApplicationAdapter scopeApplicationAdapter;
 	@Autowired

Modified: incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/remote/PollService.java
URL: http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/remote/PollService.java?rev=1402968&r1=1402967&r2=1402968&view=diff
==============================================================================
--- incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/remote/PollService.java (original)
+++ incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/remote/PollService.java Sun Oct 28 10:48:08 2012
@@ -30,7 +30,7 @@ import org.apache.openmeetings.persisten
 import org.apache.openmeetings.persistence.beans.poll.RoomPoll;
 import org.apache.openmeetings.persistence.beans.poll.RoomPollAnswers;
 import org.apache.openmeetings.persistence.beans.rooms.RoomClient;
-import org.apache.openmeetings.remote.red5.ClientListManager;
+import org.apache.openmeetings.remote.red5.IClientList;
 import org.apache.openmeetings.remote.red5.ScopeApplicationAdapter;
 import org.red5.logging.Red5LoggerFactory;
 import org.red5.server.api.IConnection;
@@ -52,7 +52,7 @@ public class PollService implements IPen
 			PollService.class, OpenmeetingsVariables.webAppRootKey);
 
 	@Autowired
-	private ClientListManager clientListManager;
+	private IClientList clientListManager;
 	@Autowired
 	private Usermanagement usermanagement;
 	@Autowired

Modified: incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/remote/UserService.java
URL: http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/remote/UserService.java?rev=1402968&r1=1402967&r2=1402968&view=diff
==============================================================================
--- incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/remote/UserService.java (original)
+++ incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/remote/UserService.java Sun Oct 28 10:48:08 2012
@@ -57,7 +57,7 @@ import org.apache.openmeetings.persisten
 import org.apache.openmeetings.persistence.beans.user.Salutations;
 import org.apache.openmeetings.persistence.beans.user.UserContacts;
 import org.apache.openmeetings.persistence.beans.user.Users;
-import org.apache.openmeetings.remote.red5.ClientListManager;
+import org.apache.openmeetings.remote.red5.IClientList;
 import org.apache.openmeetings.remote.red5.ScopeApplicationAdapter;
 import org.apache.openmeetings.templates.RequestContactConfirmTemplate;
 import org.apache.openmeetings.templates.RequestContactTemplate;
@@ -82,7 +82,7 @@ public class UserService {
 			UserService.class, OpenmeetingsVariables.webAppRootKey);
 
 	@Autowired
-	private ClientListManager clientListManager;
+	private IClientList clientListManager;
 	@Autowired
 	private ScopeApplicationAdapter scopeApplicationAdapter;
 	@Autowired

Modified: incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/remote/WhiteBoardService.java
URL: http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/remote/WhiteBoardService.java?rev=1402968&r1=1402967&r2=1402968&view=diff
==============================================================================
--- incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/remote/WhiteBoardService.java (original)
+++ incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/remote/WhiteBoardService.java Sun Oct 28 10:48:08 2012
@@ -37,7 +37,7 @@ import org.apache.openmeetings.data.basi
 import org.apache.openmeetings.data.basic.Sessionmanagement;
 import org.apache.openmeetings.data.user.Usermanagement;
 import org.apache.openmeetings.persistence.beans.rooms.RoomClient;
-import org.apache.openmeetings.remote.red5.ClientListManager;
+import org.apache.openmeetings.remote.red5.IClientList;
 import org.apache.openmeetings.remote.red5.ScopeApplicationAdapter;
 import org.apache.openmeetings.remote.red5.WhiteBoardObjectListManager;
 import org.apache.openmeetings.remote.red5.WhiteBoardObjectListManagerById;
@@ -65,7 +65,7 @@ public class WhiteBoardService implement
 	@Autowired
 	private final ScopeApplicationAdapter scopeApplicationAdapter = null;
 	@Autowired
-	private final ClientListManager clientListManager = null;
+	private final IClientList clientListManager = null;
 	@Autowired
 	private final WhiteBoardObjectListManager whiteBoardObjectListManager = null;
 	@Autowired

Copied: incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/remote/red5/ClientListDatabaseStore.java (from r1388584, incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/remote/red5/ClientListManager.java)
URL: http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/remote/red5/ClientListDatabaseStore.java?p2=incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/remote/red5/ClientListDatabaseStore.java&p1=incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/remote/red5/ClientListManager.java&r1=1388584&r2=1402968&rev=1402968&view=diff
==============================================================================
--- incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/remote/red5/ClientListManager.java (original)
+++ incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/remote/red5/ClientListDatabaseStore.java Sun Oct 28 10:48:08 2012
@@ -37,9 +37,9 @@ import org.springframework.beans.factory
 import org.springframework.transaction.annotation.Transactional;
 
 @Transactional
-public class ClientListManager {
+public class ClientListDatabaseStore implements IClientList {
 	private static final Logger log = Red5LoggerFactory.getLogger(
-			ClientListManager.class, OpenmeetingsVariables.webAppRootKey);
+			ClientListDatabaseStore.class, OpenmeetingsVariables.webAppRootKey);
 
 	@PersistenceContext
 	private EntityManager em;
@@ -47,17 +47,16 @@ public class ClientListManager {
 	@Autowired
 	private ManageCryptStyle manageCryptStyle;
 	
-	/**
-	 * Get current clients and extends the room client with its potential 
-	 * audio/video client and settings
-	 * 
-	 * @param room_id
-	 * @return
+	/* (non-Javadoc)
+	 * @see org.apache.openmeetings.remote.red5.IClientList#getRoomClients(java.lang.Long)
 	 */
 	public List<RoomClient> getRoomClients(Long room_id) {
 		return getClientListByRoom(room_id);
 	}
 
+	/* (non-Javadoc)
+	 * @see org.apache.openmeetings.remote.red5.IClientList#addClientListItem(java.lang.String, java.lang.String, java.lang.Integer, java.lang.String, java.lang.String, boolean)
+	 */
 	public RoomClient addClientListItem(String streamId,
 			String scopeName, Integer remotePort, String remoteAddress,
 			String swfUrl, boolean isAVClient) {
@@ -95,11 +94,17 @@ public class ClientListManager {
 		return null;
 	}
 
+	/* (non-Javadoc)
+	 * @see org.apache.openmeetings.remote.red5.IClientList#getAllClients()
+	 */
 	public Collection<RoomClient> getAllClients() {
 		TypedQuery<RoomClient> q = em.createNamedQuery("getAllRoomClients", RoomClient.class);
 		return q.getResultList();
 	}
 
+	/* (non-Javadoc)
+	 * @see org.apache.openmeetings.remote.red5.IClientList#getClientByStreamId(java.lang.String)
+	 */
 	public RoomClient getClientByStreamId(String streamId) {
 		try {
 			TypedQuery<RoomClient> q = em.createNamedQuery("getByStreamId", RoomClient.class);
@@ -116,15 +121,8 @@ public class ClientListManager {
 		return null;
 	}
 	
-	/**
-	 * Additionally checks if the client receives sync events
-	 * 
-	 * Sync events will no be broadcasted to:
-	 * - Screensharing users
-	 * - Audio/Video connections only
-	 * 
-	 * @param streamId
-	 * @return
+	/* (non-Javadoc)
+	 * @see org.apache.openmeetings.remote.red5.IClientList#getSyncClientByStreamId(java.lang.String)
 	 */
 	public RoomClient getSyncClientByStreamId(String streamId) {
 		try {
@@ -142,6 +140,9 @@ public class ClientListManager {
 	}
 
 
+	/* (non-Javadoc)
+	 * @see org.apache.openmeetings.remote.red5.IClientList#getClientByPublicSID(java.lang.String, boolean)
+	 */
 	public RoomClient getClientByPublicSID(String publicSID, boolean isAVClient) {
 		try {
 			TypedQuery<RoomClient> q = em.createNamedQuery("getByPublicSidAvClient", RoomClient.class);
@@ -156,6 +157,9 @@ public class ClientListManager {
 		return null;
 	}
 
+	/* (non-Javadoc)
+	 * @see org.apache.openmeetings.remote.red5.IClientList#getClientByUserId(java.lang.Long)
+	 */
 	public RoomClient getClientByUserId(Long userId) {
 		try {
 			TypedQuery<RoomClient> q = em.createNamedQuery("getByUserId", RoomClient.class);
@@ -169,12 +173,8 @@ public class ClientListManager {
 		return null;
 	}
 	
-	/**
-	 * Update the session object of the audio/video-connection and additionally swap the 
-	 * values to the session object of the user that holds the full session object
-	 * @param streamId
-	 * @param rcm
-	 * @return
+	/* (non-Javadoc)
+	 * @see org.apache.openmeetings.remote.red5.IClientList#updateAVClientByStreamId(java.lang.String, org.apache.openmeetings.persistence.beans.rooms.RoomClient)
 	 */
 	public Boolean updateAVClientByStreamId(String streamId, RoomClient rcm) {
 		try {
@@ -197,6 +197,9 @@ public class ClientListManager {
 		return null;
 	}
 
+	/* (non-Javadoc)
+	 * @see org.apache.openmeetings.remote.red5.IClientList#updateClientByStreamId(java.lang.String, org.apache.openmeetings.persistence.beans.rooms.RoomClient)
+	 */
 	public Boolean updateClientByStreamId(String streamId, RoomClient rcm) {
 		try {
 			if (getClientByStreamId(streamId) != null) {
@@ -212,6 +215,9 @@ public class ClientListManager {
 		return null;
 	}
 
+	/* (non-Javadoc)
+	 * @see org.apache.openmeetings.remote.red5.IClientList#removeClient(java.lang.String)
+	 */
 	public Boolean removeClient(String streamId) {
 		try {
 			TypedQuery<RoomClient> q = em.createNamedQuery("deleteByStreamId", RoomClient.class);
@@ -224,13 +230,8 @@ public class ClientListManager {
 		return null;
 	}
 
-	/**
-	 * Get all ClientList Objects of that room and domain This Function is
-	 * needed cause it is invoked internally AFTER the current user has been
-	 * already removed from the ClientList to see if the Room is empty again and
-	 * the PollList can be removed
-	 * 
-	 * @return
+	/* (non-Javadoc)
+	 * @see org.apache.openmeetings.remote.red5.IClientList#getClientListByRoom(java.lang.Long)
 	 */
 	public List<RoomClient> getClientListByRoom(Long room_id) {
 		try {
@@ -246,6 +247,9 @@ public class ClientListManager {
 	
 	
 
+	/* (non-Javadoc)
+	 * @see org.apache.openmeetings.remote.red5.IClientList#getClientListByRoomAll(java.lang.Long)
+	 */
 	public List<RoomClient> getClientListByRoomAll(Long room_id) {
 		try {
 			TypedQuery<RoomClient> q = em.createNamedQuery("getByRoomIdAll", RoomClient.class);
@@ -258,11 +262,8 @@ public class ClientListManager {
 		return new ArrayList<RoomClient>();
 	}
 
-	/**
-	 * get the current Moderator in this room
-	 * 
-	 * @param roomname
-	 * @return
+	/* (non-Javadoc)
+	 * @see org.apache.openmeetings.remote.red5.IClientList#getCurrentModeratorByRoom(java.lang.Long)
 	 */
 	public List<RoomClient> getCurrentModeratorByRoom(Long room_id) {
 		if (room_id != null) {
@@ -274,6 +275,9 @@ public class ClientListManager {
 	}
 
 	//FIXME not sorted
+	/* (non-Javadoc)
+	 * @see org.apache.openmeetings.remote.red5.IClientList#getListByStartAndMax(int, int, java.lang.String, boolean)
+	 */
 	public SearchResult<RoomClient> getListByStartAndMax(int start, int max, String orderby, boolean asc) {
 		SearchResult<RoomClient> sResult = new SearchResult<RoomClient>();
 		sResult.setObjectName(RoomClient.class.getName());
@@ -289,6 +293,9 @@ public class ClientListManager {
 		return sResult;
 	}
 
+	/* (non-Javadoc)
+	 * @see org.apache.openmeetings.remote.red5.IClientList#removeAllClients()
+	 */
 	public void removeAllClients() {
 		try {
 			TypedQuery<RoomClient> q = em.createNamedQuery("deleteAll", RoomClient.class);
@@ -298,12 +305,18 @@ public class ClientListManager {
 		}
 	}
 	
+	/* (non-Javadoc)
+	 * @see org.apache.openmeetings.remote.red5.IClientList#getRecordingCount(long)
+	 */
 	public long getRecordingCount(long roomId) {
 		TypedQuery<Long> q = em.createNamedQuery("getRecordingCountByRoomId", Long.class);
 		q.setParameter("room_id", roomId);
 		return q.getSingleResult();
 	}
 
+	/* (non-Javadoc)
+	 * @see org.apache.openmeetings.remote.red5.IClientList#getPublisingCount(long)
+	 */
 	public long getPublisingCount(long roomId) {
 		TypedQuery<Long> q = em.createNamedQuery("getPublisingCountByRoomId", Long.class);
 		q.setParameter("room_id", roomId);

Added: incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/remote/red5/ClientListHashMapStore.java
URL: http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/remote/red5/ClientListHashMapStore.java?rev=1402968&view=auto
==============================================================================
--- incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/remote/red5/ClientListHashMapStore.java (added)
+++ incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/remote/red5/ClientListHashMapStore.java Sun Oct 28 10:48:08 2012
@@ -0,0 +1,380 @@
+package org.apache.openmeetings.remote.red5;
+
+
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Date;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.LinkedList;
+import java.util.List;
+
+import org.apache.openmeetings.OpenmeetingsVariables;
+import org.apache.openmeetings.data.beans.basic.SearchResult;
+import org.apache.openmeetings.persistence.beans.rooms.RoomClient;
+import org.apache.openmeetings.utils.crypt.ManageCryptStyle;
+import org.red5.logging.Red5LoggerFactory;
+import org.slf4j.Logger;
+import org.springframework.beans.factory.annotation.Autowired;
+
+public class ClientListHashMapStore implements IClientList {
+
+	private static HashMap<String, RoomClient> clientList = new HashMap<String, RoomClient>();
+
+	private static final Logger log = Red5LoggerFactory.getLogger(
+			ClientListHashMapStore.class, OpenmeetingsVariables.webAppRootKey);
+
+	@Autowired
+	private ManageCryptStyle manageCryptStyle;
+	
+	/**
+	 * Get current clients and extends the room client with its potential 
+	 * audio/video client and settings
+	 * 
+	 * @param room_id
+	 * @return
+	 */
+	public List<RoomClient> getRoomClients(Long room_id) {
+		try {
+			return this.getClientListByRoom(room_id);
+		} catch (Exception err) {
+			log.error("[getRoomClients]", err);
+		}
+		return null;
+	}
+
+	public synchronized RoomClient addClientListItem(String streamId,
+			String scopeName, Integer remotePort, String remoteAddress,
+			String swfUrl, boolean isAVClient) {
+		try {
+
+			// Store the Connection into a bean and add it to the HashMap
+			RoomClient rcm = new RoomClient();
+			rcm.setConnectedSince(new Date());
+			rcm.setStreamid(streamId);
+			rcm.setScope(scopeName);
+			long thistime = new Date().getTime();
+			rcm.setPublicSID(manageCryptStyle.getInstanceOfCrypt()
+					.createPassPhrase(String.valueOf(thistime).toString()));
+
+			rcm.setUserport(remotePort);
+			rcm.setUserip(remoteAddress);
+			rcm.setSwfurl(swfUrl);
+			rcm.setIsMod(new Boolean(false));
+			rcm.setCanDraw(new Boolean(false));
+			rcm.setIsAVClient(isAVClient);
+
+			if (clientList.containsKey(streamId)) {
+				log.error("Tried to add an existing Client " + streamId);
+				return null;
+			}
+
+			clientList.put(rcm.getStreamid(), rcm);
+
+			log.debug(" :: addClientListItem :: " + rcm.getRoomClientId());
+
+			return rcm;
+		} catch (Exception err) {
+			log.error("[addClientListItem]", err);
+		}
+		return null;
+	}
+
+	public synchronized Collection<RoomClient> getAllClients() {
+		return clientList.values();
+	}
+
+	public synchronized RoomClient getClientByStreamId(String streamId) {
+		try {
+			if (!clientList.containsKey(streamId)) {
+				log.debug("Tried to get a non existing Client " + streamId);
+				return null;
+			}
+			return clientList.get(streamId);
+		} catch (Exception err) {
+			log.error("[getClientByStreamId]", err);
+		}
+		return null;
+	}
+	
+	/**
+	 * Additionally checks if the client receives sync events
+	 * 
+	 * Sync events will no be broadcasted to:
+	 * - Screensharing users
+	 * - Audio/Video connections only
+	 * 
+	 * @param streamId
+	 * @return
+	 */
+	public synchronized RoomClient getSyncClientByStreamId(String streamId) {
+		try {
+			if (!clientList.containsKey(streamId)) {
+				log.debug("Tried to get a non existing Client " + streamId);
+				return null;
+			}
+			
+			RoomClient rcl = clientList.get(streamId);
+			
+			if (rcl == null) {
+				return null;
+			}
+			
+			if (rcl.getIsScreenClient() != null && rcl.getIsScreenClient()) {
+				return null;
+			}
+			
+			return clientList.get(streamId);
+		} catch (Exception err) {
+			log.error("[getClientByStreamId]", err);
+		}
+		return null;
+	}
+
+	public RoomClient getClientByPublicSID(String publicSID, boolean isAVClient) {
+		try {
+			for (Iterator<String> iter = clientList.keySet().iterator(); iter
+					.hasNext();) {
+				RoomClient rcl = clientList.get(iter.next());
+				
+				if (!rcl.getPublicSID().equals(publicSID)) {
+					continue;
+				}
+				if (rcl.getIsAVClient() != isAVClient) {
+					continue;
+				}
+				
+				return rcl;
+			}
+		} catch (Exception err) {
+			log.error("[getClientByPublicSID]", err);
+		}
+		return null;
+	}
+
+	public synchronized RoomClient getClientByUserId(Long userId) {
+		try {
+			for (Iterator<String> iter = clientList.keySet().iterator(); iter
+					.hasNext();) {
+				RoomClient rcl = clientList.get(iter.next());
+				if (rcl.getUser_id().equals(userId)) {
+					return rcl;
+				}
+			}
+		} catch (Exception err) {
+			log.error("[getClientByPublicSID]", err);
+		}
+		return null;
+	}
+	
+	/**
+	 * Update the session object of the audio/video-connection and additionally swap the 
+	 * values to the session object of the user that holds the full session object
+	 * @param streamId
+	 * @param rcm
+	 * @return
+	 */
+	public synchronized Boolean updateAVClientByStreamId(String streamId,
+			RoomClient rcm) {
+		try {
+			
+			//get the corresponding user session object and update the settings
+			RoomClient rclUsual = getClientByPublicSID(rcm.getPublicSID(), false);
+			if (rclUsual != null) {
+				rclUsual.setBroadCastID(rcm.getBroadCastID());
+				rclUsual.setAvsettings(rcm.getAvsettings());
+				rclUsual.setVHeight(rcm.getVHeight());
+				rclUsual.setVWidth(rcm.getVWidth());
+				rclUsual.setVX(rcm.getVX());
+				rclUsual.setVY(rcm.getVY());
+				if (clientList.containsKey(rclUsual.getStreamid())) {
+					clientList.put(rclUsual.getStreamid(), rclUsual);
+				} else {
+					 log.debug("Tried to update a non existing Client " + rclUsual.getStreamid());
+				}
+			}
+			
+			updateClientByStreamId(streamId, rcm);
+		} catch (Exception err) {
+			log.error("[updateAVClientByStreamId]", err);
+		}
+		return null;
+	}
+
+	public synchronized Boolean updateClientByStreamId(String streamId,
+			RoomClient rcm) {
+		try {
+			if (clientList.containsKey(streamId)) {
+				clientList.put(streamId, rcm);
+				return true;
+			} else {
+				log.debug("Tried to update a non existing Client " + streamId);
+				return false;
+			}
+		} catch (Exception err) {
+			log.error("[updateClientByStreamId]", err);
+		}
+		return null;
+	}
+
+	public synchronized Boolean removeClient(String streamId) {
+		try {
+			if (clientList.containsKey(streamId)) {
+				clientList.remove(streamId);
+				// log.debug(":: removeClient ::"+clientList.size());
+				return true;
+			} else {
+				log.debug("Tried to remove a non existing Client " + streamId);
+				return false;
+			}
+		} catch (Exception err) {
+			log.error("[removeClient]", err);
+		}
+		return null;
+	}
+
+	/**
+	 * Get all ClientList Objects of that room and domain This Function is
+	 * needed cause it is invoked internally AFTER the current user has been
+	 * already removed from the ClientList to see if the Room is empty again and
+	 * the PollList can be removed
+	 * 
+	 * @return
+	 */
+	public synchronized List<RoomClient> getClientListByRoom(
+			Long room_id) {
+		List<RoomClient> roomClientList = new ArrayList<RoomClient>();
+		try {
+			for (Iterator<String> iter = clientList.keySet().iterator(); iter
+					.hasNext();) {
+				String key = iter.next();
+				RoomClient rcl = clientList.get(key);
+				
+				// client initialized and same room
+				if (rcl.getRoom_id() == null || !room_id.equals(rcl.getRoom_id())) {
+					continue;
+				}
+				if (rcl.getIsScreenClient() == null ||
+						rcl.getIsScreenClient()) {
+					continue;
+				}
+				if (rcl.getIsAVClient()) {
+					continue;
+				}
+					
+				//Only parse really those users out that are really a full session object 
+				//and no pseudo session object like the audio/video or screen sharing connection 
+				roomClientList.add(rcl);
+					
+			}
+		} catch (Exception err) {
+			log.error("[getClientListByRoom]", err);
+		}
+		return roomClientList;
+	}
+	
+	public synchronized List<RoomClient> getClientListByRoomAll(
+			Long room_id) {
+		List<RoomClient> roomClientList = new ArrayList<RoomClient>();
+		try {
+			for (Iterator<String> iter = clientList.keySet().iterator(); iter
+					.hasNext();) {
+				String key = iter.next();
+				// log.debug("getClientList key: "+key);
+				RoomClient rcl = clientList.get(key);
+
+				if (rcl.getRoom_id() != null
+						&& rcl.getRoom_id().equals(room_id)) {
+					// same room
+					roomClientList.add(rcl);
+				}
+			}
+		} catch (Exception err) {
+			log.error("[getClientListByRoomAll]", err);
+		}
+		return roomClientList;
+	}
+
+	/**
+	 * get the current Moderator in this room
+	 * 
+	 * @param roomname
+	 * @return
+	 */
+	public synchronized List<RoomClient> getCurrentModeratorByRoom(Long room_id) {
+
+		List<RoomClient> rclList = new LinkedList<RoomClient>();
+		for (Iterator<String> iter = clientList.keySet().iterator(); iter
+				.hasNext();) {
+			String key = iter.next();
+			RoomClient rcl = clientList.get(key);
+			//
+			log.debug("*..*unsetModerator ClientList key: " + rcl.getStreamid());
+			//
+			// Check if the Client is in the same room
+			if (room_id != null && room_id.equals(rcl.getRoom_id())
+					&& rcl.getIsMod()) {
+				log.debug("found client who is the Moderator: " + rcl);
+				rclList.add(rcl);
+			}
+		}
+
+		return rclList;
+	}
+
+	public synchronized SearchResult<RoomClient> getListByStartAndMax(int start, int max,
+			String orderby, boolean asc) {
+		SearchResult<RoomClient> sResult = new SearchResult<RoomClient>();
+		sResult.setObjectName(RoomClient.class.getName());
+		sResult.setRecords(Long.valueOf(clientList.size()).longValue());
+		LinkedList<RoomClient> myList = new LinkedList<RoomClient>();
+
+		int i = 0;
+		Iterator<String> iter = clientList.keySet().iterator();
+		while (iter.hasNext()) {
+			String key = iter.next();
+			if (i >= start) {
+				myList.add(clientList.get(key));
+			}
+			if (i > max) {
+				break;
+			}
+			i++;
+		}
+		sResult.setResult(myList);
+
+		return sResult;
+	}
+
+	public synchronized void removeAllClients() {
+		try {
+			clientList.clear();
+		} catch (Exception err) {
+			log.error("[removeAllClients]", err);
+		}
+	}
+
+
+	public long getRecordingCount(long roomId) {
+		List<RoomClient> currentClients = this.getClientListByRoom(roomId);
+		int numberOfRecordingUsers = 0;
+		for (RoomClient rcl : currentClients) {
+			if (rcl.isStartRecording()) {
+				numberOfRecordingUsers++;
+			}
+		}
+		return numberOfRecordingUsers;
+	}
+
+	public long getPublisingCount(long roomId) {
+		List<RoomClient> currentClients = this.getClientListByRoom(roomId);
+		int numberOfPublishingUsers = 0;
+		for (RoomClient rcl : currentClients) {
+			if (rcl.isStreamPublishStarted()) {
+				numberOfPublishingUsers++;
+			}
+		}
+		return numberOfPublishingUsers;
+	}
+
+}

Added: incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/remote/red5/IClientList.java
URL: http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/remote/red5/IClientList.java?rev=1402968&view=auto
==============================================================================
--- incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/remote/red5/IClientList.java (added)
+++ incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/remote/red5/IClientList.java Sun Oct 28 10:48:08 2012
@@ -0,0 +1,90 @@
+package org.apache.openmeetings.remote.red5;
+
+import java.util.Collection;
+import java.util.List;
+
+import org.apache.openmeetings.data.beans.basic.SearchResult;
+import org.apache.openmeetings.persistence.beans.rooms.RoomClient;
+
+public interface IClientList {
+
+	/**
+	 * Get current clients and extends the room client with its potential 
+	 * audio/video client and settings
+	 * 
+	 * @param room_id
+	 * @return
+	 */
+	public abstract List<RoomClient> getRoomClients(Long room_id);
+
+	public abstract RoomClient addClientListItem(String streamId,
+			String scopeName, Integer remotePort, String remoteAddress,
+			String swfUrl, boolean isAVClient);
+
+	public abstract Collection<RoomClient> getAllClients();
+
+	public abstract RoomClient getClientByStreamId(String streamId);
+
+	/**
+	 * Additionally checks if the client receives sync events
+	 * 
+	 * Sync events will no be broadcasted to:
+	 * - Screensharing users
+	 * - Audio/Video connections only
+	 * 
+	 * @param streamId
+	 * @return
+	 */
+	public abstract RoomClient getSyncClientByStreamId(String streamId);
+
+	public abstract RoomClient getClientByPublicSID(String publicSID,
+			boolean isAVClient);
+
+	public abstract RoomClient getClientByUserId(Long userId);
+
+	/**
+	 * Update the session object of the audio/video-connection and additionally swap the 
+	 * values to the session object of the user that holds the full session object
+	 * @param streamId
+	 * @param rcm
+	 * @return
+	 */
+	public abstract Boolean updateAVClientByStreamId(String streamId,
+			RoomClient rcm);
+
+	public abstract Boolean updateClientByStreamId(String streamId,
+			RoomClient rcm);
+
+	public abstract Boolean removeClient(String streamId);
+
+	/**
+	 * Get all ClientList Objects of that room and domain This Function is
+	 * needed cause it is invoked internally AFTER the current user has been
+	 * already removed from the ClientList to see if the Room is empty again and
+	 * the PollList can be removed
+	 * 
+	 * @return
+	 */
+	public abstract List<RoomClient> getClientListByRoom(Long room_id);
+
+	public abstract List<RoomClient> getClientListByRoomAll(Long room_id);
+
+	/**
+	 * get the current Moderator in this room
+	 * 
+	 * @param roomname
+	 * @return
+	 */
+	public abstract List<RoomClient> getCurrentModeratorByRoom(Long room_id);
+
+	//FIXME not sorted
+	public abstract SearchResult<RoomClient> getListByStartAndMax(int start,
+			int max, String orderby, boolean asc);
+
+	public abstract void removeAllClients();
+
+	public abstract long getRecordingCount(long roomId);
+
+	public abstract long getPublisingCount(long roomId);
+
+}
\ No newline at end of file

Modified: incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/remote/red5/ScopeApplicationAdapter.java
URL: http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/remote/red5/ScopeApplicationAdapter.java?rev=1402968&r1=1402967&r2=1402968&view=diff
==============================================================================
--- incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/remote/red5/ScopeApplicationAdapter.java (original)
+++ incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/remote/red5/ScopeApplicationAdapter.java Sun Oct 28 10:48:08 2012
@@ -75,7 +75,7 @@ public class ScopeApplicationAdapter ext
 			OpenmeetingsVariables.webAppRootKey);
 
 	@Autowired
-	private ClientListManager clientListManager;
+	private IClientList clientListManager;
 	@Autowired
 	private EmoticonsManager emoticonsManager;
 	@Autowired
@@ -2270,6 +2270,14 @@ public class ScopeApplicationAdapter ext
 		syncMessageToCurrentScope(remoteMethodName, newMessage, sendSelf, false);
 	}
 	
+	/**
+	 * Only temporary for load test, with return argument for the client to have a result
+	 * 
+	 * @param remoteMethodName
+	 * @param newMessage
+	 * @param sendSelf
+	 * @return
+	 */
 	@Deprecated
 	public synchronized boolean loadTestSyncMessage(String remoteMethodName, Object newMessage, boolean sendSelf) {
 		syncMessageToCurrentScope(remoteMethodName, newMessage, sendSelf, false);

Modified: incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/servlet/outputhandler/ScreenController.java
URL: http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/servlet/outputhandler/ScreenController.java?rev=1402968&r1=1402967&r2=1402968&view=diff
==============================================================================
--- incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/servlet/outputhandler/ScreenController.java (original)
+++ incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/servlet/outputhandler/ScreenController.java Sun Oct 28 10:48:08 2012
@@ -34,7 +34,7 @@ import org.apache.openmeetings.data.basi
 import org.apache.openmeetings.data.basic.Sessionmanagement;
 import org.apache.openmeetings.data.basic.dao.ConfigurationDao;
 import org.apache.openmeetings.persistence.beans.rooms.RoomClient;
-import org.apache.openmeetings.remote.red5.ClientListManager;
+import org.apache.openmeetings.remote.red5.IClientList;
 import org.apache.openmeetings.utils.OmFileHelper;
 import org.apache.velocity.VelocityContext;
 import org.apache.velocity.app.VelocityEngine;
@@ -53,7 +53,7 @@ public class ScreenController {
 			ScreenController.class, OpenmeetingsVariables.webAppRootKey);
 
 	@Autowired
-	private ClientListManager clientListManager;
+	private IClientList clientListManager;
 	@Autowired
 	public Sessionmanagement sessionManagement;
 	@Autowired

Modified: incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/test/poll/TestClientListManager.java
URL: http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/test/poll/TestClientListManager.java?rev=1402968&r1=1402967&r2=1402968&view=diff
==============================================================================
--- incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/test/poll/TestClientListManager.java (original)
+++ incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/test/poll/TestClientListManager.java Sun Oct 28 10:48:08 2012
@@ -22,14 +22,14 @@ import static org.junit.Assert.assertNot
 
 import java.util.Random;
 
-import org.apache.openmeetings.remote.red5.ClientListManager;
+import org.apache.openmeetings.remote.red5.IClientList;
 import org.apache.openmeetings.test.AbstractOpenmeetingsSpringTest;
 import org.junit.Test;
 import org.springframework.beans.factory.annotation.Autowired;
 
 public class TestClientListManager extends AbstractOpenmeetingsSpringTest {
 	@Autowired
-	private ClientListManager clientListManager;
+	private IClientList clientListManager;
 	
 	@Test
 	public void addClientListItem() {