Author: simoneg
Date: Thu Oct  8 01:32:27 2009
New Revision: 822999

URL: http://svn.apache.org/viewvc?rev=822999&view=rev
Log:
Avoid validating on transient, non readable or not writeable properties. 

Modified:
    
labs/magma/trunk/foundation-database/src/main/java/org/apache/magma/database/AddDefaultJPAValidation.aj

Modified: 
labs/magma/trunk/foundation-database/src/main/java/org/apache/magma/database/AddDefaultJPAValidation.aj
URL: 
http://svn.apache.org/viewvc/labs/magma/trunk/foundation-database/src/main/java/org/apache/magma/database/AddDefaultJPAValidation.aj?rev=822999&r1=822998&r2=822999&view=diff
==============================================================================
--- 
labs/magma/trunk/foundation-database/src/main/java/org/apache/magma/database/AddDefaultJPAValidation.aj
 (original)
+++ 
labs/magma/trunk/foundation-database/src/main/java/org/apache/magma/database/AddDefaultJPAValidation.aj
 Thu Oct  8 01:32:27 2009
@@ -22,6 +22,8 @@
 import javax.persistence.Entity;
 import javax.persistence.Embeddable;
 import javax.persistence.MappedSuperclass;
+import javax.persistence.Transient;
+
 import org.apache.magma.validation.CompoundValidator;
 import org.apache.magma.validation.Validators;
 import org.apache.magma.validation.Validator;
@@ -30,11 +32,12 @@
 
        declare precedence : AddDefaultJPAValidation, 
AddValidatorInPropertyInfo;
        
-       after(PropertyInfo info, Class beanClass) : 
-               execution(* PropertyInfo.init(PropertyDescriptor, Class)) && 
this(info) && args(.., beanClass) {
+       after(PropertyInfo info, PropertyDescriptor desc, Class beanClass) : 
+               execution(* PropertyInfo.init(PropertyDescriptor, Class)) && 
this(info) && args(desc, beanClass) {
                
                if (info.getType() == null) return;
                if (!info.getType().equals(String.class)) return;
+               if (!info.isWriteable() || !info.isReadable()) return;
                
                CompoundValidator val = info.getValidator();
                if (val != null && val.getValidator(DatabaseValidator.class) != 
null) return;
@@ -45,7 +48,10 @@
                isjpa |= beanClass.isAnnotationPresent(MappedSuperclass.class);
                
                if (!isjpa) return;
-
+               
+               if (desc.getReadMethod().isAnnotationPresent(Transient.class)) 
return;
+               
+               
                DatabaseValidator dbv = new DatabaseValidator();
                dbv.setLength(255);
                



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

Reply via email to