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() {


Reply via email to