Modified: 
openmeetings/trunk/singlewebapp/openmeetings-web/src/test/java/org/apache/openmeetings/test/user/TestUserOrganisation.java
URL: 
http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/openmeetings-web/src/test/java/org/apache/openmeetings/test/user/TestUserOrganisation.java?rev=1601073&r1=1601072&r2=1601073&view=diff
==============================================================================
--- 
openmeetings/trunk/singlewebapp/openmeetings-web/src/test/java/org/apache/openmeetings/test/user/TestUserOrganisation.java
 (original)
+++ 
openmeetings/trunk/singlewebapp/openmeetings-web/src/test/java/org/apache/openmeetings/test/user/TestUserOrganisation.java
 Sat Jun  7 07:45:55 2014
@@ -23,24 +23,30 @@ import static org.junit.Assert.assertTru
 import static org.junit.Assert.fail;
 
 import java.util.List;
+import java.util.Random;
 
-import org.apache.openmeetings.core.data.user.OrganisationManager;
-import org.apache.openmeetings.db.dao.user.AdminUserDao;
+import org.apache.openmeetings.db.dao.user.OrganisationDao;
+import org.apache.openmeetings.db.dao.user.OrganisationUserDao;
+import org.apache.openmeetings.db.dao.user.UserDao;
 import org.apache.openmeetings.db.entity.user.Organisation;
 import org.apache.openmeetings.db.entity.user.Organisation_Users;
 import org.apache.openmeetings.db.entity.user.User;
 import org.apache.openmeetings.test.AbstractJUnitDefaults;
