Author: simoneg
Date: Fri Dec 11 15:24:44 2009
New Revision: 889648
URL: http://svn.apache.org/viewvc?rev=889648&view=rev
Log:
LABS-500 : disconnected validation from handler commit, to provide two
different phases
Removed:
labs/magma/trunk/foundation-validation/src/main/java/org/apache/magma/validation/HookValidationToHandler.aj
Modified:
labs/magma/trunk/beans-richtext/src/test/java/org/apache/magma/beans/TestOnBean.java
labs/magma/trunk/foundation-beans/src/main/java/org/apache/magma/beans/BeanHandler.java
labs/magma/trunk/foundation-beans/src/main/java/org/apache/magma/conversion/AddConversionInHandler.aj
labs/magma/trunk/foundation-database/src/test/java/org/apache/magma/database/TestDatabaseValidator.java
labs/magma/trunk/foundation-i18n/src/main/java/org/apache/magma/i18n/AddFormatterInPropertyInfo.aj
labs/magma/trunk/foundation-i18n/src/main/java/org/apache/magma/i18n/HookFormattingToHandler.aj
labs/magma/trunk/foundation-validation/src/main/java/org/apache/magma/validation/AddValidationInHandler.aj
labs/magma/trunk/foundation-validation/src/test/java/org/apache/magma/validation/ValidationMapTest.java
Modified:
labs/magma/trunk/beans-richtext/src/test/java/org/apache/magma/beans/TestOnBean.java
URL:
http://svn.apache.org/viewvc/labs/magma/trunk/beans-richtext/src/test/java/org/apache/magma/beans/TestOnBean.java?rev=889648&r1=889647&r2=889648&view=diff
==============================================================================
---
labs/magma/trunk/beans-richtext/src/test/java/org/apache/magma/beans/TestOnBean.java
(original)
+++
labs/magma/trunk/beans-richtext/src/test/java/org/apache/magma/beans/TestOnBean.java
Fri Dec 11 15:24:44 2009
@@ -76,7 +76,7 @@
h.setStringValue("shortRichText", "hi there, this is too long");
try {
- h.commit();
+ h.validate();
fail("Should throw length validation exception");
} catch (ValidationError e) {
}
Modified:
labs/magma/trunk/foundation-beans/src/main/java/org/apache/magma/beans/BeanHandler.java
URL:
http://svn.apache.org/viewvc/labs/magma/trunk/foundation-beans/src/main/java/org/apache/magma/beans/BeanHandler.java?rev=889648&r1=889647&r2=889648&view=diff
==============================================================================
---
labs/magma/trunk/foundation-beans/src/main/java/org/apache/magma/beans/BeanHandler.java
(original)
+++
labs/magma/trunk/foundation-beans/src/main/java/org/apache/magma/beans/BeanHandler.java
Fri Dec 11 15:24:44 2009
@@ -38,8 +38,8 @@
*
* Having a "transactional" approach gives the opportunity to validate all the
fields or to
* make sure all conversions occurs correctly before writing any value to the
bean, reducing
- * the possibility of stale data.
- *
+ * the possibility of stale data.
+ *
* @author Simone Gianni <[email protected]>
*/
public class BeanHandler {
@@ -145,11 +145,22 @@
}
/**
+ * Prepares data for being saved on bean by a later call to {...@link
#commit()}.
+ *
+ * This is an essential hook for performing operations on data, like
convertion
+ * or formatting, before actual data write.
+ */
+ public void prepare() {
+
+ }
+
+ /**
* Saves on the bean (calling setters) all the properties modified
using {...@link #setValue(String, Object)} (or equivalent
* methods contributed by other components). This method is the perfect
hook to perform validations or other preprocessing
* of values.
*/
public void commit() {
+ prepare();
for (Iterator<String> iterator = changed.iterator();
iterator.hasNext();) {
String name = iterator.next();
PropertyInfo property = data.getProperty(name);
Modified:
labs/magma/trunk/foundation-beans/src/main/java/org/apache/magma/conversion/AddConversionInHandler.aj
URL:
http://svn.apache.org/viewvc/labs/magma/trunk/foundation-beans/src/main/java/org/apache/magma/conversion/AddConversionInHandler.aj?rev=889648&r1=889647&r2=889648&view=diff
==============================================================================
---
labs/magma/trunk/foundation-beans/src/main/java/org/apache/magma/conversion/AddConversionInHandler.aj
(original)
+++
labs/magma/trunk/foundation-beans/src/main/java/org/apache/magma/conversion/AddConversionInHandler.aj
Fri Dec 11 15:24:44 2009
@@ -235,9 +235,9 @@
}
/**
- * Hooks the commit of string values before the commit of the handler.
+ * Hooks the commit of string values before the prepare of the handler.
*/
- before(BeanHandler handler) : execution(public void
BeanHandler.commit()) && this(handler) {
+ before(BeanHandler handler) : execution(public void
BeanHandler.prepare()) && this(handler) {
handler.commitStringValues();
}
Modified:
labs/magma/trunk/foundation-database/src/test/java/org/apache/magma/database/TestDatabaseValidator.java
URL:
http://svn.apache.org/viewvc/labs/magma/trunk/foundation-database/src/test/java/org/apache/magma/database/TestDatabaseValidator.java?rev=889648&r1=889647&r2=889648&view=diff
==============================================================================
---
labs/magma/trunk/foundation-database/src/test/java/org/apache/magma/database/TestDatabaseValidator.java
(original)
+++
labs/magma/trunk/foundation-database/src/test/java/org/apache/magma/database/TestDatabaseValidator.java
Fri Dec 11 15:24:44 2009
@@ -35,7 +35,7 @@
handler.setValue("uselessNumber", null);
handler.setValue("name", null);
handler.setValue("surname", null);
- handler.commit();
+ handler.validate();
}
@Test(expected=ValidationError.class)
@@ -46,7 +46,7 @@
handler.setValue("uselessNumber", 1);
handler.setValue("name", null);
handler.setValue("surname", "ciao");
- handler.commit();
+ handler.validate();
}
@Test(expected=ValidationError.class)
@@ -57,7 +57,7 @@
handler.setValue("uselessNumber", 1);
handler.setValue("name", "ciao");
handler.setValue("surname", "ciao");
- handler.commit();
+ handler.validate();
}
@Test
@@ -68,7 +68,7 @@
handler.setValue("uselessNumber", 1);
handler.setValue("name", "ciao");
handler.setValue("surname", "ciao");
- handler.commit();
+ handler.validate();
}
@Test(expected=ValidationError.class)
@@ -82,7 +82,7 @@
char[] chars = new char[1000];
Arrays.fill(chars, 'a');
handler.setValue("description", new String(chars));
- handler.commit();
+ handler.validate();
}
@Test(expected=ValidationError.class)
@@ -93,7 +93,7 @@
handler.setValue("uselessNumber", 1);
handler.setValue("name",
"ciao01234567890123456789012345678901234567890123456789");
handler.setValue("surname", "ciao");
- handler.commit();
+ handler.validate();
}
@Test(expected=ValidationError.class)
@@ -104,7 +104,7 @@
handler.setValue("uselessNumber", 1);
handler.setValue("name", "ciao");
handler.setValue("surname",
"ciao01234567890123456789012345678901234567890123456789");
- handler.commit();
+ handler.validate();
}
@Test
@@ -118,7 +118,7 @@
char[] chars = new char[1000];
Arrays.fill(chars, 'a');
handler.setValue("longdata", new String(chars));
- handler.commit();
+ handler.validate();
}
Modified:
labs/magma/trunk/foundation-i18n/src/main/java/org/apache/magma/i18n/AddFormatterInPropertyInfo.aj
URL:
http://svn.apache.org/viewvc/labs/magma/trunk/foundation-i18n/src/main/java/org/apache/magma/i18n/AddFormatterInPropertyInfo.aj?rev=889648&r1=889647&r2=889648&view=diff
==============================================================================
---
labs/magma/trunk/foundation-i18n/src/main/java/org/apache/magma/i18n/AddFormatterInPropertyInfo.aj
(original)
+++
labs/magma/trunk/foundation-i18n/src/main/java/org/apache/magma/i18n/AddFormatterInPropertyInfo.aj
Fri Dec 11 15:24:44 2009
@@ -59,7 +59,7 @@
} else {
formatter = Formatters.getFormatterFor(info.getType());
}
- // Don't use the bypas formatter on properties,
+ // Don't use the bypass formatter on properties,
// cause probably they have a correctly initialized converter
already
if (formatter instanceof BypassFormatter) formatter = null;
if (formatter != null) {
Modified:
labs/magma/trunk/foundation-i18n/src/main/java/org/apache/magma/i18n/HookFormattingToHandler.aj
URL:
http://svn.apache.org/viewvc/labs/magma/trunk/foundation-i18n/src/main/java/org/apache/magma/i18n/HookFormattingToHandler.aj?rev=889648&r1=889647&r2=889648&view=diff
==============================================================================
---
labs/magma/trunk/foundation-i18n/src/main/java/org/apache/magma/i18n/HookFormattingToHandler.aj
(original)
+++
labs/magma/trunk/foundation-i18n/src/main/java/org/apache/magma/i18n/HookFormattingToHandler.aj
Fri Dec 11 15:24:44 2009
@@ -38,10 +38,10 @@
}
/**
- * Synchronizes the commit.
- * @param handler The handler on which commit was called.
+ * Synchronizes the prepare.
+ * @param handler The handler on which prepare was called.
*/
- before(BeanHandler handler) : execution(public void
BeanHandler.commit()) && this(handler) {
+ before(BeanHandler handler) : execution(public void
BeanHandler.prepare()) && this(handler) {
handler.commitFormattedStringValues();
}
Modified:
labs/magma/trunk/foundation-validation/src/main/java/org/apache/magma/validation/AddValidationInHandler.aj
URL:
http://svn.apache.org/viewvc/labs/magma/trunk/foundation-validation/src/main/java/org/apache/magma/validation/AddValidationInHandler.aj?rev=889648&r1=889647&r2=889648&view=diff
==============================================================================
---
labs/magma/trunk/foundation-validation/src/main/java/org/apache/magma/validation/AddValidationInHandler.aj
(original)
+++
labs/magma/trunk/foundation-validation/src/main/java/org/apache/magma/validation/AddValidationInHandler.aj
Fri Dec 11 15:24:44 2009
@@ -55,6 +55,7 @@
}
public void BeanHandler.validate() {
+ prepare();
Set<String> names = data.getPropertyNames();
ValidationError err = null;
for (String name : names) {
Modified:
labs/magma/trunk/foundation-validation/src/test/java/org/apache/magma/validation/ValidationMapTest.java
URL:
http://svn.apache.org/viewvc/labs/magma/trunk/foundation-validation/src/test/java/org/apache/magma/validation/ValidationMapTest.java?rev=889648&r1=889647&r2=889648&view=diff
==============================================================================
---
labs/magma/trunk/foundation-validation/src/test/java/org/apache/magma/validation/ValidationMapTest.java
(original)
+++
labs/magma/trunk/foundation-validation/src/test/java/org/apache/magma/validation/ValidationMapTest.java
Fri Dec 11 15:24:44 2009
@@ -46,6 +46,7 @@
BeanHandler handler = bean.handler();
handler.setValue("integerField", 5);
handler.setValue("stringField", "ciao");
+ handler.validate();
handler.commit();
assertEquals("ciao", bean.getStringField());
@@ -58,6 +59,7 @@
BeanHandler handler = bean.handler();
handler.setValue("integerField", 0);
handler.setValue("stringField", "a");
+ handler.validate();
handler.commit();
}
@@ -68,8 +70,9 @@
BeanHandler handler = bean.handler();
handler.setValue("integerField", 0);
handler.setValue("stringField", "a");
+ handler.validate();
handler.commit();
- fail("exception ot thrown");
+ fail("exception not thrown");
} catch (ValidationError e) {
assertEquals(2, e.getMessages().size());
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]