You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openmeetings.apache.org by se...@apache.org on 2012/09/29 14:15:45 UTC

svn commit: r1391793 - in /incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings: data/basic/ persistence/beans/basic/ test/config/ web/components/admin/configurations/

Author: sebawagner
Date: Sat Sep 29 12:15:44 2012
New Revision: 1391793

URL: http://svn.apache.org/viewvc?rev=1391793&view=rev
Log:
OPENMEETINGS-434 fix fetch strategy for Users on single query:
Fixes if you save a new key and then directly hit save again to update it, only the Date (updated) was shown in the UI, not the user.login. That was due to the missing user object in the update statement.

Modified:
    incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/basic/Configurationmanagement.java
    incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/persistence/beans/basic/Configuration.java
    incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/test/config/TestConfig.java
    incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/configurations/ConfigForm.java

Modified: incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/basic/Configurationmanagement.java
URL: http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/basic/Configurationmanagement.java?rev=1391793&r1=1391792&r2=1391793&view=diff
==============================================================================
--- incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/basic/Configurationmanagement.java (original)
+++ incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/data/basic/Configurationmanagement.java Sat Sep 29 12:15:44 2012
@@ -26,7 +26,6 @@ import java.util.List;
 
 import javax.annotation.Resource;
 import javax.persistence.EntityManager;
-import javax.persistence.NoResultException;
 import javax.persistence.PersistenceContext;
 import javax.persistence.TypedQuery;
 import javax.persistence.criteria.CriteriaBuilder;
@@ -142,32 +141,13 @@ public class Configurationmanagement imp
 
 	public Configuration getConfByConfigurationId(long user_level,
 			long configuration_id) {
-		try {
 			log.debug("getConfByConfigurationId1: user_level " + user_level);
 			if (authLevelManagement.checkAdminLevel(user_level)) {
-				Configuration configuration = null;
-				TypedQuery<Configuration> query = em
-						.createQuery("select c from Configuration as c where c.configuration_id = :configuration_id", Configuration.class);
-				query.setParameter("configuration_id", configuration_id);
-				query.setMaxResults(1);
-				try {
-					configuration = query.getSingleResult();
-				} catch (NoResultException e) {
-				}
-				log.debug("getConfByConfigurationId4: " + configuration);
-
-				if (configuration != null && configuration.getUser_id() != null) {
-					configuration.setUsers(usersDao.getUser(configuration
-							.getUser_id()));
-				}
-				return configuration;
+			return get(configuration_id);
 			} else {
 				log.error("[getConfByConfigurationId] Permission denied "
 						+ user_level);
 			}
-		} catch (Exception ex2) {
-			log.error("[getConfByConfigurationId]: ", ex2);
-		}
 		return null;
 	}
 
