// 112.4.2 Component descriptors may contain a single, root component element
// or one or more component elements embedded in a larger document
for ( Object o : handler.getComponentMetadataList() )
{
ComponentMetadata metadata = ( ComponentMetadata ) o;
ComponentRegistryKey key = null;
try
{
// check and reserve the component name (if not null)
if ( metadata.getName() != null )
{
key = m_componentRegistry.checkComponentName( m_bundle, metadata.getName() );
}
// validate the component metadata
metadata.validate( this );
// Request creation of the component manager
ComponentHolder holder = m_componentRegistry.createComponentHolder( this, metadata );
// register the component after validation
m_componentRegistry.registerComponentHolder( key, holder );
m_managers.add( holder );
log( LogService.LOG_DEBUG, "BundleComponentActivator : Bundle [{0}] ComponentHolder created for {1}",
new Object[] {m_bundle.getBundleId(), metadata.getName()}, null, null, null );
}
catch ( Throwable t )
{
// There is a problem with this particular component, we'll log the error