> From: Berin Loritsch [mailto:[EMAIL PROTECTED]] 
> 
> One point to consider.  How many projects do you desire to 
> use your components with?

Many.

I understand the namespace clash you describe, but what I
propose in the referenced emails solve that by, for each
component, providing a unique role mapping.

Do this in your mind:

You have a list of components. Tag each one with a unique id.
Each component has a list of roles it will look up (dependencies).
Now, for each component, provide a map role->component id.

Done.

So, suppose LeosComponent looks for a source resolver at "resolver",
and StephensComponent looks for it at "source-resolver":

  <component id="leo" class="LeosComponent">
    <provide role="resolver" via="the-one-resolver"/>
  </component>

  <component id="stephen" class="StephensComponent">
    <provide role="source-resolver" via="the-one-resolver"/>
  </component>

  <component id="the-one-resolver" class="SourceResolverImpl"/>

This also solves the problem where LeosComponent and StephensComponent
looks up the *same* role, say "source-resolver" but need *differently
configured* SourceResolvers:

  <component id="leo" class="LeosComponent">
    <provide role="source-resolver" via="leos-resolver"/>
  </component>

  <component id="stephen" class="StephensComponent">
    <provide role="source-resolver" via="stephens-resolver"/>
  </component>

  <component id="leos-resolver" class="SourceResolverImpl"
basedir="/home/leo"/>
  <component id="stephens-resolver" class="SourceResolverImpl"
basedir="/home/stephen"/>
 
/LS


--
To unsubscribe, e-mail:   <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>

Reply via email to