donaldp 01/03/18 00:27:00 Modified: src/java/org/apache/phoenix/engine DefaultSarDeployer.java SarContextResources.java Log: Minor changes to enable a better loader. Revision Changes Path 1.3 +22 -22 jakarta-avalon-phoenix/src/java/org/apache/phoenix/engine/DefaultSarDeployer.java Index: DefaultSarDeployer.java =================================================================== RCS file: /home/cvs/jakarta-avalon-phoenix/src/java/org/apache/phoenix/engine/DefaultSarDeployer.java,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- DefaultSarDeployer.java 2001/02/26 02:10:59 1.2 +++ DefaultSarDeployer.java 2001/03/18 08:26:59 1.3 @@ -67,18 +67,18 @@ m_type = "Sar"; } - protected void deployFromFile( final String location, final File file ) + protected void deployFromFile( final String name, final File file ) throws DeploymentException { if( file.isDirectory() ) { - deployFromDirectory( location, file ); + throw new DeploymentException( "Deploying directories is not supported" ); } else { - final File destination = getDestinationFor( location, file ); + final File destination = getDestinationFor( name, file ); expandTo( file, destination ); - deployFromDirectory( location, destination ); + deployFromDirectory( file, name, destination ); } } @@ -101,7 +101,7 @@ if( entry.isDirectory() ) continue; final String name = entry.getName().replace( '/', File.separatorChar ); - if( name.startsWith( "META-INF" ) ) continue; + if( !shouldExpandEntry( entry.getName() ) ) continue; final File destination = new File( directory, name ); @@ -127,6 +127,12 @@ } } + protected boolean shouldExpandEntry( final String name ) + { + if( name.startsWith( "META-INF" ) ) return false; + else return true; + } + protected boolean needsExpanding( final ZipFile zipFile, final File directory ) { return !directory.exists(); @@ -162,25 +168,15 @@ protected void buildEntry( final String name, final ServerApplicationEntry entry, + final File archive, final File directory ) throws DeploymentException { - /* - final File file = new File( directory, "SAR-INF" + File.separator + "sar-inf.xml" ); - if( file.exists() ) - { - final Configuration configuration = getConfigurationFor( file ); - libDirectory = - configuration.getChild( "lib-directory" ).getValue( libDirectory ); - blocksDirectory = - configuration.getChild( "blocks-directory" ).getValue( blocksDirectory ); - confDirectory = - configuration.getChild( "conf-directory" ).getValue( confDirectory ); - } - */ + //final File file = new File( directory, "SAR-INF" + File.separator + "sar-inf.xml" ); //setup the ServerApplications context final DefaultContext context = new DefaultContext(); + context.put( SarContextResources.APP_ARCHIVE, archive ); context.put( SarContextResources.APP_HOME_DIR, directory ); context.put( SarContextResources.APP_NAME, name ); entry.setContext( context ); @@ -199,13 +195,16 @@ entry.setConfiguration( configuration ); } - protected void deployFromDirectory( final String name, final File directory ) + protected void deployFromDirectory( final File archive, + final String name, + final File directory ) throws DeploymentException { - getLogger().info( "deploying from expanded directory " + directory ); + getLogger().info( "deploying from archive (" + archive + + ") expanded into directory " + directory ); final ServerApplicationEntry entry = new ServerApplicationEntry(); - buildEntry( name, entry, directory ); + buildEntry( name, entry, archive, directory ); addEntry( name, entry ); final ServerKernel kernel = getKernel(); @@ -218,7 +217,8 @@ { throw new DeploymentException( "Error preparingserver application", ce ); } - + + //rework next bit so it grabs deployments from archive final Deployer deployer = getBlockDeployer( entry ); final File blocksDirectory = new File( directory, "blocks" ); CamelotUtil.deployFromDirectory( deployer, blocksDirectory, ".bar" ); 1.3 +1 -0 jakarta-avalon-phoenix/src/java/org/apache/phoenix/engine/SarContextResources.java Index: SarContextResources.java =================================================================== RCS file: /home/cvs/jakarta-avalon-phoenix/src/java/org/apache/phoenix/engine/SarContextResources.java,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- SarContextResources.java 2001/02/26 02:10:59 1.2 +++ SarContextResources.java 2001/03/18 08:26:59 1.3 @@ -14,6 +14,7 @@ */ public interface SarContextResources { + String APP_ARCHIVE = "app.archive"; String APP_NAME = "app.name"; String APP_HOME_DIR = "app.home"; } --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]