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;