Author: simoneg
Date: Sat May 15 02:09:52 2010
New Revision: 944548

URL: http://svn.apache.org/viewvc?rev=944548&view=rev
Log:
Fix for nested expanded beans in view

Added:
    
labs/magma/trunk/foundation-beans-view/src/test/java/org/apache/magma/view/tree/Nested1.java
    
labs/magma/trunk/foundation-beans-view/src/test/java/org/apache/magma/view/tree/Nested2.java
    
labs/magma/trunk/foundation-beans-view/src/test/java/org/apache/magma/view/tree/Nested3.java
Modified:
    
labs/magma/trunk/foundation-beans-view/src/main/java/org/apache/magma/view/tree/PropertyNode.java
    
labs/magma/trunk/foundation-beans-view/src/test/java/org/apache/magma/view/tree/CreatingTreeTest.java

Modified: 
labs/magma/trunk/foundation-beans-view/src/main/java/org/apache/magma/view/tree/PropertyNode.java
URL: 
http://svn.apache.org/viewvc/labs/magma/trunk/foundation-beans-view/src/main/java/org/apache/magma/view/tree/PropertyNode.java?rev=944548&r1=944547&r2=944548&view=diff
==============================================================================
--- 
labs/magma/trunk/foundation-beans-view/src/main/java/org/apache/magma/view/tree/PropertyNode.java
 (original)
+++ 
labs/magma/trunk/foundation-beans-view/src/main/java/org/apache/magma/view/tree/PropertyNode.java
 Sat May 15 02:09:52 2010
@@ -57,12 +57,12 @@ public class PropertyNode extends Node {
        public void setLogicalParent(Node parent) {
                if (parent instanceof PropertyNode) {
                        PropertyNode pnp = (PropertyNode) parent;
-                       this.logicalParents = new ArrayList<PropertyInfo>();
+                       if (this.logicalParents == null) this.logicalParents = 
new ArrayList<PropertyInfo>();
                        List<PropertyInfo> ppl = 
pnp.getLogicalPropertyParents();
+                       this.logicalParents.add(0,pnp.getProperty());
                        if (ppl != null) {
-                               this.logicalParents.addAll(ppl);
+                               this.logicalParents.addAll(0,ppl);
                        }
-                       this.logicalParents.add(pnp.getProperty());
                }
                super.setLogicalParent(parent);
        }

Modified: 
labs/magma/trunk/foundation-beans-view/src/test/java/org/apache/magma/view/tree/CreatingTreeTest.java
URL: 
http://svn.apache.org/viewvc/labs/magma/trunk/foundation-beans-view/src/test/java/org/apache/magma/view/tree/CreatingTreeTest.java?rev=944548&r1=944547&r2=944548&view=diff
==============================================================================
--- 
labs/magma/trunk/foundation-beans-view/src/test/java/org/apache/magma/view/tree/CreatingTreeTest.java
 (original)
+++ 
labs/magma/trunk/foundation-beans-view/src/test/java/org/apache/magma/view/tree/CreatingTreeTest.java
 Sat May 15 02:09:52 2010
@@ -16,10 +16,16 @@
  */
 package org.apache.magma.view.tree;
 
+import static org.junit.Assert.*;
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertNull;
 import static org.junit.Assert.assertSame;
+
+import java.util.Set;
+
+import org.apache.magma.beans.MagmaBeanSupport;
+import org.apache.magma.view.MagDefaultLayers;
 import org.apache.magma.view.Side;
 import org.apache.magma.view.ViewSettings;
 import org.apache.magma.view.ZoneSetting;
@@ -127,4 +133,35 @@ public class CreatingTreeTest {
                assertNull(found);
                
        }
+       
+       @Test
+       public void nesting() throws Exception {
+               Nested1 n1 = new Nested1();
+               Node n = ViewUtils.createTree(n1.beanData(), new String[] { 
MagDefaultLayers.DEFAULT });
+               
+               Set<Node> nodes = n.getAllNodes();
+               
+               FieldNode nn = (FieldNode) n.findById("name");
+               FieldNode n2n = (FieldNode) n.findById("nested2-name");
+               FieldNode last = (FieldNode) n.findById("nested2-nested3-last");
+               
+               assertNotNull(nn);
+               assertNotNull(n2n);
+               assertNotNull(last);
+               assertNull(nn.getLogicalPropertyParents());
+               assertEquals(1, n2n.getLogicalPropertyParents().size());
+               assertEquals("nested2", 
n2n.getLogicalPropertyParents().get(0).getName());
+               assertEquals(Nested1.class, 
n2n.getLogicalPropertyParents().get(0).getBeanClass());
+               assertEquals(2, last.getLogicalPropertyParents().size());
+               assertEquals("nested2", 
last.getLogicalPropertyParents().get(0).getName());
+               assertEquals(Nested1.class, 
last.getLogicalPropertyParents().get(0).getBeanClass());
+               assertEquals("nested3", 
last.getLogicalPropertyParents().get(1).getName());
+               assertEquals(Nested2.class, 
last.getLogicalPropertyParents().get(1).getBeanClass());
+               
+               
+               MagmaBeanSupport n3b = ViewUtils.findProperBean(last, n1, true);
+               assertEquals(Nested3.class, n3b.getClass());
+               MagmaBeanSupport n2b = ViewUtils.findProperBean(n2n, n1, true);
+               assertEquals(Nested2.class, n2b.getClass());
+       }
 }

