Author: jdcasey
Date: Mon Feb 25 13:15:07 2008
New Revision: 630996

URL: http://svn.apache.org/viewvc?rev=630996&view=rev
Log:
Rolling back, as this seems to cause some issues with resolving plugins. I 
discovered this while running the integration-test build on the 
maven-assembly-plugin.

Added:
    
maven/artifact/trunk/src/main/java/org/apache/maven/artifact/repository/metadata/MetadataTouchfile.java
      - copied unchanged from r630976, 
maven/artifact/trunk/src/main/java/org/apache/maven/artifact/repository/metadata/MetadataTouchfile.java
    
maven/artifact/trunk/src/test/java/org/apache/maven/artifact/repository/metadata/MetadataTouchfileTest.java
      - copied unchanged from r630976, 
maven/artifact/trunk/src/test/java/org/apache/maven/artifact/repository/metadata/MetadataTouchfileTest.java
Removed:
    
maven/artifact/trunk/src/main/java/org/apache/maven/artifact/manager/DefaultUpdateCheckManager.java
    
maven/artifact/trunk/src/main/java/org/apache/maven/artifact/manager/UpdateCheckManager.java
    
maven/artifact/trunk/src/test/java/org/apache/maven/artifact/manager/DefaultUpdateCheckManagerTest.java
    
maven/artifact/trunk/src/test/java/org/apache/maven/artifact/resolver/ArtifactUpdatePolicyTest.java
    
maven/artifact/trunk/src/test/java/org/apache/maven/artifact/resolver/TestFileWagon.java
    
maven/artifact/trunk/src/test/java/org/apache/maven/artifact/resolver/TestTransferListener.java
    
maven/artifact/trunk/src/test/resources/org/apache/maven/artifact/resolver/ArtifactUpdatePolicyTest.xml
Modified:
    maven/artifact/trunk/pom.xml
    
maven/artifact/trunk/src/main/java/org/apache/maven/artifact/manager/DefaultWagonManager.java
    
maven/artifact/trunk/src/main/java/org/apache/maven/artifact/manager/WagonManager.java
    
maven/artifact/trunk/src/main/java/org/apache/maven/artifact/repository/metadata/DefaultRepositoryMetadataManager.java
    
maven/artifact/trunk/src/main/java/org/apache/maven/artifact/resolver/DefaultArtifactResolver.java
    
maven/artifact/trunk/src/test/java/org/apache/maven/artifact/manager/WagonNoOp.java
    
maven/artifact/trunk/src/test/java/org/apache/maven/artifact/repository/metadata/DefaultRepositoryMetadataManagerTest.java

Modified: maven/artifact/trunk/pom.xml
URL: 
http://svn.apache.org/viewvc/maven/artifact/trunk/pom.xml?rev=630996&r1=630995&r2=630996&view=diff
==============================================================================
--- maven/artifact/trunk/pom.xml (original)
+++ maven/artifact/trunk/pom.xml Mon Feb 25 13:15:07 2008
@@ -43,7 +43,7 @@
     <dependency>
       <groupId>org.codehaus.plexus</groupId>
       <artifactId>plexus-container-default</artifactId>
-      <version>1.0-alpha-44</version>
+      <version>1.0-alpha-43</version>
     </dependency>
     <dependency>
       <groupId>org.apache.maven.wagon</groupId>

Modified: 
maven/artifact/trunk/src/main/java/org/apache/maven/artifact/manager/DefaultWagonManager.java
URL: 
http://svn.apache.org/viewvc/maven/artifact/trunk/src/main/java/org/apache/maven/artifact/manager/DefaultWagonManager.java?rev=630996&r1=630995&r2=630996&view=diff
==============================================================================
--- 
maven/artifact/trunk/src/main/java/org/apache/maven/artifact/manager/DefaultWagonManager.java
 (original)
