private void activateModules ( URLClassLoader loader ) { for ( int i = 0 ; i != modules . size ( ) ; ++ i ) { Descriptor module = modules . get ( i ) ; try { Class c = loader . loadClass ( module . getActivator ( ) ) ; Module . Activator self = ( Module . Activator ) c . newInstance ( ) ; Module instance = self . start ( context ) ; instances . put ( c , instance ) ; logger . logTimedMessage ( "Activated module " + module . getId ( ) + " (v" + module . getVersion ( ) + ")" , 0 , 0 ) ; } catch ( Exception e ) { e . printStackTrace ( ) ; } } }
Activate all modules in the order of occurrence in the given list . It is assumed that all dependencies are already resolved prior to this and all modules are topologically sorted .