Repository: openmeetings
Updated Branches:
  refs/heads/master 7e29189eb -> c6e0db165


http://git-wip-us.apache.org/repos/asf/openmeetings/blob/bbcdbf7e/openmeetings-web/src/main/webapp/WEB-INF/classes/logback-config.xml
----------------------------------------------------------------------
diff --git 
a/openmeetings-web/src/main/webapp/WEB-INF/classes/logback-config.xml 
b/openmeetings-web/src/main/webapp/WEB-INF/classes/logback-config.xml
index 2106686..3c55b02 100644
--- a/openmeetings-web/src/main/webapp/WEB-INF/classes/logback-config.xml
+++ b/openmeetings-web/src/main/webapp/WEB-INF/classes/logback-config.xml
@@ -7,18 +7,17 @@
   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.
-  
--->
 
+-->
 <configuration xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";>
        <contextName>${current_openmeetings_context_name}</contextName>
 

http://git-wip-us.apache.org/repos/asf/openmeetings/blob/bbcdbf7e/openmeetings-web/src/main/webapp/WEB-INF/classes/rebel-remote.xml
----------------------------------------------------------------------
diff --git a/openmeetings-web/src/main/webapp/WEB-INF/classes/rebel-remote.xml 
b/openmeetings-web/src/main/webapp/WEB-INF/classes/rebel-remote.xml
index 0dce654..25f4a7f 100644
--- a/openmeetings-web/src/main/webapp/WEB-INF/classes/rebel-remote.xml
+++ b/openmeetings-web/src/main/webapp/WEB-INF/classes/rebel-remote.xml
@@ -7,16 +7,16 @@
   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.
-  
+
 -->
 <rebel-remote>
        <id>Openmeetings</id>

http://git-wip-us.apache.org/repos/asf/openmeetings/blob/bbcdbf7e/openmeetings-web/src/main/webapp/WEB-INF/classes/rebel.xml
----------------------------------------------------------------------
diff --git a/openmeetings-web/src/main/webapp/WEB-INF/classes/rebel.xml 
b/openmeetings-web/src/main/webapp/WEB-INF/classes/rebel.xml
index 747b192..a693fbe 100644
--- a/openmeetings-web/src/main/webapp/WEB-INF/classes/rebel.xml
+++ b/openmeetings-web/src/main/webapp/WEB-INF/classes/rebel.xml
@@ -7,16 +7,16 @@
   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.
-  
+
 -->
 <application
                xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";

http://git-wip-us.apache.org/repos/asf/openmeetings/blob/bbcdbf7e/openmeetings-web/src/test/java/org/apache/openmeetings/test/session/TestDbSession.java
----------------------------------------------------------------------
diff --git 
a/openmeetings-web/src/test/java/org/apache/openmeetings/test/session/TestDbSession.java
 
