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/04/12 12:08:34 UTC

svn commit: r1325182 - in /incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings: app/data/basic/Navimanagement.java app/persistence/beans/basic/Naviglobal.java test/navi/TestNavi.java

Author: sebawagner
Date: Thu Apr 12 10:08:34 2012
New Revision: 1325182

URL: http://svn.apache.org/viewvc?rev=1325182&view=rev
Log:
OPENMEETINGS-110 Fix to use "NamedQuery" for main navigation to enable/disable entries in the mainnavi

Modified:
    incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/app/data/basic/Navimanagement.java
    incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/app/persistence/beans/basic/Naviglobal.java
    incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/test/navi/TestNavi.java

Modified: incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/app/data/basic/Navimanagement.java
URL: http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/app/data/basic/Navimanagement.java?rev=1325182&r1=1325181&r2=1325182&view=diff
==============================================================================
--- incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/app/data/basic/Navimanagement.java (original)
+++ incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/app/data/basic/Navimanagement.java Thu Apr 12 10:08:34 2012
@@ -69,14 +69,9 @@ public class Navimanagement {
 
 	public List<Naviglobal> getMainMenu(long user_level, long USER_ID) {
 		try {
-
-			// CriteriaBuilder crit = em.getCriteriaBuilder();
-			TypedQuery<Naviglobal> query = em.createQuery("select c from Naviglobal as c "
-					+ "where c.level_id <= :level_id AND "
-					+ "c.deleted LIKE 'false' " + "order by c.naviorder", Naviglobal.class);
+			TypedQuery<Naviglobal> query = em.createNamedQuery("getNavigation", Naviglobal.class);
 			query.setParameter("level_id", user_level);
 			List<Naviglobal> navi = query.getResultList();
-
 			return navi;
 		} catch (Exception ex2) {
 			log.error("getMainMenu", ex2);

Modified: incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/app/persistence/beans/basic/Naviglobal.java
URL: http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/app/persistence/beans/basic/Naviglobal.java?rev=1325182&r1=1325181&r2=1325182&view=diff
==============================================================================
--- incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/app/persistence/beans/basic/Naviglobal.java (original)
+++ incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/app/persistence/beans/basic/Naviglobal.java Thu Apr 12 10:08:34 2012
@@ -33,12 +33,24 @@ import javax.persistence.GeneratedValue;
 import javax.persistence.GenerationType;
 import javax.persistence.Id;
 import javax.persistence.JoinColumn;
+import javax.persistence.NamedQueries;
+import javax.persistence.NamedQuery;
 import javax.persistence.OneToMany;
 import javax.persistence.OrderBy;
 import javax.persistence.Table;
 import javax.persistence.Transient;
 
 @Entity
+@NamedQueries({
+    @NamedQuery(name="getNavigation",
+        	query="SELECT DISTINCT ng from Naviglobal ng " +
+        			"LEFT JOIN ng.mainnavi nm " +
+        			"WHERE nm.deleted LIKE 'false' " +
+        			"AND ng.level_id <= :level_id " +
+        			"AND nm.level_id <= :level_id " +
+        			"AND ng.deleted LIKE 'false' " + 
+        			"order by ng.naviorder, nm.naviorder")
+})
 @Table(name = "naviglobal")
 public class Naviglobal implements Serializable {
     
@@ -74,9 +86,8 @@ public class Naviglobal implements Seria
 	private Long fieldvalues_id;
 	@Column(name="tooltip_fieldvalues_id")
 	private Long tooltip_fieldvalues_id;
-	@OneToMany(fetch = FetchType.EAGER)
+	@OneToMany(fetch = FetchType.LAZY)
 	@JoinColumn(name="global_id")
-	@OrderBy("naviorder")
     private List<Navimain> mainnavi;
 	@Transient
     private Fieldlanguagesvalues label;

Modified: incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/test/navi/TestNavi.java
URL: http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/test/navi/TestNavi.java?rev=1325182&r1=1325181&r2=1325182&view=diff
==============================================================================
--- incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/test/navi/TestNavi.java (original)
+++ incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/test/navi/TestNavi.java Thu Apr 12 10:08:34 2012
@@ -46,7 +46,7 @@ public class TestNavi extends AbstractOp
             System.out.println("Naviglobal label: " + navigl.getLabel().getValue());
 
             for (Navimain navim : navigl.getMainnavi()) {
-                System.out.println("-->" + navim.getLabel().getValue());
+                //System.out.println("-->" + navim.getLabel().getValue());
 
             }
         }