You are viewing a plain text version of this content. The canonical link for it is here.
Posted to scm@geronimo.apache.org by ri...@apache.org on 2010/08/26 20:17:33 UTC
svn commit: r989861 -
/geronimo/server/trunk/testsuite/javaee6-testsuite/beanvalidation-test/src/main/java/org/apache/geronimo/sample/RegisterValidation/Action/submitInfo.java
Author: rickmcguire
Date: Thu Aug 26 18:17:33 2010
New Revision: 989861
URL: http://svn.apache.org/viewvc?rev=989861&view=rev
Log:
Use JNDI lookup for the Validator and also test ServletContext faces property
Modified:
geronimo/server/trunk/testsuite/javaee6-testsuite/beanvalidation-test/src/main/java/org/apache/geronimo/sample/RegisterValidation/Action/submitInfo.java
Modified: geronimo/server/trunk/testsuite/javaee6-testsuite/beanvalidation-test/src/main/java/org/apache/geronimo/sample/RegisterValidation/Action/submitInfo.java
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/testsuite/javaee6-testsuite/beanvalidation-test/src/main/java/org/apache/geronimo/sample/RegisterValidation/Action/submitInfo.java?rev=989861&r1=989860&r2=989861&view=diff
==============================================================================
--- geronimo/server/trunk/testsuite/javaee6-testsuite/beanvalidation-test/src/main/java/org/apache/geronimo/sample/RegisterValidation/Action/submitInfo.java (original)
+++ geronimo/server/trunk/testsuite/javaee6-testsuite/beanvalidation-test/src/main/java/org/apache/geronimo/sample/RegisterValidation/Action/submitInfo.java Thu Aug 26 18:17:33 2010
@@ -19,6 +19,9 @@ package org.apache.geronimo.sample.Regis
import java.io.IOException;
import java.io.PrintWriter;
import java.util.Set;
+
+import javax.naming.InitialContext;
+import javax.naming.NamingException;
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
@@ -29,6 +32,7 @@ import javax.validation.ConstraintViolat
import javax.validation.Validation;
import javax.validation.Validator;
import javax.validation.ValidatorFactory;
+
import org.apache.geronimo.sample.RegisterValidation.Model.Address;
import org.apache.geronimo.sample.RegisterValidation.Model.Information;
import org.apache.geronimo.sample.RegisterValidation.Model.OrdinaryPeople;
@@ -73,11 +77,35 @@ public class submitInfo extends HttpServ
if(null!=salary)
infor.setSalary(Integer.parseInt(salary));
infor.setBirthday(birthday);
- ValidatorFactory vf = Validation.buildDefaultValidatorFactory();
- Validator validator = (Validator) vf.getValidator();
+
+ int violationSize = 0;
+ ValidatorFactory vf = null;
+ Validator validator = null;
+
+ // obtain the validator factory and validator instance from JNDI
+ try {
+ InitialContext ctx = new InitialContext();
+ vf = (ValidatorFactory)ctx.lookup("java:comp/ValidatorFactory");
+ validator = (Validator)ctx.lookup("java:comp/Validator");
+ } catch (NamingException e) {
+ // log this as a violation
+ message += "<b>Unable to obtain validator from JNDI:</b>" + e.getMessage() + "<br>";
+ violationSize += 1;
+ // this is an error condition, but just mark the error and
+ // create validators directly
+ vf = Validation.buildDefaultValidatorFactory();
+ validator = (Validator)vf.getValidator();
+ }
+
+ Object contextValidator = getServletContext().getAttribute("javax.faces.validator.beanValidator.ValidatorFactory");
+ if (contextValidator == null || !(contextValidator instanceof ValidatorFactory)) {
+ message += "<b>Unable to obtain validator from ServletContext: " + contextValidator + "</b><br>";
+ violationSize += 1;
+ }
+
Set<ConstraintViolation<Information>> generalSet = validator.validate(infor);
int generalSize = generalSet.size();
- int violationSize = generalSize;
+ violationSize += generalSize;
if (generalSize > 0) {
for (ConstraintViolation<Information> constraintViolation : generalSet) {
message += "<b>Invalid value:</b><font color=red>" + constraintViolation.getInvalidValue() + "</font>," + constraintViolation.getMessage() + "<br>";