That looks like *exactly* what I was looking for.  I just could not
for the life of me find it by searching around for it.  I remembered
seeing it in an earlier project I poked around in and not fully
getting it at the time (and also not remembering how the mechanism
worked).

Will this also allow me to provide a different implementation for
ValidatorFactory as well?  Will a GWT.create() properly trigger inside
of a super ValidatorFactory?

Thanks!

On Jan 27, 6:12 am, Thomas Broyer <[email protected]> wrote:
> On Jan 27, 1:51 am, "chris.ruffalo" <[email protected]> wrote:
>
>
>
>
>
> > Hello, list!
>
> > I'm trying to get back into writing my JSR-303 compliant validation
> > framework for GWT for a couple of reasons.  (http://code.google.com/p/
> > gwt-validation)
>
> > 1) They (the JSR group) have released an updated/final proposition.
> > They have also released source code!
> > 2) I have some free development time and the version 1 isn't something
> > I'm terribly proud of since I hacked it together for school.
>
> > I'm taking the src-jar from the JSR-303 group, unpacking it,
> > commenting out the bits that don't work in GWT (java.util.Locale and
> > java.io.InputStream), and just putting it alongside my code in
> > Eclipse.  I have a feeling that this is not the right way to do it,
> > nor is it the way I'd like to.  I would like to:
>
> > 1) Create an implementation of java.util.Locale and
> > java.io.InputStream for GWT to use as a reference at compile time.
> > 2) Reference the src-jar directly by using a "javax.validation"
> > package with the Validation.gwt.xml in it that references the source
> > path of "/".
>
> > If I do this, everything should work properly with the added benefit
> > that I become JSR compliant (to those interfaces) and other people can
> > use my code alongside whatever validation package they're using with
> > (hopefully) minimal side effects.
>
> > I've also got another problem... I would really like one code path, so
> > that the developer using my implementation can call some code like:
>
> > "Validator validator = ValidationFactory.getValidator();"
>
> > Instead of having to use two versions, one for pure java and one for
> > hosted:
>
> > "Validator validator = new Validator();"
> > "Validator validator = GWT.create(Validatable.class);"
>
> > I'm planning on generating two things:
>
> > 1) The metadata packages for each class that has validation
> > annotations.
> > 2) The runtime-invokers for each of the classes that has validation
> > annotations.
>
> > Obviously, the reflection code will not work on the GWT side so
> > something like this will not work because Validator.class has calls to
> > reflection code:
>
> > public class ValidationFactory {
>
> >   public static Validator getValidator() {
>
> >     if(GWT.isHosted() || GWT.isScript()) {
> >       return GWT.create(Validatable.class);
> >     } else {
> >       return new Validator();
> >     }
>
> >   }
>
> > }
>
> <super-source/> to the rescue! (for your 2 issues)
>
> (have a look at the com.google.gwt.junit.* module for an example, and
> remember that the code is split into the src/ and super/ directories
> in SVN)

-- 
You received this message because you are subscribed to the Google Groups 
"Google Web Toolkit" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/google-web-toolkit?hl=en.

Reply via email to