| /* Copyright (C) 2003 Vladimir Roubtsov. All rights reserved. |
| * |
| * This program and the accompanying materials are made available under |
| * the terms of the Common Public License v1.0 which accompanies this distribution, |
| * and is available at http://www.eclipse.org/legal/cpl-v10.html |
| * |
| * $Id: mergeTask.java,v 1.1.1.1.2.1 2004/07/08 10:52:09 vlad_r Exp $ |
| */ |
| package com.vladium.emma.data; |
| |
| import java.io.File; |
| |
| import org.apache.tools.ant.BuildException; |
| |
| import com.vladium.emma.ant.FileTask; |
| import com.vladium.emma.ant.SuppressableTask; |
| |
| // ---------------------------------------------------------------------------- |
| /** |
| * @author Vlad Roubtsov, (C) 2003 |
| */ |
| public |
| final class mergeTask extends FileTask |
| { |
| // public: ................................................................ |
| |
| |
| public mergeTask (final SuppressableTask parent) |
| { |
| super (parent); |
| } |
| |
| public void execute () throws BuildException |
| { |
| if (isEnabled ()) |
| { |
| String [] files = getDataPath (true); |
| if ((files == null) || (files.length == 0)) |
| throw (BuildException) newBuildException (getTaskName () |
| + ": no valid input data files have been specified", location).fillInStackTrace (); |
| |
| final MergeProcessor processor = MergeProcessor.create (); |
| |
| processor.setDataPath (files); files = null; |
| processor.setSessionOutFile (m_outFile != null ? m_outFile.getAbsolutePath () : null); |
| processor.setPropertyOverrides (getTaskSettings ()); |
| |
| processor.run (); |
| } |
| } |
| |
| |
| // mergefile|tofile|outfile|file attribute: |
| |
| public void setMergefile (final File file) |
| { |
| if (m_outFile != null) |
| throw (BuildException) newBuildException (getTaskName () |
| + ": merge data file attribute already set", location).fillInStackTrace (); |
| |
| m_outFile = file; |
| } |
| |
| public void setOutfile (final File file) |
| { |
| if (m_outFile != null) |
| throw (BuildException) newBuildException (getTaskName () |
| + ": merge data file attribute already set", location).fillInStackTrace (); |
| |
| m_outFile = file; |
| } |
| |
| public void setTofile (final File file) |
| { |
| if (m_outFile != null) |
| throw (BuildException) newBuildException (getTaskName () |
| + ": merge data file attribute already set", location).fillInStackTrace (); |
| |
| m_outFile = file; |
| } |
| |
| public void setFile (final File file) |
| { |
| if (m_outFile != null) |
| throw (BuildException) newBuildException (getTaskName () |
| + ": merge data file attribute already set", location).fillInStackTrace (); |
| |
| m_outFile = file; |
| } |
| |
| |
| // protected: ............................................................. |
| |
| // package: ............................................................... |
| |
| // private: ............................................................... |
| |
| |
| private File m_outFile; |
| |
| } // end of class |
| // ---------------------------------------------------------------------------- |