if not existing and provided by the EE container which will be the case for sure. 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 16:52 GMT+01:00 Michael Blyakher <michael.blyak...@gmail.com>: > Unless I am mistaken, when bval creates the configured components from > validation.xml (MessageInterpolator, ParameterNameProvider, etc...), it > uses BValExtension#inject which creates these components as CDI managed > beans. That is what I would be loosing by loading/instantiating these > classes without delegating to bval to do it. > > > > On Thu, Mar 20, 2014 at 10:20 AM, Romain Manni-Bucau > <rmannibu...@gmail.com>wrote: > >> not sure I follow, while @Inject Validator works it is fine. >> 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 16:17 GMT+01:00 Michael Blyakher <michael.blyak...@gmail.com>: >> > 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 >> > <rmannibu...@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.blyak...@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 >> >> > <rmannibu...@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.blyak...@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 >> >> >> > <rmannibu...@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" <gudnabr...@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.blyak...@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 < >> >> gudnabr...@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.blyak...@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 >> >> >> >> > >> > <rmannibu...@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.blyak...@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 < >> >> >> >> > gudnabr...@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.blyak...@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 < >> >> >> >> > >> >> > > rmannibu...@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 < >> >> >> >> gudnabr...@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 < >> >> >> >> > >> >> gudnabr...@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 >> >> >> >> > >> >> > > >> >> <rmannibu...@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 >> >> >> >> > >> >> > > >> >>> <gudnabr...@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 >> >> >> >> > >> >> > > >> >>>> <rmannibu...@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 >> >> >> >> > >> >> > > >> >>>>> <gudnabr...@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 >> >> >> >> > >> >> > > >> >>>>>> <rmannibu...@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 >> >> >> >> > >> >> > > >> >>>>>>> <mben...@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 >> >> >> >> > >> >> > > >> >>>>>>>> <rmannibu...@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.blyak...@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 >> >> >> >> > >> >> > > >> >>>>>>>>>> <rmannibu...@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 >> < >> >> >> >> > >> >> > mben...@apache.org >> >> >> >> > >> >> > > >: >> >> >> >> > >> >> > > >> >>>>>>>>>>> > On Tue, Mar 18, 2014 at 1:01 PM, >> Michael >> >> >> >> > Blyakher >> >> >> >> > >> >> > > >> >>>>>>>>>>> > <michael.blyak...@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 >> >> >> >> > >> >> > > >> >>>>>>>>>>> >> <rmannibu...@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.blyak...@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 >> >> >> >> > >> >> > > >> >>>>>>>>>>> >>> >> >> >> >> > >> >> > > >> >>>>>>>>>>> >> >> >> >> > >> >> > > > >> >> >> >> > >> >> > > > >> >> >> >> > >> >> > > >> >> >> >> > >> >> > >> >> >> >> > >> >> >> >> >> >> > > >> >> >> >> > > >> >> >> >> > >> >> >> >> >> >> >> >> >> >>