bval-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Pedro QuiƱonez <pedro.quino...@gmail.com>
Subject Bean Validation Issue....
Date Thu, 17 May 2012 17:04:11 GMT
hi team members,

Over last date I tried to use the Apache Bean Validation with two beans, A
extends the attributes and methods from B. The constraint configuration in
the contraint.xml file, use constraints over the A class fields and methods
that extend from B class.

At the moment to execute the example i get the next exception:

*Caused by: javax.validation.ValidationException:
gsa.dsc.jsr303.bean.module.MM_SA_DataBean does not contain the fieldType
acct_stat_cd*
    at
org.apache.bval.jsr303.xml.ValidationMappingParser.processFieldLevel(ValidationMappingParser.java:360)
    at
org.apache.bval.jsr303.xml.ValidationMappingParser.processMappingConfig(ValidationMappingParser.java:96)
    at
org.apache.bval.jsr303.ApacheValidatorFactory.configure(ApacheValidatorFactory.java:121)
    at
org.apache.bval.jsr303.ApacheValidatorFactory.<init>(ApacheValidatorFactory.java:105)

The question is, the bean validation support validations over fields and
methods that are extends from one class base?

public class *BaseDB2DataBean *{

    /** Variable estatus cuenta */
    protected String acct_stat_cd = null;

}


*MM_SA_DataBean* extends *BaseDB2DataBean*{

}

*sa-constraints.xml*
    <bean class="gsa.dsc.jsr303.bean.module.MM_SA_DataBean">

                <field name="acct_stat_cd">

            <constraint annotation="javax.validation.constraints.NotNull" />

                    <constraint
annotation="javax.validation.constraints.Pattern">
                        <element name="regexp">
                            <value>AC</value>
                        </element>
                    </constraint>
                </field>
     </bean>



    public static void main(String[] args) {
        Validator validator =
Jsr303ValidatorFactory.SINGLE_INSTANCE.getValidator();

        MM_SA_DataBean bean = new MM_SA_DataBean();

        bean.setAcct_stat_cd("DE");
        bean.setPlattform("MOVISTAR");
        bean.setTechnology("4G");

        Set<ConstraintViolation<MM_SA_DataBean>> result = null;
        Iterator<ConstraintViolation<MM_SA_DataBean>> it = null;

            long init = System.currentTimeMillis();
            result = validator.validate(bean);
            long end = System.currentTimeMillis();

            System.out.println("Tiempo ejecuciĆ³n: [" + (end - init)+ "]");

        it = result.iterator();

        while(it.hasNext()){
            ConstraintViolation<MM_SA_DataBean> bean1 = it.next();
            System.out.println("Valor:" + bean1.getInvalidValue() + "
Mensaje:" + bean1.getMessage());
        }
    }

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message