+import org.apache.openmeetings.test.selenium.HeavyTests;
 import org.junit.Test;
 import org.springframework.beans.factory.annotation.Autowired;
 
 public class TestUserOrganisation extends AbstractJUnitDefaults {
        @Autowired
-       private OrganisationManager orgManagement;
+       private OrganisationUserDao orgUserDao;
        @Autowired
-       private AdminUserDao usersDao;
+       private OrganisationDao orgDao;
+       @Autowired
+       private UserDao usersDao;
+       public static final String ORG_NAME = "Test Org";
        
        private User getValidUser() {
-               for (User u : usersDao.getAllUsers()) {
+               for (User u : usersDao.getAllBackupUsers()) {
                        if (!u.getDeleted() && u.getOrganisation_users().size() 
> 0) {
                                return u;
                        }
@@ -53,29 +59,41 @@ public class TestUserOrganisation extend
        public void getUsersByOrganisationId() {
                User u = getValidUser();
                Long orgId = 
u.getOrganisation_users().get(0).getOrganisation().getOrganisation_id();
-               List<User> ul = orgManagement.getUsersByOrganisationId(orgId, 
0, 9999, "login", true);
+               List<Organisation_Users> ul = orgUserDao.get(orgId, 0, 9999);
                assertTrue("Default Organisation should contain at least 1 
user: " + ul.size(), ul.size() > 0);
                
-               Organisation_Users ou = 
orgManagement.getOrganisation_UserByUserAndOrganisation(u.getUser_id(), orgId);
+               Organisation_Users ou = 
orgUserDao.getByOrganizationAndUser(orgId, u.getUser_id());
                assertNotNull("Unable to found [organisation, user] pair - [" + 
orgId + "," + u.getUser_id() + "]", ou);
        }
        
        @Test
        public void addOrganisation() {
-               Long orgId = orgManagement.addOrganisation("Test Org", 1); 
//inserted by not checked
+               Organisation o = new Organisation();
+               o.setName(ORG_NAME);
+               Long orgId = orgDao.update(o, null).getOrganisation_id(); 
//inserted by not checked
                assertNotNull("New Organisation have valid id", orgId);
                
-               List<User> ul = orgManagement.getUsersByOrganisationId(orgId, 
0, 9999, "login", true);
+               List<Organisation_Users> ul = orgUserDao.get(orgId, 0, 9999);
                assertTrue("New Organisation should contain NO users: " + 
ul.size(), ul.size() == 0);
-               
-               boolean found = false;
-               List<Organisation> restL = 
orgManagement.getRestOrganisationsByUserId(3, 1, 0, 9999, "name", true);
-               for (Organisation o : restL) {
-                       if (orgId.equals(o.getOrganisation_id())) {
-                               found = true;
-                               break;
-                       }
+       }
+
+       @Test
+       @HeavyTests
+       public void add10kUsers() throws Exception {
+               List<Organisation> orgs = orgDao.get(ORG_NAME, 0, 1, null);
+               Organisation o = null;
+               if (orgs == null || orgs.isEmpty()) {
+                       o = new Organisation();
+                       o.setName(ORG_NAME);
+                       o = orgDao.update(o, null);
+               } else {
+                       o = orgs.get(0);
+               }
+               Random rnd = new Random();
+               for (int i = 0; i < 10000; ++i) {
+                       User u = createUser(rnd.nextInt());
+                       u.getOrganisation_users().add(new 
Organisation_Users(o));
+                       usersDao.update(u, null);
                }
-               assertTrue("New organisation should not be included into 
organisation list of any user", found);
        }
 }

Modified: 
openmeetings/trunk/singlewebapp/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/CalendarWebService.java
URL: 
http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/CalendarWebService.java?rev=1601073&r1=1601072&r2=1601073&view=diff
==============================================================================
--- 
openmeetings/trunk/singlewebapp/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/CalendarWebService.java
 (original)
+++ 
openmeetings/trunk/singlewebapp/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/CalendarWebService.java
 Sat Jun  7 07:45:55 2014
@@ -39,7 +39,7 @@ import org.apache.openmeetings.db.dao.ca
 import org.apache.openmeetings.db.dao.room.RoomDao;
 import org.apache.openmeetings.db.dao.room.RoomTypeDao;
 import org.apache.openmeetings.db.dao.server.SessiondataDao;
-import org.apache.openmeetings.db.dao.user.AdminUserDao;
+import org.apache.openmeetings.db.dao.user.UserDao;
 import org.apache.openmeetings.db.dao.user.IUserManager;
 import org.apache.openmeetings.db.entity.calendar.Appointment;
 import org.apache.openmeetings.db.entity.calendar.AppointmentCategory;
@@ -76,7 +76,7 @@ public class CalendarWebService {
        @Autowired
        private IUserManager userManager;
        @Autowired
-       private AdminUserDao userDao;
+       private UserDao userDao;
        @Autowired
        private RoomManager roomManager;
        @Autowired

Modified: 
openmeetings/trunk/singlewebapp/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/JabberWebService.java
URL: 
http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/JabberWebService.java?rev=1601073&r1=1601072&r2=1601073&view=diff
==============================================================================
--- 
openmeetings/trunk/singlewebapp/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/JabberWebService.java
 (original)
+++ 
openmeetings/trunk/singlewebapp/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/JabberWebService.java
 Sat Jun  7 07:45:55 2014
@@ -34,7 +34,7 @@ import org.apache.openmeetings.db.dao.ba
 import org.apache.openmeetings.db.dao.room.IInvitationManager;
 import org.apache.openmeetings.db.dao.room.RoomDao;
 import org.apache.openmeetings.db.dao.server.SessiondataDao;
-import org.apache.openmeetings.db.dao.user.AdminUserDao;
+import org.apache.openmeetings.db.dao.user.UserDao;
 import org.apache.openmeetings.db.dao.user.IUserManager;
 import org.apache.openmeetings.db.dto.room.RoomDTO;
 import org.apache.openmeetings.db.entity.room.Invitation;
@@ -66,7 +66,7 @@ public class JabberWebService {
        @Autowired
        private IUserManager userManager;
        @Autowired
-       private AdminUserDao userDao;
+       private UserDao userDao;
        @Autowired
        private SessiondataDao sessiondataDao;
        @Autowired

Modified: 
openmeetings/trunk/singlewebapp/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/RoomWebService.java
URL: 
http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/RoomWebService.java?rev=1601073&r1=1601072&r2=1601073&view=diff
==============================================================================
--- 
openmeetings/trunk/singlewebapp/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/RoomWebService.java
 (original)
+++ 
openmeetings/trunk/singlewebapp/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/RoomWebService.java
 Sat Jun  7 07:45:55 2014
@@ -48,7 +48,7 @@ import org.apache.openmeetings.db.dao.ro
 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.AdminUserDao;
+import org.apache.openmeetings.db.dao.user.UserDao;
 import org.apache.openmeetings.db.dao.user.IUserManager;
 import org.apache.openmeetings.db.dto.file.RecordingObject;
 import org.apache.openmeetings.db.dto.room.RoomSearchResult;
@@ -102,7 +102,7 @@ public class RoomWebService {
        @Autowired
        private IUserManager userManager;
        @Autowired
-       private AdminUserDao userDao;
+       private UserDao userDao;
        @Autowired
        private RoomManager roomManager;
        @Autowired

Modified: 
openmeetings/trunk/singlewebapp/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/UserWebService.java
URL: 
http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/UserWebService.java?rev=1601073&r1=1601072&r2=1601073&view=diff
==============================================================================
--- 
openmeetings/trunk/singlewebapp/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/UserWebService.java
 (original)
+++ 
openmeetings/trunk/singlewebapp/openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/UserWebService.java
 Sat Jun  7 07:45:55 2014
@@ -20,6 +20,7 @@ package org.apache.openmeetings.webservi
 
 import static org.apache.openmeetings.util.OpenmeetingsVariables.webAppRootKey;
 
+import java.util.ArrayList;
 import java.util.Date;
 
 import javax.jws.WebService;
@@ -30,21 +31,25 @@ import javax.ws.rs.core.MediaType;
 
 import org.apache.cxf.feature.Features;
 import org.apache.openmeetings.core.data.basic.FieldManager;
-import org.apache.openmeetings.core.data.user.OrganisationManager;
 import org.apache.openmeetings.core.remote.MainService;
 import org.apache.openmeetings.db.dao.basic.ConfigurationDao;
 import org.apache.openmeetings.db.dao.basic.ErrorDao;
 import org.apache.openmeetings.db.dao.label.FieldLanguagesValuesDao;
 import org.apache.openmeetings.db.dao.server.SOAPLoginDao;
 import org.apache.openmeetings.db.dao.server.SessiondataDao;
-import org.apache.openmeetings.db.dao.user.AdminUserDao;
+import org.apache.openmeetings.db.dao.user.UserDao;
 import org.apache.openmeetings.db.dao.user.IUserManager;
+import org.apache.openmeetings.db.dao.user.OrganisationDao;
+import org.apache.openmeetings.db.dao.user.OrganisationUserDao;
 import org.apache.openmeetings.db.dto.basic.ErrorResult;
 import org.apache.openmeetings.db.dto.basic.SearchResult;
+import org.apache.openmeetings.db.dto.user.UserSearchResult;
 import org.apache.openmeetings.db.entity.basic.ErrorType;
 import org.apache.openmeetings.db.entity.basic.ErrorValue;
 import org.apache.openmeetings.db.entity.server.RemoteSessionObject;
 import org.apache.openmeetings.db.entity.server.Sessiondata;
+import org.apache.openmeetings.db.entity.user.Organisation;
+import org.apache.openmeetings.db.entity.user.Organisation_Users;
 import org.apache.openmeetings.db.entity.user.User;
 import org.apache.openmeetings.util.AuthLevelUtil;
 import org.apache.openmeetings.webservice.dto.ServiceException;
@@ -79,11 +84,13 @@ public class UserWebService {
        @Autowired
        private ErrorDao errorDao;
        @Autowired
-       private OrganisationManager organisationManager;
+       private OrganisationDao orgDao;
+       @Autowired
+       private OrganisationUserDao orgUserDao;
        @Autowired
        private SOAPLoginDao soapLoginDao;
        @Autowired
-       private AdminUserDao usersDao;
+       private UserDao usersDao;
        @Autowired
        private MainService mainService;
        @Autowired
@@ -1033,10 +1040,12 @@ public class UserWebService {
                        Long users_id = sessiondataDao.checkSession(SID);
                        Long user_level = 
userManagement.getUserLevelByID(users_id);
                        if (AuthLevelUtil.checkWebServiceLevel(user_level)) {
-
-                               return 
organisationManager.addUserToOrganisation(user_id,
-                                               organisation_id, users_id);
-
+                               if 
(!orgUserDao.isUserInOrganization(organisation_id, user_id)) {
+                                       User u = usersDao.get(user_id);
+                                       u.getOrganisation_users().add(new 
Organisation_Users(orgDao.get(organisation_id)));
+                                       usersDao.update(u, users_id);
+                               }
+                               return user_id;
                        } else {
                                return new Long(-26);
                        }
@@ -1063,22 +1072,25 @@ public class UserWebService {
         *            asc or desc
         * @return - users found
         */
-       public SearchResult<User> getUsersByOrganisation(String SID,
+       public UserSearchResult getUsersByOrganisation(String SID,
                        long organisation_id, int start, int max, String 
orderby,
                        boolean asc) {
                try {
                        Long users_id = sessiondataDao.checkSession(SID);
                        Long user_level = 
userManagement.getUserLevelByID(users_id);
+                       SearchResult<User> result = new SearchResult<User>();
+                       result.setObjectName(User.class.getName());
                        if (AuthLevelUtil.checkWebServiceLevel(user_level)) {
-                               return organisationManager
-                                               
.getUsersSearchResultByOrganisationId(organisation_id,
-                                                               start, max, 
orderby, asc);
+                               
result.setRecords(orgUserDao.count(organisation_id));
+                               result.setResult(new ArrayList<User>());
+                               for (Organisation_Users ou : 
orgUserDao.get(organisation_id, null, start, max, orderby + " " + (asc ? "ASC" 
: "DESC"))) {
+                                       result.getResult().add(ou.getUser());
+                               }
                        } else {
                                log.error("Need Administration Account");
-                               SearchResult<User> sResult = new 
SearchResult<User>();
-                               sResult.setErrorId(-26L);
-                               return sResult;
+                               result.setErrorId(-26L);
                        }
+                       return new UserSearchResult(result);
                } catch (Exception err) {
                        log.error("getUsersByOrganisation", err);
                }
@@ -1125,7 +1137,9 @@ public class UserWebService {
                Long users_id = sessiondataDao.checkSession(SID);
                Long user_level = userManagement.getUserLevelByID(users_id);
                if (AuthLevelUtil.checkWebServiceLevel(user_level)) {
-                       return organisationManager.addOrganisation(name, 
users_id);
+                       Organisation o = new Organisation();
+                       o.setName(name);
+                       return orgDao.update(o, users_id).getOrganisation_id();
                }
                log.error("Could not create organization");
                return -1L;


Reply via email to