Author: solomax
Date: Tue Apr 18 17:51:44 2017
New Revision: 1791817
URL: http://svn.apache.org/viewvc?rev=1791817&view=rev
Log:
[OPENMEETINGS-1630] room counters are fixed
Added:
openmeetings/application/branches/3.2.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/room/RoomCountDTO.java
- copied, changed from r1791816,
openmeetings/application/branches/3.2.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/room/RoomCountBean.java
openmeetings/application/trunk/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/room/RoomCountDTO.java
- copied, changed from r1791816,
openmeetings/application/trunk/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/room/RoomCountBean.java
Removed:
openmeetings/application/branches/3.2.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/room/RoomCountBean.java
openmeetings/application/trunk/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/room/RoomCountBean.java
Modified:
openmeetings/application/branches/3.2.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/basic/ServiceResult.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/RoomWebService.java
openmeetings/application/branches/3.2.x/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/UserWebService.java
openmeetings/application/branches/3.2.x/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/cluster/UserService.java
openmeetings/application/trunk/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/basic/ServiceResult.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/RoomWebService.java
openmeetings/application/trunk/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/UserWebService.java
openmeetings/application/trunk/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/cluster/UserService.java
Modified:
openmeetings/application/branches/3.2.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/basic/ServiceResult.java
URL:
http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/basic/ServiceResult.java?rev=1791817&r1=1791816&r2=1791817&view=diff
==============================================================================
---
openmeetings/application/branches/3.2.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/basic/ServiceResult.java
(original)
+++
openmeetings/application/branches/3.2.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/basic/ServiceResult.java
Tue Apr 18 17:51:44 2017
@@ -29,6 +29,7 @@ import javax.xml.bind.annotation.XmlType
@XmlAccessorType(XmlAccessType.FIELD)
public class ServiceResult implements Serializable {
private static final long serialVersionUID = 1L;
+ public static ServiceResult NO_PERMISSION = new ServiceResult(-26L,
"Insufficient permissions", Type.ERROR);
private long code;
private String message;
private String type;
@@ -39,7 +40,7 @@ public class ServiceResult implements Se
}
public ServiceResult() {}
-
+
public ServiceResult(long code, String message, String type) {
super();
this.code = code;
@@ -53,7 +54,7 @@ public class ServiceResult implements Se
this.message = message;
this.type = type.name();
}
-
+
public long getCode() {
return code;
}
Copied:
openmeetings/application/branches/3.2.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/room/RoomCountDTO.java
(from r1791816,
openmeetings/application/branches/3.2.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/room/RoomCountBean.java)
URL:
http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/room/RoomCountDTO.java?p2=openmeetings/application/branches/3.2.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/room/RoomCountDTO.java&p1=openmeetings/application/branches/3.2.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/room/RoomCountBean.java&r1=1791816&r2=1791817&rev=1791817&view=diff
==============================================================================
---
openmeetings/application/branches/3.2.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/room/RoomCountBean.java
(original)
+++
openmeetings/application/branches/3.2.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/room/RoomCountDTO.java
Tue Apr 18 17:51:44 2017
@@ -18,35 +18,48 @@
*/
package org.apache.openmeetings.db.dto.room;
-public class RoomCountBean {
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlRootElement;
+
+@XmlRootElement
+@XmlAccessorType(XmlAccessType.FIELD)
+public class RoomCountDTO {
private Long roomId;
private String roomName;
private int roomCount;
private long maxUser;
-
- public RoomCountBean() {}
-
+
+ public RoomCountDTO() {}
+
public Long getRoomId() {
return roomId;
}
+
public void setRoomId(Long roomId) {
this.roomId = roomId;
}
+
public String getRoomName() {
return roomName;
}
+
public void setRoomName(String roomName) {
this.roomName = roomName;
}
+
public int getRoomCount() {
return roomCount;
}
+
public void setRoomCount(int roomCount) {
this.roomCount = roomCount;
}
+
public long getMaxUser() {
return maxUser;
}
+
public void setMaxUser(long maxUser) {
this.maxUser = maxUser;
}
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=1791817&r1=1791816&r2=1791817&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 Apr 18 17:51:44 2017
@@ -18,6 +18,7 @@
*/
package org.apache.openmeetings.webservice;
+import static org.apache.openmeetings.db.dto.basic.ServiceResult.NO_PERMISSION;
import static org.apache.openmeetings.util.OpenmeetingsVariables.webAppRootKey;
import static org.apache.openmeetings.webservice.Constants.TNS;
@@ -111,7 +112,7 @@ public class FileWebService {
fileDao.delete(f);
return new ServiceResult(id, "Deleted",
Type.SUCCESS);
} else {
- return new ServiceResult(-26L, "Insufficient
permissions", Type.ERROR);
+ return NO_PERMISSION;
}
} catch (Exception e) {
log.error("[delete] ", e);
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=1791817&r1=1791816&r2=1791817&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 Apr 18 17:51:44 2017
@@ -18,6 +18,7 @@
*/
package org.apache.openmeetings.webservice;
+import static org.apache.openmeetings.db.dto.basic.ServiceResult.NO_PERMISSION;
import static org.apache.openmeetings.util.OpenmeetingsVariables.webAppRootKey;
import static org.apache.openmeetings.webservice.Constants.TNS;
@@ -106,7 +107,7 @@ public class GroupWebService {
return new ServiceResult(groupDao.update(o,
userId).getId(), "Success", Type.SUCCESS);
} else {
log.error("Could not create group");
- return new ServiceResult(-26L, "Insufficient
permissions", Type.ERROR);
+ return NO_PERMISSION;
}
}
@@ -161,7 +162,7 @@ public class GroupWebService {
}
return new ServiceResult(userid, "Success",
Type.SUCCESS);
} else {
- return new ServiceResult(-26L, "Insufficient
permissions", Type.ERROR);
+ return NO_PERMISSION;
}
} catch (Exception err) {
log.error("addUser", err);
@@ -205,7 +206,7 @@ public class GroupWebService {
}
return new ServiceResult(userid, "Success",
Type.SUCCESS);
} else {
- return new ServiceResult(-26L, "Insufficient
permissions", Type.ERROR);
+ return NO_PERMISSION;
}
} catch (Exception err) {
log.error("addUser", err);
@@ -253,7 +254,7 @@ public class GroupWebService {
}
return new ServiceResult(0L, "Not added",
Type.SUCCESS);
} else {
- return new ServiceResult(-26L, "Insufficient
permissions", Type.ERROR);
+ return NO_PERMISSION;
}
} catch (Exception err) {
log.error("[addRoom]", err);
@@ -333,7 +334,7 @@ public class GroupWebService {
return new ServiceResult(id, "Deleted",
Type.SUCCESS);
} else {
- return new ServiceResult(-26L, "Insufficient
permissions", Type.ERROR);
+ return NO_PERMISSION;
}
} catch (Exception err) {
log.error("deleteUserById", err);
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=1791817&r1=1791816&r2=1791817&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 Apr 18 17:51:44 2017
@@ -39,18 +39,18 @@ import javax.ws.rs.QueryParam;
import javax.ws.rs.core.MediaType;
import org.apache.cxf.feature.Features;
+import org.apache.openmeetings.IApplication;
import org.apache.openmeetings.core.util.WebSocketHelper;
import org.apache.openmeetings.db.dao.room.IInvitationManager;
import org.apache.openmeetings.db.dao.room.InvitationDao;
import org.apache.openmeetings.db.dao.room.RoomDao;
-import org.apache.openmeetings.db.dao.server.ISessionManager;
import org.apache.openmeetings.db.dao.server.SessiondataDao;
import org.apache.openmeetings.db.dao.user.IUserManager;
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.room.InvitationDTO;
-import org.apache.openmeetings.db.dto.room.RoomCountBean;
+import org.apache.openmeetings.db.dto.room.RoomCountDTO;
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;
@@ -58,8 +58,10 @@ import org.apache.openmeetings.db.entity
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.OpenmeetingsVariables;
import org.apache.openmeetings.util.message.RoomMessage;
import org.apache.openmeetings.webservice.error.ServiceException;
+import org.apache.wicket.Application;
import org.red5.logging.Red5LoggerFactory;
import org.slf4j.Logger;
import org.springframework.beans.factory.annotation.Autowired;
@@ -88,8 +90,6 @@ public class RoomWebService {
@Autowired
private IInvitationManager invitationManager;
@Autowired
- private ISessionManager sessionManager;
- @Autowired
private RoomDao roomDao;
/**
@@ -420,19 +420,20 @@ public class RoomWebService {
@WebMethod
@GET
@Path("/counters")
- 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<>();
+ public List<RoomCountDTO> counters(@WebParam(name="sid")
@QueryParam("sid") String sid, @WebParam(name="id") @QueryParam("id")
List<Long> ids) throws ServiceException {
+ List<RoomCountDTO> roomBeans = new ArrayList<>();
try {
Sessiondata sd = sessionDao.check(sid);
if
(AuthLevelUtil.hasWebServiceLevel(userDao.getRights(sd.getUserId()))) {
+ IApplication app =
(IApplication)Application.get(OpenmeetingsVariables.wicketApplicationName);
List<Room> rooms = roomDao.get(ids);
for (Room room : rooms) {
- RoomCountBean rCountBean = new
RoomCountBean();
+ RoomCountDTO rCountBean = new
RoomCountDTO();
rCountBean.setRoomId(room.getId());
rCountBean.setRoomName(room.getName());
rCountBean.setMaxUser(room.getNumberOfPartizipants());
-
rCountBean.setRoomCount(sessionManager.getClientListByRoom(room.getId()).size());
+
rCountBean.setRoomCount(app.getOmRoomClients(room.getId()).size());
roomBeans.add(rCountBean);
}
Modified:
openmeetings/application/branches/3.2.x/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/UserWebService.java
URL:
http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/UserWebService.java?rev=1791817&r1=1791816&r2=1791817&view=diff
==============================================================================
---
openmeetings/application/branches/3.2.x/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/UserWebService.java
(original)
+++
openmeetings/application/branches/3.2.x/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/UserWebService.java
Tue Apr 18 17:51:44 2017
@@ -18,6 +18,7 @@
*/
package org.apache.openmeetings.webservice;
+import static org.apache.openmeetings.db.dto.basic.ServiceResult.NO_PERMISSION;
import static org.apache.openmeetings.util.OpenmeetingsVariables.webAppRootKey;
import static org.apache.openmeetings.webservice.Constants.TNS;
import static org.apache.openmeetings.webservice.Constants.USER_SERVICE_NAME;
@@ -41,7 +42,7 @@ import javax.ws.rs.QueryParam;
import javax.ws.rs.core.MediaType;
import org.apache.cxf.feature.Features;
-import org.apache.openmeetings.core.session.SessionManager;
+import org.apache.openmeetings.IApplication;
import org.apache.openmeetings.db.dao.basic.ConfigurationDao;
import org.apache.openmeetings.db.dao.server.SOAPLoginDao;
import org.apache.openmeetings.db.dao.server.SessiondataDao;
@@ -59,20 +60,22 @@ import org.apache.openmeetings.db.entity
import org.apache.openmeetings.db.entity.user.User.Right;
import org.apache.openmeetings.db.util.AuthLevelUtil;
import org.apache.openmeetings.util.OmException;
+import org.apache.openmeetings.util.OpenmeetingsVariables;
import org.apache.openmeetings.webservice.cluster.UserService;
import org.apache.openmeetings.webservice.error.ServiceException;
+import org.apache.wicket.Application;
import org.apache.wicket.util.string.Strings;
import org.red5.logging.Red5LoggerFactory;
import org.slf4j.Logger;
import org.springframework.beans.factory.annotation.Autowired;
/**
- *
+ *
* The Service contains methods to login and create hash to directly enter
* conference rooms, recordings or the application in general
- *
+ *
* @author sebawagner
- *
+ *
*/
@WebService(serviceName = USER_SERVICE_NAME, targetNamespace = TNS, portName =
USER_SERVICE_PORT_NAME)
@Features(features = "org.apache.cxf.feature.LoggingFeature")
@@ -90,8 +93,6 @@ public class UserWebService implements U
private UserDao userDao;
@Autowired
private SessiondataDao sessionDao;
- @Autowired
- private SessionManager sessionManager;
/* (non-Javadoc)
* @see
org.apache.openmeetings.webservice.cluster.UserService#login(java.lang.String,
java.lang.String)
@@ -107,7 +108,7 @@ public class UserWebService implements U
if (u == null) {
return new ServiceResult(-1L, "Login failed",
Type.ERROR);
}
-
+
Sessiondata sd = sessionDao.create(u.getId(),
u.getLanguageId());
log.debug("Login user SID : " + sd.getSessionId());
return new ServiceResult(u.getId(), sd.getSessionId(),
Type.SUCCESS);
@@ -207,7 +208,7 @@ public class UserWebService implements U
}
//FIXME no update
-
+
/* (non-Javadoc)
* @see
org.apache.openmeetings.webservice.cluster.UserService#delete(java.lang.String,
long)
*/
@@ -223,7 +224,7 @@ public class UserWebService implements U
return new ServiceResult(id, "Deleted",
Type.SUCCESS);
} else {
- return new ServiceResult(-26L, "Insufficient
permissions", Type.ERROR);
+ return NO_PERMISSION;
}
} catch (Exception err) {
log.error("deleteUserById", err);
@@ -253,7 +254,7 @@ public class UserWebService implements U
return new ServiceResult(user.getId(),
"Deleted", Type.SUCCESS);
} else {
- return new ServiceResult(-26L, "Insufficient
permissions", Type.ERROR);
+ return NO_PERMISSION;
}
} catch (Exception err) {
log.error("deleteUserByExternalUserIdAndType", err);
@@ -305,7 +306,7 @@ public class UserWebService implements U
return new ServiceResult(0, hash,
Type.SUCCESS);
}
} else {
- return new ServiceResult(-26L, "Insufficient
permissions", Type.ERROR);
+ return NO_PERMISSION;
}
} catch (Exception err) {
log.error("getRoomHash", err);
@@ -326,10 +327,10 @@ public class UserWebService implements U
Sessiondata sd = sessionDao.check(sid);
if
(AuthLevelUtil.hasWebServiceLevel(userDao.getRights(sd.getUserId()))) {
Boolean success =
userManagement.kickUserByPublicSID(sid, publicSID);
-
+
return new
ServiceResult(Boolean.TRUE.equals(success) ? 1L : 0L,
Boolean.TRUE.equals(success) ? "deleted" : "not deleted", Type.SUCCESS);
} else {
- return new ServiceResult(-26L, "Insufficient
permissions", Type.ERROR);
+ return NO_PERMISSION;
}
} catch (Exception err) {
log.error("[kick]", err);
@@ -344,11 +345,12 @@ public class UserWebService implements U
@WebMethod
@GET
@Path("/count/{roomid}")
- public int count(@WebParam(name="sid") @QueryParam("sid") String sid,
@WebParam(name="roomid") @PathParam("roomid") Long roomId) {
+ public ServiceResult count(@WebParam(name="sid") @QueryParam("sid")
String sid, @WebParam(name="roomid") @PathParam("roomid") Long roomId) {
Sessiondata sd = sessionDao.check(sid);
if
(AuthLevelUtil.hasUserLevel(userDao.getRights(sd.getUserId()))) {
- return
sessionManager.getClientListByRoom(roomId).size();
+ IApplication app =
(IApplication)Application.get(OpenmeetingsVariables.wicketApplicationName);
+ return new
ServiceResult(app.getOmRoomClients(roomId).size(), "count", Type.SUCCESS);
}
- return -1;
+ return NO_PERMISSION;
}
}
Modified:
openmeetings/application/branches/3.2.x/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/cluster/UserService.java
URL:
http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/cluster/UserService.java?rev=1791817&r1=1791816&r2=1791817&view=diff
==============================================================================
---
openmeetings/application/branches/3.2.x/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/cluster/UserService.java
(original)
+++
openmeetings/application/branches/3.2.x/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/cluster/UserService.java
Tue Apr 18 17:51:44 2017
@@ -45,33 +45,33 @@ public interface UserService {
/**
* @param user - login or email of Openmeetings user with admin or
SOAP-rights
* @param pass - password
- *
+ *
* @return - {@link ServiceResult} with error code or SID and userId
*/
ServiceResult login(@WebParam(name="user") @QueryParam("user") String
user, @WebParam(name="pass") @QueryParam("pass") String pass);
/**
* Lists all users in the system!
- *
+ *
* @param sid
* The SID from getSession
- *
+ *
* @return - list of users
* @throws ServiceException
*/
List<UserDTO> get(@WebParam(name="sid") @QueryParam("sid") String sid)
throws ServiceException;
-
+
/**
* Adds a new User like through the Frontend, but also does activates
the
* Account To do SSO see the methods to create a hash and use those
ones!
- *
+ *
* @param sid
* The SID from getSession
* @param user
* user object
* @param confirm
* whatever or not to send email, leave empty for auto-send
- *
+ *
* @return - id of the user added or error code
* @throws ServiceException
*/
@@ -82,30 +82,30 @@ public interface UserService {
) throws ServiceException;
/**
- *
+ *
* Delete a certain user by its id
- *
+ *
* @param sid
* The SID from getSession
* @param id
* the openmeetings user id
- *
+ *
* @return - id of the user deleted, error code otherwise
* @throws ServiceException
*/
ServiceResult delete(@WebParam(name="sid") @QueryParam("sid") String
sid, @WebParam(name="id") @PathParam("id") long id) throws ServiceException;
/**
- *
+ *
* Delete a certain user by its external user id
- *
+ *
* @param sid
* The SID from getSession
* @param externalId
* externalUserId
* @param externalType
* externalUserId
- *
+ *
* @return - id of user deleted, or error code
* @throws ServiceException
*/
@@ -119,14 +119,14 @@ public interface UserService {
* Description: sets the SessionObject for a certain SID, after setting
this
* Session-Object you can use the SID + a RoomId to enter any Room. ...
* Session-Hashs are deleted 15 minutes after the creation if not used.
- *
+ *
* @param sid
* The SID from getSession
* @param user
* user details to set
* @param options
* room options to set
- *
+ *
* @return - secure hash or error code
* @throws ServiceException
*/
@@ -138,7 +138,7 @@ public interface UserService {
/**
* Kick a user by its public SID
- *
+ *
* @param sid
* The SID from getSession
* @param publicSID
@@ -151,10 +151,10 @@ public interface UserService {
/**
* Returns the count of users currently in the Room with given id
* No admin rights are necessary for this call
- *
+ *
* @param sid The SID from UserService.getSession
* @param roomId id of the room to get users
* @return number of users as int
*/
- int count(@WebParam(name="sid") @QueryParam("sid") String sid,
@WebParam(name="roomid") @PathParam("roomid") Long roomId);
+ ServiceResult count(@WebParam(name="sid") @QueryParam("sid") String
sid, @WebParam(name="roomid") @PathParam("roomid") Long roomId);
}
Modified:
openmeetings/application/trunk/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/basic/ServiceResult.java
URL:
http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/basic/ServiceResult.java?rev=1791817&r1=1791816&r2=1791817&view=diff
==============================================================================
---
openmeetings/application/trunk/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/basic/ServiceResult.java
(original)
+++
openmeetings/application/trunk/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/basic/ServiceResult.java
Tue Apr 18 17:51:44 2017
@@ -29,6 +29,7 @@ import javax.xml.bind.annotation.XmlType
@XmlAccessorType(XmlAccessType.FIELD)
public class ServiceResult implements Serializable {
private static final long serialVersionUID = 1L;
+ public static ServiceResult NO_PERMISSION = new ServiceResult(-26L,
"Insufficient permissions", Type.ERROR);
private long code;
private String message;
private String type;
@@ -39,7 +40,7 @@ public class ServiceResult implements Se
}
public ServiceResult() {}
-
+
public ServiceResult(long code, String message, String type) {
super();
this.code = code;
@@ -53,7 +54,7 @@ public class ServiceResult implements Se
this.message = message;
this.type = type.name();
}
-
+
public long getCode() {
return code;
}
Copied:
openmeetings/application/trunk/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/room/RoomCountDTO.java
(from r1791816,
openmeetings/application/trunk/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/room/RoomCountBean.java)
URL:
http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/room/RoomCountDTO.java?p2=openmeetings/application/trunk/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/room/RoomCountDTO.java&p1=openmeetings/application/trunk/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/room/RoomCountBean.java&r1=1791816&r2=1791817&rev=1791817&view=diff
==============================================================================
---
openmeetings/application/trunk/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/room/RoomCountBean.java
(original)
+++
openmeetings/application/trunk/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/room/RoomCountDTO.java
Tue Apr 18 17:51:44 2017
@@ -18,35 +18,48 @@
*/
package org.apache.openmeetings.db.dto.room;
-public class RoomCountBean {
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlRootElement;
+
+@XmlRootElement
+@XmlAccessorType(XmlAccessType.FIELD)
+public class RoomCountDTO {
private Long roomId;
private String roomName;
private int roomCount;
private long maxUser;
-
- public RoomCountBean() {}
-
+
+ public RoomCountDTO() {}
+
public Long getRoomId() {
return roomId;
}
+
public void setRoomId(Long roomId) {
this.roomId = roomId;
}
+
public String getRoomName() {
return roomName;
}
+
public void setRoomName(String roomName) {
this.roomName = roomName;
}
+
public int getRoomCount() {
return roomCount;
}
+
public void setRoomCount(int roomCount) {
this.roomCount = roomCount;
}
+
public long getMaxUser() {
return maxUser;
}
+
public void setMaxUser(long maxUser) {
this.maxUser = maxUser;
}
Modified:
openmeetings/application/trunk/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/FileWebService.java
URL:
http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/FileWebService.java?rev=1791817&r1=1791816&r2=1791817&view=diff
==============================================================================
---
openmeetings/application/trunk/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/FileWebService.java
(original)
+++
openmeetings/application/trunk/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/FileWebService.java
Tue Apr 18 17:51:44 2017
@@ -18,6 +18,7 @@
*/
package org.apache.openmeetings.webservice;
+import static org.apache.openmeetings.db.dto.basic.ServiceResult.NO_PERMISSION;
import static org.apache.openmeetings.util.OpenmeetingsVariables.webAppRootKey;
import static org.apache.openmeetings.webservice.Constants.TNS;
@@ -111,7 +112,7 @@ public class FileWebService {
fileDao.delete(f);
return new ServiceResult(id, "Deleted",
Type.SUCCESS);
} else {
- return new ServiceResult(-26L, "Insufficient
permissions", Type.ERROR);
+ return NO_PERMISSION;
}
} catch (Exception e) {
log.error("[delete] ", e);
Modified:
openmeetings/application/trunk/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/GroupWebService.java
URL:
http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/GroupWebService.java?rev=1791817&r1=1791816&r2=1791817&view=diff
==============================================================================
---
openmeetings/application/trunk/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/GroupWebService.java
(original)
+++
openmeetings/application/trunk/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/GroupWebService.java
Tue Apr 18 17:51:44 2017
@@ -18,6 +18,7 @@
*/
package org.apache.openmeetings.webservice;
+import static org.apache.openmeetings.db.dto.basic.ServiceResult.NO_PERMISSION;
import static org.apache.openmeetings.util.OpenmeetingsVariables.webAppRootKey;
import static org.apache.openmeetings.webservice.Constants.TNS;
@@ -106,7 +107,7 @@ public class GroupWebService {
return new ServiceResult(groupDao.update(o,
userId).getId(), "Success", Type.SUCCESS);
} else {
log.error("Could not create group");
- return new ServiceResult(-26L, "Insufficient
permissions", Type.ERROR);
+ return NO_PERMISSION;
}
}
@@ -161,7 +162,7 @@ public class GroupWebService {
}
return new ServiceResult(userid, "Success",
Type.SUCCESS);
} else {
- return new ServiceResult(-26L, "Insufficient
permissions", Type.ERROR);
+ return NO_PERMISSION;
}
} catch (Exception err) {
log.error("addUser", err);
@@ -205,7 +206,7 @@ public class GroupWebService {
}
return new ServiceResult(userid, "Success",
Type.SUCCESS);
} else {
- return new ServiceResult(-26L, "Insufficient
permissions", Type.ERROR);
+ return NO_PERMISSION;
}
} catch (Exception err) {
log.error("addUser", err);
@@ -253,7 +254,7 @@ public class GroupWebService {
}
return new ServiceResult(0L, "Not added",
Type.SUCCESS);
} else {
- return new ServiceResult(-26L, "Insufficient
permissions", Type.ERROR);
+ return NO_PERMISSION;
}
} catch (Exception err) {
log.error("[addRoom]", err);
@@ -333,7 +334,7 @@ public class GroupWebService {
return new ServiceResult(id, "Deleted",
Type.SUCCESS);
} else {
- return new ServiceResult(-26L, "Insufficient
permissions", Type.ERROR);
+ return NO_PERMISSION;
}
} catch (Exception err) {
log.error("deleteUserById", err);
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=1791817&r1=1791816&r2=1791817&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
Tue Apr 18 17:51:44 2017
@@ -39,18 +39,18 @@ import javax.ws.rs.QueryParam;
import javax.ws.rs.core.MediaType;
import org.apache.cxf.feature.Features;
+import org.apache.openmeetings.IApplication;
import org.apache.openmeetings.core.util.WebSocketHelper;
import org.apache.openmeetings.db.dao.room.IInvitationManager;
import org.apache.openmeetings.db.dao.room.InvitationDao;
import org.apache.openmeetings.db.dao.room.RoomDao;
-import org.apache.openmeetings.db.dao.server.ISessionManager;
import org.apache.openmeetings.db.dao.server.SessiondataDao;
import org.apache.openmeetings.db.dao.user.IUserManager;
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.room.InvitationDTO;
-import org.apache.openmeetings.db.dto.room.RoomCountBean;
+import org.apache.openmeetings.db.dto.room.RoomCountDTO;
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;
@@ -58,8 +58,10 @@ import org.apache.openmeetings.db.entity
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.OpenmeetingsVariables;
import org.apache.openmeetings.util.message.RoomMessage;
import org.apache.openmeetings.webservice.error.ServiceException;
+import org.apache.wicket.Application;
import org.red5.logging.Red5LoggerFactory;
import org.slf4j.Logger;
import org.springframework.beans.factory.annotation.Autowired;
@@ -88,8 +90,6 @@ public class RoomWebService {
@Autowired
private IInvitationManager invitationManager;
@Autowired
- private ISessionManager sessionManager;
- @Autowired
private RoomDao roomDao;
/**
@@ -420,19 +420,20 @@ public class RoomWebService {
@WebMethod
@GET
@Path("/counters")
- 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<>();
+ public List<RoomCountDTO> counters(@WebParam(name="sid")
@QueryParam("sid") String sid, @WebParam(name="id") @QueryParam("id")
List<Long> ids) throws ServiceException {
+ List<RoomCountDTO> roomBeans = new ArrayList<>();
try {
Sessiondata sd = sessionDao.check(sid);
if
(AuthLevelUtil.hasWebServiceLevel(userDao.getRights(sd.getUserId()))) {
+ IApplication app =
(IApplication)Application.get(OpenmeetingsVariables.wicketApplicationName);
List<Room> rooms = roomDao.get(ids);
for (Room room : rooms) {
- RoomCountBean rCountBean = new
RoomCountBean();
+ RoomCountDTO rCountBean = new
RoomCountDTO();
rCountBean.setRoomId(room.getId());
rCountBean.setRoomName(room.getName());
rCountBean.setMaxUser(room.getNumberOfPartizipants());
-
rCountBean.setRoomCount(sessionManager.getClientListByRoom(room.getId()).size());
+
rCountBean.setRoomCount(app.getOmRoomClients(room.getId()).size());
roomBeans.add(rCountBean);
}
Modified:
openmeetings/application/trunk/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/UserWebService.java
URL:
http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/UserWebService.java?rev=1791817&r1=1791816&r2=1791817&view=diff
==============================================================================
---
openmeetings/application/trunk/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/UserWebService.java
(original)
+++
openmeetings/application/trunk/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/UserWebService.java
Tue Apr 18 17:51:44 2017
@@ -18,6 +18,7 @@
*/
package org.apache.openmeetings.webservice;
+import static org.apache.openmeetings.db.dto.basic.ServiceResult.NO_PERMISSION;
import static org.apache.openmeetings.util.OpenmeetingsVariables.webAppRootKey;
import static org.apache.openmeetings.webservice.Constants.TNS;
import static org.apache.openmeetings.webservice.Constants.USER_SERVICE_NAME;
@@ -41,7 +42,7 @@ import javax.ws.rs.QueryParam;
import javax.ws.rs.core.MediaType;
import org.apache.cxf.feature.Features;
-import org.apache.openmeetings.core.session.SessionManager;
+import org.apache.openmeetings.IApplication;
import org.apache.openmeetings.db.dao.basic.ConfigurationDao;
import org.apache.openmeetings.db.dao.server.SOAPLoginDao;
import org.apache.openmeetings.db.dao.server.SessiondataDao;
@@ -59,20 +60,22 @@ import org.apache.openmeetings.db.entity
import org.apache.openmeetings.db.entity.user.User.Right;
import org.apache.openmeetings.db.util.AuthLevelUtil;
import org.apache.openmeetings.util.OmException;
+import org.apache.openmeetings.util.OpenmeetingsVariables;
import org.apache.openmeetings.webservice.cluster.UserService;
import org.apache.openmeetings.webservice.error.ServiceException;
+import org.apache.wicket.Application;
import org.apache.wicket.util.string.Strings;
import org.red5.logging.Red5LoggerFactory;
import org.slf4j.Logger;
import org.springframework.beans.factory.annotation.Autowired;
/**
- *
+ *
* The Service contains methods to login and create hash to directly enter
* conference rooms, recordings or the application in general
- *
+ *
* @author sebawagner
- *
+ *
*/
@WebService(serviceName = USER_SERVICE_NAME, targetNamespace = TNS, portName =
USER_SERVICE_PORT_NAME)
@Features(features = "org.apache.cxf.feature.LoggingFeature")
@@ -90,8 +93,6 @@ public class UserWebService implements U
private UserDao userDao;
@Autowired
private SessiondataDao sessionDao;
- @Autowired
- private SessionManager sessionManager;
/* (non-Javadoc)
* @see
org.apache.openmeetings.webservice.cluster.UserService#login(java.lang.String,
java.lang.String)
@@ -107,7 +108,7 @@ public class UserWebService implements U
if (u == null) {
return new ServiceResult(-1L, "Login failed",
Type.ERROR);
}
-
+
Sessiondata sd = sessionDao.create(u.getId(),
u.getLanguageId());
log.debug("Login user SID : " + sd.getSessionId());
return new ServiceResult(u.getId(), sd.getSessionId(),
Type.SUCCESS);
@@ -207,7 +208,7 @@ public class UserWebService implements U
}
//FIXME no update
-
+
/* (non-Javadoc)
* @see
org.apache.openmeetings.webservice.cluster.UserService#delete(java.lang.String,
long)
*/
@@ -223,7 +224,7 @@ public class UserWebService implements U
return new ServiceResult(id, "Deleted",
Type.SUCCESS);
} else {
- return new ServiceResult(-26L, "Insufficient
permissions", Type.ERROR);
+ return NO_PERMISSION;
}
} catch (Exception err) {
log.error("deleteUserById", err);
@@ -253,7 +254,7 @@ public class UserWebService implements U
return new ServiceResult(user.getId(),
"Deleted", Type.SUCCESS);
} else {
- return new ServiceResult(-26L, "Insufficient
permissions", Type.ERROR);
+ return NO_PERMISSION;
}
} catch (Exception err) {
log.error("deleteUserByExternalUserIdAndType", err);
@@ -305,7 +306,7 @@ public class UserWebService implements U
return new ServiceResult(0, hash,
Type.SUCCESS);
}
} else {
- return new ServiceResult(-26L, "Insufficient
permissions", Type.ERROR);
+ return NO_PERMISSION;
}
} catch (Exception err) {
log.error("getRoomHash", err);
@@ -326,10 +327,10 @@ public class UserWebService implements U
Sessiondata sd = sessionDao.check(sid);
if
(AuthLevelUtil.hasWebServiceLevel(userDao.getRights(sd.getUserId()))) {
Boolean success =
userManagement.kickUserByPublicSID(sid, publicSID);
-
+
return new
ServiceResult(Boolean.TRUE.equals(success) ? 1L : 0L,
Boolean.TRUE.equals(success) ? "deleted" : "not deleted", Type.SUCCESS);
} else {
- return new ServiceResult(-26L, "Insufficient
permissions", Type.ERROR);
+ return NO_PERMISSION;
}
} catch (Exception err) {
log.error("[kick]", err);
@@ -344,11 +345,12 @@ public class UserWebService implements U
@WebMethod
@GET
@Path("/count/{roomid}")
- public int count(@WebParam(name="sid") @QueryParam("sid") String sid,
@WebParam(name="roomid") @PathParam("roomid") Long roomId) {
+ public ServiceResult count(@WebParam(name="sid") @QueryParam("sid")
String sid, @WebParam(name="roomid") @PathParam("roomid") Long roomId) {
Sessiondata sd = sessionDao.check(sid);
if
(AuthLevelUtil.hasUserLevel(userDao.getRights(sd.getUserId()))) {
- return
sessionManager.getClientListByRoom(roomId).size();
+ IApplication app =
(IApplication)Application.get(OpenmeetingsVariables.wicketApplicationName);
+ return new
ServiceResult(app.getOmRoomClients(roomId).size(), "count", Type.SUCCESS);
}
- return -1;
+ return NO_PERMISSION;
}
}
Modified:
openmeetings/application/trunk/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/cluster/UserService.java
URL:
http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/cluster/UserService.java?rev=1791817&r1=1791816&r2=1791817&view=diff
==============================================================================
---
openmeetings/application/trunk/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/cluster/UserService.java
(original)
+++
openmeetings/application/trunk/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/cluster/UserService.java
Tue Apr 18 17:51:44 2017
@@ -45,33 +45,33 @@ public interface UserService {
/**
* @param user - login or email of Openmeetings user with admin or
SOAP-rights
* @param pass - password
- *
+ *
* @return - {@link ServiceResult} with error code or SID and userId
*/
ServiceResult login(@WebParam(name="user") @QueryParam("user") String
user, @WebParam(name="pass") @QueryParam("pass") String pass);
/**
* Lists all users in the system!
- *
+ *
* @param sid
* The SID from getSession
- *
+ *
* @return - list of users
* @throws ServiceException
*/
List<UserDTO> get(@WebParam(name="sid") @QueryParam("sid") String sid)
throws ServiceException;
-
+
/**
* Adds a new User like through the Frontend, but also does activates
the
* Account To do SSO see the methods to create a hash and use those
ones!
- *
+ *
* @param sid
* The SID from getSession
* @param user
* user object
* @param confirm
* whatever or not to send email, leave empty for auto-send
- *
+ *
* @return - id of the user added or error code
* @throws ServiceException
*/
@@ -82,30 +82,30 @@ public interface UserService {
) throws ServiceException;
/**
- *
+ *
* Delete a certain user by its id
- *
+ *
* @param sid
* The SID from getSession
* @param id
* the openmeetings user id
- *
+ *
* @return - id of the user deleted, error code otherwise
* @throws ServiceException
*/
ServiceResult delete(@WebParam(name="sid") @QueryParam("sid") String
sid, @WebParam(name="id") @PathParam("id") long id) throws ServiceException;
/**
- *
+ *
* Delete a certain user by its external user id
- *
+ *
* @param sid
* The SID from getSession
* @param externalId
* externalUserId
* @param externalType
* externalUserId
- *
+ *
* @return - id of user deleted, or error code
* @throws ServiceException
*/
@@ -119,14 +119,14 @@ public interface UserService {
* Description: sets the SessionObject for a certain SID, after setting
this
* Session-Object you can use the SID + a RoomId to enter any Room. ...
* Session-Hashs are deleted 15 minutes after the creation if not used.
- *
+ *
* @param sid
* The SID from getSession
* @param user
* user details to set
* @param options
* room options to set
- *
+ *
* @return - secure hash or error code
* @throws ServiceException
*/
@@ -138,7 +138,7 @@ public interface UserService {
/**
* Kick a user by its public SID
- *
+ *
* @param sid
* The SID from getSession
* @param publicSID
@@ -151,10 +151,10 @@ public interface UserService {
/**
* Returns the count of users currently in the Room with given id
* No admin rights are necessary for this call
- *
+ *
* @param sid The SID from UserService.getSession
* @param roomId id of the room to get users
* @return number of users as int
*/
- int count(@WebParam(name="sid") @QueryParam("sid") String sid,
@WebParam(name="roomid") @PathParam("roomid") Long roomId);
+ ServiceResult count(@WebParam(name="sid") @QueryParam("sid") String
sid, @WebParam(name="roomid") @PathParam("roomid") Long roomId);
}