Author: solomax
Date: Thu Sep 8 04:42:19 2016
New Revision: 1759743
URL: http://svn.apache.org/viewvc?rev=1759743&view=rev
Log:
[OPENMEETINGS-1466] 'soap' user is able to get room, recording::delete returns
ServiceResult
Modified:
openmeetings/application/branches/3.1.x/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/RecordingWebService.java
openmeetings/application/branches/3.1.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/RecordingWebService.java
openmeetings/application/branches/3.2.x/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/RoomWebService.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
Modified:
openmeetings/application/branches/3.1.x/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/RecordingWebService.java
URL:
http://svn.apache.org/viewvc/openmeetings/application/branches/3.1.x/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/RecordingWebService.java?rev=1759743&r1=1759742&r2=1759743&view=diff
==============================================================================
---
openmeetings/application/branches/3.1.x/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/RecordingWebService.java
(original)
+++
openmeetings/application/branches/3.1.x/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/RecordingWebService.java
Thu Sep 8 04:42:19 2016
@@ -38,6 +38,8 @@ import org.apache.cxf.feature.Features;
import org.apache.openmeetings.db.dao.record.RecordingDao;
import org.apache.openmeetings.db.dao.server.SessiondataDao;
import org.apache.openmeetings.db.dao.user.UserDao;
+import org.apache.openmeetings.db.dto.basic.ServiceResult;
+import org.apache.openmeetings.db.dto.basic.ServiceResult.Type;
import org.apache.openmeetings.db.dto.record.RecordingDTO;
import org.apache.openmeetings.db.util.AuthLevelUtil;
import org.apache.openmeetings.webservice.error.ServiceException;
@@ -77,12 +79,13 @@ public class RecordingWebService {
*/
@DELETE
@Path("/{id}")
- public void delete(@QueryParam("sid") @WebParam(name="sid") String sid,
@PathParam("id") @WebParam(name="id") Long id) throws ServiceException {
+ 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);
if
(AuthLevelUtil.hasWebServiceLevel(userDao.getRights(userId))) {
recordingDao.delete(recordingDao.get(id));
+ return new ServiceResult(id, "Deleted",
Type.SUCCESS);
} else {
throw new ServiceException("Not allowed to
preform that action, Authenticate the SID first");
}
Modified:
openmeetings/application/branches/3.1.x/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/RoomWebService.java
URL:
http://svn.apache.org/viewvc/openmeetings/application/branches/3.1.x/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/RoomWebService.java?rev=1759743&r1=1759742&r2=1759743&view=diff
==============================================================================
---
openmeetings/application/branches/3.1.x/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/RoomWebService.java
(original)
+++
openmeetings/application/branches/3.1.x/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/RoomWebService.java
Thu Sep 8 04:42:19 2016
@@ -25,6 +25,7 @@ import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
+import java.util.Set;
import javax.jws.WebMethod;
import javax.jws.WebParam;
@@ -56,6 +57,7 @@ import org.apache.openmeetings.db.dto.ro
import org.apache.openmeetings.db.entity.room.Invitation;
import org.apache.openmeetings.db.entity.room.Invitation.MessageType;
import org.apache.openmeetings.db.entity.room.Room;
+import org.apache.openmeetings.db.entity.user.User;
import org.apache.openmeetings.db.util.AuthLevelUtil;
import org.apache.openmeetings.webservice.error.ServiceException;
import org.red5.logging.Red5LoggerFactory;
@@ -86,11 +88,11 @@ public class RoomWebService {
@Autowired
private IInvitationManager invitationManager;
@Autowired
- private ScopeApplicationAdapter scopeApplicationAdapter;
- @Autowired
private ISessionManager sessionManager;
@Autowired
private RoomDao roomDao;
+ @Autowired
+ private ScopeApplicationAdapter appAdapter;
/**
* Returns an Object of Type RoomsList which contains a list of
@@ -137,7 +139,8 @@ public class RoomWebService {
@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))) {
+ Set<User.Right> rights = userDao.getRights(userId);
+ if (AuthLevelUtil.hasWebServiceLevel(rights) ||
AuthLevelUtil.hasUserLevel(rights)) {
return new RoomDTO(roomDao.get(id));
} else {
throw new ServiceException("Insufficient permissions");
//TODO code -26
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=1759743&r1=1759742&r2=1759743&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
Thu Sep 8 04:42:19 2016
@@ -38,6 +38,8 @@ import org.apache.cxf.feature.Features;
import org.apache.openmeetings.db.dao.record.RecordingDao;
import org.apache.openmeetings.db.dao.server.SessiondataDao;
import org.apache.openmeetings.db.dao.user.UserDao;
+import org.apache.openmeetings.db.dto.basic.ServiceResult;
+import org.apache.openmeetings.db.dto.basic.ServiceResult.Type;
import org.apache.openmeetings.db.dto.record.RecordingDTO;
import org.apache.openmeetings.db.entity.server.Sessiondata;
import org.apache.openmeetings.db.util.AuthLevelUtil;
@@ -78,11 +80,12 @@ public class RecordingWebService {
*/
@DELETE
@Path("/{id}")
- public void delete(@QueryParam("sid") @WebParam(name="sid") String sid,
@PathParam("id") @WebParam(name="id") Long id) throws ServiceException {
+ public ServiceResult delete(@QueryParam("sid") @WebParam(name="sid")
String sid, @PathParam("id") @WebParam(name="id") Long id) throws
ServiceException {
try {
Sessiondata sd = sessionDao.check(sid);
if
(AuthLevelUtil.hasWebServiceLevel(userDao.getRights(sd.getUserId()))) {
recordingDao.delete(recordingDao.get(id));
+ return new ServiceResult(id, "Deleted",
Type.SUCCESS);
} 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=1759743&r1=1759742&r2=1759743&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
Thu Sep 8 04:42:19 2016
@@ -23,6 +23,7 @@ import static org.apache.openmeetings.we
import java.util.ArrayList;
import java.util.List;
+import java.util.Set;
import javax.jws.WebMethod;
import javax.jws.WebParam;
@@ -55,6 +56,7 @@ import org.apache.openmeetings.db.entity
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.entity.user.User;
import org.apache.openmeetings.db.util.AuthLevelUtil;
import org.apache.openmeetings.util.message.RoomMessage;
import org.apache.openmeetings.webservice.error.ServiceException;
@@ -136,7 +138,8 @@ public class RoomWebService {
@Path("/{id}")
public RoomDTO getRoomById(@QueryParam("sid") @WebParam(name="sid")
String sid, @PathParam("id") @WebParam(name="id") Long id) throws
ServiceException {
Sessiondata sd = sessionDao.check(sid);
- if
(AuthLevelUtil.hasUserLevel(userDao.getRights(sd.getUserId()))) {
+ Set<User.Right> rights = userDao.getRights(sd.getUserId());
+ if (AuthLevelUtil.hasWebServiceLevel(rights) ||
AuthLevelUtil.hasUserLevel(rights)) {
return new RoomDTO(roomDao.get(id));
} else {
throw new ServiceException("Insufficient permissions");
//TODO code -26
Modified:
openmeetings/application/trunk/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/RecordingWebService.java
URL:
http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/RecordingWebService.java?rev=1759743&r1=1759742&r2=1759743&view=diff
==============================================================================
---
openmeetings/application/trunk/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/RecordingWebService.java
(original)
+++
openmeetings/application/trunk/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/RecordingWebService.java
Thu Sep 8 04:42:19 2016
@@ -38,6 +38,8 @@ import org.apache.cxf.feature.Features;
import org.apache.openmeetings.db.dao.record.RecordingDao;
import org.apache.openmeetings.db.dao.server.SessiondataDao;
import org.apache.openmeetings.db.dao.user.UserDao;
+import org.apache.openmeetings.db.dto.basic.ServiceResult;
+import org.apache.openmeetings.db.dto.basic.ServiceResult.Type;
import org.apache.openmeetings.db.dto.record.RecordingDTO;
import org.apache.openmeetings.db.entity.server.Sessiondata;
import org.apache.openmeetings.db.util.AuthLevelUtil;
@@ -78,11 +80,12 @@ public class RecordingWebService {
*/
@DELETE
@Path("/{id}")
- public void delete(@QueryParam("sid") @WebParam(name="sid") String sid,
@PathParam("id") @WebParam(name="id") Long id) throws ServiceException {
+ public ServiceResult delete(@QueryParam("sid") @WebParam(name="sid")
String sid, @PathParam("id") @WebParam(name="id") Long id) throws
ServiceException {
try {
Sessiondata sd = sessionDao.check(sid);
if
(AuthLevelUtil.hasWebServiceLevel(userDao.getRights(sd.getUserId()))) {
recordingDao.delete(recordingDao.get(id));
+ return new ServiceResult(id, "Deleted",
Type.SUCCESS);
} else {
throw new ServiceException("Not allowed to
preform that action, Authenticate the SID first");
}
Modified:
openmeetings/application/trunk/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/RoomWebService.java
URL:
http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/RoomWebService.java?rev=1759743&r1=1759742&r2=1759743&view=diff
==============================================================================
---
openmeetings/application/trunk/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/RoomWebService.java
(original)
+++
openmeetings/application/trunk/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/RoomWebService.java
Thu Sep 8 04:42:19 2016
@@ -23,6 +23,7 @@ import static org.apache.openmeetings.we
import java.util.ArrayList;
import java.util.List;
+import java.util.Set;
import javax.jws.WebMethod;
import javax.jws.WebParam;
@@ -55,6 +56,7 @@ import org.apache.openmeetings.db.entity
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.entity.user.User;
import org.apache.openmeetings.db.util.AuthLevelUtil;
import org.apache.openmeetings.util.message.RoomMessage;
import org.apache.openmeetings.webservice.error.ServiceException;
@@ -136,7 +138,8 @@ public class RoomWebService {
@Path("/{id}")
public RoomDTO getRoomById(@QueryParam("sid") @WebParam(name="sid")
String sid, @PathParam("id") @WebParam(name="id") Long id) throws
ServiceException {
Sessiondata sd = sessionDao.check(sid);
- if
(AuthLevelUtil.hasUserLevel(userDao.getRights(sd.getUserId()))) {
+ Set<User.Right> rights = userDao.getRights(sd.getUserId());
+ if (AuthLevelUtil.hasWebServiceLevel(rights) ||
AuthLevelUtil.hasUserLevel(rights)) {
return new RoomDTO(roomDao.get(id));
} else {
throw new ServiceException("Insufficient permissions");
//TODO code -26