diff --git a/proposal/myrmidon/src/main/org/apache/tools/ant/taskdefs/exec/ExecTask.java b/proposal/myrmidon/src/main/org/apache/tools/ant/taskdefs/exec/ExecTask.java index bafda7fdb..d66df6ca1 100644 --- a/proposal/myrmidon/src/main/org/apache/tools/ant/taskdefs/exec/ExecTask.java +++ b/proposal/myrmidon/src/main/org/apache/tools/ant/taskdefs/exec/ExecTask.java @@ -67,8 +67,6 @@ public class ExecTask /** * The command to execute. - * - * @param value The new Executable value */ public void setExecutable( final String value ) throws TaskException @@ -78,8 +76,6 @@ public class ExecTask /** * Use a completely new environment - * - * @param newenv The new Newenvironment value */ public void setNewenvironment( final boolean newEnvironment ) { diff --git a/proposal/myrmidon/src/main/org/apache/tools/ant/taskdefs/exec/ExecuteOn.java b/proposal/myrmidon/src/main/org/apache/tools/ant/taskdefs/exec/ExecuteOn.java index 8a17177ea..e133f7982 100644 --- a/proposal/myrmidon/src/main/org/apache/tools/ant/taskdefs/exec/ExecuteOn.java +++ b/proposal/myrmidon/src/main/org/apache/tools/ant/taskdefs/exec/ExecuteOn.java @@ -11,16 +11,14 @@ import java.io.File; import java.io.IOException; import java.util.ArrayList; import java.util.Hashtable; +import org.apache.avalon.excalibur.util.StringUtil; import org.apache.myrmidon.api.TaskException; import org.apache.tools.ant.types.DirectoryScanner; -import org.apache.tools.ant.types.Commandline; -import org.apache.tools.ant.types.EnumeratedAttribute; import org.apache.tools.ant.types.FileSet; -import org.apache.tools.ant.util.mappers.Mapper; import org.apache.tools.ant.types.Marker; -import org.apache.tools.ant.util.mappers.FileNameMapper; import org.apache.tools.ant.types.SourceFileScanner; -import org.apache.avalon.excalibur.util.StringUtil; +import org.apache.tools.ant.util.mappers.FileNameMapper; +import org.apache.tools.ant.util.mappers.Mapper; /** * Executes a given command, supplying a set of files as arguments. @@ -28,162 +26,143 @@ import org.apache.avalon.excalibur.util.StringUtil; * @author Stefan Bodewig * @author Mariusz Nowostawski */ -public class ExecuteOn extends ExecTask +public class ExecuteOn + extends ExecTask { - protected ArrayList filesets = new ArrayList(); - private boolean relative = false; - private boolean parallel = false; - protected String type = "file"; - protected Marker srcFilePos = null; - private boolean skipEmpty = false; - protected Marker targetFilePos = null; - protected Mapper mapperElement = null; - protected FileNameMapper mapper = null; - protected File destDir = null; + private ArrayList m_filesets = new ArrayList(); + private boolean m_relative; + private boolean m_parallel; + private String m_type = "file"; + private Marker m_srcFilePos; + private boolean m_skipEmpty; + private Marker m_targetFilePos; + private Mapper m_mapperElement; + private FileNameMapper m_mapper; + private File m_destDir /** * Has <srcfile> been specified before <targetfile> */ - protected boolean srcIsFirst = true; + private boolean m_srcIsFirst = true; /** * Set the destination directory. - * - * @param destDir The new Dest value */ - public void setDest( File destDir ) + public void setDest( final File destDir ) { - this.destDir = destDir; + m_destDir = destDir; } /** * Shall the command work on all specified files in parallel? - * - * @param parallel The new Parallel value */ - public void setParallel( boolean parallel ) + public void setParallel( final boolean parallel ) { - this.parallel = parallel; + m_parallel = parallel; } /** * Should filenames be returned as relative path names? - * - * @param relative The new Relative value */ - public void setRelative( boolean relative ) + public void setRelative( final boolean relative ) { - this.relative = relative; + m_relative = relative; } /** * Should empty filesets be ignored? - * - * @param skip The new SkipEmptyFilesets value */ - public void setSkipEmptyFilesets( boolean skip ) + public void setSkipEmptyFilesets( final boolean skip ) { - skipEmpty = skip; + m_skipEmpty = skip; } /** * Shall the command work only on files, directories or both? - * - * @param type The new Type value */ - public void setType( FileDirBoth type ) + public void setType( final FileDirBoth type ) { - this.type = type.getValue(); + m_type = type.getValue(); } /** * Adds a set of files (nested fileset attribute). - * - * @param set The feature to be added to the Fileset attribute */ - public void addFileset( FileSet set ) + public void addFileset( final FileSet set ) { - filesets.add( set ); + m_filesets.add( set ); } /** * Defines the FileNameMapper to use (nested mapper element). - * - * @return Description of the Returned Value - * @exception TaskException Description of Exception */ public Mapper createMapper() throws TaskException { - if( mapperElement != null ) + if( m_mapperElement != null ) { throw new TaskException( "Cannot define more than one mapper" ); } - mapperElement = new Mapper(); - return mapperElement; + m_mapperElement = new Mapper(); + return m_mapperElement; } /** * Marker that indicates where the name of the source file should be put on * the command line. - * - * @return Description of the Returned Value */ public Marker createSrcfile() throws TaskException { - if( srcFilePos != null ) + if( m_srcFilePos != null ) { throw new TaskException( getName() + " doesn\'t support multiple srcfile elements." ); } - srcFilePos = getCommand().createMarker(); - return srcFilePos; + m_srcFilePos = getCommand().createMarker(); + return m_srcFilePos; } /** * Marker that indicates where the name of the target file should be put on * the command line. - * - * @return Description of the Returned Value */ public Marker createTargetfile() throws TaskException { - if( targetFilePos != null ) + if( m_targetFilePos != null ) { throw new TaskException( getName() + " doesn\'t support multiple targetfile elements." ); } - targetFilePos = getCommand().createMarker(); - srcIsFirst = ( srcFilePos != null ); - return targetFilePos; + m_targetFilePos = getCommand().createMarker(); + m_srcIsFirst = ( m_srcFilePos != null ); + return m_targetFilePos; } /** * Construct the command line for parallel execution. * * @param srcFiles The filenames to add to the commandline - * @param baseDirs Description of Parameter - * @return The Commandline value */ - protected String[] getCommandline( String[] srcFiles, File[] baseDirs ) + protected String[] getCommandline( final String[] srcFiles, + final File[] baseDirs ) throws TaskException { - ArrayList targets = new ArrayList(); - if( targetFilePos != null ) + final ArrayList targets = new ArrayList(); + if( m_targetFilePos != null ) { Hashtable addedFiles = new Hashtable(); for( int i = 0; i < srcFiles.length; i++ ) { - String[] subTargets = mapper.mapFileName( srcFiles[ i ] ); + String[] subTargets = m_mapper.mapFileName( srcFiles[ i ] ); if( subTargets != null ) { for( int j = 0; j < subTargets.length; j++ ) { String name = null; - if( !relative ) + if( !m_relative ) { name = - ( new File( destDir, subTargets[ j ] ) ).getAbsolutePath(); + ( new File( m_destDir, subTargets[ j ] ) ).getAbsolutePath(); } else { @@ -205,17 +184,17 @@ public class ExecuteOn extends ExecTask String[] result = new String[ orig.length + srcFiles.length + targetFiles.length ]; int srcIndex = orig.length; - if( srcFilePos != null ) + if( m_srcFilePos != null ) { - srcIndex = srcFilePos.getPosition(); + srcIndex = m_srcFilePos.getPosition(); } - if( targetFilePos != null ) + if( m_targetFilePos != null ) { - int targetIndex = targetFilePos.getPosition(); + int targetIndex = m_targetFilePos.getPosition(); if( srcIndex < targetIndex - || ( srcIndex == targetIndex && srcIsFirst ) ) + || ( srcIndex == targetIndex && m_srcIsFirst ) ) { // 0 --> srcIndex @@ -274,7 +253,7 @@ public class ExecuteOn extends ExecTask // fill in source file names for( int i = 0; i < srcFiles.length; i++ ) { - if( !relative ) + if( !m_relative ) { result[ srcIndex + i ] = ( new File( baseDirs[ i ], srcFiles[ i ] ) ).getAbsolutePath(); @@ -294,7 +273,8 @@ public class ExecuteOn extends ExecTask * @param baseDir filename is relative to this dir * @return The Commandline value */ - protected String[] getCommandline( String srcFile, File baseDir ) + protected String[] getCommandline( final String srcFile, + final File baseDir ) throws TaskException { return getCommandline( new String[]{srcFile}, new File[]{baseDir} ); @@ -308,15 +288,16 @@ public class ExecuteOn extends ExecTask * @param ds Description of Parameter * @return The Dirs value */ - protected String[] getDirs( File baseDir, DirectoryScanner ds ) + protected String[] getDirs( final File baseDir, + final DirectoryScanner ds ) throws TaskException { - if( mapper != null ) + if( m_mapper != null ) { final SourceFileScanner scanner = new SourceFileScanner(); setupLogger( scanner ); - return scanner.restrict( ds.getIncludedDirectories(), baseDir, destDir, - mapper ); + return scanner.restrict( ds.getIncludedDirectories(), baseDir, m_destDir, + m_mapper ); } else { @@ -332,15 +313,16 @@ public class ExecuteOn extends ExecTask * @param ds Description of Parameter * @return The Files value */ - protected String[] getFiles( File baseDir, DirectoryScanner ds ) + protected String[] getFiles( final File baseDir, + final DirectoryScanner ds ) throws TaskException { - if( mapper != null ) + if( m_mapper != null ) { final SourceFileScanner scanner = new SourceFileScanner(); setupLogger( scanner ); - return scanner.restrict( ds.getIncludedFiles(), baseDir, destDir, - mapper ); + return scanner.restrict( ds.getIncludedFiles(), baseDir, m_destDir, + m_mapper ); } else { @@ -352,44 +334,46 @@ public class ExecuteOn extends ExecTask throws TaskException { super.validate(); - if( filesets.size() == 0 ) + if( m_filesets.size() == 0 ) { - throw new TaskException( "no filesets specified" ); + final String message = "no filesets specified"; + throw new TaskException( message ); } - if( targetFilePos != null || mapperElement != null - || destDir != null ) + if( m_targetFilePos != null || + m_mapperElement != null || + m_destDir != null ) { - - if( mapperElement == null ) + if( m_mapperElement == null ) { - throw new TaskException( "no mapper specified" ); + final String message = "no mapper specified"; + throw new TaskException( message ); } - if( mapperElement == null ) + if( m_mapperElement == null ) { - throw new TaskException( "no dest attribute specified" ); + final String message = "no dest attribute specified"; + throw new TaskException( message ); } - mapper = mapperElement.getImplementation(); + m_mapper = m_mapperElement.getImplementation(); } } - protected void runExec( Execute exe ) + protected void runExec( final Execute exe ) throws TaskException { try { - - ArrayList fileNames = new ArrayList(); - ArrayList baseDirs = new ArrayList(); - for( int i = 0; i < filesets.size(); i++ ) + final ArrayList fileNames = new ArrayList(); + final ArrayList baseDirs = new ArrayList(); + for( int i = 0; i < m_filesets.size(); i++ ) { - FileSet fs = (FileSet)filesets.get( i ); - File base = fs.getDir(); - DirectoryScanner ds = fs.getDirectoryScanner(); + final FileSet fs = (FileSet)m_filesets.get( i ); + final File base = fs.getDir(); + final DirectoryScanner ds = fs.getDirectoryScanner(); - if( !"dir".equals( type ) ) + if( !"dir".equals( m_type ) ) { - String[] s = getFiles( base, ds ); + final String[] s = getFiles( base, ds ); for( int j = 0; j < s.length; j++ ) { fileNames.add( s[ j ] ); @@ -397,10 +381,9 @@ public class ExecuteOn extends ExecTask } } - if( !"file".equals( type ) ) + if( !"file".equals( m_type ) ) { - String[] s = getDirs( base, ds ); - ; + final String[] s = getDirs( base, ds ); for( int j = 0; j < s.length; j++ ) { fileNames.add( s[ j ] ); @@ -408,15 +391,15 @@ public class ExecuteOn extends ExecTask } } - if( fileNames.size() == 0 && skipEmpty ) + if( fileNames.size() == 0 && m_skipEmpty ) { getLogger().info( "Skipping fileset for directory " + base + ". It is empty." ); continue; } - if( !parallel ) + if( !m_parallel ) { - String[] s = new String[ fileNames.size() ]; + final String[] s = new String[ fileNames.size() ]; s = (String[])fileNames.toArray( s ); for( int j = 0; j < s.length; j++ ) { @@ -430,7 +413,7 @@ public class ExecuteOn extends ExecTask } } - if( parallel && ( fileNames.size() > 0 || !skipEmpty ) ) + if( m_parallel && ( fileNames.size() > 0 || !m_skipEmpty ) ) { String[] s = new String[ fileNames.size() ]; s = (String[])fileNames.toArray( s ); @@ -453,18 +436,4 @@ public class ExecuteOn extends ExecTask logFlush(); } } - - /** - * Enumerated attribute with the values "file", "dir" and "both" for the - * type attribute. - * - * @author RT - */ - public static class FileDirBoth extends EnumeratedAttribute - { - public String[] getValues() - { - return new String[]{"file", "dir", "both"}; - } - } } diff --git a/proposal/myrmidon/src/main/org/apache/tools/ant/taskdefs/exec/FileDirBoth.java b/proposal/myrmidon/src/main/org/apache/tools/ant/taskdefs/exec/FileDirBoth.java new file mode 100644 index 000000000..3dd14a723 --- /dev/null +++ b/proposal/myrmidon/src/main/org/apache/tools/ant/taskdefs/exec/FileDirBoth.java @@ -0,0 +1,23 @@ +/* + * Copyright (C) The Apache Software Foundation. All rights reserved. + * + * This software is published under the terms of the Apache Software License + * version 1.1, a copy of which has been included with this distribution in + * the LICENSE.txt file. + */ +package org.apache.tools.ant.taskdefs.exec; + +import org.apache.tools.ant.types.EnumeratedAttribute; + +/** + * Enumerated attribute with the values "file", "dir" and "both" for the + * type attribute. + */ +public class FileDirBoth + extends EnumeratedAttribute +{ + public String[] getValues() + { + return new String[]{"file", "dir", "both"}; + } +} diff --git a/proposal/myrmidon/src/todo/org/apache/tools/ant/taskdefs/exec/ExecTask.java b/proposal/myrmidon/src/todo/org/apache/tools/ant/taskdefs/exec/ExecTask.java index bafda7fdb..d66df6ca1 100644 --- a/proposal/myrmidon/src/todo/org/apache/tools/ant/taskdefs/exec/ExecTask.java +++ b/proposal/myrmidon/src/todo/org/apache/tools/ant/taskdefs/exec/ExecTask.java @@ -67,8 +67,6 @@ public class ExecTask /** * The command to execute. - * - * @param value The new Executable value */ public void setExecutable( final String value ) throws TaskException @@ -78,8 +76,6 @@ public class ExecTask /** * Use a completely new environment - * - * @param newenv The new Newenvironment value */ public void setNewenvironment( final boolean newEnvironment ) { diff --git a/proposal/myrmidon/src/todo/org/apache/tools/ant/taskdefs/exec/ExecuteOn.java b/proposal/myrmidon/src/todo/org/apache/tools/ant/taskdefs/exec/ExecuteOn.java index 8a17177ea..e133f7982 100644 --- a/proposal/myrmidon/src/todo/org/apache/tools/ant/taskdefs/exec/ExecuteOn.java +++ b/proposal/myrmidon/src/todo/org/apache/tools/ant/taskdefs/exec/ExecuteOn.java @@ -11,16 +11,14 @@ import java.io.File; import java.io.IOException; import java.util.ArrayList; import java.util.Hashtable; +import org.apache.avalon.excalibur.util.StringUtil; import org.apache.myrmidon.api.TaskException; import org.apache.tools.ant.types.DirectoryScanner; -import org.apache.tools.ant.types.Commandline; -import org.apache.tools.ant.types.EnumeratedAttribute; import org.apache.tools.ant.types.FileSet; -import org.apache.tools.ant.util.mappers.Mapper; import org.apache.tools.ant.types.Marker; -import org.apache.tools.ant.util.mappers.FileNameMapper; import org.apache.tools.ant.types.SourceFileScanner; -import org.apache.avalon.excalibur.util.StringUtil; +import org.apache.tools.ant.util.mappers.FileNameMapper; +import org.apache.tools.ant.util.mappers.Mapper; /** * Executes a given command, supplying a set of files as arguments. @@ -28,162 +26,143 @@ import org.apache.avalon.excalibur.util.StringUtil; * @author Stefan Bodewig * @author Mariusz Nowostawski */ -public class ExecuteOn extends ExecTask +public class ExecuteOn + extends ExecTask { - protected ArrayList filesets = new ArrayList(); - private boolean relative = false; - private boolean parallel = false; - protected String type = "file"; - protected Marker srcFilePos = null; - private boolean skipEmpty = false; - protected Marker targetFilePos = null; - protected Mapper mapperElement = null; - protected FileNameMapper mapper = null; - protected File destDir = null; + private ArrayList m_filesets = new ArrayList(); + private boolean m_relative; + private boolean m_parallel; + private String m_type = "file"; + private Marker m_srcFilePos; + private boolean m_skipEmpty; + private Marker m_targetFilePos; + private Mapper m_mapperElement; + private FileNameMapper m_mapper; + private File m_destDir /** * Has <srcfile> been specified before <targetfile> */ - protected boolean srcIsFirst = true; + private boolean m_srcIsFirst = true; /** * Set the destination directory. - * - * @param destDir The new Dest value */ - public void setDest( File destDir ) + public void setDest( final File destDir ) { - this.destDir = destDir; + m_destDir = destDir; } /** * Shall the command work on all specified files in parallel? - * - * @param parallel The new Parallel value */ - public void setParallel( boolean parallel ) + public void setParallel( final boolean parallel ) { - this.parallel = parallel; + m_parallel = parallel; } /** * Should filenames be returned as relative path names? - * - * @param relative The new Relative value */ - public void setRelative( boolean relative ) + public void setRelative( final boolean relative ) { - this.relative = relative; + m_relative = relative; } /** * Should empty filesets be ignored? - * - * @param skip The new SkipEmptyFilesets value */ - public void setSkipEmptyFilesets( boolean skip ) + public void setSkipEmptyFilesets( final boolean skip ) { - skipEmpty = skip; + m_skipEmpty = skip; } /** * Shall the command work only on files, directories or both? - * - * @param type The new Type value */ - public void setType( FileDirBoth type ) + public void setType( final FileDirBoth type ) { - this.type = type.getValue(); + m_type = type.getValue(); } /** * Adds a set of files (nested fileset attribute). - * - * @param set The feature to be added to the Fileset attribute */ - public void addFileset( FileSet set ) + public void addFileset( final FileSet set ) { - filesets.add( set ); + m_filesets.add( set ); } /** * Defines the FileNameMapper to use (nested mapper element). - * - * @return Description of the Returned Value - * @exception TaskException Description of Exception */ public Mapper createMapper() throws TaskException { - if( mapperElement != null ) + if( m_mapperElement != null ) { throw new TaskException( "Cannot define more than one mapper" ); } - mapperElement = new Mapper(); - return mapperElement; + m_mapperElement = new Mapper(); + return m_mapperElement; } /** * Marker that indicates where the name of the source file should be put on * the command line. - * - * @return Description of the Returned Value */ public Marker createSrcfile() throws TaskException { - if( srcFilePos != null ) + if( m_srcFilePos != null ) { throw new TaskException( getName() + " doesn\'t support multiple srcfile elements." ); } - srcFilePos = getCommand().createMarker(); - return srcFilePos; + m_srcFilePos = getCommand().createMarker(); + return m_srcFilePos; } /** * Marker that indicates where the name of the target file should be put on * the command line. - * - * @return Description of the Returned Value */ public Marker createTargetfile() throws TaskException { - if( targetFilePos != null ) + if( m_targetFilePos != null ) { throw new TaskException( getName() + " doesn\'t support multiple targetfile elements." ); } - targetFilePos = getCommand().createMarker(); - srcIsFirst = ( srcFilePos != null ); - return targetFilePos; + m_targetFilePos = getCommand().createMarker(); + m_srcIsFirst = ( m_srcFilePos != null ); + return m_targetFilePos; } /** * Construct the command line for parallel execution. * * @param srcFiles The filenames to add to the commandline - * @param baseDirs Description of Parameter - * @return The Commandline value */ - protected String[] getCommandline( String[] srcFiles, File[] baseDirs ) + protected String[] getCommandline( final String[] srcFiles, + final File[] baseDirs ) throws TaskException { - ArrayList targets = new ArrayList(); - if( targetFilePos != null ) + final ArrayList targets = new ArrayList(); + if( m_targetFilePos != null ) { Hashtable addedFiles = new Hashtable(); for( int i = 0; i < srcFiles.length; i++ ) { - String[] subTargets = mapper.mapFileName( srcFiles[ i ] ); + String[] subTargets = m_mapper.mapFileName( srcFiles[ i ] ); if( subTargets != null ) { for( int j = 0; j < subTargets.length; j++ ) { String name = null; - if( !relative ) + if( !m_relative ) { name = - ( new File( destDir, subTargets[ j ] ) ).getAbsolutePath(); + ( new File( m_destDir, subTargets[ j ] ) ).getAbsolutePath(); } else { @@ -205,17 +184,17 @@ public class ExecuteOn extends ExecTask String[] result = new String[ orig.length + srcFiles.length + targetFiles.length ]; int srcIndex = orig.length; - if( srcFilePos != null ) + if( m_srcFilePos != null ) { - srcIndex = srcFilePos.getPosition(); + srcIndex = m_srcFilePos.getPosition(); } - if( targetFilePos != null ) + if( m_targetFilePos != null ) { - int targetIndex = targetFilePos.getPosition(); + int targetIndex = m_targetFilePos.getPosition(); if( srcIndex < targetIndex - || ( srcIndex == targetIndex && srcIsFirst ) ) + || ( srcIndex == targetIndex && m_srcIsFirst ) ) { // 0 --> srcIndex @@ -274,7 +253,7 @@ public class ExecuteOn extends ExecTask // fill in source file names for( int i = 0; i < srcFiles.length; i++ ) { - if( !relative ) + if( !m_relative ) { result[ srcIndex + i ] = ( new File( baseDirs[ i ], srcFiles[ i ] ) ).getAbsolutePath(); @@ -294,7 +273,8 @@ public class ExecuteOn extends ExecTask * @param baseDir filename is relative to this dir * @return The Commandline value */ - protected String[] getCommandline( String srcFile, File baseDir ) + protected String[] getCommandline( final String srcFile, + final File baseDir ) throws TaskException { return getCommandline( new String[]{srcFile}, new File[]{baseDir} ); @@ -308,15 +288,16 @@ public class ExecuteOn extends ExecTask * @param ds Description of Parameter * @return The Dirs value */ - protected String[] getDirs( File baseDir, DirectoryScanner ds ) + protected String[] getDirs( final File baseDir, + final DirectoryScanner ds ) throws TaskException { - if( mapper != null ) + if( m_mapper != null ) { final SourceFileScanner scanner = new SourceFileScanner(); setupLogger( scanner ); - return scanner.restrict( ds.getIncludedDirectories(), baseDir, destDir, - mapper ); + return scanner.restrict( ds.getIncludedDirectories(), baseDir, m_destDir, + m_mapper ); } else { @@ -332,15 +313,16 @@ public class ExecuteOn extends ExecTask * @param ds Description of Parameter * @return The Files value */ - protected String[] getFiles( File baseDir, DirectoryScanner ds ) + protected String[] getFiles( final File baseDir, + final DirectoryScanner ds ) throws TaskException { - if( mapper != null ) + if( m_mapper != null ) { final SourceFileScanner scanner = new SourceFileScanner(); setupLogger( scanner ); - return scanner.restrict( ds.getIncludedFiles(), baseDir, destDir, - mapper ); + return scanner.restrict( ds.getIncludedFiles(), baseDir, m_destDir, + m_mapper ); } else { @@ -352,44 +334,46 @@ public class ExecuteOn extends ExecTask throws TaskException { super.validate(); - if( filesets.size() == 0 ) + if( m_filesets.size() == 0 ) { - throw new TaskException( "no filesets specified" ); + final String message = "no filesets specified"; + throw new TaskException( message ); } - if( targetFilePos != null || mapperElement != null - || destDir != null ) + if( m_targetFilePos != null || + m_mapperElement != null || + m_destDir != null ) { - - if( mapperElement == null ) + if( m_mapperElement == null ) { - throw new TaskException( "no mapper specified" ); + final String message = "no mapper specified"; + throw new TaskException( message ); } - if( mapperElement == null ) + if( m_mapperElement == null ) { - throw new TaskException( "no dest attribute specified" ); + final String message = "no dest attribute specified"; + throw new TaskException( message ); } - mapper = mapperElement.getImplementation(); + m_mapper = m_mapperElement.getImplementation(); } } - protected void runExec( Execute exe ) + protected void runExec( final Execute exe ) throws TaskException { try { - - ArrayList fileNames = new ArrayList(); - ArrayList baseDirs = new ArrayList(); - for( int i = 0; i < filesets.size(); i++ ) + final ArrayList fileNames = new ArrayList(); + final ArrayList baseDirs = new ArrayList(); + for( int i = 0; i < m_filesets.size(); i++ ) { - FileSet fs = (FileSet)filesets.get( i ); - File base = fs.getDir(); - DirectoryScanner ds = fs.getDirectoryScanner(); + final FileSet fs = (FileSet)m_filesets.get( i ); + final File base = fs.getDir(); + final DirectoryScanner ds = fs.getDirectoryScanner(); - if( !"dir".equals( type ) ) + if( !"dir".equals( m_type ) ) { - String[] s = getFiles( base, ds ); + final String[] s = getFiles( base, ds ); for( int j = 0; j < s.length; j++ ) { fileNames.add( s[ j ] ); @@ -397,10 +381,9 @@ public class ExecuteOn extends ExecTask } } - if( !"file".equals( type ) ) + if( !"file".equals( m_type ) ) { - String[] s = getDirs( base, ds ); - ; + final String[] s = getDirs( base, ds ); for( int j = 0; j < s.length; j++ ) { fileNames.add( s[ j ] ); @@ -408,15 +391,15 @@ public class ExecuteOn extends ExecTask } } - if( fileNames.size() == 0 && skipEmpty ) + if( fileNames.size() == 0 && m_skipEmpty ) { getLogger().info( "Skipping fileset for directory " + base + ". It is empty." ); continue; } - if( !parallel ) + if( !m_parallel ) { - String[] s = new String[ fileNames.size() ]; + final String[] s = new String[ fileNames.size() ]; s = (String[])fileNames.toArray( s ); for( int j = 0; j < s.length; j++ ) { @@ -430,7 +413,7 @@ public class ExecuteOn extends ExecTask } } - if( parallel && ( fileNames.size() > 0 || !skipEmpty ) ) + if( m_parallel && ( fileNames.size() > 0 || !m_skipEmpty ) ) { String[] s = new String[ fileNames.size() ]; s = (String[])fileNames.toArray( s ); @@ -453,18 +436,4 @@ public class ExecuteOn extends ExecTask logFlush(); } } - - /** - * Enumerated attribute with the values "file", "dir" and "both" for the - * type attribute. - * - * @author RT - */ - public static class FileDirBoth extends EnumeratedAttribute - { - public String[] getValues() - { - return new String[]{"file", "dir", "both"}; - } - } } diff --git a/proposal/myrmidon/src/todo/org/apache/tools/ant/taskdefs/exec/FileDirBoth.java b/proposal/myrmidon/src/todo/org/apache/tools/ant/taskdefs/exec/FileDirBoth.java new file mode 100644 index 000000000..3dd14a723 --- /dev/null +++ b/proposal/myrmidon/src/todo/org/apache/tools/ant/taskdefs/exec/FileDirBoth.java @@ -0,0 +1,23 @@ +/* + * Copyright (C) The Apache Software Foundation. All rights reserved. + * + * This software is published under the terms of the Apache Software License + * version 1.1, a copy of which has been included with this distribution in + * the LICENSE.txt file. + */ +package org.apache.tools.ant.taskdefs.exec; + +import org.apache.tools.ant.types.EnumeratedAttribute; + +/** + * Enumerated attribute with the values "file", "dir" and "both" for the + * type attribute. + */ +public class FileDirBoth + extends EnumeratedAttribute +{ + public String[] getValues() + { + return new String[]{"file", "dir", "both"}; + } +}