You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by og...@apache.org on 2008/11/19 21:15:26 UTC

svn commit: r719052 - in /maven/mercury/trunk: mercury-logging/src/main/java/org/apache/maven/mercury/logging/console/ mercury-maven/mercury-compare-mdo/src/main/java/org/apache/maven/mercury/compare/ mercury-md/mercury-md-sat/src/main/java/org/apache/...

Author: ogusakov
Date: Wed Nov 19 12:15:25 2008
New Revision: 719052

URL: http://svn.apache.org/viewvc?rev=719052&view=rev
Log:
intermediate commit for http://jira.codehaus.org/browse/MERCURY-6

Added:
    maven/mercury/trunk/mercury-util/src/main/java/org/apache/maven/mercury/util/event/EventGenerator.java
    maven/mercury/trunk/mercury-util/src/main/java/org/apache/maven/mercury/util/event/EventManager.java
    maven/mercury/trunk/mercury-util/src/main/java/org/apache/maven/mercury/util/event/GenericEvent.java
Modified:
    maven/mercury/trunk/mercury-logging/src/main/java/org/apache/maven/mercury/logging/console/MercuryConsoleLogger.java
    maven/mercury/trunk/mercury-maven/mercury-compare-mdo/src/main/java/org/apache/maven/mercury/compare/DataBuilder.java
    maven/mercury/trunk/mercury-md/mercury-md-sat/src/main/java/org/apache/maven/mercury/metadata/DependencyBuilder.java
    maven/mercury/trunk/mercury-md/mercury-md-sat/src/main/java/org/apache/maven/mercury/metadata/DependencyTreeBuilder.java
    maven/mercury/trunk/mercury-md/mercury-md-sat/src/main/java/org/apache/maven/mercury/metadata/sat/DefaultSatSolver.java
    maven/mercury/trunk/mercury-plexus/src/main/java/org/apache/maven/mercury/plexus/DefaultPlexusMercury.java
    maven/mercury/trunk/mercury-plexus/src/main/java/org/apache/maven/mercury/plexus/MercuryPlexusLogger.java
    maven/mercury/trunk/mercury-plexus/src/main/java/org/apache/maven/mercury/plexus/PlexusMercury.java
    maven/mercury/trunk/mercury-util/src/main/java/org/apache/maven/mercury/util/event/AbstractMercuryEvent.java
    maven/mercury/trunk/mercury-util/src/main/java/org/apache/maven/mercury/util/event/MercuryEvent.java

Modified: maven/mercury/trunk/mercury-logging/src/main/java/org/apache/maven/mercury/logging/console/MercuryConsoleLogger.java
URL: http://svn.apache.org/viewvc/maven/mercury/trunk/mercury-logging/src/main/java/org/apache/maven/mercury/logging/console/MercuryConsoleLogger.java?rev=719052&r1=719051&r2=719052&view=diff
==============================================================================
--- maven/mercury/trunk/mercury-logging/src/main/java/org/apache/maven/mercury/logging/console/MercuryConsoleLogger.java (original)
+++ maven/mercury/trunk/mercury-logging/src/main/java/org/apache/maven/mercury/logging/console/MercuryConsoleLogger.java Wed Nov 19 12:15:25 2008
@@ -1,8 +1,8 @@
 package org.apache.maven.mercury.logging.console;
 
 import org.apache.maven.mercury.logging.AbstractMercuryLogger;
-import org.apache.maven.mercury.logging.MercuryLoggingLevelEnum;
 import org.apache.maven.mercury.logging.IMercuryLogger;
