[jboss-cvs] jboss-seam/src/main/org/jboss/seam/mock ...
Gavin King
gavin.king at jboss.com
Thu Oct 26 17:16:19 EDT 2006
User: gavin
Date: 06/10/26 17:16:19
Modified: src/main/org/jboss/seam/mock SeamTest.java
Log:
testability of validation
Revision Changes Path
1.48 +43 -9 jboss-seam/src/main/org/jboss/seam/mock/SeamTest.java
(In the diff below, changes in quantity of whitespace are not shown.)
Index: SeamTest.java
===================================================================
RCS file: /cvsroot/jboss/jboss-seam/src/main/org/jboss/seam/mock/SeamTest.java,v
retrieving revision 1.47
retrieving revision 1.48
diff -u -b -r1.47 -r1.48
--- SeamTest.java 26 Oct 2006 17:54:12 -0000 1.47
+++ SeamTest.java 26 Oct 2006 21:16:19 -0000 1.48
@@ -29,6 +29,7 @@
import org.jboss.seam.core.Init;
import org.jboss.seam.core.Manager;
import org.jboss.seam.core.Pageflow;
+import org.jboss.seam.core.Validation;
import org.jboss.seam.init.Initialization;
import org.jboss.seam.jsf.SeamApplication11;
import org.jboss.seam.jsf.SeamNavigationHandler;
@@ -37,7 +38,6 @@
import org.jboss.seam.servlet.ServletSessionImpl;
import org.jboss.seam.util.Naming;
import org.jboss.seam.util.Transactions;
-import org.jboss.seam.util.Validation;
import org.testng.annotations.Configuration;
/**
@@ -45,7 +45,7 @@
*
* @author Gavin King
* @author <a href="mailto:theute at jboss.org">Thomas Heute</a>
- * @version $Revision: 1.47 $
+ * @version $Revision: 1.48 $
*/
public class SeamTest
{
@@ -101,12 +101,24 @@
}
/**
+ * @deprecated use FacesRequest or NonFacesRequest
+ * @author Gavin King
+ */
+ public abstract class Script extends Request {
+ public Script() {}
+ public Script(String conversationId)
+ {
+ super(conversationId);
+ }
+ }
+
+ /**
* Script is an abstract superclass for usually anonymous
* inner classes that test JSF interactions.
*
* @author Gavin King
*/
- public abstract class Script
+ abstract class Request
{
private String conversationId;
private String outcome;
@@ -123,14 +135,14 @@
* A script for a JSF interaction with
* no existing long-running conversation.
*/
- protected Script() {}
+ protected Request() {}
/**
* A script for a JSF interaction in the
* scope of an existing long-running
* conversation.
*/
- protected Script(String conversationId)
+ protected Request(String conversationId)
{
this.conversationId = conversationId;
}
@@ -238,9 +250,12 @@
}
}
+ /**
+ * @deprecated use validateValue()
+ */
protected void validate(Class modelClass, String property, Object value)
{
- ClassValidator validator = Validation.getValidator(modelClass);
+ ClassValidator validator = Validation.instance().getValidator(modelClass);
InvalidValue[] ivs = validator.getPotentialInvalidValues(property, value);
if (ivs.length>0)
{
@@ -286,6 +301,25 @@
}
/**
+ * Validate the value against model-based constraints
+ * return true if the value is valid
+ */
+ protected boolean validateValue(String valueExpression, Object value)
+ {
+ InvalidValue[] ivs = Validation.instance().validate(facesContext, valueExpression, value);
+ if (ivs.length>0)
+ {
+ validationFailed = true;
+ facesContext.addMessage( null, FacesMessages.createFacesMessage( FacesMessage.SEVERITY_WARN, ivs[0].getMessage() ) );
+ return false;
+ }
+ else
+ {
+ return true;
+ }
+ }
+
+ /**
* Call a method binding
*/
protected Object invokeMethod(String methodExpression)
@@ -446,7 +480,7 @@
}
- public class NonFacesRequest extends Script
+ public class NonFacesRequest extends Request
{
public NonFacesRequest() {}
@@ -494,7 +528,7 @@
}
- public class FacesRequest extends Script
+ public class FacesRequest extends Request
{
public FacesRequest() {}
More information about the jboss-cvs-commits
mailing list