bval-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Matt Benson <gudnabr...@gmail.com>
Subject Re: Location of validation.xml
Date Thu, 20 Mar 2014 15:19:55 GMT
You mean just because of the missing executable info, or is there
something more I'm missing? The 1.1 cut of ConfigurationImpl currently
defines #setExecutableValidation() and if we continue down this road I
think we should be flush if we merely add support for
#setDefaultValidatedExecutableTypes() there as well.

Matt

On Thu, Mar 20, 2014 at 10:17 AM, Michael Blyakher
<michael.blyakher@gmail.com> wrote:
> So doing that means I will be loosing all of the integration that bval does
> with CDI. Does that mean I need to do the CDI pieces outside of this bval
> implementation? That has been my whole driver for this discussion...
>
>
> On Thu, Mar 20, 2014 at 10:12 AM, Romain Manni-Bucau <rmannibucau@gmail.com>
> wrote:
>>
>> Yes, basically use your own representation of validation.xml and
>> create the Configuration respecting what is in validation.xml (kind of
>> custom to bval conversion). That's what we do (and we'll do) in tomee
>> validationbuilder
>> Romain Manni-Bucau
>> Twitter: @rmannibucau
>> Blog: http://rmannibucau.wordpress.com/
>> LinkedIn: http://fr.linkedin.com/in/rmannibucau
>> Github: https://github.com/rmannibucau
>>
>>
>>
>> 2014-03-20 15:50 GMT+01:00 Michael Blyakher <michael.blyakher@gmail.com>:
>> > Providing a Configuration<?> implies that I am loading the classes from
>> > validation.xml myself. This circumvents the bval instantiation and
>> > integration of CDI if it is available, no?
>> >
>> >
>> > On Thu, Mar 20, 2014 at 9:35 AM, Romain Manni-Bucau
>> > <rmannibucau@gmail.com>wrote:
>> >
>> >> Providing a Configuration<?> impl bval will get all it needs to
>> >> execute. For executable stuff there is a property you can add but not
>> >> sure it will be needed for you.
>> >> Romain Manni-Bucau
>> >> Twitter: @rmannibucau
>> >> Blog: http://rmannibucau.wordpress.com/
>> >> LinkedIn: http://fr.linkedin.com/in/rmannibucau
>> >> Github: https://github.com/rmannibucau
>> >>
>> >>
>> >>
>> >> 2014-03-20 15:22 GMT+01:00 Michael Blyakher
>> >> <michael.blyakher@gmail.com>:
>> >> > Romain - I don't quite understand what you mean by using
>> >> > ConfigurationImpl.java is enough. I'm not finding that I can do what
>> >> > I
>> >> > described with it. Can you elaborate on what you mean?
>> >> >
>> >> >
>> >> > On Thu, Mar 20, 2014 at 12:56 AM, Romain Manni-Bucau
>> >> > <rmannibucau@gmail.com>wrote:
>> >> >
>> >> >> Guys it is not needed normally and using
>> >> >>
>> >> >>
>> >>
>> >> https://svn.apache.org/repos/asf/bval/branches/bval-11/bval-jsr/src/main/java/org/apache/bval/jsr/ConfigurationImpl.javais
>> >> >> enough
>> >> >> Le 19 mars 2014 23:47, "Matt Benson" <gudnabrsam@gmail.com> a écrit
>> >> >> :
>> >> >>
>> >> >> > No, but if you would file a JIRA issue it'd make us feel popular.
>> >> >> > ;)
>> >> >> >
>> >> >> > Thanks,
>> >> >> > Matt
>> >> >> >
>> >> >> > On Wed, Mar 19, 2014 at 5:44 PM, Michael Blyakher
>> >> >> > <michael.blyakher@gmail.com> wrote:
>> >> >> > > Right after sending of my last email I started wondering this
>> >> approach
>> >> >> of
>> >> >> > > picking off the mappings in ValidationConfigType and calling
>> >> >> > #addMapping()
>> >> >> > > would solve my problem and I'm pretty sure that it will. Glad we
>> >> got to
>> >> >> > the
>> >> >> > > same solution!
>> >> >> > >
>> >> >> > > Is there something tracking this work already that I can follow?
>> >> >> > >
>> >> >> > >
>> >> >> > > On Wed, Mar 19, 2014 at 5:36 PM, Matt Benson
>> >> >> > > <gudnabrsam@gmail.com>
>> >> >> > wrote:
>> >> >> > >>
>> >> >> > >> Well, I haven't yet seen anything that tells me that it would
>> >> >> > >> be
>> >> >> > >> correct for a mapping found in WEB-INF/validation.xml to be
>> >> resolved
>> >> >> > >> from the ServletContext as opposed to the classpath, but since
>> >> >> > >> in
>> >> an
>> >> >> > >> EE server the BV impl (here BVal) would live "above" the
>> >> application
>> >> >> > >> code there's a problem regardless in having BVal load the
>> >> >> > >> mapping
>> >> >> > >> resources, I think, because it won't have awareness of a given
>> >> >> > >> webapp's classloader.
>> >> >> > >>
>> >> >> > >> However, using Romain's approach of having the actual parsed
>> >> >> > >> JAXB
>> >> >> > >> ValidationConfigType object be passed to BVal would seem to
>> >> >> > >> take
>> >> care
>> >> >> > >> of your issue: the EE server could use JAXB to produce this
>> >> >> > >> from
>> >> >> > >> WEB-INF/validation.xml, then pick off the mapping elements,
>> >> >> > >> provide
>> >> >> > >> the modified ValidationConfigType object to the BV
>> >> >> > >> bootstrapping,
>> >> and
>> >> >> > >> call #addMapping() for the app-specific resource streams. How
>> >> >> > >> does
>> >> >> > >> that sound?
>> >> >> > >>
>> >> >> > >> Matt
>> >> >> > >>
>> >> >> > >> On Wed, Mar 19, 2014 at 5:25 PM, Michael Blyakher
>> >> >> > >> <michael.blyakher@gmail.com> wrote:
>> >> >> > >> > From an application perspective I understand that regardless
>> >> >> > >> > how
>> >> the
>> >> >> > >> > ValidatorFactory is built there would never be a desire to
>> >> >> > >> > ignore
>> >> >> > >> > mappings
>> >> >> > >> > files specified in validation.xml. The application already
>> >> >> > >> > knows
>> >> >> what
>> >> >> > it
>> >> >> > >> > wants and therefor anything specified should be used from
>> >> >> > >> > both
>> >> ways
>> >> >> to
>> >> >> > >> > specify mappings.
>> >> >> > >> >
>> >> >> > >> > In an EE app server environment, the server needs to make the
>> >> >> > >> > Validator/ValidatorFactory for each module available through
>> >> >> injection
>> >> >> > >> > or
>> >> >> > >> > lookup. This means the app server is bootstrapping the
>> >> >> > ValidatorFactory
>> >> >> > >> > itself, using the module deployment descriptors
>> >> >> > >> > (validation.xml)
>> >> to
>> >> >> > >> > create
>> >> >> > >> > it before passing it back to the application. With this in
>> >> >> > >> > mind,
>> >> the
>> >> >> > app
>> >> >> > >> > server needs to be able to direct bval to specify that the
>> >> location
>> >> >> of
>> >> >> > >> > validation.xml will be under WEB-INF for a web module (if it
>> >> >> > >> > was
>> >> >> > >> > included
>> >> >> > >> > by the app developer). As we discussed earlier, bval doesn't
>> >> handle
>> >> >> > >> > this.
>> >> >> > >> >
>> >> >> > >> > Taking a step back to 1.0 this wasn't an issue, because as
>> >> >> > >> > long
>> >> as
>> >> >> the
>> >> >> > >> > EE
>> >> >> > >> > app server could handle parsing validation.xml since it knows
>> >> >> > where/how
>> >> >> > >> > to
>> >> >> > >> > find it and programatically bootstrap the Configuration, it
>> >> >> > >> > could
>> >> >> then
>> >> >> > >> > call
>> >> >> > >> > ignoreXMLConfiguration and nothing would be lost. Now with
>> >> >> > >> > 1.1,
>> >> all
>> >> >> > CDI
>> >> >> > >> > integration bval does is lost if the EE app server follows
>> >> >> > >> > this
>> >> >> > pattern.
>> >> >> > >> > Thus, to utilize the CDI integration piece, bval needs to
>> >> >> > >> > create
>> >> all
>> >> >> > of
>> >> >> > >> > the
>> >> >> > >> > configuration components, but that also means that it needs
>> >> >> > >> > to
>> >> parse
>> >> >> > >> > validation.xml (or have it be provided to it).
>> >> >> > >> >
>> >> >> > >> > Now, if something (method TBD) was done to find
>> >> >> WEB-INF/validation.xml
>> >> >> > >> > by
>> >> >> > >> > bval, how then would it go about trying to find the mapping
>> >> files?
>> >> >> > This
>> >> >> > >> > is
>> >> >> > >> > done the same way that validation.xml was looked for
>> >> >> > >> > originally
>> >> >> before
>> >> >> > >> > this
>> >> >> > >> > workaround/solution, which gets us into the same situation
>> >> >> > >> > where
>> >> we
>> >> >> > >> > couldn't find WEB-INF/validation.xml if the mapping file is
>> >> >> > >> > WEB-INF/my-mapping.xml (I'm curious where the spec indicates
>> >> >> > >> > that
>> >> >> this
>> >> >> > >> > location isn't compliant).
>> >> >> > >> >
>> >> >> > >> > So in short, it's not that I want to be able to ignore
>> >> >> > >> > mappings
>> >> >> > >> > altogether.
>> >> >> > >> > I was just thinking that if WEB-INF is a valid location for
>> >> >> > >> > the
>> >> >> > mapping
>> >> >> > >> > file to live, bval won't be able to find it either, so even
>> >> >> > >> > if a
>> >> >> > >> > workaround
>> >> >> > >> > is provided for finding validation.xml, any mappings
>> >> >> > >> > specified in
>> >> >> xml
>> >> >> > >> > will
>> >> >> > >> > not be found either. The idea of being able to
>> >> >> > >> > programatically
>> >> >> specify
>> >> >> > >> > that
>> >> >> > >> > xml mappings should be ignored is so that the EE app server
>> >> >> > >> > could
>> >> >> > >> > convert
>> >> >> > >> > them into InputStream's and then somehow indicate to bval
>> >> >> > >> > that it
>> >> >> > >> > doesn't
>> >> >> > >> > need to do anything with the xml anymore.
>> >> >> > >> >
>> >> >> > >> > Hopefully all of that rambling makes sense and clarifies the
>> >> problem
>> >> >> > I'm
>> >> >> > >> > butting into :)
>> >> >> > >> >
>> >> >> > >> >
>> >> >> > >> >
>> >> >> > >> >
>> >> >> > >> > On Wed, Mar 19, 2014 at 4:28 PM, Romain Manni-Bucau
>> >> >> > >> > <rmannibucau@gmail.com>wrote:
>> >> >> > >> >
>> >> >> > >> >> I think mapping in web-inf is not spec compliant
>> >> >> > >> >>
>> >> >> > >> >> That said calling ignoreXmlConfig you can already do what
>> >> >> > >> >> you
>> >> want
>> >> >> > >> >>
>> >> >> > >> >> Finally i think the spi or assimilated  is useless and using
>> >> api +
>> >> >> > >> >> maybe
>> >> >> > >> >> few custom properties should be enough so i wouldnt add it
>> >> before
>> >> >> it
>> >> >> > >> >> sould
>> >> >> > >> >> be mandatory. It generally breaks the framework which is not
>> >> enough
>> >> >> > >> >> tested
>> >> >> > >> >> then.
>> >> >> > >> >> Le 19 mars 2014 22:04, "Michael Blyakher" <
>> >> >> > michael.blyakher@gmail.com>
>> >> >> > >> >> a
>> >> >> > >> >> écrit :
>> >> >> > >> >>
>> >> >> > >> >> > I'm prototyping the development efforts for pulling in the
>> >> >> > >> >> > 1.1
>> >> >> > >> >> > implementation into an EE app server, so I need be able to
>> >> press
>> >> >> > the
>> >> >> > >> >> right
>> >> >> > >> >> > buttons on bval so that it is able to handle both the
>> >> >> > >> >> > mappings
>> >> >> > files
>> >> >> > >> >> > and
>> >> >> > >> >> > validation.xml. (I won't be able to control how an
>> >> >> > >> >> > application
>> >> >> > >> >> > specifies
>> >> >> > >> >> > it's mappings, but I need to ensure that specifying them
>> >> >> > >> >> > in
>> >> xml
>> >> >> > under
>> >> >> > >> >> > WEB-INF works)
>> >> >> > >> >> >
>> >> >> > >> >> > My concern was that I was going to run into the same
>> >> >> > >> >> > issues
>> >> >> loading
>> >> >> > >> >> > the
>> >> >> > >> >> > mappings files as with validation.xml from WEB-INF unless
>> >> >> > >> >> > the
>> >> >> > >> >> > proposed
>> >> >> > >> >> > change somehow provided a way to tell bval to skip using
>> >> >> > >> >> > the
>> >> >> > mappings
>> >> >> > >> >> found
>> >> >> > >> >> > in the provided parsed validation.xml and only use those
>> >> provided
>> >> >> > by
>> >> >> > >> >> > calling Configuration#addMapping(). Otherwise I would call
>> >> >> > >> >> > Configuration#addMapping(), but bval would still try to
>> >> >> > >> >> > find
>> >> the
>> >> >> > >> >> > mappings
>> >> >> > >> >> > resources itself and fail to do so. Does that make sense?
>> >> >> > >> >> >
>> >> >> > >> >> >
>> >> >> > >> >> > On Wed, Mar 19, 2014 at 12:32 PM, Matt Benson <
>> >> >> > gudnabrsam@gmail.com>
>> >> >> > >> >> > wrote:
>> >> >> > >> >> >
>> >> >> > >> >> > > XML constraint mapping files are separate from xml
>> >> validation
>> >> >> > >> >> > > config.
>> >> >> > >> >> > > So you either provide them via
>> >> >> > >> >> > > Configuration#addMapping()
>> >> or in
>> >> >> > >> >> > > your
>> >> >> > >> >> > > validation.xml (or whatever you override with).
>> >> >> > >> >> > >
>> >> >> > >> >> > > Matt
>> >> >> > >> >> > >
>> >> >> > >> >> > > On Wed, Mar 19, 2014 at 11:39 AM, Michael Blyakher
>> >> >> > >> >> > > <michael.blyakher@gmail.com> wrote:
>> >> >> > >> >> > > > So if I understand this latest proposal correctly, any
>> >> >> > >> >> > > > bootstrapper
>> >> >> > >> >> (EE
>> >> >> > >> >> > > > servers specifically) will be able to provide the
>> >> >> > >> >> > > > parsed
>> >> >> > >> >> validation.xml
>> >> >> > >> >> > > > configuration to the ApacheValidatorConfiguration?
>> >> >> > >> >> > > >
>> >> >> > >> >> > > > If so, how will this work with the mappings config
>> >> >> > >> >> > > > files?
>> >> If
>> >> >> > for
>> >> >> > >> >> > example
>> >> >> > >> >> > > I
>> >> >> > >> >> > > > have my constraints defined in
>> >> >> > >> >> > > > WEB-INF/my-mappings.xml,
>> >> while
>> >> >> > >> >> > > bootstrapping
>> >> >> > >> >> > > > will I still be able to set the InputStream for that
>> >> >> > >> >> > > > file
>> >> >> > without
>> >> >> > >> >> bval
>> >> >> > >> >> > > > trying to do it as well (and not finding this resource
>> >> >> > >> >> > > > at
>> >> >> this
>> >> >> > >> >> > location)?
>> >> >> > >> >> > > > Previously this could be accomplished by specifying
>> >> >> > >> >> > > > Configuration.ignoreXMLConfiguration, but I don't
>> >> >> > >> >> > > > quite
>> >> see
>> >> >> how
>> >> >> > >> >> > > > that
>> >> >> > >> >> > > would
>> >> >> > >> >> > > > work in this case.
>> >> >> > >> >> > > >
>> >> >> > >> >> > > > Thanks,
>> >> >> > >> >> > > > Mike
>> >> >> > >> >> > > >
>> >> >> > >> >> > > >
>> >> >> > >> >> > > > On Wed, Mar 19, 2014 at 11:11 AM, Romain Manni-Bucau <
>> >> >> > >> >> > > rmannibucau@gmail.com>
>> >> >> > >> >> > > > wrote:
>> >> >> > >> >> > > >>
>> >> >> > >> >> > > >> Well if we can avoid to fork/branch tomee before next
>> >> >> release
>> >> >> > >> >> > > >> would
>> >> >> > >> >> be
>> >> >> > >> >> > > >> awesome but yes it sonds reasonable and avoiding jvm
>> >> >> > >> >> > > >> SPI
>> >> is
>> >> >> > >> >> > > >> awesome
>> >> >> > >> >> > > >> Romain Manni-Bucau
>> >> >> > >> >> > > >> Twitter: @rmannibucau
>> >> >> > >> >> > > >> Blog: http://rmannibucau.wordpress.com/
>> >> >> > >> >> > > >> LinkedIn: http://fr.linkedin.com/in/rmannibucau
>> >> >> > >> >> > > >> Github: https://github.com/rmannibucau
>> >> >> > >> >> > > >>
>> >> >> > >> >> > > >>
>> >> >> > >> >> > > >>
>> >> >> > >> >> > > >> 2014-03-19 17:10 GMT+01:00 Matt Benson <
>> >> >> gudnabrsam@gmail.com
>> >> >> > >:
>> >> >> > >> >> > > >> > Actually, come to think of it, we don't have to do
>> >> >> > >> >> > > >> > it
>> >> as a
>> >> >> > >> >> > "services"
>> >> >> > >> >> > > >> > SPI at all; we can just define the interface and
>> >> >> > >> >> > > >> > have
>> >> it
>> >> >> be
>> >> >> > a
>> >> >> > >> >> custom
>> >> >> > >> >> > > >> > config item for ApacheValidatorConfiguration. This
>> >> makes
>> >> >> it
>> >> >> > >> >> > > >> > more
>> >> >> > >> >> > > >> > explicit and TomEE can just specify when
>> >> >> > >> >> > > >> > bootstrapping--hopefully,
>> >> >> > >> >> > > >> > anyway. We'll see if there are any gotchas and
>> >> hopefully
>> >> >> we
>> >> >> > >> >> > > >> > can
>> >> >> > >> >> get
>> >> >> > >> >> > it
>> >> >> > >> >> > > >> > working in a TomEE branch or fork before we set it
>> >> >> > >> >> > > >> > in
>> >> >> stone.
>> >> >> > >> >> > > >> > Okay?
>> >> >> > >> >> > > >> >
>> >> >> > >> >> > > >> > Matt
>> >> >> > >> >> > > >> >
>> >> >> > >> >> > > >> > On Wed, Mar 19, 2014 at 11:06 AM, Matt Benson <
>> >> >> > >> >> gudnabrsam@gmail.com
>> >> >> > >> >> > >
>> >> >> > >> >> > > >> > wrote:
>> >> >> > >> >> > > >> >> Well, in that case I don't see how we can really
>> >> >> > >> >> > > >> >> go
>> >> wrong
>> >> >> > >> >> > > >> >> there.
>> >> >> > >> >> > I'll
>> >> >> > >> >> > > >> >> try to remember to do this as I'm hacking BVal in
>> >> >> > >> >> > > >> >> the
>> >> >> > coming
>> >> >> > >> >> weeks
>> >> >> > >> >> > > and
>> >> >> > >> >> > > >> >> maybe we can then see how it looks in TomEE.
>> >> >> > >> >> > > >> >>
>> >> >> > >> >> > > >> >> Matt
>> >> >> > >> >> > > >> >>
>> >> >> > >> >> > > >> >> On Wed, Mar 19, 2014 at 11:00 AM, Romain
>> >> >> > >> >> > > >> >> Manni-Bucau
>> >> >> > >> >> > > >> >> <rmannibucau@gmail.com> wrote:
>> >> >> > >> >> > > >> >>> that's what I was thinking about but when I
>> >> >> > >> >> > > >> >>> hacked
>> >> 1.1
>> >> >> > >> >> > > >> >>> branch I
>> >> >> > >> >> > was
>> >> >> > >> >> > > >> >>> really thinking adding it when integrating tomee
>> >> >> > >> >> > > >> >>> to
>> >> >> avoid
>> >> >> > a
>> >> >> > >> >> > useless
>> >> >> > >> >> > > or
>> >> >> > >> >> > > >> >>> wrong SPI.
>> >> >> > >> >> > > >> >>> Romain Manni-Bucau
>> >> >> > >> >> > > >> >>> Twitter: @rmannibucau
>> >> >> > >> >> > > >> >>> Blog: http://rmannibucau.wordpress.com/
>> >> >> > >> >> > > >> >>> LinkedIn: http://fr.linkedin.com/in/rmannibucau
>> >> >> > >> >> > > >> >>> Github: https://github.com/rmannibucau
>> >> >> > >> >> > > >> >>>
>> >> >> > >> >> > > >> >>>
>> >> >> > >> >> > > >> >>>
>> >> >> > >> >> > > >> >>> 2014-03-19 16:59 GMT+01:00 Matt Benson
>> >> >> > >> >> > > >> >>> <gudnabrsam@gmail.com>:
>> >> >> > >> >> > > >> >>>> So are you proposing the SPI look more like:
>> >> >> > >> >> > > >> >>>>
>> >> >> > >> >> > > >> >>>> public interface DefaultValidationConfigProvider
>> >> >> > >> >> > > >> >>>> {
>> >> >> > >> >> > > >> >>>>   org.apache.bval.jsr.xml.ValidationConfigType
>> >> >> > >> >> > > >> >>>> getDefaultValidationConfig();
>> >> >> > >> >> > > >> >>>> }
>> >> >> > >> >> > > >> >>>>
>> >> >> > >> >> > > >> >>>> ?
>> >> >> > >> >> > > >> >>>>
>> >> >> > >> >> > > >> >>>> Matt
>> >> >> > >> >> > > >> >>>>
>> >> >> > >> >> > > >> >>>> On Wed, Mar 19, 2014 at 10:57 AM, Romain
>> >> >> > >> >> > > >> >>>> Manni-Bucau
>> >> >> > >> >> > > >> >>>> <rmannibucau@gmail.com> wrote:
>> >> >> > >> >> > > >> >>>>> Cause:
>> >> >> > >> >> > > >> >>>>> 1) TomEE added some features relying on
>> >> >> > >> >> > > >> >>>>> internal
>> >> >> config
>> >> >> > >> >> > > >> >>>>> (placeholders etc)
>> >> >> > >> >> > > >> >>>>> 2) TomEE uses its own model for all EE
>> >> >> > >> >> > > >> >>>>> descriptors
>> >> >> > >> >> > > >> >>>>> whatever
>> >> >> > >> >> the
>> >> >> > >> >> > > spec
>> >> >> > >> >> > > >> >>>>> is
>> >> >> > >> >> > > >> >>>>>
>> >> >> > >> >> > > >> >>>>> That's not an issue on BVal side but it will
>> >> >> > >> >> > > >> >>>>> need
>> >> to
>> >> >> be
>> >> >> > >> >> > integrated
>> >> >> > >> >> > > >> >>>>> without forking as much as possible
>> >> >> > >> >> > > >> >>>>>
>> >> >> > >> >> > > >> >>>>> Romain Manni-Bucau
>> >> >> > >> >> > > >> >>>>> Twitter: @rmannibucau
>> >> >> > >> >> > > >> >>>>> Blog: http://rmannibucau.wordpress.com/
>> >> >> > >> >> > > >> >>>>> LinkedIn: http://fr.linkedin.com/in/rmannibucau
>> >> >> > >> >> > > >> >>>>> Github: https://github.com/rmannibucau
>> >> >> > >> >> > > >> >>>>>
>> >> >> > >> >> > > >> >>>>>
>> >> >> > >> >> > > >> >>>>>
>> >> >> > >> >> > > >> >>>>> 2014-03-19 16:52 GMT+01:00 Matt Benson
>> >> >> > >> >> > > >> >>>>> <gudnabrsam@gmail.com
>> >> >> > >> >> >:
>> >> >> > >> >> > > >> >>>>>> Why can't TomEE rely on BVal for parsing? We
>> >> should
>> >> >> > >> >> > > >> >>>>>> devise
>> >> >> > >> >> > > >> >>>>>> something
>> >> >> > >> >> > > >> >>>>>> as simple as possible, whatever the case.
>> >> >> > >> >> > > >> >>>>>>
>> >> >> > >> >> > > >> >>>>>> Matt
>> >> >> > >> >> > > >> >>>>>>
>> >> >> > >> >> > > >> >>>>>> On Wed, Mar 19, 2014 at 10:45 AM, Romain
>> >> Manni-Bucau
>> >> >> > >> >> > > >> >>>>>> <rmannibucau@gmail.com> wrote:
>> >> >> > >> >> > > >> >>>>>>> well this way we'll need another spi for
>> >> >> > >> >> > > >> >>>>>>> TomEE
>> >> which
>> >> >> > >> >> > > >> >>>>>>> can't
>> >> >> > >> >> > rely
>> >> >> > >> >> > > on
>> >> >> > >> >> > > >> >>>>>>> BVal for parsing. That's why I thought
>> >> >> > >> >> > > >> >>>>>>> sending
>> >> the
>> >> >> > >> >> > > >> >>>>>>> parsing
>> >> >> > >> >> > > result
>> >> >> > >> >> > > >> >>>>>>>
>> >> >> > >> >> > > >> >>>>>>>
>> >> >> > >> >> > > >> >>>>>>> BTW any urgence on it?
>> >> >> > >> >> > > >> >>>>>>> Romain Manni-Bucau
>> >> >> > >> >> > > >> >>>>>>> Twitter: @rmannibucau
>> >> >> > >> >> > > >> >>>>>>> Blog: http://rmannibucau.wordpress.com/
>> >> >> > >> >> > > >> >>>>>>> LinkedIn:
>> >> >> > >> >> > > >> >>>>>>> http://fr.linkedin.com/in/rmannibucau
>> >> >> > >> >> > > >> >>>>>>> Github: https://github.com/rmannibucau
>> >> >> > >> >> > > >> >>>>>>>
>> >> >> > >> >> > > >> >>>>>>>
>> >> >> > >> >> > > >> >>>>>>>
>> >> >> > >> >> > > >> >>>>>>> 2014-03-19 16:43 GMT+01:00 Matt Benson
>> >> >> > >> >> > > >> >>>>>>> <mbenson@apache.org
>> >> >> > >> >> >:
>> >> >> > >> >> > > >> >>>>>>>> I was thinking along the lines Michael says.
>> >> e.g.:
>> >> >> > >> >> > > >> >>>>>>>>
>> >> >> > >> >> > > >> >>>>>>>> public interface
>> >> >> > DefaultValidationConfigurationProvider
>> >> >> > >> >> > > >> >>>>>>>> {
>> >> >> > >> >> > > >> >>>>>>>>   InputStream
>> >> getDefaultValidationConfiguration();
>> >> >> > >> >> > > >> >>>>>>>> }
>> >> >> > >> >> > > >> >>>>>>>>
>> >> >> > >> >> > > >> >>>>>>>> Then we use ServiceLoader (functional
>> >> >> > >> >> > > >> >>>>>>>> equivalent
>> >> >> for
>> >> >> > >> >> > > >> >>>>>>>> BVal
>> >> >> > >> >> > 1.0,
>> >> >> > >> >> > > >> >>>>>>>> Java 5)
>> >> >> > >> >> > > >> >>>>>>>> to find any available implementations. If
>> >> >> > >> >> > > >> >>>>>>>> none
>> >> >> found,
>> >> >> > >> >> > > >> >>>>>>>> we
>> >> >> > >> >> fall
>> >> >> > >> >> > > >> >>>>>>>> back to:
>> >> >> > >> >> > > >> >>>>>>>>
>> >> >> > >> >> > > >> >>>>>>>> class
>> >> >> StandardDefaultValidationConfigurationProvider
>> >> >> > >> >> > implements
>> >> >> > >> >> > > >> >>>>>>>> DefaultValidationConfigurationProvider {
>> >> >> > >> >> > > >> >>>>>>>>   final Properties properties;
>> >> >> > >> >> > > >> >>>>>>>>
>> >> >> > >> >> > > >> >>>>>>>>
>> >> >> > StandardDefaultValidationConfigurationProvider(Properties
>> >> >> > >> >> > > >> >>>>>>>> properties) {
>> >> >> > >> >> > > >> >>>>>>>>     this.properties = properties;
>> >> >> > >> >> > > >> >>>>>>>>   }
>> >> >> > >> >> > > >> >>>>>>>>
>> >> >> > >> >> > > >> >>>>>>>>   public InputStream
>> >> >> > >> >> > > >> >>>>>>>> getDefaultValidationConfiguration() {
>> >> >> > >> >> > > >> >>>>>>>>     // look for property pointing to custom
>> >> >> resource,
>> >> >> > >> >> > > >> >>>>>>>> else
>> >> >> > >> >> > > >> >>>>>>>> META-INF/validation.xml
>> >> >> > >> >> > > >> >>>>>>>>     // ensure only one such resource
>> >> >> > >> >> > > >> >>>>>>>>     // return
>> >> >> > >> >> > > >> >>>>>>>> getResourceAsStream(resourceName)
>> >> >> > >> >> > > >> >>>>>>>>   }
>> >> >> > >> >> > > >> >>>>>>>> }
>> >> >> > >> >> > > >> >>>>>>>>
>> >> >> > >> >> > > >> >>>>>>>> This way TomEE would simply have to provide:
>> >> >> > >> >> > > >> >>>>>>>>
>> >> >> > >> >> > > >> >>>>>>>>
>> >> >> WebApplicationDefaultValidationConfigurationProvider
>> >> >> > >> >> > implements
>> >> >> > >> >> > > >> >>>>>>>> DefaultValidationConfigurationProvider {
>> >> >> > >> >> > > >> >>>>>>>>   public InputStream
>> >> >> > >> >> > > >> >>>>>>>> getDefaultValidationConfiguration() {
>> >> >> > >> >> > > >> >>>>>>>>     return
>> >> >> > >> >> > > >> >>>>>>>>
>> >> >> > >> >> > >
>> >> >> > getServletContext().getResourceAsStream("WEB-INF/validation.xml");
>> >> >> > >> >> > > >> >>>>>>>>   }
>> >> >> > >> >> > > >> >>>>>>>>
>> >> >> > >> >> > > >> >>>>>>>>   private static ServletContext
>> >> >> getServletContext() {
>> >> >> > >> >> > > >> >>>>>>>>     // TBD
>> >> >> > >> >> > > >> >>>>>>>>   }
>> >> >> > >> >> > > >> >>>>>>>> }
>> >> >> > >> >> > > >> >>>>>>>>
>> >> >> > >> >> > > >> >>>>>>>> Matt
>> >> >> > >> >> > > >> >>>>>>>>
>> >> >> > >> >> > > >> >>>>>>>> On Wed, Mar 19, 2014 at 10:28 AM, Romain
>> >> >> Manni-Bucau
>> >> >> > >> >> > > >> >>>>>>>> <rmannibucau@gmail.com> wrote:
>> >> >> > >> >> > > >> >>>>>>>>> Actually I'd expect the SPI to give the
>> >> processed
>> >> >> > >> >> > > >> >>>>>>>>> instance
>> >> >> > >> >> > and
>> >> >> > >> >> > > >> >>>>>>>>> not the
>> >> >> > >> >> > > >> >>>>>>>>> location. That's why i sugegsted to wait a
>> >> >> > >> >> > > >> >>>>>>>>> bit
>> >> for
>> >> >> > it
>> >> >> > >> >> > > >> >>>>>>>>> to
>> >> >> > >> >> see
>> >> >> > >> >> > > the
>> >> >> > >> >> > > >> >>>>>>>>> real
>> >> >> > >> >> > > >> >>>>>>>>> need.
>> >> >> > >> >> > > >> >>>>>>>>>
>> >> >> > >> >> > > >> >>>>>>>>>
>> >> >> > >> >> > > >> >>>>>>>>> Romain Manni-Bucau
>> >> >> > >> >> > > >> >>>>>>>>> Twitter: @rmannibucau
>> >> >> > >> >> > > >> >>>>>>>>> Blog: http://rmannibucau.wordpress.com/
>> >> >> > >> >> > > >> >>>>>>>>> LinkedIn:
>> >> http://fr.linkedin.com/in/rmannibucau
>> >> >> > >> >> > > >> >>>>>>>>> Github: https://github.com/rmannibucau
>> >> >> > >> >> > > >> >>>>>>>>>
>> >> >> > >> >> > > >> >>>>>>>>>
>> >> >> > >> >> > > >> >>>>>>>>>
>> >> >> > >> >> > > >> >>>>>>>>> 2014-03-19 16:10 GMT+01:00 Michael Blyakher
>> >> >> > >> >> > > >> >>>>>>>>> <michael.blyakher@gmail.com>:
>> >> >> > >> >> > > >> >>>>>>>>>> How would an SPI like this work? Would it
>> >> allow
>> >> >> the
>> >> >> > >> >> > > >> >>>>>>>>>> EE
>> >> >> > >> >> > server
>> >> >> > >> >> > > >> >>>>>>>>>> to specify
>> >> >> > >> >> > > >> >>>>>>>>>> the location of the validation.xml (maybe
>> >> >> > >> >> > > >> >>>>>>>>>> in
>> >> the
>> >> >> > form
>> >> >> > >> >> > > >> >>>>>>>>>> of
>> >> >> > >> >> an
>> >> >> > >> >> > > >> >>>>>>>>>> InputStream)?
>> >> >> > >> >> > > >> >>>>>>>>>>
>> >> >> > >> >> > > >> >>>>>>>>>>
>> >> >> > >> >> > > >> >>>>>>>>>> On Tue, Mar 18, 2014 at 1:59 PM, Romain
>> >> >> Manni-Bucau
>> >> >> > >> >> > > >> >>>>>>>>>> <rmannibucau@gmail.com>wrote:
>> >> >> > >> >> > > >> >>>>>>>>>>
>> >> >> > >> >> > > >> >>>>>>>>>>> tomee parses it itself and then create
>> >> >> > >> >> > > >> >>>>>>>>>>> the
>> >> >> > >> >> > > >> >>>>>>>>>>> configuration
>> >> >> > >> >> > > >> >>>>>>>>>>> itself. I
>> >> >> > >> >> > > >> >>>>>>>>>>> think we can wait tomee starts javaee7 to
>> >> write
>> >> >> it
>> >> >> > >> >> > > >> >>>>>>>>>>> since
>> >> >> > >> >> > it
>> >> >> > >> >> > > >> >>>>>>>>>>> should be
>> >> >> > >> >> > > >> >>>>>>>>>>> very soon (when next release is done) and
>> >> >> > >> >> > > >> >>>>>>>>>>> it
>> >> >> would
>> >> >> > >> >> > > >> >>>>>>>>>>> be
>> >> >> > >> >> the
>> >> >> > >> >> > > main
>> >> >> > >> >> > > >> >>>>>>>>>>> and
>> >> >> > >> >> > > >> >>>>>>>>>>> more demanding user.
>> >> >> > >> >> > > >> >>>>>>>>>>> Romain Manni-Bucau
>> >> >> > >> >> > > >> >>>>>>>>>>> Twitter: @rmannibucau
>> >> >> > >> >> > > >> >>>>>>>>>>> Blog: http://rmannibucau.wordpress.com/
>> >> >> > >> >> > > >> >>>>>>>>>>> LinkedIn:
>> >> http://fr.linkedin.com/in/rmannibucau
>> >> >> > >> >> > > >> >>>>>>>>>>> Github: https://github.com/rmannibucau
>> >> >> > >> >> > > >> >>>>>>>>>>>
>> >> >> > >> >> > > >> >>>>>>>>>>>
>> >> >> > >> >> > > >> >>>>>>>>>>>
>> >> >> > >> >> > > >> >>>>>>>>>>> 2014-03-18 19:42 GMT+01:00 Matt Benson <
>> >> >> > >> >> > mbenson@apache.org
>> >> >> > >> >> > > >:
>> >> >> > >> >> > > >> >>>>>>>>>>> > On Tue, Mar 18, 2014 at 1:01 PM,
>> >> >> > >> >> > > >> >>>>>>>>>>> > Michael
>> >> >> > Blyakher
>> >> >> > >> >> > > >> >>>>>>>>>>> > <michael.blyakher@gmail.com> wrote:
>> >> >> > >> >> > > >> >>>>>>>>>>> >> Hi All,
>> >> >> > >> >> > > >> >>>>>>>>>>> >>
>> >> >> > >> >> > > >> >>>>>>>>>>> >> Thanks for the quick replies, and
>> >> apologies
>> >> >> for
>> >> >> > >> >> > > >> >>>>>>>>>>> >> not
>> >> >> > >> >> > being
>> >> >> > >> >> > > >> >>>>>>>>>>> >> more specific
>> >> >> > >> >> > > >> >>>>>>>>>>> - I
>> >> >> > >> >> > > >> >>>>>>>>>>> >> was quoting the EE 7 Platform spec as
>> >> >> > >> >> > > >> >>>>>>>>>>> >> I am
>> >> >> > >> >> particularly
>> >> >> > >> >> > > >> >>>>>>>>>>> >> interested in
>> >> >> > >> >> > > >> >>>>>>>>>>> using
>> >> >> > >> >> > > >> >>>>>>>>>>> >> the bval 1.1 implementation that
>> >> >> > >> >> > > >> >>>>>>>>>>> >> hasn't
>> >> been
>> >> >> > >> >> officially
>> >> >> > >> >> > > >> >>>>>>>>>>> >> released yet.
>> >> >> > >> >> > > >> >>>>>>>>>>> >>
>> >> >> > >> >> > > >> >>>>>>>>>>> >> But from what I am hearing, it is the
>> >> >> > >> >> > > >> >>>>>>>>>>> >> responsibility
>> >> >> > >> >> of
>> >> >> > >> >> > > an
>> >> >> > >> >> > > >> >>>>>>>>>>> >> EE server to
>> >> >> > >> >> > > >> >>>>>>>>>>> >> handle the WEB-INF case. I can see how
>> >> this
>> >> >> is
>> >> >> > >> >> possible
>> >> >> > >> >> > > for
>> >> >> > >> >> > > >> >>>>>>>>>>> >> the 1.0
>> >> >> > >> >> > > >> >>>>>>>>>>> >> implementation, as the server can
>> >> >> > >> >> > > >> >>>>>>>>>>> >> parse
>> >> the
>> >> >> > >> >> > > validation.xml
>> >> >> > >> >> > > >> >>>>>>>>>>> >> itself and
>> >> >> > >> >> > > >> >>>>>>>>>>> >> bootstrap the configuration through
>> >> >> > >> >> > > >> >>>>>>>>>>> >> the
>> >> >> > >> >> > > >> >>>>>>>>>>> >> validation
>> >> >> > >> >> spec
>> >> >> > >> >> > > >> >>>>>>>>>>> >> API's. How would
>> >> >> > >> >> > > >> >>>>>>>>>>> >> this be done for the current 1.1
>> >> >> implementation
>> >> >> > >> >> > > >> >>>>>>>>>>> >> in
>> >> >> > >> >> the
>> >> >> > >> >> > > >> >>>>>>>>>>> >> bval-1.1 branch
>> >> >> > >> >> > > >> >>>>>>>>>>> in
>> >> >> > >> >> > > >> >>>>>>>>>>> >> the repository? I don't see how the
>> >> >> > >> >> > > >> >>>>>>>>>>> >> values
>> >> >> for
>> >> >> > >> >> > > >> >>>>>>>>>>> >> the
>> >> >> > >> >> > > >> >>>>>>>>>>> "executable-validation"
>> >> >> > >> >> > > >> >>>>>>>>>>> >> element could be provided to the impl
>> >> through
>> >> >> > the
>> >> >> > >> >> > > >> >>>>>>>>>>> >> validation spec API's.
>> >> >> > >> >> > > >> >>>>>>>>>>> >>
>> >> >> > >> >> > > >> >>>>>>>>>>> >
>> >> >> > >> >> > > >> >>>>>>>>>>> > Well, the
>> >> >> > >> >> > > >> >>>>>>>>>>>
>> >> >> > >> >> > > >> >>>>>>>>>>>
>> >> >> > >> >> > >
>> >> >> > >> >> >
>> >> >> > >> >>
>> >> >> > >> >>
>> >> >> >
>> >> >>
>> >>
>> >> http://bval.apache.org/mvnsite/bval-jsr303/apidocs/org/apache/bval/jsr303/ApacheValidatorConfiguration.Properties.html#VALIDATION_XML_PATH
>> >> >> > >> >> > > >> >>>>>>>>>>> > property can be used to point to a
>> >> different
>> >> >> > >> >> > > >> >>>>>>>>>>> > resource
>> >> >> > >> >> on
>> >> >> > >> >> > > the
>> >> >> > >> >> > > >> >>>>>>>>>>> > classpath, but I can't find any
>> >> >> > >> >> > > >> >>>>>>>>>>> > mechanism
>> >> that
>> >> >> > >> >> > > >> >>>>>>>>>>> > could
>> >> >> > >> >> be
>> >> >> > >> >> > > used
>> >> >> > >> >> > > >> >>>>>>>>>>> > to hook
>> >> >> > >> >> > > >> >>>>>>>>>>> > up WEB-INF/validation.xml, and I can't
>> >> >> > >> >> > > >> >>>>>>>>>>> > find
>> >> >> how
>> >> >> > >> >> > > >> >>>>>>>>>>> > TomEE
>> >> >> > >> >> > does
>> >> >> > >> >> > > >> >>>>>>>>>>> > it, so
>> >> >> > >> >> > > >> >>>>>>>>>>> > AFAICT you have indeed found what I
>> >> consider a
>> >> >> > >> >> problem.
>> >> >> > >> >> > > Off
>> >> >> > >> >> > > >> >>>>>>>>>>> > the top of
>> >> >> > >> >> > > >> >>>>>>>>>>> > my head I think we could solve it by
>> >> adding a
>> >> >> > >> >> > > >> >>>>>>>>>>> > simple
>> >> >> > >> >> SPI
>> >> >> > >> >> > > to
>> >> >> > >> >> > > >> >>>>>>>>>>> > discover
>> >> >> > >> >> > > >> >>>>>>>>>>> > the default validation configuration
>> >> resource.
>> >> >> > >> >> Thoughts?
>> >> >> > >> >> > > >> >>>>>>>>>>> >
>> >> >> > >> >> > > >> >>>>>>>>>>> > Matt
>> >> >> > >> >> > > >> >>>>>>>>>>> >
>> >> >> > >> >> > > >> >>>>>>>>>>> >> Thanks,
>> >> >> > >> >> > > >> >>>>>>>>>>> >> Michael
>> >> >> > >> >> > > >> >>>>>>>>>>> >>
>> >> >> > >> >> > > >> >>>>>>>>>>> >>
>> >> >> > >> >> > > >> >>>>>>>>>>> >> On Tue, Mar 18, 2014 at 12:13 PM,
>> >> >> > >> >> > > >> >>>>>>>>>>> >> Romain
>> >> >> > >> >> > > >> >>>>>>>>>>> >> Manni-Bucau
>> >> >> > >> >> > > >> >>>>>>>>>>> >> <rmannibucau@gmail.com>wrote:
>> >> >> > >> >> > > >> >>>>>>>>>>> >>
>> >> >> > >> >> > > >> >>>>>>>>>>> >>> Hi
>> >> >> > >> >> > > >> >>>>>>>>>>> >>>
>> >> >> > >> >> > > >> >>>>>>>>>>> >>> Bval only looks in META-INF but TomEE
>> >> >> > >> >> > > >> >>>>>>>>>>> >>> for
>> >> >> > >> >> > > >> >>>>>>>>>>> >>> instance
>> >> >> > >> >> > (more
>> >> >> > >> >> > > >> >>>>>>>>>>> >>> generally EE
>> >> >> > >> >> > > >> >>>>>>>>>>> >>> servers) handles WEB-INF case.
>> >> >> > >> >> > > >> >>>>>>>>>>> >>> Romain Manni-Bucau
>> >> >> > >> >> > > >> >>>>>>>>>>> >>> Twitter: @rmannibucau
>> >> >> > >> >> > > >> >>>>>>>>>>> >>> Blog:
>> >> >> > >> >> > > >> >>>>>>>>>>> >>> http://rmannibucau.wordpress.com/
>> >> >> > >> >> > > >> >>>>>>>>>>> >>> LinkedIn:
>> >> >> > http://fr.linkedin.com/in/rmannibucau
>> >> >> > >> >> > > >> >>>>>>>>>>> >>> Github:
>> >> >> > >> >> > > >> >>>>>>>>>>> >>> https://github.com/rmannibucau
>> >> >> > >> >> > > >> >>>>>>>>>>> >>>
>> >> >> > >> >> > > >> >>>>>>>>>>> >>>
>> >> >> > >> >> > > >> >>>>>>>>>>> >>>
>> >> >> > >> >> > > >> >>>>>>>>>>> >>> 2014-03-18 17:50 GMT+01:00 Michael
>> >> Blyakher
>> >> >> <
>> >> >> > >> >> > > >> >>>>>>>>>>> michael.blyakher@gmail.com>:
>> >> >> > >> >> > > >> >>>>>>>>>>> >>> > Hi,
>> >> >> > >> >> > > >> >>>>>>>>>>> >>> >
>> >> >> > >> >> > > >> >>>>>>>>>>> >>> > Where is the validation.xml
>> >> >> > >> >> > > >> >>>>>>>>>>> >>> > supposed
>> >> to be
>> >> >> > for
>> >> >> > >> >> > > >> >>>>>>>>>>> >>> > a
>> >> >> > >> >> web
>> >> >> > >> >> > > >> >>>>>>>>>>> >>> > archive? The
>> >> >> > >> >> > > >> >>>>>>>>>>> bval
>> >> >> > >> >> > > >> >>>>>>>>>>> >>> > spec's only indicate the
>> >> >> > >> >> > > >> >>>>>>>>>>> >>> > "META-INF/validation.xml"
>> >> >> > >> >> > > >> >>>>>>>>>>> >>> > location, but the
>> >> >> > >> >> > > >> >>>>>>>>>>> EE
>> >> >> > >> >> > > >> >>>>>>>>>>> >>> > platform spec indicates that for a
>> >> >> > >> >> > > >> >>>>>>>>>>> >>> > web
>> >> >> > archive
>> >> >> > >> >> this
>> >> >> > >> >> > > >> >>>>>>>>>>> >>> > location must be
>> >> >> > >> >> > > >> >>>>>>>>>>> >>> > "WEB-INF/validation.xml".
>> >> >> > >> >> > > >> >>>>>>>>>>> >>> >
>> >> >> > >> >> > > >> >>>>>>>>>>> >>> > EE.5.17 - "The name of the
>> >> >> > >> >> > > >> >>>>>>>>>>> >>> > descriptor
>> >> is
>> >> >> > >> >> > > >> >>>>>>>>>>> >>> > WEB-INF/validation.xml for
>> >> >> > >> >> > > >> >>>>>>>>>>> web
>> >> >> > >> >> > > >> >>>>>>>>>>> >>> > modules and META-INF/validation.xml
>> >> >> > >> >> > > >> >>>>>>>>>>> >>> > for
>> >> >> all
>> >> >> > >> >> > > >> >>>>>>>>>>> >>> > other
>> >> >> > >> >> > > types
>> >> >> > >> >> > > >> >>>>>>>>>>> >>> > of modules."
>> >> >> > >> >> > > >> >>>>>>>>>>> >>> >
>> >> >> > >> >> > > >> >>>>>>>>>>> >>> > Given this, I don't see anywhere in
>> >> >> > >> >> > > >> >>>>>>>>>>> >>> > the
>> >> >> bval
>> >> >> > >> >> > > >> >>>>>>>>>>> >>> > 1.0
>> >> >> > >> >> or
>> >> >> > >> >> > > 1.1
>> >> >> > >> >> > > >> >>>>>>>>>>> >>> > code that
>> >> >> > >> >> > > >> >>>>>>>>>>> handles
>> >> >> > >> >> > > >> >>>>>>>>>>> >>> > this. Am I missing something or
>> >> >> > >> >> > > >> >>>>>>>>>>> >>> > does
>> >> this
>> >> >> > >> >> > > implementation
>> >> >> > >> >> > > >> >>>>>>>>>>> >>> > not handle
>> >> >> > >> >> > > >> >>>>>>>>>>> this
>> >> >> > >> >> > > >> >>>>>>>>>>> >>> > case for web archives?
>> >> >> > >> >> > > >> >>>>>>>>>>> >>> >
>> >> >> > >> >> > > >> >>>>>>>>>>> >>> > Thanks,
>> >> >> > >> >> > > >> >>>>>>>>>>> >>> > Michael
>> >> >> > >> >> > > >> >>>>>>>>>>> >>>
>> >> >> > >> >> > > >> >>>>>>>>>>>
>> >> >> > >> >> > > >
>> >> >> > >> >> > > >
>> >> >> > >> >> > >
>> >> >> > >> >> >
>> >> >> > >> >>
>> >> >> > >
>> >> >> > >
>> >> >> >
>> >> >>
>> >>
>
>

Mime
View raw message