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 2012/07/03 07:41:00 UTC

svn commit: r1356574 - in /incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/app: data/basic/FieldLanguageDaoImpl.java persistence/beans/lang/FieldLanguage.java

Author: solomax
Date: Tue Jul  3 05:40:59 2012
New Revision: 1356574

URL: http://svn.apache.org/viewvc?rev=1356574&view=rev
Log:
OPENMEETINGS-299 eager fetch broke OM

Modified:
    incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/app/data/basic/FieldLanguageDaoImpl.java
    incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/app/persistence/beans/lang/FieldLanguage.java

Modified: incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/app/data/basic/FieldLanguageDaoImpl.java
URL: http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/app/data/basic/FieldLanguageDaoImpl.java?rev=1356574&r1=1356573&r2=1356574&view=diff
==============================================================================
--- incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/app/data/basic/FieldLanguageDaoImpl.java (original)
+++ incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/app/data/basic/FieldLanguageDaoImpl.java Tue Jul  3 05:40:59 2012
@@ -48,7 +48,6 @@ public class FieldLanguageDaoImpl {
 
 	public FieldLanguage addLanguage(int langId, String langName, Boolean langRtl, String code) {
 		try {
-
 			FieldLanguage fl = new FieldLanguage();
 			fl.setLanguage_id((long)langId);
 			fl.setStarttime(new Date());
@@ -59,7 +58,12 @@ public class FieldLanguageDaoImpl {
 
 			fl = em.merge(fl);
 
-			return fl;
+			//Eagerly FETCH values list
+			TypedQuery<FieldLanguage> q = em.createQuery("select fl from FieldLanguage fl LEFT JOIN FETCH fl.languageValues WHERE fl.language_id = :langId", FieldLanguage.class);
+			q.setParameter("langId", langId);
+			List<FieldLanguage> results = q.getResultList();
+			
+			return results != null && !results.isEmpty() ? results.get(0) : null;
 		} catch (Exception ex2) {
 			log.error("[addLanguage]: ", ex2);
 		}

Modified: incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/app/persistence/beans/lang/FieldLanguage.java
URL: http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/app/persistence/beans/lang/FieldLanguage.java?rev=1356574&r1=1356573&r2=1356574&view=diff
==============================================================================
--- incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/app/persistence/beans/lang/FieldLanguage.java (original)
+++ incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/app/persistence/beans/lang/FieldLanguage.java Tue Jul  3 05:40:59 2012
@@ -54,7 +54,7 @@ public class FieldLanguage implements Se
 	@Column(name="code")
 	private String code;
 	
-	@OneToMany(fetch = FetchType.EAGER, cascade = CascadeType.ALL)
+	@OneToMany(fetch = FetchType.LAZY, cascade = CascadeType.ALL)
 	@JoinColumn(name = "language_id", insertable = true, updatable = true)
 	private Collection<Fieldlanguagesvalues> languageValues;