From 66bbf8cac07d3e8bbd3b335f184cb381b020de3d Mon Sep 17 00:00:00 2001 From: Peter Donald Date: Tue, 5 Jun 2001 04:35:55 +0000 Subject: [PATCH] Made preConfigure take taskModel as parameter. This is because original taskModel may have been modified. Cached all relevent parameters in instance variables. Access parameters via helper methods. Call reset() to clear all variables. git-svn-id: https://svn.apache.org/repos/asf/ant/core/trunk@269107 13f79535-47bb-0310-9956-ffa450edef68 --- .../aspects/AbstractAspectHandler.java | 60 ++++++++++++++++++- 1 file changed, 57 insertions(+), 3 deletions(-) diff --git a/proposal/myrmidon/src/java/org/apache/myrmidon/aspects/AbstractAspectHandler.java b/proposal/myrmidon/src/java/org/apache/myrmidon/aspects/AbstractAspectHandler.java index ab6440594..71493dd8c 100644 --- a/proposal/myrmidon/src/java/org/apache/myrmidon/aspects/AbstractAspectHandler.java +++ b/proposal/myrmidon/src/java/org/apache/myrmidon/aspects/AbstractAspectHandler.java @@ -8,6 +8,7 @@ package org.apache.myrmidon.aspects; import org.apache.avalon.framework.configuration.Configuration; +import org.apache.avalon.framework.parameters.Parameters; import org.apache.log.Logger; import org.apache.myrmidon.api.Task; import org.apache.myrmidon.api.TaskException; @@ -21,25 +22,42 @@ import org.apache.myrmidon.api.TaskException; public abstract class AbstractAspectHandler implements AspectHandler { - public Configuration preCreate( final Configuration configuration ) + private Parameters m_aspectParameters; + private Configuration[] m_aspectElements; + + private Task m_task; + private Logger m_logger; + private Configuration m_taskModel; + + public Configuration preCreate( final Configuration taskModel ) + throws TaskException + { + return taskModel; + } + + public void aspect( final Parameters parameters, final Configuration[] elements ) throws TaskException { - return configuration; + m_aspectParameters = parameters; + m_aspectElements = elements; } public void postCreate( final Task task ) throws TaskException { + m_task = task; } public void preLoggable( final Logger logger ) throws TaskException { + m_logger = logger; } - public void preConfigure() + public void preConfigure( final Configuration taskModel ) throws TaskException { + m_taskModel = taskModel; } public void preExecute() @@ -50,11 +68,47 @@ public abstract class AbstractAspectHandler public void preDestroy() throws TaskException { + reset(); } public boolean error( final TaskException te ) throws TaskException { + reset(); return false; } + + protected void reset() + { + m_aspectParameters = null; + m_aspectElements = null; + m_task = null; + m_logger = null; + m_taskModel = null; + } + + protected final Configuration getTaskModel() + { + return m_taskModel; + } + + protected final Task getTask() + { + return m_task; + } + + protected final Logger getLogger() + { + return m_logger; + } + + protected final Configuration[] getAspectElements() + { + return m_aspectElements; + } + + protected final Parameters getAspectParameters() + { + return m_aspectParameters; + } }