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 >> >> >> > >> >> > > >> >>>>>>>>>>> >>> >> >> >> > >> >> > > >> >>>>>>>>>>> >> >> >> > >> >> > > > >> >> >> > >> >> > > > >> >> >> > >> >> > > >> >> >> > >> >> > >> >> >> > >> >> >> >> >> > > >> >> >> > > >> >> >> > >> >> >> >> >> >>