java/ant/src/org/apidesign/infra/ant/GrepCopy.java
author Jaroslav Tulach <jtulach@netbeans.org>
Sun, 06 Jul 2008 00:31:01 +0200
changeset 271 a1c057f1f756
parent 268 fb9bf90251e3
child 274 e1a7420cea38
permissions -rw-r--r--
Removing unused imports
     1 package org.apidesign.infra.ant;
     2 
     3 import java.io.File;
     4 import java.io.FileWriter;
     5 import java.io.IOException;
     6 import java.util.Map.Entry;
     7 import org.apache.tools.ant.BuildException;
     8 import org.apache.tools.ant.Task;
     9 import org.apache.tools.ant.types.FileSet;
    10 import org.apache.tools.ant.types.FilterSet;
    11 
    12 public class GrepCopy extends Task {
    13     private GrepFilter filter = new GrepFilter();
    14     private File dir;
    15     
    16     public GrepCopy() {
    17     }
    18 
    19     public FileSet createFileSet() {
    20         return filter.createFileSet();
    21     }
    22 
    23     public void setTarget(File dir) {
    24         this.dir = dir;
    25     }
    26 
    27     @Override
    28     public void execute() throws BuildException {
    29         filter.setProject(getProject());
    30 
    31         FilterSet set = filter.createFilterSet();
    32 
    33         for (Object object : set.getFilterHash().entrySet()) {
    34 
    35             FileWriter w = null;
    36             try {
    37                 Entry en = (Entry) object;
    38                 File to = new File(dir, (String) en.getKey());
    39                 to.getParentFile().mkdirs();
    40                 w = new FileWriter(to);
    41                 w.write((String) en.getValue());
    42                 w.close();
    43             } catch (IOException ex) {
    44                 throw new BuildException(ex);
    45             }
    46         }
    47     }
    48 }