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" <[email protected]> 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 <[email protected]> > 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 > > <[email protected]> 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 < > > [email protected]> > > > 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 <[email protected]>: > > >> > 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 <[email protected] > > > > >> > 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 > > >> >> <[email protected]> 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 <[email protected]>: > > >> >>>> 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 > > >> >>>> <[email protected]> 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 <[email protected]>: > > >> >>>>>> 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 > > >> >>>>>> <[email protected]> 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 <[email protected]>: > > >> >>>>>>>> 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 > > >> >>>>>>>> <[email protected]> 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 > > >> >>>>>>>>> <[email protected]>: > > >> >>>>>>>>>> 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 > > >> >>>>>>>>>> <[email protected]>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 < > [email protected] > > >: > > >> >>>>>>>>>>> > On Tue, Mar 18, 2014 at 1:01 PM, Michael Blyakher > > >> >>>>>>>>>>> > <[email protected]> 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 > > >> >>>>>>>>>>> >> <[email protected]>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 < > > >> >>>>>>>>>>> [email protected]>: > > >> >>>>>>>>>>> >>> > 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 > > >> >>>>>>>>>>> >>> > > >> >>>>>>>>>>> > > > > > > > > >
