Author: simoneg
Date: Thu Dec 17 11:39:48 2009
New Revision: 891657

URL: http://svn.apache.org/viewvc?rev=891657&view=rev
Log:
Beans view layer negation

Modified:
    
labs/magma/trunk/foundation-beans-view/src/main/java/org/apache/magma/view/ViewSettings.java
    
labs/magma/trunk/foundation-beans-view/src/test/java/org/apache/magma/view/BeanViewListTreeTest.java
    
labs/magma/trunk/foundation-beans-view/src/test/java/org/apache/magma/view/ViewBean.java

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=891657&r1=891656&r2=891657&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
 Thu Dec 17 11:39:48 2009
@@ -110,10 +110,15 @@
        }
        
        public boolean isOnAnyLayer(String[] layers) {
+               boolean res = false;
                for (String aclayer : layers) {
-                       if (isOnLayer(aclayer)) return true;
+                       if (aclayer.charAt(0) == '!') {
+                               if (isOnLayer(aclayer)) return false;
+                       } else {
+                               if (isOnLayer(aclayer)) res = true;
+                       }
                }
-               return false;
+               return res;
        }
        
 }

Modified: 
labs/magma/trunk/foundation-beans-view/src/test/java/org/apache/magma/view/BeanViewListTreeTest.java
URL: 
http://svn.apache.org/viewvc/labs/magma/trunk/foundation-beans-view/src/test/java/org/apache/magma/view/BeanViewListTreeTest.java?rev=891657&r1=891656&r2=891657&view=diff
==============================================================================
--- 
labs/magma/trunk/foundation-beans-view/src/test/java/org/apache/magma/view/BeanViewListTreeTest.java
 (original)
+++ 
labs/magma/trunk/foundation-beans-view/src/test/java/org/apache/magma/view/BeanViewListTreeTest.java
 Thu Dec 17 11:39:48 2009
@@ -39,6 +39,20 @@
                simpleCheck(data, root, null);
        }
 
+       @Test
+       public void withNegation() throws Exception {
+               ViewBean bean = new ViewBean();
+               BeanData data = bean.beanData();
+               Node root = data.getViewTree(new String[] 
{MagDefaultLayers.LIST, "!removes"});
+               assertNotNull(root);
+               Node propnode = root.findById("name");
+               assertNotNull(propnode);
+               propnode = root.findById("surname");
+               assertNotNull(propnode);
+               propnode = root.findById("another");
+               assertNull(propnode);
+       }
+       
 
        private void simpleCheck(BeanData data, Node root, String parented) {
                for (String prop : data.getPropertyNames()) {

Modified: 
labs/magma/trunk/foundation-beans-view/src/test/java/org/apache/magma/view/ViewBean.java
URL: 
http://svn.apache.org/viewvc/labs/magma/trunk/foundation-beans-view/src/test/java/org/apache/magma/view/ViewBean.java?rev=891657&r1=891656&r2=891657&view=diff
==============================================================================
--- 
labs/magma/trunk/foundation-beans-view/src/test/java/org/apache/magma/view/ViewBean.java
 (original)
+++ 
labs/magma/trunk/foundation-beans-view/src/test/java/org/apache/magma/view/ViewBean.java
 Thu Dec 17 11:39:48 2009
@@ -51,7 +51,7 @@
                this.age = age;
        }
        
-       @MagView(label="Brother", order=4, layers="list")
+       @MagView(label="Brother", order=4, layers="list, removes")
        public ViewBean getAnother() {
                return another;
        }



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

Reply via email to