Example usage for org.apache.commons.validator Validator Validator

List of usage examples for org.apache.commons.validator Validator Validator

Introduction

In this page you can find the example usage for org.apache.commons.validator Validator Validator.

Prototype

public Validator(ValidatorResources resources) 

Source Link

Document

Construct a Validator that will use the ValidatorResources passed in to retrieve pluggable validators the different sets of validation rules.

Usage

From source file:jp.terasoluna.fw.web.struts.form.FieldChecksExTest06.java

/**
 * testValidateArraysIndex22()/*w  w  w  .ja va  2s .c  o m*/
 * <br><br>
 *
 * (??n)
 * <br>
 * _?FF
 * <br><br>
 * l?F(?) bean:*<br>
 *         (?) va:methodParams?F6S??<br>
 *                name?F"stringLengthArray"<br>
 *         (?) field:property?F"codeArray"<br>
 *         (?) errors:not null<br>
 *                (vf)<br>
 *         (?) validator:not null<br>
 *         (?) request:ANVtH?["logon"<br>
 *         (?) session:L?[?F"logon"l<br>
 *                ActionFormIuWFNg<br>
 *         (?) ActionForm:ArrayList codeArray=null<br>
 *
 * <br>
 * l?F(l) boolean:true<br>
 *         (?) errors:not null<br>
 *                    (vf)<br>
 *
 * <br>
 * ??v?peBlnull???AtruemF?B
 * <br>
 *
 * @throws Exception ?\bh?O
 */
public void testValidateArraysIndex22() throws Exception {
    //eXgf?[^?
    // ++++ beanIuWFNg ++++
    String bean = null;

    // ++++ ??IuWFNg
    ValidatorAction va = new ValidatorAction();
    va.setMethodParams(this.validClassStr);
    va.setName("stringLengthArray");

    // ++++ ?tB?[h?
    Field field = new Field();
    field.setProperty("codeArray");

    // G?[?
    ActionMessages errors = new ActionMessages();
    // [HTTPNGXg
    FieldChecksEx_HttpServletRequestImpl01 request = new FieldChecksEx_HttpServletRequestImpl01();
    ActionMappingEx mapping = new ActionMappingEx();
    mapping.setName("logon");
    request.setAttribute(Globals.MAPPING_KEY, mapping);
    MockHttpSession session = new MockHttpSession();
    form.setCodeArray(null);
    session.setAttribute("logon", form);
    request.setSession(session);

    // ValidatorResourcesCX^X
    ValidatorResources validatorResources = new ValidatorResources();
    // ValidatorCX^X
    Validator validator = new Validator(validatorResources);

    // eXg?s
    boolean result = FieldChecksEx.validateArraysIndex(bean, va, field, errors, validator, request);
    // eXgmF
    // truep?B
    assertTrue(result);
    // G?[??B
    assertTrue(errors.isEmpty());

}

From source file:jp.terasoluna.fw.web.struts.form.FieldChecksExTest09.java

/**
 * testValidateDateRange23()// w  w  w.  ja  va 2  s  . co m
 * <br><br>
 *
 * (?n)
 * <br>
 * _?FF
 * <br><br>
 * l?F(?) bean:"2005/01/01"<br>
 *         (?) va:not null<br>
 *         (?) field:not null<br>
 *                var:datePattern=null<br>
 *                var:datePatternStrict="yyyy/MM/dd"<br>
 *                var:startDate="2004/01/01"<br>
 *                var:endDate="abc"<br>
 *                Msg("message","message")<br>
 *         (?) errors:not null<br>
 *                (vf)<br>
 *         (?) validator:not null<br>
 *         (?) request:not null<br>
 *                Locale=JAPANESE<br>
 *
 * <br>
 * l?F(l) boolean:false<br>
 *         (?) errors:ActionMessage("message")<br>
 *
 * <br>
 * datePatternnull?AdatePatternStrict??ttH?[}bg?A
 * endDatet???AG?[?bZ?[Wfalsep
 * mF?B
 * <br>
 *
 * @throws Exception ?\bh?O
 */
public void testValidateDateRange23() throws Exception {
    //eXgf?[^?
    // ++++ beanIuWFNg ++++
    String bean = "2005/01/01";
    // ++++ ??IuWFNg
    ValidatorAction va = new ValidatorAction();
    va.setName("message");
    // ++++ ?tB?[h?
    Field field = new Field();
    Var var = new Var();
    var.setName("datePattern");
    var.setValue(null);
    field.addVar(var);
    var = new Var();
    var.setName("datePatternStrict");
    var.setValue("yyyy/MM/dd");
    field.addVar(var);
    var = new Var();
    var.setName("startDate");
    var.setValue("2004/01/01");
    field.addVar(var);
    var = new Var();
    var.setName("endDate");
    var.setValue("abc");
    field.addVar(var);
    // ?bZ?[W?
    Msg msg = new Msg();
    msg.setKey("message");
    msg.setName("message");
    msg.setResource(false);
    field.addMsg(msg);
    // G?[?
    ActionMessages errors = new ActionMessages();
    // [HTTPNGXg
    MockHttpServletRequest request = new MockHttpServletRequest();
    request.setLocale(Locale.JAPANESE);
    // ValidatorResourcesCX^X
    ValidatorResources validatorResources = new ValidatorResources();
    // ValidatorCX^X
    Validator validator = new Validator(validatorResources);

    // eXg?s
    boolean result = FieldChecksEx.validateDateRange(bean, va, field, errors, validator, request);
    // eXgmF
    // falsep?B
    assertFalse(result);
    // G?[?1??B
    assertEquals(1, errors.size());

    // ?bZ?[WIuWFNgmF
    Iterator it = errors.get();
    ActionMessage message = (ActionMessage) it.next();
    assertEquals("message", message.getKey());
}

From source file:jp.terasoluna.fw.web.struts.form.FieldChecksExTest07.java

/**
 * testValidateNumber25()/*from w  w w  .j  a v  a 2s .c  o  m*/
 * <br><br>
 *
 * (?n)
 * <br>
 * _?FF
 * <br><br>
 * l?F(?) bean:Map<br>
 *                ["field1"="100.01"]<br>
 *         (?) va:not null<br>
 *         (?) field:not null<br>
 *                var:integerLength="2"<br>
 *                var:scale="1"<br>
 *                property="field2"<br>
 *                Msg("message","message")<br>
 *         (?) errors:not null<br>
 *                (vf)<br>
 *         (?) validator:not null<br>
 *         (?) request:not null<br>
 *
 * <br>
 * l?F(l) boolean:true<br>
 *         (?) errors:not null<br>
 *                    (vf)<br>
 *
 * <br>
 * beanString^?Afieldproperty?w
 * v?peB????AtruemF?B
 * <br>
 *
 * @throws Exception ?\bh?O
 */
public void testValidateNumber25() throws Exception {
    //eXgf?[^?
    // ++++ beanIuWFNg ++++
    Map<String, String> bean = new HashMap<String, String>();
    bean.put("field1", "100.01");

    // ++++ ??IuWFNg
    ValidatorAction va = new ValidatorAction();
    va.setName("message");
    // ++++ ?tB?[h?
    Field field = new Field();
    field.setProperty("field2");
    // ?bZ?[W?
    Msg msg = new Msg();
    msg.setKey("message");
    msg.setName("message");
    msg.setResource(false);
    field.addMsg(msg);
    // ???
    Var varInteger = new Var();
    varInteger.setName("integerLength");
    varInteger.setValue("2");
    field.addVar(varInteger);
    // ???
    Var varScale = new Var();
    varScale.setName("scale");
    varScale.setValue("1");
    field.addVar(varScale);

    // G?[?
    ActionMessages errors = new ActionMessages();
    // [HTTPNGXg
    MockHttpServletRequest request = new MockHttpServletRequest();

    // ValidatorResourcesCX^X
    ValidatorResources validatorResources = new ValidatorResources();
    // ValidatorCX^X
    Validator validator = new Validator(validatorResources);

    // eXg?s
    boolean result = FieldChecksEx.validateNumber(bean, va, field, errors, validator, request);

    // eXgmF
    // truep?B
    assertTrue(result);
    // G?[?
    assertTrue(errors.isEmpty());
}

From source file:jp.terasoluna.fw.web.struts.form.FieldChecksExTest06.java

/**
 * testValidateArraysIndex23()/*from   w  w w  .j  a  v  a  2  s .  co m*/
 * <br><br>
 *
 * (??n)
 * <br>
 * _?FF
 * <br><br>
 * l?F(?) bean:*<br>
 *         (?) va:methodParams?Fnull<br>
 *         (?) field:*<br>
 *         (?) errors:not null<br>
 *                (vf)<br>
 *         (?) validator:not null<br>
 *         (?) request:not null<br>
 *         (?) session:not null<br>
 *         (?) ActionForm:not null<br>
 *
 * <br>
 * l?F(l) boolean:true<br>
 *         (?) ?O:?Ox?FG?[<br>
 *                    Can not get class pattern.<br>
 *         (?) errors:not null<br>
 *                    (vf)<br>
 *
 * <br>
 * vamethodParamsnull???AtruemF?B<br>
 * ?getParamClasseXg
 * <br>
 *
 * @throws Exception ?\bh?O
 */
public void testValidateArraysIndex23() throws Exception {
    //eXgf?[^?
    // ++++ beanIuWFNg ++++
    String bean = null;

    // ++++ ??IuWFNg
    ValidatorAction va = new ValidatorAction();
    UTUtil.setPrivateField(va, "methodParams", null);

    // ++++ ?tB?[h?
    Field field = new Field();

    // G?[?
    ActionMessages errors = new ActionMessages();
    // [HTTPNGXg
    HttpServletRequest request = new MockHttpServletRequest();

    // ValidatorResourcesCX^X
    ValidatorResources validatorResources = new ValidatorResources();
    // ValidatorCX^X
    Validator validator = new Validator(validatorResources);

    // eXg?s
    boolean result = FieldChecksEx.validateArraysIndex(bean, va, field, errors, validator, request);
    // eXgmF
    // truep?B
    assertTrue(result);
    // G?[??B
    assertTrue(errors.isEmpty());

    // G?[?O`FbN
    assertTrue(LogUTUtil.checkError("Can not get class pattern."));
}

From source file:jp.terasoluna.fw.web.struts.form.FieldChecksExTest07.java

/**
 * testValidateNumber03()/*w  w w.j  a v  a 2s . c o m*/
 * <br><br>
 *
 * (??n)
 * <br>
 * _?FF
 * <br><br>
 * l?F(?) bean:String:"123.12"<br>
 *         (?) va:not null<br>
 *         (?) field:not null<br>
 *                var:integerLength=null<br>
 *                var:scale=null<br>
 *                Msg("message","message")<br>
 *         (?) errors:not null<br>
 *                (vf)<br>
 *         (?) validator:not null<br>
 *         (?) request:not null<br>
 *
 * <br>
 * l?F(l) boolean:true<br>
 *         (?) errors:not null<br>
 *                    (vf)<br>
 *
 * <br>
 * Sp?l???A
 * G?[?bZ?[WfalsepmF?B
 * <br>
 *
 * @throws Exception ?\bh?O
 */
public void testValidateNumber26() throws Exception {
    //eXgf?[^?
    // ++++ beanIuWFNg ++++
    String bean = "PQR";
    // ++++ ??IuWFNg
    ValidatorAction va = new ValidatorAction();
    va.setName("message");
    // ++++ ?tB?[h?
    Field field = new Field();
    // ?bZ?[W?
    Msg msg = new Msg();
    msg.setKey("message");
    msg.setName("message");
    msg.setResource(false);
    field.addMsg(msg);
    Var var = new Var();
    var.setName("integerLength");
    var.setValue(null);
    field.addVar(var);
    var = new Var();
    var.setName("scale");
    var.setValue(null);
    field.addVar(var);

    // G?[?
    ActionMessages errors = new ActionMessages();

    // [HTTPNGXg
    MockHttpServletRequest request = new MockHttpServletRequest();

    // ValidatorResourcesCX^X
    ValidatorResources validatorResources = new ValidatorResources();
    // ValidatorCX^X
    Validator validator = new Validator(validatorResources);

    // eXg?s
    boolean result = FieldChecksEx.validateNumber(bean, va, field, errors, validator, request);

    // eXgmF
    // falsep?B
    assertFalse(result);
    // G?[?
    assertEquals(1, errors.size());

    // G?[IuWFNg?
    Iterator it = errors.get();
    ActionMessage message = (ActionMessage) it.next();
    assertEquals("message", message.getKey());
}

From source file:jp.terasoluna.fw.web.struts.form.FieldChecksExTest08.java

/**
 * testValidateMultiField10()//from  ww w . j av  a2s  .  c o  m
 * <br><br>
 *
 * (??n)
 * <br>
 * _?FF
 * <br><br>
 * l?F(?) bean:Bean<br>
 *                field1="abc"<br>
 *                field2="def"<br>
 *                field3="ghi"<br>
 *                field4="jkl"<br>
 *         (?) va:not null<br>
 *         (?) field:not null<br>
 *                var:multiFieldValidator=<br>
 *                "jp.terasoluna.fw.web.struts.form.FieldCheckEx_MultiFieldValidatorImpl01"<br>
 *                var:fields="field2 ,,test,field3,field4"<br>
 *                var:property="field1"<br>
 *                Msg("message","message")<br>
 *         (?) errors:not null<br>
 *                ActionMessage("testMessage")<br>
 *         (?) validator:not null<br>
 *         (?) request:not null<br>
 *         (?) MultiFieldValidator.validate():false<br>
 *
 * <br>
 * l?F(l) boolean:false<br>
 *         (?) MultiFieldValidator:?"abc",<br>
 *                    z{"def",null,"ghi","jkl"}<br>
 *                    ?o?B<br>
 *         (?) errors:ActionMessage("testMessage")<br>
 *                    ActionMessage("message")<br>
 *
 * <br>
 * fieldsJ}?w???A
 * J}?SOv?peBl?bean?A
 * zMultiFieldValidator?nmF?B<br>
 * MultiFieldValidatorvalidate?\bhfalsep???A
 * G?[?bZ?[WfalsepmF?B
 * <br>
 *
 * @throws Exception ?\bh?O
 */
public void testValidateMultiField10() throws Exception {
    //eXgf?[^?
    // ++++ ??IuWFNg
    ValidatorAction va = new ValidatorAction();
    va.setName("message");
    // ++++ ?tB?[h?
    Field field = new Field();
    Var var = new Var();
    var.setName("multiFieldValidator");
    var.setValue("jp.terasoluna.fw.web.struts.form." + "FieldChecksEx_MultiFieldValidatorImpl01");
    field.addVar(var);
    var = new Var();
    var.setName("fields");
    var.setValue("field2 ,,test,field3,field4");
    field.addVar(var);
    field.setProperty("field1");
    // ?bZ?[W?
    Msg msg = new Msg();
    msg.setKey("message");
    msg.setName("message");
    msg.setResource(false);
    field.addMsg(msg);
    // G?[?
    ActionMessages errors = new ActionMessages();
    ActionMessage error = new ActionMessage("testMessage");
    errors.add(Globals.ERROR_KEY, error);
    // [HTTPNGXg
    MockHttpServletRequest request = new MockHttpServletRequest();
    // ValidatorResourcesCX^X
    ValidatorResources validatorResources = new ValidatorResources();
    // ValidatorCX^X
    Validator validator = new Validator(validatorResources);

    // MultiFieldValidatorl?
    FieldChecksEx_MultiFieldValidatorImpl01.result = false;

    // eXg?s
    boolean result = FieldChecksEx.validateMultiField(javaBean, va, field, errors, validator, request);

    // mF
    assertFalse(result);
    assertEquals(2, errors.size());

    // ?bZ?[WIuWFNg`FbN
    Iterator it = errors.get();
    List<String> list = new ArrayList<String>();
    while (it.hasNext()) {
        ActionMessage message = (ActionMessage) it.next();
        list.add(message.getKey());
    }
    assertTrue(list.contains("testMessage"));
    assertTrue(list.contains("message"));

    // MultiFieldValidator?o?A?mF
    assertEquals(1, FieldChecksEx_MultiFieldValidatorImpl01.validateCalledCount);
    assertEquals("abc", FieldChecksEx_MultiFieldValidatorImpl01.value);
    assertEquals(4, FieldChecksEx_MultiFieldValidatorImpl01.fields.length);
    assertEquals("def", FieldChecksEx_MultiFieldValidatorImpl01.fields[0]);
    assertNull(FieldChecksEx_MultiFieldValidatorImpl01.fields[1]);
    assertEquals("ghi", FieldChecksEx_MultiFieldValidatorImpl01.fields[2]);
    assertEquals("jkl", FieldChecksEx_MultiFieldValidatorImpl01.fields[3]);

}

From source file:jp.terasoluna.fw.web.struts.form.FieldChecksExTest09.java

/**
 * testValidateDateRange24()//ww  w.  j a  v  a2 s.c om
 * <br><br>
 *
 * (?n)
 * <br>
 * _?FF
 * <br><br>
 * l?F(?) bean:"2005/01/01"<br>
 *         (?) va:not null<br>
 *         (?) field:not null<br>
 *                var:datePattern="yyyy/MM/dd"<br>
 *                var:datePatternStrict="yyyy/MM/dd"<br>
 *                var:startDate="2004/01/01"<br>
 *                var:endDate="abc"<br>
 *                Msg("message","message")<br>
 *         (?) errors:not null<br>
 *                (vf)<br>
 *         (?) validator:not null<br>
 *         (?) request:not null<br>
 *                Locale=JAPANESE<br>
 *
 * <br>
 * l?F(l) boolean:false<br>
 *         (?) errors:ActionMessage("message")<br>
 *
 * <br>
 * datePattern?AdatePatternStrict??ttH?[}bgw?A
 * fieldendDatet???AG?[?bZ?[W?A
 * falsepmF?B
 * <br>
 *
 * @throws Exception ?\bh?O
 */
public void testValidateDateRange24() throws Exception {
    //eXgf?[^?
    // ++++ beanIuWFNg ++++
    String bean = "2005/01/01";
    // ++++ ??IuWFNg
    ValidatorAction va = new ValidatorAction();
    va.setName("message");
    // ++++ ?tB?[h?
    Field field = new Field();
    Var var = new Var();
    var.setName("datePattern");
    var.setValue("yyyy/MM/dd");
    field.addVar(var);
    var = new Var();
    var.setName("datePatternStrict");
    var.setValue("yyyy/MM/dd");
    field.addVar(var);
    var = new Var();
    var.setName("startDate");
    var.setValue("2004/01/01");
    field.addVar(var);
    var = new Var();
    var.setName("endDate");
    var.setValue("abc");
    field.addVar(var);
    // ?bZ?[W?
    Msg msg = new Msg();
    msg.setKey("message");
    msg.setName("message");
    msg.setResource(false);
    field.addMsg(msg);
    // G?[?
    ActionMessages errors = new ActionMessages();
    // [HTTPNGXg
    MockHttpServletRequest request = new MockHttpServletRequest();
    request.setLocale(Locale.JAPANESE);
    // ValidatorResourcesCX^X
    ValidatorResources validatorResources = new ValidatorResources();
    // ValidatorCX^X
    Validator validator = new Validator(validatorResources);

    // eXg?s
    boolean result = FieldChecksEx.validateDateRange(bean, va, field, errors, validator, request);
    // eXgmF
    // falsep?B
    assertFalse(result);
    // G?[?1??B
    assertEquals(1, errors.size());

    // ?bZ?[WIuWFNgmF
    Iterator it = errors.get();
    ActionMessage message = (ActionMessage) it.next();
    assertEquals("message", message.getKey());
}

From source file:jp.terasoluna.fw.web.struts.form.FieldChecksExTest06.java

/**
 * testValidateArraysIndex24()// ww  w.  j ava 2 s . c  o  m
 * <br><br>
 *
 * (??n)
 * <br>
 * _?FF
 * <br><br>
 * l?F(?) bean:*<br>
 *         (?) va:6S??<br>
 *                name?F"numberArray"<br>
 *         (?) field:property?FnoIndexedListProperty<br>
 *         (?) errors:not null<br>
 *                (vf)<br>
 *         (?) validator:not null<br>
 *         (?) request:not null<br>
 *         (?) session:not null<br>
 *         (?) ActionForm:noIndexedListPropertytB?[h<br>
 *                ?<br>
 *
 * <br>
 * l?F(l) boolean:true<br>
 *         (?) errors:not null<br>
 *                    (vf)<br>
 *
 * <br>
 * ??tB?[h????AtruemF?B
 * <br>
 *
 * @throws Exception ?\bh?O
 */
public void testValidateArraysIndex24() throws Exception {
    //eXgf?[^?
    // ++++ beanIuWFNg ++++
    String bean = null;

    // ++++ ??IuWFNg
    ValidatorAction va = new ValidatorAction();
    va.setMethodParams(this.validClassStr);
    va.setName("numberArray");

    // ++++ ?tB?[h?
    Field field = new Field();
    field.setProperty("noIndexedListProperty");

    // G?[?
    ActionMessages errors = new ActionMessages();
    // [HTTPNGXg
    FieldChecksEx_HttpServletRequestImpl01 request = new FieldChecksEx_HttpServletRequestImpl01();
    ActionMappingEx mapping = new ActionMappingEx();
    mapping.setName("logon");
    request.setAttribute(Globals.MAPPING_KEY, mapping);
    MockHttpSession session = new MockHttpSession();
    String[] testArray = { null };
    form.setStringArray(testArray);
    session.setAttribute("logon", form);
    request.setSession(session);

    // ValidatorResourcesCX^X
    ValidatorResources validatorResources = new ValidatorResources();
    // ValidatorCX^X
    Validator validator = new Validator(validatorResources);

    // eXg?s
    boolean result = FieldChecksEx.validateArraysIndex(bean, va, field, errors, validator, request);
    // eXgmF
    // truep?B
    assertTrue(result);
    // G?[??B
    assertTrue(errors.isEmpty());

}

From source file:jp.terasoluna.fw.web.struts.form.FieldChecksExTest09.java

/**
 * testValidateDateRange25()//from  www  . jav  a2s .  c  o m
 * <br><br>
 *
 * (??n)
 * <br>
 * _?FF
 * <br><br>
 * l?F(?) bean:"2005/01/02"<br>
 *         (?) va:not null<br>
 *         (?) field:not null<br>
 *                var:datePattern="yyyy/MM/dd"<br>
 *                var:datePatternStrict="yyyy/MM/dd"<br>
 *                var:startDate="2004/01/01"<br>
 *                var:endDate="2005/1/1"<br>
 *                Msg("message","message")<br>
 *         (?) errors:not null<br>
 *                (vf)<br>
 *         (?) validator:not null<br>
 *         (?) request:not null<br>
 *                Locale=JAPANESE<br>
 *
 * <br>
 * l?F(l) boolean:false<br>
 *         (?) errors:ActionMessage("message")<br>
 *
 * <br>
 * beant?AendDatewt???A
 * G?[?bZ?[W?AfalsepmF?B
 * <br>
 *
 * @throws Exception ?\bh?O
 */
public void testValidateDateRange25() throws Exception {
    //eXgf?[^?
    // ++++ beanIuWFNg ++++
    String bean = "2005/01/02";
    // ++++ ??IuWFNg
    ValidatorAction va = new ValidatorAction();
    va.setName("message");
    // ++++ ?tB?[h?
    Field field = new Field();
    Var var = new Var();
    var.setName("datePattern");
    var.setValue("yyyy/MM/dd");
    field.addVar(var);
    var = new Var();
    var.setName("datePatternStrict");
    var.setValue("yyyy/MM/dd");
    field.addVar(var);
    var = new Var();
    var.setName("startDate");
    var.setValue("2004/01/01");
    field.addVar(var);
    var = new Var();
    var.setName("endDate");
    var.setValue("2005/1/1");
    field.addVar(var);
    // ?bZ?[W?
    Msg msg = new Msg();
    msg.setKey("message");
    msg.setName("message");
    msg.setResource(false);
    field.addMsg(msg);
    // G?[?
    ActionMessages errors = new ActionMessages();
    // [HTTPNGXg
    MockHttpServletRequest request = new MockHttpServletRequest();
    request.setLocale(Locale.JAPANESE);
    // ValidatorResourcesCX^X
    ValidatorResources validatorResources = new ValidatorResources();
    // ValidatorCX^X
    Validator validator = new Validator(validatorResources);

    // eXg?s
    boolean result = FieldChecksEx.validateDateRange(bean, va, field, errors, validator, request);
    // eXgmF
    // falsep?B
    assertFalse(result);
    // G?[?1??B
    assertEquals(1, errors.size());

    // ?bZ?[WIuWFNgmF
    Iterator it = errors.get();
    ActionMessage message = (ActionMessage) it.next();
    assertEquals("message", message.getKey());
}

From source file:jp.terasoluna.fw.web.struts.form.FieldChecksExTest06.java

/**
 * testValidateArraysIndex25()/*from w  w  w  . jav  a2 s  .  com*/
 * <br><br>
 *
 * (??n)
 * <br>
 * _?FF
 * <br><br>
 * l?F(?) bean:*<br>
 *         (?) va:methodParams?F6S??<br>
 *                name?F"minLengthArray"<br>
 *         (?) field:property="row.values"<br>
 *                var:minlength="3"<br>
 *                arg:position="0",key="##INDEX",<br>
 *                  resource="false"<br>
 *                arg:position="1",key="${var:minlength}",<br>
 *                  resource="false"<br>
 *                msg:key="minLengthArray",name="minLengthArray"<br>
 *         (?) errors:not null<br>
 *                (vf)<br>
 *         (?) validator:not null<br>
 *         (?) request:ANVtH?[?F"logon"<br>
 *         (?) session:L?[?F"logon"l<br>
 *                ActionFormIuWFNg<br>
 *         (?) ActionForm:JavaBean row<br>
 *                 + String[] values = {<br>
 *                     "a", "bbbb","cc"<br>
 *                }<br>
 *         (?) ?bZ?[W\?[X:message={0},{1}<br>
 *
 * <br>
 * l?F(l) boolean:false<br>
 *         (?) errors:ActionMessage(<br>
 *                      "minLengthArray",<br>
 *                      arg{"2","3"})<br>
 *
 * <br>
 * ??lANVtH?[lXgv?peB???A????smF?B
 * <br>
 *
 * @throws Exception ?\bh?O
 */
@SuppressWarnings("deprecation")
public void testValidateArraysIndex25() throws Exception {
    //eXgf?[^?
    // ++++ beanIuWFNg ++++
    String bean = null;

    // ++++ ??IuWFNg
    ValidatorAction va = new ValidatorAction();
    va.setMethodParams(this.validClassStr);
    va.setName("minLengthArray");

    // ++++ ?tB?[h?
    Field field = new Field();
    field.setProperty("row.values");
    Var var = new Var();
    var.setName("minlength");
    var.setValue("3");
    field.addVar(var);
    Arg arg0 = new Arg();
    arg0.setPosition(0);
    arg0.setKey("##INDEX");
    arg0.setResource(false);
    //arg0.setName("minLengthArray");
    field.addArg(arg0);
    Arg arg1 = new Arg();
    arg1.setPosition(1);
    arg1.setKey("${var:minlength}");
    arg1.setResource(false);
    //arg1.setName("minLength");
    field.addArg(arg1);
    Msg msg = new Msg();
    msg.setKey("minLengthArray");
    msg.setName("minLengthArray");
    field.addMsg(msg);
    UTUtil.invokePrivate(field, "process", Map.class, Map.class, new HashMap(), new HashMap());

    // G?[?
    ActionMessages errors = new ActionMessages();
    // [HTTPNGXg
    FieldChecksEx_HttpServletRequestImpl01 request = new FieldChecksEx_HttpServletRequestImpl01();
    ActionMappingEx mapping = new ActionMappingEx();
    mapping.setName("logon");
    request.setAttribute(Globals.MAPPING_KEY, mapping);
    MockHttpSession session = new MockHttpSession();
    FieldChecksEx_JavaBeanStub01 row = new FieldChecksEx_JavaBeanStub01();
    String[] values = { "a", "bbbb", "cc" };
    row.values = values;
    form.setRow(row);
    session.setAttribute("logon", form);
    request.setSession(session);

    FieldChecksEx_MessageResourcesImpl01 messageResources = new FieldChecksEx_MessageResourcesImpl01(null,
            null);
    messageResources.message = "{0},{1}";
    request.setAttribute(Globals.MESSAGES_KEY, messageResources);

    // ValidatorResourcesCX^X
    ValidatorResources validatorResources = new ValidatorResources();
    // ValidatorCX^X
    Validator validator = new Validator(validatorResources);

    // eXg?s
    boolean result = FieldChecksEx.validateArraysIndex(bean, va, field, errors, validator, request);
    // eXgmF
    // falsep?B
    assertFalse(result);
    // G?[?1??B
    assertEquals(2, errors.size());
    Iterator it = errors.get();
    ActionMessage message = (ActionMessage) it.next();
    assertEquals("minLengthArray", message.getKey());
    assertEquals("1", message.getValues()[0]);
    assertEquals("3", message.getValues()[1]);
    message = (ActionMessage) it.next();
    assertEquals("minLengthArray", message.getKey());
    assertEquals("3", message.getValues()[0]);
    assertEquals("3", message.getValues()[1]);

}