Author: simoneg
Date: Wed Jun 27 16:36:48 2012
New Revision: 1354620
URL: http://svn.apache.org/viewvc?rev=1354620&view=rev
Log:
Added expandedLayers, to expand beans only on certain layers
Modified:
labs/magma/trunk/foundation-beans-view/src/main/java/org/apache/magma/view/MagView.java
labs/magma/trunk/foundation-beans-view/src/main/java/org/apache/magma/view/ViewSettings.java
labs/magma/trunk/foundation-beans-view/src/main/java/org/apache/magma/view/tree/ViewUtils.java
labs/magma/trunk/foundation-beans-view/src/test/java/org/apache/magma/view/tree/CreatingTreeTest.java
labs/magma/trunk/foundation-beans-view/src/test/java/org/apache/magma/view/tree/Nested2.java
Modified:
labs/magma/trunk/foundation-beans-view/src/main/java/org/apache/magma/view/MagView.java
URL:
http://svn.apache.org/viewvc/labs/magma/trunk/foundation-beans-view/src/main/java/org/apache/magma/view/MagView.java?rev=1354620&r1=1354619&r2=1354620&view=diff
==============================================================================
---
labs/magma/trunk/foundation-beans-view/src/main/java/org/apache/magma/view/MagView.java
(original)
+++
labs/magma/trunk/foundation-beans-view/src/main/java/org/apache/magma/view/MagView.java
Wed Jun 27 16:36:48 2012
@@ -37,5 +37,6 @@ public @interface MagView {
public String[] layers() default {};
public boolean defaultLayer() default true;
public boolean expanded() default false;
+ public String[] expandedLayers() default {};
}
Modified:
labs/magma/trunk/foundation-beans-view/src/main/java/org/apache/magma/view/ViewSettings.java
URL:
http://svn.apache.org/viewvc/labs/magma/trunk/foundation-beans-view/src/main/java/org/apache/magma/view/ViewSettings.java?rev=1354620&r1=1354619&r2=1354620&view=diff
==============================================================================
---
labs/magma/trunk/foundation-beans-view/src/main/java/org/apache/magma/view/ViewSettings.java
(original)
+++
labs/magma/trunk/foundation-beans-view/src/main/java/org/apache/magma/view/ViewSettings.java
Wed Jun 27 16:36:48 2012
@@ -25,6 +25,7 @@ public class ViewSettings {
private String[] layers = null;
private boolean defaultLayer = false;
private boolean expanded = false;
+ private String[] expandedLayers = null;
private ZoneSetting zone = null;
private OrdinalSetting ordinal = null;
@@ -98,27 +99,51 @@ public class ViewSettings {
public void setExpanded(boolean expanded) {
this.expanded = expanded;
}
-
- public boolean isOnLayer(String layer) {
+
+ private boolean isOnLayer(String[] layers, String layer, boolean
defLayer) {
if (layer.equalsIgnoreCase(MagDefaultLayers.ALL)) return true;
- if (layer.equalsIgnoreCase(MagDefaultLayers.DEFAULT)) return
defaultLayer;
+ if (layer.equalsIgnoreCase(MagDefaultLayers.DEFAULT)) return
defLayer;
if (layers == null) return false;
- for (String aclayer : this.layers) {
+ for (String aclayer : layers) {
if (aclayer.equalsIgnoreCase(layer)) return true;
}
return false;
}
- public boolean isOnAnyLayer(String[] layers) {
+ private boolean isOnAnyLayer(String[] allLayers, String[] layers,
boolean defLayer) {
boolean res = false;
for (String aclayer : layers) {
if (aclayer.charAt(0) == '!') {
- if (isOnLayer(aclayer.substring(1))) return
false;
+ if (isOnLayer(allLayers, aclayer.substring(1),
defLayer)) return false;
} else {
- if (isOnLayer(aclayer)) res = true;
+ if (isOnLayer(allLayers, aclayer, defLayer))
res = true;
}
}
return res;
}
+
+ public boolean isOnLayer(String layer) {
+ return isOnLayer(this.layers, layer, this.defaultLayer);
+ }
+
+ public boolean isOnAnyLayer(String[] layers) {
+ return isOnAnyLayer(this.layers, layers, this.defaultLayer);
+ }
+
+ public String[] getExpandedLayers() {
+ return expandedLayers;
+ }
+ public void setExpandedLayers(String[] expandedLayers) {
+ this.expandedLayers = expandedLayers;
+ }
+
+ public boolean isOnExpandedLayer(String layer) {
+ return isOnLayer(this.expandedLayers, layer, false);
+ }
+
+ public boolean isOnAnyExpandedLayer(String[] layers) {
+ return isOnAnyLayer(this.expandedLayers, layers, false);
+ }
+
}
Modified:
labs/magma/trunk/foundation-beans-view/src/main/java/org/apache/magma/view/tree/ViewUtils.java
URL:
http://svn.apache.org/viewvc/labs/magma/trunk/foundation-beans-view/src/main/java/org/apache/magma/view/tree/ViewUtils.java?rev=1354620&r1=1354619&r2=1354620&view=diff
==============================================================================
---
labs/magma/trunk/foundation-beans-view/src/main/java/org/apache/magma/view/tree/ViewUtils.java
(original)
+++
labs/magma/trunk/foundation-beans-view/src/main/java/org/apache/magma/view/tree/ViewUtils.java
Wed Jun 27 16:36:48 2012
@@ -98,7 +98,7 @@ public class ViewUtils {
if (!settings.isOnAnyLayer(layers)) {
Node nnode = new HiddenNode(property);
added = root.addSubnode(nnode);
- } else if (settings.isExpanded()) {
+ } else if (settings.isExpanded() ||
settings.isOnAnyExpandedLayer(layers)) {
Node nnode = new
ContainerProperty(property, settings);
Node sub =
createTree(BeanData.getFor(property.getType()), layers, nnode);
sub.setLogicalParent(nnode);
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=1354620&r1=1354619&r2=1354620&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
Wed Jun 27 16:36:48 2012
@@ -164,4 +164,26 @@ public class CreatingTreeTest {
MagmaBeanSupport n2b = ViewUtils.findProperBean(n2n, n1, true);
assertEquals(Nested2.class, n2b.getClass());
}
+
+ @Test
+ public void nestingExp() throws Exception {
+ Nested1 n1 = new Nested1();
+ Node n = ViewUtils.createTree(n1.beanData(), new String[] {
MagDefaultLayers.DEFAULT, "testExp" });
+
+ Set<Node> nodes = n.getAllNodes();
+
+ FieldNode last = (FieldNode)
n.findById("nested2-nested3exp-last");
+
+ assertNotNull(last);
+ assertEquals(2, last.getLogicalPropertyParents().size());
+ assertEquals("nested2",
last.getLogicalPropertyParents().get(0).getName());
+ assertEquals(Nested1.class,
last.getLogicalPropertyParents().get(0).getBeanClass());
+ assertEquals("nested3exp",
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());
+ }
+
}
Modified:
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=1354620&r1=1354619&r2=1354620&view=diff
==============================================================================
---
labs/magma/trunk/foundation-beans-view/src/test/java/org/apache/magma/view/tree/Nested2.java
(original)
+++
labs/magma/trunk/foundation-beans-view/src/test/java/org/apache/magma/view/tree/Nested2.java
Wed Jun 27 16:36:48 2012
@@ -8,7 +8,7 @@ public class Nested2 {
private String name;
private Nested3 nested3;
-
+ private Nested3 nested3exp;
@MagView(order=1)
public String getName() {
@@ -26,5 +26,12 @@ public class Nested2 {
this.nested3 = nested3;
}
-
+ @MagView(order=3, expandedLayers={"testExp"})
+ public Nested3 getNested3exp() {
+ return nested3exp;
+ }
+ public void setNested3exp(Nested3 nested3exp) {
+ this.nested3exp = nested3exp;
+ }
+
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]