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