donaldp 01/02/25 17:49:47
Modified: src/java/org/apache/phoenix/engine
DefaultServerApplication.java
Added: src/java/org/apache/phoenix/engine/facilitys
SarClassLoader.java
Removed: src/java/org/apache/phoenix/engine SarClassLoader.java
Log:
Made SarClassLoader a Facility
Revision Changes Path
1.4 +2 -1
jakarta-avalon-phoenix/src/java/org/apache/phoenix/engine/DefaultServerApplication.java
Index: DefaultServerApplication.java
===================================================================
RCS file:
/home/cvs/jakarta-avalon-phoenix/src/java/org/apache/phoenix/engine/DefaultServerApplication.java,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- DefaultServerApplication.java 2001/02/26 01:37:11 1.3
+++ DefaultServerApplication.java 2001/02/26 01:49:46 1.4
@@ -43,10 +43,11 @@
import org.apache.phoenix.engine.facilitys.DefaultComponentManagerBuilder;
import org.apache.phoenix.engine.facilitys.DefaultConfigurationRepository;
import org.apache.phoenix.engine.facilitys.DefaultContextBuilder;
+import org.apache.phoenix.engine.facilitys.DefaultLogManager;
import org.apache.phoenix.engine.facilitys.DefaultLoggerBuilder;
import org.apache.phoenix.engine.facilitys.DefaultPolicy;
import org.apache.phoenix.engine.facilitys.DefaultThreadManager;
-import org.apache.phoenix.engine.facilitys.DefaultLogManager;
+import org.apache.phoenix.engine.facilitys.SarClassLoader;
import org.apache.phoenix.engine.phases.DefaultPhase;
import org.apache.phoenix.engine.phases.Phase;
import org.apache.phoenix.engine.phases.Traversal;
1.1
jakarta-avalon-phoenix/src/java/org/apache/phoenix/engine/facilitys/SarClassLoader.java
Index: SarClassLoader.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 file.
*/
package org.apache.phoenix.engine.facilitys;
import java.io.File;
import java.net.MalformedURLException;
import java.net.URL;
import java.security.Policy;
import org.apache.avalon.ComponentManager;
import org.apache.avalon.ComponentManagerException;
import org.apache.avalon.Composer;
import org.apache.avalon.Context;
import org.apache.avalon.Contextualizable;
import org.apache.avalon.Initializable;
import org.apache.avalon.atlantis.Facility;
import org.apache.avalon.util.io.ExtensionFileFilter;
import org.apache.avalon.util.security.PolicyClassLoader;
import org.apache.phoenix.engine.SarContextResources;
/**
* This component creates blocks and blockInfos.
*
* @author <a href="mailto:[EMAIL PROTECTED]">Peter Donald</a>
*/
public class SarClassLoader
extends PolicyClassLoader
implements Facility, Contextualizable, Composer, Initializable
{
protected File m_baseDirectory;
protected String m_blocksDirectory;
protected String m_libDirectory;
public SarClassLoader()
{
super( new URL[ 0 ], Thread.currentThread().getContextClassLoader(),
null );
}
public void contextualize( final Context context )
{
m_baseDirectory = (File)context.get( SarContextResources.APP_HOME_DIR
);
m_blocksDirectory = (String)context.get(
SarContextResources.APP_BLOCKS_DIR );
m_libDirectory = (String)context.get( SarContextResources.APP_LIB_DIR
);
}
public void compose( final ComponentManager componentManager )
throws ComponentManagerException
{
m_policy = (Policy)componentManager.lookup( "java.security.Policy" );
}
public void init()
throws Exception
{
final File blockDir =
(new File( m_baseDirectory, m_blocksDirectory
)).getAbsoluteFile();
final File libDir =
(new File( m_baseDirectory, m_libDirectory )).getAbsoluteFile();
addURLs( blockDir, new String[] { ".bar" } );
addURLs( libDir, new String[] { ".jar", ".zip" } );
}
protected void addURLs( final File directory, final String[] extentions )
throws MalformedURLException
{
final ExtensionFileFilter filter = new ExtensionFileFilter(
extentions );
final File[] files = directory.listFiles( filter );
if( null == files ) return;
addURLs( files );
}
protected void addURLs( final File[] files )
throws MalformedURLException
{
for( int i = 0; i < files.length; i++ )
{
addURL( files[ i ].toURL() );
}
}
}