taylor 2003/08/19 22:40:22
Modified: src/java/org/apache/jetspeed/util
TestValidationParameterParser.java
src/java/org/apache/jetspeed/util/parser
ValidationParameterParser.java
Log:
Added a new general Validation callback for all fields on biz object, called after
all other validation routine called
Needs signature String validate()
Revision Changes Path
1.5 +19 -1
jakarta-jetspeed/src/java/org/apache/jetspeed/util/TestValidationParameterParser.java
Index: TestValidationParameterParser.java
===================================================================
RCS file:
/home/cvs/jakarta-jetspeed/src/java/org/apache/jetspeed/util/TestValidationParameterParser.java,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- TestValidationParameterParser.java 31 Mar 2003 00:30:32 -0000 1.4
+++ TestValidationParameterParser.java 20 Aug 2003 05:40:22 -0000 1.5
@@ -192,6 +192,24 @@
return ValidationHelper.isLooseAlphaNumeric(name, false);
}
+ public String validate()
+ {
+ if (name.equals("David"))
+ {
+ if (email.equals("[EMAIL PROTECTED]"))
+ {
+ return null;
+ }
+ else
+ {
+ return "Bad Email/Name combination";
+ }
+ }
+ else
+ {
+ return "Bad Name/Email combination";
+ }
+ }
}
}
1.4 +38 -3
jakarta-jetspeed/src/java/org/apache/jetspeed/util/parser/ValidationParameterParser.java
Index: ValidationParameterParser.java
===================================================================
RCS file:
/home/cvs/jakarta-jetspeed/src/java/org/apache/jetspeed/util/parser/ValidationParameterParser.java,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- ValidationParameterParser.java 31 Mar 2003 00:30:32 -0000 1.3
+++ ValidationParameterParser.java 20 Aug 2003 05:40:22 -0000 1.4
@@ -126,7 +126,6 @@
/* VALIDATION */
if (!validateProperty(bean, props[i]))
{
-
invalidFieldMessages.append("'");
invalidFieldMessages.append(propname);
invalidFieldMessages.append("' is not a valid field, ");
@@ -136,6 +135,16 @@
}
}
+
+ // call the general validation for the entire business object
+ String msg = generalValidation(bean);
+ if (msg != null)
+ {
+ invalidFieldMessages.append(msg);
+ invalidFieldMessages.append(", ");
+ valid = false;
+ }
+
//System.out.println("invalidFieldMessages ["+invalidFieldMessages+"]");
if (!valid)
{
@@ -247,7 +256,7 @@
/**
- * Validate a bean's property based on definition in the Torque Object Model
+ * Validate a bean's property based on definition in the business object
*
* @param bean The bean to be validated.
* @param prop The bean's property descriptor
@@ -362,6 +371,32 @@
return false;
}
+ /**
+ * Validate a bean's property based on definition in the business object
+ *
+ * @param bean The bean to be validated.
+ * @param prop The bean's property descriptor
+ * @return null if validation was successful, an error message if validation
failed
+ **/
+ protected String generalValidation(Object bean)
+ throws Exception
+ {
+ String methodName = "validate";
+ try
+ {
+ Method method = bean.getClass().getMethod(methodName, null);
+ String msg = (String)method.invoke(bean, null);
+ return msg;
+ }
+ catch (NoSuchMethodException nsm_e)
+ {
+ }
+ catch (Exception e)
+ {
+ System.err.println("EXCEPTION INVOKING METHOD " + methodName + " :
" + e);
+ }
+ return null;
+ }
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]