1 9 package com.vladium.emma.ant; 10 11 import java.io.File ; 12 import java.util.ArrayList ; 13 import java.util.Iterator ; 14 import java.util.List ; 15 16 import org.apache.tools.ant.DirectoryScanner; 17 import org.apache.tools.ant.types.FileSet; 18 19 import com.vladium.emma.ant.XFileSet; 20 21 25 public 26 abstract class FileTask extends NestedTask 27 { 28 30 31 48 49 51 public final void addInfileset (final XFileSet set) 52 { 53 if (set != null) m_dataFileSets.add (set); 54 } 55 56 public final void addFileset (final XFileSet set) 57 { 58 if (set != null) m_dataFileSets.add (set); 59 } 60 61 62 74 76 77 protected FileTask (final SuppressableTask parent) 78 { 79 super (parent); 80 81 m_dataFileSets = new ArrayList (); 82 } 84 85 86 protected final String [] getDataPath (final boolean removeNonexistent) 87 { 88 final List _files = new ArrayList (); 89 90 for (Iterator i = m_dataFileSets.iterator (); i.hasNext (); ) 92 { 93 final FileSet set = (FileSet) i.next (); 94 final DirectoryScanner ds = set.getDirectoryScanner (project); 95 final File dsBaseDir = ds.getBasedir (); 96 97 final String [] dsfiles = ds.getIncludedFiles (); 98 for (int f = 0; f < dsfiles.length; ++ f) 99 { 100 _files.add (new File (dsBaseDir, dsfiles [f]).getAbsolutePath ()); 101 } 102 } 103 104 114 if (_files.size () == 0) 115 return EMPTY_STRING_ARRAY; 116 else 117 { 118 final String [] files = new String [_files.size ()]; 119 _files.toArray (files); 120 121 return files; 122 } 123 } 124 125 127 129 130 private final List m_dataFileSets; 133 private static final String [] EMPTY_STRING_ARRAY = new String [0]; 134 135 } | Popular Tags |