Author: solomax
Date: Thu Apr 19 08:17:04 2012
New Revision: 1327861

URL: http://svn.apache.org/viewvc?rev=1327861&view=rev
Log:
OPENMEETINGS-182 is fixed

Modified:
    incubator/openmeetings/trunk/singlewebapp/build.xml
    
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

Modified: incubator/openmeetings/trunk/singlewebapp/build.xml
URL: 
http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/build.xml?rev=1327861&r1=1327860&r2=1327861&view=diff
==============================================================================
--- incubator/openmeetings/trunk/singlewebapp/build.xml (original)
+++ incubator/openmeetings/trunk/singlewebapp/build.xml Thu Apr 19 08:17:04 2012
@@ -93,6 +93,7 @@
                <mkdir dir="${om.lib.dir}" />
                <mkdir dir="${anakia.lib.dir}" />
                <mkdir dir="${junit.lib.dir}" />
+               <mkdir dir="${junit.report.dir}" />
                <mkdir dir="${rat.lib.dir}" />
                <mkdir dir="${dtd-generator.lib.dir}" />
                <mkdir dir="${svntask.lib.dir}" />

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=1327861&r1=1327860&r2=1327861&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 19 08:17:04 2012
@@ -18,6 +18,7 @@
  */
 package org.openmeetings.app.data.basic;
 
+import java.util.ArrayList;
 import java.util.Date;
 import java.util.Iterator;
 import java.util.List;