b/openmeetings-web/src/test/java/org/apache/openmeetings/test/session/TestDbSession.java
deleted file mode 100644
index 675a4e2..0000000
--- 
a/openmeetings-web/src/test/java/org/apache/openmeetings/test/session/TestDbSession.java
+++ /dev/null
@@ -1,179 +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.test.session;
-
-import static org.apache.openmeetings.util.OpenmeetingsVariables.webAppRootKey;
-import static org.junit.Assert.assertEquals;
-
-import java.util.List;
-
-import org.apache.openmeetings.db.dao.room.ClientDao;
-import org.apache.openmeetings.db.dao.server.ServerDao;
-import org.apache.openmeetings.db.entity.room.StreamClient;
-import org.apache.openmeetings.db.entity.server.Server;
-import org.apache.openmeetings.test.AbstractJUnitDefaults;
-import org.junit.Before;
-import org.junit.Test;
-import org.red5.logging.Red5LoggerFactory;
-import org.slf4j.Logger;
-import org.springframework.beans.factory.annotation.Autowired;
-
-public class TestDbSession extends AbstractJUnitDefaults {
-       protected static final Logger log = 
Red5LoggerFactory.getLogger(TestDbSession.class, webAppRootKey);
-
-       @Autowired
-       private ServerDao serverDao;
-
-       @Autowired
-       private ClientDao clientDao;
-       private Server server = null;
-       StreamClient cl1, cl2, cl3;
-
-       @Before
-       public void setup() {
-               List<Server> serverList = serverDao.getActiveServers();
-
-               if (serverList.size() > 0) {
-                       server = serverList.get(0);
-               } else {
-                       server = new Server();
-                       server.setName("Test Server");
-                       server.setActive(true);
-                       serverDao.update(server, null);
-               }
-
-               clientDao.cleanAllClients();
-
-               cl1 = new StreamClient();
-               cl1.setServer(null);
-               cl1.setUserId(1L);
-               cl1.setScope("1");
-               cl1.setUid("public1");
-               clientDao.add(cl1);
-
-               cl2 = new StreamClient();
-               cl2.setServer(null);
-               cl2.setScope("1");
-               cl2.setUserId(2L);
-               cl2.setUid("public2");
-               clientDao.add(cl2);
-
-               cl3 = new StreamClient();
-               cl3.setServer(server);
-               cl3.setScope("3");
-               cl3.setUserId(3L);
-               cl3.setUid("public3");
-               clientDao.add(cl3);
-       }
-
-       @Test
-       public void testByUidAndServer() {
-               List<StreamClient> clTest_Pub_1_list = 
clientDao.getClientsByUidAndServer(null, "public1");
-               assertEquals(cl1.getId(), clTest_Pub_1_list.get(0).getId());
-
-               List<StreamClient> clTest_Pub_3_list = 
clientDao.getClientsByUidAndServer(server, "public3");
-               assertEquals(cl3.getId(), clTest_Pub_3_list.get(0).getId());
-
-               List<StreamClient> clTest_Fail_list = 
clientDao.getClientsByUidAndServer(null, "public3");
-               assertEquals(0, clTest_Fail_list.size());
-       }
-
-       @Test
-       public void testByUid() {
-               List<StreamClient> clTest_PubAll_1_list = 
clientDao.getClientsByUid("public1");
-               assertEquals(cl1.getId(), clTest_PubAll_1_list.get(0).getId());
-
-               List<StreamClient> clTest_PubAll_3_list = 
clientDao.getClientsByUid("public3");
-               assertEquals(cl3.getId(), clTest_PubAll_3_list.get(0).getId());
-
-               List<StreamClient> clTest_FailAll_list = 
clientDao.getClientsByUid("public4");
-               assertEquals(0, clTest_FailAll_list.size());
-       }
-
-
-       @Test
-       public void testByServer() {
-               List<StreamClient> clientsByServerNull = 
clientDao.getClientsByServer(null);
-               assertEquals(2, clientsByServerNull.size());
-
-               List<StreamClient> clientsByServer = 
clientDao.getClientsByServer(server);
-               assertEquals(1, clientsByServer.size());
-
-               //count by server
-               int clTest_Count_1_list = clientDao.countClientsByServer(null);
-               assertEquals(2, clTest_Count_1_list);
-
-               int clTest_Count_3_list = 
clientDao.countClientsByServer(server);
-               assertEquals(1, clTest_Count_3_list);
-       }
-
-       @Test
-       public void testByUser() {
-               //by userid
-               List<StreamClient> clTest_User_1_list = 
clientDao.getClientsByUserId(null, 1L);
-               assertEquals(cl1.getId(), clTest_User_1_list.get(0).getId());
-
-               List<StreamClient> clTest_User_3_list = 
clientDao.getClientsByUserId(server, 3L);
-               assertEquals(cl3.getId(), clTest_User_3_list.get(0).getId());
-
-               List<StreamClient> clTest_UserFail_list = 
clientDao.getClientsByUserId(null, 3L);
-               assertEquals(0, clTest_UserFail_list.size());
-       }
-
-       @Test
-       public void testByRoom() {
-               //by roomid
-               List<StreamClient> clTest_Room_1_list = 
clientDao.getClientsByRoomId(1L);
-               assertEquals(2, clTest_Room_1_list.size());
-
-               List<StreamClient> clTest_Room_3_list = 
clientDao.getClientsByRoomId(3L);
-               assertEquals(cl3.getId(), clTest_Room_3_list.get(0).getId());
-
-               List<StreamClient> clTest_RoomFail_list = 
clientDao.getClientsByRoomId(2L);
-               assertEquals(0, clTest_RoomFail_list.size());
-       }
-
-       @Test
-       public void testAll() {
-               //all
-               List<StreamClient> clientsAll = clientDao.getClients();
-               assertEquals(3, clientsAll.size());
-
-               int countAll = clientDao.countClients();
-               assertEquals(3, countAll);
-       }
-
-       @Test
-       public void testRemove() {
-               //remove by id
-               clientDao.delete(cl1);
-
-               int clTest_Count_Delete_list = 
clientDao.countClientsByServer(null);
-               assertEquals(1, clTest_Count_Delete_list);
-
-               clTest_Count_Delete_list = 
clientDao.countClientsByServer(server);
-               assertEquals(1, clTest_Count_Delete_list);
-
-               //delete all
-               clientDao.cleanAllClients();
-
-               int countAll = clientDao.countClients();
-               assertEquals(0, countAll);
-       }
-}

http://git-wip-us.apache.org/repos/asf/openmeetings/blob/bbcdbf7e/openmeetings-web/src/test/java/org/apache/openmeetings/test/session/TestDbSessionGetRoomIds.java
----------------------------------------------------------------------
diff --git 
a/openmeetings-web/src/test/java/org/apache/openmeetings/test/session/TestDbSessionGetRoomIds.java
 
