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 23:57:01 UTC
svn commit: r719116 - in /maven/mercury/trunk:
mercury-it/src/test/java/org/apache/maven/mercury/dependency/tests/
mercury-md/mercury-md-sat/src/main/java/org/apache/maven/mercury/metadata/
mercury-md/mercury-md-sat/src/main/java/org/apache/maven/mercu...
Author: ogusakov
Date: Wed Nov 19 14:57:00 2008
New Revision: 719116
URL: http://svn.apache.org/viewvc?rev=719116&view=rev
Log:
intermediate commit for http://jira.codehaus.org/browse/MERCURY-6
Modified:
maven/mercury/trunk/mercury-it/src/test/java/org/apache/maven/mercury/dependency/tests/DependencyTreeBuilderTest.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-md/mercury-md-sat/src/main/java/org/apache/maven/mercury/metadata/sat/SatSolver.java
maven/mercury/trunk/mercury-repo/mercury-repo-virtual/src/main/java/org/apache/maven/mercury/repository/virtual/VirtualRepositoryReader.java
maven/mercury/trunk/mercury-util/src/main/java/org/apache/maven/mercury/util/TimeUtil.java
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/MercuryEvent.java
Modified: maven/mercury/trunk/mercury-it/src/test/java/org/apache/maven/mercury/dependency/tests/DependencyTreeBuilderTest.java
URL: http://svn.apache.org/viewvc/maven/mercury/trunk/mercury-it/src/test/java/org/apache/maven/mercury/dependency/tests/DependencyTreeBuilderTest.java?rev=719116&r1=719115&r2=719116&view=diff
==============================================================================
--- maven/mercury/trunk/mercury-it/src/test/java/org/apache/maven/mercury/dependency/tests/DependencyTreeBuilderTest.java (original)
+++ maven/mercury/trunk/mercury-it/src/test/java/org/apache/maven/mercury/dependency/tests/DependencyTreeBuilderTest.java Wed Nov 19 14:57:00 2008
@@ -27,6 +27,9 @@
import org.apache.maven.mercury.repository.remote.m2.RemoteRepositoryM2;
import org.apache.maven.mercury.repository.virtual.VirtualRepositoryReader;
import org.apache.maven.mercury.transport.api.Server;
+import org.apache.maven.mercury.util.event.EventManager;
+import org.apache.maven.mercury.util.event.MercuryEvent;
+import org.apache.maven.mercury.util.event.MercuryEventListener;
/**
@@ -36,6 +39,7 @@
*/
public class DependencyTreeBuilderTest
extends TestCase
+implements MercuryEventListener
{
private static final org.slf4j.Logger _log = org.slf4j.LoggerFactory.getLogger( DependencyTreeBuilderTest.class );
@@ -81,6 +85,7 @@
// reps.add(centralRepo);
depBuilder = DependencyBuilderFactory.create( DependencyBuilderFactory.JAVA_DEPENDENCY_MODEL, reps, null, null, null );
+ depBuilder.register( this );
vReader = new VirtualRepositoryReader( reps );
}
@@ -139,7 +144,7 @@
System.out.println("---------------------------------");
for( ArtifactMetadata amd : res )
{
- System.out.println(amd + ( amd.getTracker() == null ? " [no tracker]" : " ["+((RepositoryReader)amd.getTracker()).getRepository().getServer().toString()+"]" ) );
+ System.out.println(amd + ( amd.getTracker() == null ? " [no tracker]" : " ["+((RepositoryReader)amd.getTracker()).getRepository().getId()+"]" ) );
}
System.out.println("---------------------------------");
@@ -249,6 +254,11 @@
System.out.println( a.toString()+" -> "+a.getFile() );
}
}
- //----------------------------------------------------------------------------------------------
+ //----------------------------------------------------------------------------------------------
+ public void fire( MercuryEvent event )
+ {
+ System.out.println( "event: "+ EventManager.toString( event ) );
+ }
+ //----------------------------------------------------------------------------------------------
//----------------------------------------------------------------------------------------------
}
\ No newline at end of file
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=719116&r1=719115&r2=719116&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 14:57:00 2008
@@ -99,6 +99,7 @@
try
{
+ _reader.setEventManager( _eventManager );
_reader.setProcessors( _processors );
_reader.init();
}
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=719116&r1=719115&r2=719116&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 14:57:00 2008
@@ -11,16 +11,16 @@
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.logging.IMercuryLogger;
import org.apache.maven.mercury.logging.MercuryLoggerManager;
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.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;
-import org.omg.stub.java.rmi._Remote_Stub;
import org.sat4j.core.Vec;
import org.sat4j.core.VecInt;
import org.sat4j.pb.IPBSolver;
@@ -68,28 +68,43 @@
throws SatException
{
this._eventManager = eventManager;
+ GenericEvent event = null;
if( tree == null)
throw new SatException("cannot create a solver for an empty [null] tree");
- if( tree.getId() == 0 )
- MetadataTreeNode.reNumber( tree, 1 );
-
- int nNodes = tree.countDistinctNodes();
-
-_log.debug( "SatContext: # of variables: "+nNodes );
-
- _context = new SatContext( nNodes );
- _solver.newVar( tree.countNodes() );
- _root = tree;
-
try
{
- addNode( tree );
+ if( _eventManager != null )
+ event = new GenericEvent( "create.sat.solver", tree.toString() );
+
+ if( tree.getId() == 0 )
+ MetadataTreeNode.reNumber( tree, 1 );
+
+ int nNodes = tree.countDistinctNodes();
+
+ _log.debug( "SatContext: # of variables: "+nNodes );
+
+ _context = new SatContext( nNodes );
+ _solver.newVar( tree.countNodes() );
+ _root = tree;
+
+ try
+ {
+ addNode( tree );
+ }
+ catch (ContradictionException e)
+ {
+ throw new SatException(e);
+ }
}
- catch (ContradictionException e)
+ finally
{
- throw new SatException(e);
+ if( _eventManager != null )
+ {
+ event.stop();
+ _eventManager.fireEvent( event );
+ }
}
}
//-----------------------------------------------------------------------
@@ -145,10 +160,10 @@
for( int i=0; i<bucketSize; i++ )
{
MetadataTreeNode n = bucket.get(i);
+
if( _log.isDebugEnabled() )
_log.debug( n.toString() );
- ArtifactMetadata md = n.getMd();
SatVar var = _context.findOrAdd(n);
int varLiteral = var.getLiteral();
@@ -165,7 +180,6 @@
if( _log.isDebugEnabled() )
_log.debug( " "+cf+" x"+var.getLiteral() );
}
-
}
@@ -518,9 +532,13 @@
throws SatException
{
List<ArtifactMetadata> res = null;
+ GenericEvent event = null;
try
{
+ if( _eventManager != null )
+ event = new GenericEvent( "solve", _root.toString() );
+
if( _solver.isSatisfiable() )
{
res = new ArrayList<ArtifactMetadata>( _root.countNodes() );
@@ -551,6 +569,14 @@
{
throw new SatException( e );
}
+ finally
+ {
+ if( _eventManager != null )
+ {
+ event.stop();
+ _eventManager.fireEvent( event );
+ }
+ }
return res;
}
//-----------------------------------------------------------------------
@@ -589,5 +615,23 @@
}
//-----------------------------------------------------------------------
+ public void register( MercuryEventListener listener )
+ {
+ if( _eventManager == null )
+ _eventManager = new EventManager();
+
+ _eventManager.register( listener );
+ }
+
+ public void setEventManager( EventManager eventManager )
+ {
+ _eventManager = eventManager;
+ }
+
+ 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/SatSolver.java
URL: http://svn.apache.org/viewvc/maven/mercury/trunk/mercury-md/mercury-md-sat/src/main/java/org/apache/maven/mercury/metadata/sat/SatSolver.java?rev=719116&r1=719115&r2=719116&view=diff
==============================================================================
--- maven/mercury/trunk/mercury-md/mercury-md-sat/src/main/java/org/apache/maven/mercury/metadata/sat/SatSolver.java (original)
+++ maven/mercury/trunk/mercury-md/mercury-md-sat/src/main/java/org/apache/maven/mercury/metadata/sat/SatSolver.java Wed Nov 19 14:57:00 2008
@@ -5,11 +5,13 @@
import org.apache.maven.mercury.artifact.ArtifactMetadata;
import org.apache.maven.mercury.metadata.MetadataTreeNode;
+import org.apache.maven.mercury.util.event.EventGenerator;
/**
* @author <a href="oleg@codehaus.org">Oleg Gusakov</a>
*/
public interface SatSolver
+extends EventGenerator
{
public static final int DEFAULT_TREE_SIZE = 128; //nodes
Modified: maven/mercury/trunk/mercury-repo/mercury-repo-virtual/src/main/java/org/apache/maven/mercury/repository/virtual/VirtualRepositoryReader.java
URL: http://svn.apache.org/viewvc/maven/mercury/trunk/mercury-repo/mercury-repo-virtual/src/main/java/org/apache/maven/mercury/repository/virtual/VirtualRepositoryReader.java?rev=719116&r1=719115&r2=719116&view=diff
==============================================================================
--- maven/mercury/trunk/mercury-repo/mercury-repo-virtual/src/main/java/org/apache/maven/mercury/repository/virtual/VirtualRepositoryReader.java (original)
+++ maven/mercury/trunk/mercury-repo/mercury-repo-virtual/src/main/java/org/apache/maven/mercury/repository/virtual/VirtualRepositoryReader.java Wed Nov 19 14:57:00 2008
@@ -31,6 +31,10 @@
import org.apache.maven.mercury.repository.api.RepositoryWriter;
import org.apache.maven.mercury.repository.cache.fs.MetadataCacheFs;
import org.apache.maven.mercury.util.Util;
+import org.apache.maven.mercury.util.event.EventGenerator;
+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;
@@ -43,8 +47,19 @@
*
*/
public class VirtualRepositoryReader
-implements MetadataReader
+implements MetadataReader, EventGenerator
{
+ public static final String EVENT_READ_ARTIFACTS = "vr.read.artifacts";
+ public static final String EVENT_READ_ARTIFACTS_FROM_REPO = "vr.read.artifacts.from.repo";
+ public static final String EVENT_READ_ARTIFACTS_FROM_REPO_QUALIFIED = "vr.read.artifacts.from.repo.qualified";
+ public static final String EVENT_READ_ARTIFACTS_FROM_REPO_UNQUALIFIED = "vr.read.artifacts.from.repo.unqualified";
+
+ public static final String EVENT_READ_VERSIONS = "vr.read.versions";
+ public static final String EVENT_READ_VERSIONS_FROM_REPO = "vr.read.versions.from.repo";
+
+ public static final String EVENT_READ_RAW = "vr.read.raw";
+ public static final String EVENT_READ_RAW_FROM_REPO = "vr.read.raw.from.repo";
+
/** file system cache subfolder */
public static final String METADATA_CACHE_DIR = ".cache";
@@ -68,6 +83,8 @@
private Map<String,ArtifactListProcessor> _processors;
private boolean _initialized = false;
+
+ private EventManager _eventManager;
//----------------------------------------------------------------------------------------------------------------------------
public VirtualRepositoryReader( Collection<Repository> repositories )
throws RepositoryException
@@ -334,90 +351,138 @@
public ArtifactResults readArtifacts( Collection<? extends ArtifactBasicMetadata> query )
throws RepositoryException
{
- ArtifactResults res = null;
-
- if( Util.isEmpty( query ) )
- return res;
-
- Map< RepositoryReader, List<ArtifactBasicMetadata> > buckets = sortByRepo( query );
+ GenericEvent event = null;
- List<ArtifactBasicMetadata> rejects = buckets == null ? null : buckets.get( RepositoryReader.NULL_READER );
-
- if( buckets == null )
- throw new RepositoryException( _lang.getMessage( "internal.error.sorting.query", query.toString() ) );
-
- init();
-
- // first read repository-qualified Artifacts
- for( RepositoryReader rr : buckets.keySet() )
+ try
{
- if( RepositoryReader.NULL_READER.equals( rr ) )
- continue;
-
- String repoId = rr.getRepository().getId();
+ ArtifactResults res = null;
+
+ if( _eventManager != null )
+ event = new GenericEvent( EVENT_READ_ARTIFACTS, "" );
- List<ArtifactBasicMetadata> rrQuery = buckets.get( rr );
+ if( Util.isEmpty( query ) )
+ return res;
- ArtifactResults rrRes = rr.readArtifacts( rrQuery );
+ Map< RepositoryReader, List<ArtifactBasicMetadata> > buckets = sortByRepo( query );
- if( rrRes.hasExceptions() )
- throw new RepositoryException( _lang.getMessage( "error.reading.existing.artifact", rrRes.getExceptions().toString(), rr.getRepository().getId() ) );
+ List<ArtifactBasicMetadata> rejects = buckets == null ? null : buckets.get( RepositoryReader.NULL_READER );
+
+ if( buckets == null )
+ throw new RepositoryException( _lang.getMessage( "internal.error.sorting.query", query.toString() ) );
+
+ init();
- if( rrRes.hasResults() )
- for( ArtifactBasicMetadata bm : rrRes.getResults().keySet() )
- {
- List<Artifact> al = rrRes.getResults( bm );
-
- if( res == null )
- res = new ArtifactResults();
-
- res.addAll( bm, al );
-
- // don't write local artifacts back to the same repo
- if( _localRepository != null && repoId.equals( _localRepository.getId() ) )
- continue;
-
- if( _localRepositoryWriter != null )
- _localRepositoryWriter.writeArtifacts( al );
- }
- }
-
- // then search all repos for unqualified Artifacts
- if( !Util.isEmpty( rejects ) )
- {
- for( RepositoryReader rr : _repositoryReaders )
+ // first read repository-qualified Artifacts
+ for( RepositoryReader rr : buckets.keySet() )
{
- if( rejects.isEmpty() )
- break;
+ if( RepositoryReader.NULL_READER.equals( rr ) )
+ continue;
String repoId = rr.getRepository().getId();
- ArtifactResults rrRes = rr.readArtifacts( rejects );
+ GenericEvent eventRead = null;
- if( rrRes.hasResults() )
- for( ArtifactBasicMetadata bm : rrRes.getResults().keySet() )
+ try
+ {
+ if( _eventManager != null )
+ eventRead = new GenericEvent( EVENT_READ_ARTIFACTS_FROM_REPO_QUALIFIED, repoId );
+
+ List<ArtifactBasicMetadata> rrQuery = buckets.get( rr );
+
+ ArtifactResults rrRes = rr.readArtifacts( rrQuery );
+
+ if( rrRes.hasExceptions() )
+ throw new RepositoryException( _lang.getMessage( "error.reading.existing.artifact", rrRes.getExceptions().toString(), rr.getRepository().getId() ) );
+
+ if( rrRes.hasResults() )
+ for( ArtifactBasicMetadata bm : rrRes.getResults().keySet() )
+ {
+ List<Artifact> al = rrRes.getResults( bm );
+
+ if( res == null )
+ res = new ArtifactResults();
+
+ res.addAll( bm, al );
+
+ // don't write local artifacts back to the same repo
+ if( _localRepository != null && repoId.equals( _localRepository.getId() ) )
+ continue;
+
+ if( _localRepositoryWriter != null )
+ _localRepositoryWriter.writeArtifacts( al );
+ }
+ }
+ finally
+ {
+ if( _eventManager != null )
{
- List<Artifact> al = rrRes.getResults( bm );
-
- if( res == null )
- res = new ArtifactResults();
-
- res.addAll( bm, al );
+ eventRead.stop();
+ _eventManager.fireEvent( eventRead );
+ }
+ }
+ }
+
+ // then search all repos for unqualified Artifacts
+ if( !Util.isEmpty( rejects ) )
+ {
+ for( RepositoryReader rr : _repositoryReaders )
+ {
+ if( rejects.isEmpty() )
+ break;
+
+ String repoId = rr.getRepository().getId();
+
+ GenericEvent eventRead = null;
+
+ try
+ {
+ if( _eventManager != null )
+ eventRead = new GenericEvent( EVENT_READ_ARTIFACTS_FROM_REPO_UNQUALIFIED, repoId );
- rejects.remove( bm );
+ ArtifactResults rrRes = rr.readArtifacts( rejects );
- // don't write local artifacts back to the same repo
- if( _localRepository != null && repoId.equals( _localRepository.getId() ) )
- continue;
-
- if( _localRepositoryWriter != null )
- _localRepositoryWriter.writeArtifacts( al );
-
+ if( rrRes.hasResults() )
+ for( ArtifactBasicMetadata bm : rrRes.getResults().keySet() )
+ {
+ List<Artifact> al = rrRes.getResults( bm );
+
+ if( res == null )
+ res = new ArtifactResults();
+
+ res.addAll( bm, al );
+
+ rejects.remove( bm );
+
+ // don't write local artifacts back to the same repo
+ if( _localRepository != null && repoId.equals( _localRepository.getId() ) )
+ continue;
+
+ if( _localRepositoryWriter != null )
+ _localRepositoryWriter.writeArtifacts( al );
+
+ }
+ }
+ finally
+ {
+ if( _eventManager != null )
+ {
+ eventRead.stop();
+ _eventManager.fireEvent( eventRead );
+ }
}
+ }
+ }
+
+ return res;
+ }
+ finally
+ {
+ if( _eventManager != null )
+ {
+ event.stop();
+ _eventManager.fireEvent( event );
}
}
-
- return res;
}
//----------------------------------------------------------------------------------------------------------------------------
// MetadataReader implementation
@@ -437,85 +502,135 @@
throws MetadataReaderException
{
+ GenericEvent event = null;
+
if( _log.isDebugEnabled() )
_log.debug( "request for "+bmd+", classifier="+classifier+", type="+type );
if( bmd == null )
throw new IllegalArgumentException("null bmd supplied");
- ArtifactBasicMetadata bmdQuery = bmd;
-
try
{
- init();
- }
- catch( RepositoryException e )
- {
- throw new MetadataReaderException(e);
- }
-
- byte [] res = null;
- Quality vq = new Quality( bmd.getVersion() );
-
- if( _log.isDebugEnabled() )
- _log.debug( "quality calculated as "+vq.getQuality() == null ? "null" :vq.getQuality().name() );
-
- if( Quality.SNAPSHOT_QUALITY.equals( vq ) )
- {
- List<ArtifactBasicMetadata> query = new ArrayList<ArtifactBasicMetadata>(1);
- query.add( bmd );
+ event = new GenericEvent( EVENT_READ_RAW, "" );
+
+ ArtifactBasicMetadata bmdQuery = bmd;
try
{
- ArtifactBasicResults vRes = readVersions( query );
- if( Util.isEmpty( vRes ) )
+ init();
+ }
+ catch( RepositoryException e )
+ {
+ throw new MetadataReaderException(e);
+ }
+
+ byte [] res = null;
+ Quality vq = new Quality( bmd.getVersion() );
+
+ if( _log.isDebugEnabled() )
+ _log.debug( "quality calculated as "+vq.getQuality() == null ? "null" :vq.getQuality().name() );
+
+ if( Quality.SNAPSHOT_QUALITY.equals( vq ) )
+ {
+ List<ArtifactBasicMetadata> query = new ArrayList<ArtifactBasicMetadata>(1);
+ query.add( bmd );
+
+ try
{
- if( _log.isDebugEnabled() )
- _log.debug( "no snapshots found - throw exception" );
-
- throw new MetadataReaderException( _lang.getMessage( "no.snapshots", bmd.toString(), classifier, type ) );
+ ArtifactBasicResults vRes = readVersions( query );
+ if( Util.isEmpty( vRes ) )
+ {
+ if( _log.isDebugEnabled() )
+ _log.debug( "no snapshots found - throw exception" );
+
+ throw new MetadataReaderException( _lang.getMessage( "no.snapshots", bmd.toString(), classifier, type ) );
+ }
+
+
+ if( vRes.hasResults( bmd ) )
+ {
+ List<ArtifactBasicMetadata> versions = vRes.getResult( bmd );
+
+ TreeSet<ArtifactBasicMetadata> snapshots = new TreeSet<ArtifactBasicMetadata>( new MetadataVersionComparator() );
+ snapshots.addAll( versions );
+
+ bmdQuery = snapshots.last();
+ }
+ else
+ {
+ if( _log.isDebugEnabled() )
+ _log.debug( "no snapshots found - throw exception" );
+
+ throw new MetadataReaderException( _lang.getMessage( "no.snapshots", bmd.toString(), classifier, type ) );
+ }
}
-
-
- if( vRes.hasResults( bmd ) )
+ catch( Exception e )
{
- List<ArtifactBasicMetadata> versions = vRes.getResult( bmd );
-
- TreeSet<ArtifactBasicMetadata> snapshots = new TreeSet<ArtifactBasicMetadata>( new MetadataVersionComparator() );
- snapshots.addAll( versions );
-
- bmdQuery = snapshots.last();
+ throw new MetadataReaderException(e);
}
- else
+ }
+
+ for( RepositoryReader rr : _repositoryReaders )
+ {
+ GenericEvent eventRead = null;
+
+ try
{
- if( _log.isDebugEnabled() )
- _log.debug( "no snapshots found - throw exception" );
+ if( _eventManager != null )
+ eventRead = new GenericEvent( EVENT_READ_RAW_FROM_REPO, rr.getRepository().getId() );
- throw new MetadataReaderException( _lang.getMessage( "no.snapshots", bmd.toString(), classifier, type ) );
+ res = rr.readRawData( bmdQuery, classifier, type );
+ if( res != null )
+ {
+ if( _log.isDebugEnabled() )
+ _log.debug( bmdQuery+" found in "+rr.getRepository().getServer() );
+
+ return res;
+ }
+ }
+ finally
+ {
+ if( _eventManager != null )
+ {
+ eventRead.stop();
+ _eventManager.fireEvent( eventRead );
+ }
}
}
- catch( Exception e )
- {
- throw new MetadataReaderException(e);
- }
+
+ if( _log.isDebugEnabled() )
+ _log.debug( "no data found, returning null" );
+
+ return null;
}
-
- for( RepositoryReader rr : _repositoryReaders )
+ finally
{
- res = rr.readRawData( bmdQuery, classifier, type );
- if( res != null )
+ if( _eventManager != null )
{
- if( _log.isDebugEnabled() )
- _log.debug( bmdQuery+" found in "+rr.getRepository().getServer() );
-
- return res;
+ event.stop();
+ _eventManager.fireEvent( event );
}
}
-
- if( _log.isDebugEnabled() )
- _log.debug( "no data found, returning null" );
-
- return null;
+ }
+ //----------------------------------------------------------------------------------------------------------------------------
+ public void register( MercuryEventListener listener )
+ {
+ if( _eventManager == null )
+ _eventManager = new EventManager();
+
+ _eventManager.register( listener );
+ }
+
+ public void setEventManager( EventManager eventManager )
+ {
+ _eventManager = eventManager;
+ }
+
+ public void unRegister( MercuryEventListener listener )
+ {
+ if( _eventManager != null )
+ _eventManager.unRegister( listener );
}
//----------------------------------------------------------------------------------------------------------------------------
//----------------------------------------------------------------------------------------------------------------------------
Modified: maven/mercury/trunk/mercury-util/src/main/java/org/apache/maven/mercury/util/TimeUtil.java
URL: http://svn.apache.org/viewvc/maven/mercury/trunk/mercury-util/src/main/java/org/apache/maven/mercury/util/TimeUtil.java?rev=719116&r1=719115&r2=719116&view=diff
==============================================================================
--- maven/mercury/trunk/mercury-util/src/main/java/org/apache/maven/mercury/util/TimeUtil.java (original)
+++ maven/mercury/trunk/mercury-util/src/main/java/org/apache/maven/mercury/util/TimeUtil.java Wed Nov 19 14:57:00 2008
@@ -83,5 +83,4 @@
return dts.getTime();
}
-
}
Modified: 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=719116&r1=719115&r2=719116&view=diff
==============================================================================
--- maven/mercury/trunk/mercury-util/src/main/java/org/apache/maven/mercury/util/event/EventGenerator.java (original)
+++ maven/mercury/trunk/mercury-util/src/main/java/org/apache/maven/mercury/util/event/EventGenerator.java Wed Nov 19 14:57:00 2008
@@ -31,10 +31,4 @@
*/
void setEventManager( EventManager eventManager );
- /**
- * send this event to all listeners
- *
- * @param event
- */
- void fireEvent( MercuryEvent event );
}
Modified: 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=719116&r1=719115&r2=719116&view=diff
==============================================================================
--- maven/mercury/trunk/mercury-util/src/main/java/org/apache/maven/mercury/util/event/EventManager.java (original)
+++ maven/mercury/trunk/mercury-util/src/main/java/org/apache/maven/mercury/util/event/EventManager.java Wed Nov 19 14:57:00 2008
@@ -1,6 +1,7 @@
package org.apache.maven.mercury.util.event;
import java.util.ArrayList;
+import java.util.Date;
import java.util.List;
/**
@@ -29,5 +30,10 @@
for( MercuryEventListener listener : listeners )
listener.fire( event );
}
+
+ public static final String toString( MercuryEvent event )
+ {
+ return new Date( event.getStart() )+", dur: "+ event.getDuration()+" millis : ["+ event.getType()+"] "+event.getTag();
+ }
}
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=719116&r1=719115&r2=719116&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 14:57:00 2008
@@ -88,7 +88,4 @@
* @param value
*/
void setPayload( String name, Object value );
-
-
-
}
Re: svn commit: r719116 - in /maven/mercury/trunk: mercury-it/src/test/java/org/apache/maven/mercury/dependency/tests/ mercury-md/mercury-md-sat/src/main/java/org/apache/maven/mercury/metadata/ mercury-md/mercury-md-sat/src/main/java/org/apache/maven/mercu...
Posted by Brett Porter <br...@apache.org>.
On 20/11/2008, at 9:57 AM, ogusakov@apache.org wrote:
> Author: ogusakov
> Date: Wed Nov 19 14:57:00 2008
> New Revision: 719116
>
> URL: http://svn.apache.org/viewvc?rev=719116&view=rev
> Log:
> intermediate commit for http://jira.codehaus.org/browse/MERCURY-6
Would you mind describing what's happening in the commit so later
cross-checking isn't needed to figure out what MERCURY-6 was?
The convention that seems to have stuck has been:
[MERCURY-6] description of what this commit was all about
(Submitted by: xyz)
(Merged from: rABC)
Thanks,
Brett
--
Brett Porter
brett@apache.org
http://blogs.exist.com/bporter/
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@maven.apache.org
For additional commands, e-mail: dev-help@maven.apache.org