1:package com.cincosoft.ant; 2: 3:import java.io.*; 4:import java.util.List; 5:import java.util.ArrayList; 6:import java.util.Iterator; 7: 8:import org.apache.tools.ant.Task; 9:import org.apache.tools.ant.types.FileSet; 10:import org.apache.tools.ant.DirectoryScanner; 11:import org.apache.tools.ant.BuildException; 12:import com.cincosoft.utils.text.Verify5Soft; 13: 14:/** 15: * Permite utilizar servicios de la clase 16: * {@link com.cincosoft.utils.text.Verify5Soft} desde scripts 17: * de Ant. 18: * @author Rodrigo López. 19: * @j.created Agosto 2003. 20: */ 21: 22:public class Verify5SoftTask extends Task { 23: /** 24: * Filesets definidos dentro del script. 25: */ 26: private List filesets = new ArrayList(); 27: 28: /** 29: * Número de archivos examinados. 30: */ 31: private int numExFiles = 0; 32: 33: /** 34: * Número de archivos cambiados. 35: */ 36: private int numChangedFiles = 0; 37: 38: /** 39: * Número total de cambios 40: */ 41: private int numChanges = 0; 42: 43: /** 44: * Método invocado por Ant al encontrar elementos "fileset" 45: * anidados dentro del tag asignado para esta tarea. 46: */ 47: public void addFileset(FileSet set) { 48: filesets.add(set); 49: } 50: 51: /** 52: * Método exigido por Ant. 53: */ 54: public void execute() throws BuildException{ 55: Iterator it = filesets.iterator(); 56: while (it.hasNext()) { 57: FileSet fs = (FileSet)it.next(); 58: DirectoryScanner ds = fs.getDirectoryScanner(project); 59: String baseDir = ds.getBasedir().toString(); 60: String[] files = ds.getIncludedFiles(); 61: 62: int nTmp = 0; 63: Verify5Soft v5s = new Verify5Soft(); 64: try { 65: for (int i=0; i<files.length; i++) { 66: 67: 68: nTmp = v5s.trocar(new File(baseDir,files[i])); 69: 70: numChanges += nTmp; 71: if (nTmp!=0) { 72: numChangedFiles++; 73: } 74: numExFiles++; 75: } 76: } 77: catch (Exception ex) { 78: throw new BuildException(ex.getMessage()); 79: } 80: finally{ 81: log(""+numChanges+" cambios en "+numChangedFiles+" archivos."); 82: log("Número total de archivos examinados : "+numExFiles); 83: } 84: } 85: } 86:}