[OPENMEETINGS-1630] room counters are fixed

Project: http://git-wip-us.apache.org/repos/asf/openmeetings/repo
Commit: http://git-wip-us.apache.org/repos/asf/openmeetings/commit/7ea97eb3
Tree: http://git-wip-us.apache.org/repos/asf/openmeetings/tree/7ea97eb3
Diff: http://git-wip-us.apache.org/repos/asf/openmeetings/diff/7ea97eb3

Branch: refs/heads/3.2.x
Commit: 7ea97eb3d493cc3f79dc5fc233fd0cc262125f81
Parents: 96e7578
Author: Maxim Solodovnik <[email protected]>
Authored: Tue Apr 18 17:51:44 2017 +0000
Committer: Maxim Solodovnik <[email protected]>
Committed: Tue Apr 18 17:51:44 2017 +0000

----------------------------------------------------------------------
 .../db/dto/basic/ServiceResult.java             |  5 +-
 .../openmeetings/db/dto/room/RoomCountBean.java | 53 ----------------
 .../openmeetings/db/dto/room/RoomCountDTO.java  | 66 ++++++++++++++++++++
 .../openmeetings/webservice/FileWebService.java |  3 +-
 .../webservice/GroupWebService.java             | 11 ++--
 .../openmeetings/webservice/RoomWebService.java | 17 ++---
 .../openmeetings/webservice/UserWebService.java | 34 +++++-----
 .../webservice/cluster/UserService.java         | 34 +++++-----
 8 files changed, 121 insertions(+), 102 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/openmeetings/blob/7ea97eb3/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/basic/ServiceResult.java
----------------------------------------------------------------------
diff --git 
a/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/basic/ServiceResult.java
 
b/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/basic/ServiceResult.java
index 9212ca8..4393b05 100644
--- 
a/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/basic/ServiceResult.java
+++ 
b/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/basic/ServiceResult.java
@@ -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 Serializable {
        }
 
        public ServiceResult() {}
-       
+
        public ServiceResult(long code, String message, String type) {
                super();
                this.code = code;
@@ -53,7 +54,7 @@ public class ServiceResult implements Serializable {
                this.message = message;
                this.type = type.name();
        }
-       
+
        public long getCode() {
                return code;
        }

http://git-wip-us.apache.org/repos/asf/openmeetings/blob/7ea97eb3/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/room/RoomCountBean.java
----------------------------------------------------------------------
diff --git 
a/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/room/RoomCountBean.java
 
b/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/room/RoomCountBean.java
deleted file mode 100644
index b612e70..0000000
--- 
a/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/room/RoomCountBean.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License") +  you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.openmeetings.db.dto.room;
-
-public class RoomCountBean {
-       private Long roomId;
-       private String roomName;
-       private int roomCount;
-       private long maxUser;
-       
-       public RoomCountBean() {}
-       
-       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;
-       }
-}

http://git-wip-us.apache.org/repos/asf/openmeetings/blob/7ea97eb3/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/room/RoomCountDTO.java
----------------------------------------------------------------------
diff --git 
a/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/room/RoomCountDTO.java
 
b/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/room/RoomCountDTO.java
new file mode 100644
index 0000000..3a6c168
--- /dev/null
+++ 
b/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/room/RoomCountDTO.java
@@ -0,0 +1,66 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License") +  you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.openmeetings.db.dto.room;
+
+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 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;
+       }
+}

http://git-wip-us.apache.org/repos/asf/openmeetings/blob/7ea97eb3/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/FileWebService.java
----------------------------------------------------------------------
diff --git 
a/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/FileWebService.java
 
b/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/FileWebService.java
index ea70478..d4e8326 100644
--- 
a/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/FileWebService.java
+++ 
b/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/FileWebService.java
@@ -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);

http://git-wip-us.apache.org/repos/asf/openmeetings/blob/7ea97eb3/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/GroupWebService.java
----------------------------------------------------------------------
diff --git 
a/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/GroupWebService.java
 
b/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/GroupWebService.java
index a18f223..87a6ab6 100644
--- 
a/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/GroupWebService.java
+++ 
b/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/GroupWebService.java
@@ -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);

http://git-wip-us.apache.org/repos/asf/openmeetings/blob/7ea97eb3/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/RoomWebService.java
----------------------------------------------------------------------
diff --git 
a/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/RoomWebService.java
 
b/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/RoomWebService.java
index 98676be..adcfce6 100644
--- 
a/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/RoomWebService.java
+++ 
b/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/RoomWebService.java
@@ -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.room.Room;
 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);
                                }

http://git-wip-us.apache.org/repos/asf/openmeetings/blob/7ea97eb3/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/UserWebService.java
----------------------------------------------------------------------
diff --git 
a/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/UserWebService.java
 
b/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/UserWebService.java
index 30834e7..0ff9f7f 100644
--- 
a/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/UserWebService.java
+++ 
b/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/UserWebService.java
@@ -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.user.User;
 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 UserService {
        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 UserService {
                        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 UserService {
        }
 
        //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 UserService {
 
                                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 UserService {
 
                                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 UserService {
                                        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 UserService {
                        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 UserService {
        @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;
        }
 }

http://git-wip-us.apache.org/repos/asf/openmeetings/blob/7ea97eb3/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/cluster/UserService.java
----------------------------------------------------------------------
diff --git 
a/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/cluster/UserService.java
 
b/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/cluster/UserService.java
index daf9328..6ccba83 100644
--- 
a/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/cluster/UserService.java
+++ 
b/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/cluster/UserService.java
@@ -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);
 }

Reply via email to