You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@ant.apache.org by do...@apache.org on 2001/12/15 16:20:24 UTC
cvs commit: jakarta-ant/proposal/myrmidon/src/main/org/apache/tools/ant/types Commandline.java FileSet.java Mapper.java PatternSet.java
donaldp 01/12/15 07:20:24
Modified: proposal/myrmidon/src/main/org/apache/tools/ant
AntClassLoader.java Launcher.java Main.java
proposal/myrmidon/src/main/org/apache/tools/ant/taskdefs
Definer.java Execute.java Property.java Rmic.java
SQLExec.java
proposal/myrmidon/src/main/org/apache/tools/ant/taskdefs/optional
XMLValidateTask.java
proposal/myrmidon/src/main/org/apache/tools/ant/taskdefs/optional/depend
Depend.java
proposal/myrmidon/src/main/org/apache/tools/ant/taskdefs/optional/ejb
GenericDeploymentTool.java
WeblogicDeploymentTool.java
WebsphereDeploymentTool.java
proposal/myrmidon/src/main/org/apache/tools/ant/types
Commandline.java FileSet.java Mapper.java
PatternSet.java
Log:
Continued to modify to try to bring the number of compiler errors down due to BuildException not being a RuntimeException anymore.
Revision Changes Path
1.3 +6 -3 jakarta-ant/proposal/myrmidon/src/main/org/apache/tools/ant/AntClassLoader.java
Index: AntClassLoader.java
===================================================================
RCS file: /home/cvs/jakarta-ant/proposal/myrmidon/src/main/org/apache/tools/ant/AntClassLoader.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- AntClassLoader.java 2001/12/15 14:55:53 1.2
+++ AntClassLoader.java 2001/12/15 15:20:23 1.3
@@ -128,6 +128,7 @@
* value of ${build.sysclasspath}
*/
public AntClassLoader( Project project, Path classpath )
+ throws TaskException
{
parent = AntClassLoader.class.getClassLoader();
this.project = project;
@@ -142,7 +143,7 @@
{
addPathElement( (String)pathElements[ i ] );
}
- catch( BuildException e )
+ catch( TaskException e )
{
// ignore path elements which are invalid relative to the project
}
@@ -162,6 +163,7 @@
*/
public AntClassLoader( ClassLoader parent, Project project, Path classpath,
boolean parentFirst )
+ throws TaskException
{
this( project, classpath );
if( parent != null )
@@ -182,6 +184,7 @@
* be consulted before trying to load the a class through this loader.
*/
public AntClassLoader( Project project, Path classpath, boolean parentFirst )
+ throws TaskException
{
this( null, project, classpath, parentFirst );
}
@@ -411,10 +414,10 @@
* Add an element to the classpath to be searched
*
* @param pathElement The feature to be added to the PathElement attribute
- * @exception BuildException Description of Exception
+ * @exception TaskException Description of Exception
*/
public void addPathElement( String pathElement )
- throws BuildException
+ throws TaskException
{
File pathComponent
= project != null ? FileUtils.newFileUtils().resolveFile( project.getBaseDir(), pathElement )
1.2 +6 -2 jakarta-ant/proposal/myrmidon/src/main/org/apache/tools/ant/Launcher.java
Index: Launcher.java
===================================================================
RCS file: /home/cvs/jakarta-ant/proposal/myrmidon/src/main/org/apache/tools/ant/Launcher.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- Launcher.java 2001/12/15 12:06:20 1.1
+++ Launcher.java 2001/12/15 15:20:23 1.2
@@ -6,6 +6,7 @@
* the LICENSE file.
*/
package org.apache.tools.ant;
+
import java.io.File;
import java.io.FilenameFilter;
import java.lang.reflect.Method;
@@ -13,6 +14,7 @@
import java.net.URL;
import java.util.Properties;
import java.util.StringTokenizer;
+import org.apache.myrmidon.api.TaskException;
/**
* This is the Ant command line front end to end. This front end works out where
@@ -24,6 +26,7 @@
{
public static void main( String[] args )
+ throws TaskException
{
File antHome = null;
ClassLoader systemClassLoader = Launcher.class.getClassLoader();
@@ -65,7 +68,7 @@
antLoader.initializeClass( mainClass );
final Class[] param = {Class.forName( "[Ljava.lang.String;" ),
- Properties.class, ClassLoader.class};
+ Properties.class, ClassLoader.class};
final Method startMethod = mainClass.getMethod( "start", param );
final Object[] argument = {args, launchProperties, systemClassLoader};
startMethod.invoke( null, argument );
@@ -78,6 +81,7 @@
}
private static void addDirJars( AntClassLoader classLoader, File jarDir )
+ throws TaskException
{
String[] fileList = jarDir.list(
new FilenameFilter()
@@ -92,7 +96,7 @@
{
for( int i = 0; i < fileList.length; ++i )
{
- File jarFile = new File( jarDir, fileList[i] );
+ File jarFile = new File( jarDir, fileList[ i ] );
classLoader.addPathElement( jarFile.getAbsolutePath() );
}
}
1.3 +24 -24 jakarta-ant/proposal/myrmidon/src/main/org/apache/tools/ant/Main.java
Index: Main.java
===================================================================
RCS file: /home/cvs/jakarta-ant/proposal/myrmidon/src/main/org/apache/tools/ant/Main.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- Main.java 2001/12/15 14:55:54 1.2
+++ Main.java 2001/12/15 15:20:23 1.3
@@ -6,6 +6,7 @@
* the LICENSE file.
*/
package org.apache.tools.ant;
+
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
@@ -107,7 +108,7 @@
for( int i = 0; i < args.length; i++ )
{
- String arg = args[i];
+ String arg = args[ i ];
if( arg.equals( "-help" ) )
{
@@ -137,7 +138,7 @@
{
try
{
- File logFile = new File( args[i + 1] );
+ File logFile = new File( args[ i + 1 ] );
i++;
out = new PrintStream( new FileOutputStream( logFile ) );
err = out;
@@ -163,7 +164,7 @@
{
try
{
- buildFile = new File( args[i + 1] );
+ buildFile = new File( args[ i + 1 ] );
i++;
}
catch( ArrayIndexOutOfBoundsException aioobe )
@@ -178,7 +179,7 @@
{
try
{
- listeners.addElement( args[i + 1] );
+ listeners.addElement( args[ i + 1 ] );
i++;
}
catch( ArrayIndexOutOfBoundsException aioobe )
@@ -212,7 +213,7 @@
name = name.substring( 0, posEq );
}
else if( i < args.length - 1 )
- value = args[++i];
+ value = args[ ++i ];
definedProps.put( name, value );
}
@@ -225,12 +226,12 @@
}
try
{
- loggerClassname = args[++i];
+ loggerClassname = args[ ++i ];
}
catch( ArrayIndexOutOfBoundsException aioobe )
{
System.out.println( "You must specify a classname when " +
- "using the -logger argument" );
+ "using the -logger argument" );
return;
}
}
@@ -248,7 +249,7 @@
// eat up next arg if present, default to build.xml
if( i < args.length - 1 )
{
- searchForThis = args[++i];
+ searchForThis = args[ ++i ];
}
else
{
@@ -278,7 +279,7 @@
if( searchForThis != null )
{
buildFile = findBuildFile( System.getProperty( "user.dir" ),
- searchForThis );
+ searchForThis );
}
else
{
@@ -329,7 +330,7 @@
catch( IOException ioe )
{
throw new TaskException( "Could not load the version information:"
- + ioe.getMessage() );
+ + ioe.getMessage() );
}
catch( NullPointerException npe )
{
@@ -339,7 +340,6 @@
return antVersion;
}
-
/**
* Command line entry point. This method kicks off the building of a project
* object and executes a build using either a given target or the default
@@ -376,9 +376,9 @@
if( additionalUserProperties != null )
{
- for( Enumeration e = additionalUserProperties.keys(); e.hasMoreElements(); )
+ for( Enumeration e = additionalUserProperties.keys(); e.hasMoreElements(); )
{
- String key = ( String )e.nextElement();
+ String key = (String)e.nextElement();
String property = additionalUserProperties.getProperty( key );
m.definedProps.put( key, property );
}
@@ -417,7 +417,7 @@
int res = names.size();
for( int i = 0; i < names.size() && res == names.size(); i++ )
{
- if( name.compareTo( ( String )names.elementAt( i ) ) < 0 )
+ if( name.compareTo( (String)names.elementAt( i ) ) < 0 )
{
res = i;
}
@@ -474,7 +474,7 @@
while( ptargets.hasMoreElements() )
{
- currentTarget = ( Target )ptargets.nextElement();
+ currentTarget = (Target)ptargets.nextElement();
targetName = currentTarget.getName();
targetDescription = currentTarget.getDescription();
// maintain a sorted list of targets
@@ -535,7 +535,7 @@
msg.append( names.elementAt( i ) );
if( descriptions != null )
{
- msg.append( spaces.substring( 0, maxlen - ( ( String )names.elementAt( i ) ).length() + 2 ) );
+ msg.append( spaces.substring( 0, maxlen - ( (String)names.elementAt( i ) ).length() + 2 ) );
msg.append( descriptions.elementAt( i ) );
}
msg.append( lSep );
@@ -576,18 +576,18 @@
}
protected void addBuildListeners( Project project )
+ throws TaskException
{
-
// Add the default listener
project.addBuildListener( createLogger() );
for( int i = 0; i < listeners.size(); i++ )
{
- String className = ( String )listeners.elementAt( i );
+ String className = (String)listeners.elementAt( i );
try
{
BuildListener listener =
- ( BuildListener )Class.forName( className ).newInstance();
+ (BuildListener)Class.forName( className ).newInstance();
project.addBuildListener( listener );
}
catch( Throwable exc )
@@ -631,18 +631,18 @@
{
try
{
- logger = ( BuildLogger )( Class.forName( loggerClassname ).newInstance() );
+ logger = (BuildLogger)( Class.forName( loggerClassname ).newInstance() );
}
catch( ClassCastException e )
{
System.err.println( "The specified logger class " + loggerClassname +
- " does not implement the BuildLogger interface" );
+ " does not implement the BuildLogger interface" );
throw new RuntimeException();
}
catch( Exception e )
{
System.err.println( "Unable to instantiate specified logger class " +
- loggerClassname + " : " + e.getClass().getName() );
+ loggerClassname + " : " + e.getClass().getName() );
throw new RuntimeException();
}
}
@@ -765,8 +765,8 @@
Enumeration e = definedProps.keys();
while( e.hasMoreElements() )
{
- String arg = ( String )e.nextElement();
- String value = ( String )definedProps.get( arg );
+ String arg = (String)e.nextElement();
+ String value = (String)definedProps.get( arg );
project.setUserProperty( arg, value );
}
1.3 +18 -17 jakarta-ant/proposal/myrmidon/src/main/org/apache/tools/ant/taskdefs/Definer.java
Index: Definer.java
===================================================================
RCS file: /home/cvs/jakarta-ant/proposal/myrmidon/src/main/org/apache/tools/ant/taskdefs/Definer.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- Definer.java 2001/12/15 14:55:54 1.2
+++ Definer.java 2001/12/15 15:20:23 1.3
@@ -6,14 +6,15 @@
* the LICENSE file.
*/
package org.apache.tools.ant.taskdefs;
+
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.util.Enumeration;
import java.util.Properties;
+import org.apache.myrmidon.api.TaskException;
import org.apache.tools.ant.AntClassLoader;
-import org.apache.tools.ant.BuildException;
import org.apache.tools.ant.Project;
import org.apache.tools.ant.Task;
import org.apache.tools.ant.types.Path;
@@ -87,7 +88,7 @@
}
public void execute()
- throws BuildException
+ throws TaskException
{
AntClassLoader al = createLoader();
@@ -98,9 +99,9 @@
if( name == null || value == null )
{
String msg = "name or classname attributes of "
- + getTaskName() + " element "
- + "are undefined";
- throw new BuildException( msg );
+ + getTaskName() + " element "
+ + "are undefined";
+ throw new TaskException( msg );
}
addDefinition( al, name, value );
@@ -113,14 +114,14 @@
if( name != null || value != null )
{
String msg = "You must not specify name or value "
- + "together with file or resource.";
- throw new BuildException( msg );
+ + "together with file or resource.";
+ throw new TaskException( msg );
}
if( file != null && resource != null )
{
String msg = "You must not specify both, file and resource.";
- throw new BuildException( msg );
+ throw new TaskException( msg );
}
Properties props = new Properties();
@@ -128,7 +129,7 @@
if( file != null )
{
log( "Loading definitions from file " + file,
- Project.MSG_VERBOSE );
+ Project.MSG_VERBOSE );
is = new FileInputStream( file );
if( is == null )
{
@@ -139,13 +140,13 @@
if( resource != null )
{
log( "Loading definitions from resource " + resource,
- Project.MSG_VERBOSE );
+ Project.MSG_VERBOSE );
is = al.getResourceAsStream( resource );
if( is == null )
{
log( "Could not load definitions from resource "
+ resource + ". It could not be found.",
- Project.MSG_WARN );
+ Project.MSG_WARN );
}
}
@@ -155,7 +156,7 @@
Enumeration keys = props.keys();
while( keys.hasMoreElements() )
{
- String n = ( String )keys.nextElement();
+ String n = (String)keys.nextElement();
String v = props.getProperty( n );
addDefinition( al, n, v );
}
@@ -163,7 +164,7 @@
}
catch( IOException ex )
{
- throw new BuildException( "Error", ex);
+ throw new TaskException( "Error", ex );
}
}
}
@@ -171,7 +172,7 @@
protected abstract void addDefinition( String name, Class c );
private void addDefinition( ClassLoader al, String name, String value )
- throws BuildException
+ throws TaskException
{
try
{
@@ -183,18 +184,18 @@
{
String msg = getTaskName() + " class " + value +
" cannot be found";
- throw new BuildException( msg, cnfe );
+ throw new TaskException( msg, cnfe );
}
catch( NoClassDefFoundError ncdfe )
{
String msg = getTaskName() + " class " + value +
" cannot be found";
- throw new BuildException( msg, ncdfe );
+ throw new TaskException( msg, ncdfe );
}
}
-
private AntClassLoader createLoader()
+ throws TaskException
{
AntClassLoader al = null;
if( classpath != null )
1.3 +16 -13 jakarta-ant/proposal/myrmidon/src/main/org/apache/tools/ant/taskdefs/Execute.java
Index: Execute.java
===================================================================
RCS file: /home/cvs/jakarta-ant/proposal/myrmidon/src/main/org/apache/tools/ant/taskdefs/Execute.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- Execute.java 2001/12/15 14:55:54 1.2
+++ Execute.java 2001/12/15 15:20:23 1.3
@@ -16,10 +16,12 @@
import java.lang.reflect.Method;
import java.util.Locale;
import java.util.Vector;
+import org.apache.myrmidon.api.TaskException;
+import org.apache.myrmidon.framework.Os;
import org.apache.tools.ant.BuildException;
import org.apache.tools.ant.Project;
import org.apache.tools.ant.Task;
-import org.apache.myrmidon.framework.Os;
+import org.apache.tools.ant.util.FileUtils;
import org.apache.tools.ant.types.Commandline;
/**
@@ -428,7 +430,7 @@
* @exception IOException Description of Exception
*/
public int execute()
- throws IOException
+ throws IOException, TaskException
{
CommandLauncher launcher = vmLauncher != null ? vmLauncher : shellLauncher;
if( !useVMLauncher )
@@ -547,7 +549,7 @@
* @exception IOException Description of Exception
*/
public Process exec( Project project, String[] cmd, String[] env )
- throws IOException
+ throws IOException, TaskException
{
if( project != null )
{
@@ -571,7 +573,7 @@
* @exception IOException Description of Exception
*/
public Process exec( Project project, String[] cmd, String[] env, File workingDir )
- throws IOException
+ throws IOException, TaskException
{
if( workingDir == null )
{
@@ -608,7 +610,7 @@
* @exception IOException Description of Exception
*/
public Process exec( Project project, String[] cmd, String[] env )
- throws IOException
+ throws IOException, TaskException
{
return _launcher.exec( project, cmd, env );
}
@@ -633,7 +635,7 @@
* @exception IOException Description of Exception
*/
public Process exec( Project project, String[] cmd, String[] env )
- throws IOException
+ throws IOException, TaskException
{
// Need to quote arguments with spaces, and to escape quote characters
String[] newcmd = new String[ cmd.length ];
@@ -741,7 +743,7 @@
* @exception IOException Description of Exception
*/
public Process exec( Project project, String[] cmd, String[] env, File workingDir )
- throws IOException
+ throws IOException, TaskException
{
if( workingDir == null )
{
@@ -768,7 +770,6 @@
*/
private static class PerlScriptCommandLauncher extends CommandLauncherProxy
{
-
private String _script;
PerlScriptCommandLauncher( String script, CommandLauncher launcher )
@@ -789,7 +790,7 @@
* @exception IOException Description of Exception
*/
public Process exec( Project project, String[] cmd, String[] env, File workingDir )
- throws IOException
+ throws IOException, TaskException
{
if( project == null )
{
@@ -806,7 +807,8 @@
{
throw new IOException( "Cannot locate antRun script: Property 'ant.home' not found" );
}
- String antRun = resolveFile( antHome + File.separator + _script ).toString();
+ String antRun = FileUtils.newFileUtils().
+ resolveFile( project.getBaseDir(), antHome + File.separator + _script ).toString();
// Build the command
File commandDir = workingDir;
@@ -854,7 +856,7 @@
* @exception IOException Description of Exception
*/
public Process exec( Project project, String[] cmd, String[] env, File workingDir )
- throws IOException
+ throws IOException, TaskException
{
if( project == null )
{
@@ -871,7 +873,8 @@
{
throw new IOException( "Cannot locate antRun script: Property 'ant.home' not found" );
}
- String antRun = resolveFile( antHome + File.separator + _script ).toString();
+ String antRun = FileUtils.newFileUtils().
+ resolveFile( project.getBaseDir(), antHome + File.separator + _script ).toString();
// Build the command
File commandDir = workingDir;
@@ -914,7 +917,7 @@
* @exception IOException Description of Exception
*/
public Process exec( Project project, String[] cmd, String[] env, File workingDir )
- throws IOException
+ throws IOException, TaskException
{
File commandDir = workingDir;
if( workingDir == null )
1.3 +21 -18 jakarta-ant/proposal/myrmidon/src/main/org/apache/tools/ant/taskdefs/Property.java
Index: Property.java
===================================================================
RCS file: /home/cvs/jakarta-ant/proposal/myrmidon/src/main/org/apache/tools/ant/taskdefs/Property.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- Property.java 2001/12/15 14:55:54 1.2
+++ Property.java 2001/12/15 15:20:23 1.3
@@ -6,6 +6,7 @@
* the LICENSE file.
*/
package org.apache.tools.ant.taskdefs;
+
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
@@ -13,6 +14,7 @@
import java.util.Enumeration;
import java.util.Properties;
import java.util.Vector;
+import org.apache.myrmidon.api.TaskException;
import org.apache.tools.ant.AntClassLoader;
import org.apache.tools.ant.BuildException;
import org.apache.tools.ant.Project;
@@ -144,20 +146,20 @@
}
public void execute()
- throws BuildException
+ throws TaskException
{
if( name != null )
{
if( value == null && ref == null )
{
- throw new BuildException( "You must specify value, location or refid with the name attribute" );
+ throw new TaskException( "You must specify value, location or refid with the name attribute" );
}
}
else
{
if( file == null && resource == null && env == null )
{
- throw new BuildException( "You must specify file, resource or environment when not using the name attribute" );
+ throw new TaskException( "You must specify file, resource or environment when not using the name attribute" );
}
}
@@ -196,8 +198,8 @@
Enumeration e = props.keys();
while( e.hasMoreElements() )
{
- String name = ( String )e.nextElement();
- String value = ( String )props.getProperty( name );
+ String name = (String)e.nextElement();
+ String value = (String)props.getProperty( name );
String v = project.replaceProperties( value );
addProperty( name, v );
@@ -230,9 +232,9 @@
prefix += ".";
log( "Loading Environment " + prefix, Project.MSG_VERBOSE );
Vector osEnv = Execute.getProcEnvironment();
- for( Enumeration e = osEnv.elements(); e.hasMoreElements(); )
+ for( Enumeration e = osEnv.elements(); e.hasMoreElements(); )
{
- String entry = ( String )e.nextElement();
+ String entry = (String)e.nextElement();
int pos = entry.indexOf( '=' );
if( pos == -1 )
{
@@ -241,14 +243,14 @@
else
{
props.put( prefix + entry.substring( 0, pos ),
- entry.substring( pos + 1 ) );
+ entry.substring( pos + 1 ) );
}
}
addProperties( props );
}
protected void loadFile( File file )
- throws BuildException
+ throws TaskException
{
Properties props = new Properties();
log( "Loading " + file.getAbsolutePath(), Project.MSG_VERBOSE );
@@ -273,16 +275,17 @@
else
{
log( "Unable to find property file: " + file.getAbsolutePath(),
- Project.MSG_VERBOSE );
+ Project.MSG_VERBOSE );
}
}
catch( IOException ex )
{
- throw new BuildException( "Error", ex );
+ throw new TaskException( "Error", ex );
}
}
protected void loadResource( String name )
+ throws TaskException
{
Properties props = new Properties();
log( "Resource Loading " + name, Project.MSG_VERBOSE );
@@ -321,16 +324,16 @@
}
catch( IOException ex )
{
- throw new BuildException( "Error", ex );
+ throw new TaskException( "Error", ex );
}
}
private void resolveAllProperties( Properties props )
- throws BuildException
+ throws TaskException
{
- for( Enumeration e = props.keys(); e.hasMoreElements(); )
+ for( Enumeration e = props.keys(); e.hasMoreElements(); )
{
- String name = ( String )e.nextElement();
+ String name = (String)e.nextElement();
String value = props.getProperty( name );
boolean resolved = false;
@@ -348,13 +351,13 @@
Enumeration j = propertyRefs.elements();
while( i.hasMoreElements() )
{
- String fragment = ( String )i.nextElement();
+ String fragment = (String)i.nextElement();
if( fragment == null )
{
- String propertyName = ( String )j.nextElement();
+ String propertyName = (String)j.nextElement();
if( propertyName.equals( name ) )
{
- throw new BuildException( "Property " + name + " was circularly defined." );
+ throw new TaskException( "Property " + name + " was circularly defined." );
}
fragment = getProject().getProperty( propertyName );
if( fragment == null )
1.3 +29 -27 jakarta-ant/proposal/myrmidon/src/main/org/apache/tools/ant/taskdefs/Rmic.java
Index: Rmic.java
===================================================================
RCS file: /home/cvs/jakarta-ant/proposal/myrmidon/src/main/org/apache/tools/ant/taskdefs/Rmic.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- Rmic.java 2001/12/15 14:55:54 1.2
+++ Rmic.java 2001/12/15 15:20:23 1.3
@@ -6,12 +6,13 @@
* the LICENSE file.
*/
package org.apache.tools.ant.taskdefs;
+
import java.io.File;
import java.io.IOException;
import java.rmi.Remote;
import java.util.Vector;
+import org.apache.myrmidon.api.TaskException;
import org.apache.tools.ant.AntClassLoader;
-import org.apache.tools.ant.BuildException;
import org.apache.tools.ant.DirectoryScanner;
import org.apache.tools.ant.Project;
import org.apache.tools.ant.taskdefs.rmic.RmicAdapter;
@@ -19,8 +20,8 @@
import org.apache.tools.ant.types.Path;
import org.apache.tools.ant.types.Reference;
import org.apache.tools.ant.util.FileNameMapper;
-import org.apache.tools.ant.util.SourceFileScanner;
import org.apache.tools.ant.util.FileUtils;
+import org.apache.tools.ant.util.SourceFileScanner;
/**
* Task to compile RMI stubs and skeletons. This task can take the following
@@ -60,7 +61,7 @@
{
private final static String FAIL_MSG
- = "Rmic failed, messages should have been provided.";
+ = "Rmic failed, messages should have been provided.";
private boolean verify = false;
private boolean filtering = false;
@@ -413,9 +414,9 @@
{
for( int i = 0; i < interfaces.length; i++ )
{
- if( Remote.class.isAssignableFrom( interfaces[i] ) )
+ if( Remote.class.isAssignableFrom( interfaces[ i ] ) )
{
- return interfaces[i];
+ return interfaces[ i ];
}
}
}
@@ -469,18 +470,18 @@
catch( ClassNotFoundException e )
{
log( "Unable to verify class " + classname +
- ". It could not be found.", Project.MSG_WARN );
+ ". It could not be found.", Project.MSG_WARN );
}
catch( NoClassDefFoundError e )
{
log( "Unable to verify class " + classname +
- ". It is not defined.", Project.MSG_WARN );
+ ". It is not defined.", Project.MSG_WARN );
}
catch( Throwable t )
{
log( "Unable to verify class " + classname +
- ". Loading caused Exception: " +
- t.getMessage(), Project.MSG_WARN );
+ ". Loading caused Exception: " +
+ t.getMessage(), Project.MSG_WARN );
}
// we only get here if an exception has been thrown
return false;
@@ -515,15 +516,15 @@
}
public void execute()
- throws BuildException
+ throws TaskException
{
if( baseDir == null )
{
- throw new BuildException( "base attribute must be set!" );
+ throw new TaskException( "base attribute must be set!" );
}
if( !baseDir.exists() )
{
- throw new BuildException( "base does not exist!" );
+ throw new TaskException( "base does not exist!" );
}
if( verify )
@@ -552,21 +553,21 @@
{
// otherwise perform a timestamp comparison - at least
scanDir( baseDir,
- new String[]{classname.replace( '.', File.separatorChar ) + ".class"},
- adapter.getMapper() );
+ new String[]{classname.replace( '.', File.separatorChar ) + ".class"},
+ adapter.getMapper() );
}
int fileCount = compileList.size();
if( fileCount > 0 )
{
log( "RMI Compiling " + fileCount +
- " class" + ( fileCount > 1 ? "es" : "" ) + " to " + baseDir,
- Project.MSG_INFO );
+ " class" + ( fileCount > 1 ? "es" : "" ) + " to " + baseDir,
+ Project.MSG_INFO );
// finally, lets execute the compiler!!
if( !adapter.execute() )
{
- throw new BuildException( FAIL_MSG );
+ throw new TaskException( FAIL_MSG );
}
}
@@ -580,7 +581,7 @@
if( idl )
{
log( "Cannot determine sourcefiles in idl mode, ",
- Project.MSG_WARN );
+ Project.MSG_WARN );
log( "sourcebase attribute will be ignored.", Project.MSG_WARN );
}
else
@@ -588,8 +589,8 @@
for( int j = 0; j < fileCount; j++ )
{
moveGeneratedFile( baseDir, sourceBase,
- ( String )compileList.elementAt( j ),
- adapter );
+ (String)compileList.elementAt( j ),
+ adapter );
}
}
}
@@ -612,13 +613,13 @@
if( idl )
{
log( "will leave uptodate test to rmic implementation in idl mode.",
- Project.MSG_VERBOSE );
+ Project.MSG_VERBOSE );
}
else if( iiop
- && iiopopts != null && iiopopts.indexOf( "-always" ) > -1 )
+ && iiopopts != null && iiopopts.indexOf( "-always" ) > -1 )
{
log( "no uptodate test as -always option has been specified",
- Project.MSG_VERBOSE );
+ Project.MSG_VERBOSE );
}
else
{
@@ -628,7 +629,7 @@
for( int i = 0; i < newFiles.length; i++ )
{
- String classname = newFiles[i].replace( File.separatorChar, '.' );
+ String classname = newFiles[ i ].replace( File.separatorChar, '.' );
classname = classname.substring( 0, classname.lastIndexOf( ".class" ) );
compileList.addElement( classname );
}
@@ -652,12 +653,12 @@
* @param sourceBaseFile Description of Parameter
* @param classname Description of Parameter
* @param adapter Description of Parameter
- * @exception BuildException Description of Exception
+ * @exception TaskException Description of Exception
*/
private void moveGeneratedFile( File baseDir, File sourceBaseFile,
String classname,
RmicAdapter adapter )
- throws BuildException
+ throws TaskException
{
String classFileName =
@@ -679,8 +680,9 @@
catch( IOException ioe )
{
String msg = "Failed to copy " + oldFile + " to " +
+ newFile + " due to " + ioe.getMessage();
newFile + " due to " + ioe.getMessage();
- throw new BuildException( msg, ioe );
+ throw new TaskException( msg, ioe );
}
}
}
1.3 +32 -31 jakarta-ant/proposal/myrmidon/src/main/org/apache/tools/ant/taskdefs/SQLExec.java
Index: SQLExec.java
===================================================================
RCS file: /home/cvs/jakarta-ant/proposal/myrmidon/src/main/org/apache/tools/ant/taskdefs/SQLExec.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- SQLExec.java 2001/12/15 14:55:54 1.2
+++ SQLExec.java 2001/12/15 15:20:23 1.3
@@ -6,6 +6,7 @@
* the LICENSE file.
*/
package org.apache.tools.ant.taskdefs;
+
import java.io.BufferedOutputStream;
import java.io.BufferedReader;
import java.io.File;
@@ -30,15 +31,14 @@
import java.util.StringTokenizer;
import java.util.Vector;
import org.apache.tools.ant.AntClassLoader;
-import org.apache.tools.ant.BuildException;
import org.apache.tools.ant.DirectoryScanner;
import org.apache.tools.ant.Project;
-import org.apache.tools.ant.ProjectHelper;
import org.apache.tools.ant.Task;
import org.apache.tools.ant.types.EnumeratedAttribute;
import org.apache.tools.ant.types.FileSet;
import org.apache.tools.ant.types.Path;
import org.apache.tools.ant.types.Reference;
+import org.apache.myrmidon.api.TaskException;
/**
* Reads in a text file containing SQL statements seperated with semicolons and
@@ -258,7 +258,6 @@
this.output = output;
}
-
/**
* Set the password for the DB connection.
*
@@ -373,7 +372,6 @@
return this.classpath.createPath();
}
-
/**
* Set the sql command to execute
*
@@ -389,10 +387,10 @@
/**
* Load the sql file and then execute it
*
- * @exception BuildException Description of Exception
+ * @exception TaskException Description of Exception
*/
public void execute()
- throws BuildException
+ throws TaskException
{
sqlCommand = sqlCommand.trim();
@@ -400,7 +398,7 @@
{
if( transactions.size() == 0 )
{
- throw new BuildException( "Source file or fileset, transactions or sql statement must be set!" );
+ throw new TaskException( "Source file or fileset, transactions or sql statement must be set!" );
}
}
else
@@ -408,7 +406,7 @@
// deal with the filesets
for( int i = 0; i < filesets.size(); i++ )
{
- FileSet fs = ( FileSet )filesets.elementAt( i );
+ FileSet fs = (FileSet)filesets.elementAt( i );
DirectoryScanner ds = fs.getDirectoryScanner( project );
File srcDir = fs.getDir( project );
@@ -418,7 +416,7 @@
for( int j = 0; j < srcFiles.length; j++ )
{
Transaction t = createTransaction();
- t.setSrc( new File( srcDir, srcFiles[j] ) );
+ t.setSrc( new File( srcDir, srcFiles[ j ] ) );
}
}
@@ -430,23 +428,23 @@
if( driver == null )
{
- throw new BuildException( "Driver attribute must be set!" );
+ throw new TaskException( "Driver attribute must be set!" );
}
if( userId == null )
{
- throw new BuildException( "User Id attribute must be set!" );
+ throw new TaskException( "User Id attribute must be set!" );
}
if( password == null )
{
- throw new BuildException( "Password attribute must be set!" );
+ throw new TaskException( "Password attribute must be set!" );
}
if( url == null )
{
- throw new BuildException( "Url attribute must be set!" );
+ throw new TaskException( "Url attribute must be set!" );
}
if( srcFile != null && !srcFile.exists() )
{
- throw new BuildException( "Source file does not exist!" );
+ throw new TaskException( "Source file does not exist!" );
}
Driver driverInstance = null;
// Load the driver using the
@@ -456,7 +454,7 @@
if( classpath != null )
{
log( "Loading " + driver + " using AntClassLoader with classpath " + classpath,
- Project.MSG_VERBOSE );
+ Project.MSG_VERBOSE );
loader = new AntClassLoader( project, classpath );
dc = loader.loadClass( driver );
@@ -466,19 +464,19 @@
log( "Loading " + driver + " using system loader.", Project.MSG_VERBOSE );
dc = Class.forName( driver );
}
- driverInstance = ( Driver )dc.newInstance();
+ driverInstance = (Driver)dc.newInstance();
}
catch( ClassNotFoundException e )
{
- throw new BuildException( "Class Not Found: JDBC driver " + driver + " could not be loaded" );
+ throw new TaskException( "Class Not Found: JDBC driver " + driver + " could not be loaded" );
}
catch( IllegalAccessException e )
{
- throw new BuildException( "Illegal Access: JDBC driver " + driver + " could not be loaded" );
+ throw new TaskException( "Illegal Access: JDBC driver " + driver + " could not be loaded" );
}
catch( InstantiationException e )
{
- throw new BuildException( "Instantiation Exception: JDBC driver " + driver + " could not be loaded" );
+ throw new TaskException( "Instantiation Exception: JDBC driver " + driver + " could not be loaded" );
}
try
@@ -513,10 +511,10 @@
// Process all transactions
for( Enumeration e = transactions.elements();
- e.hasMoreElements(); )
+ e.hasMoreElements(); )
{
- ( ( Transaction )e.nextElement() ).runTransaction( out );
+ ( (Transaction)e.nextElement() ).runTransaction( out );
if( !autocommit )
{
log( "Commiting transaction", Project.MSG_VERBOSE );
@@ -541,9 +539,10 @@
conn.rollback();
}
catch( SQLException ex )
- {}
+ {
+ }
}
- throw new BuildException( "Error", e );
+ throw new TaskException( "Error", e );
}
catch( SQLException e )
{
@@ -554,9 +553,10 @@
conn.rollback();
}
catch( SQLException ex )
- {}
+ {
+ }
}
- throw new BuildException( "Error", e );
+ throw new TaskException( "Error", e );
}
finally
{
@@ -572,11 +572,12 @@
}
}
catch( SQLException e )
- {}
+ {
+ }
}
log( goodSql + " of " + totalSql +
- " SQL statements executed successfully" );
+ " SQL statements executed successfully" );
}
/**
@@ -650,7 +651,7 @@
if( !statement.execute( sql ) )
{
log( statement.getUpdateCount() + " rows affected",
- Project.MSG_VERBOSE );
+ Project.MSG_VERBOSE );
}
else
{
@@ -733,7 +734,7 @@
line.setLength( 0 );
}
}
- }while ( statement.getMoreResults() );
+ } while( statement.getMoreResults() );
out.println();
}
@@ -855,9 +856,9 @@
if( tSrcFile != null )
{
log( "Executing file: " + tSrcFile.getAbsolutePath(),
- Project.MSG_INFO );
+ Project.MSG_INFO );
Reader reader = ( encoding == null ) ? new FileReader( tSrcFile )
- : new InputStreamReader( new FileInputStream( tSrcFile ), encoding );
+ : new InputStreamReader( new FileInputStream( tSrcFile ), encoding );
runStatements( reader, out );
reader.close();
}
1.2 +40 -37 jakarta-ant/proposal/myrmidon/src/main/org/apache/tools/ant/taskdefs/optional/XMLValidateTask.java
Index: XMLValidateTask.java
===================================================================
RCS file: /home/cvs/jakarta-ant/proposal/myrmidon/src/main/org/apache/tools/ant/taskdefs/optional/XMLValidateTask.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- XMLValidateTask.java 2001/12/15 12:06:24 1.1
+++ XMLValidateTask.java 2001/12/15 15:20:24 1.2
@@ -6,6 +6,7 @@
* the LICENSE file.
*/
package org.apache.tools.ant.taskdefs.optional;
+
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
@@ -17,8 +18,8 @@
import java.util.Enumeration;
import java.util.Hashtable;
import java.util.Vector;
+import org.apache.myrmidon.api.TaskException;
import org.apache.tools.ant.AntClassLoader;
-import org.apache.tools.ant.BuildException;
import org.apache.tools.ant.DirectoryScanner;
import org.apache.tools.ant.Project;
import org.apache.tools.ant.Task;
@@ -73,7 +74,7 @@
*/
protected XMLReader xmlReader = null;// XMLReader used to validation process
protected ValidatorErrorHandler errorHandler
- = new ValidatorErrorHandler();// to report sax parsing errors
+ = new ValidatorErrorHandler();// to report sax parsing errors
protected Hashtable features = new Hashtable();
/**
@@ -102,7 +103,6 @@
readerClassName = className;
}
-
/**
* Specify the classpath to be searched to load the parser (optional)
*
@@ -133,7 +133,7 @@
/**
* Specify how parser error are to be handled. <p>
*
- * If set to <code>true</code> (default), throw a buildException if the
+ * If set to <code>true</code> (default), throw a TaskException if the
* parser yields an error.
*
* @param fail The new FailOnError value
@@ -226,13 +226,13 @@
}
public void execute()
- throws BuildException
+ throws TaskException
{
int fileProcessed = 0;
if( file == null && ( filesets.size() == 0 ) )
{
- throw new BuildException( "Specify at least one source - a file or a fileset." );
+ throw new TaskException( "Specify at least one source - a file or a fileset." );
}
initValidator();
@@ -248,7 +248,7 @@
{
String errorMsg = "File " + file + " cannot be read";
if( failOnError )
- throw new BuildException( errorMsg );
+ throw new TaskException( errorMsg );
else
log( errorMsg, Project.MSG_ERR );
}
@@ -257,13 +257,13 @@
for( int i = 0; i < filesets.size(); i++ )
{
- FileSet fs = ( FileSet )filesets.elementAt( i );
+ FileSet fs = (FileSet)filesets.elementAt( i );
DirectoryScanner ds = fs.getDirectoryScanner( project );
String[] files = ds.getIncludedFiles();
for( int j = 0; j < files.length; j++ )
{
- File srcFile = new File( fs.getDir( project ), files[j] );
+ File srcFile = new File( fs.getDir( project ), files[ j ] );
doValidate( srcFile );
fileProcessed++;
}
@@ -275,9 +275,9 @@
{
LocalResolver resolver = new LocalResolver();
- for( Enumeration i = dtdLocations.elements(); i.hasMoreElements(); )
+ for( Enumeration i = dtdLocations.elements(); i.hasMoreElements(); )
{
- DTDLocation location = ( DTDLocation )i.nextElement();
+ DTDLocation location = (DTDLocation)i.nextElement();
resolver.registerDTD( location );
}
return resolver;
@@ -302,7 +302,7 @@
log( "Could not set feature '"
+ feature
+ "' because the parser doesn't recognize it",
- Project.MSG_WARN );
+ Project.MSG_WARN );
}
catch( SAXNotSupportedException e )
{
@@ -310,7 +310,7 @@
log( "Could not set feature '"
+ feature
+ "' because the parser doesn't support it",
- Project.MSG_WARN );
+ Project.MSG_WARN );
}
return toReturn;
}
@@ -327,7 +327,7 @@
InputSource is = new InputSource( new FileReader( afile ) );
String uri = "file:" + afile.getAbsolutePath().replace( '\\', '/' );
for( int index = uri.indexOf( '#' ); index != -1;
- index = uri.indexOf( '#' ) )
+ index = uri.indexOf( '#' ) )
{
uri = uri.substring( 0, index ) + "%23" + uri.substring( index + 1 );
}
@@ -337,17 +337,17 @@
catch( SAXException ex )
{
if( failOnError )
- throw new BuildException( "Could not validate document " + afile );
+ throw new TaskException( "Could not validate document " + afile );
}
catch( IOException ex )
{
- throw new BuildException( "Could not validate document " + afile, ex );
+ throw new TaskException( "Could not validate document " + afile, ex );
}
if( errorHandler.getFailure() )
{
if( failOnError )
- throw new BuildException( afile + " is not a valid XML document." );
+ throw new TaskException( afile + " is not a valid XML document." );
else
log( afile + " is not a valid XML document", Project.MSG_ERR );
}
@@ -357,6 +357,7 @@
* init the parser : load the parser class, and set features if necessary
*/
private void initValidator()
+ throws TaskException
{
try
@@ -369,7 +370,7 @@
if( classpath != null )
{
AntClassLoader loader = new AntClassLoader( project, classpath );
-// loader.addSystemPackageRoot("org.xml"); // needed to avoid conflict
+ // loader.addSystemPackageRoot("org.xml"); // needed to avoid conflict
readerClass = loader.loadClass( readerClassName );
AntClassLoader.initializeClass( readerClass );
}
@@ -380,7 +381,7 @@
if( XMLReader.class.isAssignableFrom( readerClass ) )
{
- xmlReader = ( XMLReader )readerClass.newInstance();
+ xmlReader = (XMLReader)readerClass.newInstance();
log( "Using SAX2 reader " + readerClassName, Project.MSG_VERBOSE );
}
else
@@ -389,29 +390,29 @@
// see if it is a SAX1 Parser
if( Parser.class.isAssignableFrom( readerClass ) )
{
- Parser parser = ( Parser )readerClass.newInstance();
+ Parser parser = (Parser)readerClass.newInstance();
xmlReader = new ParserAdapter( parser );
log( "Using SAX1 parser " + readerClassName, Project.MSG_VERBOSE );
}
else
{
- throw new BuildException( INIT_FAILED_MSG
- + readerClassName
- + " implements nor SAX1 Parser nor SAX2 XMLReader." );
+ throw new TaskException( INIT_FAILED_MSG
+ + readerClassName
+ + " implements nor SAX1 Parser nor SAX2 XMLReader." );
}
}
}
catch( ClassNotFoundException e )
{
- throw new BuildException( INIT_FAILED_MSG + readerClassName, e );
+ throw new TaskException( INIT_FAILED_MSG + readerClassName, e );
}
catch( InstantiationException e )
{
- throw new BuildException( INIT_FAILED_MSG + readerClassName, e );
+ throw new TaskException( INIT_FAILED_MSG + readerClassName, e );
}
catch( IllegalAccessException e )
{
- throw new BuildException( INIT_FAILED_MSG + readerClassName, e );
+ throw new TaskException( INIT_FAILED_MSG + readerClassName, e );
}
xmlReader.setEntityResolver( getEntityResolver() );
@@ -425,17 +426,17 @@
boolean ok = setFeature( "http://xml.org/sax/features/validation", true, true );
if( !ok )
{
- throw new BuildException( INIT_FAILED_MSG
- + readerClassName
- + " doesn't provide validation" );
+ throw new TaskException( INIT_FAILED_MSG
+ + readerClassName
+ + " doesn't provide validation" );
}
}
// set other features
Enumeration enum = features.keys();
while( enum.hasMoreElements() )
{
- String featureId = ( String )enum.nextElement();
- setFeature( featureId, ( ( Boolean )features.get( featureId ) ).booleanValue(), true );
+ String featureId = (String)enum.nextElement();
+ setFeature( featureId, ( (Boolean)features.get( featureId ) ).booleanValue(), true );
}
}
}
@@ -542,13 +543,15 @@
}
private class LocalResolver
- implements EntityResolver
+ implements EntityResolver
{
private Hashtable fileDTDs = new Hashtable();
private Hashtable resourceDTDs = new Hashtable();
private Hashtable urlDTDs = new Hashtable();
- public LocalResolver() { }
+ public LocalResolver()
+ {
+ }
public void registerDTD( String publicId, String location )
{
@@ -599,7 +602,7 @@
public InputSource resolveEntity( String publicId, String systemId )
throws SAXException
{
- File dtdFile = ( File )fileDTDs.get( publicId );
+ File dtdFile = (File)fileDTDs.get( publicId );
if( dtdFile != null )
{
try
@@ -613,7 +616,7 @@
}
}
- String dtdResourceName = ( String )resourceDTDs.get( publicId );
+ String dtdResourceName = (String)resourceDTDs.get( publicId );
if( dtdResourceName != null )
{
InputStream is = this.getClass().getResourceAsStream( dtdResourceName );
@@ -624,7 +627,7 @@
}
}
- URL dtdUrl = ( URL )urlDTDs.get( publicId );
+ URL dtdUrl = (URL)urlDTDs.get( publicId );
if( dtdUrl != null )
{
try
@@ -640,7 +643,7 @@
}
log( "Could not resolve ( publicId: " + publicId + ", systemId: " + systemId + ") to a local entity",
- Project.MSG_INFO );
+ Project.MSG_INFO );
return null;
}
1.3 +63 -66 jakarta-ant/proposal/myrmidon/src/main/org/apache/tools/ant/taskdefs/optional/depend/Depend.java
Index: Depend.java
===================================================================
RCS file: /home/cvs/jakarta-ant/proposal/myrmidon/src/main/org/apache/tools/ant/taskdefs/optional/depend/Depend.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- Depend.java 2001/12/15 14:55:57 1.2
+++ Depend.java 2001/12/15 15:20:24 1.3
@@ -6,6 +6,7 @@
* the LICENSE file.
*/
package org.apache.tools.ant.taskdefs.optional.depend;
+
import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
@@ -17,15 +18,14 @@
import java.util.Enumeration;
import java.util.Hashtable;
import java.util.Vector;
+import org.apache.myrmidon.api.TaskException;
import org.apache.tools.ant.AntClassLoader;
-import org.apache.tools.ant.BuildException;
import org.apache.tools.ant.DirectoryScanner;
import org.apache.tools.ant.Project;
import org.apache.tools.ant.taskdefs.MatchingTask;
import org.apache.tools.ant.types.Path;
import org.apache.tools.ant.types.Reference;
-
/**
* Generate a dependency file for a given set of classes
*
@@ -152,7 +152,6 @@
this.dump = dump;
}
-
/**
* Set the source dirs to find the source Java files.
*
@@ -190,10 +189,10 @@
/**
* Does the work.
*
- * @exception BuildException Thrown in unrecovrable error.
+ * @exception TaskException Thrown in unrecovrable error.
*/
public void execute()
- throws BuildException
+ throws TaskException
{
try
{
@@ -201,7 +200,7 @@
String[] srcPathList = srcPath.list();
if( srcPathList.length == 0 )
{
- throw new BuildException( "srcdir attribute must be set!" );
+ throw new TaskException( "srcdir attribute must be set!" );
}
if( destPath == null )
@@ -211,7 +210,7 @@
if( cache != null && cache.exists() && !cache.isDirectory() )
{
- throw new BuildException( "The cache, if specified, must point to a directory" );
+ throw new TaskException( "The cache, if specified, must point to a directory" );
}
if( cache != null && !cache.exists() )
@@ -224,16 +223,16 @@
if( dump )
{
log( "Reverse Dependency Dump for " + affectedClassMap.size() +
- " classes:", Project.MSG_DEBUG );
- for( Enumeration e = affectedClassMap.keys(); e.hasMoreElements(); )
+ " classes:", Project.MSG_DEBUG );
+ for( Enumeration e = affectedClassMap.keys(); e.hasMoreElements(); )
{
- String className = ( String )e.nextElement();
+ String className = (String)e.nextElement();
log( " Class " + className + " affects:", Project.MSG_DEBUG );
- Hashtable affectedClasses = ( Hashtable )affectedClassMap.get( className );
- for( Enumeration e2 = affectedClasses.keys(); e2.hasMoreElements(); )
+ Hashtable affectedClasses = (Hashtable)affectedClassMap.get( className );
+ for( Enumeration e2 = affectedClasses.keys(); e2.hasMoreElements(); )
{
- String affectedClass = ( String )e2.nextElement();
- ClassFileInfo info = ( ClassFileInfo )affectedClasses.get( affectedClass );
+ String affectedClass = (String)e2.nextElement();
+ ClassFileInfo info = (ClassFileInfo)affectedClasses.get( affectedClass );
log( " " + affectedClass + " in " + info.absoluteFile.getPath(), Project.MSG_DEBUG );
}
}
@@ -241,14 +240,14 @@
if( classpathDependencies != null )
{
log( "Classpath file dependencies (Forward):", Project.MSG_DEBUG );
- for( Enumeration e = classpathDependencies.keys(); e.hasMoreElements(); )
+ for( Enumeration e = classpathDependencies.keys(); e.hasMoreElements(); )
{
- String className = ( String )e.nextElement();
+ String className = (String)e.nextElement();
log( " Class " + className + " depends on:", Project.MSG_DEBUG );
- Hashtable dependencies = ( Hashtable )classpathDependencies.get( className );
- for( Enumeration e2 = dependencies.elements(); e2.hasMoreElements(); )
+ Hashtable dependencies = (Hashtable)classpathDependencies.get( className );
+ for( Enumeration e2 = dependencies.elements(); e2.hasMoreElements(); )
{
- File classpathFile = ( File )e2.nextElement();
+ File classpathFile = (File)e2.nextElement();
log( " " + classpathFile.getPath(), Project.MSG_DEBUG );
}
}
@@ -261,7 +260,7 @@
outOfDateClasses = new Hashtable();
for( int i = 0; i < srcPathList.length; i++ )
{
- File srcDir = ( File )resolveFile( srcPathList[i] );
+ File srcDir = (File)resolveFile( srcPathList[ i ] );
if( srcDir.exists() )
{
DirectoryScanner ds = this.getDirectoryScanner( srcDir );
@@ -273,25 +272,25 @@
// now check classpath file dependencies
if( classpathDependencies != null )
{
- for( Enumeration e = classpathDependencies.keys(); e.hasMoreElements(); )
+ for( Enumeration e = classpathDependencies.keys(); e.hasMoreElements(); )
{
- String className = ( String )e.nextElement();
+ String className = (String)e.nextElement();
if( !outOfDateClasses.containsKey( className ) )
{
- ClassFileInfo info = ( ClassFileInfo )classFileInfoMap.get( className );
+ ClassFileInfo info = (ClassFileInfo)classFileInfoMap.get( className );
// if we have no info about the class - it may have been deleted already and we
// are using cached info.
if( info != null )
{
- Hashtable dependencies = ( Hashtable )classpathDependencies.get( className );
- for( Enumeration e2 = dependencies.elements(); e2.hasMoreElements(); )
+ Hashtable dependencies = (Hashtable)classpathDependencies.get( className );
+ for( Enumeration e2 = dependencies.elements(); e2.hasMoreElements(); )
{
- File classpathFile = ( File )e2.nextElement();
+ File classpathFile = (File)e2.nextElement();
if( classpathFile.lastModified() > info.absoluteFile.lastModified() )
{
log( "Class " + className +
- " is out of date with respect to " + classpathFile, Project.MSG_DEBUG );
+ " is out of date with respect to " + classpathFile, Project.MSG_DEBUG );
outOfDateClasses.put( className, className );
break;
}
@@ -310,7 +309,7 @@
}
catch( Exception e )
{
- throw new BuildException( "Error", e );
+ throw new TaskException( "Error", e );
}
}
@@ -328,14 +327,14 @@
for( int i = 0; i < files.length; i++ )
{
- File srcFile = new File( srcDir, files[i] );
- if( files[i].endsWith( ".java" ) )
+ File srcFile = new File( srcDir, files[ i ] );
+ if( files[ i ].endsWith( ".java" ) )
{
String filePath = srcFile.getPath();
String className = filePath.substring( srcDir.getPath().length() + 1,
- filePath.length() - ".java".length() );
+ filePath.length() - ".java".length() );
className = ClassFileUtils.convertSlashName( className );
- ClassFileInfo info = ( ClassFileInfo )classFileInfoMap.get( className );
+ ClassFileInfo info = (ClassFileInfo)classFileInfoMap.get( className );
if( info == null )
{
// there was no class file. add this class to the list
@@ -352,7 +351,6 @@
}
}
-
/**
* Get the list of class files we are going to analyse.
*
@@ -369,7 +367,7 @@
for( int i = 0; i < classLocationsList.length; ++i )
{
- File dir = new File( classLocationsList[i] );
+ File dir = new File( classLocationsList[ i ] );
if( dir.isDirectory() )
{
addClassFiles( classFileList, dir, dir );
@@ -397,7 +395,7 @@
for( int i = 0; i < length; ++i )
{
- File file = new File( dir, filesInDir[i] );
+ File file = new File( dir, filesInDir[ i ] );
if( file.isDirectory() )
{
addClassFiles( classFileList, file, root );
@@ -407,7 +405,7 @@
ClassFileInfo info = new ClassFileInfo();
info.absoluteFile = file;
info.relativeName = file.getPath().substring( root.getPath().length() + 1,
- file.getPath().length() - 6 );
+ file.getPath().length() - 6 );
info.className = ClassFileUtils.convertSlashName( info.relativeName );
classFileList.addElement( info );
}
@@ -419,17 +417,17 @@
{
int count = 0;
- Hashtable affectedClasses = ( Hashtable )affectedClassMap.get( className );
+ Hashtable affectedClasses = (Hashtable)affectedClassMap.get( className );
if( affectedClasses != null )
{
- for( Enumeration e = affectedClasses.keys(); e.hasMoreElements(); )
+ for( Enumeration e = affectedClasses.keys(); e.hasMoreElements(); )
{
- String affectedClassName = ( String )e.nextElement();
- ClassFileInfo affectedClassInfo = ( ClassFileInfo )affectedClasses.get( affectedClassName );
+ String affectedClassName = (String)e.nextElement();
+ ClassFileInfo affectedClassInfo = (ClassFileInfo)affectedClasses.get( affectedClassName );
if( affectedClassInfo.absoluteFile.exists() )
{
log( "Deleting file " + affectedClassInfo.absoluteFile.getPath() + " since " +
- className + " out of date", Project.MSG_VERBOSE );
+ className + " out of date", Project.MSG_VERBOSE );
affectedClassInfo.absoluteFile.delete();
count++;
if( closure )
@@ -445,15 +443,15 @@
{
// need to delete the main class
String topLevelClassName
- = affectedClassName.substring( 0, affectedClassName.indexOf( "$" ) );
+ = affectedClassName.substring( 0, affectedClassName.indexOf( "$" ) );
log( "Top level class = " + topLevelClassName, Project.MSG_VERBOSE );
ClassFileInfo topLevelClassInfo
- = ( ClassFileInfo )classFileInfoMap.get( topLevelClassName );
+ = (ClassFileInfo)classFileInfoMap.get( topLevelClassName );
if( topLevelClassInfo != null &&
topLevelClassInfo.absoluteFile.exists() )
{
log( "Deleting file " + topLevelClassInfo.absoluteFile.getPath() + " since " +
- "one of its inner classes was removed", Project.MSG_VERBOSE );
+ "one of its inner classes was removed", Project.MSG_VERBOSE );
topLevelClassInfo.absoluteFile.delete();
count++;
if( closure )
@@ -472,11 +470,11 @@
private int deleteAllAffectedFiles()
{
int count = 0;
- for( Enumeration e = outOfDateClasses.elements(); e.hasMoreElements(); )
+ for( Enumeration e = outOfDateClasses.elements(); e.hasMoreElements(); )
{
- String className = ( String )e.nextElement();
+ String className = (String)e.nextElement();
count += deleteAffectedFiles( className );
- ClassFileInfo classInfo = ( ClassFileInfo )classFileInfoMap.get( className );
+ ClassFileInfo classInfo = (ClassFileInfo)classFileInfoMap.get( className );
if( classInfo != null && classInfo.absoluteFile.exists() )
{
classInfo.absoluteFile.delete();
@@ -486,7 +484,6 @@
return count;
}
-
/**
* Determine the dependencies between classes. Class dependencies are
* determined by examining the class references in a class file to other
@@ -495,7 +492,7 @@
* @exception IOException Description of Exception
*/
private void determineDependencies()
- throws IOException
+ throws IOException, TaskException
{
affectedClassMap = new Hashtable();
classFileInfoMap = new Hashtable();
@@ -514,9 +511,9 @@
depCacheFileExists = depCacheFile.exists();
depCacheFileLastModified = depCacheFile.lastModified();
}
- for( Enumeration e = getClassFiles( destPath ).elements(); e.hasMoreElements(); )
+ for( Enumeration e = getClassFiles( destPath ).elements(); e.hasMoreElements(); )
{
- ClassFileInfo info = ( ClassFileInfo )e.nextElement();
+ ClassFileInfo info = (ClassFileInfo)e.nextElement();
log( "Adding class info for " + info.className, Project.MSG_DEBUG );
classFileInfoMap.put( info.className, info );
@@ -529,7 +526,7 @@
{
// depFile exists and is newer than the class file
// need to get dependency list from the map.
- dependencyList = ( Vector )dependencyMap.get( info.className );
+ dependencyList = (Vector)dependencyMap.get( info.className );
}
}
@@ -562,11 +559,11 @@
// This class depends on each class in the dependency list. For each
// one of those, add this class into their affected classes list
- for( Enumeration depEnum = dependencyList.elements(); depEnum.hasMoreElements(); )
+ for( Enumeration depEnum = dependencyList.elements(); depEnum.hasMoreElements(); )
{
- String dependentClass = ( String )depEnum.nextElement();
+ String dependentClass = (String)depEnum.nextElement();
- Hashtable affectedClasses = ( Hashtable )affectedClassMap.get( dependentClass );
+ Hashtable affectedClasses = (Hashtable)affectedClassMap.get( dependentClass );
if( affectedClasses == null )
{
affectedClasses = new Hashtable();
@@ -586,15 +583,15 @@
Hashtable classpathFileCache = new Hashtable();
Object nullFileMarker = new Object();
- for( Enumeration e = dependencyMap.keys(); e.hasMoreElements(); )
+ for( Enumeration e = dependencyMap.keys(); e.hasMoreElements(); )
{
- String className = ( String )e.nextElement();
- Vector dependencyList = ( Vector )dependencyMap.get( className );
+ String className = (String)e.nextElement();
+ Vector dependencyList = (Vector)dependencyMap.get( className );
Hashtable dependencies = new Hashtable();
classpathDependencies.put( className, dependencies );
- for( Enumeration e2 = dependencyList.elements(); e2.hasMoreElements(); )
+ for( Enumeration e2 = dependencyList.elements(); e2.hasMoreElements(); )
{
- String dependency = ( String )e2.nextElement();
+ String dependency = (String)e2.nextElement();
Object classpathFileObject = classpathFileCache.get( dependency );
if( classpathFileObject == null )
{
@@ -621,8 +618,8 @@
classpathFileObject = new File( classFilePath );
}
log( "Class " + className +
- " depends on " + classpathFileObject +
- " due to " + dependency, Project.MSG_DEBUG );
+ " depends on " + classpathFileObject +
+ " due to " + dependency, Project.MSG_DEBUG );
}
}
classpathFileCache.put( dependency, classpathFileObject );
@@ -630,7 +627,7 @@
if( classpathFileObject != null && classpathFileObject != nullFileMarker )
{
// we need to add this jar to the list for this class.
- File jarFile = ( File )classpathFileObject;
+ File jarFile = (File)classpathFileObject;
dependencies.put( jarFile, jarFile );
}
}
@@ -713,13 +710,13 @@
File depFile = new File( cache, CACHE_FILE_NAME );
pw = new PrintWriter( new FileWriter( depFile ) );
- for( Enumeration deps = dependencyMap.keys(); deps.hasMoreElements(); )
+ for( Enumeration deps = dependencyMap.keys(); deps.hasMoreElements(); )
{
- String className = ( String )deps.nextElement();
+ String className = (String)deps.nextElement();
pw.println( CLASSNAME_PREPEND + className );
- Vector dependencyList = ( Vector )dependencyMap.get( className );
+ Vector dependencyList = (Vector)dependencyMap.get( className );
int size = dependencyList.size();
for( int x = 0; x < size; x++ )
{
1.3 +56 -59 jakarta-ant/proposal/myrmidon/src/main/org/apache/tools/ant/taskdefs/optional/ejb/GenericDeploymentTool.java
Index: GenericDeploymentTool.java
===================================================================
RCS file: /home/cvs/jakarta-ant/proposal/myrmidon/src/main/org/apache/tools/ant/taskdefs/optional/ejb/GenericDeploymentTool.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- GenericDeploymentTool.java 2001/12/15 14:55:58 1.2
+++ GenericDeploymentTool.java 2001/12/15 15:20:24 1.3
@@ -6,6 +6,7 @@
* the LICENSE file.
*/
package org.apache.tools.ant.taskdefs.optional.ejb;
+
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
@@ -24,14 +25,13 @@
import javax.xml.parsers.SAXParser;
import org.apache.bcel.*;
import org.apache.bcel.classfile.*;
-import org.apache.tools.ant.*;
+import org.apache.myrmidon.api.TaskException;
import org.apache.tools.ant.AntClassLoader;
import org.apache.tools.ant.BuildException;
import org.apache.tools.ant.DirectoryScanner;
import org.apache.tools.ant.Location;
import org.apache.tools.ant.Project;
import org.apache.tools.ant.Task;
-import org.apache.tools.ant.types.*;
import org.apache.tools.ant.types.FileSet;
import org.apache.tools.ant.types.Path;
import org.apache.tools.ant.util.depend.Dependencies;
@@ -39,7 +39,6 @@
import org.xml.sax.InputSource;
import org.xml.sax.SAXException;
-
/**
* A deployment tool which creates generic EJB jars. Generic jars contains only
* those classes and META-INF entries specified in the EJB 1.1 standard This
@@ -133,7 +132,6 @@
this.genericJarSuffix = inString;
}
-
/**
* Set the task which owns this tool
*
@@ -178,7 +176,6 @@
return ddPrefix;
}
-
/**
* Configure this tool for use in the ejbjar task.
*
@@ -227,7 +224,7 @@
// First the regular deployment descriptor
ejbFiles.put( META_DIR + EJB_DD,
- new File( config.descriptorDir, descriptorFileName ) );
+ new File( config.descriptorDir, descriptorFileName ) );
// now the vendor specific files, if any
addVendorFiles( ejbFiles, ddPrefix );
@@ -260,7 +257,7 @@
+ " with "
+ String.valueOf( ejbFiles.size() )
+ " files",
- Project.MSG_INFO );
+ Project.MSG_INFO );
// Use helper method to write the jarfile
String publicId = getPublicId();
@@ -271,26 +268,26 @@
{
// Log that the file is up to date...
log( jarFile.toString() + " is up to date.",
- Project.MSG_VERBOSE );
+ Project.MSG_VERBOSE );
}
}
catch( SAXException se )
{
String msg = "SAXException while parsing '"
- + descriptorFileName.toString()
- + "'. This probably indicates badly-formed XML."
- + " Details: "
- + se.getMessage();
+ + descriptorFileName.toString()
+ + "'. This probably indicates badly-formed XML."
+ + " Details: "
+ + se.getMessage();
throw new BuildException( msg, se );
}
catch( IOException ioe )
{
String msg = "IOException while parsing'"
- + descriptorFileName.toString()
- + "'. This probably indicates that the descriptor"
- + " doesn't exist. Details: "
- + ioe.getMessage();
+ + descriptorFileName.toString()
+ + "'. This probably indicates that the descriptor"
+ + " doesn't exist. Details: "
+ + ioe.getMessage();
throw new BuildException( msg, ioe );
}
}
@@ -306,12 +303,11 @@
if( ( destDir == null ) || ( !destDir.isDirectory() ) )
{
String msg = "A valid destination directory must be specified "
- + "using the \"destdir\" attribute.";
+ + "using the \"destdir\" attribute.";
throw new BuildException( msg );
}
}
-
/**
* Returns a Classloader object which parses the passed in generic EjbJar
* classpath. The loader is used to dynamically load classes from
@@ -320,6 +316,7 @@
* @return The ClassLoaderForBuild value
*/
protected ClassLoader getClassLoaderForBuild()
+ throws TaskException
{
if( classpathLoader != null )
{
@@ -382,9 +379,9 @@
registerKnownDTDs( handler );
// register any DTDs supplied by the user
- for( Iterator i = getConfig().dtdLocations.iterator(); i.hasNext(); )
+ for( Iterator i = getConfig().dtdLocations.iterator(); i.hasNext(); )
{
- EjbJar.DTDLocation dtdLocation = ( EjbJar.DTDLocation )i.next();
+ EjbJar.DTDLocation dtdLocation = (EjbJar.DTDLocation)i.next();
handler.registerDTD( dtdLocation.getPublicId(), dtdLocation.getLocation() );
}
return handler;
@@ -400,7 +397,6 @@
return destDir;
}
-
/**
* Using the EJB descriptor file name passed from the <code>ejbjar</code>
* task, this method returns the "basename" which will be used to name the
@@ -433,7 +429,7 @@
if( lastSeparatorIndex != -1 )
{
endBaseName = descriptorFileName.indexOf( config.baseNameTerminator,
- lastSeparatorIndex );
+ lastSeparatorIndex );
}
else
{
@@ -522,13 +518,13 @@
// Create the file input stream, and buffer everything over
// to the jar output stream
- byte[] byteBuffer = new byte[2 * 1024];
+ byte[] byteBuffer = new byte[ 2 * 1024 ];
int count = 0;
do
{
jStream.write( byteBuffer, 0, count );
count = iStream.read( byteBuffer, 0, byteBuffer.length );
- }while ( count != -1 );
+ } while( count != -1 );
//add it to list of files in jar
addedfiles.add( logicalFilename );
@@ -537,8 +533,8 @@
catch( IOException ioe )
{
log( "WARNING: IOException while adding entry " +
- logicalFilename + " to jarfile from " + inputFile.getPath() + " " +
- ioe.getClass().getName() + "-" + ioe.getMessage(), Project.MSG_WARN );
+ logicalFilename + " to jarfile from " + inputFile.getPath() + " " +
+ ioe.getClass().getName() + "-" + ioe.getMessage(), Project.MSG_WARN );
}
finally
{
@@ -550,7 +546,8 @@
iStream.close();
}
catch( IOException closeException )
- {}
+ {
+ }
}
}
}
@@ -566,16 +563,16 @@
{
// add in support classes if any
Project project = task.getProject();
- for( Iterator i = config.supportFileSets.iterator(); i.hasNext(); )
+ for( Iterator i = config.supportFileSets.iterator(); i.hasNext(); )
{
- FileSet supportFileSet = ( FileSet )i.next();
+ FileSet supportFileSet = (FileSet)i.next();
File supportBaseDir = supportFileSet.getDir( project );
DirectoryScanner supportScanner = supportFileSet.getDirectoryScanner( project );
supportScanner.scan();
String[] supportFiles = supportScanner.getIncludedFiles();
for( int j = 0; j < supportFiles.length; ++j )
{
- ejbFiles.put( supportFiles[j], new File( supportBaseDir, supportFiles[j] ) );
+ ejbFiles.put( supportFiles[ j ], new File( supportBaseDir, supportFiles[ j ] ) );
}
}
}
@@ -591,7 +588,6 @@
// nothing to add for generic tool.
}// end of writeJar
-
/**
* Add all available classes, that depend on Remote, Home, Bean, PK
*
@@ -610,7 +606,7 @@
Iterator i = checkEntries.keySet().iterator();
while( i.hasNext() )
{
- String entryName = ( String )i.next();
+ String entryName = (String)i.next();
if( entryName.endsWith( ".class" ) )
newSet.add( entryName.substring( 0, entryName.length() - ".class".length() ).replace( File.separatorChar, '/' ) );
}
@@ -621,7 +617,7 @@
i = newSet.iterator();
while( i.hasNext() )
{
- String fileName = base + ( ( String )i.next() ).replace( '/', File.separatorChar ) + ".class";
+ String fileName = base + ( (String)i.next() ).replace( '/', File.separatorChar ) + ".class";
try
{
@@ -638,22 +634,22 @@
visitor.clearDependencies();
Dependencies.applyFilter( newSet,
- new Filter()
- {
- public boolean accept( Object object )
- {
- String fileName = base + ( ( String )object ).replace( '/', File.separatorChar ) + ".class";
- return new File( fileName ).exists();
- }
- } );
+ new Filter()
+ {
+ public boolean accept( Object object )
+ {
+ String fileName = base + ( (String)object ).replace( '/', File.separatorChar ) + ".class";
+ return new File( fileName ).exists();
+ }
+ } );
newSet.removeAll( set );
set.addAll( newSet );
- }while ( newSet.size() > 0 );
+ } while( newSet.size() > 0 );
i = set.iterator();
while( i.hasNext() )
{
- String next = ( ( String )i.next() ).replace( '/', File.separatorChar );
+ String next = ( (String)i.next() ).replace( '/', File.separatorChar );
checkEntries.put( next + ".class", new File( base + next + ".class" ) );
log( "dependent class: " + next + ".class" + " - " + base + next + ".class", Project.MSG_VERBOSE );
}
@@ -713,7 +709,7 @@
config.manifest.lastModified() > lastBuild )
{
log( "Build needed because manifest " + config.manifest + " is out of date",
- Project.MSG_VERBOSE );
+ Project.MSG_VERBOSE );
return true;
}
@@ -723,11 +719,11 @@
// more recently than the destination jar.
while( fileIter.hasNext() )
{
- File currentFile = ( File )fileIter.next();
+ File currentFile = (File)fileIter.next();
if( lastBuild < currentFile.lastModified() )
{
log( "Build needed because " + currentFile.getPath() + " is out of date",
- Project.MSG_VERBOSE );
+ Project.MSG_VERBOSE );
return true;
}
}
@@ -780,7 +776,8 @@
descriptorStream.close();
}
catch( IOException closeException )
- {}
+ {
+ }
}
}
@@ -892,13 +889,13 @@
jarStream.setMethod( JarOutputStream.DEFLATED );
// Loop through all the class files found and add them to the jar
- for( Iterator entryIterator = files.keySet().iterator(); entryIterator.hasNext(); )
+ for( Iterator entryIterator = files.keySet().iterator(); entryIterator.hasNext(); )
{
- String entryName = ( String )entryIterator.next();
- File entryFile = ( File )files.get( entryName );
+ String entryName = (String)entryIterator.next();
+ File entryFile = (File)files.get( entryName );
log( "adding file '" + entryName + "'",
- Project.MSG_VERBOSE );
+ Project.MSG_VERBOSE );
addFileToJar( jarStream, entryFile, entryName );
@@ -913,17 +910,17 @@
int entryIndex = entryName.lastIndexOf( entryFile.getName() ) - 1;
if( entryIndex < 0 )
{
- entryName = innerfiles[i];
+ entryName = innerfiles[ i ];
}
else
{
- entryName = entryName.substring( 0, entryIndex ) + File.separatorChar + innerfiles[i];
+ entryName = entryName.substring( 0, entryIndex ) + File.separatorChar + innerfiles[ i ];
}
// link the file
entryFile = new File( config.srcDir, entryName );
log( "adding innerclass file '" + entryName + "'",
- Project.MSG_VERBOSE );
+ Project.MSG_VERBOSE );
addFileToJar( jarStream, entryFile, entryName );
@@ -933,9 +930,9 @@
catch( IOException ioe )
{
String msg = "IOException while processing ejb-jar file '"
- + jarfile.toString()
- + "'. Details: "
- + ioe.getMessage();
+ + jarfile.toString()
+ + "'. Details: "
+ + ioe.getMessage();
throw new BuildException( msg, ioe );
}
finally
@@ -947,11 +944,11 @@
jarStream.close();
}
catch( IOException closeException )
- {}
+ {
+ }
}
}
}
-
/**
* Get the vendor specific name of the Jar that will be output. The
1.2 +65 -62 jakarta-ant/proposal/myrmidon/src/main/org/apache/tools/ant/taskdefs/optional/ejb/WeblogicDeploymentTool.java
Index: WeblogicDeploymentTool.java
===================================================================
RCS file: /home/cvs/jakarta-ant/proposal/myrmidon/src/main/org/apache/tools/ant/taskdefs/optional/ejb/WeblogicDeploymentTool.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- WeblogicDeploymentTool.java 2001/12/15 12:06:26 1.1
+++ WeblogicDeploymentTool.java 2001/12/15 15:20:24 1.2
@@ -6,6 +6,7 @@
* the LICENSE file.
*/
package org.apache.tools.ant.taskdefs.optional.ejb;
+
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
@@ -19,9 +20,10 @@
import java.util.jar.JarOutputStream;
import javax.xml.parsers.SAXParser;
import javax.xml.parsers.SAXParserFactory;
+import org.apache.myrmidon.api.TaskException;
import org.apache.tools.ant.AntClassLoader;
-import org.apache.tools.ant.BuildException;
import org.apache.tools.ant.Project;
+import org.apache.tools.ant.util.FileUtils;
import org.apache.tools.ant.taskdefs.Java;
import org.apache.tools.ant.types.Path;
import org.xml.sax.InputSource;
@@ -29,27 +31,27 @@
public class WeblogicDeploymentTool extends GenericDeploymentTool
{
public final static String PUBLICID_EJB11
- = "-//Sun Microsystems, Inc.//DTD Enterprise JavaBeans 1.1//EN";
+ = "-//Sun Microsystems, Inc.//DTD Enterprise JavaBeans 1.1//EN";
public final static String PUBLICID_EJB20
- = "-//Sun Microsystems, Inc.//DTD Enterprise JavaBeans 2.0//EN";
+ = "-//Sun Microsystems, Inc.//DTD Enterprise JavaBeans 2.0//EN";
public final static String PUBLICID_WEBLOGIC_EJB510
- = "-//BEA Systems, Inc.//DTD WebLogic 5.1.0 EJB//EN";
+ = "-//BEA Systems, Inc.//DTD WebLogic 5.1.0 EJB//EN";
public final static String PUBLICID_WEBLOGIC_EJB600
- = "-//BEA Systems, Inc.//DTD WebLogic 6.0.0 EJB//EN";
+ = "-//BEA Systems, Inc.//DTD WebLogic 6.0.0 EJB//EN";
protected final static String DEFAULT_WL51_EJB11_DTD_LOCATION
- = "/weblogic/ejb/deployment/xml/ejb-jar.dtd";
+ = "/weblogic/ejb/deployment/xml/ejb-jar.dtd";
protected final static String DEFAULT_WL60_EJB11_DTD_LOCATION
- = "/weblogic/ejb20/dd/xml/ejb11-jar.dtd";
+ = "/weblogic/ejb20/dd/xml/ejb11-jar.dtd";
protected final static String DEFAULT_WL60_EJB20_DTD_LOCATION
- = "/weblogic/ejb20/dd/xml/ejb20-jar.dtd";
+ = "/weblogic/ejb20/dd/xml/ejb20-jar.dtd";
protected final static String DEFAULT_WL51_DTD_LOCATION
- = "/weblogic/ejb/deployment/xml/weblogic-ejb-jar.dtd";
+ = "/weblogic/ejb/deployment/xml/weblogic-ejb-jar.dtd";
protected final static String DEFAULT_WL60_51_DTD_LOCATION
- = "/weblogic/ejb20/dd/xml/weblogic510-ejb-jar.dtd";
+ = "/weblogic/ejb20/dd/xml/weblogic510-ejb-jar.dtd";
protected final static String DEFAULT_WL60_DTD_LOCATION
- = "/weblogic/ejb20/dd/xml/weblogic600-ejb-jar.dtd";
+ = "/weblogic/ejb20/dd/xml/weblogic600-ejb-jar.dtd";
protected final static String DEFAULT_COMPILER = "default";
@@ -235,7 +237,6 @@
this.alwaysRebuild = rebuild;
}
-
/**
* Setter used to store the suffix for the generated weblogic jar file.
*
@@ -262,7 +263,6 @@
this.weblogicDTD = inString;
}
-
/**
* Setter used to store the location of the ejb-jar DTD. This can be a file
* on the system or a resource on the classpath.
@@ -306,10 +306,10 @@
/**
* Called to validate that the tool parameters have been configured.
*
- * @exception BuildException Description of Exception
+ * @exception TaskException Description of Exception
*/
public void validateConfigured()
- throws BuildException
+ throws TaskException
{
super.validateConfigured();
}
@@ -323,7 +323,7 @@
* @exception IOException Description of Exception
*/
protected ClassLoader getClassLoaderFromJar( File classjar )
- throws IOException
+ throws IOException, TaskException
{
Path lookupPath = new Path( getTask().getProject() );
lookupPath.setLocation( classjar );
@@ -350,7 +350,7 @@
String fileNameWithMETA = currentText;
//trim the META_INF\ off of the file name
String fileName = fileNameWithMETA.substring( META_DIR.length(),
- fileNameWithMETA.length() );
+ fileNameWithMETA.length() );
File descriptorFile = new File( srcDir, fileName );
ejbFiles.put( fileNameWithMETA, descriptorFile );
@@ -364,15 +364,14 @@
handler.registerDTD( PUBLICID_WEBLOGIC_EJB510, weblogicDTD );
handler.registerDTD( PUBLICID_WEBLOGIC_EJB600, weblogicDTD );
- for( Iterator i = getConfig().dtdLocations.iterator(); i.hasNext(); )
+ for( Iterator i = getConfig().dtdLocations.iterator(); i.hasNext(); )
{
- EjbJar.DTDLocation dtdLocation = ( EjbJar.DTDLocation )i.next();
+ EjbJar.DTDLocation dtdLocation = (EjbJar.DTDLocation)i.next();
handler.registerDTD( dtdLocation.getPublicId(), dtdLocation.getLocation() );
}
return handler;
}
-
/**
* Helper method to check to see if a weblogic EBJ1.1 jar needs to be
* rebuilt using ejbc. Called from writeJar it sees if the "Bean" classes
@@ -398,6 +397,7 @@
* @return The RebuildRequired value
*/
protected boolean isRebuildRequired( File genericJarFile, File weblogicJarFile )
+ throws TaskException
{
boolean rebuild = false;
@@ -409,10 +409,10 @@
try
{
log( "Checking if weblogic Jar needs to be rebuilt for jar " + weblogicJarFile.getName(),
- Project.MSG_VERBOSE );
+ Project.MSG_VERBOSE );
// Only go forward if the generic and the weblogic file both exist
if( genericJarFile.exists() && genericJarFile.isFile()
- && weblogicJarFile.exists() && weblogicJarFile.isFile() )
+ && weblogicJarFile.exists() && weblogicJarFile.isFile() )
{
//open jar files
genericJar = new JarFile( genericJarFile );
@@ -423,31 +423,31 @@
Hashtable replaceEntries = new Hashtable();
//get the list of generic jar entries
- for( Enumeration e = genericJar.entries(); e.hasMoreElements(); )
+ for( Enumeration e = genericJar.entries(); e.hasMoreElements(); )
{
- JarEntry je = ( JarEntry )e.nextElement();
+ JarEntry je = (JarEntry)e.nextElement();
genericEntries.put( je.getName().replace( '\\', '/' ), je );
}
//get the list of weblogic jar entries
- for( Enumeration e = wlJar.entries(); e.hasMoreElements(); )
+ for( Enumeration e = wlJar.entries(); e.hasMoreElements(); )
{
- JarEntry je = ( JarEntry )e.nextElement();
+ JarEntry je = (JarEntry)e.nextElement();
wlEntries.put( je.getName(), je );
}
//Cycle Through generic and make sure its in weblogic
ClassLoader genericLoader = getClassLoaderFromJar( genericJarFile );
- for( Enumeration e = genericEntries.keys(); e.hasMoreElements(); )
+ for( Enumeration e = genericEntries.keys(); e.hasMoreElements(); )
{
- String filepath = ( String )e.nextElement();
+ String filepath = (String)e.nextElement();
if( wlEntries.containsKey( filepath ) )
{// File name/path match
// Check files see if same
- JarEntry genericEntry = ( JarEntry )genericEntries.get( filepath );
- JarEntry wlEntry = ( JarEntry )wlEntries.get( filepath );
+ JarEntry genericEntry = (JarEntry)genericEntries.get( filepath );
+ JarEntry wlEntry = (JarEntry)wlEntries.get( filepath );
if( ( genericEntry.getCrc() != wlEntry.getCrc() ) || // Crc's Match
- ( genericEntry.getSize() != wlEntry.getSize() ) )
+ ( genericEntry.getSize() != wlEntry.getSize() ) )
{// Size Match
if( genericEntry.getName().endsWith( ".class" ) )
@@ -504,12 +504,12 @@
newJarStream.setLevel( 0 );
//Copy files from old weblogic jar
- for( Enumeration e = wlEntries.elements(); e.hasMoreElements(); )
+ for( Enumeration e = wlEntries.elements(); e.hasMoreElements(); )
{
- byte[] buffer = new byte[1024];
+ byte[] buffer = new byte[ 1024 ];
int bytesRead;
InputStream is;
- JarEntry je = ( JarEntry )e.nextElement();
+ JarEntry je = (JarEntry)e.nextElement();
if( je.getCompressedSize() == -1 ||
je.getCompressedSize() == je.getSize() )
{
@@ -525,7 +525,7 @@
{
log( "Updating Bean class from generic Jar " + je.getName(), Project.MSG_VERBOSE );
// Use the entry from the generic jar
- je = ( JarEntry )replaceEntries.get( je.getName() );
+ je = (JarEntry)replaceEntries.get( je.getName() );
is = genericJar.getInputStream( je );
}
else
@@ -555,16 +555,16 @@
catch( ClassNotFoundException cnfe )
{
String cnfmsg = "ClassNotFoundException while processing ejb-jar file"
- + ". Details: "
- + cnfe.getMessage();
- throw new BuildException( cnfmsg, cnfe );
+ + ". Details: "
+ + cnfe.getMessage();
+ throw new TaskException( cnfmsg, cnfe );
}
catch( IOException ioe )
{
String msg = "IOException while processing ejb-jar file "
- + ". Details: "
- + ioe.getMessage();
- throw new BuildException( msg, ioe );
+ + ". Details: "
+ + ioe.getMessage();
+ throw new TaskException( msg, ioe );
}
finally
{
@@ -576,7 +576,8 @@
genericJar.close();
}
catch( IOException closeException )
- {}
+ {
+ }
}
if( wlJar != null )
@@ -586,7 +587,8 @@
wlJar.close();
}
catch( IOException closeException )
- {}
+ {
+ }
}
if( newJarStream != null )
@@ -596,7 +598,8 @@
newJarStream.close();
}
catch( IOException closeException )
- {}
+ {
+ }
weblogicJarFile.delete();
newWLJarFile.renameTo( weblogicJarFile );
@@ -623,12 +626,12 @@
if( weblogicDD.exists() )
{
ejbFiles.put( META_DIR + WL_DD,
- weblogicDD );
+ weblogicDD );
}
else
{
log( "Unable to locate weblogic deployment descriptor. It was expected to be in " +
- weblogicDD.getPath(), Project.MSG_WARN );
+ weblogicDD.getPath(), Project.MSG_WARN );
return;
}
@@ -636,14 +639,14 @@
{
log( "The old method for locating CMP files has been DEPRECATED.", Project.MSG_VERBOSE );
log( "Please adjust your weblogic descriptor and set newCMP=\"true\" " +
- "to use the new CMP descriptor inclusion mechanism. ", Project.MSG_VERBOSE );
+ "to use the new CMP descriptor inclusion mechanism. ", Project.MSG_VERBOSE );
// The the weblogic cmp deployment descriptor
File weblogicCMPDD = new File( getConfig().descriptorDir, ddPrefix + WL_CMP_DD );
if( weblogicCMPDD.exists() )
{
ejbFiles.put( META_DIR + WL_CMP_DD,
- weblogicCMPDD );
+ weblogicCMPDD );
}
}
else
@@ -654,28 +657,28 @@
// mapping tool descriptors.
try
{
- File ejbDescriptor = ( File )ejbFiles.get( META_DIR + EJB_DD );
+ File ejbDescriptor = (File)ejbFiles.get( META_DIR + EJB_DD );
SAXParserFactory saxParserFactory = SAXParserFactory.newInstance();
saxParserFactory.setValidating( true );
SAXParser saxParser = saxParserFactory.newSAXParser();
DescriptorHandler handler = getWeblogicDescriptorHandler( ejbDescriptor.getParentFile() );
saxParser.parse( new InputSource
( new FileInputStream
- ( weblogicDD ) ),
- handler );
+ ( weblogicDD ) ),
+ handler );
Hashtable ht = handler.getFiles();
Enumeration e = ht.keys();
while( e.hasMoreElements() )
{
- String key = ( String )e.nextElement();
+ String key = (String)e.nextElement();
ejbFiles.put( key, ht.get( key ) );
}
}
catch( Exception e )
{
String msg = "Exception while adding Vendor specific files: " + e.toString();
- throw new BuildException( msg, e );
+ throw new TaskException( msg, e );
}
}
}
@@ -698,11 +701,11 @@
* @param jarFile Description of Parameter
* @param files Description of Parameter
* @param publicId Description of Parameter
- * @exception BuildException Description of Exception
+ * @exception TaskException Description of Exception
*/
protected void writeJar( String baseName, File jarFile, Hashtable files,
String publicId )
- throws BuildException
+ throws TaskException
{
// need to create a generic jar first.
File genericJarFile = super.getVendorOutputJarFile( baseName );
@@ -715,7 +718,7 @@
if( !keepGeneric )
{
log( "deleting generic jar " + genericJarFile.toString(),
- Project.MSG_VERBOSE );
+ Project.MSG_VERBOSE );
genericJarFile.delete();
}
}
@@ -751,7 +754,7 @@
{
try
{
- getTask().getProject().copyFile( sourceJar, destJar );
+ FileUtils.newFileUtils().copyFile( sourceJar, destJar );
if( !keepgenerated )
{
sourceJar.delete();
@@ -760,7 +763,7 @@
}
catch( IOException e )
{
- throw new BuildException( "Unable to write EJB jar", e );
+ throw new TaskException( "Unable to write EJB jar", e );
}
}
@@ -768,7 +771,7 @@
try
{
- javaTask = ( Java )getTask().getProject().createTask( "java" );
+ javaTask = (Java)getTask().getProject().createTask( "java" );
javaTask.setTaskName( "ejbc" );
if( getJvmDebugLevel() != null )
@@ -835,18 +838,18 @@
}
log( "Calling " + ejbcClassName + " for " + sourceJar.toString(),
- Project.MSG_VERBOSE );
+ Project.MSG_VERBOSE );
if( javaTask.executeJava() != 0 )
{
- throw new BuildException( "Ejbc reported an error" );
+ throw new TaskException( "Ejbc reported an error" );
}
}
catch( Exception e )
{
// Have to catch this because of the semantics of calling main()
String msg = "Exception while calling " + ejbcClassName + ". Details: " + e.toString();
- throw new BuildException( msg, e );
+ throw new TaskException( msg, e );
}
}
}
1.2 +77 -670 jakarta-ant/proposal/myrmidon/src/main/org/apache/tools/ant/taskdefs/optional/ejb/WebsphereDeploymentTool.java
Index: WebsphereDeploymentTool.java
===================================================================
RCS file: /home/cvs/jakarta-ant/proposal/myrmidon/src/main/org/apache/tools/ant/taskdefs/optional/ejb/WebsphereDeploymentTool.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- WebsphereDeploymentTool.java 2001/12/15 12:06:26 1.1
+++ WebsphereDeploymentTool.java 2001/12/15 15:20:24 1.2
@@ -6,17 +6,25 @@
* the LICENSE file.
*/
package org.apache.tools.ant.taskdefs.optional.ejb;
-import java.io.*;
-import java.net.*;
-import java.util.*;
-import java.util.jar.*;
-import javax.xml.parsers.*;
-import org.apache.tools.ant.*;
-import org.apache.tools.ant.taskdefs.*;
-import org.apache.tools.ant.taskdefs.ExecTask;
-import org.apache.tools.ant.types.*;
-import org.xml.sax.*;
+import java.io.File;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.util.Enumeration;
+import java.util.Hashtable;
+import java.util.Iterator;
+import java.util.jar.JarEntry;
+import java.util.jar.JarFile;
+import java.util.jar.JarOutputStream;
+import org.apache.myrmidon.api.TaskException;
+import org.apache.tools.ant.AntClassLoader;
+import org.apache.tools.ant.Project;
+import org.apache.tools.ant.taskdefs.Java;
+import org.apache.tools.ant.types.Commandline;
+import org.apache.tools.ant.types.EnumeratedAttribute;
+import org.apache.tools.ant.types.Environment;
+import org.apache.tools.ant.types.Path;
/**
* Websphere deployment tool that augments the ejbjar task.
@@ -27,20 +35,14 @@
public class WebsphereDeploymentTool extends GenericDeploymentTool
{
-
-
public final static String PUBLICID_EJB11
+ = "-//Sun Microsystems, Inc.//DTD Enterprise JavaBeans 1.1//EN";
- = "-//Sun Microsystems, Inc.//DTD Enterprise JavaBeans 1.1//EN";
-
public final static String PUBLICID_EJB20
-
- = "-//Sun Microsystems, Inc.//DTD Enterprise JavaBeans 2.0//EN";
+ = "-//Sun Microsystems, Inc.//DTD Enterprise JavaBeans 2.0//EN";
protected final static String SCHEMA_DIR = "Schema/";
-
-
protected final static String WAS_EXT = "ibm-ejb-jar-ext.xmi";
protected final static String WAS_BND = "ibm-ejb-jar-bnd.xmi";
@@ -49,318 +51,203 @@
protected final static String WAS_CMP_SCHEMA = "Schema.dbxmi";
-
-
/**
* Instance variable that stores the suffix for the websphere jarfile.
*/
-
private String jarSuffix = ".jar";
-
-
/**
* Instance variable that determines whether generic ejb jars are kept.
*/
-
-
-
private boolean keepgenerated = false;
-
-
private String additionalArgs = "";
-
-
private boolean keepGeneric = false;
-
-
private String compiler = null;
-
-
private boolean alwaysRebuild = true;
-
-
private boolean ejbdeploy = true;
-
-
/**
* Indicates if the old CMP location convention is to be used.
*/
-
private boolean newCMP = false;
-
-
/**
* The classpath to the websphere classes.
*/
-
private Path wasClasspath = null;
-
-
/**
* true - Only output error messages, suppress informational messages
*/
-
private boolean quiet = true;
-
-
/**
* the scratchdir for the ejbdeploy operation
*/
-
private String tempdir = "_ejbdeploy_temp";
-
-
/**
* true - Only generate the deployment code, do not run RMIC or Javac
*/
-
private boolean codegen;
-
-
/**
* The name of the database to create. (For top-down mapping only)
*/
-
private String dbName;
-
-
/**
* The name of the schema to create. (For top-down mappings only)
*/
-
private String dbSchema;
-
-
/**
* The DB Vendor name, the EJB is persisted against
*/
-
private String dbVendor;
-
-
/**
* Instance variable that stores the location of the ejb 1.1 DTD file.
*/
-
private String ejb11DTD;
-
-
/**
* true - Disable informational messages
*/
-
private boolean noinform;
-
-
/**
* true - Disable the validation steps
*/
-
private boolean novalidate;
-
-
/**
* true - Disable warning and informational messages
*/
-
private boolean nowarn;
-
-
/**
* Additional options for RMIC
*/
-
private String rmicOptions;
-
-
/**
* true - Enable internal tracing
*/
-
private boolean trace;
-
-
/**
* true- Use the WebSphere 3.5 compatible mapping rules
*/
-
private boolean use35MappingRules;
-
-
/**
* sets some additional args to send to ejbdeploy.
*
* @param args The new Args value
*/
-
public void setArgs( String args )
{
-
this.additionalArgs = args;
-
}
-
-
/**
* (true) Only generate the deployment code, do not run RMIC or Javac
*
* @param codegen The new Codegen value
*/
-
public void setCodegen( boolean codegen )
{
-
this.codegen = codegen;
-
}
-
-
/**
* The compiler (switch <code>-compiler</code>) to use
*
* @param compiler The new Compiler value
*/
-
public void setCompiler( String compiler )
{
-
this.compiler = compiler;
-
}
-
-
/**
* Sets the name of the Database to create
*
* @param dbName The new Dbname value
*/
-
public void setDbname( String dbName )
{
-
this.dbName = dbName;
-
}
-
-
/**
* Sets the name of the schema to create
*
* @param dbSchema The new Dbschema value
*/
-
public void setDbschema( String dbSchema )
{
-
this.dbSchema = dbSchema;
-
}
-
-
/**
* Sets the DB Vendor for the Entity Bean mapping
*
* @param dbvendor The new Dbvendor value
*/
-
public void setDbvendor( DBVendor dbvendor )
{
-
this.dbVendor = dbvendor.getValue();
-
}
-
-
/**
* Setter used to store the location of the Sun's Generic EJB DTD. This can
* be a file on the system or a resource on the classpath.
*
* @param inString the string to use as the DTD location.
*/
-
public void setEJBdtd( String inString )
{
-
this.ejb11DTD = inString;
-
}
-
-
/**
* Decide, wether ejbdeploy should be called or not
*
* @param ejbdeploy
*/
-
public void setEjbdeploy( boolean ejbdeploy )
{
-
this.ejbdeploy = ejbdeploy;
-
}
-
-
/**
* Sets whether -keepgenerated is passed to ejbdeploy (that is, the .java
* source files are kept).
*
* @param inValue either 'true' or 'false'
*/
-
public void setKeepgenerated( String inValue )
{
-
this.keepgenerated = Boolean.valueOf( inValue ).booleanValue();
-
}
-
-
/**
* Setter used to store the value of keepGeneric
*
* @param inValue a string, either 'true' or 'false'.
*/
-
public void setKeepgeneric( boolean inValue )
{
-
this.keepGeneric = inValue;
-
}
-
-
/**
* Set the value of the newCMP scheme. The old CMP scheme locates the
* websphere CMP descriptor based on the naming convention where the
@@ -371,216 +258,142 @@
*
* @param newCMP The new NewCMP value
*/
-
public void setNewCMP( boolean newCMP )
{
-
this.newCMP = newCMP;
-
}
-
-
/**
* (true) Disable informational messages
*
* @param noinfom The new Noinform value
*/
-
public void setNoinform( boolean noinfom )
{
-
this.noinform = noinform;
-
}
-
-
/**
* (true) Disable the validation steps
*
* @param novalidate The new Novalidate value
*/
-
public void setNovalidate( boolean novalidate )
{
-
this.novalidate = novalidate;
-
}
-
-
/**
* (true) Disable warning and informational messages
*
* @param nowarn The new Nowarn value
*/
-
public void setNowarn( boolean nowarn )
{
-
this.nowarn = nowarn;
-
}
-
-
/**
* Set the value of the oldCMP scheme. This is an antonym for newCMP
*
* @param oldCMP The new OldCMP value
*/
-
public void setOldCMP( boolean oldCMP )
{
-
this.newCMP = !oldCMP;
-
}
-
-
/**
* (true) Only output error messages, suppress informational messages
*
* @param quiet The new Quiet value
*/
-
public void setQuiet( boolean quiet )
{
-
this.quiet = quiet;
-
}
-
-
/**
* Set the rebuild flag to false to only update changes in the jar rather
* than rerunning ejbdeploy
*
* @param rebuild The new Rebuild value
*/
-
public void setRebuild( boolean rebuild )
{
-
this.alwaysRebuild = rebuild;
-
}
-
-
-
-
/**
* Setter used to store the suffix for the generated websphere jar file.
*
* @param inString the string to use as the suffix.
*/
-
public void setSuffix( String inString )
{
-
this.jarSuffix = inString;
-
}
-
-
/**
* Sets the temporary directory for the ejbdeploy task
*
* @param tempdir The new Tempdir value
*/
-
public void setTempdir( String tempdir )
{
-
this.tempdir = tempdir;
-
}
-
-
/**
* (true) Enable internal tracing
*
* @param trace The new Trace value
*/
-
public void setTrace( boolean trace )
{
-
this.trace = trace;
-
}
-
-
/**
* (true) Use the WebSphere 3.5 compatible mapping rules
*
* @param attr The new Use35 value
*/
-
public void setUse35( boolean attr )
{
-
use35MappingRules = attr;
-
}
-
-
public void setWASClasspath( Path wasClasspath )
{
-
this.wasClasspath = wasClasspath;
-
}
-
-
/**
* Get the classpath to the websphere classpaths
*
* @return Description of the Returned Value
*/
-
public Path createWASClasspath()
{
-
if( wasClasspath == null )
{
-
wasClasspath = new Path( getTask().getProject() );
-
}
-
return wasClasspath.createPath();
-
}
-
-
/**
* Called to validate that the tool parameters have been configured.
*
- * @exception BuildException Description of Exception
+ * @exception TaskException Description of Exception
*/
-
public void validateConfigured()
- throws BuildException
+ throws TaskException
{
-
super.validateConfigured();
-
}
-
-
/**
* Helper method invoked by isRebuildRequired to get a ClassLoader for a Jar
* File passed to it.
@@ -589,37 +402,21 @@
* @return The ClassLoaderFromJar value
* @exception IOException Description of Exception
*/
-
protected ClassLoader getClassLoaderFromJar( File classjar )
- throws IOException
+ throws IOException, TaskException
{
-
Path lookupPath = new Path( getTask().getProject() );
-
lookupPath.setLocation( classjar );
-
-
-
Path classpath = getCombinedClasspath();
-
if( classpath != null )
{
-
lookupPath.append( classpath );
-
}
-
-
-
return new AntClassLoader( getTask().getProject(), lookupPath );
-
}
-
-
protected DescriptorHandler getDescriptorHandler( File srcDir )
{
-
DescriptorHandler handler = new DescriptorHandler( getTask(), srcDir );
// register all the DTDs, both the ones that are known and
@@ -628,173 +425,89 @@
// any supplied by the user
handler.registerDTD( PUBLICID_EJB11, ejb11DTD );
-
-
-
- for( Iterator i = getConfig().dtdLocations.iterator(); i.hasNext(); )
+ for( Iterator i = getConfig().dtdLocations.iterator(); i.hasNext(); )
{
-
- EjbJar.DTDLocation dtdLocation = ( EjbJar.DTDLocation )i.next();
-
+ EjbJar.DTDLocation dtdLocation = (EjbJar.DTDLocation)i.next();
handler.registerDTD( dtdLocation.getPublicId(), dtdLocation.getLocation() );
-
}
-
-
-
return handler;
-
}
-
-
/**
* Gets the options for the EJB Deploy operation
*
* @return String
*/
-
protected String getOptions()
{
-
// Set the options
StringBuffer options = new StringBuffer();
-
if( dbVendor != null )
{
-
options.append( " -dbvendor " ).append( dbVendor );
-
}
-
if( dbName != null )
{
-
options.append( " -dbname \"" ).append( dbName ).append( "\"" );
-
}
-
-
-
if( dbSchema != null )
{
-
options.append( " -dbschema \"" ).append( dbSchema ).append( "\"" );
-
}
-
-
-
if( codegen )
{
-
options.append( " -codegen" );
-
}
-
-
-
if( quiet )
{
-
options.append( " -quiet" );
-
}
-
-
-
if( novalidate )
{
-
options.append( " -novalidate" );
-
}
-
-
-
if( nowarn )
{
-
options.append( " -nowarn" );
-
}
-
-
-
if( noinform )
{
-
options.append( " -noinform" );
-
}
-
-
-
if( trace )
{
-
options.append( " -trace" );
-
}
-
-
-
if( use35MappingRules )
{
-
options.append( " -35" );
-
}
-
-
-
if( rmicOptions != null )
{
-
options.append( " -rmic \"" ).append( rmicOptions ).append( "\"" );
-
}
-
-
-
return options.toString();
-
}
-
-
protected DescriptorHandler getWebsphereDescriptorHandler( final File srcDir )
{
-
DescriptorHandler handler =
new DescriptorHandler( getTask(), srcDir )
{
-
- protected void processElement() { }
-
+ protected void processElement()
+ {
+ }
};
-
-
-
- for( Iterator i = getConfig().dtdLocations.iterator(); i.hasNext(); )
+ for( Iterator i = getConfig().dtdLocations.iterator(); i.hasNext(); )
{
-
- EjbJar.DTDLocation dtdLocation = ( EjbJar.DTDLocation )i.next();
-
+ EjbJar.DTDLocation dtdLocation = (EjbJar.DTDLocation)i.next();
handler.registerDTD( dtdLocation.getPublicId(), dtdLocation.getLocation() );
-
}
-
return handler;
-
}
-
-
-
-
/**
* Helper method to check to see if a websphere EBJ1.1 jar needs to be
* rebuilt using ejbdeploy. Called from writeJar it sees if the "Bean"
@@ -819,235 +532,141 @@
* see if it needs to be rebuilt.
* @return The RebuildRequired value
*/
-
protected boolean isRebuildRequired( File genericJarFile, File websphereJarFile )
+ throws TaskException
{
-
boolean rebuild = false;
-
-
-
JarFile genericJar = null;
-
JarFile wasJar = null;
-
File newwasJarFile = null;
-
JarOutputStream newJarStream = null;
-
-
-
try
{
-
log( "Checking if websphere Jar needs to be rebuilt for jar " + websphereJarFile.getName(),
-
- Project.MSG_VERBOSE );
+ Project.MSG_VERBOSE );
// Only go forward if the generic and the websphere file both exist
if( genericJarFile.exists() && genericJarFile.isFile()
-
- && websphereJarFile.exists() && websphereJarFile.isFile() )
+ && websphereJarFile.exists() && websphereJarFile.isFile() )
{
-
//open jar files
genericJar = new JarFile( genericJarFile );
-
wasJar = new JarFile( websphereJarFile );
-
-
-
Hashtable genericEntries = new Hashtable();
-
Hashtable wasEntries = new Hashtable();
-
Hashtable replaceEntries = new Hashtable();
//get the list of generic jar entries
- for( Enumeration e = genericJar.entries(); e.hasMoreElements(); )
+ for( Enumeration e = genericJar.entries(); e.hasMoreElements(); )
{
-
- JarEntry je = ( JarEntry )e.nextElement();
-
+ JarEntry je = (JarEntry)e.nextElement();
genericEntries.put( je.getName().replace( '\\', '/' ), je );
-
}
//get the list of websphere jar entries
- for( Enumeration e = wasJar.entries(); e.hasMoreElements(); )
+ for( Enumeration e = wasJar.entries(); e.hasMoreElements(); )
{
-
- JarEntry je = ( JarEntry )e.nextElement();
-
+ JarEntry je = (JarEntry)e.nextElement();
wasEntries.put( je.getName(), je );
-
}
-
-
//Cycle Through generic and make sure its in websphere
ClassLoader genericLoader = getClassLoaderFromJar( genericJarFile );
-
- for( Enumeration e = genericEntries.keys(); e.hasMoreElements(); )
+ for( Enumeration e = genericEntries.keys(); e.hasMoreElements(); )
{
-
- String filepath = ( String )e.nextElement();
-
+ String filepath = (String)e.nextElement();
if( wasEntries.containsKey( filepath ) )
{// File name/path match
-
-
// Check files see if same
-
- JarEntry genericEntry = ( JarEntry )genericEntries.get( filepath );
-
- JarEntry wasEntry = ( JarEntry )wasEntries.get( filepath );
-
+ JarEntry genericEntry = (JarEntry)genericEntries.get( filepath );
+ JarEntry wasEntry = (JarEntry)wasEntries.get( filepath );
if( ( genericEntry.getCrc() != wasEntry.getCrc() ) || // Crc's Match
( genericEntry.getSize() != wasEntry.getSize() ) )
{// Size Match
-
-
if( genericEntry.getName().endsWith( ".class" ) )
{
-
//File are different see if its an object or an interface
-
-
String classname = genericEntry.getName().replace( File.separatorChar, '.' );
-
classname = classname.substring( 0, classname.lastIndexOf( ".class" ) );
-
Class genclass = genericLoader.loadClass( classname );
-
if( genclass.isInterface() )
{
-
//Interface changed rebuild jar.
log( "Interface " + genclass.getName() + " has changed", Project.MSG_VERBOSE );
-
rebuild = true;
-
break;
-
}
-
else
{
-
//Object class Changed update it.
-
-
replaceEntries.put( filepath, genericEntry );
-
}
-
}
-
else
{
-
// is it the manifest. If so ignore it
-
if( !genericEntry.getName().equals( "META-INF/MANIFEST.MF" ) )
{
-
//File other then class changed rebuild
log( "Non class file " + genericEntry.getName() + " has changed", Project.MSG_VERBOSE );
-
rebuild = true;
-
}
-
break;
-
}
-
}
-
}
-
else
{// a file doesnt exist rebuild
-
-
log( "File " + filepath + " not present in websphere jar", Project.MSG_VERBOSE );
-
rebuild = true;
-
break;
-
}
-
}
-
-
-
if( !rebuild )
{
-
log( "No rebuild needed - updating jar", Project.MSG_VERBOSE );
-
newwasJarFile = new File( websphereJarFile.getAbsolutePath() + ".temp" );
-
if( newwasJarFile.exists() )
{
-
newwasJarFile.delete();
-
}
-
-
-
newJarStream = new JarOutputStream( new FileOutputStream( newwasJarFile ) );
-
newJarStream.setLevel( 0 );
//Copy files from old websphere jar
- for( Enumeration e = wasEntries.elements(); e.hasMoreElements(); )
+ for( Enumeration e = wasEntries.elements(); e.hasMoreElements(); )
{
-
- byte[] buffer = new byte[1024];
-
+ byte[] buffer = new byte[ 1024 ];
int bytesRead;
-
InputStream is;
-
- JarEntry je = ( JarEntry )e.nextElement();
-
+ JarEntry je = (JarEntry)e.nextElement();
if( je.getCompressedSize() == -1 ||
-
je.getCompressedSize() == je.getSize() )
{
-
newJarStream.setLevel( 0 );
-
}
-
else
{
-
newJarStream.setLevel( 9 );
-
}
@@ -1056,181 +675,107 @@
if( replaceEntries.containsKey( je.getName() ) )
{
-
log( "Updating Bean class from generic Jar " + je.getName(),
-
- Project.MSG_VERBOSE );
+ Project.MSG_VERBOSE );
// Use the entry from the generic jar
-
- je = ( JarEntry )replaceEntries.get( je.getName() );
+ je = (JarEntry)replaceEntries.get( je.getName() );
is = genericJar.getInputStream( je );
-
}
-
else
{//use fle from original websphere jar
is = wasJar.getInputStream( je );
-
}
-
newJarStream.putNextEntry( new JarEntry( je.getName() ) );
-
-
-
while( ( bytesRead = is.read( buffer ) ) != -1 )
{
-
newJarStream.write( buffer, 0, bytesRead );
-
}
-
is.close();
-
}
-
}
-
else
{
-
log( "websphere Jar rebuild needed due to changed interface or XML", Project.MSG_VERBOSE );
-
}
-
}
-
else
{
-
rebuild = true;
-
}
-
}
-
catch( ClassNotFoundException cnfe )
{
-
String cnfmsg = "ClassNotFoundException while processing ejb-jar file"
-
- + ". Details: "
-
- + cnfe.getMessage();
-
- throw new BuildException( cnfmsg, cnfe );
-
+ + ". Details: "
+ + cnfe.getMessage();
+ throw new TaskException( cnfmsg, cnfe );
}
-
catch( IOException ioe )
{
-
String msg = "IOException while processing ejb-jar file "
-
- + ". Details: "
-
- + ioe.getMessage();
-
- throw new BuildException( msg, ioe );
-
+ + ". Details: "
+ + ioe.getMessage();
+ throw new TaskException( msg, ioe );
}
-
finally
{
-
// need to close files and perhaps rename output
if( genericJar != null )
{
-
try
{
-
genericJar.close();
-
}
-
catch( IOException closeException )
- {}
-
+ {
+ }
}
-
-
-
if( wasJar != null )
{
-
try
{
-
wasJar.close();
-
}
-
catch( IOException closeException )
- {}
-
+ {
+ }
}
-
-
-
if( newJarStream != null )
{
-
try
{
-
newJarStream.close();
-
}
-
catch( IOException closeException )
- {}
-
-
-
+ {
+ }
websphereJarFile.delete();
-
newwasJarFile.renameTo( websphereJarFile );
-
if( !websphereJarFile.exists() )
{
-
rebuild = true;
-
}
-
}
-
}
-
-
-
return rebuild;
-
}
-
-
/**
* Add any vendor specific files which should be included in the EJB Jar.
*
* @param ejbFiles The feature to be added to the VendorFiles attribute
* @param baseName The feature to be added to the VendorFiles attribute
*/
-
protected void addVendorFiles( Hashtable ejbFiles, String baseName )
{
-
-
-
String ddPrefix = ( usingBaseJarName() ? "" : baseName );
-
String dbPrefix = ( dbVendor == null ) ? "" : dbVendor + "-";
@@ -1238,134 +783,79 @@
// Get the Extensions document
File websphereEXT = new File( getConfig().descriptorDir, ddPrefix + WAS_EXT );
-
if( websphereEXT.exists() )
{
-
ejbFiles.put( META_DIR + WAS_EXT,
-
- websphereEXT );
-
+ websphereEXT );
}
else
{
-
log( "Unable to locate websphere extensions. It was expected to be in " +
-
- websphereEXT.getPath(), Project.MSG_VERBOSE );
-
+ websphereEXT.getPath(), Project.MSG_VERBOSE );
}
-
-
-
File websphereBND = new File( getConfig().descriptorDir, ddPrefix + WAS_BND );
-
if( websphereBND.exists() )
{
-
ejbFiles.put( META_DIR + WAS_BND,
-
- websphereBND );
-
+ websphereBND );
}
else
{
-
log( "Unable to locate websphere bindings. It was expected to be in " +
-
- websphereBND.getPath(), Project.MSG_VERBOSE );
-
+ websphereBND.getPath(), Project.MSG_VERBOSE );
}
-
-
-
if( !newCMP )
{
-
log( "The old method for locating CMP files has been DEPRECATED.", Project.MSG_VERBOSE );
-
log( "Please adjust your websphere descriptor and set newCMP=\"true\" " +
-
- "to use the new CMP descriptor inclusion mechanism. ", Project.MSG_VERBOSE );
-
+ "to use the new CMP descriptor inclusion mechanism. ", Project.MSG_VERBOSE );
}
-
else
{
-
// We attempt to put in the MAP and Schema files of CMP beans
try
{
-
// Add the Map file
File websphereMAP = new File( getConfig().descriptorDir,
-
- ddPrefix + dbPrefix + WAS_CMP_MAP );
-
+ ddPrefix + dbPrefix + WAS_CMP_MAP );
if( websphereMAP.exists() )
{
-
ejbFiles.put( META_DIR + WAS_CMP_MAP,
-
- websphereMAP );
-
+ websphereMAP );
}
else
{
-
log( "Unable to locate the websphere Map: " +
-
- websphereMAP.getPath(), Project.MSG_VERBOSE );
-
+ websphereMAP.getPath(), Project.MSG_VERBOSE );
}
-
File websphereSchema = new File( getConfig().descriptorDir,
-
- ddPrefix + dbPrefix + WAS_CMP_SCHEMA );
-
+ ddPrefix + dbPrefix + WAS_CMP_SCHEMA );
if( websphereSchema.exists() )
{
-
ejbFiles.put( META_DIR + SCHEMA_DIR + WAS_CMP_SCHEMA,
-
- websphereSchema );
-
+ websphereSchema );
}
else
{
-
log( "Unable to locate the websphere Schema: " +
-
- websphereSchema.getPath(), Project.MSG_VERBOSE );
-
+ websphereSchema.getPath(), Project.MSG_VERBOSE );
}
// Theres nothing else to see here...keep moving sonny
-
-
}
-
catch( Exception e )
{
-
String msg = "Exception while adding Vendor specific files: " +
-
e.toString();
-
- throw new BuildException( msg, e );
-
+ throw new TaskException( msg, e );
}
-
}
-
}
-
-
/**
* Method used to encapsulate the writing of the JAR file. Iterates over the
* filenames/java.io.Files in the Hashtable stored on the instance variable
@@ -1375,22 +865,17 @@
* @param jarFile Description of Parameter
* @param files Description of Parameter
* @param publicId Description of Parameter
- * @exception BuildException Description of Exception
+ * @exception TaskException Description of Exception
*/
-
protected void writeJar( String baseName, File jarFile, Hashtable files, String publicId )
-
- throws BuildException
+ throws TaskException
{
-
if( ejbdeploy )
{
-
// create the -generic.jar, if required
File genericJarFile = super.getVendorOutputJarFile( baseName );
-
super.writeJar( baseName, genericJarFile, files, publicId );
@@ -1399,32 +884,21 @@
if( alwaysRebuild || isRebuildRequired( genericJarFile, jarFile ) )
{
-
buildWebsphereJar( genericJarFile, jarFile );
-
}
-
if( !keepGeneric )
{
-
log( "deleting generic jar " + genericJarFile.toString(),
-
- Project.MSG_VERBOSE );
-
+ Project.MSG_VERBOSE );
genericJarFile.delete();
-
}
-
}
-
else
{
-
// create the "undeployed" output .jar, if required
super.writeJar( baseName, jarFile, files, publicId );
-
}
/*
@@ -1440,11 +914,8 @@
* genericJarFile.delete();
* }
*/
-
}
-
-
/**
* Get the vendor specific name of the Jar that will be output. The
* modification date of this jar will be checked against the dependent bean
@@ -1453,16 +924,11 @@
* @param baseName Description of Parameter
* @return The VendorOutputJarFile value
*/
-
File getVendorOutputJarFile( String baseName )
{
-
return new File( getDestDir(), baseName + jarSuffix );
-
}// end getOptions
-
-
/**
* Helper method invoked by execute() for each websphere jar to be built.
* Encapsulates the logic of constructing a java task for calling
@@ -1472,30 +938,18 @@
* @param destJar java.io.File representing the destination, websphere
* jarfile.
*/
-
private void buildWebsphereJar( File sourceJar, File destJar )
{
-
try
{
-
if( ejbdeploy )
{
-
String args =
-
" " + sourceJar.getPath() +
-
" " + tempdir +
-
" " + destJar.getPath() +
-
" " + getOptions();
-
-
-
if( getCombinedClasspath() != null && getCombinedClasspath().toString().length() > 0 )
-
args += " -cp " + getCombinedClasspath();
@@ -1503,16 +957,12 @@
// Why do my ""'s get stripped away???
log( "EJB Deploy Options: " + args, Project.MSG_VERBOSE );
-
-
-
- Java javaTask = ( Java )getTask().getProject().createTask( "java" );
+ Java javaTask = (Java)getTask().getProject().createTask( "java" );
// Set the JvmArgs
javaTask.createJvmarg().setValue( "-Xms64m" );
-
javaTask.createJvmarg().setValue( "-Xmx128m" );
@@ -1520,11 +970,8 @@
// Set the Environment variable
Environment.Variable var = new Environment.Variable();
-
var.setKey( "websphere.lib.dir" );
-
var.setValue( getTask().getProject().getProperty( "websphere.home" ) + "/lib" );
-
javaTask.addSysproperty( var );
@@ -1538,73 +985,38 @@
// Set the Java class name
javaTask.setTaskName( "ejbdeploy" );
-
javaTask.setClassname( "com.ibm.etools.ejbdeploy.EJBDeploy" );
-
-
-
Commandline.Argument arguments = javaTask.createArg();
-
arguments.setLine( args );
-
-
-
Path classpath = wasClasspath;
-
if( classpath == null )
{
-
classpath = getCombinedClasspath();
-
}
-
-
-
if( classpath != null )
{
-
javaTask.setClasspath( classpath );
-
javaTask.setFork( true );
-
}
-
else
{
-
javaTask.setFork( true );
-
}
-
-
-
log( "Calling websphere.ejbdeploy for " + sourceJar.toString(),
-
- Project.MSG_VERBOSE );
-
-
-
+ Project.MSG_VERBOSE );
javaTask.execute();
-
}
-
}
-
catch( Exception e )
{
-
// Have to catch this because of the semantics of calling main()
String msg = "Exception while calling ejbdeploy. Details: " + e.toString();
-
- throw new BuildException( msg, e );
-
+ throw new TaskException( msg, e );
}
-
}
-
/**
* Enumerated attribute with the values for the database vendor types
*
@@ -1616,15 +1028,10 @@
public String[] getValues()
{
-
return new String[]{
-
"SQL92", "SQL99", "DB2UDBWIN_V71", "DB2UDBOS390_V6", "DB2UDBAS400_V4R5",
-
"ORACLE_V8", "INFORMIX_V92", "SYBASE_V1192", "MSSQLSERVER_V7", "MYSQL_V323"
-
- };
-
+ };
}
}
1.2 +64 -59 jakarta-ant/proposal/myrmidon/src/main/org/apache/tools/ant/types/Commandline.java
Index: Commandline.java
===================================================================
RCS file: /home/cvs/jakarta-ant/proposal/myrmidon/src/main/org/apache/tools/ant/types/Commandline.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- Commandline.java 2001/12/15 12:06:31 1.1
+++ Commandline.java 2001/12/15 15:20:24 1.2
@@ -6,12 +6,13 @@
* the LICENSE file.
*/
package org.apache.tools.ant.types;
+
import java.io.File;
import java.util.StringTokenizer;
import java.util.Vector;
+import org.apache.myrmidon.api.TaskException;
import org.apache.tools.ant.BuildException;
-
/**
* Commandline objects help handling command lines specifying processes to
* execute. The class can be used to define a command line as nested elements or
@@ -44,10 +45,10 @@
String[] tmp = translateCommandline( to_process );
if( tmp != null && tmp.length > 0 )
{
- setExecutable( tmp[0] );
+ setExecutable( tmp[ 0 ] );
for( int i = 1; i < tmp.length; i++ )
{
- createArgument().setValue( tmp[i] );
+ createArgument().setValue( tmp[ i ] );
}
}
}
@@ -68,6 +69,7 @@
* @return Description of the Returned Value
*/
public static String quoteArgument( String argument )
+ throws TaskException
{
if( argument.indexOf( "\"" ) > -1 )
{
@@ -103,8 +105,16 @@
if( i > 0 )
{
result.append( ' ' );
+ }
+
+ try
+ {
+ result.append( quoteArgument( line[ i ] ) );
}
- result.append( quoteArgument( line[i] ) );
+ catch( TaskException e )
+ {
+ }
+
}
return result.toString();
}
@@ -113,7 +123,7 @@
{
if( to_process == null || to_process.length() == 0 )
{
- return new String[0];
+ return new String[ 0 ];
}
// parse with a simple finite state machine
@@ -129,50 +139,50 @@
while( tok.hasMoreTokens() )
{
String nextTok = tok.nextToken();
- switch ( state )
+ switch( state )
{
- case inQuote:
- if( "\'".equals( nextTok ) )
- {
- state = normal;
- }
- else
- {
- current.append( nextTok );
- }
- break;
- case inDoubleQuote:
- if( "\"".equals( nextTok ) )
- {
- state = normal;
- }
- else
- {
- current.append( nextTok );
- }
- break;
- default:
- if( "\'".equals( nextTok ) )
- {
- state = inQuote;
- }
- else if( "\"".equals( nextTok ) )
- {
- state = inDoubleQuote;
- }
- else if( " ".equals( nextTok ) )
- {
- if( current.length() != 0 )
+ case inQuote:
+ if( "\'".equals( nextTok ) )
{
- v.addElement( current.toString() );
- current.setLength( 0 );
+ state = normal;
}
- }
- else
- {
- current.append( nextTok );
- }
- break;
+ else
+ {
+ current.append( nextTok );
+ }
+ break;
+ case inDoubleQuote:
+ if( "\"".equals( nextTok ) )
+ {
+ state = normal;
+ }
+ else
+ {
+ current.append( nextTok );
+ }
+ break;
+ default:
+ if( "\'".equals( nextTok ) )
+ {
+ state = inQuote;
+ }
+ else if( "\"".equals( nextTok ) )
+ {
+ state = inDoubleQuote;
+ }
+ else if( " ".equals( nextTok ) )
+ {
+ if( current.length() != 0 )
+ {
+ v.addElement( current.toString() );
+ current.setLength( 0 );
+ }
+ }
+ else
+ {
+ current.append( nextTok );
+ }
+ break;
}
}
@@ -186,12 +196,11 @@
throw new BuildException( "unbalanced quotes in " + to_process );
}
- String[] args = new String[v.size()];
+ String[] args = new String[ v.size() ];
v.copyInto( args );
return args;
}
-
/**
* Sets the executable to run.
*
@@ -205,7 +214,6 @@
.replace( '\\', File.separatorChar );
}
-
/**
* Returns all arguments defined by <code>addLine</code>, <code>addValue</code>
* or the argument object.
@@ -217,15 +225,15 @@
Vector result = new Vector( arguments.size() * 2 );
for( int i = 0; i < arguments.size(); i++ )
{
- Argument arg = ( Argument )arguments.elementAt( i );
+ Argument arg = (Argument)arguments.elementAt( i );
String[] s = arg.getParts();
for( int j = 0; j < s.length; j++ )
{
- result.addElement( s[j] );
+ result.addElement( s[ j ] );
}
}
- String[] res = new String[result.size()];
+ String[] res = new String[ result.size() ];
result.copyInto( res );
return res;
}
@@ -240,24 +248,22 @@
final String[] args = getArguments();
if( executable == null )
return args;
- final String[] result = new String[args.length + 1];
- result[0] = executable;
+ final String[] result = new String[ args.length + 1 ];
+ result[ 0 ] = executable;
System.arraycopy( args, 0, result, 1, args.length );
return result;
}
-
public String getExecutable()
{
return executable;
}
-
public void addArguments( String[] line )
{
for( int i = 0; i < line.length; i++ )
{
- createArgument().setValue( line[i] );
+ createArgument().setValue( line[ i ] );
}
}
@@ -318,7 +324,6 @@
return getCommandline().length;
}
-
public String toString()
{
return toString( getCommandline() );
@@ -421,7 +426,7 @@
realPos = ( executable == null ? 0 : 1 );
for( int i = 0; i < position; i++ )
{
- Argument arg = ( Argument )arguments.elementAt( i );
+ Argument arg = (Argument)arguments.elementAt( i );
realPos += arg.getParts().length;
}
}
1.3 +6 -6 jakarta-ant/proposal/myrmidon/src/main/org/apache/tools/ant/types/FileSet.java
Index: FileSet.java
===================================================================
RCS file: /home/cvs/jakarta-ant/proposal/myrmidon/src/main/org/apache/tools/ant/types/FileSet.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- FileSet.java 2001/12/15 14:55:59 1.2
+++ FileSet.java 2001/12/15 15:20:24 1.3
@@ -82,7 +82,7 @@
}
public void setDir( File dir )
- throws BuildException
+ throws TaskException
{
if( isReference() )
{
@@ -113,10 +113,10 @@
* Sets the name of the file containing the includes patterns.
*
* @param excl The file to fetch the exclude patterns from.
- * @exception BuildException Description of Exception
+ * @exception TaskException Description of Exception
*/
public void setExcludesfile( File excl )
- throws BuildException
+ throws TaskException
{
if( isReference() )
{
@@ -147,10 +147,10 @@
* Sets the name of the file containing the includes patterns.
*
* @param incl The file to fetch the include patterns from.
- * @exception BuildException Description of Exception
+ * @exception TaskException Description of Exception
*/
public void setIncludesfile( File incl )
- throws BuildException
+ throws TaskException
{
if( isReference() )
{
@@ -168,7 +168,7 @@
* if you make it a reference.</p>
*
* @param r The new Refid value
- * @exception BuildException Description of Exception
+ * @exception TaskException Description of Exception
*/
public void setRefid( Reference r )
throws TaskException
1.3 +19 -18 jakarta-ant/proposal/myrmidon/src/main/org/apache/tools/ant/types/Mapper.java
Index: Mapper.java
===================================================================
RCS file: /home/cvs/jakarta-ant/proposal/myrmidon/src/main/org/apache/tools/ant/types/Mapper.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- Mapper.java 2001/12/15 14:56:00 1.2
+++ Mapper.java 2001/12/15 15:20:24 1.3
@@ -6,12 +6,13 @@
* the LICENSE file.
*/
package org.apache.tools.ant.types;
+
import java.util.Properties;
import java.util.Stack;
import org.apache.tools.ant.AntClassLoader;
-import org.apache.tools.ant.BuildException;
import org.apache.tools.ant.Project;
import org.apache.tools.ant.util.FileNameMapper;
+import org.apache.myrmidon.api.TaskException;
/**
* Element to define a FileNameMapper.
@@ -106,10 +107,10 @@
* You must not set any other attribute if you make it a reference.</p>
*
* @param r The new Refid value
- * @exception BuildException Description of Exception
+ * @exception TaskException Description of Exception
*/
public void setRefid( Reference r )
- throws BuildException
+ throws TaskException
{
if( type != null || from != null || to != null )
{
@@ -150,10 +151,10 @@
* Returns a fully configured FileNameMapper implementation.
*
* @return The Implementation value
- * @exception BuildException Description of Exception
+ * @exception TaskException Description of Exception
*/
public FileNameMapper getImplementation()
- throws BuildException
+ throws TaskException
{
if( isReference() )
{
@@ -162,12 +163,12 @@
if( type == null && classname == null )
{
- throw new BuildException( "one of the attributes type or classname is required" );
+ throw new TaskException( "one of the attributes type or classname is required" );
}
if( type != null && classname != null )
{
- throw new BuildException( "must not specify both type and classname attribute" );
+ throw new TaskException( "must not specify both type and classname attribute" );
}
try
@@ -185,23 +186,23 @@
else
{
AntClassLoader al = new AntClassLoader( getProject(),
- classpath );
+ classpath );
c = al.loadClass( classname );
AntClassLoader.initializeClass( c );
}
- FileNameMapper m = ( FileNameMapper )c.newInstance();
+ FileNameMapper m = (FileNameMapper)c.newInstance();
m.setFrom( from );
m.setTo( to );
return m;
}
- catch( BuildException be )
+ catch( TaskException be )
{
throw be;
}
catch( Throwable t )
{
- throw new BuildException( "Error", t );
+ throw new TaskException( "Error", t );
}
finally
{
@@ -249,11 +250,11 @@
if( !( o instanceof Mapper ) )
{
String msg = ref.getRefId() + " doesn\'t denote a mapper";
- throw new BuildException( msg );
+ throw new TaskException( msg );
}
else
{
- return ( Mapper )o;
+ return (Mapper)o;
}
}
@@ -270,15 +271,15 @@
{
implementations = new Properties();
implementations.put( "identity",
- "org.apache.tools.ant.util.IdentityMapper" );
+ "org.apache.tools.ant.util.IdentityMapper" );
implementations.put( "flatten",
- "org.apache.tools.ant.util.FlatFileNameMapper" );
+ "org.apache.tools.ant.util.FlatFileNameMapper" );
implementations.put( "glob",
- "org.apache.tools.ant.util.GlobPatternMapper" );
+ "org.apache.tools.ant.util.GlobPatternMapper" );
implementations.put( "merge",
- "org.apache.tools.ant.util.MergingMapper" );
+ "org.apache.tools.ant.util.MergingMapper" );
implementations.put( "regexp",
- "org.apache.tools.ant.util.RegexpPatternMapper" );
+ "org.apache.tools.ant.util.RegexpPatternMapper" );
}
public String getImplementation()
1.3 +40 -29 jakarta-ant/proposal/myrmidon/src/main/org/apache/tools/ant/types/PatternSet.java
Index: PatternSet.java
===================================================================
RCS file: /home/cvs/jakarta-ant/proposal/myrmidon/src/main/org/apache/tools/ant/types/PatternSet.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- PatternSet.java 2001/12/15 14:56:00 1.2
+++ PatternSet.java 2001/12/15 15:20:24 1.3
@@ -6,6 +6,7 @@
* the LICENSE file.
*/
package org.apache.tools.ant.types;
+
import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
@@ -14,9 +15,8 @@
import java.util.Stack;
import java.util.StringTokenizer;
import java.util.Vector;
-import org.apache.tools.ant.BuildException;
+import org.apache.myrmidon.api.TaskException;
import org.apache.tools.ant.Project;
-import org.apache.tools.ant.ProjectHelper;
/**
* Named collection of include/exclude tags. <p>
@@ -50,6 +50,7 @@
* @param excludes the string containing the exclude patterns
*/
public void setExcludes( String excludes )
+ throws TaskException
{
if( isReference() )
{
@@ -69,10 +70,10 @@
* Sets the name of the file containing the excludes patterns.
*
* @param excludesFile The file to fetch the exclude patterns from.
- * @exception BuildException Description of Exception
+ * @exception TaskException Description of Exception
*/
public void setExcludesfile( File excludesFile )
- throws BuildException
+ throws TaskException
{
if( isReference() )
{
@@ -88,6 +89,7 @@
* @param includes the string containing the include patterns
*/
public void setIncludes( String includes )
+ throws TaskException
{
if( isReference() )
{
@@ -107,10 +109,10 @@
* Sets the name of the file containing the includes patterns.
*
* @param includesFile The file to fetch the include patterns from.
- * @exception BuildException Description of Exception
+ * @exception TaskException Description of Exception
*/
public void setIncludesfile( File includesFile )
- throws BuildException
+ throws TaskException
{
if( isReference() )
{
@@ -127,10 +129,10 @@
* if you make it a reference.</p>
*
* @param r The new Refid value
- * @exception BuildException Description of Exception
+ * @exception TaskException Description of Exception
*/
public void setRefid( Reference r )
- throws BuildException
+ throws TaskException
{
if( !includeList.isEmpty() || !excludeList.isEmpty() )
{
@@ -146,6 +148,7 @@
* @return The ExcludePatterns value
*/
public String[] getExcludePatterns( Project p )
+ throws TaskException
{
if( isReference() )
{
@@ -165,6 +168,7 @@
* @return The IncludePatterns value
*/
public String[] getIncludePatterns( Project p )
+ throws TaskException
{
if( isReference() )
{
@@ -184,10 +188,11 @@
* @param p Description of Parameter
*/
public void append( PatternSet other, Project p )
+ throws TaskException
{
if( isReference() )
{
- throw new BuildException( "Cannot append to a reference" );
+ throw new TaskException( "Cannot append to a reference" );
}
String[] incl = other.getIncludePatterns( p );
@@ -195,7 +200,7 @@
{
for( int i = 0; i < incl.length; i++ )
{
- createInclude().setName( incl[i] );
+ createInclude().setName( incl[ i ] );
}
}
@@ -204,7 +209,7 @@
{
for( int i = 0; i < excl.length; i++ )
{
- createExclude().setName( excl[i] );
+ createExclude().setName( excl[ i ] );
}
}
}
@@ -215,6 +220,7 @@
* @return Description of the Returned Value
*/
public NameEntry createExclude()
+ throws TaskException
{
if( isReference() )
{
@@ -229,6 +235,7 @@
* @return Description of the Returned Value
*/
public NameEntry createExcludesFile()
+ throws TaskException
{
if( isReference() )
{
@@ -243,6 +250,7 @@
* @return Description of the Returned Value
*/
public NameEntry createInclude()
+ throws TaskException
{
if( isReference() )
{
@@ -257,6 +265,7 @@
* @return Description of the Returned Value
*/
public NameEntry createIncludesFile()
+ throws TaskException
{
if( isReference() )
{
@@ -279,7 +288,7 @@
boolean hasPatterns()
{
return includesFileList.size() > 0 || excludesFileList.size() > 0
- || includeList.size() > 0 || excludeList.size() > 0;
+ || includeList.size() > 0 || excludeList.size() > 0;
}
/**
@@ -290,6 +299,7 @@
* @return The Ref value
*/
private PatternSet getRef( Project p )
+ throws TaskException
{
if( !checked )
{
@@ -302,11 +312,11 @@
if( !( o instanceof PatternSet ) )
{
String msg = ref.getRefId() + " doesn\'t denote a patternset";
- throw new BuildException( msg );
+ throw new TaskException( msg );
}
else
{
- return ( PatternSet )o;
+ return (PatternSet)o;
}
}
@@ -336,9 +346,9 @@
return null;
Vector tmpNames = new Vector();
- for( Enumeration e = list.elements(); e.hasMoreElements(); )
+ for( Enumeration e = list.elements(); e.hasMoreElements(); )
{
- NameEntry ne = ( NameEntry )e.nextElement();
+ NameEntry ne = (NameEntry)e.nextElement();
String pattern = ne.evalName( p );
if( pattern != null && pattern.length() > 0 )
{
@@ -346,7 +356,7 @@
}
}
- String result[] = new String[tmpNames.size()];
+ String result[] = new String[ tmpNames.size() ];
tmpNames.copyInto( result );
return result;
}
@@ -357,21 +367,22 @@
* @param p Description of Parameter
*/
private void readFiles( Project p )
+ throws TaskException
{
if( includesFileList.size() > 0 )
{
Enumeration e = includesFileList.elements();
while( e.hasMoreElements() )
{
- NameEntry ne = ( NameEntry )e.nextElement();
+ NameEntry ne = (NameEntry)e.nextElement();
String fileName = ne.evalName( p );
if( fileName != null )
{
File inclFile = resolveFile( fileName );
if( !inclFile.exists() )
- throw new BuildException( "Includesfile "
- + inclFile.getAbsolutePath()
- + " not found." );
+ throw new TaskException( "Includesfile "
+ + inclFile.getAbsolutePath()
+ + " not found." );
readPatterns( inclFile, includeList, p );
}
}
@@ -383,15 +394,15 @@
Enumeration e = excludesFileList.elements();
while( e.hasMoreElements() )
{
- NameEntry ne = ( NameEntry )e.nextElement();
+ NameEntry ne = (NameEntry)e.nextElement();
String fileName = ne.evalName( p );
if( fileName != null )
{
File exclFile = resolveFile( fileName );
if( !exclFile.exists() )
- throw new BuildException( "Excludesfile "
- + exclFile.getAbsolutePath()
- + " not found." );
+ throw new TaskException( "Excludesfile "
+ + exclFile.getAbsolutePath()
+ + " not found." );
readPatterns( exclFile, excludeList, p );
}
}
@@ -406,10 +417,10 @@
* @param patternfile Description of Parameter
* @param patternlist Description of Parameter
* @param p Description of Parameter
- * @exception BuildException Description of Exception
+ * @exception TaskException Description of Exception
*/
private void readPatterns( File patternfile, Vector patternlist, Project p )
- throws BuildException
+ throws TaskException
{
BufferedReader patternReader = null;
@@ -435,8 +446,8 @@
catch( IOException ioe )
{
String msg = "An error occured while reading from pattern file: "
- + patternfile;
- throw new BuildException( msg, ioe );
+ + patternfile;
+ throw new TaskException( msg, ioe );
}
finally
{
--
To unsubscribe, e-mail: <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>