donaldp 02/05/10 05:02:13
Modified: src/conf kernel.xml
Added: src/java/org/apache/avalon/phoenix/components/extensions
DefaultExtensionManager.java
Removed: src/java/org/apache/avalon/phoenix/components/extensions
PhoenixPackageRepository.java
Log:
Renamed PhoenixPackageRepository to DefaultExtensionManager so that in future
can interoperate with myrmidon service of the same name.
Revision Changes Path
1.1
jakarta-avalon-phoenix/src/java/org/apache/avalon/phoenix/components/extensions/DefaultExtensionManager.java
Index: DefaultExtensionManager.java
===================================================================
/*
* Copyright (C) The Apache Software Foundation. All rights reserved.
*
* This software is published under the terms of the Apache Software License
* version 1.1, a copy of which has been included with this distribution in
* the LICENSE.txt file.
*/
package org.apache.avalon.phoenix.components.extensions;
import java.io.File;
import java.io.IOException;
import java.util.StringTokenizer;
import org.apache.avalon.excalibur.extension.DefaultPackageRepository;
import org.apache.avalon.excalibur.extension.PackageRepository;
import org.apache.avalon.framework.activity.Disposable;
import org.apache.avalon.framework.activity.Initializable;
import org.apache.avalon.framework.logger.LogEnabled;
import org.apache.avalon.framework.logger.Logger;
import org.apache.avalon.framework.parameters.ParameterException;
import org.apache.avalon.framework.parameters.Parameterizable;
import org.apache.avalon.framework.parameters.Parameters;
import org.apache.avalon.phoenix.interfaces.ExtensionManagerMBean;
/**
* PhoenixPackageRepository
*
* @author <a href="mailto:[EMAIL PROTECTED]">Peter Donald</a>
* @version $Revision: 1.1 $ $Date: 2002/05/10 12:02:12 $
*/
public class DefaultExtensionManager
extends DefaultPackageRepository
implements LogEnabled, Parameterizable, Initializable, Disposable,
PackageRepository, ExtensionManagerMBean
{
private Logger m_logger;
/**
* An array of path elements. Each element designates a directory
* in which the ExtensionManager should scan for Extensions.
*/
private String[] m_path;
public DefaultExtensionManager()
{
super( new File[ 0 ] );
}
public void enableLogging( final Logger logger )
{
m_logger = logger;
}
public void parameterize( final Parameters parameters )
throws ParameterException
{
final String phoenixHome = parameters.getParameter( "phoenix.home" );
final String defaultExtPath = phoenixHome + File.separator + "ext";
final String rawPath =
parameters.getParameter( "phoenix.ext.path", defaultExtPath );
m_path = split( rawPath, "|" );
final File[] dirs = new File[ m_path.length ];
for( int i = 0; i < dirs.length; i++ )
{
try
{
dirs[ i ] = ( new File( m_path[ i ] ) ).getCanonicalFile();
}
catch( final IOException ioe )
{
throw new ParameterException( "Malformed entry in path '" +
m_path[ i ] +
". Unable to determine file for
entry", ioe );
}
}
for( int i = 0; i < dirs.length; i++ )
{
m_path[ i ] = dirs[ i ].toString();
}
}
public void initialize()
throws Exception
{
final File[] dirs = new File[ m_path.length ];
for( int i = 0; i < dirs.length; i++ )
{
dirs[ i ] = new File( m_path[ i ] );
}
setPath( dirs );
scanPath();
}
/**
* Retrieve an array of paths where each
* element in array represents a directory
* in which the ExtensionManager will look
* for Extensions.
*
* @return the list of paths to search in
*/
public String[] getPaths()
{
return m_path;
}
/**
* Force the ExtensionManager to rescan the paths
* to discover new Extensions that have been added
* or remove old Extensions that have been removed.
*
*/
public void rescanPath()
{
clearCache();
scanPath();
}
public void dispose()
{
clearCache();
}
protected void debug( final String message )
{
m_logger.debug( message );
}
/**
* Splits the string on every token into an array of strings.
*
* @param string the string
* @param onToken the token
* @return the resultant array
*/
private static String[] split( final String string, final String onToken )
{
final StringTokenizer tokenizer = new StringTokenizer( string,
onToken );
final String[] result = new String[ tokenizer.countTokens() ];
for( int i = 0; i < result.length; i++ )
{
result[ i ] = tokenizer.nextToken();
}
return result;
}
}
1.3 +1 -1 jakarta-avalon-phoenix/src/conf/kernel.xml
Index: kernel.xml
===================================================================
RCS file: /home/cvs/jakarta-avalon-phoenix/src/conf/kernel.xml,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- kernel.xml 10 May 2002 11:07:58 -0000 1.2
+++ kernel.xml 10 May 2002 12:02:12 -0000 1.3
@@ -38,7 +38,7 @@
class="org.apache.avalon.phoenix.components.classloader.DefaultClassLoaderManager"
logger="classes"/>
<component
role="org.apache.avalon.excalibur.extension.PackageRepository"
-
class="org.apache.avalon.phoenix.components.extensions.PhoenixPackageRepository"
+
class="org.apache.avalon.phoenix.components.extensions.DefaultExtensionManager"
logger="packages"/>
</embeddor>
</phoenix>
--
To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>