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 2009/09/08 18:19:40 UTC
svn commit: r812575 - in /labs/magma/trunk/foundation-beans/src:
main/java/org/apache/magma/beans/ test/java/org/apache/magma/beans/
Author: simoneg
Date: Tue Sep 8 16:19:40 2009
New Revision: 812575
URL: http://svn.apache.org/viewvc?rev=812575&view=rev
Log:
LABS-441 : added support for @MagReadOnly
Added:
labs/magma/trunk/foundation-beans/src/main/java/org/apache/magma/beans/MagReadOnly.java
Modified:
labs/magma/trunk/foundation-beans/src/main/java/org/apache/magma/beans/PropertyInfo.java
labs/magma/trunk/foundation-beans/src/test/java/org/apache/magma/beans/BeanDataTest.java
labs/magma/trunk/foundation-beans/src/test/java/org/apache/magma/beans/TestBean.java
Added: labs/magma/trunk/foundation-beans/src/main/java/org/apache/magma/beans/MagReadOnly.java
URL: http://svn.apache.org/viewvc/labs/magma/trunk/foundation-beans/src/main/java/org/apache/magma/beans/MagReadOnly.java?rev=812575&view=auto
==============================================================================
--- labs/magma/trunk/foundation-beans/src/main/java/org/apache/magma/beans/MagReadOnly.java (added)
+++ labs/magma/trunk/foundation-beans/src/main/java/org/apache/magma/beans/MagReadOnly.java Tue Sep 8 16:19:40 2009
@@ -0,0 +1,13 @@
+package org.apache.magma.beans;
+
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+
+@Retention(RetentionPolicy.RUNTIME)
+@Target({ElementType.FIELD, ElementType.METHOD, ElementType.TYPE})
+public @interface MagReadOnly {
+
+}
Modified: labs/magma/trunk/foundation-beans/src/main/java/org/apache/magma/beans/PropertyInfo.java
URL: http://svn.apache.org/viewvc/labs/magma/trunk/foundation-beans/src/main/java/org/apache/magma/beans/PropertyInfo.java?rev=812575&r1=812574&r2=812575&view=diff
==============================================================================
--- labs/magma/trunk/foundation-beans/src/main/java/org/apache/magma/beans/PropertyInfo.java (original)
+++ labs/magma/trunk/foundation-beans/src/main/java/org/apache/magma/beans/PropertyInfo.java Tue Sep 8 16:19:40 2009
@@ -163,6 +163,13 @@
this.name = descriptor.getName();
Method readMethod = descriptor.getReadMethod();
Method writeMethod = descriptor.getWriteMethod();
+
+ if ((readMethod != null && readMethod.isAnnotationPresent(MagReadOnly.class)) ||
+ (writeMethod != null && writeMethod.isAnnotationPresent(MagReadOnly.class)) ||
+ beanClass.isAnnotationPresent(MagReadOnly.class)) {
+ writeMethod = null;
+ }
+
Consider consider = null;
if (readMethod != null) consider = readMethod.getAnnotation(Consider.class);
if (consider == null && writeMethod != null) consider = writeMethod.getAnnotation(Consider.class);
Modified: labs/magma/trunk/foundation-beans/src/test/java/org/apache/magma/beans/BeanDataTest.java
URL: http://svn.apache.org/viewvc/labs/magma/trunk/foundation-beans/src/test/java/org/apache/magma/beans/BeanDataTest.java?rev=812575&r1=812574&r2=812575&view=diff
==============================================================================
--- labs/magma/trunk/foundation-beans/src/test/java/org/apache/magma/beans/BeanDataTest.java (original)
+++ labs/magma/trunk/foundation-beans/src/test/java/org/apache/magma/beans/BeanDataTest.java Tue Sep 8 16:19:40 2009
@@ -46,7 +46,7 @@
assertTrue(propertyNames.contains("privString"));
assertTrue(propertyNames.contains("class"));
- assertEquals(6, propertyNames.size());
+ assertEquals(7, propertyNames.size());
}
@Test
@@ -76,4 +76,11 @@
PropertyInfo property = bd.getProperty("maskedDate");
assertEquals(Date.class, property.getType());
}
+
+ @Test
+ public void roProperty() throws Exception {
+ PropertyInfo property = bd.getProperty("roProp");
+ assertTrue(property.isReadable());
+ assertFalse(property.isWriteable());
+ }
}
Modified: labs/magma/trunk/foundation-beans/src/test/java/org/apache/magma/beans/TestBean.java
URL: http://svn.apache.org/viewvc/labs/magma/trunk/foundation-beans/src/test/java/org/apache/magma/beans/TestBean.java?rev=812575&r1=812574&r2=812575&view=diff
==============================================================================
--- labs/magma/trunk/foundation-beans/src/test/java/org/apache/magma/beans/TestBean.java (original)
+++ labs/magma/trunk/foundation-beans/src/test/java/org/apache/magma/beans/TestBean.java Tue Sep 8 16:19:40 2009
@@ -29,6 +29,15 @@
private List<String> aList;
private String maskedDate;
+ private String roProp;
+
+ public String getRoProp() {
+ return roProp;
+ }
+ @MagReadOnly
+ public void setRoProp(String roProp) {
+ this.roProp = roProp;
+ }
public String getPrivString() {
return privString;
}
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@labs.apache.org
For additional commands, e-mail: commits-help@labs.apache.org