+import org.apache.maven.mercury.logging.MercuryLoggingLevelEnum;
 
 /**
  *

Modified: maven/mercury/trunk/mercury-maven/mercury-compare-mdo/src/main/java/org/apache/maven/mercury/compare/DataBuilder.java
URL: http://svn.apache.org/viewvc/maven/mercury/trunk/mercury-maven/mercury-compare-mdo/src/main/java/org/apache/maven/mercury/compare/DataBuilder.java?rev=719052&r1=719051&r2=719052&view=diff
==============================================================================
--- maven/mercury/trunk/mercury-maven/mercury-compare-mdo/src/main/java/org/apache/maven/mercury/compare/DataBuilder.java (original)
+++ maven/mercury/trunk/mercury-maven/mercury-compare-mdo/src/main/java/org/apache/maven/mercury/compare/DataBuilder.java Wed Nov 19 12:15:25 2008
@@ -6,7 +6,6 @@
 import java.io.FileInputStream;
 import java.io.FileReader;
 import java.io.FileWriter;
-import java.io.IOException;
 import java.io.InputStream;
 import java.io.OutputStream;
 import java.io.OutputStreamWriter;

Modified: maven/mercury/trunk/mercury-md/mercury-md-sat/src/main/java/org/apache/maven/mercury/metadata/DependencyBuilder.java
URL: http://svn.apache.org/viewvc/maven/mercury/trunk/mercury-md/mercury-md-sat/src/main/java/org/apache/maven/mercury/metadata/DependencyBuilder.java?rev=719052&r1=719051&r2=719052&view=diff
==============================================================================
--- maven/mercury/trunk/mercury-md/mercury-md-sat/src/main/java/org/apache/maven/mercury/metadata/DependencyBuilder.java (original)
+++ maven/mercury/trunk/mercury-md/mercury-md-sat/src/main/java/org/apache/maven/mercury/metadata/DependencyBuilder.java Wed Nov 19 12:15:25 2008
@@ -5,6 +5,7 @@
 import org.apache.maven.mercury.artifact.ArtifactBasicMetadata;
 import org.apache.maven.mercury.artifact.ArtifactMetadata;
 import org.apache.maven.mercury.artifact.ArtifactScopeEnum;
+import org.apache.maven.mercury.util.event.MercuryEventListener;
 
 /**
  *
@@ -15,6 +16,8 @@
  */
 public interface DependencyBuilder
 {
+  public static final String TREE_BUILD_EVENT = "tree.build";
+  public static final String TREE_NODE_BUILD_EVENT = "tree.node.build";
   //------------------------------------------------------------------------
   /**
    * build the tree, using the repositories specified in the
@@ -48,6 +51,20 @@
    */
   public abstract MetadataTreeNode resolveConflictsAsTree( MetadataTreeNode root )
   throws MetadataTreeException;
+  
+  /**
+   * register a listener for dependency events 
+   * 
+   * @param listener
+   */
+  public abstract void register( MercuryEventListener listener );
+  
+  /**
+   * remove a listener 
+   * 
+   * @param listener
+   */
+  public abstract void unRegister( MercuryEventListener listener );
   //-----------------------------------------------------
   //-----------------------------------------------------
 

Modified: maven/mercury/trunk/mercury-md/mercury-md-sat/src/main/java/org/apache/maven/mercury/metadata/DependencyTreeBuilder.java
URL: http://svn.apache.org/viewvc/maven/mercury/trunk/mercury-md/mercury-md-sat/src/main/java/org/apache/maven/mercury/metadata/DependencyTreeBuilder.java?rev=719052&r1=719051&r2=719052&view=diff
==============================================================================
--- maven/mercury/trunk/mercury-md/mercury-md-sat/src/main/java/org/apache/maven/mercury/metadata/DependencyTreeBuilder.java (original)
+++ maven/mercury/trunk/mercury-md/mercury-md-sat/src/main/java/org/apache/maven/mercury/metadata/DependencyTreeBuilder.java Wed Nov 19 12:15:25 2008
@@ -23,6 +23,9 @@
 import org.apache.maven.mercury.repository.api.RepositoryException;
 import org.apache.maven.mercury.repository.virtual.VirtualRepositoryReader;
 import org.apache.maven.mercury.util.Util;
+import org.apache.maven.mercury.util.event.EventManager;
+import org.apache.maven.mercury.util.event.GenericEvent;
+import org.apache.maven.mercury.util.event.MercuryEventListener;
 import org.codehaus.plexus.lang.DefaultLanguage;
 import org.codehaus.plexus.lang.Language;
 
@@ -44,7 +47,9 @@
   
   private VirtualRepositoryReader _reader;
   
-  Map< String, MetadataTreeNode > existingNodes;
+  private Map< String, MetadataTreeNode > _existingNodes;
+  
+  private EventManager _eventManager; // = new EventManager();
   
   /**
    * creates an instance of MetadataTree. Use this instance to 
@@ -102,10 +107,17 @@
       throw new MetadataTreeException(e);
     }
     
-    existingNodes = new HashMap<String, MetadataTreeNode>(256);
+    _existingNodes = new HashMap<String, MetadataTreeNode>(256);
+    
+    GenericEvent treeBuildEvent = new GenericEvent( TREE_BUILD_EVENT, startMD.getGAV() );
     
     MetadataTreeNode root = createNode( startMD, null, startMD, treeScope );
     
+    treeBuildEvent.stop();
+    
+    if( _eventManager != null )
+      _eventManager.fireEvent( treeBuildEvent );
+    
     MetadataTreeNode.reNumber( root, 1 );
     
     return root;
@@ -147,17 +159,22 @@
   private MetadataTreeNode createNode( ArtifactBasicMetadata nodeMD, MetadataTreeNode parent, ArtifactBasicMetadata nodeQuery, ArtifactScopeEnum globalScope )
   throws MetadataTreeException
   {
-    checkForCircularDependency( nodeMD, parent );
-
-    ArtifactMetadata mr;
-    
-    MetadataTreeNode existingNode = existingNodes.get( nodeQuery.toString() );
+    GenericEvent nodeBuildEvent = null;
     
-    if( existingNode != null )
-      return MetadataTreeNode.deepCopy( existingNode );
+    if( _eventManager != null )
+      nodeBuildEvent = new GenericEvent( TREE_NODE_BUILD_EVENT, nodeMD.getGAV() );
     
     try
     {
+      checkForCircularDependency( nodeMD, parent );
+  
+      ArtifactMetadata mr;
+      
+      MetadataTreeNode existingNode = _existingNodes.get( nodeQuery.toString() );
+      
+      if( existingNode != null )
+        return MetadataTreeNode.deepCopy( existingNode );
+    
         mr = _reader.readDependencies( nodeMD );
   
         if( mr == null )
@@ -238,18 +255,38 @@
             node.addQuery(md);
       }
         
-      existingNodes.put( nodeQuery.toString(), node );
+      _existingNodes.put( nodeQuery.toString(), node );
     
       return node;
     }
     catch (RepositoryException e)
     {
+      if( _eventManager != null )
+        nodeBuildEvent.setError( e.getMessage() );
+
       throw new MetadataTreeException( e );
     }
     catch( VersionException e )
     {
+      if( _eventManager != null )
+        nodeBuildEvent.setError( e.getMessage() );
+
       throw new MetadataTreeException( e );
     }
+    catch( MetadataTreeException e )
+    {
+      if( _eventManager != null )
+        nodeBuildEvent.setError( e.getMessage() );
+      throw e;
+    }
+    finally
+    {
+      if( _eventManager != null )
+      {
+        nodeBuildEvent.stop();
+        _eventManager.fireEvent( nodeBuildEvent );
+      }
+    }
   }
   //-----------------------------------------------------
   private void checkForCircularDependency( ArtifactBasicMetadata md, MetadataTreeNode parent )
@@ -312,7 +349,7 @@
     
     try
     {
-      DefaultSatSolver solver = new DefaultSatSolver( root );
+      DefaultSatSolver solver = new DefaultSatSolver( root, _eventManager );
       
       solver.applyPolicies( getComparators() );
 
@@ -335,7 +372,7 @@
     
     try
     {
-      DefaultSatSolver solver = new DefaultSatSolver( root );
+      DefaultSatSolver solver = new DefaultSatSolver( root, _eventManager );
       
       solver.applyPolicies( getComparators() );
 
@@ -381,7 +418,7 @@
     
     try
     {
-      DefaultSatSolver solver = new DefaultSatSolver( root );
+      DefaultSatSolver solver = new DefaultSatSolver( root, _eventManager );
       
       solver.applyPolicies( getComparators() );
 
@@ -418,6 +455,18 @@
     
     return sb.toString();
   }
-  //-----------------------------------------------------
-  //-----------------------------------------------------
+
+  public void register( MercuryEventListener listener )
+  {
+    if( _eventManager == null )
+      _eventManager = new EventManager();
+      
+    _eventManager.register( listener );
+  }
+
+  public void unRegister( MercuryEventListener listener )
+  {
+    if( _eventManager != null )
+      _eventManager.unRegister( listener );
+  }
 }

Modified: maven/mercury/trunk/mercury-md/mercury-md-sat/src/main/java/org/apache/maven/mercury/metadata/sat/DefaultSatSolver.java
URL: http://svn.apache.org/viewvc/maven/mercury/trunk/mercury-md/mercury-md-sat/src/main/java/org/apache/maven/mercury/metadata/sat/DefaultSatSolver.java?rev=719052&r1=719051&r2=719052&view=diff
==============================================================================
--- maven/mercury/trunk/mercury-md/mercury-md-sat/src/main/java/org/apache/maven/mercury/metadata/sat/DefaultSatSolver.java (original)
+++ maven/mercury/trunk/mercury-md/mercury-md-sat/src/main/java/org/apache/maven/mercury/metadata/sat/DefaultSatSolver.java Wed Nov 19 12:15:25 2008
@@ -17,6 +17,7 @@
 import org.apache.maven.mercury.metadata.MetadataTreeNode;
 import org.apache.maven.mercury.metadata.MetadataTreeNodeGAComparator;
 import org.apache.maven.mercury.metadata.MetadataTreeNodeGAVComparator;
+import org.apache.maven.mercury.util.event.EventManager;
 import org.codehaus.plexus.lang.DefaultLanguage;
 import org.codehaus.plexus.lang.Language;
 import org.omg.stub.java.rmi._Remote_Stub;
@@ -46,6 +47,9 @@
   protected SatContext _context;
   protected IPBSolver _solver = SolverFactory.newEclipseP2();
   protected MetadataTreeNode _root;
+  
+  protected EventManager _eventManager;
+  
   protected static final Comparator<MetadataTreeNode> gaComparator = new MetadataTreeNodeGAComparator();
   //-----------------------------------------------------------------------
   public static SatSolver create( MetadataTreeNode tree )
@@ -54,9 +58,17 @@
     return new DefaultSatSolver( tree );
   }
   //-----------------------------------------------------------------------
-  public DefaultSatSolver( MetadataTreeNode tree )
+  public static SatSolver create( MetadataTreeNode tree, EventManager eventManager )
+  throws SatException
+  {
+    return new DefaultSatSolver( tree, eventManager );
+  }
+  //-----------------------------------------------------------------------
+  public DefaultSatSolver( MetadataTreeNode tree, EventManager eventManager )
   throws SatException
   {
+    this._eventManager = eventManager;
+    
     if( tree == null)
       throw new SatException("cannot create a solver for an empty [null] tree");
     
@@ -64,6 +76,7 @@
       MetadataTreeNode.reNumber( tree, 1 );
     
     int nNodes = tree.countDistinctNodes();
+
 _log.debug( "SatContext: # of variables: "+nNodes );
 
     _context = new SatContext( nNodes );
@@ -80,6 +93,12 @@
     }
   }
   //-----------------------------------------------------------------------
+  public DefaultSatSolver( MetadataTreeNode tree )
+  throws SatException
+  {
+    this( tree, null );
+  }
+  //-----------------------------------------------------------------------
   public final void applyPolicies( List<Comparator<MetadataTreeNode>> comparators )
   throws SatException
   {

Modified: maven/mercury/trunk/mercury-plexus/src/main/java/org/apache/maven/mercury/plexus/DefaultPlexusMercury.java
URL: http://svn.apache.org/viewvc/maven/mercury/trunk/mercury-plexus/src/main/java/org/apache/maven/mercury/plexus/DefaultPlexusMercury.java?rev=719052&r1=719051&r2=719052&view=diff
==============================================================================
--- maven/mercury/trunk/mercury-plexus/src/main/java/org/apache/maven/mercury/plexus/DefaultPlexusMercury.java (original)
+++ maven/mercury/trunk/mercury-plexus/src/main/java/org/apache/maven/mercury/plexus/DefaultPlexusMercury.java Wed Nov 19 12:15:25 2008
@@ -16,7 +16,6 @@
 import org.apache.maven.mercury.artifact.ArtifactExclusionList;
 import org.apache.maven.mercury.artifact.ArtifactInclusionList;
 import org.apache.maven.mercury.artifact.ArtifactMetadata;
-import org.apache.maven.mercury.artifact.ArtifactMetadataList;
 import org.apache.maven.mercury.artifact.ArtifactQueryList;
 import org.apache.maven.mercury.artifact.ArtifactScopeEnum;
 import org.apache.maven.mercury.crypto.api.StreamObserverFactory;

Modified: maven/mercury/trunk/mercury-plexus/src/main/java/org/apache/maven/mercury/plexus/MercuryPlexusLogger.java
URL: http://svn.apache.org/viewvc/maven/mercury/trunk/mercury-plexus/src/main/java/org/apache/maven/mercury/plexus/MercuryPlexusLogger.java?rev=719052&r1=719051&r2=719052&view=diff
==============================================================================
--- maven/mercury/trunk/mercury-plexus/src/main/java/org/apache/maven/mercury/plexus/MercuryPlexusLogger.java (original)
+++ maven/mercury/trunk/mercury-plexus/src/main/java/org/apache/maven/mercury/plexus/MercuryPlexusLogger.java Wed Nov 19 12:15:25 2008
@@ -1,7 +1,6 @@
 package org.apache.maven.mercury.plexus;
 
 import org.apache.maven.mercury.logging.IMercuryLogger;
-import org.codehaus.plexus.logging.AbstractLogger;
 import org.codehaus.plexus.logging.Logger;
 
 /**

Modified: maven/mercury/trunk/mercury-plexus/src/main/java/org/apache/maven/mercury/plexus/PlexusMercury.java
URL: http://svn.apache.org/viewvc/maven/mercury/trunk/mercury-plexus/src/main/java/org/apache/maven/mercury/plexus/PlexusMercury.java?rev=719052&r1=719051&r2=719052&view=diff
==============================================================================
--- maven/mercury/trunk/mercury-plexus/src/main/java/org/apache/maven/mercury/plexus/PlexusMercury.java (original)
+++ maven/mercury/trunk/mercury-plexus/src/main/java/org/apache/maven/mercury/plexus/PlexusMercury.java Wed Nov 19 12:15:25 2008
@@ -8,11 +8,9 @@
 import java.util.Set;
 
 import org.apache.maven.mercury.artifact.Artifact;
-import org.apache.maven.mercury.artifact.ArtifactBasicMetadata;
 import org.apache.maven.mercury.artifact.ArtifactExclusionList;
 import org.apache.maven.mercury.artifact.ArtifactInclusionList;
 import org.apache.maven.mercury.artifact.ArtifactMetadata;
-import org.apache.maven.mercury.artifact.ArtifactMetadataList;
 import org.apache.maven.mercury.artifact.ArtifactQueryList;
 import org.apache.maven.mercury.artifact.ArtifactScopeEnum;
 import org.apache.maven.mercury.crypto.api.StreamObserverFactory;

Modified: maven/mercury/trunk/mercury-util/src/main/java/org/apache/maven/mercury/util/event/AbstractMercuryEvent.java
URL: http://svn.apache.org/viewvc/maven/mercury/trunk/mercury-util/src/main/java/org/apache/maven/mercury/util/event/AbstractMercuryEvent.java?rev=719052&r1=719051&r2=719052&view=diff
==============================================================================
--- maven/mercury/trunk/mercury-util/src/main/java/org/apache/maven/mercury/util/event/AbstractMercuryEvent.java (original)
+++ maven/mercury/trunk/mercury-util/src/main/java/org/apache/maven/mercury/util/event/AbstractMercuryEvent.java Wed Nov 19 12:15:25 2008
@@ -11,12 +11,36 @@
  *
  */
 public abstract class AbstractMercuryEvent
-    implements MercuryEvent
+implements MercuryEvent
 {
+  String type;
+  
   String tag;
+  
+  String error;
+  
   long start;
+  
   long duration;
+  
   Map<String, Object> payload;
+  
+  public AbstractMercuryEvent()
+  {
+    start();
+  }
+  
+  public AbstractMercuryEvent( String type )
+  {
+    this();
+    this.type = type;
+  }
+  
+  public AbstractMercuryEvent( String type, String tag )
+  {
+    this( type );
+    this.tag = tag;
+  }
 
   public long getDuration()
   {
@@ -33,11 +57,31 @@
     return start;
   }
 
+  public String getType()
+  {
+    return type;
+  }
+
   public String getTag()
   {
     return tag;
   }
 
+  public String getError()
+  {
+    return error;
+  }
+
+  public void setError( String error )
+  {
+    this.error = error;
+  }
+
+  public boolean hasError()
+  {
+    return error != null;
+  }
+
   public Object getPayload( String name )
   {
     return payload == null ? null : payload.get( name );

Added: maven/mercury/trunk/mercury-util/src/main/java/org/apache/maven/mercury/util/event/EventGenerator.java
URL: http://svn.apache.org/viewvc/maven/mercury/trunk/mercury-util/src/main/java/org/apache/maven/mercury/util/event/EventGenerator.java?rev=719052&view=auto
==============================================================================
--- maven/mercury/trunk/mercury-util/src/main/java/org/apache/maven/mercury/util/event/EventGenerator.java (added)
+++ maven/mercury/trunk/mercury-util/src/main/java/org/apache/maven/mercury/util/event/EventGenerator.java Wed Nov 19 12:15:25 2008
@@ -0,0 +1,40 @@
+package org.apache.maven.mercury.util.event;
+
+/**
+ * 
+ * this component generates events 
+ *
+ * @author Oleg Gusakov
+ * @version $Id$
+ *
+ */
+public interface EventGenerator
+{
+  /**
+   * register event listener
+   * 
+   * @param listener
+   */
+  void register( MercuryEventListener listener );
+  
+  /**
+   * remove particular event listener
+   * 
+   * @param listener
+   */
+  void unRegister( MercuryEventListener listener );
+  
+  /**
+   * set entire event manager
+   * 
+   * @param eventManager
+   */
+  void setEventManager( EventManager eventManager );
+  
+  /**
+   * send this event to all listeners
+   * 
+   * @param event
+   */
+  void fireEvent( MercuryEvent event );
+}

Added: maven/mercury/trunk/mercury-util/src/main/java/org/apache/maven/mercury/util/event/EventManager.java
URL: http://svn.apache.org/viewvc/maven/mercury/trunk/mercury-util/src/main/java/org/apache/maven/mercury/util/event/EventManager.java?rev=719052&view=auto
==============================================================================
--- maven/mercury/trunk/mercury-util/src/main/java/org/apache/maven/mercury/util/event/EventManager.java (added)
+++ maven/mercury/trunk/mercury-util/src/main/java/org/apache/maven/mercury/util/event/EventManager.java Wed Nov 19 12:15:25 2008
@@ -0,0 +1,33 @@
+package org.apache.maven.mercury.util.event;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ *
+ *
+ * @author Oleg Gusakov
+ * @version $Id$
+ *
+ */
+public class EventManager
+{
+  List<MercuryEventListener> listeners = new ArrayList<MercuryEventListener>(8);
+  
+  public void register( MercuryEventListener listener )
+  {
+    listeners.add( listener );
+  }
+  
+  public void unRegister( MercuryEventListener listener )
+  {
+    listeners.remove( listener );
+  }
+  
+  public void fireEvent( MercuryEvent event )
+  {
+    for( MercuryEventListener listener : listeners )
+      listener.fire( event );
+  }
+
+}

Added: maven/mercury/trunk/mercury-util/src/main/java/org/apache/maven/mercury/util/event/GenericEvent.java
URL: http://svn.apache.org/viewvc/maven/mercury/trunk/mercury-util/src/main/java/org/apache/maven/mercury/util/event/GenericEvent.java?rev=719052&view=auto
==============================================================================
--- maven/mercury/trunk/mercury-util/src/main/java/org/apache/maven/mercury/util/event/GenericEvent.java (added)
+++ maven/mercury/trunk/mercury-util/src/main/java/org/apache/maven/mercury/util/event/GenericEvent.java Wed Nov 19 12:15:25 2008
@@ -0,0 +1,24 @@
+package org.apache.maven.mercury.util.event;
+
+/**
+ *
+ *
+ * @author Oleg Gusakov
+ * @version $Id$
+ *
+ */
+public class GenericEvent
+extends AbstractMercuryEvent
+{
+
+  public GenericEvent( String type )
+  {
+    super(type);
+  }
+
+  public GenericEvent( String type, String tag )
+  {
+    super( type, tag );
+  }
+
+}

Modified: maven/mercury/trunk/mercury-util/src/main/java/org/apache/maven/mercury/util/event/MercuryEvent.java
URL: http://svn.apache.org/viewvc/maven/mercury/trunk/mercury-util/src/main/java/org/apache/maven/mercury/util/event/MercuryEvent.java?rev=719052&r1=719051&r2=719052&view=diff
==============================================================================
--- maven/mercury/trunk/mercury-util/src/main/java/org/apache/maven/mercury/util/event/MercuryEvent.java (original)
+++ maven/mercury/trunk/mercury-util/src/main/java/org/apache/maven/mercury/util/event/MercuryEvent.java Wed Nov 19 12:15:25 2008
@@ -12,7 +12,14 @@
 public interface MercuryEvent
 {
   /**
-   * aggregate tag of this event. Used to trace event propagation in the system 
+   * event type 
+   * 
+   * @return
+   */
+  String getType();
+
+  /**
+   * aggregation tag of this event. Used to trace event propagation in the system 
    * 
    * @return
    */
@@ -35,6 +42,18 @@
    */
   void stop();
   
+
+  /**
+   * error field
+   * 
+   * @return
+   */
+  public String getError();
+
+  public void setError( String error );
+
+  public boolean hasError();
+  
   /**
    * duration of this event in millis
    * 
@@ -70,4 +89,6 @@
    */
   void setPayload( String name, Object value );
   
+  
+  
 }