Hmm not sure spec allows it actually. 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:39 GMT+01:00 Michael Blyakher <michael.blyak...@gmail.com>: > 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 >> >>>>>>>>>>> >>> >> >>>>>>>>>>> >>