Author: solomax
Date: Tue Aug  9 03:17:22 2016
New Revision: 1755553

URL: http://svn.apache.org/viewvc?rev=1755553&view=rev
Log:
no jira: potential NPEs are fixed

Modified:
    
openmeetings/application/branches/3.2.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/ConferenceLibrary.java
    
openmeetings/application/branches/3.2.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/ConferenceService.java
    
openmeetings/application/branches/3.2.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/InvitationService.java
    
openmeetings/application/branches/3.2.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/MainService.java
    
openmeetings/application/branches/3.2.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/UserService.java
    
openmeetings/application/branches/3.2.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/WhiteBoardService.java
    
openmeetings/application/branches/3.2.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/red5/ScopeApplicationAdapter.java
    
openmeetings/application/branches/3.2.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/label/LabelDao.java
    
openmeetings/application/branches/3.2.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/server/SessiondataDao.java
    
openmeetings/application/branches/3.2.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/user/UserDao.java
    
openmeetings/application/branches/3.2.x/openmeetings-screenshare/src/main/java/org/apache/openmeetings/screen/webstart/CoreScreenShare.java
    
openmeetings/application/branches/3.2.x/openmeetings-service/src/main/java/org/apache/openmeetings/service/user/UserManager.java
    
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application.java
    
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/WebSession.java
    
openmeetings/application/branches/3.2.x/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/CalendarWebService.java
    
openmeetings/application/branches/3.2.x/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/ErrorWebService.java
    
openmeetings/application/branches/3.2.x/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/FileWebService.java
    
openmeetings/application/branches/3.2.x/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/GroupWebService.java
    
openmeetings/application/branches/3.2.x/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/RecordingWebService.java
    
openmeetings/application/branches/3.2.x/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/RoomWebService.java
    
openmeetings/application/branches/3.2.x/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/ServerWebService.java
    
openmeetings/application/branches/3.2.x/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/UserWebService.java
    
openmeetings/application/trunk/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/ConferenceLibrary.java
    
openmeetings/application/trunk/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/ConferenceService.java
    
openmeetings/application/trunk/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/InvitationService.java
    
openmeetings/application/trunk/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/MainService.java
    
openmeetings/application/trunk/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/UserService.java
    
openmeetings/application/trunk/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/WhiteBoardService.java
    
openmeetings/application/trunk/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/red5/ScopeApplicationAdapter.java
    
openmeetings/application/trunk/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/label/LabelDao.java
    
openmeetings/application/trunk/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/server/SessiondataDao.java
    
openmeetings/application/trunk/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/user/UserDao.java
    
openmeetings/application/trunk/openmeetings-screenshare/src/main/java/org/apache/openmeetings/screen/webstart/CoreScreenShare.java
    
openmeetings/application/trunk/openmeetings-service/src/main/java/org/apache/openmeetings/service/user/UserManager.java
    
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application.java
    
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/WebSession.java
    
openmeetings/application/trunk/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/CalendarWebService.java
    
openmeetings/application/trunk/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/ErrorWebService.java
    
openmeetings/application/trunk/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/FileWebService.java
    
openmeetings/application/trunk/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/GroupWebService.java
    
openmeetings/application/trunk/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/RecordingWebService.java
    
openmeetings/application/trunk/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/RoomWebService.java
    
openmeetings/application/trunk/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/ServerWebService.java
    
openmeetings/application/trunk/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/UserWebService.java

Modified: 
openmeetings/application/branches/3.2.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/ConferenceLibrary.java
URL: 
http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/ConferenceLibrary.java?rev=1755553&r1=1755552&r2=1755553&view=diff
==============================================================================
--- 
openmeetings/application/branches/3.2.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/ConferenceLibrary.java
 (original)
+++ 
openmeetings/application/branches/3.2.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/ConferenceLibrary.java
 Tue Aug  9 03:17:22 2016
@@ -39,10 +39,12 @@ import org.apache.openmeetings.db.dao.se
 import org.apache.openmeetings.db.dao.server.SessiondataDao;
 import org.apache.openmeetings.db.dao.user.UserDao;
 import org.apache.openmeetings.db.dto.file.LibraryPresentation;
+import org.apache.openmeetings.db.dto.server.ClientSessionInfo;
 import org.apache.openmeetings.db.entity.file.FileExplorerItem;
 import org.apache.openmeetings.db.entity.file.FileItem;
 import org.apache.openmeetings.db.entity.file.FileItem.Type;
 import org.apache.openmeetings.db.entity.room.Client;
+import org.apache.openmeetings.db.entity.server.Sessiondata;
 import org.apache.openmeetings.db.util.AuthLevelUtil;
 import org.apache.openmeetings.util.OmFileHelper;
 import org.red5.logging.Red5LoggerFactory;
@@ -64,7 +66,7 @@ public class ConferenceLibrary implement
        @Autowired
        private ISessionManager sessionManager;
        @Autowired
-       private SessiondataDao sessiondataDao;
+       private SessiondataDao sessionDao;
        @Autowired
        private UserDao userDao;
        @Autowired
@@ -74,13 +76,13 @@ public class ConferenceLibrary implement
        @Autowired
        private ScopeApplicationAdapter scopeAdapter;
 
