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]