[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