[jboss-cvs] jboss-seam/src/main/org/jboss/seam/core ...

Gavin King gavin.king at jboss.com
Thu Nov 2 19:02:50 EST 2006


  User: gavin   
  Date: 06/11/02 19:02:50

  Modified:    src/main/org/jboss/seam/core  Validation.java
  Log:
  make validation on session bean class work
  
  Revision  Changes    Path
  1.2       +8 -8      jboss-seam/src/main/org/jboss/seam/core/Validation.java
  
  (In the diff below, changes in quantity of whitespace are not shown.)
  
  Index: Validation.java
  ===================================================================
  RCS file: /cvsroot/jboss/jboss-seam/src/main/org/jboss/seam/core/Validation.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -b -r1.1 -r1.2
  --- Validation.java	26 Oct 2006 21:16:19 -0000	1.1
  +++ Validation.java	3 Nov 2006 00:02:50 -0000	1.2
  @@ -11,7 +11,6 @@
   import org.jboss.seam.Component;
   import org.jboss.seam.InterceptionType;
   import org.jboss.seam.ScopeType;
  -import org.jboss.seam.Seam;
   import org.jboss.seam.annotations.Intercept;
   import org.jboss.seam.annotations.Name;
   import org.jboss.seam.annotations.Scope;
  @@ -25,21 +24,21 @@
   
      private Map<Class, ClassValidator> classValidators = Collections.synchronizedMap( new HashMap<Class, ClassValidator>() ); 
      
  -   public ClassValidator getValidator(Class modelClass)
  +   public ClassValidator getValidator(Class modelClass, String name)
      {
         ClassValidator result = classValidators.get(modelClass);
         if (result==null)
         {
  -         result = createValidator(modelClass);
  +         result = createValidator(modelClass, name);
            classValidators.put(modelClass, result);
         }
         return result;
      }
      
  -   public ClassValidator createValidator(Class modelClass)
  +   public ClassValidator createValidator(Class modelClass, String name)
      {
  -      String componentName = Seam.getComponentName(modelClass);
  -      if (componentName==null)
  +      Component component = name==null ? null : Component.forName(name);
  +      if (component==null)
         {
            java.util.ResourceBundle bundle = ResourceBundle.instance();
            return bundle==null ? 
  @@ -48,7 +47,7 @@
         }
         else
         {
  -         return Component.forName(componentName).getValidator();
  +         return component.getValidator();
         }
      }
   
  @@ -59,11 +58,12 @@
         {
            throw new RuntimeException("not an attribute value binding: " + propertyExpression);
         }
  +      String componentName = propertyExpression.substring(2, sep);
         String modelExpression = propertyExpression.substring(0, sep) + '}';
         String propertyName = propertyExpression.substring( modelExpression.length(), propertyExpression.length()-1 );
      
         Object model = context.getApplication().createValueBinding(modelExpression).getValue(context);
  -      ClassValidator validator = getValidator( model.getClass() );    
  +      ClassValidator validator = getValidator( model.getClass(), componentName );    
         return validator.getPotentialInvalidValues(propertyName, value);
      }
   
  
  
  



More information about the jboss-cvs-commits mailing list