blob: c2ddc5fb244888b1b172110058fdc81d529f72a0 [file] [log] [blame]
/*
* Copyright (C) The Apache Software Foundation. All rights reserved.
*
* This software is published under the terms of the Apache Software License
* version 1.1, a copy of which has been included with this distribution in
* the LICENSE file.
*/
package org.apache.myrmidon.listeners;
import org.apache.avalon.framework.ExceptionUtil;
/**
* Default listener that emulates the old ant listener notifications.
*
* @author <a href="mailto:donaldp@apache.org">Peter Donald</a>
*/
public class DefaultProjectListener
implements ProjectListener
{
private String m_prefix;
/**
* Notify listener of projectStarted event.
*/
public void projectStarted()
{
}
/**
* Notify listener of projectFinished event.
*/
public void projectFinished()
{
}
/**
* Notify listener of targetStarted event.
*
* @param targetName the name of target
*/
public void targetStarted( final String targetName )
{
output( targetName + ":\n" );
}
/**
* Notify listener of targetFinished event.
*/
public void targetFinished()
{
}
/**
* Notify listener of taskStarted event.
*
* @param taskName the name of task
*/
public void taskStarted( final String taskName )
{
setPrefix( taskName );
}
/**
* Notify listener of taskFinished event.
*/
public void taskFinished()
{
setPrefix( null );
}
/**
* Notify listener of log message event.
*
* @param message the message
*/
public void log( String message )
{
output( message );
}
/**
* Notify listener of log message event.
*
* @param message the message
* @param throwable the throwable
*/
public void log( String message, Throwable throwable )
{
output( message + "\n" + ExceptionUtil.printStackTrace( throwable, 5, true ) );
}
/**
* Utility class to output data.
* Overide in sub-classes to direct to a different destination.
*
* @param data the data
*/
protected void output( final String data )
{
if( null != getPrefix() ) System.out.println( "\t[" + getPrefix() + "] " + data );
else System.out.println( data );
}
protected final String getPrefix()
{
return m_prefix;
}
protected final void setPrefix( final String prefix )
{
m_prefix = prefix;
}
}