Hi Rudy,

Nice idea!

If we don't want to put it directly into CODI, we could create a CODI add-on
for it in ext-val, because CODI and ext-cdi kinda overlap here.

Regards,
Jakob

2010/11/22 Gerhard <[email protected]>

> hi rudy,
>
> basically it's a nice idea.
> for further discussions we would need your implementation.
>
> regards,
> gerhard
>
> http://www.irian.at
>
> Your JSF powerhouse -
> JSF Consulting, Development and
> Courses in English and German
>
> Professional Support for Apache MyFaces
>
>
>
> 2010/11/22 Rudy De Busscher <[email protected]>
>
> Hi all,
>>
>> BeanValidation is promoted as *THE validation framework* in the EE
>> environment.  it can already be used in JPA and JSF.  In the future they
>> plan to have it also in other areas like JAX-RS.
>>
>> Another area where we could start using it, is with CDI.  With the
>> creation of an Interceptor, it is possible to develop a mechanism that allow
>> validation of method parameter values.
>>
>> Aparently Apache BVal is taking this up (thx Gerhard for the input, see
>> here
>> http://carinae.net/2010/04/automatic-validation-method-calls-with-jsr-303-appendix-c/),
>>  but a generic solution could be made available in Codi.  Since there is
>> no method forseen in the BeanValidation spec to validate a value based on an
>> annotation (only methods for validating a property within a class or a
>> complete object), I was forced to create a hack with dynamically created
>> classes.
>>
>> But in a POC I was able to use the following declarations
>>
>> *   @ParameterValidation
>>    public String sayHelloMinimumLength(@Size(min = 3) String name) {
>>        return "Hello "+name;
>>    }
>>
>>    @ParameterValidation
>>    public String sayHello(@NotNull @Valid Person person) {
>>        return "Hello "+person.getLastName();
>>    }*
>>
>> And I did some small (but successful) tests in the following environments
>> - Plain SE (JUnit tests)
>> - Tomcat 6
>> - JBoss 6 (M5)
>>
>> The performance is also acceptable.  Executing 1000 tests on the
>> sayHelloMinimumLength method as described above, adds about 300 ms (in
>> total, so 0.3 ms per call).
>>
>> So with this message I would like to have the opinion of the community
>> about adding such functionality to Codi.  I think we have 3 options:
>>
>> 1) Add it to Codi itself (I think the BV module is the best candidate)
>> 2) Put the logic in an add-on because it is useful but not all projects
>> can/will use it.
>> 3) Spend our time to other topics because it is useless. [?]
>>
>> If you like the idea, I do some further work on the code an supply a patch
>> or the add-on.
>>
>> Regards
>> Rudy.
>>
>>
>


-- 
Jakob Korherr

blog: http://www.jakobk.com
twitter: http://twitter.com/jakobkorherr
work: http://www.irian.at

<<330.png>>

Reply via email to