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>

Reply via email to