@@ -236,7 +216,7 @@ public class Configurationmanagement imp
 	}
 
 	public String addConfByKey(long user_level, String CONF_KEY,
-			String CONF_VALUE, Long USER_ID, String comment) {
+			String CONF_VALUE, Long userId, String comment) {
 		String ret = "Add Configuration";
 		if (authLevelManagement.checkAdminLevel(user_level)) {
 			Configuration configuration = new Configuration();
@@ -245,8 +225,8 @@ public class Configurationmanagement imp
 			configuration.setStarttime(new Date());
 			configuration.setDeleted(false);
 			configuration.setComment(comment);
-			if (USER_ID != null)
-				configuration.setUser_id(USER_ID);
+			if (userId != null)
+				configuration.setUser(usersDao.get(userId));
 			try {
 				configuration = em.merge(configuration);
 				ret = "Erfolgreich";
@@ -281,7 +261,7 @@ public class Configurationmanagement imp
 					conf2.setComment(conf.getComment());
 					conf2.setConf_key(conf.getConf_key());
 					conf2.setConf_value(conf.getConf_value());
-					conf2.setUser_id(users_id);
+					conf2.setUser(usersDao.get(users_id));
 					conf2.setDeleted(false);
 					conf2.setUpdatetime(new Date());
 					return this.updateConfig(conf2);
@@ -335,7 +315,7 @@ public class Configurationmanagement imp
 				Configuration conf = (Configuration) CastMapToObject
 						.getInstance().castByGivenObject(values,
 								Configuration.class);
-				conf.setUsers(usersDao.getUser(users_id));
+				conf.setUser(usersDao.getUser(users_id));
 				conf.setUpdatetime(new Date());
 				conf.setDeleted(true);
 
@@ -344,7 +324,7 @@ public class Configurationmanagement imp
 				conf2.setComment(conf.getComment());
 				conf2.setConf_key(conf.getConf_key());
 				conf2.setConf_value(conf.getConf_value());
-				conf2.setUser_id(users_id);
+				conf2.setUser(usersDao.get(users_id));
 				conf2.setDeleted(true);
 				conf2.setUpdatetime(new Date());
 
@@ -394,7 +374,7 @@ public class Configurationmanagement imp
 			entity.setDeleted(false);
 			this.updateConfig(entity);
 		} else {
-			entity.setUser_id(userId);
+			entity.setUser(usersDao.get(userId));
 			entity.setDeleted(false);
 			entity.setUpdatetime(new Date());
 			this.updateConfig(entity);
@@ -402,7 +382,7 @@ public class Configurationmanagement imp
 	}
 
 	public void delete(Configuration entity, long userId) {
-		entity.setUser_id(userId);
+		entity.setUser(usersDao.get(userId));
 		entity.setDeleted(true);
 		entity.setUpdatetime(new Date());
 		this.updateConfig(entity);

Modified: incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/persistence/beans/basic/Configuration.java
URL: http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/persistence/beans/basic/Configuration.java?rev=1391793&r1=1391792&r2=1391793&view=diff
==============================================================================
--- incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/persistence/beans/basic/Configuration.java (original)
+++ incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/persistence/beans/basic/Configuration.java Sat Sep 29 12:15:44 2012
@@ -45,7 +45,7 @@ import org.simpleframework.xml.Root;
 		@NamedQuery(name = "getConfigurationsByKeys", query = "SELECT c FROM Configuration c WHERE c.conf_key IN :conf_keys and c.deleted = false"),
 		@NamedQuery(name = "getNondeletedConfiguration", query = "SELECT c FROM Configuration c  "
 				+ "LEFT JOIN FETCH c.user WHERE c.deleted = false"),
-		@NamedQuery(name = "getConfigurationById", query = "SELECT c FROM Configuration c WHERE c.configuration_id = :configuration_id and c.deleted = false") })
+		@NamedQuery(name = "getConfigurationById", query = "SELECT c FROM Configuration c LEFT JOIN FETCH c.user WHERE c.configuration_id = :configuration_id and c.deleted = false") })
 @Table(name = "configuration")
 @Root(name = "config")
 public class Configuration implements Serializable, OmEntity {
@@ -81,10 +81,6 @@ public class Configuration implements Se
 	@Element(data = true)
 	private boolean deleted;
 
-	@Column(name = "user_id")
-	@Element(data = true, required = false)
-	private Long user_id;
-
 	@ManyToOne(fetch = FetchType.LAZY)
 	@JoinColumn(name = "user_id")
 	@Element(name = "user_id", data = true, required = false)
@@ -146,19 +142,11 @@ public class Configuration implements Se
 		this.deleted = deleted;
 	}
 
-	public Long getUser_id() {
-		return user_id;
-	}
-
-	public void setUser_id(Long user_id) {
-		this.user_id = user_id;
-	}
-
 	public Users getUser() {
 		return user;
 	}
 
-	public void setUsers(Users user) {
+	public void setUser(Users user) {
 		this.user = user;
 	}
 

Modified: incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/test/config/TestConfig.java
URL: http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/test/config/TestConfig.java?rev=1391793&r1=1391792&r2=1391793&view=diff
==============================================================================
--- incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/test/config/TestConfig.java (original)
+++ incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/test/config/TestConfig.java Sat Sep 29 12:15:44 2012
@@ -50,7 +50,6 @@ public class TestConfig extends Abstract
 			Configuration smtp_server = configurationmanagement.getConfKey(3L,
 					"smtp_server");
 			
-			System.err.println("smtp_server " + smtp_server.getUser_id());
 			System.err.println("smtp_server " + smtp_server.getUser());
 			
 			assertEquals(null, smtp_server.getUser());
@@ -69,7 +68,7 @@ public class TestConfig extends Abstract
 			
 			for (Configuration conf : list) {
 				System.err.println("conf.getConf_key() " + conf.getConf_key());
-				System.err.println("conf.getUser_id() " + conf.getUser_id());
+				System.err.println("conf.getUser() " + conf.getUser());
 				if (conf.getUser() != null) {
 					System.err.println("conf.getUsers() "
 							+ conf.getUser().getLogin());

Modified: incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/configurations/ConfigForm.java
URL: http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/configurations/ConfigForm.java?rev=1391793&r1=1391792&r2=1391793&view=diff
==============================================================================
--- incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/configurations/ConfigForm.java (original)
+++ incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/components/admin/configurations/ConfigForm.java Sat Sep 29 12:15:44 2012
@@ -70,6 +70,9 @@ public class ConfigForm extends AdminBas
 	protected void onSaveSubmit(AjaxRequestTarget target, Form<?> form) {
 		Application.getBean(Configurationmanagement.class).update(getModelObject(), WebSession.getUserId());
 		Configuration conf = Application.getBean(Configurationmanagement.class).get(getModelObject().getConfiguration_id());
+
+		System.out.println(conf.getUser());
+
 		this.setModelObject(conf);
 		target.add(this);
 		target.add(listContainer);