You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@avalon.apache.org by Stephan Michels <st...@apache.org> on 2002/08/18 10:15:43 UTC

[ISSUE] ConfigurationException in ExcaliburComponentSelector

Hi,

FYI, there exists problems with the following code
of the ExcaliburComponentSelector:

>        String instrumentableName =
>            configuration.getAttribute( "instrumentable",
>               configuration.getAttribute( "name" ) );

This conflicts with the class
org.apache.cocoon.components.treeprocessor.sitemap.ComponentsSelector
of the Cocoon, which added Component with an empty Configuration.

I have changed this class now, but perhaps the code should be
changed in the ExcaliburComponentSelector.

Thanks for your attention, Stephan Michels.

_______________________________________________________________________
         Stephan Michels               EMail: stephan@apache.org
         ICQ: 115535699                Tel: +49-030-314-21583
----+----|----+----|----+----|----+----|----+----|----+----|----+----|-|


--
To unsubscribe, e-mail:   <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>


Re: [ISSUE] ConfigurationException in ExcaliburComponentSelector

Posted by Leif Mortenson <le...@tanukisoftware.com>.
Stephan,
Sorry about that  I made some assumptions about the way the selector was 
being configured
and used.

I made the following change to fall back on the name of the element for 
the instrumentable
name:
------
RCS file: 
/home/cvs/jakarta-avalon-excalibur/component/src/java/org/apache/avalon/excalibur/component/ExcaliburComponentSelector.java,v
retrieving revision 1.11
diff -r1.11 ExcaliburComponentSelector.java
623a624,626
 >         // The instrumentable name will be set by first looking for a 
name set using
 >         //  the instrumentable attribute.  If missing, the name 
attribute is used.
 >         //  Finally, the name of the configuration element is used.
625c628,629
<             configuration.getAttribute( "instrumentable", 
configuration.getAttribute( "name" ) );
---
 >             configuration.getAttribute( "instrumentable",
 >             configuration.getAttribute( "name", 
configuration.getName() ) );
------

The goal of the addition of the instrumentation code into the ECM was to 
add instrumentation
capabilities without affecting the API and thus any current users of the 
ECM.  If you have to
change the code to use it, then I screwed up.

I would like to understand a little better what is being done there. 
 The instrumentable name
is used to identify components created by a component handler as well as 
identify the
component handler itself.  It allows the InstrumentManager to track the 
number of
components selected, released and outstanding for each handler.

You should be able to roll back the changes that you had to make to 
Cocoon.  If you
are still having problems, please send me the stack trace and I'll look 
into it some more.

I also made some changes to the way the ECM registers its handlers and 
instrumentable
components with the IM tonight.  It should make it a lot more useful in 
cases where
handler structure is being created dynamically.

Cheers,
Leif

Stephan Michels wrote:

>Hi,
>
>FYI, there exists problems with the following code
>of the ExcaliburComponentSelector:
>
>  
>
>>       String instrumentableName =
>>           configuration.getAttribute( "instrumentable",
>>              configuration.getAttribute( "name" ) );
>>    
>>
>
>This conflicts with the class
>org.apache.cocoon.components.treeprocessor.sitemap.ComponentsSelector
>of the Cocoon, which added Component with an empty Configuration.
>
>I have changed this class now, but perhaps the code should be
>changed in the ExcaliburComponentSelector.
>
>Thanks for your attention, Stephan Michels.
>
>_______________________________________________________________________
>         Stephan Michels               EMail: stephan@apache.org
>         ICQ: 115535699                Tel: +49-030-314-21583
>----+----|----+----|----+----|----+----|----+----|----+----|----+----|-|
>
>
>--
>To unsubscribe, e-mail:   <ma...@jakarta.apache.org>
>For additional commands, e-mail: <ma...@jakarta.apache.org>
>
>
>  
>



--
To unsubscribe, e-mail:   <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>