You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@velocity.apache.org by cb...@apache.org on 2007/05/13 12:49:42 UTC
svn commit: r537574 - in
/velocity/dvsl/trunk/src/java/org/apache/tools/dvsl: AntLogChute.java
AntLogSystem.java DVSL.java DVSLTask.java
Author: cbrisson
Date: Sun May 13 03:49:41 2007
New Revision: 537574
URL: http://svn.apache.org/viewvc?view=rev&rev=537574
Log:
deprecate LogSystem usage and add LogChute support
Added:
velocity/dvsl/trunk/src/java/org/apache/tools/dvsl/AntLogChute.java
Modified:
velocity/dvsl/trunk/src/java/org/apache/tools/dvsl/AntLogSystem.java
velocity/dvsl/trunk/src/java/org/apache/tools/dvsl/DVSL.java
velocity/dvsl/trunk/src/java/org/apache/tools/dvsl/DVSLTask.java
Added: velocity/dvsl/trunk/src/java/org/apache/tools/dvsl/AntLogChute.java
URL: http://svn.apache.org/viewvc/velocity/dvsl/trunk/src/java/org/apache/tools/dvsl/AntLogChute.java?view=auto&rev=537574
==============================================================================
--- velocity/dvsl/trunk/src/java/org/apache/tools/dvsl/AntLogChute.java (added)
+++ velocity/dvsl/trunk/src/java/org/apache/tools/dvsl/AntLogChute.java Sun May 13 03:49:41 2007
@@ -0,0 +1,199 @@
+/*
+ * The Apache Software License, Version 1.1
+ *
+ * Copyright (c) 2002 The Apache Software Foundation. All rights
+ * reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in
+ * the documentation and/or other materials provided with the
+ * distribution.
+ *
+ * 3. The end-user documentation included with the redistribution, if
+ * any, must include the following acknowlegement:
+ * "This product includes software developed by the
+ * Apache Software Foundation (http://www.apache.org/)."
+ * Alternately, this acknowlegement may appear in the software itself,
+ * if and wherever such third-party acknowlegements normally appear.
+ *
+ * 4. The names "The Jakarta Project", "Velocity","DVSL", and "Apache Software
+ * Foundation" must not be used to endorse or promote products derived
+ * from this software without prior written permission. For written
+ * permission, please contact apache@apache.org.
+ *
+ * 5. Products derived from this software may not be called "Apache"
+ * nor may "Apache" appear in their names without prior written
+ * permission of the Apache Group.
+ *
+ * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
+ * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
+ * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
+ * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+ * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
+ * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ * ====================================================================
+ *
+ * This software consists of voluntary contributions made by many
+ * individuals on behalf of the Apache Software Foundation. For more
+ * information on the Apache Software Foundation, please see
+ * <http://www.apache.org/>.
+ */
+
+package org.apache.tools.dvsl;
+
+import org.apache.tools.ant.Project;
+import org.apache.tools.ant.Task;
+
+import org.apache.velocity.runtime.RuntimeServices;
+
+import org.apache.velocity.runtime.log.LogChute;
+
+/**
+ * Implementation of a logger to output messages via an Ant Task's log
+ * method. Velocity log levels are mapped to corresponding log levels
+ * defined in Ant's logging API. The end result is messages will only
+ * be output if Ant log level is high enough.
+ *
+ * @author <a href="mailto:billb@progress.com">Bill Burton</a>
+ * @version $Id:$
+ */
+public class AntLogChute implements LogChute
+{
+
+ // Reference to the Ant Task object that initialized the Velocity Engine.
+ Task task;
+
+ /**
+ * Initialize this logger with a reference to the calling Ant Task
+ *
+ * @param task Ant Task to use for logging. This must not be null.
+ */
+ public AntLogChute(Task task)
+ {
+ this.task = task;
+ }
+
+ /**
+ * Initialize the logger.
+ *
+ * @throws Exception if null was passed into the constructor
+ */
+ public void init( RuntimeServices rs ) throws Exception
+ {
+ if ( task == null )
+ {
+ throw new Exception( "PANIC: " + this.getClass().getName() +
+ " was instantiated with a null Ant Task reference");
+ }
+ }
+
+ /**
+ * <p>
+ * Log Velocity messages through the Ant Task log method. The mapping of logging
+ * levels from Velocity to Ant is as follows:
+ * </p>
+ *
+ * <blockquote><pre>
+ * Velocity Level --> Ant Level
+ * LogSystem.TRACE_ID --> Project.MSG_DEBUG
+ * LogSystem.DEBUG_ID --> Project.MSG_DEBUG
+ * LogSystem.INFO_ID --> Project.MSG_VERBOSE
+ * LogSystem.WARN_ID --> Project.MSG_WARN
+ * LogSystem.ERROR_ID --> Project.MSG_ERR
+ * </pre></blockquote>
+ *
+ * @param level severity level
+ * @param message complete error message
+ * @see org.apache.velocity.runtime.log.LogChute
+ * @see org.apache.tools.ant.Task#log(String, int)
+ */
+ public void log(int level, String message) {
+ switch ( level )
+ {
+ case LogChute.TRACE_ID:
+ task.log( LogChute.TRACE_PREFIX + message, Project.MSG_DEBUG);
+ break;
+ case LogChute.DEBUG_ID:
+ task.log( LogChute.DEBUG_PREFIX + message, Project.MSG_DEBUG );
+ break;
+ case LogChute.INFO_ID:
+ task.log( LogChute.INFO_PREFIX + message, Project.MSG_VERBOSE );
+ break;
+ case LogChute.WARN_ID:
+ task.log( LogChute.WARN_PREFIX + message, Project.MSG_WARN );
+ break;
+ case LogChute.ERROR_ID:
+ task.log( LogChute.ERROR_PREFIX + message, Project.MSG_ERR );
+ break;
+ default:
+ task.log( message );
+ break;
+ }
+ }
+
+ /**
+ * <p>
+ * Log throwables through the Ant Task log method. The mapping of logging
+ * levels from Velocity to Ant is as follows:
+ * </p>
+ *
+ * <blockquote><pre>
+ * Velocity Level --> Ant Level
+ * LogSystem.TRACE_ID --> Project.MSG_DEBUG
+ * LogSystem.DEBUG_ID --> Project.MSG_DEBUG
+ * LogSystem.INFO_ID --> Project.MSG_VERBOSE
+ * LogSystem.WARN_ID --> Project.MSG_WARN
+ * LogSystem.ERROR_ID --> Project.MSG_ERR
+ * </pre></blockquote>
+ *
+ * @param level severity level
+ * @param message complete error message
+ * @param throwable the throwable object to log
+ * @see org.apache.velocity.runtime.log.LogChute
+ * @see org.apache.tools.ant.Task#log(String, int)
+ */
+ public void log(int level, String message, Throwable throwable) {
+ switch ( level )
+ {
+ case LogChute.TRACE_ID:
+ task.log( LogChute.TRACE_PREFIX + message, throwable, Project.MSG_DEBUG);
+ break;
+ case LogChute.DEBUG_ID:
+ task.log( LogChute.DEBUG_PREFIX + message, throwable, Project.MSG_DEBUG );
+ break;
+ case LogChute.INFO_ID:
+ task.log( LogChute.INFO_PREFIX + message, throwable, Project.MSG_VERBOSE );
+ break;
+ case LogChute.WARN_ID:
+ task.log( LogChute.WARN_PREFIX + message, throwable, Project.MSG_WARN );
+ break;
+ case LogChute.ERROR_ID:
+ task.log( LogChute.ERROR_PREFIX + message, throwable, Project.MSG_ERR );
+ break;
+ default:
+ task.log( message );
+ break;
+ }
+ }
+
+ public boolean isLevelEnabled(int level) {
+ return true;
+ }
+
+ public void logVelocityMessage( int level, String message )
+ {
+ }
+}
Modified: velocity/dvsl/trunk/src/java/org/apache/tools/dvsl/AntLogSystem.java
URL: http://svn.apache.org/viewvc/velocity/dvsl/trunk/src/java/org/apache/tools/dvsl/AntLogSystem.java?view=diff&rev=537574&r1=537573&r2=537574
==============================================================================
--- velocity/dvsl/trunk/src/java/org/apache/tools/dvsl/AntLogSystem.java (original)
+++ velocity/dvsl/trunk/src/java/org/apache/tools/dvsl/AntLogSystem.java Sun May 13 03:49:41 2007
@@ -54,12 +54,8 @@
package org.apache.tools.dvsl;
-import org.apache.tools.ant.Project;
import org.apache.tools.ant.Task;
-import org.apache.velocity.runtime.RuntimeServices;
-import org.apache.velocity.runtime.RuntimeConstants;
-
import org.apache.velocity.runtime.log.LogSystem;
/**
@@ -69,36 +65,13 @@
* be output if Ant log level is high enough.
*
* @author <a href="mailto:billb@progress.com">Bill Burton</a>
- * @version $Id: AntLogSystem.java,v 1.1 2002/02/22 06:07:01 geirm Exp $
+ * @version $Id$
+ * @deprecated Use AntLogChute instead.
*/
-public class AntLogSystem implements LogSystem
+public class AntLogSystem extends AntLogChute implements LogSystem
{
-
- // Reference to the Ant Task object that initialized the Velocity Engine.
- Task task;
-
- /**
- * Initialize this logger with a reference to the calling Ant Task
- *
- * @param task Ant Task to use for logging. This must not be null.
- */
- public AntLogSystem(Task task)
- {
- this.task = task;
- }
-
- /**
- * Initialize the logger.
- *
- * @throws Exception if null was passed into the constructor
- */
- public void init( RuntimeServices rs ) throws Exception
- {
- if ( task == null )
- {
- throw new Exception( "PANIC: " + this.getClass().getName() +
- " was instantiated with a null Ant Task reference");
- }
+ public AntLogSystem(Task task) {
+ super(task);
}
/**
@@ -119,26 +92,10 @@
* @param message complete error message
* @see org.apache.velocity.runtime.log.LogSystem
* @see org.apache.tools.ant.Task#log(String, int)
+ * @deprecated use AntLogChute
*/
public void logVelocityMessage( int level, String message )
{
- switch ( level )
- {
- case LogSystem.WARN_ID:
- task.log( RuntimeConstants.WARN_PREFIX + message, Project.MSG_WARN );
- break;
- case LogSystem.INFO_ID:
- task.log( RuntimeConstants.INFO_PREFIX + message, Project.MSG_VERBOSE );
- break;
- case LogSystem.DEBUG_ID:
- task.log( RuntimeConstants.DEBUG_PREFIX + message, Project.MSG_DEBUG );
- break;
- case LogSystem.ERROR_ID:
- task.log( RuntimeConstants.ERROR_PREFIX + message, Project.MSG_ERR );
- break;
- default:
- task.log( message );
- break;
- }
+ log(level,message);
}
}
Modified: velocity/dvsl/trunk/src/java/org/apache/tools/dvsl/DVSL.java
URL: http://svn.apache.org/viewvc/velocity/dvsl/trunk/src/java/org/apache/tools/dvsl/DVSL.java?view=diff&rev=537574&r1=537573&r2=537574
==============================================================================
--- velocity/dvsl/trunk/src/java/org/apache/tools/dvsl/DVSL.java (original)
+++ velocity/dvsl/trunk/src/java/org/apache/tools/dvsl/DVSL.java Sun May 13 03:49:41 2007
@@ -73,6 +73,8 @@
import org.apache.velocity.VelocityContext;
import org.apache.velocity.app.VelocityEngine;
import org.apache.velocity.context.Context;
+import org.apache.velocity.runtime.log.LogChute;
+import org.apache.velocity.runtime.log.LogChuteSystem;
import org.apache.velocity.runtime.log.LogSystem;
import org.dom4j.Document;
@@ -104,7 +106,7 @@
private Map velConfig = null;
private File logFile;
- private LogSystem logger;
+ private LogChute logger;
private Map appVals = new HashMap();
@@ -138,9 +140,27 @@
* <p>
* lets the user specify a class instance for logging.
* </p>
+ * @deprecated use setLogChute instead
*/
public void setLogSystem(LogSystem logger)
{
+ this.logger = new LogAdapter(logger);
+
+ if (velConfig == null)
+ {
+ velConfig = new HashMap();
+ }
+
+ velConfig.put(VelocityEngine.RUNTIME_LOG_LOGSYSTEM, logger);
+ }
+
+ /**
+ * <p>
+ * lets the user specify a class instance for logging.
+ * </p>
+ */
+ public void setLogChute(LogChute logger)
+ {
this.logger = logger;
if (velConfig == null)
@@ -151,6 +171,7 @@
velConfig.put(VelocityEngine.RUNTIME_LOG_LOGSYSTEM, logger);
}
+
/**
* <p>
* lets the user pass a java.util.Properties containing
@@ -192,9 +213,9 @@
* @param validate
*/
- public void setValidatingParser(boolean vp)
+ public void setValidatingParser(boolean validate)
{
- validate = vp;
+ this.validate = validate;
}
/**
@@ -691,6 +712,15 @@
out.flush();
+ }
+
+ /*
+ * inner class to wrap a LogSystem into a LogChute
+ */
+ protected static class LogAdapter extends LogChuteSystem {
+ protected LogAdapter(LogSystem logSystem) {
+ super(logSystem);
+ }
}
}
Modified: velocity/dvsl/trunk/src/java/org/apache/tools/dvsl/DVSLTask.java
URL: http://svn.apache.org/viewvc/velocity/dvsl/trunk/src/java/org/apache/tools/dvsl/DVSLTask.java?view=diff&rev=537574&r1=537573&r2=537574
==============================================================================
--- velocity/dvsl/trunk/src/java/org/apache/tools/dvsl/DVSLTask.java (original)
+++ velocity/dvsl/trunk/src/java/org/apache/tools/dvsl/DVSLTask.java Sun May 13 03:49:41 2007
@@ -73,9 +73,6 @@
import org.apache.tools.ant.taskdefs.MatchingTask;
import org.apache.tools.ant.types.Path;
import org.apache.tools.ant.types.Reference;
-import org.apache.tools.ant.util.FileUtils;
-import org.apache.velocity.VelocityContext;
-import org.apache.velocity.runtime.RuntimeConstants;
/**
@@ -274,7 +271,7 @@
}
else
{
- dvsl.setLogSystem(new AntLogSystem(this));
+ dvsl.setLogChute(new AntLogChute(this));
}
/*