-       public LibraryPresentation getPresentationPreviewFileExplorer(String 
SID, String parentFolder) {
+       public LibraryPresentation getPresentationPreviewFileExplorer(String 
sid, String parentFolder) {
                try {
-                       Long users_id = sessiondataDao.check(SID);
+                       Sessiondata sd = sessionDao.check(sid);
 
-                       log.debug("#############users_id : " + users_id);
+                       log.debug("#############users_id : " + sd.getUserId());
 
-                       if 
(AuthLevelUtil.hasUserLevel(userDao.getRights(users_id))) {
+                       if 
(AuthLevelUtil.hasUserLevel(userDao.getRights(sd.getUserId()))) {
                                File working_dir = new 
File(OmFileHelper.getUploadFilesDir(), parentFolder);
                                log.debug("############# working_dir : " + 
working_dir);
 
@@ -103,16 +105,16 @@ public class ConferenceLibrary implement
         * 
         * Save an Object to the library and returns the file-explorer Id
         * 
-        * @param SID
+        * @param sid
         * @param roomId
         * @param fileName
         * @param tObjectRef
         * @return - file-explorer Id in case of success, -1 otherwise
         */
-       public Long saveAsObject(String SID, Long roomId, String fileName, 
Object tObjectRef) {
+       public Long saveAsObject(String sid, Long roomId, String fileName, 
Object tObjectRef) {
                try {
-                       Long userId = sessiondataDao.check(SID);
-                       if 
(AuthLevelUtil.hasUserLevel(userDao.getRights(userId))) {
+                       Sessiondata sd = sessionDao.check(sid);
+                       if 
(AuthLevelUtil.hasUserLevel(userDao.getRights(sd.getUserId()))) {
                                // LinkedHashMap tObject = (LinkedHashMap)t;
                                // ArrayList tObject = (ArrayList)t;
 
@@ -124,7 +126,7 @@ public class ConferenceLibrary implement
 
                                log.debug("saveAsObject" + tObject.size());
 
-                               FileExplorerItem file = fileDao.add(fileName, 
null, null, roomId, userId, Type.WmlFile, "", "");
+                               FileExplorerItem file = fileDao.add(fileName, 
null, null, roomId, sd.getUserId(), Type.WmlFile, "", "");
                                
LibraryDocumentConverter.writeToLocalFolder(file.getHash(), tObject);
 
                                return file.getId();
@@ -144,7 +146,12 @@ public class ConferenceLibrary implement
         * @param fi - FileItem of the Wml being loaded
         */
        public void sendToWhiteboard(String uid, Long wbId, FileItem fi) {
-               Client client = 
sessionManager.getClientByPublicSIDAnyServer(uid).getRcl();
+               ClientSessionInfo csi = 
sessionManager.getClientByPublicSIDAnyServer(uid);
+               if (csi == null) {
+                       log.warn("No client was found to send Wml:: {}", uid);
+                       return;
+               }
+               Client client = csi.getRcl();
 
                if (client == null) {
                        log.warn("No client was found to send Wml:: {}", uid);
@@ -181,16 +188,16 @@ public class ConferenceLibrary implement
         * 
         * Loads a chart object
         * 
-        * @param SID
+        * @param sid
         * @param room_id
         * @param fileName
         * @return - chart object
         */
        @SuppressWarnings("rawtypes")
-       public ArrayList loadChartObject(String SID, Long room_id, String 
fileName) {
+       public ArrayList loadChartObject(String sid, Long room_id, String 
fileName) {
                try {
-                       Long users_id = sessiondataDao.check(SID);
-                       if 
(AuthLevelUtil.hasUserLevel(userDao.getRights(users_id))) {
+                       Sessiondata sd = sessionDao.check(sid);
+                       if 
(AuthLevelUtil.hasUserLevel(userDao.getRights(sd.getUserId()))) {
                                return 
LibraryChartLoader.getInstance().loadChart(OmFileHelper.getUploadRoomDir(room_id.toString()),
 fileName);
                        }
                } catch (Exception err) {
@@ -200,15 +207,14 @@ public class ConferenceLibrary implement
        }
 
        /**
-        * @param SID
+        * @param sid
         * @param flvFileExplorerId
         * @return 1 in case of success, -1 otherwise
         */
-       public Long copyFileToCurrentRoom(String SID, Long flvFileExplorerId) {
+       public Long copyFileToCurrentRoom(String sid, Long flvFileExplorerId) {
                try {
-                       Long users_id = sessiondataDao.check(SID);
-
-                       if 
(AuthLevelUtil.hasUserLevel(userDao.getRights(users_id))) {
+                       Sessiondata sd = sessionDao.check(sid);
+                       if 
(AuthLevelUtil.hasUserLevel(userDao.getRights(sd.getUserId()))) {
 
                                IConnection current = Red5.getConnectionLocal();
                                String streamid = current.getClient().getId();

Modified: 
openmeetings/application/branches/3.2.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/ConferenceService.java
URL: 
http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/ConferenceService.java?rev=1755553&r1=1755552&r2=1755553&view=diff
==============================================================================
--- 
openmeetings/application/branches/3.2.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/ConferenceService.java
 (original)
+++ 
openmeetings/application/branches/3.2.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/ConferenceService.java
 Tue Aug  9 03:17:22 2016
@@ -37,6 +37,7 @@ import org.apache.openmeetings.db.entity
 import org.apache.openmeetings.db.entity.room.Client;
 import org.apache.openmeetings.db.entity.room.Room;
 import org.apache.openmeetings.db.entity.room.RoomModerator;
+import org.apache.openmeetings.db.entity.server.Sessiondata;
 import org.apache.openmeetings.db.entity.room.RoomGroup;
 import org.apache.openmeetings.db.util.AuthLevelUtil;
 import org.red5.logging.Red5LoggerFactory;
@@ -54,7 +55,7 @@ public class ConferenceService {
        @Autowired
        private AppointmentDao appointmentDao;
        @Autowired
-       private SessiondataDao sessiondataDao;
+       private SessiondataDao sessionDao;
        @Autowired
        private UserDao userDao;
        @Autowired
@@ -66,10 +67,10 @@ public class ConferenceService {
        @Autowired
        private ISessionManager sessionManager = null;
 
-       public List<RoomGroup> getRoomsByGroupWithoutType(String SID, long 
groupId) {
+       public List<RoomGroup> getRoomsByGroupWithoutType(String sid, long 
groupId) {
                try {
-                       Long userId = sessiondataDao.check(SID);
-                       if 
(AuthLevelUtil.hasUserLevel(userDao.getRights(userId))) {
+                       Sessiondata sd = sessionDao.check(sid);
+                       if 
(AuthLevelUtil.hasUserLevel(userDao.getRights(sd.getUserId()))) {
                                log.debug("getRoomsByGroupWithoutType");
                                List<RoomGroup> roomGroupsList = 
roomManager.getRoomGroupByGroupId(groupId);
                                
@@ -88,16 +89,16 @@ public class ConferenceService {
        /**
         * get a List of all public availible rooms (non-appointments)
         * 
-        * @param SID
+        * @param sid
         * @param typeId
         * @return - public rooms with given type, null in case of the error
         */
-       public List<Room> getRoomsPublic(String SID, Long typeId) {
+       public List<Room> getRoomsPublic(String sid, Long typeId) {
                try {
                        log.debug("getRoomsPublic");
 
-                       Long userId = sessiondataDao.check(SID);
-                       if 
(AuthLevelUtil.hasUserLevel(userDao.getRights(userId))) {
+                       Sessiondata sd = sessionDao.check(sid);
+                       if 
(AuthLevelUtil.hasUserLevel(userDao.getRights(sd.getUserId()))) {
        
                                List<Room> roomList = 
roomDao.getPublicRooms(Room.Type.get(typeId));
        
@@ -121,10 +122,10 @@ public class ConferenceService {
                return null;
        }
 
-       public List<Room> getRoomsPublicWithoutType(String SID) {
+       public List<Room> getRoomsPublicWithoutType(String sid) {
                try {
-                       Long userId = sessiondataDao.check(SID);
-                       if 
(AuthLevelUtil.hasUserLevel(userDao.getRights(userId))) {
+                       Sessiondata sd = sessionDao.check(sid);
+                       if 
(AuthLevelUtil.hasUserLevel(userDao.getRights(sd.getUserId()))) {
        
                                List<Room> roomList = roomDao.getPublicRooms();
                                
@@ -155,13 +156,12 @@ public class ConferenceService {
 
        // 
--------------------------------------------------------------------------------------------
 
-       public List<Room> getAppointedMeetingRoomsWithoutType(String SID) {
+       public List<Room> getAppointedMeetingRoomsWithoutType(String sid) {
                log.debug("ConferenceService.getAppointedMeetings");
                try {
-                       Long userId = sessiondataDao.check(SID);
-
-                       if 
(AuthLevelUtil.hasUserLevel(userDao.getRights(userId))) {
-                               List<Appointment> appointments = 
appointmentDao.getForToday(userId);
+                       Sessiondata sd = sessionDao.check(sid);
+                       if 
(AuthLevelUtil.hasUserLevel(userDao.getRights(sd.getUserId()))) {
+                               List<Appointment> appointments = 
appointmentDao.getForToday(sd.getUserId());
                                List<Room> result = new ArrayList<Room>();
 
                                if (appointments != null) {
@@ -185,10 +185,10 @@ public class ConferenceService {
                return null;
        }
 
-       public Room getRoomWithCurrentUsersById(String SID, long roomId) {
+       public Room getRoomWithCurrentUsersById(String sid, long roomId) {
                Room room = null;
-               Long userId = sessiondataDao.check(SID);
-               if (AuthLevelUtil.hasUserLevel(userDao.getRights(userId))) {
+               Sessiondata sd = sessionDao.check(sid);
+               if 
(AuthLevelUtil.hasUserLevel(userDao.getRights(sd.getUserId()))) {
                        room = roomDao.get(roomId);
                        
room.setCurrentusers(sessionManager.getClientListByRoom(room.getId()));
                }
@@ -198,37 +198,37 @@ public class ConferenceService {
        /**
         * gets a list of all available rooms
         * 
-        * @param SID
+        * @param sid
         * @param start
         * @param max
         * @param orderby
         * @param asc
         * @return - list of rooms being searched
         */
-       public SearchResult<Room> getRooms(String SID, int start, int max, 
String orderby, boolean asc, String search) {
+       public SearchResult<Room> getRooms(String sid, int start, int max, 
String orderby, boolean asc, String search) {
                log.debug("getRooms");
 
-               Long userId = sessiondataDao.check(SID);
-               if (AuthLevelUtil.hasAdminLevel(userDao.getRights(userId))) {
+               Sessiondata sd = sessionDao.check(sid);
+               if 
(AuthLevelUtil.hasAdminLevel(userDao.getRights(sd.getUserId()))) {
                        return roomManager.getRooms(start, max, orderby, asc, 
search);
                }
                return null;
        }
 
-       public SearchResult<Room> getRoomsWithCurrentUsers(String SID, int 
start, int max, String orderby, boolean asc) {
+       public SearchResult<Room> getRoomsWithCurrentUsers(String sid, int 
start, int max, String orderby, boolean asc) {
                log.debug("getRooms");
 
-               Long userId = sessiondataDao.check(SID);
-               if (AuthLevelUtil.hasAdminLevel(userDao.getRights(userId))) {
+               Sessiondata sd = sessionDao.check(sid);
+               if 
(AuthLevelUtil.hasAdminLevel(userDao.getRights(sd.getUserId()))) {
                        return roomManager.getRoomsWithCurrentUsers(start, max, 
orderby, asc);
                }
                return null;
        }
 
-       public List<RoomModerator> getRoomModeratorsByRoomId(String SID, Long 
roomId) {
+       public List<RoomModerator> getRoomModeratorsByRoomId(String sid, Long 
roomId) {
                try {
-                       Long userId = sessiondataDao.check(SID);
-                       if 
(AuthLevelUtil.hasUserLevel(userDao.getRights(userId))) {
+                       Sessiondata sd = sessionDao.check(sid);
+                       if 
(AuthLevelUtil.hasUserLevel(userDao.getRights(sd.getUserId()))) {
                                return roomModeratorDao.getByRoomId(roomId);
                        }
                } catch (Exception err) {
@@ -247,37 +247,37 @@ public class ConferenceService {
                return sessionManager.getClientListByRoom(roomId);
        }
 
-       public List<Room> getRoomsWithCurrentUsersByList(String SID, int start, 
int max, String orderby, boolean asc) {
+       public List<Room> getRoomsWithCurrentUsersByList(String sid, int start, 
int max, String orderby, boolean asc) {
                log.debug("getRoomsWithCurrentUsersByList");
 
-               Long userId = sessiondataDao.check(SID);
-               if (AuthLevelUtil.hasAdminLevel(userDao.getRights(userId))) {
+               Sessiondata sd = sessionDao.check(sid);
+               if 
(AuthLevelUtil.hasAdminLevel(userDao.getRights(sd.getUserId()))) {
                        return 
roomManager.getRoomsWithCurrentUsersByList(start, max, orderby, asc);
                }
                return null;
        }
 
-       public List<Room> getRoomsWithCurrentUsersByListAndType(String SID, int 
start, int max, String orderby, boolean asc, String externalType) {
+       public List<Room> getRoomsWithCurrentUsersByListAndType(String sid, int 
start, int max, String orderby, boolean asc, String externalType) {
                log.debug("getRoomsWithCurrentUsersByListAndType");
 
-               Long userId = sessiondataDao.check(SID);
-               if (AuthLevelUtil.hasAdminLevel(userDao.getRights(userId))) {
+               Sessiondata sd = sessionDao.check(sid);
+               if 
(AuthLevelUtil.hasAdminLevel(userDao.getRights(sd.getUserId()))) {
                        return 
roomManager.getRoomsWithCurrentUsersByListAndType(start, max, orderby, asc, 
externalType);
                }
                return null;
        }
 
-       public Room getRoomByOwnerAndType(String SID, Long typeId, String 
roomName) {
-               Long userId = sessiondataDao.check(SID);
-               if (AuthLevelUtil.hasUserLevel(userDao.getRights(userId))) {
-                       return roomDao.getUserRoom(userId, 
Room.Type.get(typeId), roomName);
+       public Room getRoomByOwnerAndType(String sid, Long typeId, String 
roomName) {
+               Sessiondata sd = sessionDao.check(sid);
+               if 
(AuthLevelUtil.hasUserLevel(userDao.getRights(sd.getUserId()))) {
+                       return roomDao.getUserRoom(sd.getUserId(), 
Room.Type.get(typeId), roomName);
                }
                return null;
        }
 
-       public Room getRoomById(String SID, Long roomId) {
-               Long userId = sessiondataDao.check(SID);
-               if (AuthLevelUtil.hasUserLevel(userDao.getRights(userId))) {
+       public Room getRoomById(String sid, Long roomId) {
+               Sessiondata sd = sessionDao.check(sid);
+               if 
(AuthLevelUtil.hasUserLevel(userDao.getRights(sd.getUserId()))) {
                        return roomDao.get(roomId);
                }
                return null;

Modified: 
openmeetings/application/branches/3.2.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/InvitationService.java
URL: 
http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/InvitationService.java?rev=1755553&r1=1755552&r2=1755553&view=diff
==============================================================================
--- 
openmeetings/application/branches/3.2.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/InvitationService.java
 (original)
+++ 
openmeetings/application/branches/3.2.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/InvitationService.java
 Tue Aug  9 03:17:22 2016
@@ -31,6 +31,7 @@ import org.apache.openmeetings.db.entity
 import org.apache.openmeetings.db.entity.room.Invitation;
 import org.apache.openmeetings.db.entity.room.Invitation.MessageType;
 import org.apache.openmeetings.db.entity.room.Invitation.Valid;
+import org.apache.openmeetings.db.entity.server.Sessiondata;
 import org.apache.openmeetings.db.entity.user.User;
 import org.apache.openmeetings.db.util.AuthLevelUtil;
 import org.apache.openmeetings.util.CalendarHelper;
@@ -48,7 +49,7 @@ public class InvitationService implement
        @Autowired
        private ISessionManager sessionManager;
        @Autowired
-       private SessiondataDao sessiondataDao;
+       private SessiondataDao sessionDao;
        @Autowired
        private UserDao userDao;
        @Autowired
@@ -75,7 +76,7 @@ public class InvitationService implement
        /**
         * send an invitation to another user by Mail
         * 
-        * @param SID
+        * @param sid
         * @param firstname
         * @param lastname
         * @param message
@@ -94,7 +95,7 @@ public class InvitationService implement
      * @param iCalTz
         * @return - invitation object in case of success, "Sys - Error" string 
or null in case of error
         */
-       public Object sendInvitationHash(String SID, String firstname, String 
lastname,
+       public Object sendInvitationHash(String sid, String firstname, String 
lastname,
                        String message, String email, String subject,
                        Long roomId, String conferencedomain, Boolean 
isPasswordProtected,
                        String invitationpass, Integer valid, String 
validFromDate,
@@ -102,7 +103,8 @@ public class InvitationService implement
                        Long languageId, String iCalTz, boolean sendMail) {
 
                try {
-                       Long userId = sessiondataDao.check(SID);
+                       Sessiondata sd = sessionDao.check(sid);
+                       Long userId = sd.getUserId();
 
                        if 
(AuthLevelUtil.hasUserLevel(userDao.getRights(userId))) {
                                log.debug("sendInvitationHash: ");
@@ -141,10 +143,9 @@ public class InvitationService implement
                return null;
        }
 
-       public String sendInvitationByHash(String SID, String invitationHash, 
String message, String subject, Long languageId) throws Exception {
-               Long userId = sessiondataDao.check(SID);
-
-               if (AuthLevelUtil.hasUserLevel(userDao.getRights(userId))) {
+       public String sendInvitationByHash(String sid, String invitationHash, 
String message, String subject, Long languageId) throws Exception {
+               Sessiondata sd = sessionDao.check(sid);
+               if 
(AuthLevelUtil.hasUserLevel(userDao.getRights(sd.getUserId()))) {
                        Invitation inv = 
(Invitation)invitationManager.getInvitationByHashCode(invitationHash, false);
                        inv.getInvitee().setLanguageId(languageId);
                        invitationManager.sendInvitationLink(inv, 
MessageType.Create, subject, message, false);
@@ -161,7 +162,7 @@ public class InvitationService implement
                        if (i.isAllowEntry()) {
                                User u = i.getInvitee();
                                Long userId = -u.getId(); //TODO check this, 
extremely weird
-                               sessiondataDao.updateUser(SID, userId);
+                               sessionDao.updateUser(SID, userId);
                                IConnection current = Red5.getConnectionLocal();
                                String streamId = current.getClient().getId();
                                Client client = 
sessionManager.getClientByStreamId(streamId, null);

Modified: 
openmeetings/application/branches/3.2.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/MainService.java
URL: 
http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/MainService.java?rev=1755553&r1=1755552&r2=1755553&view=diff
==============================================================================
--- 
openmeetings/application/branches/3.2.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/MainService.java
 (original)
+++ 
openmeetings/application/branches/3.2.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/MainService.java
 Tue Aug  9 03:17:22 2016
@@ -78,7 +78,7 @@ public class MainService implements IPen
        @Autowired
        private ScopeApplicationAdapter scopeApplicationAdapter;
        @Autowired
-       private SessiondataDao sessiondataDao;
+       private SessiondataDao sessionDao;
        @Autowired
        private ConfigurationDao configurationDao;
        @Autowired
@@ -103,14 +103,14 @@ public class MainService implements IPen
        /**
         * gets a user by its SID
         * 
-        * @param SID
+        * @param sid
         * @param userId
         * @return - user with SID given
         */
-       public User getUser(String SID, long userId) {
+       public User getUser(String sid, long userId) {
                User users = new User();
-               Long users_id = sessiondataDao.check(SID);
-               Set<Right> rights = userDao.getRights(users_id);
+               Sessiondata sd = sessionDao.check(sid);
+               Set<Right> rights = userDao.getRights(sd.getUserId());
                if (AuthLevelUtil.hasAdminLevel(rights) || 
AuthLevelUtil.hasWebServiceLevel(rights)) {
                        users = userDao.get(userId);
                } else {
@@ -141,12 +141,12 @@ public class MainService implements IPen
         * @return a unique session identifier
         */
        public Sessiondata getsessiondata() {
-               return sessiondataDao.create();
+               return sessionDao.create();
        }
 
        public Long setCurrentUserGroup(String SID, Long groupId) {
                try {
-                       sessiondataDao.updateUserGroup(SID, groupId);
+                       sessionDao.updateUserGroup(SID, groupId);
                        return 1L;
                } catch (Exception err) {
                        log.error("[setCurrentUserGroup]", err);
@@ -204,7 +204,8 @@ public class MainService implements IPen
        
        public User loginWicket(String wicketSID, Long wicketroomid) {
                log.debug("[loginWicket] wicketSID: '{}'; wicketroomid: '{}'", 
wicketSID, wicketroomid);
-               Long userId = sessiondataDao.check(wicketSID);
+               Sessiondata sd = sessionDao.check(wicketSID);
+               Long userId = sd.getUserId();
                User u = userId == null ? null : userDao.get(userId);
                if (u != null && wicketroomid != null) {
                        log.debug("[loginWicket] user and roomid are not empty: 
" + userId + ", " + wicketroomid);
@@ -214,7 +215,7 @@ public class MainService implements IPen
                                Client currentClient = 
sessionManager.getClientByStreamId(streamId, null);
                                
                                if (!u.getGroupUsers().isEmpty()) {
-                                       
u.setSessionData(sessiondataDao.get(wicketSID));
+                                       u.setSessionData(sd);
                                        currentClient.setUserId(u.getId());
                                        currentClient.setRoomId(wicketroomid);
                                        
SessionVariablesUtil.setUserId(current.getClient(), u.getId());
@@ -268,7 +269,7 @@ public class MainService implements IPen
                        Client currentClient = 
sessionManager.getClientByStreamId(streamId, null);
 
                        if (currentClient.getUserId() != null) {
-                               sessiondataDao.updateUser(SID, 
currentClient.getUserId());
+                               sessionDao.updateUser(SID, 
currentClient.getUserId());
                        }
 
                        
currentClient.setAllowRecording(soapLogin.isAllowRecording());
@@ -352,15 +353,14 @@ public class MainService implements IPen
         * Attention! This SID is NOT the default session id! its the Session id
         * retrieved in the call from the SOAP Gateway!
         * 
-        * @param SID
+        * @param sid
         * @return - 1 in case of success, -1 otherwise
         */
-       public Long loginUserByRemote(String SID) {
+       public Long loginUserByRemote(String sid) {
                try {
-                       Long users_id = sessiondataDao.check(SID);
-                       if 
(AuthLevelUtil.hasUserLevel(userDao.getRights(users_id))) {
-                               Sessiondata sd = sessiondataDao.get(SID);
-                               if (sd == null || sd.getXml() == null) {
+                       Sessiondata sd = sessionDao.check(sid);
+                       if 
(AuthLevelUtil.hasUserLevel(userDao.getRights(sd.getUserId()))) {
+                               if (sd.getXml() == null) {
                                        return -37L;
                                } else {
                                        RemoteSessionObject userObject = 
RemoteSessionObject.fromXml(sd.getXml());
@@ -404,7 +404,7 @@ public class MainService implements IPen
                                                } else {
                                                        
user.setPictureuri(userObject.getPictureUrl());
 
-                                                       userDao.update(user, 
users_id);
+                                                       userDao.update(user, 
sd.getUserId());
 
                                                        
currentClient.setUserId(user.getId());
                                                        
SessionVariablesUtil.setUserId(current.getClient(), user.getId());
@@ -420,7 +420,7 @@ public class MainService implements IPen
                                        log.debug("UPDATE USER BY STREAMID " + 
streamId);
 
                                        if (currentClient.getUserId() != null) {
-                                               sessiondataDao.updateUser(SID, 
currentClient.getUserId());
+                                               sessionDao.updateUser(sid, 
currentClient.getUserId());
                                        }
 
                                        
sessionManager.updateClientByStreamId(streamId, currentClient, false, null);
@@ -437,12 +437,12 @@ public class MainService implements IPen
        /**
         * clear this session id
         * 
-        * @param SID
+        * @param sid
         * @return string value if completed
         */
-       public Long logoutUser(String SID) {
+       public Long logoutUser(String sid) {
                try {
-                       Long users_id = sessiondataDao.check(SID);
+                       Sessiondata sd = sessionDao.check(sid);
                        IConnection current = Red5.getConnectionLocal();
                        Client currentClient = 
sessionManager.getClientByStreamId(current.getClient().getId(), null);
                        
@@ -450,7 +450,7 @@ public class MainService implements IPen
                        
                        currentClient.setUserObject(null, null, null, null);
                        
-                       return userManager.logout(SID, users_id);
+                       return userManager.logout(sid, sd.getUserId());
                } catch (Exception err) {
                        log.error("[logoutUser]",err);
                }
@@ -466,10 +466,10 @@ public class MainService implements IPen
                return null;
        }
 
-       public List<Userdata> getUserdata(String SID) {
-               Long users_id = sessiondataDao.check(SID);
-               if (AuthLevelUtil.hasUserLevel(userDao.getRights(users_id))) {
-                       return userManager.getUserdataDashBoard(users_id);
+       public List<Userdata> getUserdata(String sid) {
+               Sessiondata sd = sessionDao.check(sid);
+               if 
(AuthLevelUtil.hasUserLevel(userDao.getRights(sd.getUserId()))) {
+                       return userManager.getUserdataDashBoard(sd.getUserId());
                }
                return null;
        }

Modified: 
openmeetings/application/branches/3.2.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/UserService.java
URL: 
http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/UserService.java?rev=1755553&r1=1755552&r2=1755553&view=diff
==============================================================================
--- 
openmeetings/application/branches/3.2.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/UserService.java
 (original)
+++ 
openmeetings/application/branches/3.2.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/UserService.java
 Tue Aug  9 03:17:22 2016
@@ -33,6 +33,7 @@ import org.apache.openmeetings.db.dao.us
 import org.apache.openmeetings.db.dao.user.UserDao;
 import org.apache.openmeetings.db.entity.room.Client;
 import org.apache.openmeetings.db.entity.server.Server;
+import org.apache.openmeetings.db.entity.server.Sessiondata;
 import org.apache.openmeetings.db.entity.user.User;
 import org.apache.openmeetings.db.util.AuthLevelUtil;
 import org.apache.wicket.Application;
@@ -55,7 +56,7 @@ public class UserService implements IUse
        @Autowired
        private ScopeApplicationAdapter scopeApplicationAdapter;
        @Autowired
-       private SessiondataDao sessiondataDao;
+       private SessiondataDao sessionDao;
        @Autowired
        private UserDao userDao;
        @Autowired
@@ -66,13 +67,13 @@ public class UserService implements IUse
        /**
         * get user by id, admin only
         * 
-        * @param SID
+        * @param sid
         * @param userId
         * @return User with the id given
         */
-       public User getUserById(String SID, long userId) {
-               Long authUserId = sessiondataDao.check(SID);
-               if (AuthLevelUtil.hasUserLevel(userDao.getRights(authUserId))) {
+       public User getUserById(String sid, long userId) {
+               Sessiondata sd = sessionDao.check(sid);
+               if 
(AuthLevelUtil.hasUserLevel(userDao.getRights(sd.getUserId()))) {
                        return userDao.get(userId);
                }
                return null;
@@ -86,7 +87,7 @@ public class UserService implements IUse
         */
        public String refreshSession(String SID) {
                try {
-                       sessiondataDao.check(SID);
+                       sessionDao.check(SID);
                        return "ok";
                } catch (Exception err) {
                        log.error("[refreshSession]", err);
@@ -97,15 +98,15 @@ public class UserService implements IUse
        /**
         * gets a whole user-list(admin-role only)
         * 
-        * @param SID
+        * @param sid
         * @param start
         * @param max
         * @param orderby
         * @return whole user-list
         */
-       public List<User> getUserList(String SID, int start, int max, String 
orderby, boolean asc) {
-               Long userId = sessiondataDao.check(SID);
-               if (AuthLevelUtil.hasAdminLevel(userDao.getRights(userId))) {
+       public List<User> getUserList(String sid, int start, int max, String 
orderby, boolean asc) {
+               Sessiondata sd = sessionDao.check(sid);
+               if 
(AuthLevelUtil.hasAdminLevel(userDao.getRights(sd.getUserId()))) {
                        return userDao.get("", start, max, orderby + (asc ? " 
ASC" : " DESC"));
                }
                return null;
@@ -115,7 +116,7 @@ public class UserService implements IUse
         * kicks a user from the server, also from slaves if needed, this 
method is
         * only invoked by the connection administration UI
         * 
-        * @param SID
+        * @param sid
         * @param streamid
         * @param serverId
         *            0 means the session is locally, otherwise we have to 
perform a
@@ -123,11 +124,11 @@ public class UserService implements IUse
         * @return - true if user has sufficient permissions, false otherwise
         */
        @Override
-       public boolean kickUserByStreamId(String SID, String streamid, long 
serverId) {
+       public boolean kickUserByStreamId(String sid, String streamid, long 
serverId) {
                try {
-                       Long userId = sessiondataDao.check(SID);
+                       Sessiondata sd = sessionDao.check(sid);
                        // admins only
-                       if 
(AuthLevelUtil.hasAdminLevel(userDao.getRights(userId))) {
+                       if 
(AuthLevelUtil.hasAdminLevel(userDao.getRights(sd.getUserId()))) {
                                if (serverId == 0) {
                                        Client rcl = 
sessionManager.getClientByStreamId(streamid, null);
 
@@ -173,15 +174,15 @@ public class UserService implements IUse
         * invoked from inside the conference room, that means all clients are 
on the
         * same server, no matter if clustered or not.
         * 
-        * @param SID
+        * @param sid
         * @param publicSID
         * @return - true in case user have sufficient permissions, null 
otherwise
         */
-       public boolean kickUserByPublicSID(String SID, String publicSID) {
+       public boolean kickUserByPublicSID(String sid, String publicSID) {
                try {
-                       Long userId = sessiondataDao.check(SID);
+                       Sessiondata sd = sessionDao.check(sid);
                        // users only
-                       if 
(AuthLevelUtil.hasUserLevel(userDao.getRights(userId))) {
+                       if 
(AuthLevelUtil.hasUserLevel(userDao.getRights(sd.getUserId()))) {
                                Client rcl = 
sessionManager.getClientByPublicSID(publicSID, null);
 
                                if (rcl == null) {
@@ -208,11 +209,11 @@ public class UserService implements IUse
        }
 
        @Override
-       public boolean kickUserBySessionId(String SID, long userId, String 
sessionId) {
+       public boolean kickUserBySessionId(String sid, long userId, String 
sessionId) {
                try {
-                       Long users_id = sessiondataDao.check(SID);
+                       Sessiondata sd = sessionDao.check(sid);
                        // admin only
-                       if 
(AuthLevelUtil.hasAdminLevel(userDao.getRights(users_id))) {
+                       if 
(AuthLevelUtil.hasAdminLevel(userDao.getRights(sd.getUserId()))) {
                                
((IApplication)Application.get(wicketApplicationName)).invalidateClient(userId, 
sessionId);
                                return true;
                        }

Modified: 
openmeetings/application/branches/3.2.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/WhiteBoardService.java
URL: 
http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/WhiteBoardService.java?rev=1755553&r1=1755552&r2=1755553&view=diff
==============================================================================
--- 
openmeetings/application/branches/3.2.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/WhiteBoardService.java
 (original)
+++ 
openmeetings/application/branches/3.2.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/WhiteBoardService.java
 Tue Aug  9 03:17:22 2016
@@ -41,6 +41,7 @@ import org.apache.openmeetings.db.dto.ro
 import org.apache.openmeetings.db.dto.room.WhiteboardObjectList;
 import org.apache.openmeetings.db.dto.room.WhiteboardSyncLockObject;
 import org.apache.openmeetings.db.entity.room.Client;
+import org.apache.openmeetings.db.entity.server.Sessiondata;
 import org.apache.openmeetings.db.util.AuthLevelUtil;
 import org.apache.openmeetings.util.OmFileHelper;
 import org.red5.logging.Red5LoggerFactory;
@@ -70,7 +71,7 @@ public class WhiteBoardService implement
        @Autowired
        private WhiteBoardObjectListManagerById wbListManagerById;
        @Autowired
-       private SessiondataDao sessiondataDao;
+       private SessiondataDao sessionDao;
 
        public Long getNewWhiteboardId() {
                try {
@@ -142,20 +143,19 @@ public class WhiteBoardService implement
         * besides the Moderator to draw on the whiteboard, only a Moderator is
         * allowed to trigger this function
         * 
-        * @param SID
+        * @param sid
         * @param publicSID
         * @param canDraw
         * @return null in case of success, false otherwise
         */
-       public boolean setCanDraw(String SID, String publicSID, boolean 
canDraw) {
+       public boolean setCanDraw(String sid, String publicSID, boolean 
canDraw) {
                try {
                        IConnection current = Red5.getConnectionLocal();
                        String streamid = current.getClient().getId();
                        Client currentClient = 
sessionManager.getClientByStreamId(streamid, null);
 
-                       Long users_id = sessiondataDao.check(SID);
-
-                       if 
(AuthLevelUtil.hasUserLevel(userDao.getRights(users_id))) {
+                       Sessiondata sd = sessionDao.check(sid);
+                       if 
(AuthLevelUtil.hasUserLevel(userDao.getRights(sd.getUserId()))) {
                                if (currentClient.getIsMod()) {
                                        Client rcl = 
sessionManager.getClientByPublicSID(publicSID, null);
 
@@ -177,15 +177,14 @@ public class WhiteBoardService implement
                return false;
        }
 
-       public boolean setCanShare(String SID, String publicSID, boolean 
canShare) {
+       public boolean setCanShare(String sid, String publicSID, boolean 
canShare) {
                try {
                        IConnection current = Red5.getConnectionLocal();
                        String streamid = current.getClient().getId();
                        Client currentClient = 
sessionManager.getClientByStreamId(streamid, null);
 
-                       Long users_id = sessiondataDao.check(SID);
-
-                       if 
(AuthLevelUtil.hasUserLevel(userDao.getRights(users_id))) {
+                       Sessiondata sd = sessionDao.check(sid);
+                       if 
(AuthLevelUtil.hasUserLevel(userDao.getRights(sd.getUserId()))) {
                                if (currentClient.getIsMod()) {
                                        Client rcl = 
sessionManager.getClientByPublicSID(publicSID, null);
 
@@ -207,15 +206,14 @@ public class WhiteBoardService implement
                return false;
        }
 
-       public boolean setCanRemote(String SID, String publicSID, boolean 
canRemote) {
+       public boolean setCanRemote(String sid, String publicSID, boolean 
canRemote) {
                try {
                        IConnection current = Red5.getConnectionLocal();
                        String streamid = current.getClient().getId();
                        Client currentClient = 
sessionManager.getClientByStreamId(streamid, null);
 
-                       Long userId = sessiondataDao.check(SID);
-
-                       if 
(AuthLevelUtil.hasUserLevel(userDao.getRights(userId))) {
+                       Sessiondata sd = sessionDao.check(sid);
+                       if 
(AuthLevelUtil.hasUserLevel(userDao.getRights(sd.getUserId()))) {
                                if (currentClient.getIsMod()) {
                                        Client rcl = 
sessionManager.getClientByPublicSID(publicSID, null);
 
@@ -237,16 +235,15 @@ public class WhiteBoardService implement
                return false;
        }
 
-    public boolean setCanGiveAudio(String SID, String publicSID, boolean 
canGiveAudio) {
+       public boolean setCanGiveAudio(String sid, String publicSID, boolean 
canGiveAudio) {
                try {
-            log.debug("[setCanGiveAudio] " + SID + ", " + publicSID + ", " + 
canGiveAudio);
+                       log.debug("[setCanGiveAudio] " + sid + ", " + publicSID 
+ ", " + canGiveAudio);
                        IConnection current = Red5.getConnectionLocal();
                        String streamid = current.getClient().getId();
                        Client currentClient = 
sessionManager.getClientByStreamId(streamid, null);
 
-                       Long users_id = sessiondataDao.check(SID);
-
-                       if 
(AuthLevelUtil.hasUserLevel(userDao.getRights(users_id))) {
+                       Sessiondata sd = sessionDao.check(sid);
+                       if 
(AuthLevelUtil.hasUserLevel(userDao.getRights(sd.getUserId()))) {
                                if (currentClient.getIsMod()) {
                                        Client rcl = 
sessionManager.getClientByPublicSID(publicSID, null);
 

Modified: 
openmeetings/application/branches/3.2.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/red5/ScopeApplicationAdapter.java
URL: 
http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/red5/ScopeApplicationAdapter.java?rev=1755553&r1=1755552&r2=1755553&view=diff
==============================================================================
--- 
openmeetings/application/branches/3.2.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/red5/ScopeApplicationAdapter.java
 (original)
+++ 
openmeetings/application/branches/3.2.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/red5/ScopeApplicationAdapter.java
 Tue Aug  9 03:17:22 2016
@@ -52,6 +52,7 @@ import org.apache.openmeetings.db.dao.se
 import org.apache.openmeetings.db.dao.user.UserDao;
 import org.apache.openmeetings.db.dto.room.BrowserStatus;
 import org.apache.openmeetings.db.dto.room.RoomStatus;
+import org.apache.openmeetings.db.dto.server.ClientSessionInfo;
 import org.apache.openmeetings.db.entity.file.FileItem;
 import org.apache.openmeetings.db.entity.log.ConferenceLog;
 import org.apache.openmeetings.db.entity.room.Client;
@@ -1438,7 +1439,12 @@ public class ScopeApplicationAdapter ext
        }
        
        public void sendToWhiteboard(String uid, Long wbId, FileItem fi, String 
url) {
-               Client client = 
sessionManager.getClientByPublicSIDAnyServer(uid).getRcl();
+               ClientSessionInfo csi = 
sessionManager.getClientByPublicSIDAnyServer(uid);
+               if (csi == null) {
+                       log.warn("No client was found to send Wml:: {}", uid);
+                       return;
+               }
+               Client client = csi.getRcl();
                
                List<?> wbObject = new ArrayList<>();
                switch (fi.getType()) {

Modified: 
openmeetings/application/branches/3.2.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/label/LabelDao.java
URL: 
http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/label/LabelDao.java?rev=1755553&r1=1755552&r2=1755553&view=diff
==============================================================================
--- 
openmeetings/application/branches/3.2.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/label/LabelDao.java
 (original)
+++ 
openmeetings/application/branches/3.2.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/label/LabelDao.java
 Tue Aug  9 03:17:22 2016
@@ -120,7 +120,7 @@ public class LabelDao implements IDataPr
                return new File(OmFileHelper.getLanguagesDir(), 
OmFileHelper.nameOfLanguageFile);
        }
        
-       public static Class<?> getAppClass() throws ClassNotFoundException {
+       public static synchronized Class<?> getAppClass() throws 
ClassNotFoundException {
                if (APP == null) {
                        //FIXME HACK to resolve package dependencies
                        APP = 
Class.forName("org.apache.openmeetings.web.app.Application");

Modified: 
openmeetings/application/branches/3.2.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/server/SessiondataDao.java
URL: 
http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/server/SessiondataDao.java?rev=1755553&r1=1755552&r2=1755553&view=diff
==============================================================================
--- 
openmeetings/application/branches/3.2.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/server/SessiondataDao.java
 (original)
+++ 
openmeetings/application/branches/3.2.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/server/SessiondataDao.java
 Tue Aug  9 03:17:22 2016
@@ -49,12 +49,7 @@ public class SessiondataDao {
        @Autowired
        private ISessionManager sessionManager;
 
-       /**
-        * creates a new session-object in the database
-        * 
-        * @return
-        */
-       public Sessiondata create() {
+       private static Sessiondata newInstance() {
                log.debug("startsession :: startsession");
 
                Sessiondata sd = new Sessiondata();
@@ -62,28 +57,17 @@ public class SessiondataDao {
                sd.setCreated(new Date());
                sd.setUserId(null);
 
-               return update(sd);
+               return sd;
        }
-
-       public Sessiondata get(String SID) {
-               try {
-                       log.debug("updateUser User SID: " + SID);
-
-                       TypedQuery<Sessiondata> q = 
em.createNamedQuery("getSessionById", 
Sessiondata.class).setParameter("sessionId", SID);
-
-                       List<Sessiondata> fullList = q.getResultList();
-                       if (fullList.size() == 0) {
-                               log.error("Could not find session to update: " 
+ SID);
-                               return null;
-                       }
-
-                       Sessiondata sd = fullList.get(0);
-
-                       return sd;
-               } catch (Exception ex2) {
-                       log.error("[getSessionByHash]: ", ex2);
-               }
-               return null;
+       
+       /**
+        * creates a new session-object in the database
+        * 
+        * @return created Sessiondata with random UID
+        */
+       public Sessiondata create() {
+               log.debug("create :: create");
+               return update(newInstance());
        }
 
        /**
@@ -91,32 +75,20 @@ public class SessiondataDao {
         * @param SID
         * @return
         */
-       public Long check(String SID) {
-               try {
-                       TypedQuery<Sessiondata> query = 
em.createNamedQuery("getSessionById", 
Sessiondata.class).setParameter("sessionId", SID);
-                       List<Sessiondata> sessions = query.getResultList();
-
-                       Sessiondata sd = null;
-                       if (sessions != null && sessions.size() > 0) {
-                               sd = sessions.get(0);
-                       }
+       public Sessiondata check(String SID) {
+               List<Sessiondata> sessions = 
em.createNamedQuery("getSessionById", 
Sessiondata.class).setParameter("sessionId", SID).getResultList();
 
-                       // Update the Session Object
-                       if (sd != null) {
-                               update(sd);
-                       }
+               Sessiondata sd = null;
+               if (sessions != null && sessions.size() > 0) {
+                       sd = sessions.get(0);
+               }
 
-                       // Checks if wether the Session or the User Object of 
that Session
-                       // is set yet
-                       if (sd == null || sd.getUserId() == null || 
sd.getUserId().equals(new Long(0))) {
-                               return new Long(0);
-                       } else {
-                               return sd.getUserId();
-                       }
-               } catch (Exception ex2) {
-                       log.error("[checkSession]: ", ex2);
+               // Checks if wether the Session or the User Object of that 
Session
+               // is set yet
+               if (sd == null || sd.getUserId() == null || 
sd.getUserId().equals(new Long(0))) {
+                       return newInstance();
                }
-               return null;
+               return update(sd);
        }
 
        /**
@@ -288,7 +260,7 @@ public class SessiondataDao {
                                }
                                String SID = aux.substring(init_pos, end_pos);
 
-                               Sessiondata sData = get(SID);
+                               Sessiondata sData = check(SID);
                                if (sData != null) {
                                        em.remove(sData);
                                }

Modified: 
openmeetings/application/branches/3.2.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/user/UserDao.java
URL: 
http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/user/UserDao.java?rev=1755553&r1=1755552&r2=1755553&view=diff
==============================================================================
--- 
openmeetings/application/branches/3.2.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/user/UserDao.java
 (original)
+++ 
openmeetings/application/branches/3.2.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/user/UserDao.java
 Tue Aug  9 03:17:22 2016
@@ -685,8 +685,10 @@ public class UserDao implements IDataPro
                }
                u.setDeleted(false);
                u.setPictureuri(pictureuri);
-               for (Long grpId : groupIds) {
-                       u.getGroupUsers().add(new 
GroupUser(groupDao.get(grpId), u));
+               if (groupIds != null) {
+                       for (Long grpId : groupIds) {
+                               u.getGroupUsers().add(new 
GroupUser(groupDao.get(grpId), u));
+                       }
                }
                
                return update(u, null);

Modified: 
openmeetings/application/branches/3.2.x/openmeetings-screenshare/src/main/java/org/apache/openmeetings/screen/webstart/CoreScreenShare.java
URL: 
http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-screenshare/src/main/java/org/apache/openmeetings/screen/webstart/CoreScreenShare.java?rev=1755553&r1=1755552&r2=1755553&view=diff
==============================================================================
--- 
openmeetings/application/branches/3.2.x/openmeetings-screenshare/src/main/java/org/apache/openmeetings/screen/webstart/CoreScreenShare.java
 (original)
+++ 
openmeetings/application/branches/3.2.x/openmeetings-screenshare/src/main/java/org/apache/openmeetings/screen/webstart/CoreScreenShare.java
 Tue Aug  9 03:17:22 2016
@@ -657,31 +657,30 @@ public class CoreScreenShare implements
 
                        String method = call.getServiceMethodName();
                        Object o = call.getResult();
+                       if (log.isTraceEnabled()) {
+                               log.trace("Result Map Type " + (o == null ? 
null : o.getClass().getName()));
+                               log.trace("" + o);
+                       }
+                       @SuppressWarnings("unchecked")
+                       Map<String, Object> returnMap = (o != null && o 
instanceof Map) ? (Map<String, Object>) o : new HashMap<String, Object>();
                        log.trace("call ### get Method Name " + method);
                        if ("connect".equals(method)) {
-                               if (o instanceof Map) {
-                                       @SuppressWarnings("unchecked")
-                                       Map<String, Object> map = (Map<String, 
Object>) o;
-                                       Object code = map.get("code");
-                                       if 
("NetConnection.Connect.Rejected".equals(code) || 
"NetConnection.Connect.Failed".equals(code)) {
-                                               
frame.setStatus(String.format("Error: %s %s", code, map.get("description")));
-                                               return;
-                                       }
+                               Object code = returnMap.get("code");
+                               if 
("NetConnection.Connect.Rejected".equals(code) || 
"NetConnection.Connect.Failed".equals(code)) {
+                                       frame.setStatus(String.format("Error: 
%s %s", code, returnMap.get("description")));
+                                       return;
                                }
                                isConnected = true;
                                setConnectionAsSharingClient();
                        } else if 
("setConnectionAsSharingClient".equals(method)) {
-                               @SuppressWarnings("unchecked")
-                               Map<String, Object> returnMap = (Map<String, 
Object>) o;
-
-                               if (o == null || 
!bool(returnMap.get("alreadyPublished"))) {
+                               if (!bool(returnMap.get("alreadyPublished"))) {
                                        log.trace("Stream not yet started - do 
it ");
 
                                        instance.createStream(this);
                                } else {
                                        log.trace("The Stream was already 
started ");
                                }
-                               if (returnMap != null) {
+                               if (o != null) {
                                        Object modus = returnMap.get("modus");
                                        if ("startStreaming".equals(modus)) {
                                                frame.setSharingStatus(true, 
false);
@@ -703,8 +702,8 @@ public class CoreScreenShare implements
                                }
                        } else if ("createStream".equals(method)) {
                                if (startRecording || startStreaming) {
-                                       if (call.getResult() != null) {
-                                               
getCapture().setStreamId((Number)call.getResult());
+                                       if (o != null && o instanceof Number) {
+                                               
getCapture().setStreamId((Number)o);
                                        }
                                        log.debug("createPublishStream result 
stream id: {}; name: {}", getCapture().getStreamId(), publishName);
                                        
instance.publish(getCapture().getStreamId(), publishName, "live", this);
@@ -717,13 +716,6 @@ public class CoreScreenShare implements
                                        }
                                }
                        } else if ("screenSharerAction".equals(method)) {
-                               if (log.isTraceEnabled()) {
-                                       log.trace("Result Map Type " + (o == 
null ? null : o.getClass().getName()));
-                                       log.trace("" + o);
-                               }
-
-                               @SuppressWarnings("unchecked")
-                               Map<String, Object> returnMap = (Map<String, 
Object>)o;
                                Object result = returnMap.get("result");
                                if ("stopAll".equals(result)) {
                                        log.trace("Stopping to stream, there is 
neither a Desktop Sharing nor Recording anymore");

Modified: 
openmeetings/application/branches/3.2.x/openmeetings-service/src/main/java/org/apache/openmeetings/service/user/UserManager.java
URL: 
http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-service/src/main/java/org/apache/openmeetings/service/user/UserManager.java?rev=1755553&r1=1755552&r2=1755553&view=diff
==============================================================================
--- 
openmeetings/application/branches/3.2.x/openmeetings-service/src/main/java/org/apache/openmeetings/service/user/UserManager.java
 (original)
+++ 
openmeetings/application/branches/3.2.x/openmeetings-service/src/main/java/org/apache/openmeetings/service/user/UserManager.java
 Tue Aug  9 03:17:22 2016
@@ -84,7 +84,7 @@ public class UserManager implements IUse
        private EntityManager em;
 
        @Autowired
-       private SessiondataDao sessiondataDao;
+       private SessiondataDao sessionDao;
        @Autowired
        private ConfigurationDao cfgDao;
        @Autowired
@@ -143,14 +143,13 @@ public class UserManager implements IUse
        public User loginUserByRemoteHash(String SID, String remoteHash) {
                try {
 
-                       Sessiondata sessionData = sessiondataDao
-                                       .get(remoteHash);
+                       Sessiondata sessionData = sessionDao.check(remoteHash);
 
                        if (sessionData != null) {
 
                                User u = userDao.get(sessionData.getUserId());
 
-                               sessiondataDao.updateUserWithoutSession(SID, 
u.getId());
+                               sessionDao.updateUserWithoutSession(SID, 
u.getId());
 
                                return u;
                        }
@@ -163,7 +162,7 @@ public class UserManager implements IUse
 
        @Override
        public Long logout(String SID, long userId) {
-               sessiondataDao.updateUser(SID, null, false, 0);
+               sessionDao.updateUser(SID, null, false, 0);
                return -12L;
        }
 
@@ -412,19 +411,18 @@ public class UserManager implements IUse
        }
 
        /**
-        * @param admin
+        * @param sid
         * @param room_id
         * @return
         */
        @Override
-       public boolean kickUserByStreamId(String SID, Long room_id) {
+       public boolean kickUserByStreamId(String sid, Long room_id) {
                try {
-                       Long users_id = sessiondataDao.check(SID);
-
+                       Sessiondata sd = sessionDao.check(sid);
                        // admins only
-                       if 
(AuthLevelUtil.hasAdminLevel(userDao.getRights(users_id))) {
+                       if 
(AuthLevelUtil.hasAdminLevel(userDao.getRights(sd.getUserId()))) {
 
-                               sessiondataDao.clearSessionByRoomId(room_id);
+                               sessionDao.clearSessionByRoomId(room_id);
 
                                for (Client rcl : 
sessionManager.getClientListByRoom(room_id)) {
                                        if (rcl == null) {
@@ -450,12 +448,11 @@ public class UserManager implements IUse
        }
 
        @Override
-       public boolean kickUserByPublicSID(String SID, String publicSID) {
+       public boolean kickUserByPublicSID(String sid, String publicSID) {
                try {
-                       Long userId = sessiondataDao.check(SID);
-
+                       Sessiondata sd = sessionDao.check(sid);
                        // admins only
-                       if 
(AuthLevelUtil.hasWebServiceLevel(userDao.getRights(userId))) {
+                       if 
(AuthLevelUtil.hasWebServiceLevel(userDao.getRights(sd.getUserId()))) {
                                Client rcl = 
sessionManager.getClientByPublicSID(publicSID, null);
 
                                if (rcl == null) {

Modified: 
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application.java
URL: 
http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application.java?rev=1755553&r1=1755552&r2=1755553&view=diff
==============================================================================
--- 
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application.java
 (original)
+++ 
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application.java
 Tue Aug  9 03:17:22 2016
@@ -219,9 +219,12 @@ public class Application extends Authent
        
        @Override
        public org.apache.openmeetings.db.entity.room.Client 
updateClient(org.apache.openmeetings.db.entity.room.Client rcl) {
+               if (rcl == null) {
+                       return null;
+               }
                Client client = getOnlineClient(rcl.getPublicSID());
-               if (rcl == null || client == null) {
-                       return rcl;
+               if (client == null) {
+                       return null;
                }
                rcl.setIsSuperModerator(client.hasRight(Right.superModerator));
                rcl.setIsMod(client.hasRight(Right.moderator));

Modified: 
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/WebSession.java
URL: 
http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/WebSession.java?rev=1755553&r1=1755552&r2=1755553&view=diff
==============================================================================
--- 
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/WebSession.java
 (original)
+++ 
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/WebSession.java
 Tue Aug  9 03:17:22 2016
@@ -202,8 +202,8 @@ public class WebSession extends Abstract
                }
                if (!soapLogin.isUsed() || 
soapLogin.getAllowSameURLMultipleTimes()) {
                        SessiondataDao sessionDao = 
getBean(SessiondataDao.class);
-                       Sessiondata sd = 
sessionDao.get(soapLogin.getSessionHash());
-                       if (sd != null && sd.getXml() != null) {
+                       Sessiondata sd = 
sessionDao.check(soapLogin.getSessionHash());
+                       if (sd.getXml() != null) {
                                RemoteSessionObject remoteUser = 
RemoteSessionObject.fromXml(sd.getXml());
                                if (remoteUser != null && 
!Strings.isEmpty(remoteUser.getExternalUserId())) {
                                        UserDao userDao = 
getBean(UserDao.class);
@@ -330,17 +330,16 @@ public class WebSession extends Abstract
        
        public String getValidatedSid() {
                SessiondataDao sessionDao = getBean(SessiondataDao.class);
-               Long _userId = sessionDao.check(SID);
-               if (_userId == null || !_userId.equals(userId)) {
-                       Sessiondata sessionData = sessionDao.get(SID);
-                       if (sessionData == null) {
-                               sessionData = sessionDao.create();
+               Sessiondata sd = sessionDao.check(SID);
+               if (sd.getUserId() == null || !sd.getUserId().equals(userId)) {
+                       if (sd.getId() == null) {
+                               sd = sessionDao.create();
                        }
-                       if (!sessionDao.updateUser(sessionData.getSessionId(), 
userId, false, languageId)) {
+                       if (!sessionDao.updateUser(sd.getSessionId(), userId, 
false, languageId)) {
                                //something bad, force user to re-login
                                invalidate();
                        } else {
-                               SID = sessionData.getSessionId();
+                               SID = sd.getSessionId();
                        }
                }
                return SID;

Modified: 
openmeetings/application/branches/3.2.x/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/CalendarWebService.java
URL: 
http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/CalendarWebService.java?rev=1755553&r1=1755552&r2=1755553&view=diff
==============================================================================
--- 
openmeetings/application/branches/3.2.x/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/CalendarWebService.java
 (original)
+++ 
openmeetings/application/branches/3.2.x/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/CalendarWebService.java
 Tue Aug  9 03:17:22 2016
@@ -43,6 +43,7 @@ import org.apache.openmeetings.db.dao.se
 import org.apache.openmeetings.db.dao.user.UserDao;
 import org.apache.openmeetings.db.dto.calendar.AppointmentDTO;
 import org.apache.openmeetings.db.entity.calendar.Appointment;
+import org.apache.openmeetings.db.entity.server.Sessiondata;
 import org.apache.openmeetings.db.entity.user.User.Right;
 import org.apache.openmeetings.db.util.AuthLevelUtil;
 import org.apache.openmeetings.webservice.error.ServiceException;
@@ -92,9 +93,9 @@ public class CalendarWebService {
        {
                log.debug("range : startdate - " + start.getTime() + ", enddate 
- " + end.getTime());
                try {
-                       Long userId = sessionDao.check(sid);
-                       if 
(AuthLevelUtil.hasUserLevel(userDao.getRights(userId))) {
-                               return 
AppointmentDTO.list(appointmentDao.getInRange(userId, start.getTime(), 
end.getTime()));
+                       Sessiondata sd = sessionDao.check(sid);
+                       if 
(AuthLevelUtil.hasUserLevel(userDao.getRights(sd.getUserId()))) {
+                               return 
AppointmentDTO.list(appointmentDao.getInRange(sd.getUserId(), start.getTime(), 
end.getTime()));
                        } else {
                                throw new ServiceException("Insufficient 
permissions"); //TODO code -26
                        }
@@ -132,8 +133,8 @@ public class CalendarWebService {
        {
                log.debug("rangeForUser : startdate - " + start.getTime() + ", 
enddate - " + end.getTime());
                try {
-                       Long authUserId = sessionDao.check(sid);
-                       if 
(AuthLevelUtil.hasWebServiceLevel(userDao.getRights(authUserId))) {
+                       Sessiondata sd = sessionDao.check(sid);
+                       if 
(AuthLevelUtil.hasWebServiceLevel(userDao.getRights(sd.getUserId()))) {
                                return 
AppointmentDTO.list(appointmentDao.getInRange(userid, start.getTime(), 
end.getTime()));
                        } else {
                                throw new ServiceException("Insufficient 
permissions"); //TODO code -26
@@ -158,9 +159,9 @@ public class CalendarWebService {
        @Path("/next")
        public AppointmentDTO next(@QueryParam("sid") @WebParam(name="sid") 
String sid) throws ServiceException {
                try {
-                       Long userId = sessionDao.check(sid);
-                       if 
(AuthLevelUtil.hasUserLevel(userDao.getRights(userId))) {
-                               Appointment a = appointmentDao.getNext(userId, 
new Date());
+                       Sessiondata sd = sessionDao.check(sid);
+                       if 
(AuthLevelUtil.hasUserLevel(userDao.getRights(sd.getUserId()))) {
+                               Appointment a = 
appointmentDao.getNext(sd.getUserId(), new Date());
                                return a == null ? null : new AppointmentDTO(a);
                        } else {
                                throw new ServiceException("Insufficient 
permissions"); //TODO code -26
@@ -188,8 +189,8 @@ public class CalendarWebService {
        @Path("/next/{userid}")
        public AppointmentDTO nextForUser(@QueryParam("sid") 
@WebParam(name="sid") String sid, @PathParam("userid") @WebParam(name="userid") 
long userid) throws ServiceException {
                try {
-                       Long authUserId = sessionDao.check(sid);
-                       if 
(AuthLevelUtil.hasWebServiceLevel(userDao.getRights(authUserId))) {
+                       Sessiondata sd = sessionDao.check(sid);
+                       if 
(AuthLevelUtil.hasWebServiceLevel(userDao.getRights(sd.getUserId()))) {
                                Appointment a = appointmentDao.getNext(userid, 
new Date());
                                return a == null ? null : new AppointmentDTO(a);
                        } else {
@@ -216,9 +217,9 @@ public class CalendarWebService {
        @Path("/room/{roomid}")
        public AppointmentDTO getByRoom(@QueryParam("sid") 
@WebParam(name="sid") String sid, @PathParam("roomid") @WebParam(name="roomid") 
long roomid) throws ServiceException {
                try {
-                       Long userId = sessionDao.check(sid);
-                       if 
(AuthLevelUtil.hasUserLevel(userDao.getRights(userId))) {
-                               Appointment app = 
appointmentDao.getByRoom(userId, roomid);
+                       Sessiondata sd = sessionDao.check(sid);
+                       if 
(AuthLevelUtil.hasUserLevel(userDao.getRights(sd.getUserId()))) {
+                               Appointment app = 
appointmentDao.getByRoom(sd.getUserId(), roomid);
                                if (app != null) {
                                        return new AppointmentDTO(app);
                                }
@@ -249,9 +250,9 @@ public class CalendarWebService {
        @Path("/title/{title}")
        public List<AppointmentDTO> getByTitle(@QueryParam("sid") 
@WebParam(name="sid") String sid, @PathParam("title") @WebParam(name="title") 
String title) throws ServiceException {
                try {
-                       Long userId = sessionDao.check(sid);
-                       if 
(AuthLevelUtil.hasUserLevel(userDao.getRights(userId))) {
-                               return 
AppointmentDTO.list(appointmentDao.searchAppointmentsByTitle(userId, title));
+                       Sessiondata sd = sessionDao.check(sid);
+                       if 
(AuthLevelUtil.hasUserLevel(userDao.getRights(sd.getUserId()))) {
+                               return 
AppointmentDTO.list(appointmentDao.searchAppointmentsByTitle(sd.getUserId(), 
title));
                        } else {
                                throw new ServiceException("Insufficient 
permissions"); //TODO code -26
                        }
@@ -281,12 +282,12 @@ public class CalendarWebService {
                log.debug("save SID:" + sid);
 
                try {
-                       Long userId = sessionDao.check(sid);
-                       log.debug("save userId:" + userId);
+                       Sessiondata sd = sessionDao.check(sid);
+                       log.debug("save userId:" + sd);
 
-                       if 
(AuthLevelUtil.hasUserLevel(userDao.getRights(userId))) {
+                       if 
(AuthLevelUtil.hasUserLevel(userDao.getRights(sd.getUserId()))) {
                                Appointment a = appointment.get(userDao, 
appointmentDao);
-                               return new 
AppointmentDTO(appointmentDao.update(a, userId));
+                               return new 
AppointmentDTO(appointmentDao.update(a, sd.getUserId()));
                        } else {
                                log.error("save : wrong user level");
                                throw new ServiceException("Insufficient 
permissions"); //TODO code -26
@@ -318,21 +319,21 @@ public class CalendarWebService {
        @Path("/{id}")
        public void delete(@QueryParam("sid") @WebParam(name="sid") String sid, 
@PathParam("id") @WebParam(name="id") Long id) throws ServiceException {
                try {
-                       Long userId = sessionDao.check(sid);
-                       Set<Right> rights = userDao.getRights(userId);
+                       Sessiondata sd = sessionDao.check(sid);
+                       Set<Right> rights = userDao.getRights(sd.getUserId());
 
                        Appointment a = appointmentDao.get(id);
                        if (AuthLevelUtil.hasWebServiceLevel(rights) || 
AuthLevelUtil.hasAdminLevel(rights)) {
                                // fine
                        } else if (AuthLevelUtil.hasUserLevel(rights)) {
                                // check if the appointment belongs to the 
current user
-                               if (!a.getOwner().getId().equals(userId)) {
+                               if 
(!a.getOwner().getId().equals(sd.getUserId())) {
                                        throw new ServiceException("The 
Appointment cannot be updated by the given user");
                                }
                        } else {
                                throw new ServiceException("Not allowed to 
preform that action, Authenticate the SID first");
                        }
-                       appointmentDao.delete(a, userId);
+                       appointmentDao.delete(a, sd.getUserId());
                } catch (ServiceException err) {
                        throw err;
                } catch (Exception err) {

Modified: 
openmeetings/application/branches/3.2.x/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/ErrorWebService.java
URL: 
http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/ErrorWebService.java?rev=1755553&r1=1755552&r2=1755553&view=diff
==============================================================================
--- 
openmeetings/application/branches/3.2.x/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/ErrorWebService.java
 (original)
+++ 
openmeetings/application/branches/3.2.x/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/ErrorWebService.java
 Tue Aug  9 03:17:22 2016
@@ -38,6 +38,7 @@ import org.apache.openmeetings.db.dao.la
 import org.apache.openmeetings.db.dao.server.SessiondataDao;
 import org.apache.openmeetings.db.dto.basic.ServiceResult;
 import org.apache.openmeetings.db.entity.basic.ErrorValue;
+import org.apache.openmeetings.db.entity.server.Sessiondata;
 import org.red5.logging.Red5LoggerFactory;
 import org.slf4j.Logger;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -105,11 +106,11 @@ public class ErrorWebService {
        @POST
        @Path("/report/")
        public void report(@WebParam(name="sid") @QueryParam("sid") String sid, 
@WebParam(name="message") @QueryParam("message") String message) {
-       if (sid != null && message != null) {
-               Long userId = sessionDao.check(sid);
-               if (userId != null && userId != 0) {
-                       log.error("[CLIENT MESSAGE] " + message);
-               }
-       }
+               if (sid != null && message != null) {
+                       Sessiondata sd = sessionDao.check(sid);
+                       if (sd.getId() != null) {
+                               log.error("[CLIENT MESSAGE] " + message);
+                       }
+               }
        }
 }

Modified: 
openmeetings/application/branches/3.2.x/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/FileWebService.java
URL: 
http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/FileWebService.java?rev=1755553&r1=1755552&r2=1755553&view=diff
==============================================================================
--- 
openmeetings/application/branches/3.2.x/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/FileWebService.java
 (original)
+++ 
openmeetings/application/branches/3.2.x/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/FileWebService.java
 Tue Aug  9 03:17:22 2016
@@ -54,6 +54,7 @@ import org.apache.openmeetings.db.dto.fi
 import org.apache.openmeetings.db.dto.file.FileExplorerObject;
 import org.apache.openmeetings.db.dto.file.LibraryPresentation;
 import org.apache.openmeetings.db.entity.file.FileExplorerItem;
+import org.apache.openmeetings.db.entity.server.Sessiondata;
 import org.apache.openmeetings.db.entity.user.User.Right;
 import org.apache.openmeetings.db.util.AuthLevelUtil;
 import org.apache.openmeetings.util.OmFileHelper;
@@ -103,12 +104,13 @@ public class FileWebService {
        @Path("/{id}")
        public ServiceResult delete(@QueryParam("sid") @WebParam(name="sid") 
String sid, @PathParam("id") @WebParam(name="id") Long id) throws 
ServiceException {
                try {
-                       Long userId = sessionDao.check(sid);
+                       Sessiondata sd = sessionDao.check(sid);
 
                        FileExplorerItem f = fileDao.get(id);
                        if (f == null) {
                                return new ServiceResult(-1L, "Bad id", 
Type.ERROR);
                        }
+                       Long userId = sd.getUserId();
                        Set<Right> rights = userDao.getRights(userId);
                        if (AuthLevelUtil.hasWebServiceLevel(rights)
                                || (AuthLevelUtil.hasUserLevel(rights) && 
userId.equals(f.getOwnerId())))
@@ -145,9 +147,9 @@ public class FileWebService {
                        ) throws ServiceException
        {
                try {
-                       Long userId = sessionDao.check(sid);
+                       Sessiondata sd = sessionDao.check(sid);
                        
-                       if 
(AuthLevelUtil.hasWebServiceLevel(userDao.getRights(userId))) {
+                       if 
(AuthLevelUtil.hasWebServiceLevel(userDao.getRights(sd.getUserId()))) {
                                FileExplorerItem f = fileDao.get(externalId, 
externalType);
                                fileDao.delete(f);
                                return new ServiceResult(f.getId(), "Deleted", 
Type.SUCCESS);
@@ -181,7 +183,8 @@ public class FileWebService {
                        ) throws ServiceException
        {
                try {
-                       Long userId = sessionDao.check(sid);
+                       Sessiondata sd = sessionDao.check(sid);
+                       Long userId = sd.getUserId();
 
                        FileExplorerItem f = file == null ? null : file.get();
                        if (f == null || f.getId() != null) {
@@ -219,20 +222,19 @@ public class FileWebService {
        /**
         * Get a LibraryPresentation-Object for a certain file
         * 
-        * @param SID
+        * @param sid
+        *            The SID of the User. This SID must be marked as logged in
         * @param parentFolder
         * 
         * @return - LibraryPresentation-Object for a certain file
         * @throws ServiceException
         */
-       public LibraryPresentation getPresentationPreviewFileExplorer(String 
SID, String parentFolder)
+       public LibraryPresentation getPresentationPreviewFileExplorer(String 
sid, String parentFolder)
                        throws ServiceException {
 
                try {
-
-                       Long userId = sessionDao.check(SID);
-
-                       if 
(AuthLevelUtil.hasWebServiceLevel(userDao.getRights(userId))) {
+                       Sessiondata sd = sessionDao.check(sid);
+                       if 
(AuthLevelUtil.hasWebServiceLevel(userDao.getRights(sd.getUserId()))) {
 
                                File working_dir = new 
File(OmFileHelper.getUploadProfilesDir(), parentFolder);
                                log.debug("############# working_dir : " + 
working_dir);
@@ -269,7 +271,7 @@ public class FileWebService {
         * 
         * @param sid
         *            The SID of the User. This SID must be marked as logged in
-        * @param id
+        * @param roomId
         *            Room Id
         * @return - File Explorer Object by a given Room
         * @throws ServiceException
@@ -282,7 +284,8 @@ public class FileWebService {
                        ) throws ServiceException
        {
                try {
-                       Long userId = sessionDao.check(sid);
+                       Sessiondata sd = sessionDao.check(sid);
+                       Long userId = sd.getUserId();
 
                        if 
(AuthLevelUtil.hasUserLevel(userDao.getRights(userId))) {
                                log.debug("roomId " + roomId);
@@ -331,7 +334,8 @@ public class FileWebService {
                        ) throws ServiceException
        {
                try {
-                       Long userId = sessionDao.check(sid);
+                       Sessiondata sd = sessionDao.check(sid);
+                       Long userId = sd.getUserId();
 
                        if 
(AuthLevelUtil.hasUserLevel(userDao.getRights(userId))) {
                                log.debug("getRoomByParent " + parentId);
@@ -379,9 +383,8 @@ public class FileWebService {
                        , @WebParam(name="name") @PathParam("name") String 
name) throws ServiceException
        {
                try {
-                       Long userId = sessionDao.check(sid);
-
-                       if 
(AuthLevelUtil.hasUserLevel(userDao.getRights(userId))) {
+                       Sessiondata sd = sessionDao.check(sid);
+                       if 
(AuthLevelUtil.hasUserLevel(userDao.getRights(sd.getUserId()))) {
                                // FIXME TODO: check if this user is allowed to 
change this file
 
                                log.debug("rename " + id);
@@ -419,7 +422,8 @@ public class FileWebService {
                        , @WebParam(name="parentid") @PathParam("parentid") 
long parentId) throws ServiceException
        {
                try {
-                       Long userId = sessionDao.check(sid);
+                       Sessiondata sd = sessionDao.check(sid);
+                       Long userId = sd.getUserId();
                        if 
(AuthLevelUtil.hasUserLevel(userDao.getRights(userId))) {
                                // FIXME TODO A test is required that checks if 
the user is allowed to move the file
                                log.debug("move " + id);

Modified: 
openmeetings/application/branches/3.2.x/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/GroupWebService.java
URL: 
http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/GroupWebService.java?rev=1755553&r1=1755552&r2=1755553&view=diff
==============================================================================
--- 
openmeetings/application/branches/3.2.x/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/GroupWebService.java
 (original)
+++ 
openmeetings/application/branches/3.2.x/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/GroupWebService.java
 Tue Aug  9 03:17:22 2016
@@ -49,6 +49,7 @@ import org.apache.openmeetings.db.dto.ba
 import org.apache.openmeetings.db.dto.user.UserSearchResult;
 import org.apache.openmeetings.db.entity.room.Room;
 import org.apache.openmeetings.db.entity.room.RoomGroup;
+import org.apache.openmeetings.db.entity.server.Sessiondata;
 import org.apache.openmeetings.db.entity.user.Group;
 import org.apache.openmeetings.db.entity.user.GroupUser;
 import org.apache.openmeetings.db.entity.user.User;
@@ -97,7 +98,8 @@ public class GroupWebService {
        @POST
        @Path("/")
        public ServiceResult add(@QueryParam("sid") @WebParam(name="sid") 
String sid, @QueryParam("name") @WebParam(name="name") String name) throws 
ServiceException {
-               Long userId = sessionDao.check(sid);
+               Sessiondata sd = sessionDao.check(sid);
+               Long userId = sd.getUserId();
                if 
(AuthLevelUtil.hasWebServiceLevel(userDao.getRights(userId))) {
                        Group o = new Group();
                        o.setName(name);
@@ -119,8 +121,8 @@ public class GroupWebService {
        @GET
        @Path("/")
        public List<Group> get(@QueryParam("sid") @WebParam(name="sid") String 
sid) throws ServiceException {
-               Long userId = sessionDao.check(sid);
-               if 
(AuthLevelUtil.hasWebServiceLevel(userDao.getRights(userId))) {
+               Sessiondata sd = sessionDao.check(sid);
+               if 
(AuthLevelUtil.hasWebServiceLevel(userDao.getRights(sd.getUserId()))) {
                        return groupDao.get(0, Integer.MAX_VALUE);
                } else {
                        log.error("Insufficient permissions");
@@ -149,7 +151,8 @@ public class GroupWebService {
                        ) throws ServiceException
        {
                try {
-                       Long authUserId = sessionDao.check(sid);
+                       Sessiondata sd = sessionDao.check(sid);
+                       Long authUserId = sd.getUserId();
                        if 
(AuthLevelUtil.hasWebServiceLevel(userDao.getRights(authUserId))) {
                                if (!groupUserDao.isUserInGroup(id, userid)) {
                                        User u = userDao.get(userid);
@@ -187,7 +190,8 @@ public class GroupWebService {
                        ) throws ServiceException
        {
                try {
-                       Long authUserId = sessionDao.check(sid);
+                       Sessiondata sd = sessionDao.check(sid);
+                       Long authUserId = sd.getUserId();
                        if 
(AuthLevelUtil.hasWebServiceLevel(userDao.getRights(authUserId))) {
                                if (groupUserDao.isUserInGroup(id, userid)) {
                                        User u = userDao.get(userid);
@@ -227,7 +231,8 @@ public class GroupWebService {
                        ) throws ServiceException
        {
                try {
-                       Long userId = sessionDao.check(sid);
+                       Sessiondata sd = sessionDao.check(sid);
+                       Long userId = sd.getUserId();
                        if 
(AuthLevelUtil.hasWebServiceLevel(userDao.getRights(userId))) {
                                Room r = roomDao.get(roomid);
                                if (r != null) {
@@ -285,10 +290,10 @@ public class GroupWebService {
                        ) throws ServiceException
        {
                try {
-                       Long userId = sessionDao.check(sid);
+                       Sessiondata sd = sessionDao.check(sid);
                        SearchResult<User> result = new SearchResult<User>();
                        result.setObjectName(User.class.getName());
-                       if 
(AuthLevelUtil.hasWebServiceLevel(userDao.getRights(userId))) {
+                       if 
(AuthLevelUtil.hasWebServiceLevel(userDao.getRights(sd.getUserId()))) {
                                result.setRecords(groupUserDao.count(id));
                                result.setResult(new ArrayList<User>());
                                for (GroupUser ou : groupUserDao.get(id, null, 
start, max, orderby + " " + (asc ? "ASC" : "DESC"))) {
@@ -320,7 +325,8 @@ public class GroupWebService {
        @Path("/{id}")
        public ServiceResult delete(@WebParam(name="sid") @QueryParam("sid") 
String sid, @WebParam(name="id") @PathParam("id") long id) throws 
ServiceException {
                try {
-                       Long authUserId = sessionDao.check(sid);
+                       Sessiondata sd = sessionDao.check(sid);
+                       Long authUserId = sd.getUserId();
 
                        if 
(AuthLevelUtil.hasAdminLevel(userDao.getRights(authUserId))) {
                                groupDao.delete(groupDao.get(id), authUserId);

Modified: 
openmeetings/application/branches/3.2.x/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/RecordingWebService.java
URL: 
http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/RecordingWebService.java?rev=1755553&r1=1755552&r2=1755553&view=diff
==============================================================================
--- 
openmeetings/application/branches/3.2.x/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/RecordingWebService.java
 (original)
+++ 
openmeetings/application/branches/3.2.x/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/RecordingWebService.java
 Tue Aug  9 03:17:22 2016
@@ -39,6 +39,7 @@ import org.apache.openmeetings.db.dao.re
 import org.apache.openmeetings.db.dao.server.SessiondataDao;
 import org.apache.openmeetings.db.dao.user.UserDao;
 import org.apache.openmeetings.db.dto.record.RecordingDTO;
+import org.apache.openmeetings.db.entity.server.Sessiondata;
 import org.apache.openmeetings.db.util.AuthLevelUtil;
 import org.apache.openmeetings.webservice.error.ServiceException;
 import org.red5.logging.Red5LoggerFactory;
@@ -79,9 +80,8 @@ public class RecordingWebService {
        @Path("/{id}")
        public void delete(@QueryParam("sid") @WebParam(name="sid") String sid, 
@PathParam("id") @WebParam(name="id") Long id) throws ServiceException {
                try {
-                       Long userId = sessionDao.check(sid);
-
-                       if 
(AuthLevelUtil.hasWebServiceLevel(userDao.getRights(userId))) {
+                       Sessiondata sd = sessionDao.check(sid);
+                       if 
(AuthLevelUtil.hasWebServiceLevel(userDao.getRights(sd.getUserId()))) {
                                recordingDao.delete(recordingDao.get(id));
                        } else {
                                throw new ServiceException("Not allowed to 
preform that action, Authenticate the SID first");
@@ -111,9 +111,8 @@ public class RecordingWebService {
                        , @PathParam("externaltype") 
@WebParam(name="externaltype") String externalType
                        , @PathParam("externalid") @WebParam(name="externalid") 
String externalId) throws ServiceException {
                try {
-                       Long userId = sessionDao.check(sid);
-
-                       if 
(AuthLevelUtil.hasWebServiceLevel(userDao.getRights(userId))) {
+                       Sessiondata sd = sessionDao.check(sid);
+                       if 
(AuthLevelUtil.hasWebServiceLevel(userDao.getRights(sd.getUserId()))) {
                                return 
RecordingDTO.list(recordingDao.getByExternalId(externalId, externalType));
                        } else {
                                throw new ServiceException("Not allowed to 
preform that action, Authenticate the SID first");
@@ -142,9 +141,8 @@ public class RecordingWebService {
        public List<RecordingDTO> getExternalByType(@WebParam(name="sid") 
@QueryParam("sid") String sid
                        , @PathParam("externaltype") 
@WebParam(name="externaltype") String externalType) throws ServiceException {
                try {
-                       Long userId = sessionDao.check(sid);
-
-                       if 
(AuthLevelUtil.hasWebServiceLevel(userDao.getRights(userId))) {
+                       Sessiondata sd = sessionDao.check(sid);
+                       if 
(AuthLevelUtil.hasWebServiceLevel(userDao.getRights(sd.getUserId()))) {
                                return 
RecordingDTO.list(recordingDao.getByExternalType(externalType));
                        } else {
                                throw new ServiceException("Not allowed to 
preform that action, Authenticate the SID first");
@@ -173,9 +171,8 @@ public class RecordingWebService {
        public List<RecordingDTO> getExternalByRoom(@WebParam(name="sid") 
@QueryParam("sid") String sid
                        , @PathParam("roomid") @WebParam(name="roomid") Long 
roomId) throws ServiceException {
                try {
-                       Long userId = sessionDao.check(sid);
-
-                       if 
(AuthLevelUtil.hasWebServiceLevel(userDao.getRights(userId))) {
+                       Sessiondata sd = sessionDao.check(sid);
+                       if 
(AuthLevelUtil.hasWebServiceLevel(userDao.getRights(sd.getUserId()))) {
                                return 
RecordingDTO.list(recordingDao.getByRoomId(roomId));
                        } else {
                                throw new ServiceException("Not allowed to 
preform that action, Authenticate the SID first");

Modified: 
openmeetings/application/branches/3.2.x/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/RoomWebService.java
URL: 
http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/RoomWebService.java?rev=1755553&r1=1755552&r2=1755553&view=diff
==============================================================================
--- 
openmeetings/application/branches/3.2.x/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/RoomWebService.java
 (original)
+++ 
openmeetings/application/branches/3.2.x/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/RoomWebService.java
 Tue Aug  9 03:17:22 2016
@@ -53,6 +53,7 @@ import org.apache.openmeetings.db.dto.ro
 import org.apache.openmeetings.db.dto.room.RoomDTO;
 import org.apache.openmeetings.db.entity.room.Invitation;
 import org.apache.openmeetings.db.entity.room.Invitation.MessageType;
+import org.apache.openmeetings.db.entity.server.Sessiondata;
 import org.apache.openmeetings.db.entity.room.Room;
 import org.apache.openmeetings.db.util.AuthLevelUtil;
 import org.apache.openmeetings.util.message.RoomMessage;
@@ -109,9 +110,8 @@ public class RoomWebService {
        @Path("/public/{type}")
        public List<RoomDTO> getPublic(@QueryParam("sid") @WebParam(name="sid") 
String sid, @PathParam("type") @WebParam(name="type") String type) throws 
ServiceException {
                try {
-                       Long userId = sessionDao.check(sid);
-
-                       if 
(AuthLevelUtil.hasUserLevel(userDao.getRights(userId))) {
+                       Sessiondata sd = sessionDao.check(sid);
+                       if 
(AuthLevelUtil.hasUserLevel(userDao.getRights(sd.getUserId()))) {
                                return 
RoomDTO.list(roomDao.getPublicRooms(Room.Type.valueOf(type)));
                        } else {
                                throw new ServiceException("Insufficient 
permissions"); //TODO code -26
@@ -135,8 +135,8 @@ public class RoomWebService {
        @GET
        @Path("/{id}")
        public RoomDTO getRoomById(@QueryParam("sid") @WebParam(name="sid") 
String sid, @PathParam("id") @WebParam(name="id") Long id) throws 
ServiceException {
-               Long userId = sessionDao.check(sid);
-               if (AuthLevelUtil.hasUserLevel(userDao.getRights(userId))) {
+               Sessiondata sd = sessionDao.check(sid);
+               if 
(AuthLevelUtil.hasUserLevel(userDao.getRights(sd.getUserId()))) {
                        return new RoomDTO(roomDao.get(id));
                } else {
                        throw new ServiceException("Insufficient permissions"); 
//TODO code -26
@@ -172,7 +172,8 @@ public class RoomWebService {
                        , @PathParam("externalid") @WebParam(name="externalid") 
Long externalId
                        , @WebParam(name="room") @QueryParam("room") RoomDTO 
room) throws ServiceException {
                try {
-                       Long userId = sessionDao.check(sid);
+                       Sessiondata sd = sessionDao.check(sid);
+                       Long userId = sd.getUserId();
                        if 
(AuthLevelUtil.hasWebServiceLevel(userDao.getRights(userId))) {
                                Room r = 
roomDao.getExternal(Room.Type.valueOf(type), externalType, externalId);
                                if (r == null) {
@@ -209,7 +210,8 @@ public class RoomWebService {
        @Path("/")
        public RoomDTO add(@WebParam(name="sid") @QueryParam("sid") String sid, 
@WebParam(name="room") @FormParam("room") RoomDTO room) throws ServiceException 
{
                try {
-                       Long userId = sessionDao.check(sid);
+                       Sessiondata sd = sessionDao.check(sid);
+                       Long userId = sd.getUserId();
                        if 
(AuthLevelUtil.hasWebServiceLevel(userDao.getRights(userId))) {
                                Room r = room.get();
                                r = roomDao.update(r, userId);
@@ -273,7 +275,8 @@ public class RoomWebService {
        @DELETE
        @Path("/{id}")
        public ServiceResult delete(@WebParam(name="sid") @QueryParam("sid") 
String sid, @WebParam(name="id") @PathParam("id") long id) throws 
ServiceException {
-               Long userId = sessionDao.check(sid);
+               Sessiondata sd = sessionDao.check(sid);
+               Long userId = sd.getUserId();
                if 
(AuthLevelUtil.hasWebServiceLevel(userDao.getRights(userId))) {
                        Room r = roomDao.get(id);
                        if (r != null) {
@@ -307,7 +310,8 @@ public class RoomWebService {
        @Path("/close/{id}")
        public ServiceResult close(@WebParam(name="sid") @QueryParam("sid") 
String sid, @WebParam(name="id") @PathParam("id") long id) throws 
ServiceException {
                try {
-                       Long userId = sessionDao.check(sid);
+                       Sessiondata sd = sessionDao.check(sid);
+                       Long userId = sd.getUserId();
                        log.debug("close " + id);
 
                        if 
(AuthLevelUtil.hasWebServiceLevel(userDao.getRights(userId))) {
@@ -351,7 +355,8 @@ public class RoomWebService {
        @Path("/open/{id}")
        public ServiceResult open(@WebParam(name="sid") @QueryParam("sid") 
String sid, @WebParam(name="id") @PathParam("id") long id) throws 
ServiceException {
                try {
-                       Long userId = sessionDao.check(sid);
+                       Sessiondata sd = sessionDao.check(sid);
+                       Long userId = sd.getUserId();
                        log.debug("open " + id);
 
                        if 
(AuthLevelUtil.hasWebServiceLevel(userDao.getRights(userId))) {
@@ -388,8 +393,8 @@ public class RoomWebService {
        @Path("/kick/{id}")
        public ServiceResult kick(@WebParam(name="sid") @QueryParam("sid") 
String sid, @WebParam(name="id") @PathParam("id") long id) throws 
ServiceException {
                try {
-                       Long userId = sessionDao.check(sid);
-                       if 
(AuthLevelUtil.hasWebServiceLevel(userDao.getRights(userId))) {
+                       Sessiondata sd = sessionDao.check(sid);
+                       if 
(AuthLevelUtil.hasWebServiceLevel(userDao.getRights(sd.getUserId()))) {
                                boolean result = 
userManager.kickUserByStreamId(sid, id);
                                return new ServiceResult(result ? 1L : 0L, 
"Kicked", Type.SUCCESS);
                        } else {
@@ -417,8 +422,8 @@ public class RoomWebService {
        public List<RoomCountBean> counters(@WebParam(name="sid") 
@QueryParam("sid") String sid, @WebParam(name="id") @QueryParam("id") 
List<Long> ids) throws ServiceException {
                List<RoomCountBean> roomBeans = new ArrayList<RoomCountBean>();
                try {
-                       Long userId = sessionDao.check(sid);
-                       if 
(AuthLevelUtil.hasWebServiceLevel(userDao.getRights(userId))) {
+                       Sessiondata sd = sessionDao.check(sid);
+                       if 
(AuthLevelUtil.hasWebServiceLevel(userDao.getRights(sd.getUserId()))) {
                                List<Room> rooms = roomDao.get(ids);
 
                                for (Room room : rooms) {
@@ -460,7 +465,8 @@ public class RoomWebService {
                        ) throws ServiceException
        {
                try {
-                       Long userId = sessionDao.check(sid);
+                       Sessiondata sd = sessionDao.check(sid);
+                       Long userId = sd.getUserId();
                        if 
(AuthLevelUtil.hasWebServiceLevel(userDao.getRights(userId))) {
                                Invitation i = invite.get(userId, userDao, 
roomDao);
                                i = invitationDao.update(i);



Reply via email to