/* 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
// ---------------------------------------------------------------------------- |