KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > vladium > emma > data > mergeTask


1 /* Copyright (C) 2003 Vladimir Roubtsov. All rights reserved.
2  *
3  * This program and the accompanying materials are made available under
4  * the terms of the Common Public License v1.0 which accompanies this distribution,
5  * and is available at http://www.eclipse.org/legal/cpl-v10.html
6  *
7  * $Id: mergeTask.java,v 1.1.1.1.2.1 2004/07/08 10:52:09 vlad_r Exp $
8  */

9 package com.vladium.emma.data;
10
11 import java.io.File JavaDoc;
12
13 import org.apache.tools.ant.BuildException;
14
15 import com.vladium.emma.ant.FileTask;
16 import com.vladium.emma.ant.SuppressableTask;
17
18 // ----------------------------------------------------------------------------
19
/**
20  * @author Vlad Roubtsov, (C) 2003
21  */

22 public
23 final class mergeTask extends FileTask
24 {
25     // public: ................................................................
26

27     
28     public mergeTask (final SuppressableTask parent)
29     {
30         super (parent);
31     }
32     
33     public void execute () throws BuildException
34     {
35         if (isEnabled ())
36         {
37             String JavaDoc [] files = getDataPath (true);
38             if ((files == null) || (files.length == 0))
39                 throw (BuildException) newBuildException (getTaskName ()
40                     + ": no valid input data files have been specified", location).fillInStackTrace ();
41             
42             final MergeProcessor processor = MergeProcessor.create ();
43             
44             processor.setDataPath (files); files = null;
45             processor.setSessionOutFile (m_outFile != null ? m_outFile.getAbsolutePath () : null);
46             processor.setPropertyOverrides (getTaskSettings ());
47             
48             processor.run ();
49         }
50     }
51     
52
53     // mergefile|tofile|outfile|file attribute:
54

55     public void setMergefile (final File JavaDoc file)
56     {
57         if (m_outFile != null)
58             throw (BuildException) newBuildException (getTaskName ()
59                 + ": merge data file attribute already set", location).fillInStackTrace ();
60             
61         m_outFile = file;
62     }
63     
64     public void setOutfile (final File JavaDoc file)
65     {
66         if (m_outFile != null)
67             throw (BuildException) newBuildException (getTaskName ()
68                 + ": merge data file attribute already set", location).fillInStackTrace ();
69             
70         m_outFile = file;
71     }
72
73     public void setTofile (final File JavaDoc file)
74     {
75         if (m_outFile != null)
76             throw (BuildException) newBuildException (getTaskName ()
77                 + ": merge data file attribute already set", location).fillInStackTrace ();
78             
79         m_outFile = file;
80     }
81     
82     public void setFile (final File JavaDoc file)
83     {
84         if (m_outFile != null)
85             throw (BuildException) newBuildException (getTaskName ()
86                 + ": merge data file attribute already set", location).fillInStackTrace ();
87             
88         m_outFile = file;
89     }
90     
91         
92     // protected: .............................................................
93

94     // package: ...............................................................
95

96     // private: ...............................................................
97

98     
99     private File JavaDoc m_outFile;
100
101 } // end of class
102
// ----------------------------------------------------------------------------
Popular Tags