You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openmeetings.apache.org by so...@apache.org on 2014/06/07 09:45:58 UTC
svn commit: r1601073 [6/6] - in /openmeetings: branches/3.0.x/
branches/3.0.x/docs/
branches/3.0.x/src/axis/java/org/apache/openmeetings/axis/services/
branches/3.0.x/src/db/java/org/apache/openmeetings/db/dao/basic/
branches/3.0.x/src/db/java/org/apac...
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;