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]