b/openmeetings-web/src/test/java/org/apache/openmeetings/test/session/TestDbSessionGetRoomIds.java
deleted file mode 100644
index 3225508..0000000
--- 
a/openmeetings-web/src/test/java/org/apache/openmeetings/test/session/TestDbSessionGetRoomIds.java
+++ /dev/null
@@ -1,92 +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.test.session;
-
-import static org.apache.openmeetings.util.OpenmeetingsVariables.webAppRootKey;
-import static org.junit.Assert.assertEquals;
-
-import java.util.List;
-
-import org.apache.openmeetings.db.dao.room.ClientDao;
-import org.apache.openmeetings.db.dao.server.ServerDao;
-import org.apache.openmeetings.db.entity.room.StreamClient;
-import org.apache.openmeetings.db.entity.server.Server;
-import org.apache.openmeetings.test.AbstractJUnitDefaults;
-import org.junit.Test;
-import org.red5.logging.Red5LoggerFactory;
-import org.slf4j.Logger;
-import org.springframework.beans.factory.annotation.Autowired;
-
-public class TestDbSessionGetRoomIds extends AbstractJUnitDefaults {
-       protected static final Logger log = 
Red5LoggerFactory.getLogger(TestDbSessionGetRoomIds.class, webAppRootKey);
-
-       @Autowired
-       private ServerDao serverDao;
-
-       @Autowired
-       private ClientDao clientDao;
-
-       @Test
-       public void testDbSessionFunctions() {
-               clientDao.cleanAllClients();
-
-               List<Server> serverList = serverDao.getActiveServers();
-
-               Server server = null;
-               if (serverList.size() > 0) {
-                       server = serverList.get(0);
-               } else {
-                       server = new Server();
-                       server.setName("Test Server");
-                       server.setActive(true);
-                       serverDao.update(server, null);
-               }
-
-               StreamClient cl1 = new StreamClient();
-               cl1.setServer(server);
-               cl1.setUserId(1L);
-               cl1.setScope("1");
-               cl1.setUid("public1");
-               clientDao.add(cl1);
-
-               StreamClient cl2 = new StreamClient();
-               cl2.setServer(server);
-               cl2.setScope("1");
-               cl2.setUserId(2L);
-               cl2.setUid("public2");
-               clientDao.add(cl2);
-
-               StreamClient cl3 = new StreamClient();
-               cl3.setServer(server);
-               cl3.setScope("3");
-               cl3.setUserId(3L);
-               cl3.setUid("public3");
-               clientDao.add(cl3);
-
-               List<Long> roomids = clientDao.getRoomsIdsByServer(server);
-
-               assertEquals(2, roomids.size());
-
-               //delete all
-               clientDao.cleanAllClients();
-
-               int countAll = clientDao.countClients();
-               assertEquals(0, countAll);
-       }
-}

http://git-wip-us.apache.org/repos/asf/openmeetings/blob/bbcdbf7e/openmeetings-web/src/test/java/org/apache/openmeetings/test/session/TestHashMapSession.java
----------------------------------------------------------------------
diff --git 
a/openmeetings-web/src/test/java/org/apache/openmeetings/test/session/TestHashMapSession.java
 
b/openmeetings-web/src/test/java/org/apache/openmeetings/test/session/TestHashMapSession.java
deleted file mode 100644
index 58024a3..0000000
--- 
a/openmeetings-web/src/test/java/org/apache/openmeetings/test/session/TestHashMapSession.java
+++ /dev/null
@@ -1,73 +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.test.session;
-
-import static org.apache.openmeetings.util.OpenmeetingsVariables.webAppRootKey;
-import static org.junit.Assert.assertEquals;
-
-import java.util.Arrays;
-import java.util.Date;
-import java.util.UUID;
-
-import org.apache.openmeetings.core.session.store.HashMapStore;
-import org.apache.openmeetings.core.session.store.IClientPersistenceStore;
-import org.apache.openmeetings.db.entity.room.StreamClient;
-import org.apache.openmeetings.test.AbstractJUnitDefaults;
-import org.junit.Test;
-import org.red5.logging.Red5LoggerFactory;
-import org.slf4j.Logger;
-import org.springframework.beans.factory.annotation.Autowired;
-
-public class TestHashMapSession extends AbstractJUnitDefaults {
-       protected static final Logger log = 
Red5LoggerFactory.getLogger(TestHashMapSession.class, webAppRootKey);
-
-       @Autowired
-       private HashMapStore cache;
-
-       @Test
-       public void testHashMapSession() {
-               //make sure the cache is empty before starting the test
-               cache.clear();
-
-               for (int i = 0; i < 20; i++) {
-                       Long id = (long)i;
-
-                       StreamClient rcm = new StreamClient();
-                       rcm.setId(id);
-                       rcm.setConnectedSince(new Date());
-                       rcm.setScope("scopeName");
-
-                       rcm.setUid(UUID.randomUUID().toString());
-
-                       rcm.setUserport(0);
-                       rcm.setUserip("remoteAddress");
-                       rcm.setSwfurl("swfUrl");
-                       rcm.setMod(false);
-
-                       if (cache.containsKey(id)) {
-                               log.error("Tried to add an existing Client " + 
id);
-                               break;
-                       }
-                       cache.remove(id);
-               }
-               String logString = 
cache.getDebugInformation(Arrays.asList(IClientPersistenceStore.DEBUG_DETAILS.SIZE));
-               log.debug("######## \n\r "+ logString + " \n\r ########");
-               assertEquals(0, cache.size());
-       }
-}

http://git-wip-us.apache.org/repos/asf/openmeetings/blob/bbcdbf7e/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 0d2807f..50595c5 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
@@ -43,6 +43,7 @@ import org.apache.openmeetings.IApplication;
 import org.apache.openmeetings.core.util.WebSocketHelper;
 import org.apache.openmeetings.db.dao.room.InvitationDao;
 import org.apache.openmeetings.db.dao.room.RoomDao;
+import org.apache.openmeetings.db.dao.user.IUserManager;
 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;
@@ -55,7 +56,6 @@ 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.service.room.InvitationManager;
-import org.apache.openmeetings.service.user.UserManager;
 import org.apache.openmeetings.util.OpenmeetingsVariables;
 import org.apache.openmeetings.util.message.RoomMessage;
 import org.apache.openmeetings.webservice.error.ServiceException;