@@ -46,6 +47,18 @@ public class Navimanagement {
        @Autowired
        private Fieldmanagment fieldmanagment;
 
+       public Naviglobal getGlobalMenuEntry(long globalId) {
+               try {
+                       TypedQuery<Naviglobal> query = 
em.createNamedQuery("getNavigationById", Naviglobal.class);
+                       query.setParameter("global_id", globalId);
+                       return query.getSingleResult();
+               } catch (Exception ex2) {
+                       log.error("getGlobalMenuEntry", ex2);
+               }
+               return null;
+               
+       }
+       
        public List<Naviglobal> getMainMenu(long user_level, long USER_ID, long 
language_id) {
                List<Naviglobal> ll = this.getMainMenu(user_level, USER_ID);
                for (Iterator<Naviglobal> it2 = ll.iterator(); it2.hasNext();) {
@@ -96,7 +109,6 @@ public class Navimanagement {
                        ng.setName(name);
                        ng.setStarttime(new Date());
                        ng.setTooltip_fieldvalues_id(tooltip_fieldvalues_id);
-
                        // CriteriaBuilder crit = em.getCriteriaBuilder();
 
                        em.merge(ng);
@@ -111,21 +123,28 @@ public class Navimanagement {
                        String name, long global_id, String deleted,
                        Long tooltip_fieldvalues_id) {
                try {
-                       Navimain ng = new Navimain();
-                       ng.setAction(action);
-                       ng.setComment("");
-                       ng.setIcon("");
-                       ng.setFieldvalues_id(fieldvalues_id);
-                       ng.setIsleaf(isleaf);
-                       ng.setNaviorder(naviorder);
-                       ng.setIsopen(isopen);
-                       ng.setLevel_id(level_id);
-                       ng.setName(name);
-                       ng.setDeleted(deleted);
-                       ng.setGlobal_id(global_id);
-                       ng.setStarttime(new Date());
-                       ng.setTooltip_fieldvalues_id(tooltip_fieldvalues_id);
-
+                       Naviglobal ng = getGlobalMenuEntry(global_id);
+                       List<Navimain> mainEntries = ng.getMainnavi();
+                       mainEntries = (mainEntries == null) ? new 
ArrayList<Navimain>() : mainEntries;
+                       
+                       Navimain nm = new Navimain();
+                       nm.setAction(action);
+                       nm.setComment("");
+                       nm.setIcon("");
+                       nm.setFieldvalues_id(fieldvalues_id);
+                       nm.setIsleaf(isleaf);
+                       nm.setNaviorder(naviorder);
+                       nm.setIsopen(isopen);
+                       nm.setLevel_id(level_id);
+                       nm.setName(name);
+                       nm.setDeleted(deleted);
+                       nm.setGlobal_id(global_id);
+                       nm.setStarttime(new Date());
+                       nm.setTooltip_fieldvalues_id(tooltip_fieldvalues_id);
+                       
+                       mainEntries.add(nm);
+                       ng.setMainnavi(mainEntries);
+                       
                        em.merge(ng);
 
                } catch (Exception 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=1327861&r1=1327860&r2=1327861&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 19 08:17:04 2012
@@ -22,6 +22,7 @@ import java.io.Serializable;
 import java.util.Date;
 import java.util.List;
 
+import javax.persistence.CascadeType;
 import javax.persistence.Column;
 import javax.persistence.Entity;
 import javax.persistence.FetchType;
@@ -39,158 +40,164 @@ import org.openmeetings.app.persistence.
 
 @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")
-})
+               @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"),
+               @NamedQuery(name = "getNavigationById", query = "SELECT ng from 
Naviglobal ng WHERE ng.global_id = :global_id") })
 @Table(name = "naviglobal")
 public class Naviglobal implements Serializable {
-    
+
        private static final long serialVersionUID = 515828033813767719L;
        @Id
        @GeneratedValue(strategy = GenerationType.IDENTITY)
-       
-       @Column(name="global_id")
+       @Column(name = "global_id")
        private Long global_id;
-       @Column(name="name")
+       @Column(name = "name")
        private String name;
-       @Column(name="icon")
+       @Column(name = "icon")
        private String icon;
-       @Column(name="isleaf")
+       @Column(name = "isleaf")
        private Boolean isleaf;
-       @Column(name="isopen")
+       @Column(name = "isopen")
        private Boolean isopen;
-       @Column(name="action")
+       @Column(name = "action")
        private String action;
-       @Column(name="updatetime")
+       @Column(name = "updatetime")
        private Date updatetime;
-       @Column(name="starttime")
+       @Column(name = "starttime")
        private Date starttime;
-       @Column(name="comment_field")
+       @Column(name = "comment_field")
        private String comment;
-       @Column(name="naviorder")
+       @Column(name = "naviorder")
        private Integer naviorder;
-       @Column(name="level_id")
+       @Column(name = "level_id")
        private Long level_id;
-       @Column(name="deleted")
-       private String deleted;  
-       @Column(name="fieldvalues_id")
+       @Column(name = "deleted")
+       private String deleted;
+       @Column(name = "fieldvalues_id")
        private Long fieldvalues_id;
-       @Column(name="tooltip_fieldvalues_id")
+       @Column(name = "tooltip_fieldvalues_id")
        private Long tooltip_fieldvalues_id;
-       @OneToMany(fetch = FetchType.LAZY)
-       @JoinColumn(name="global_id")
-    private List<Navimain> mainnavi;
+       @OneToMany(fetch = FetchType.LAZY, cascade = CascadeType.ALL)
+       @JoinColumn(name = "global_id")
+       private List<Navimain> mainnavi;
        @Transient
-    private Fieldlanguagesvalues label;
+       private Fieldlanguagesvalues label;
        @Transient
-    private Fieldlanguagesvalues tooltip;
+       private Fieldlanguagesvalues tooltip;
+
+       public String getAction() {
+               return action;
+       }
+
+       public void setAction(String action) {
+               this.action = action;
+       }
+
+       public String getComment() {
+               return comment;
+       }
+
+       public void setComment(String comment) {
+               this.comment = comment;
+       }
+
+       public Long getGlobal_id() {
+               return global_id;
+       }
+
+       public void setGlobal_id(Long global_id) {
+               this.global_id = global_id;
+       }
+
+       public String getIcon() {
+               return icon;
+       }
+
+       public void setIcon(String icon) {
+               this.icon = icon;
+       }
+
+       public Boolean getIsleaf() {
+               return isleaf;
+       }
+
+       public void setIsleaf(Boolean isleaf) {
+               this.isleaf = isleaf;
+       }
+
+       public Boolean getIsopen() {
+               return isopen;
+       }
+
+       public void setIsopen(Boolean isopen) {
+               this.isopen = isopen;
+       }
 
-    public Naviglobal() {
-               super();
-               // TODO Auto-generated constructor stub
-       }
-    
-    public String getAction() {
-        return action;
-    }
-    public void setAction(String action) {
-        this.action = action;
-    }
-    
-    public String getComment() {
-        return comment;
-    }
-    public void setComment(String comment) {
-        this.comment = comment;
-    }
-    
-    public Long getGlobal_id() {
-        return global_id;
-    }
-    public void setGlobal_id(Long global_id) {
-        this.global_id = global_id;
-    }
-    
-    public String getIcon() {
-        return icon;
-    }
-    public void setIcon(String icon) {
-        this.icon = icon;
-    }
-    
-    public Boolean getIsleaf() {
-        return isleaf;
-    }
-    public void setIsleaf(Boolean isleaf) {
-        this.isleaf = isleaf;
-    }
-    
-    public Boolean getIsopen() {
-        return isopen;
-    }
-    public void setIsopen(Boolean isopen) {
-        this.isopen = isopen;
-    }
-    
-    
        public Date getStarttime() {
                return starttime;
        }
+
        public void setStarttime(Date starttime) {
                this.starttime = starttime;
        }
-    
+
        public Date getUpdatetime() {
                return updatetime;
        }
+
        public void setUpdatetime(Date updatetime) {
                this.updatetime = updatetime;
        }
-       
+
        public String getDeleted() {
                return deleted;
        }
+
        public void setDeleted(String deleted) {
                this.deleted = deleted;
        }
-    
-    public String getName() {
-        return name;
-    }
-    public void setName(String name) {
-        this.name = name;
-    }
-    
+
+       public String getName() {
+               return name;
+       }
+
+       public void setName(String name) {
+               this.name = name;
+       }
+
        public Integer getNaviorder() {
                return naviorder;
        }
+
        public void setNaviorder(Integer naviorder) {
                this.naviorder = naviorder;
        }
-    
-    public Long getLevel_id() {
-        return level_id;
-    }
-    public void setLevel_id(Long level_id) {
-        this.level_id = level_id;
-    }
-    
-    public List<Navimain> getMainnavi() {
-        return mainnavi;
-    }
-    public void setMainnavi(List<Navimain> mainnavi) {
-        this.mainnavi = mainnavi;
-    }
+
+       public Long getLevel_id() {
+               return level_id;
+       }
+
+       public void setLevel_id(Long level_id) {
+               this.level_id = level_id;
+       }
+
+       public List<Navimain> getMainnavi() {
+               return mainnavi;
+       }
+
+       public void setMainnavi(List<Navimain> mainnavi) {
+               this.mainnavi = mainnavi;
+       }
 
        public Long getFieldvalues_id() {
                return fieldvalues_id;
        }
+
        public void setFieldvalues_id(Long fieldvalues_id) {
                this.fieldvalues_id = fieldvalues_id;
        }
@@ -198,6 +205,7 @@ public class Naviglobal implements Seria
        public Fieldlanguagesvalues getLabel() {
                return label;
        }
+
        public void setLabel(Fieldlanguagesvalues label) {
                this.label = label;
        }
@@ -205,6 +213,7 @@ public class Naviglobal implements Seria
        public Long getTooltip_fieldvalues_id() {
                return tooltip_fieldvalues_id;
        }
+
        public void setTooltip_fieldvalues_id(Long tooltip_fieldvalues_id) {
                this.tooltip_fieldvalues_id = tooltip_fieldvalues_id;
        }
@@ -212,8 +221,9 @@ public class Naviglobal implements Seria
        public Fieldlanguagesvalues getTooltip() {
                return tooltip;
        }
+
        public void setTooltip(Fieldlanguagesvalues tooltip) {
                this.tooltip = tooltip;
        }
-       
+
 }


Reply via email to