Added: 
labs/magma/trunk/foundation-beans-view/src/test/java/org/apache/magma/view/tree/Nested1.java
URL: 
http://svn.apache.org/viewvc/labs/magma/trunk/foundation-beans-view/src/test/java/org/apache/magma/view/tree/Nested1.java?rev=944548&view=auto
==============================================================================
--- 
labs/magma/trunk/foundation-beans-view/src/test/java/org/apache/magma/view/tree/Nested1.java
 (added)
+++ 
labs/magma/trunk/foundation-beans-view/src/test/java/org/apache/magma/view/tree/Nested1.java
 Sat May 15 02:09:52 2010
@@ -0,0 +1,28 @@
+package org.apache.magma.view.tree;
+
+import org.apache.magma.beans.MagmaBean;
+import org.apache.magma.view.MagView;
+
+...@magmabean
+public class Nested1 {
+       
+       private String name;
+       private Nested2 nested2;
+
+       @MagView(order=1)
+       public String getName() {
+               return name;
+       }
+       public void setName(String name) {
+               this.name = name;
+       }
+
+       @MagView(order=2, expanded=true)
+       public Nested2 getNested2() {
+               return nested2;
+       }
+       public void setNested2(Nested2 nested2) {
+               this.nested2 = nested2;
+       }
+
+}

Added: 
labs/magma/trunk/foundation-beans-view/src/test/java/org/apache/magma/view/tree/Nested2.java
URL: 
http://svn.apache.org/viewvc/labs/magma/trunk/foundation-beans-view/src/test/java/org/apache/magma/view/tree/Nested2.java?rev=944548&view=auto
==============================================================================
--- 
labs/magma/trunk/foundation-beans-view/src/test/java/org/apache/magma/view/tree/Nested2.java
 (added)
+++ 
labs/magma/trunk/foundation-beans-view/src/test/java/org/apache/magma/view/tree/Nested2.java
 Sat May 15 02:09:52 2010
@@ -0,0 +1,30 @@
+package org.apache.magma.view.tree;
+
+import org.apache.magma.beans.MagmaBean;
+import org.apache.magma.view.MagView;
+
+...@magmabean
+public class Nested2 {
+       
+       private String name;
+       private Nested3 nested3;
+
+
+       @MagView(order=1)
+       public String getName() {
+               return name;
+       }
+       public void setName(String name) {
+               this.name = name;
+       }
+
+       @MagView(order=2, expanded=true)
+       public Nested3 getNested3() {
+               return nested3;
+       }
+       public void setNested3(Nested3 nested3) {
+               this.nested3 = nested3;
+       }
+       
+
+}

Added: 
labs/magma/trunk/foundation-beans-view/src/test/java/org/apache/magma/view/tree/Nested3.java
URL: 
http://svn.apache.org/viewvc/labs/magma/trunk/foundation-beans-view/src/test/java/org/apache/magma/view/tree/Nested3.java?rev=944548&view=auto
==============================================================================
--- 
labs/magma/trunk/foundation-beans-view/src/test/java/org/apache/magma/view/tree/Nested3.java
 (added)
+++ 
labs/magma/trunk/foundation-beans-view/src/test/java/org/apache/magma/view/tree/Nested3.java
 Sat May 15 02:09:52 2010
@@ -0,0 +1,20 @@
+package org.apache.magma.view.tree;
+
+import org.apache.magma.beans.MagmaBean;
+import org.apache.magma.view.MagView;
+
+...@magmabean
+public class Nested3 {
+
+       private String last;
+
+       @MagView(order=1)
+       public String getLast() {
+               return last;
+       }
+
+       public void setLast(String last) {
+               this.last = last;
+       }
+       
+}



---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to