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());
 
             }
         }


Reply via email to