You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@labs.apache.org by si...@apache.org on 2008/10/28 04:01:25 UTC

svn commit: r708421 - /labs/magma/trunk/foundation-beans-view/src/main/java/org/apache/magma/view/tree/Zone.java

Author: simoneg
Date: Mon Oct 27 20:01:25 2008
New Revision: 708421

URL: http://svn.apache.org/viewvc?rev=708421&view=rev
Log:
LABS-219 : hidden nodes are now collapsed, at least when they have no or only one subnode

Modified:
    labs/magma/trunk/foundation-beans-view/src/main/java/org/apache/magma/view/tree/Zone.java

Modified: labs/magma/trunk/foundation-beans-view/src/main/java/org/apache/magma/view/tree/Zone.java
URL: http://svn.apache.org/viewvc/labs/magma/trunk/foundation-beans-view/src/main/java/org/apache/magma/view/tree/Zone.java?rev=708421&r1=708420&r2=708421&view=diff
==============================================================================
--- labs/magma/trunk/foundation-beans-view/src/main/java/org/apache/magma/view/tree/Zone.java (original)
+++ labs/magma/trunk/foundation-beans-view/src/main/java/org/apache/magma/view/tree/Zone.java Mon Oct 27 20:01:25 2008
@@ -25,6 +25,7 @@
 import java.util.Comparator;
 import java.util.Iterator;
 import java.util.List;
+import java.util.Set;
 
 public class Zone {
 
@@ -68,6 +69,24 @@
 	
 	public void validate() {
 		if (this.validated) return;
+		
+		// Check and remove hidden nodes
+		for (int i = 0; i < this.nodes.size(); i++) {
+			Node node = this.nodes.get(i);
+			if (node instanceof HiddenNode) {
+				Set<Node> allNodes = node.getAllNodes();
+				if (allNodes.size() == 0) {
+					this.nodes.remove(i);
+					i--;
+				} else if (allNodes.size() == 1) {
+					Node subnode = allNodes.iterator().next();
+					subnode.setParent(this);
+					this.nodes.set(i, subnode);
+				}
+			}
+		}
+		
+		
 		this.slices.clear();
 		if (this.nodes.size() <= 1) {
 			this.nodes.get(0).validate();



---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@labs.apache.org
For additional commands, e-mail: commits-help@labs.apache.org