I'm working on PoC's for those things before I go and make widespread changes to everything. I'll follow up with one in an hour or two.
On 26 May 2014 08:27, Gary Gregory <garydgreg...@gmail.com> wrote: > On Sun, May 25, 2014 at 11:44 PM, Matt Sicker <boa...@gmail.com> wrote: > >> 1. I'm removing @PluginDefault and instead using an additional attribute >> on @PluginAttribute. >> > > Great. Please see my other thread about default primitive values and > @IntPluginAttribute, and so on. > > > 2. I'm refactoring the logic in the giant if/else-if block in >> PluginBuilder to a system vaguely similar to how the Bean Validation spec >> works. >> 3. I'm updating all the places where @PluginDefault is used to use the >> simpler system. >> 4. I've only refactored the @PluginAttribute code so far, but it's >> working. I'll continue with the other @PluginAnnotations afterward. >> >> > First, I am grateful for all of the work Matt has been put in here and in > other areas, so please take this constructively. > > >> Future work: >> 1. Adding support for building a plugin using a builder class instead of >> a factory method. >> > > But why? This seems a lot more complicated than the simple factory methods > we now have. Who is the customer here? The unit tests? > > I am asking because this seems to add a lot of code and complexity for an > unknown gain, or at least the case is not clear to me. Perhaps I missed a > thread on this ML about presenting it. > > >> 2. Converting existing plugin factory methods to builder classes. >> > > As above. > > >> 3. Updating the jazillion unit tests to use said builder classes (which >> is actually rather nice). >> > > I guess I'd expect to see a proposal and example on the ML first before > such a large scale set of changes. > > Gary > > >> 4. Removing factory methods altogether (perhaps replacing >> @PluginBuilderFactory with @PluginFactory). >> >> The good thing about all this is it's more along the line of refactoring, >> so it's not necessary to complete it all by 2.0. It will, however, be >> useful for plugin authors to not have to fix their plugins for 2.1 again. >> >> -- >> Matt Sicker <boa...@gmail.com> >> > > > > -- > E-Mail: garydgreg...@gmail.com | ggreg...@apache.org > Java Persistence with Hibernate, Second > Edition<http://www.manning.com/bauer3/> > JUnit in Action, Second Edition <http://www.manning.com/tahchiev/> > Spring Batch in Action <http://www.manning.com/templier/> > Blog: http://garygregory.wordpress.com > Home: http://garygregory.com/ > Tweet! http://twitter.com/GaryGregory > -- Matt Sicker <boa...@gmail.com>