1 8 package org.apache.avalon.phoenix.components.extensions; 9 10 import java.io.File ; 11 import org.apache.avalon.excalibur.packagemanager.ExtensionManager; 12 import org.apache.avalon.framework.activity.Disposable; 13 import org.apache.avalon.framework.activity.Initializable; 14 import org.apache.avalon.framework.logger.LogEnabled; 15 import org.apache.avalon.framework.logger.Logger; 16 import org.apache.avalon.framework.parameters.ParameterException; 17 import org.apache.avalon.framework.parameters.Parameterizable; 18 import org.apache.avalon.framework.parameters.Parameters; 19 import org.apache.avalon.phoenix.interfaces.ExtensionManagerMBean; 20 21 25 public class DefaultExtensionManager 26 extends org.apache.avalon.excalibur.packagemanager.impl.DefaultExtensionManager 27 implements LogEnabled, Parameterizable, Initializable, Disposable, 28 ExtensionManager, ExtensionManagerMBean 29 { 30 private Logger m_logger; 31 32 private String m_rawPath; 33 34 public void enableLogging( final Logger logger ) 35 { 36 m_logger = logger; 37 } 38 39 public void parameterize( final Parameters parameters ) 40 throws ParameterException 41 { 42 final String phoenixHome = parameters.getParameter( "phoenix.home" ); 43 final String defaultExtPath = phoenixHome + File.separator + "ext"; 44 m_rawPath = parameters.getParameter( "phoenix.ext.path", defaultExtPath ); 45 } 46 47 public void initialize() 48 throws Exception 49 { 50 setPath( m_rawPath ); 51 rescanPath(); 52 } 53 54 public void dispose() 55 { 56 clearCache(); 57 } 58 59 public void rescanPath() 60 { 61 super.scanPath(); 62 } 63 64 protected void debug( final String message ) 65 { 66 m_logger.debug( message ); 67 } 68 } 69 | Popular Tags |