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]

Reply via email to