Corrected typo in the code inline:

On 2 August 2013 09:44, Phil Harvey <p...@philharveyonline.com> wrote:

> I agree that o.a.q.p.Proton is, overall, an improvement.  I was partly
> responsible for creating the ProtonFactoryLoader and XXXFactory classes,
> and acknowledge that they make life too hard for the user.
>
> This was a result of trying to meet the following design goals:
> 1. User code should not need to have a compile-time dependency on any
> proton-c/j/jni classes.  Given our current separation of the proton-api
> from the proton-impl/proton-jni modules, it means user code should only
> depend on proton-api at compile-time.
> 2. Classes from the various "top level packages", such as engine,
> messenger etc, should be kept separate unless they really need to be
> together.
>
> I still believe in goal 1 (though this will be discussed at greater length
> on the related thread [1]), but am relaxed about item 2.
>
> So, I'd be in favour of Hiram's proposal if ProtonJ and ProtonC reside in
> proton-api.jar.  This would be very easy to do, e.g.
>
> public class ProtonJ extends Proton
> {
>   ...
>
>   public ProtonJ()
>   {
>     engineFactory = new
> ProtonFactoryLoader<EngineFactory>(EngineFactory.class, PROTON_J);
>
        // oops, should have been:
        engineFactory = new
ProtonFactoryLoader<EngineFactory>(EngineFactory.class,
PROTON_J).loadFactory();

>     ...
>   }
>   ...
> }
>
>
> Phil
>
>
> [1]
> http://qpid.2158936.n2.nabble.com/Java-Packaging-Organizational-Issues-tt7596353.html
>
>
> On 1 August 2013 18:18, Rafael Schloming <r...@alum.mit.edu> wrote:
>
>> I like this idea. Right now I'm at a loss to understand what all the
>> factory business is for, and I'm actually pretty familiar with the
>> codebase. I don't think our users stand a snowballs chance in hell of
>> sorting through the myriad of factories, factory impls, service loaders,
>> and service loader impls needed in order to get started with even a simple
>> example.
>>
>> The current Proton.java class is a step in the right direction, however
>> with all the other factories lying around it kind of gets lost in the
>> noise. It would be good if we could enforce a single entry point at the
>> code level, and what you're describing sounds like it would be pretty
>> simple/easy to explain to users. It would be nice if we could get to the
>> point where we have only one public entry point class inside each impl.
>> IMHO, that would make the API way more discoverable even with only minimal
>> javadoc.
>>
>> --Rafael
>>
>>
>>
>> On Thu, Aug 1, 2013 at 12:50 PM, Hiram Chirino <hi...@hiramchirino.com
>> >wrote:
>>
>> > Hi folks,
>> >
>> > I was just thinking perhaps we should simplify all the factory stuff
>> > in the proton API.  Mostly get rid of it.  Don't think it's really
>> > needed.  Mainly I think we need to make Proton an interface and let
>> > folks assign it the desired implementation.  Something like:
>> >
>> > Proton p = new ProtonJ();
>> >
>> > or
>> >
>> > Proton p = new ProtonC();
>> >
>> > where ProtonJ and ProtonC are in the respective implementation jars.
>> >
>> > if folks really want to make it configurable, they can easily build an
>> > if statement to pick the impl that they desire.
>> >
>> >
>> > --
>> > Hiram Chirino
>> >
>> > Engineering | Red Hat, Inc.
>> >
>> > hchir...@redhat.com | fusesource.com | redhat.com
>> >
>> > skype: hiramchirino | twitter: @hiramchirino
>> >
>> > blog: Hiram Chirino's Bit Mojo
>> >
>>
>
>

Reply via email to