carlos 2005/03/17 06:47:15
Modified: maven-repository-tools/src/main/java/org/apache/maven/repository
ChecksumValidator.java
Log:
Trying to use ChecksumObserver to validate the checksum
Revision Changes Path
1.2 +53 -2
maven-components/maven-repository-tools/src/main/java/org/apache/maven/repository/ChecksumValidator.java
Index: ChecksumValidator.java
===================================================================
RCS file:
/home/cvs/maven-components/maven-repository-tools/src/main/java/org/apache/maven/repository/ChecksumValidator.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- ChecksumValidator.java 23 Feb 2005 20:57:34 -0000 1.1
+++ ChecksumValidator.java 17 Mar 2005 14:47:15 -0000 1.2
@@ -17,17 +17,24 @@
*/
import java.io.File;
+import java.util.HashSet;
import java.util.Iterator;
import java.util.List;
+import java.util.Set;
import org.apache.maven.artifact.Artifact;
+import org.apache.maven.artifact.manager.DefaultWagonManager;
+import org.apache.maven.artifact.manager.WagonManager;
import org.apache.maven.artifact.repository.ArtifactRepository;
+import org.apache.maven.wagon.TransferFailedException;
+import org.apache.maven.wagon.UnsupportedProtocolException;
+import org.apache.maven.wagon.Wagon;
+import org.apache.maven.wagon.observers.ChecksumObserver;
/**
* Prints all artifacts without checksum file
*
* @todo generate checksums for those files without it
- *
* @author <a href="mailto:[EMAIL PROTECTED]">Carlos Sanchez </a>
* @version $Id$
*/
@@ -35,6 +42,50 @@
public class ChecksumValidator
{
+ private ChecksumObserver checksumObserver;
+
+ private ArtifactRepository tempRepository;
+
+ public ChecksumValidator()
+ {
+
+ checksumObserver = new ChecksumObserver();
+
+ tempRepository = new ArtifactRepository();
+
+ File f = new File( "target/test-classes/temp/" );
+
+ tempRepository.setUrl( "file://" + f.getPath() );
+
+ }
+
+ public boolean isValidChecksum( Artifact artifact, ArtifactRepository
localRepository )
+ throws TransferFailedException, UnsupportedProtocolException
+ {
+ WagonManager wagonManager = new DefaultWagonManager();
+
+ Set set = new HashSet();
+
+ set.add( localRepository );
+
+ Wagon wagon = wagonManager.getWagon( "file://" );
+
+ wagon.addTransferListener( checksumObserver );
+
+ wagonManager.get( artifact, set, tempRepository );
+
+ // File file = artifact.getFile();
+ //
+ // TransferEvent transferEvent = new TransferEvent( wagon, new
+ // Resource(), TransferEvent.TRANSFER_COMPLETED,
+ // TransferEvent.REQUEST_GET );
+ //
+ // checksumObserver.transferStarted( transferEvent );
+ // checksumObserver.transferProgress(transferEvent, file);
+
+ return true;
+ }
+
public static void main( String[] args )
{
if ( args.length != 1 )