+++ 
maven/artifact/trunk/src/main/java/org/apache/maven/artifact/manager/DefaultWagonManager.java
 Mon Feb 25 13:15:07 2008
@@ -19,15 +19,6 @@
  * under the License.
  */
 
-import java.io.File;
-import java.io.IOException;
-import java.security.NoSuchAlgorithmException;
-import java.util.Collection;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-
 import org.apache.maven.artifact.Artifact;
 import org.apache.maven.artifact.metadata.ArtifactMetadata;
 import org.apache.maven.artifact.repository.ArtifactRepository;
@@ -121,9 +112,6 @@
     /** encapsulates access to Server credentials */
     private CredentialsDataSource credentialsDataSource;
 
-    /** @plexus.requirement */
-    private UpdateCheckManager updateCheckManager;
-
     // TODO: this leaks the component in the public api - it is never released 
back to the container
     public Wagon getWagon( Repository repository )
         throws UnsupportedProtocolException, WagonConfigurationException
@@ -330,15 +318,7 @@
     // NOTE: It is not possible that this method throws 
TransferFailedException under current conditions.
     // FIXME: Change the throws clause to reflect the fact that we're never 
throwing TransferFailedException
     public void getArtifact( Artifact artifact,
-                             List remoteRepositories  )
-        throws TransferFailedException, ResourceDoesNotExistException
-       {
-       getArtifact( artifact, remoteRepositories, true );
-       }
-
-    public void getArtifact( Artifact artifact,
-                             List remoteRepositories,
-                             boolean force )
+                             List remoteRepositories )
         throws TransferFailedException, ResourceDoesNotExistException
     {
         boolean successful = false;
@@ -349,7 +329,7 @@
 
             try
             {
-                getArtifact( artifact, repository, force );
+                getArtifact( artifact, repository );
 
                 successful = artifact.isResolved();
             }
@@ -375,17 +355,8 @@
         }
     }
 