@@ -387,7 +387,7 @@ public class RoomWebService extends BaseWebService {
        public ServiceResult kick(@WebParam(name="sid") @QueryParam("sid") 
String sid, @WebParam(name="id") @PathParam("id") long id) throws 
ServiceException {
                try {
                        if (AuthLevelUtil.hasWebServiceLevel(getRights(sid))) {
-                               boolean result = 
getBean(UserManager.class).kickUsersByRoomId(id);
+                               boolean result = 
getBean(IUserManager.class).kickUsersByRoomId(id);
                                return new ServiceResult(result ? 1L : 0L, 
"Kicked", Type.SUCCESS);
                        } else {
                                throw new ServiceException("Insufficient 
permissions"); //TODO code -26

http://git-wip-us.apache.org/repos/asf/openmeetings/blob/bbcdbf7e/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/ServerWebService.java
----------------------------------------------------------------------
diff --git 
a/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/ServerWebService.java
 
b/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/ServerWebService.java
deleted file mode 100644
index 7c66512..0000000
--- 
a/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/ServerWebService.java
+++ /dev/null
@@ -1,171 +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.webservice;
-
-import static org.apache.openmeetings.util.OpenmeetingsVariables.webAppRootKey;
-import static org.apache.openmeetings.webservice.Constants.TNS;
-
-import java.util.List;
-
-import javax.jws.WebMethod;
-import javax.jws.WebParam;
-import javax.jws.WebService;
-import javax.ws.rs.DELETE;
-import javax.ws.rs.GET;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.PathParam;
-import javax.ws.rs.Produces;
-import javax.ws.rs.QueryParam;
-import javax.ws.rs.core.MediaType;
-
-import org.apache.cxf.feature.Features;
-import org.apache.openmeetings.db.dao.server.ServerDao;
-import org.apache.openmeetings.db.dto.basic.ServiceResult;
-import org.apache.openmeetings.db.dto.basic.ServiceResult.Type;
-import org.apache.openmeetings.db.dto.server.ServerDTO;
-import org.apache.openmeetings.db.entity.server.Server;
-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;
-import org.slf4j.Logger;
-
-/**
- * This class provides method implementations necessary for OM to manage 
servers
- * participating in cluster.
- *
- * @author solomax, sebawagner
- *
- */
-@WebService(serviceName="org.apache.openmeetings.webservice.ServerWebService", 
targetNamespace = TNS)
-@Features(features = "org.apache.cxf.feature.LoggingFeature")
-@Produces({MediaType.APPLICATION_JSON})
-@Path("/server")
-public class ServerWebService extends BaseWebService {
-       private static final Logger log = 
Red5LoggerFactory.getLogger(ServerWebService.class, webAppRootKey);
-
-       private static ServerDao getDao() {
-               return getBean(ServerDao.class);
-       }
-
-       /**
-        * Method to retrieve the list of the servers participating in cluster
-        *
-        * @param sid
-        *            - session id to identify the user making request
-        * @param start
-        *            - server index to start with
-        * @param max
-        *            - Maximum server count
-        * @return The list of servers participating in cluster
-        */
-       @WebMethod
-       @GET
-       @Path("/{start}/{max}")
-       public List<ServerDTO> getServers(@QueryParam("sid") 
@WebParam(name="sid") String sid
-                       , @PathParam("start") @WebParam(name="start") int start
-                       , @PathParam("max") @WebParam(name="max") int max
-                       ) throws ServiceException
-       {
-               log.debug("getServers enter");
-               if (AuthLevelUtil.hasWebServiceLevel(getRights(sid))) {
-                       return ServerDTO.list(getDao().get(start, max));
-               } else {
-                       log.warn("Insuffisient permissions");
-                       throw new ServiceException("Insufficient permissions"); 
//TODO code -26
-               }
-       }
-
-       /**
-        * Method to retrieve the total count of the servers participating in
-        * cluster
-        *
-        * @param sid
-        *            - session id to identify the user making request
-        * @return total count of the servers participating in cluster
-        */
-       @WebMethod
-       @GET
-       @Path("/count")
-       public long count(@QueryParam("sid") @WebParam(name="sid") String sid) 
throws ServiceException {
-               log.debug("getServerCount enter");
-               if (AuthLevelUtil.hasWebServiceLevel(getRights(sid))) {
-                       return getDao().count();
-               } else {
-                       throw new ServiceException("Insufficient permissions"); 
//TODO code -26
-               }
-       }
-
-       /**
-        * Method to add/update server
-        *
-        * @param sid
-        *            - session id to identify the user making request
-        * @param server
-        *            - server to add/update
-        * @return the id of saved server
-        */
-       @WebMethod
-       @POST
-       @Path("/")
-       public ServerDTO add(@WebParam(name="sid") @QueryParam("sid") String 
sid, @WebParam(name="server") @QueryParam("server") ServerDTO server) throws 
ServiceException {
-               log.debug("saveServerCount enter");
-               Sessiondata sd = check(sid);
-               Long userId = sd.getUserId();
-               if (AuthLevelUtil.hasWebServiceLevel(getRights(userId))) {
-                       Server s = server.get();
-                       return new ServerDTO(getDao().update(s, userId));
-               } else {
-                       log.warn("Insuffisient permissions");
-                       throw new ServiceException("Insufficient permissions"); 
//TODO code -26
-               }
-       }
-
-       /**
-        * Method to delete server
-        *
-        * @param sid
-        *            - session id to identify the user making request
-        * @param id
-        *            - the id of the server to delete
-        * @return true if the server was deleted, false otherwise
-        */
-       @WebMethod
-       @DELETE
-       @Path("/{id}")
-       public ServiceResult delete(@WebParam(name="sid") @QueryParam("sid") 
String sid, @WebParam(name="id") @PathParam("id") long id) throws 
ServiceException {
-               log.debug("saveServerCount enter");
-               Sessiondata sd = check(sid);
-               Long userId = sd.getUserId();
-
-               if (AuthLevelUtil.hasWebServiceLevel(getRights(userId))) {
-                       ServerDao serverDao = getDao();
-                       Server s = serverDao.get(id);
-                       if (s != null) {
-                               serverDao.delete(s, userId);
-                               return new ServiceResult(id, "Deleted", 
Type.SUCCESS);
-                       }
-                       return new ServiceResult(0L, "Not found", Type.SUCCESS);
-               } else {
-                       log.warn("Insuffisient permissions");
-                       throw new ServiceException("Insufficient permissions"); 
//TODO code -26
-               }
-       }
-}

http://git-wip-us.apache.org/repos/asf/openmeetings/blob/bbcdbf7e/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 594196b..80d4813 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
@@ -26,10 +26,8 @@ import static 
org.apache.openmeetings.webservice.Constants.USER_SERVICE_NAME;
 import static 
org.apache.openmeetings.webservice.Constants.USER_SERVICE_PORT_NAME;
 
 import java.util.Date;
-import java.util.HashMap;
 import java.util.List;
 import java.util.Locale;
-import java.util.Map;
 
 import javax.jws.WebMethod;
 import javax.jws.WebParam;
@@ -46,18 +44,16 @@ import javax.ws.rs.core.MediaType;
 
 import org.apache.cxf.feature.Features;
 import org.apache.openmeetings.IApplication;
-import org.apache.openmeetings.core.remote.ScopeApplicationAdapter;
-import org.apache.openmeetings.core.session.SessionManager;
 import org.apache.openmeetings.core.util.StrongPasswordValidator;
 import org.apache.openmeetings.db.dao.basic.ConfigurationDao;
 import org.apache.openmeetings.db.dao.server.SOAPLoginDao;
+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.RoomOptionsDTO;
 import org.apache.openmeetings.db.dto.user.ExternalUserDTO;
 import org.apache.openmeetings.db.dto.user.UserDTO;
-import org.apache.openmeetings.db.entity.room.StreamClient;
 import org.apache.openmeetings.db.entity.server.RemoteSessionObject;
 import org.apache.openmeetings.db.entity.server.Sessiondata;
 import org.apache.openmeetings.db.entity.user.Address;
@@ -67,7 +63,6 @@ import org.apache.openmeetings.db.util.AuthLevelUtil;
 import org.apache.openmeetings.service.user.UserManager;
 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;
@@ -76,7 +71,6 @@ import org.apache.wicket.validation.IValidator;
 import org.apache.wicket.validation.Validatable;
 import org.apache.wicket.validation.ValidationError;
 import org.red5.logging.Red5LoggerFactory;
-import org.red5.server.api.scope.IScope;
 import org.slf4j.Logger;
 
 /**
@@ -91,13 +85,15 @@ import org.slf4j.Logger;
 @Features(features = "org.apache.cxf.feature.LoggingFeature")
 @Produces({MediaType.APPLICATION_JSON})
 @Path("/user")
-public class UserWebService extends BaseWebService implements UserService {
+public class UserWebService extends BaseWebService {
        private static final Logger log = 
Red5LoggerFactory.getLogger(UserWebService.class, webAppRootKey);
 
-       /* (non-Javadoc)
-        * @see 
org.apache.openmeetings.webservice.cluster.UserService#login(java.lang.String, 
java.lang.String)
+       /**
+        * @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
         */
-       @Override
        @WebMethod
        @GET
        @Path("/login")
@@ -120,10 +116,15 @@ public class UserWebService extends BaseWebService 
implements UserService {
                }
        }
 
-       /* (non-Javadoc)
-        * @see 
org.apache.openmeetings.webservice.cluster.UserService#get(java.lang.String)
+       /**
+        * Lists all users in the system!
+        *
+        * @param sid
+        *            The SID from getSession
+        *
+        * @return - list of users
+        * @throws ServiceException
         */
-       @Override
        @WebMethod
        @GET
        @Path("/")
@@ -140,10 +141,20 @@ public class UserWebService extends BaseWebService 
implements UserService {
                }
        }
 
-       /* (non-Javadoc)
-        * @see 
org.apache.openmeetings.webservice.cluster.UserService#add(java.lang.String, 
org.apache.openmeetings.db.dto.user.UserDTO, java.lang.Boolean)
+       /**
+        * 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
         */
-       @Override
        @WebMethod
        @POST
        @Path("/")
@@ -224,10 +235,18 @@ public class UserWebService extends BaseWebService 
implements UserService {
 
        //FIXME no update
 
-       /* (non-Javadoc)
-        * @see 
org.apache.openmeetings.webservice.cluster.UserService#delete(java.lang.String, 
long)
+       /**
+        *
+        * 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
         */
-       @Override
        @WebMethod
        @DELETE
        @Path("/{id}")
@@ -248,10 +267,20 @@ public class UserWebService extends BaseWebService 
implements UserService {
                }
        }
 
-       /* (non-Javadoc)
-        * @see 
org.apache.openmeetings.webservice.cluster.UserService#deleteExternal(java.lang.String,
 java.lang.String, java.lang.String)
+       /**
+        *
+        * 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
         */
-       @Override
        @DELETE
        @Path("/{externaltype}/{externalid}")
        public ServiceResult deleteExternal(
@@ -279,10 +308,21 @@ public class UserWebService extends BaseWebService 
implements UserService {
                }
        }
 
-       /* (non-Javadoc)
-        * @see 
org.apache.openmeetings.webservice.cluster.UserService#getRoomHash(java.lang.String,
 org.apache.openmeetings.db.dto.user.ExternalUserDTO, 
org.apache.openmeetings.db.dto.room.RoomOptionsDTO)
+       /**
+        * 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
         */
-       @Override
        @WebMethod
        @POST
        @Path("/hash")
@@ -333,50 +373,20 @@ public class UserWebService extends BaseWebService 
implements UserService {
        }
 
        /**
-        * Kick a user by its publicSID.<br/>
-        * <br/>
-        * <i>Note:</i>
-        * This method will not perform a call to the slave, cause this call 
can only be
-        * invoked from inside the conference room, that means all clients are 
on the
-        * same server, no matter if clustered or not.
+        * Kick a user by its public SID
         *
         * @param sid
-        * @param uid
-        * @return - true in case user have sufficient permissions, null 
otherwise
+        *            The SID from getSession
+        * @param uid the uid of the client
+        * @return - <code>true</code> if user was kicked
         */
-       private static boolean kickUserByUid(String uid) {
-               StreamClient rcl = 
getBean(SessionManager.class).getClientByUid(uid, null);
-
-               if (rcl == null) {
-                       return true;
-               }
-               String scopeName = "hibernate";
-               if (rcl.getRoomId() != null) {
-                       scopeName = rcl.getRoomId().toString();
-               }
-               ScopeApplicationAdapter apapter = 
getBean(ScopeApplicationAdapter.class);
-               IScope currentScope = apapter.getRoomScope(scopeName);
-
-               Map<Integer, String> messageObj = new HashMap<>();
-               messageObj.put(0, "kick");
-
-               apapter.sendMessageById(messageObj, rcl.getId(), currentScope);
-               apapter.roomLeaveByScope(rcl, currentScope);
-
-               return true;
-       }
-
-       /* (non-Javadoc)
-        * @see 
org.apache.openmeetings.webservice.cluster.UserService#kick(java.lang.String, 
java.lang.String)
-        */
-       @Override
        @WebMethod
        @POST
        @Path("/kick/{uid}")
        public ServiceResult kick(@WebParam(name="sid") @QueryParam("sid") 
String sid, @WebParam(name="uid") @PathParam("uid") String uid) throws 
ServiceException {
                try {
                        if (AuthLevelUtil.hasWebServiceLevel(getRights(sid))) {
-                               boolean success = kickUserByUid(uid);
+                               boolean success = 
getBean(IUserManager.class).kickById(uid);
 
                                return new 
ServiceResult(Boolean.TRUE.equals(success) ? 1L : 0L, 
Boolean.TRUE.equals(success) ? "deleted" : "not deleted", Type.SUCCESS);
                        } else {
@@ -388,10 +398,14 @@ public class UserWebService extends BaseWebService 
implements UserService {
                }
        }
 
-       /* (non-Javadoc)
-        * @see 
org.apache.openmeetings.webservice.cluster.UserService#count(java.lang.String, 
java.lang.Long)
+       /**
+        * 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
         */
-       @Override
        @WebMethod
        @GET
        @Path("/count/{roomid}")

http://git-wip-us.apache.org/repos/asf/openmeetings/blob/bbcdbf7e/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/cluster/RestClient.java
----------------------------------------------------------------------
diff --git 
a/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/cluster/RestClient.java
 
b/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/cluster/RestClient.java
deleted file mode 100644
index 856beea..0000000
--- 
a/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/cluster/RestClient.java
+++ /dev/null
@@ -1,196 +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.webservice.cluster;
-
-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;
-import static 
org.apache.openmeetings.webservice.Constants.USER_SERVICE_PORT_NAME;
-
-import java.net.URL;
-
-import javax.xml.namespace.QName;
-import javax.xml.ws.Service;
-
-import org.apache.openmeetings.db.dto.basic.ServiceResult;
-import org.apache.openmeetings.db.entity.server.Server;
-import org.red5.logging.Red5LoggerFactory;
-import org.slf4j.Logger;
-
-/**
- * 
- * Performs call to the WebService Gateway to load the server load from the
- * slave's of the cluster
- * 
- * @author sebawagner
- * 
- */
-public class RestClient {
-       private static final Logger log = 
Red5LoggerFactory.getLogger(RestClient.class, webAppRootKey);
-       private final static QName USER_SERVICE_QNAME = new QName(TNS, 
USER_SERVICE_NAME);
-       private final static QName USER_SERVICE_PORT_QNAME = new QName(TNS, 
USER_SERVICE_PORT_NAME);
-       
-       private enum Action {
-               //kick the user from the server
-               KICK_USER,
-       }
-
-       private final String host;
-       private final int port;
-       private final String protocol;
-       private final String webapp;
-       private final String user;
-       private final String pass;
-
-       private boolean loginSuccess = false;
-       private String sessionId;
-       
-       private String publicSID;
-
-       private String getUserServiceWsdl() {
-               return String.format("%s://%s:%s/%s/services/UserService?wsdl", 
protocol, host, port, webapp);
-       }
-
-       /**
-        * The observerInstance will be notified whenever a ping was completed
-        * 
-        * @param observerInstance
-        * @param host
-        * @param port
-        * @param protocol
-        * @param webapp
-        * @param user
-        * @param pass
-        */
-       public RestClient(Server server) {
-               this.host = server.getAddress();
-               this.port = server.getPort();
-               this.protocol = server.getProtocol();
-               this.webapp = server.getWebapp();
-               this.user = server.getUser();
-               this.pass = server.getPass();
-       }
-       
-       /**
-        * Main method to perform tests
-        * 
-        * @param strings
-        */
-       public static void main(String... strings) {
-               RestClient rClient = new RestClient("127.0.0.1", 5080, "http", 
"openmeetings", "admin", "12345");
-               try {
-                       rClient.loginUser(Action.KICK_USER);
-               } catch (Exception e) {
-                       log.error("Error", e);
-               }
-       }
-
-       /**
-        * for simple testing this method provides a version of the constructor
-        * without need for a server entity.<br/>
-        * <br/>
-        * There is no spring or JPA enhanced class in use here. This Object is
-        * stored in session/memory
-        * 
-        * @param host
-        * @param port
-        * @param protocol
-        * @param webapp
-        * @param user
-        * @param pass
-        */
-       private RestClient(String host, int port, String protocol, String 
webapp, String user, String pass) {
-               this.host = host;
-               this.port = port;
-               this.protocol = protocol;
-               this.webapp = webapp;
-               this.user = user;
-               this.pass = pass;
-       }
-
-       /**
-        * compare if the details here and the one stored are still the same
-        * 
-        * @param server2
-        * @return
-        */
-       public boolean hasServerDetailsChanged(Server server2) {
-               return !host.equals(server2.getAddress()) 
-                               || port != server2.getPort() 
-                               || !user.equals(server2.getUser())
-                               || !pass.equals(server2.getPass())
-                               || !webapp.equals(server2.getWebapp())
-                               || !protocol.equals(server2.getProtocol());
-       }
-       
-       private UserService getUserClient() throws Exception {
-               URL wsdlURL = new URL(getUserServiceWsdl());
-               Service service = Service.create(wsdlURL, USER_SERVICE_QNAME);
-               return service.getPort(USER_SERVICE_PORT_QNAME, 
UserService.class);
-       }
-       
-       /**
-        * Login the user via REST
-        * 
-        * @throws Exception
-        */
-       public void loginUser(Action action) throws Exception {
-               UserService client = getUserClient();
-               
-               ServiceResult result = client.login(user, pass);
-
-               loginSuccess = result.getCode() > 0;
-
-               switch (action) {
-                       case KICK_USER:
-                               kickUserInternl();
-                               break;
-                       default:
-                               throw new Exception("No action defined");
-               }
-       }
-       
-       /**
-        * sets the publicSID and removes a user from a slave host by calling a 
REST service
-        * 
-        * @param publicSID
-        */
-       public void kickUser(String publicSID) {
-               this.publicSID = publicSID;
-               kickUserInternl();
-       }
-       
-       private void kickUserInternl() {
-               try {
-                       if (!loginSuccess) {
-                               loginUser(Action.KICK_USER);
-                       }
-
-                       UserService client = getUserClient();
-                       ServiceResult result = client.kick(sessionId, 
publicSID);
-
-                       if (result.getCode() == 0) {
-                               throw new Exception("Could not delete user from 
slave host");
-                       }
-
-               } catch (Exception err) {
-                       log.error("[kickUser failed]", err);
-               }
-       }
-}

http://git-wip-us.apache.org/repos/asf/openmeetings/blob/bbcdbf7e/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/cluster/SlaveHTTPConnectionManager.java
----------------------------------------------------------------------
diff --git 
a/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/cluster/SlaveHTTPConnectionManager.java
 
b/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/cluster/SlaveHTTPConnectionManager.java
deleted file mode 100644
index 1f83615..0000000
--- 
a/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/cluster/SlaveHTTPConnectionManager.java
+++ /dev/null
@@ -1,99 +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.webservice.cluster;
-
-import static org.apache.openmeetings.util.OpenmeetingsVariables.webAppRootKey;
-
-import java.util.Map;
-import java.util.concurrent.ConcurrentHashMap;
-
-import org.apache.openmeetings.core.remote.ISlaveHTTPConnectionManager;
-import org.apache.openmeetings.db.entity.server.Server;
-import org.red5.logging.Red5LoggerFactory;
-import org.slf4j.Logger;
-
-/**
- * Manages connections to the other nodes of the cluster.
- * 
- * Use-case: When you kick a user via the admin-panel, it is probably on 
anther server.
- * So you need to perform a REST call to the node and let that node do the 
actual disconnect.
- * 
- * @author sebawagner
- *
- */
-public class SlaveHTTPConnectionManager implements ISlaveHTTPConnectionManager 
{
-       private static Logger log = 
Red5LoggerFactory.getLogger(SlaveHTTPConnectionManager.class, webAppRootKey);
-
-       /**
-        * We store the list of RestClients in the memory, so that we can simply
-        * call ping to get the load, without the need to get a new session 
Hash and
-        * to login again. <br/>
-        * There can be only one RestClient per server, so we use the primary 
key of
-        * the server to store the RestClient.
-        */
-       private static Map<Long, RestClient> restClientsSessionStore = new 
ConcurrentHashMap<>();
-
-       /**
-        * Synchronized, cause nobody should manipulate the object while another
-        * process requests it, the scheduler could run several times and 
request
-        * the same object, add or remove it.<br/>
-        * If there is no object yet, create one.
-        * 
-        * @param server
-        */
-       private static RestClient getRestClient(Server server) {
-               RestClient restClient = 
restClientsSessionStore.get(server.getId());
-
-               // check if any values of the server have been changed,
-               // if yes, we need a new RestClient to make sure it will 
re-login to the
-               // changed server details
-               if (restClient != null && 
restClient.hasServerDetailsChanged(server)) {
-                       log.debug("Server details changed, get new rest 
client");
-                       restClient = null;
-               }
-
-               if (restClient == null) {
-                       restClient = new RestClient(server);
-                       restClientsSessionStore.put(server.getId(), restClient);
-               }
-               return restClient;
-       }
-
-       /**
-        * Gets the current {@link RestClient} from the session store and then
-        * performs a kickUser on that. It is not possible that there is no
-        * {@link RestClient}, because if you want to kick a user from a slave, 
the
-        * master <i>must</i> already have loaded the sessions from the slave, 
so
-        * there logically <i>must</i> by a {@link RestClient} available that 
has an 
-        * open connection to that slave / {@link Server}
-        * 
-        * @param serverId
-        * @param publicSID
-        */
-       @Override
-       public void kickSlaveUser(Server server, String publicSID) throws 
Exception {
-               RestClient rClient = getRestClient(server);
-               
-               if (rClient == null) {
-                       throw new Exception("No RestClient found for server " + 
server);
-               }
-               
-               rClient.kickUser(publicSID);
-       }
-}

http://git-wip-us.apache.org/repos/asf/openmeetings/blob/bbcdbf7e/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
deleted file mode 100644
index ee26d20..0000000
--- 
a/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/cluster/UserService.java
+++ /dev/null
@@ -1,158 +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.webservice.cluster;
-
-import static org.apache.openmeetings.webservice.Constants.TNS;
-import static org.apache.openmeetings.webservice.Constants.USER_SERVICE_NAME;
-import static 
org.apache.openmeetings.webservice.Constants.USER_SERVICE_PORT_NAME;
-
-import java.util.List;
-
-import javax.jws.WebParam;
-import javax.jws.WebService;
-import javax.ws.rs.FormParam;
-import javax.ws.rs.PathParam;
-import javax.ws.rs.QueryParam;
-
-import org.apache.openmeetings.db.dto.basic.ServiceResult;
-import org.apache.openmeetings.db.dto.room.RoomOptionsDTO;
-import org.apache.openmeetings.db.dto.user.ExternalUserDTO;
-import org.apache.openmeetings.db.dto.user.UserDTO;
-import org.apache.openmeetings.webservice.error.ServiceException;
-
-/**
- * This interface is required for RestClient
- */
-@WebService(serviceName = USER_SERVICE_NAME, targetNamespace = TNS, portName = 
USER_SERVICE_PORT_NAME)
-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
-        */
-       UserDTO add(
-                       @WebParam(name="sid") @QueryParam("sid") String sid
-                       , @WebParam(name="user") @QueryParam("user") UserDTO 
user
-                       , @WebParam(name="confirm") @QueryParam("confirm") 
Boolean confirm
-                       ) 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
-        */
-       ServiceResult deleteExternal(
-                       @WebParam(name="sid") @QueryParam("sid") String sid
-                       , @WebParam(name="externaltype") 
@PathParam("externaltype") String externalType
-                       , @WebParam(name="externalid") @PathParam("externalid") 
String externalId
-                       ) throws ServiceException;
-
-       /**
-        * 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
-        */
-       ServiceResult getRoomHash(
-                       @WebParam(name="sid") @QueryParam("sid") String sid
-                       , @WebParam(name="user") @FormParam("user") 
ExternalUserDTO user
-                       , @WebParam(name="options") @FormParam("options") 
RoomOptionsDTO options
-                       ) throws ServiceException;
-
-       /**
-        * Kick a user by its public SID
-        *
-        * @param sid
-        *            The SID from getSession
-        * @param uid the uid of the client
-        * @return - <code>true</code> if user was kicked
-        */
-       ServiceResult kick(@WebParam(name="sid") @QueryParam("sid") String sid, 
@WebParam(name="uid") @PathParam("uid") String uid) throws ServiceException;
-
-       /**
-        * 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
-        */
-       ServiceResult count(@WebParam(name="sid") @QueryParam("sid") String 
sid, @WebParam(name="roomid") @PathParam("roomid") Long roomId);
-}

Reply via email to