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 );
+
+
}