final Properties meta,
final List deps )
{
final Class klass;
MetaInfoEntry entry = (MetaInfoEntry) m_classnames.get( className );
if ( null != entry )
{
entry.addRole( role );
return;
}
if ( getLogger().isDebugEnabled() )
{
getLogger().debug( "addComponent component: type='" + className +
"', meta='" + meta.toString() + "', role='" + role + "', with deps=" + deps );
}
try
{
klass = m_loader.loadClass( className );
}
catch ( final ClassNotFoundException e )
{
final String message =
"Unable to load class " + className + ". Skipping.";
getLogger().warn( message );
// Do not store reference if class does not exist.
return;
}
try
{
entry = new MetaInfoEntry( klass, meta, deps );
entry.addRole( role );
m_shorthands.put( entry.getConfigurationName(), entry );
m_classnames.put( className, entry );
}
catch ( ClassNotFoundException cfne )
{
final String message =