public void addComponentDescriptor( ComponentDescriptor componentDescriptor ) throws ComponentRepositoryException { try { validateComponentDescriptor( componentDescriptor ); } catch ( ComponentImplementationNotFoundException e ) { throw new ComponentRepositoryException( "Component descriptor validation failed: ", e ); } Map maps = componentRealmDescriptorMaps.getRealmMap( componentDescriptor.getRealmId() ); String role = componentDescriptor.getRole(); String roleHint = componentDescriptor.getRoleHint(); Map map = (Map) maps.get( role ); if ( map == null ) { map = new HashMap(); maps.put( role, map ); } map.put( roleHint, componentDescriptor ); try { compositionResolver.addComponentDescriptor( componentDescriptor ); } catch ( CompositionException e ) { throw new ComponentRepositoryException( e.getMessage(), e ); } }
public void addComponentDescriptor( PlexusConfiguration configuration ) throws ComponentRepositoryException { ComponentDescriptor componentDescriptor = null; try { componentDescriptor = PlexusTools.buildComponentDescriptor( configuration ); } catch ( PlexusConfigurationException e ) { throw new ComponentRepositoryException( "Cannot unmarshall component descriptor:", e ); } componentDescriptor.setRealmId( classRealm.getId() ); addComponentDescriptor( componentDescriptor ); }