private void scan() { LOG.info( "--------------------------------------------------------------------------------" ); LOG.info( "Scanning resources." ); LOG.info( "--------------------------------------------------------------------------------" ); for ( ResourceManager<? extends Resource> mgr : resourceManagers.values() ) { mgr.find(); Collection<? extends ResourceMetadata<? extends Resource>> mds = mgr.getResourceMetadata(); for ( ResourceMetadata<? extends Resource> md : mds ) { resourceMetadata.put( md.getIdentifier(), md ); if ( states.getState( md.getIdentifier() ) != Deactivated ) { states.setState( md.getIdentifier(), Scanned ); } } } }
@Override public <T extends Resource> ResourceBuilder<T> prepare( ResourceIdentifier<T> id ) { if ( states.getState( id ) == Deactivated ) { return null; } LOG.info( "Preparing {}", id ); ResourceMetadata<T> md = (ResourceMetadata) resourceMetadata.get( id ); ResourceBuilder<T> builder = md.prepare(); if ( builder == null ) { states.setState( id, Error ); } else { graph.insertNode( md ); states.setState( id, Prepared ); } return builder; }
LOG.info( "--------------------------------------------------------------------------------" ); outer: for ( ResourceMetadata<? extends Resource> md : resourceMetadata.values() ) { ResourceState state = states.getState( md.getIdentifier() ); if ( state == null ) { continue outer; state = states.getState( id ); if ( state == null || state == Scanned ) { continue outer; if ( builder == null ) { LOG.error( "Could not prepare resource {}.", md.getIdentifier() ); if ( states.getState( md.getIdentifier() ) != Deactivated ) { states.setState( md.getIdentifier(), Error ); if ( states.getState( md.getIdentifier() ) != Deactivated ) { states.setState( md.getIdentifier(), Prepared );
@Override public <T extends Resource> T init( ResourceIdentifier<T> id, PreparedResources prepared ) { if ( states.getState( id ) == Deactivated ) { return null;
if ( states.getState( md.getIdentifier() ) == Deactivated ) { LOG.warn( "Not building resource {} (deactivated).", md.getIdentifier() ); continue; if ( states.getState( dep ) != Initialized ) { states.setState( md.getIdentifier(), Error ); String msg = "Dependent resource " + dep + " failed to initialize.";