-    public void getArtifact( Artifact artifact, 
-                             ArtifactRepository repository )
-        throws TransferFailedException, 
-               ResourceDoesNotExistException
-    {
-        getArtifact( artifact, repository, true );
-    }
-
     public void getArtifact( Artifact artifact,
-                             ArtifactRepository repository,
-                             boolean force )
+                             ArtifactRepository repository )
         throws TransferFailedException, ResourceDoesNotExistException
     {
         String remotePath = repository.pathOf( artifact );
@@ -400,18 +371,11 @@
         {
             getLogger().debug( "Skipping blacklisted repository " + 
repository.getId() );
         }
-        else if ( force || updateCheckManager.isUpdateRequired( artifact, 
repository ) )
+        else
         {
             getLogger().debug( "Trying repository " + repository.getId() );
 
-            try
-            {
-               getRemoteFile( repository, artifact.getFile(), remotePath, 
downloadMonitor, policy.getChecksumPolicy(), false );
-            }
-            finally
-            {
-               updateCheckManager.touch( artifact, repository );
-            }
+            getRemoteFile( repository, artifact.getFile(), remotePath, 
downloadMonitor, policy.getChecksumPolicy(), false );
 
             getLogger().debug( "  Artifact resolved" );
 

Modified: 
maven/artifact/trunk/src/main/java/org/apache/maven/artifact/manager/WagonManager.java
URL: 
http://svn.apache.org/viewvc/maven/artifact/trunk/src/main/java/org/apache/maven/artifact/manager/WagonManager.java?rev=630996&r1=630995&r2=630996&view=diff
==============================================================================
--- 
maven/artifact/trunk/src/main/java/org/apache/maven/artifact/manager/WagonManager.java
 (original)
+++ 
maven/artifact/trunk/src/main/java/org/apache/maven/artifact/manager/WagonManager.java
 Mon Feb 25 13:15:07 2008
@@ -77,17 +77,7 @@
         throws TransferFailedException, ResourceDoesNotExistException;
 
     void getArtifact( Artifact artifact,
-                      List remoteRepositories,
-                      boolean forceUpdateCheck )
-       throws TransferFailedException, ResourceDoesNotExistException;
-
-    void getArtifact( Artifact artifact,
                       ArtifactRepository repository )
-        throws TransferFailedException, ResourceDoesNotExistException;
-
-    void getArtifact( Artifact artifact,
-                      ArtifactRepository repository,
-                      boolean forceUpdateCheck )
         throws TransferFailedException, ResourceDoesNotExistException;
 
     void putArtifact( File source,

Modified: 
maven/artifact/trunk/src/main/java/org/apache/maven/artifact/repository/metadata/DefaultRepositoryMetadataManager.java
URL: 
http://svn.apache.org/viewvc/maven/artifact/trunk/src/main/java/org/apache/maven/artifact/repository/metadata/DefaultRepositoryMetadataManager.java?rev=630996&r1=630995&r2=630996&view=diff
==============================================================================
--- 
maven/artifact/trunk/src/main/java/org/apache/maven/artifact/repository/metadata/DefaultRepositoryMetadataManager.java
 (original)
+++ 
maven/artifact/trunk/src/main/java/org/apache/maven/artifact/repository/metadata/DefaultRepositoryMetadataManager.java
 Mon Feb 25 13:15:07 2008
@@ -19,16 +19,6 @@
  * under the License.
  */
 
-import java.io.File;
-import java.io.FileNotFoundException;
-import java.io.IOException;
-import java.io.Reader;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-
-import org.apache.maven.artifact.manager.UpdateCheckManager;
 import org.apache.maven.artifact.manager.WagonManager;
 import org.apache.maven.artifact.metadata.ArtifactMetadata;
 import org.apache.maven.artifact.repository.ArtifactRepository;
@@ -42,6 +32,16 @@
 import org.codehaus.plexus.util.ReaderFactory;
 import org.codehaus.plexus.util.xml.pull.XmlPullParserException;
 
+import java.io.File;
+import java.io.FileNotFoundException;
+import java.io.IOException;
+import java.io.Reader;
+import java.util.Date;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+
 /**
  * @author Jason van Zyl
  * @plexus.component
@@ -53,13 +53,9 @@
     /** @plexus.requirement */
     private WagonManager wagonManager;
 
-    /** @plexus.requirement */
-    private UpdateCheckManager updateCheckManager;
-
-    protected DefaultRepositoryMetadataManager( WagonManager wagonManager, 
UpdateCheckManager updateCheckManager, Logger logger )
+    protected DefaultRepositoryMetadataManager( WagonManager wagonManager, 
Logger logger )
     {
         this.wagonManager = wagonManager;
-        this.updateCheckManager = updateCheckManager;
         enableLogging( logger );
     }
 
@@ -72,6 +68,8 @@
                          ArtifactRepository localRepository )
         throws RepositoryMetadataResolutionException
     {
+        MetadataTouchfile touchfile = new MetadataTouchfile( metadata, 
localRepository );
+
         for ( Iterator i = remoteRepositories.iterator(); i.hasNext(); )
         {
             ArtifactRepository repository = (ArtifactRepository) i.next();
@@ -79,42 +77,60 @@
             ArtifactRepositoryPolicy policy =
                 metadata.isSnapshot() ? repository.getSnapshots() : 
repository.getReleases();
 
-            File file = new File( localRepository.getBasedir(),
-                localRepository.pathOfLocalRepositoryMetadata( metadata, 
repository ) );
-
-            if ( updateCheckManager.isUpdateRequired( metadata, repository, 
file ) )
+            if ( !policy.isEnabled() )
+            {
+                getLogger().debug( "Skipping disabled repository " + 
repository.getId() );
+            }
+            else if ( repository.isBlacklisted() )
+            {
+                getLogger().debug( "Skipping blacklisted repository " + 
repository.getId() );
+            }
+            else
             {
-                try
+                File file = new File( localRepository.getBasedir(),
+                    localRepository.pathOfLocalRepositoryMetadata( metadata, 
repository ) );
+
+                Date lastMod = touchfile.getLastCheckDate( repository.getId(), 
file.getName(), getLogger() );
+                getLogger().debug( "Got last-check-date of: " + lastMod + 
"\nfor metadata: " + metadata + "\nwith filename: " + file.getName() + "\nin 
repository: " + repository.getId() );
+
+                boolean checkForUpdates =
+                    ( lastMod == null ) || policy.checkOutOfDate( lastMod );
+
+                if ( checkForUpdates )
                 {
-                    if ( wagonManager.isOnline() )
+                    try
                     {
-                        getLogger().info(
-                            metadata.getKey() + ": checking for updates from " 
+ repository.getId() );
-                        resolveAlways( metadata, repository, file, 
policy.getChecksumPolicy() );
+                        if ( wagonManager.isOnline() )
+                        {
+                            getLogger().info(
+                                metadata.getKey() + ": checking for updates 
from " + repository.getId() );
+                            resolveAlways( metadata, repository, file, 
policy.getChecksumPolicy(), touchfile );
+                        }
+                        else
+                        {
+                            getLogger().debug( "System is offline. Cannot 
resolve metadata:\n" +
+                                metadata.extendedToString() + "\n\n" );
+                        }
                     }
-                    else
+                    catch ( TransferFailedException e )
                     {
-                        getLogger().debug( "System is offline. Cannot resolve 
metadata:\n" +
-                            metadata.extendedToString() + "\n\n" );
+                        getLogger().info( "Repository '" + repository.getId() 
+ "' will be blacklisted" );
+                        repository.setBlacklisted( true );
+
+                        // TODO: [jc; 08-Nov-2005] revisit this for 2.1
+                        // suppressing logging to avoid logging this error 
twice.
                     }
                 }
-                catch ( TransferFailedException e )
-                {
-                    getLogger().info( "Repository '" + repository.getId() + "' 
will be blacklisted" );
-                    repository.setBlacklisted( true );
 
-                    // TODO: [jc; 08-Nov-2005] revisit this for 2.1
-                    // suppressing logging to avoid logging this error twice.
+                // TODO: should this be inside the above check?
+                // touch file so that this is not checked again until interval 
has passed
+                if ( file.exists() )
+                {
+                    file.setLastModified( System.currentTimeMillis() );
                 }
             }
-
-            // TODO: should this be inside the above check?
-            // touch file so that this is not checked again until interval has 
passed
-            if ( file.exists() )
-            {
-                file.setLastModified( System.currentTimeMillis() );
-            }
         }
+
         try
         {
             mergeMetadata( metadata, remoteRepositories, localRepository );
@@ -295,7 +311,9 @@
 
         try
         {
-            resolveAlways( metadata, remoteRepository, file, 
ArtifactRepositoryPolicy.CHECKSUM_POLICY_WARN );
+            MetadataTouchfile touchfile = new MetadataTouchfile( metadata, 
localRepository );
+
+            resolveAlways( metadata, remoteRepository, file, 
ArtifactRepositoryPolicy.CHECKSUM_POLICY_WARN, touchfile );
         }
         catch ( TransferFailedException e )
         {
@@ -322,7 +340,8 @@
     private void resolveAlways( ArtifactMetadata metadata,
                                 ArtifactRepository repository,
                                 File file,
-                                String checksumPolicy )
+                                String checksumPolicy,
+                                MetadataTouchfile touchfile )
         throws TransferFailedException
     {
         try
@@ -350,10 +369,7 @@
         }
         finally
         {
-            if ( metadata instanceof RepositoryMetadata )
-            {
-                updateCheckManager.touch( (RepositoryMetadata) metadata, 
repository, file );
-            }
+            touchfile.touch( repository.getId(), file.getName(), getLogger() );
         }
     }
 
@@ -376,7 +392,9 @@
 
         try
         {
-            resolveAlways( metadata, deploymentRepository, file, 
ArtifactRepositoryPolicy.CHECKSUM_POLICY_WARN );
+            MetadataTouchfile touchfile = new MetadataTouchfile( metadata, 
localRepository );
+
+            resolveAlways( metadata, deploymentRepository, file, 
ArtifactRepositoryPolicy.CHECKSUM_POLICY_WARN, touchfile );
         }
         catch ( TransferFailedException e )
         {

Modified: 
maven/artifact/trunk/src/main/java/org/apache/maven/artifact/resolver/DefaultArtifactResolver.java
URL: 
http://svn.apache.org/viewvc/maven/artifact/trunk/src/main/java/org/apache/maven/artifact/resolver/DefaultArtifactResolver.java?rev=630996&r1=630995&r2=630996&view=diff
==============================================================================
--- 
maven/artifact/trunk/src/main/java/org/apache/maven/artifact/resolver/DefaultArtifactResolver.java
 (original)
+++ 
maven/artifact/trunk/src/main/java/org/apache/maven/artifact/resolver/DefaultArtifactResolver.java
 Mon Feb 25 13:15:07 2008
@@ -19,21 +19,13 @@
  * under the License.
  */
 
-import java.io.File;
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-
 import org.apache.maven.artifact.Artifact;
 import org.apache.maven.artifact.factory.ArtifactFactory;
 import org.apache.maven.artifact.manager.WagonManager;
 import org.apache.maven.artifact.metadata.ArtifactMetadata;
 import org.apache.maven.artifact.metadata.ArtifactMetadataSource;
 import org.apache.maven.artifact.repository.ArtifactRepository;
+import org.apache.maven.artifact.repository.ArtifactRepositoryPolicy;
 import org.apache.maven.artifact.repository.metadata.Metadata;
 import org.apache.maven.artifact.repository.metadata.Snapshot;
 import 
org.apache.maven.artifact.repository.metadata.SnapshotArtifactRepositoryMetadata;
@@ -45,6 +37,16 @@
 import org.codehaus.plexus.logging.AbstractLogEnabled;
 import org.codehaus.plexus.util.FileUtils;
 
+import java.io.File;
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.Date;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+
 /**
  * @author Jason van Zyl
  * @plexus.component
@@ -153,40 +155,92 @@
                 remoteRepositories,
                 localRepository );
 
-            boolean localCopy = isLocalCopy( artifact );
+            boolean localCopy = false;
+
+            for ( Iterator i = artifact.getMetadataList().iterator(); 
i.hasNext(); )
+            {
+                ArtifactMetadata m = (ArtifactMetadata) i.next();
+
+                if ( m instanceof SnapshotArtifactRepositoryMetadata )
+                {
+                    SnapshotArtifactRepositoryMetadata snapshotMetadata = 
(SnapshotArtifactRepositoryMetadata) m;
+
+                    Metadata metadata = snapshotMetadata.getMetadata();
+
+                    if ( metadata != null )
+                    {
+                        Versioning versioning = metadata.getVersioning();
+
+                        if ( versioning != null )
+                        {
+                            Snapshot snapshot = versioning.getSnapshot();
+
+                            if ( snapshot != null )
+                            {
+                                localCopy = snapshot.isLocalCopy();
+                            }
+                        }
+                    }
+                }
+            }
 
             File destination = artifact.getFile();
 
+            List repositories = remoteRepositories;
+
+            // TODO: would prefer the snapshot transformation took care of 
this. Maybe we need a "shouldresolve" flag.
+            if ( artifact.isSnapshot() && artifact.getBaseVersion().equals( 
artifact.getVersion() ) &&
+                destination.exists() && !localCopy )
+            {
+                Date comparisonDate = new Date( destination.lastModified() );
+
+                // cull to list of repositories that would like an update
+                repositories = new ArrayList( remoteRepositories );
+                for ( Iterator i = repositories.iterator(); i.hasNext(); )
+                {
+                    ArtifactRepository repository = (ArtifactRepository) 
i.next();
+
+                    ArtifactRepositoryPolicy policy = 
repository.getSnapshots();
+
+                    if ( !policy.isEnabled() || !policy.checkOutOfDate( 
comparisonDate ) )
+                    {
+                        i.remove();
+                    }
+                }
+
+                if ( !repositories.isEmpty() )
+                {
+                    // someone wants to check for updates
+                    force = true;
+                }
+            }
             boolean resolved = false;
-            if ( !wagonManager.isOnline() )
+            if ( !destination.exists() || force )
             {
-                if ( !destination.exists() )
+                if ( !wagonManager.isOnline() )
                 {
                     throw new ArtifactNotFoundException(
                         "System is offline.",
                         artifact );
                 }
-            }
-            else if ( !artifact.isSnapshot() || !localCopy || force )
-            {
+
                 try
                 {
+                    // TODO: force should be passed to the wagon manager
                     if ( artifact.getRepository() != null )
                     {
                         // the transformations discovered the artifact - so 
use it exclusively
                         wagonManager.getArtifact(
                             artifact,
-                            artifact.getRepository(),
-                            force );
+                            artifact.getRepository() );
                     }
                     else
                     {
                         wagonManager.getArtifact(
                             artifact,
-                            remoteRepositories,
-                            force );
+                            repositories );
                     }
-    
+
                     if ( !artifact.isResolved() && !destination.exists() )
                     {
                         throw new ArtifactResolutionException(
@@ -211,11 +265,10 @@
                         remoteRepositories,
                         e );
                 }
-    
+
                 resolved = true;
             }
-
-            if ( destination.exists() )
+            else if ( destination.exists() )
             {
                 // locally resolved...no need to hit the remote repo.
                 artifact.setResolved( true );
@@ -257,43 +310,7 @@
         }
     }
 
-       private boolean isLocalCopy( Artifact artifact ) 
-       {
-
-               boolean localCopy = false;
-
-        for ( Iterator i = artifact.getMetadataList().iterator(); i.hasNext(); 
)
-        {
-            ArtifactMetadata m = (ArtifactMetadata) i.next();
-
-            if ( m instanceof SnapshotArtifactRepositoryMetadata )
-            {
-                SnapshotArtifactRepositoryMetadata snapshotMetadata = 
(SnapshotArtifactRepositoryMetadata) m;
-
-                Metadata metadata = snapshotMetadata.getMetadata();
-
-                if ( metadata != null )
-                {
-                    Versioning versioning = metadata.getVersioning();
-
-                    if ( versioning != null )
-                    {
-                        Snapshot snapshot = versioning.getSnapshot();
-
-                        if ( snapshot != null )
-                        {
-                            // TODO is it possible to have more than one 
SnapshotArtifactRepositoryMetadata
-                            localCopy = snapshot.isLocalCopy();
-                        }
-                    }
-                }
-            }
-        }
-
-        return localCopy;
-    }
-
-       public ArtifactResolutionResult resolveTransitively( Set artifacts,
+    public ArtifactResolutionResult resolveTransitively( Set artifacts,
                                                          Artifact 
originatingArtifact,
                                                          ArtifactRepository 
localRepository,
                                                          List 
remoteRepositories,

Modified: 
maven/artifact/trunk/src/test/java/org/apache/maven/artifact/manager/WagonNoOp.java
URL: 
http://svn.apache.org/viewvc/maven/artifact/trunk/src/test/java/org/apache/maven/artifact/manager/WagonNoOp.java?rev=630996&r1=630995&r2=630996&view=diff
==============================================================================
--- 
maven/artifact/trunk/src/test/java/org/apache/maven/artifact/manager/WagonNoOp.java
 (original)
+++ 
maven/artifact/trunk/src/test/java/org/apache/maven/artifact/manager/WagonNoOp.java
 Mon Feb 25 13:15:07 2008
@@ -20,7 +20,6 @@
  */
 
 import java.io.File;
-import java.io.IOException;
 
 import org.apache.maven.wagon.AbstractWagon;
 import org.apache.maven.wagon.ResourceDoesNotExistException;
@@ -43,29 +42,14 @@
         Resource resource = new Resource( resourceName );
         fireGetInitiated( resource, destination );
         fireGetStarted( resource, destination );
-        try
-        {
-            destination.createNewFile();
-        }
-        catch ( IOException e )
-        {
-            // ignored
-        }
         fireGetCompleted( resource, destination );
     }
 
     public boolean getIfNewer( String resourceName, File destination, long 
timestamp )
         throws TransferFailedException, ResourceDoesNotExistException, 
AuthorizationException
     {
-        try
-        {
-            destination.createNewFile();
-        }
-        catch ( IOException e )
-        {
-            return false;
-        }
-        return true;
+        // NO-OP
+        return false;
     }
 
     public void openConnection()

Modified: 
maven/artifact/trunk/src/test/java/org/apache/maven/artifact/repository/metadata/DefaultRepositoryMetadataManagerTest.java
URL: 
http://svn.apache.org/viewvc/maven/artifact/trunk/src/test/java/org/apache/maven/artifact/repository/metadata/DefaultRepositoryMetadataManagerTest.java?rev=630996&r1=630995&r2=630996&view=diff
==============================================================================
--- 
maven/artifact/trunk/src/test/java/org/apache/maven/artifact/repository/metadata/DefaultRepositoryMetadataManagerTest.java
 (original)
+++ 
maven/artifact/trunk/src/test/java/org/apache/maven/artifact/repository/metadata/DefaultRepositoryMetadataManagerTest.java
 Mon Feb 25 13:15:07 2008
@@ -1,14 +1,5 @@
 package org.apache.maven.artifact.repository.metadata;
 
-import java.io.File;
-import java.io.IOException;
-import java.text.ParseException;
-import java.util.Collections;
-import java.util.Date;
-
-import junit.framework.TestCase;
-
-import org.apache.maven.artifact.manager.DefaultUpdateCheckManager;
 import org.apache.maven.artifact.manager.WagonManager;
 import org.apache.maven.artifact.repository.ArtifactRepository;
 import org.apache.maven.artifact.repository.ArtifactRepositoryPolicy;
@@ -21,6 +12,14 @@
 import org.codehaus.plexus.util.xml.pull.XmlPullParserException;
 import org.easymock.MockControl;
 
+import java.io.File;
+import java.io.IOException;
+import java.text.ParseException;
+import java.util.Collections;
+import java.util.Date;
+
+import junit.framework.TestCase;
+
 public class DefaultRepositoryMetadataManagerTest
     extends TestCase
 {
@@ -35,8 +34,6 @@
 
     private WagonManager wagonManager;
 
-       private DefaultUpdateCheckManager updateCheckManager;
-
     @Override
     public void setUp()
         throws Exception
@@ -47,8 +44,6 @@
         mockManager.add( wagonManagerCtl );
 
         wagonManager = (WagonManager) wagonManagerCtl.getMock();
-        
-        updateCheckManager = new DefaultUpdateCheckManager( new ConsoleLogger( 
Logger.LEVEL_DEBUG, "test" ) );
     }
 
     @Override
@@ -129,16 +124,17 @@
 
         Logger logger = new ConsoleLogger( Logger.LEVEL_DEBUG, "test" );
 
-        new DefaultRepositoryMetadataManager( wagonManager, 
updateCheckManager, logger ).resolveAlways( metadata,
-                                                                               
                        localRepo,
-                                                                               
                        localRepo );
+        new DefaultRepositoryMetadataManager( wagonManager, logger 
).resolveAlways( metadata,
+                                                                               
     localRepo,
+                                                                               
     localRepo );
 
         // helps the lastUpdate interval be significantly different.
         Thread.sleep( 1000 );
 
         Date end = new Date();
 
-        Date checkDate = updateCheckManager.getLastModifiedFromTouchfile( new 
File( dir, path ) );
+        MetadataTouchfile touchfile = new MetadataTouchfile( metadata, 
localRepo );
+        Date checkDate = touchfile.getLastCheckDate( localRepo.getId(), 
filename, logger );
 
         assertNotNull( checkDate );
         assertTrue( checkDate.after( start ) );
@@ -219,16 +215,17 @@
 
         Logger logger = new ConsoleLogger( Logger.LEVEL_DEBUG, "test" );
 
-        new DefaultRepositoryMetadataManager( wagonManager, 
updateCheckManager, logger ).resolveAlways( metadata,
-                                                                               
                         localRepo,
-                                                                               
                         localRepo );
+        new DefaultRepositoryMetadataManager( wagonManager, logger 
).resolveAlways( metadata,
+                                                                               
     localRepo,
+                                                                               
     localRepo );
 
         // helps the lastUpdate interval be significantly different.
         Thread.sleep( 1000 );
 
         Date end = new Date();
 
-        Date checkDate = updateCheckManager.getLastModifiedFromTouchfile( new 
File( dir, path ) );
+        MetadataTouchfile touchfile = new MetadataTouchfile( metadata, 
localRepo );
+        Date checkDate = touchfile.getLastCheckDate( localRepo.getId(), 
filename, logger );
 
         assertNotNull( checkDate );
         assertTrue( checkDate.after( start ) );
@@ -306,16 +303,17 @@
 
         Logger logger = new ConsoleLogger( Logger.LEVEL_DEBUG, "test" );
 
-        new DefaultRepositoryMetadataManager( wagonManager, 
updateCheckManager, logger ).resolveAlways( metadata,
-                                                                               
                         localRepo,
-                                                                               
                         localRepo );
+        new DefaultRepositoryMetadataManager( wagonManager, logger 
).resolveAlways( metadata,
+                                                                               
     localRepo,
+                                                                               
     localRepo );
 
         // helps the lastUpdate interval be significantly different.
         Thread.sleep( 1000 );
 
         Date end = new Date();
 
-        Date checkDate = updateCheckManager.getLastModifiedFromTouchfile( new 
File( dir, path ) );
+        MetadataTouchfile touchfile = new MetadataTouchfile( metadata, 
localRepo );
+        Date checkDate = touchfile.getLastCheckDate( localRepo.getId(), 
filename, logger );
 
         assertNotNull( checkDate );
         assertTrue( checkDate.after( start ) );
@@ -423,16 +421,17 @@
 
         System.out.println( "Testing re-check proofing..." );
 
-        RepositoryMetadataManager mgr = new DefaultRepositoryMetadataManager( 
wagonManager, updateCheckManager, logger );
+        RepositoryMetadataManager mgr = new DefaultRepositoryMetadataManager( 
wagonManager, logger );
         mgr.resolve( metadata, Collections.singletonList( remoteRepo ), 
localRepo );
 
-        Date checkDate = updateCheckManager.getLastModifiedFromTouchfile( new 
File( dir, path ) );
+        MetadataTouchfile touchfile = new MetadataTouchfile( metadata, 
localRepo );
+        Date checkDate = touchfile.getLastCheckDate( repoId, filename, logger 
);
 
         assertNotNull( checkDate );
 
         mgr.resolve( metadata, Collections.singletonList( remoteRepo ), 
localRepo );
 
-        checkDate = updateCheckManager.getLastModifiedFromTouchfile( new File( 
dir, path ) );
+        checkDate = touchfile.getLastCheckDate( repoId, filename, logger );
 
         assertNotNull( checkDate );
 


Reply via email to