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. > >
<<330.png>>
