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/04/19 10:17:05 UTC

svn commit: r1327861 - in /incubator/openmeetings/trunk/singlewebapp: build.xml src/org/openmeetings/app/data/basic/Navimanagement.java src/org/openmeetings/app/persistence/beans/basic/Naviglobal.java

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;
 	}
-	
+
 }