View Javadoc

1   package net.sf.statsvn.ant;
2   
3   import net.sf.statcvs.output.ConfigurationOptions;
4   import net.sf.statsvn.util.TaskLogger;
5   
6   import org.apache.tools.ant.Task;
7   
8   /**
9    * This class wraps up an Ant task which is going to be used to log some text
10   * when the tool is used with Ant.
11   * 
12   * @author Benoit Xhenseval
13   */
14  public final class AntTaskLogger implements TaskLogger {
15  	/** the Ant task. */
16  	private final Task task;
17  
18  	private Boolean shouldAcceptLog = null;
19  
20  	private Boolean shouldAcceptInfo = null;
21  
22  	/**
23  	 * Constructor that will hide the specific logging mechanism.
24  	 * 
25  	 * @param antTask
26  	 *            an Ant task
27  	 */
28  	AntTaskLogger(final Task antTask) {
29  		this.task = antTask;
30  	}
31  
32  	/**
33  	 * Uses the Ant mechanism to log the text.
34  	 * 
35  	 * @param text
36  	 *            to be logged.
37  	 */
38  	public void log(final String text) {
39  		if (shouldAcceptLog == null) {
40  			shouldAcceptLog = Boolean.valueOf(ConfigurationOptions.getLoggingProperties().indexOf("debug") >= 0);
41  		}
42  		if (shouldAcceptLog.booleanValue()) {
43  			task.log(text);
44  		}
45  	}
46  
47  	/**
48  	 * Uses the Ant mechanism to log the text.
49  	 * 
50  	 * @param text
51  	 *            to be logged.
52  	 */
53  	public void error(final String arg) {
54  		log(arg);
55  	}
56  
57  	/**
58  	 * Uses the Ant mechanism to log the text.
59  	 * 
60  	 * @param text
61  	 *            to be logged.
62  	 */
63  	public void info(final String arg) {
64  		if (shouldAcceptInfo == null) {
65  			shouldAcceptInfo = Boolean.valueOf(ConfigurationOptions.getLoggingProperties().indexOf("verbose") >= 0);
66  		}
67  		if (shouldAcceptInfo.booleanValue()) {
68  			log(arg);
69  		}
70  	}
71  }