Author: janb
Date: Tue Jul 29 03:54:10 2008
New Revision: 680670

URL: http://svn.apache.org/viewvc?rev=680670&view=rev
Log:
Implement StreamObserver for deployment.

Modified:
    
maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/spi/http/client/FileExchange.java
    
maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/spi/http/client/deploy/DefaultDeployer.java
    
maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/spi/http/client/deploy/DeploymentTarget.java
    
maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/spi/http/client/deploy/FilePutExchange.java
    
maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/spi/http/client/retrieve/FileGetExchange.java
    
maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/spi/http/client/retrieve/RetrievalTarget.java
    
maven/sandbox/trunk/mercury/src/test/java/org/apache/maven/mercury/spi/http/client/JettyDeployerTest.java
    
maven/sandbox/trunk/mercury/src/test/java/org/apache/maven/mercury/spi/http/client/JettyRetrieverTest.java

Modified: 
maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/spi/http/client/FileExchange.java
URL: 
http://svn.apache.org/viewvc/maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/spi/http/client/FileExchange.java?rev=680670&r1=680669&r2=680670&view=diff
==============================================================================
--- 
maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/spi/http/client/FileExchange.java
 (original)
+++ 
maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/spi/http/client/FileExchange.java
 Tue Jul 29 03:54:10 2008
@@ -44,7 +44,7 @@
     protected File _localFile;
     protected Binding _binding;
 
-    public abstract void onFileComplete( String url, File localFile, String 
digest );
+    public abstract void onFileComplete( String url, File localFile );
 
     public abstract void onFileError( String url, Exception e );
 

Modified: 
maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/spi/http/client/deploy/DefaultDeployer.java
URL: 
http://svn.apache.org/viewvc/maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/spi/http/client/deploy/DefaultDeployer.java?rev=680670&r1=680669&r2=680670&view=diff
==============================================================================
--- 
maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/spi/http/client/deploy/DefaultDeployer.java
 (original)
+++ 
maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/spi/http/client/deploy/DefaultDeployer.java
 Tue Jul 29 03:54:10 2008
@@ -23,12 +23,18 @@
 import org.apache.maven.mercury.spi.http.client.FileExchange;
 import org.apache.maven.mercury.spi.http.client.HandshakeExchange;
 import org.apache.maven.mercury.spi.http.client.MercuryException;
+import org.apache.maven.mercury.transport.api.Server;
+import org.apache.maven.mercury.transport.api.StreamObserver;
+import org.apache.maven.mercury.transport.api.StreamObserverFactory;
 import org.mortbay.jetty.HttpMethods;
 import org.mortbay.jetty.client.HttpClient;
 
+import java.net.MalformedURLException;
+import java.net.URL;
 import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.HashSet;
+import java.util.Iterator;
 import java.util.List;
 import java.util.Map;
 import java.util.Set;
@@ -43,7 +49,7 @@
 {
     private HttpClient _httpClient;
     private BatchIdGenerator _idGenerator;
-
+    private Set<Server> _servers = new HashSet<Server>();
 
     public DefaultDeployer()
         throws MercuryException
@@ -94,6 +100,17 @@
     {
         return _httpClient;
     }
+    
+    public void setServers (Set<Server>servers)
+    {
+        _servers.clear();
+        _servers.addAll(servers);
+    }
+    
+    public Set<Server> getServers()
+    {
+        return _servers;
+    }
 
     /**
      * Deploy a set files synchronously. This call will return when either all
@@ -168,7 +185,9 @@
             DeploymentTarget target = null;
             try
             {
-                target = new DeploymentTarget( _httpClient, batchId, binding, 
request.getValidators() )
+                Server server = resolveServer(binding);
+                Set<StreamObserver> observers = createStreamObservers(server);
+                target = new DeploymentTarget( _httpClient, batchId, binding, 
request.getValidators(), observers )
                 {
                     public void onComplete()
                     {
@@ -284,4 +303,36 @@
             callback.onComplete( response );
         }
     }
+ 
+    private Server resolveServer (Binding binding)
+    throws MalformedURLException
+    {
+        if (binding.getRemoteUrl() == null)
+        return null;
+        
+        URL bindingURL = new URL(binding.getRemoteUrl());
+        Iterator<Server> itor = _servers.iterator();
+        Server server = null;
+        while(itor.hasNext() && server==null)
+        {
+            Server s = itor.next();
+            if 
(bindingURL.getProtocol().equalsIgnoreCase(s.getURL().getProtocol()) 
+                    && 
bindingURL.getHost().equalsIgnoreCase(s.getURL().getHost())
+                    && bindingURL.getPort() == s.getURL().getPort())
+                server = s;
+        }
+        return server;
+    }
+    
+    private Set<StreamObserver> createStreamObservers (Server server)
+    {
+        HashSet<StreamObserver> observers = new HashSet<StreamObserver>();
+        Set<StreamObserverFactory> factories = 
server.getStreamObserverFactories();
+        for (StreamObserverFactory f:factories)
+        {
+            observers.add(f.newInstance());
+        }
+        return observers;
+    }
+
 }

Modified: 
maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/spi/http/client/deploy/DeploymentTarget.java
URL: 
http://svn.apache.org/viewvc/maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/spi/http/client/deploy/DeploymentTarget.java?rev=680670&r1=680669&r2=680670&view=diff
==============================================================================
--- 
maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/spi/http/client/deploy/DeploymentTarget.java
 (original)
+++ 
maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/spi/http/client/deploy/DeploymentTarget.java
 Tue Jul 29 03:54:10 2008
@@ -22,11 +22,17 @@
 import org.apache.maven.mercury.spi.http.client.Binding;
 import org.apache.maven.mercury.spi.http.client.MercuryException;
 import org.apache.maven.mercury.spi.http.validate.Validator;
+import org.apache.maven.mercury.transport.api.StreamObserver;
+import org.apache.maven.mercury.transport.api.Verifier;
 import org.mortbay.jetty.client.HttpClient;
 
 import java.io.File;
 import java.io.FileOutputStream;
 import java.io.OutputStreamWriter;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.HashSet;
+import java.util.List;
 import java.util.Set;
 
 public abstract class DeploymentTarget
@@ -34,18 +40,18 @@
     public static final String __DIGEST_SUFFIX = ".sha1";
 
 
-    private HttpClient _httpClient;
-    private String _batchId;
-    private Binding _binding;
-    private Set<Validator> _validators;
-    private File _localChecksumFile;
-    private String _calculatedChecksum;
-    private TargetState _targetState;
-    private TargetState _checksumState;
-    private MercuryException _exception;
-    private String _remoteJettyUrl;
-
-
+    protected HttpClient _httpClient;
+    protected String _batchId;
+    protected Binding _binding;
+    protected Set<Validator> _validators;
+    protected TargetState _targetState;
+    protected TargetState _checksumState;
+    protected MercuryException _exception;
+    protected String _remoteJettyUrl;
+    protected Set<StreamObserver> _observers = new HashSet<StreamObserver>();
+    protected List<Verifier> _verifiers = new ArrayList<Verifier>();
+    protected int _index = -1; 
+    
     public abstract void onComplete();
 
     public abstract void onError( MercuryException exception );
@@ -117,18 +123,24 @@
         }
     }
 
-    public DeploymentTarget( HttpClient client, String batchId, Binding 
binding, Set<Validator> validators )
+    public DeploymentTarget( HttpClient client, String batchId, Binding 
binding, Set<Validator> validators, Set<StreamObserver> observers )
     {
         _httpClient = client;
         _batchId = batchId;
         _binding = binding;
         _validators = validators;
+        
+        for (StreamObserver o:observers)
+        {
+            if (Verifier.class.isAssignableFrom(o.getClass()))
+                _verifiers.add((Verifier)o);
+            _observers.add(o);
+        }
+      
         if ( _binding == null || _binding.getLocalFile() == null || 
!_binding.getLocalFile().exists() )
         {
             throw new IllegalArgumentException( "No local file to deploy" );
         }
-        _localChecksumFile = new File( _binding.getLocalFile().getParentFile(),
-            _binding.getLocalFile().getName() + __DIGEST_SUFFIX );
         _targetState = new TargetState();
         _checksumState = new TargetState();
     }
@@ -146,52 +158,39 @@
             _exception = ( t instanceof MercuryException ? (MercuryException) 
t : new MercuryException( _binding, t ) );
         }
 
-        //if the target file can be fetched then get it
-        if ( _targetState.isStart() )
-        {
-            System.err.println( "Starting deployment of " + 
_binding.getLocalFile().getName() );
-            deployLocalFile( _localChecksumFile.exists() );
-        }
-
-        //if there is a local checksum file, then get it
-        if ( _checksumState.isStart() && _localChecksumFile.exists() )
+        if (_exception != null)
         {
-            System.err.println( "Starting deployment of checksum file for " + 
_binding.getLocalFile().getName() );
-            deployChecksumFile();
+            onError(_exception);
         }
-
-        //if the local checksum file doesn't exist then only upload it after 
the target file has been sent,
-        //as we need to calculate the checksum as we send it
-        if ( _targetState.isReady() && _checksumState.isStart() && 
!_localChecksumFile.exists() )
+        else
         {
-            System.err.println( "Calculated checksum ready, starting 
deployment" );
-            deployChecksumFile();
-        }
+            //if the target file can be uploaded, then upload it, calculating 
checksums on the fly as necessary
+            if ( _targetState.isStart() )
+            {
+                deployLocalFile();
+            }
 
-        if ( _targetState.isReady() && _checksumState.isReady() )
-        {
-            if ( _exception == null )
+            //Upload the checksums
+            if ( _targetState.isReady() && (++_index) < _verifiers.size() )
             {
-                onComplete();
+                deployChecksumFile();
             }
-            else
+
+            if ( _targetState.isReady() && _checksumState.isReady() )
             {
-                onError( _exception );
+                onComplete();
             }
         }
     }
 
-    private void deployLocalFile( boolean checksumExists )
+    private void deployLocalFile()
     {
-        FilePutExchange exchange = new FilePutExchange( _batchId, _binding, 
_binding.getLocalFile(), true, _httpClient )
+        FilePutExchange exchange = new FilePutExchange( _batchId, _binding, 
_binding.getLocalFile(), _observers, _httpClient )
         {
-            public void onFileComplete( String url, File localFile,
-                                        String digest )
+            public void onFileComplete( String url, File localFile )
             {
                 DeploymentTarget.this._remoteJettyUrl = getRemoteJettyUrl();
-                _calculatedChecksum = digest;
                 _targetState.ready();
-                System.err.println( "File complete " + url );
                 updateState( null );
             }
 
@@ -199,7 +198,6 @@
             {
                 DeploymentTarget.this._remoteJettyUrl = getRemoteJettyUrl();
                 _targetState.ready( e );
-                System.err.println( "File complete " + url );
                 updateState( e );
             }
         };
@@ -211,49 +209,45 @@
     private void deployChecksumFile()
     {
         Binding binding = _binding;
-        File file = _localChecksumFile;
-        if ( !_localChecksumFile.exists() && _calculatedChecksum != null )
+        File file = null;
+        Verifier v =  _verifiers.get(_index);
+
+        //No local checksum file, so make a temporary one using the checksum 
we 
+        //calculated as we uploaded the file
+        try
         {
-            //No local checksum file, so make a temporary one using the 
checksum we 
-            //calculated as we uploaded the file
-            try
-            {
-                binding = new Binding();
-                binding.setRemoteUrl( _binding.getRemoteUrl() + 
__DIGEST_SUFFIX );
-                file = File.createTempFile( _binding.getLocalFile().getName() 
+ __DIGEST_SUFFIX, ".tmp" );
-                OutputStreamWriter fw = new OutputStreamWriter( new 
FileOutputStream( file ), "UTF-8" );
-                fw.write( _calculatedChecksum );
-                fw.close();
-                binding.setLocalFile( file );
-            }
-            catch ( Exception e )
-            {
-                _checksumState.ready( e );
-            }
+
+            binding = new Binding();
+            binding.setRemoteUrl( _binding.getRemoteUrl() + v.getExtension() );
+            file = File.createTempFile( _binding.getLocalFile().getName() + 
v.getExtension(), ".tmp" );
+            OutputStreamWriter fw = new OutputStreamWriter( new 
FileOutputStream( file ), "UTF-8" );
+            fw.write( v.getSignature() );
+            fw.close();
+            binding.setLocalFile( file );
         }
-        else
+        catch ( Exception e )
         {
-            binding = new Binding();
-            binding.setRemoteUrl( _binding.getRemoteUrl() + __DIGEST_SUFFIX );
-            binding.setLocalFile( _localChecksumFile );
+            _checksumState.ready( e );
         }
 
+
         //upload the checksum file
-        FilePutExchange exchange = new FilePutExchange( _batchId, binding, 
file, false, _httpClient )
+        Set<StreamObserver> emptySet = Collections.emptySet();
+        FilePutExchange exchange = new FilePutExchange( _batchId, binding, 
file, emptySet, _httpClient )
         {
-            public void onFileComplete( String url, File localFile, String 
digest )
+            public void onFileComplete( String url, File localFile )
             {
                 DeploymentTarget.this._remoteJettyUrl = getRemoteJettyUrl();
-                _checksumState.ready();
-                System.err.println( "Checksum file complete: " + url );
+                if (_index == (_verifiers.size() - 1))
+                    _checksumState.ready();
                 updateState( null );
             }
 
             public void onFileError( String url, Exception e )
             {
                 DeploymentTarget.this._remoteJettyUrl = getRemoteJettyUrl();
-                _checksumState.ready( e );
-                System.err.println( "Checksum file error: " + url );
+                if (_index == (_verifiers.size() - 1))
+                    _checksumState.ready( e );
                 updateState( e );
             }
         };

Modified: 
maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/spi/http/client/deploy/FilePutExchange.java
URL: 
http://svn.apache.org/viewvc/maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/spi/http/client/deploy/FilePutExchange.java?rev=680670&r1=680669&r2=680670&view=diff
==============================================================================
--- 
maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/spi/http/client/deploy/FilePutExchange.java
 (original)
+++ 
maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/spi/http/client/deploy/FilePutExchange.java
 Tue Jul 29 03:54:10 2008
@@ -22,7 +22,9 @@
 import org.apache.maven.mercury.spi.http.client.Binding;
 import org.apache.maven.mercury.spi.http.client.FileExchange;
 import org.apache.maven.mercury.spi.http.client.MercuryException;
+import org.apache.maven.mercury.spi.http.client.ObservableInputStream;
 import org.apache.maven.mercury.transport.ChecksumCalculator;
+import org.apache.maven.mercury.transport.api.StreamObserver;
 import org.mortbay.io.Buffer;
 import org.mortbay.jetty.HttpMethods;
 import org.mortbay.jetty.client.HttpClient;
@@ -35,6 +37,8 @@
 import java.security.DigestInputStream;
 import java.security.MessageDigest;
 import java.security.NoSuchAlgorithmException;
+import java.util.HashSet;
+import java.util.Set;
 
 
 /**
@@ -45,21 +49,21 @@
  */
 public abstract class FilePutExchange extends FileExchange
 {
-    private boolean _digestRequired;
     private String _batchId;
     private InputStream _inputStream;
     private String _remoteRepoUrl;
     private String _remoteBatchId;
-
-    public abstract void onFileComplete( String url, File localFile, String 
digest );
+    private Set<StreamObserver> _observers = new HashSet<StreamObserver>();
+    
+    public abstract void onFileComplete( String url, File localFile );
 
     public abstract void onFileError( String url, Exception e );
 
 
-    public FilePutExchange( String batchId, Binding binding, File localFile, 
boolean isDigestRequired, HttpClient client )
+    public FilePutExchange( String batchId, Binding binding, File localFile, 
Set<StreamObserver> observers, HttpClient client )
     {
         super( binding, localFile, client );
-        _digestRequired = isDigestRequired;
+        _observers.addAll(observers);
         _batchId = batchId;
     }
 
@@ -73,11 +77,10 @@
         try
         {
             setMethod( HttpMethods.PUT );
-            setRequestContentSource( getInputStream() );
             setRequestHeader( "Content-Type", "application/octet-stream" );
             setRequestHeader( "Content-Length", String.valueOf( 
_localFile.length() ) );
-            setRequestHeader( __BATCH_HEADER, _batchId );
-            System.err.println( "Sending PUT for " + getURI() );
+            setRequestContentSource( getInputStream() );
+            setRequestHeader( __BATCH_HEADER, _batchId );            
             super.send();
         }
         catch ( Exception e )
@@ -111,8 +114,6 @@
 
     protected void onResponseComplete()
     {
-        System.err.println( "On ResponseComplete for put for " + _url );
-        String digest = null;
         try
         {
             if ( _status != HttpServletResponse.SC_OK && _status != 
HttpServletResponse.SC_CREATED && _status != HttpServletResponse.SC_NO_CONTENT )
@@ -128,12 +129,8 @@
                 return;
             }
 
-            if ( _digestRequired && _inputStream != null )
-            {
-                byte[] bytes = ( (DigestInputStream) _inputStream 
).getMessageDigest().digest();
-                digest = ChecksumCalculator.encodeToAsciiHex( bytes );
-            }
-            onFileComplete( _url, _localFile, digest );
+            //we've uploaded the file
+            onFileComplete( _url, _localFile );
         }
         catch ( Exception e )
         {
@@ -147,17 +144,10 @@
     {
         if ( _inputStream == null )
         {
-            if ( !_digestRequired )
-            {
-                _inputStream = new FileInputStream( _localFile );
-            }
-            else
-            {
-                MessageDigest digest = MessageDigest.getInstance( "SHA-1" );
-                _inputStream = new DigestInputStream( new FileInputStream( 
_localFile ), digest );
-            }
-        }
-        System.err.println( "Returning input stream for " + 
_localFile.getName() );
+            ObservableInputStream ois = new ObservableInputStream( new 
FileInputStream( _localFile ));
+            _inputStream = ois;
+            ois.addObservers(_observers);
+        }    
         return _inputStream;
     }
 }

Modified: 
maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/spi/http/client/retrieve/FileGetExchange.java
URL: 
http://svn.apache.org/viewvc/maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/spi/http/client/retrieve/FileGetExchange.java?rev=680670&r1=680669&r2=680670&view=diff
==============================================================================
--- 
maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/spi/http/client/retrieve/FileGetExchange.java
 (original)
+++ 
maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/spi/http/client/retrieve/FileGetExchange.java
 Tue Jul 29 03:54:10 2008
@@ -80,8 +80,6 @@
     protected void onResponseComplete()
     {
         //All bytes of file have been received
-        String digest = null;
-
         try
         {
             if ( _status == HttpServletResponse.SC_NOT_FOUND )
@@ -95,14 +93,7 @@
                 return;
             }
 
-            if ( _outputStream != null )
-            {
-                
-                /*
-             
-                */
-            }
-            onFileComplete( _url, _localFile, digest );
+            onFileComplete( _url, _localFile );
         }
         catch ( Exception e )
         {

Modified: 
maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/spi/http/client/retrieve/RetrievalTarget.java
URL: 
http://svn.apache.org/viewvc/maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/spi/http/client/retrieve/RetrievalTarget.java?rev=680670&r1=680669&r2=680670&view=diff
==============================================================================
--- 
maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/spi/http/client/retrieve/RetrievalTarget.java
 (original)
+++ 
maven/sandbox/trunk/mercury/src/main/java/org/apache/maven/mercury/spi/http/client/retrieve/RetrievalTarget.java
 Tue Jul 29 03:54:10 2008
@@ -394,7 +394,7 @@
         //get the file, calculating the digest for it on the fly
         FileExchange exchange = new FileGetExchange( _binding, getTempFile(), 
_observers, _retriever.getHttpClient() )
         {
-            public void onFileComplete( String url, File localFile, String 
digest )
+            public void onFileComplete( String url, File localFile )
             {
                 //we got the target file ok, so tell our main callback
                 _targetState = __READY_STATE;

Modified: 
maven/sandbox/trunk/mercury/src/test/java/org/apache/maven/mercury/spi/http/client/JettyDeployerTest.java
URL: 
http://svn.apache.org/viewvc/maven/sandbox/trunk/mercury/src/test/java/org/apache/maven/mercury/spi/http/client/JettyDeployerTest.java?rev=680670&r1=680669&r2=680670&view=diff
==============================================================================
--- 
maven/sandbox/trunk/mercury/src/test/java/org/apache/maven/mercury/spi/http/client/JettyDeployerTest.java
 (original)
+++ 
maven/sandbox/trunk/mercury/src/test/java/org/apache/maven/mercury/spi/http/client/JettyDeployerTest.java
 Tue Jul 29 03:54:10 2008
@@ -29,6 +29,8 @@
 import org.apache.maven.mercury.spi.http.server.SecurePutServer;
 import org.apache.maven.mercury.spi.http.server.SimplePutServer;
 import org.apache.maven.mercury.spi.http.validate.Validator;
+import org.apache.maven.mercury.transport.SHA1VerifierFactory;
+import org.apache.maven.mercury.transport.api.StreamObserverFactory;
 import org.mortbay.jetty.Server;
 import org.mortbay.util.IO;
 
@@ -61,6 +63,8 @@
     Binding _binding3 = new Binding();
     Binding _binding4 = new Binding();
     Binding _binding5 = new Binding();
+    org.apache.maven.mercury.transport.api.Server remoteServerType;
+    HashSet<StreamObserverFactory> factories;
     
     private class DeployRequestImpl implements DeployRequest
     {
@@ -113,10 +117,16 @@
 
     protected void setUp() throws Exception
     {        
+
         _deployer = new DefaultDeployer();
         _putServer = new SimplePutServer();
         _putServer.start();
         _port = String.valueOf(_putServer.getPort());
+        HashSet<org.apache.maven.mercury.transport.api.Server> 
remoteServerTypes = new 
HashSet<org.apache.maven.mercury.transport.api.Server>();
+        remoteServerType = new 
org.apache.maven.mercury.transport.api.Server(new URL(_HOST_FRAGMENT+_port));
+        factories = new HashSet<StreamObserverFactory>();       
+        remoteServerTypes.add(remoteServerType);
+        _deployer.setServers(remoteServerTypes);
         super.setUp();
     }
 
@@ -131,6 +141,8 @@
     {
         HashSet<Binding> bindings = new HashSet<Binding>();
         DeployRequestImpl request = new DeployRequestImpl();
+        factories.add(new SHA1VerifierFactory(false, true)); //!lenient, 
sufficient
+        remoteServerType.setStreamObserverFactories(factories);
         
         _file0 = new File(_baseDir, "file0.txt");
         _file1 = new File(_baseDir, "file1.txt");
@@ -183,7 +195,9 @@
         assertTrue (f5.exists());
         assertTrue (f5cs.exists());
     }
-    
+    /* This test duplicates the one above unless we allow for checksum files to
+     * be pre-existing
+     
     public void testUploadOKMissingChecksum () throws Exception
     {
         HashSet<Binding> bindings = new HashSet<Binding>();
@@ -252,9 +266,14 @@
         assertTrue (f5.exists());
         assertTrue (f5cs.exists());
     }
+    */
+    
     
+
     public void testUploadFail () throws Exception 
-    {
+    {        
+        factories.add(new SHA1VerifierFactory(false, true)); //!lenient, 
sufficient
+        remoteServerType.setStreamObserverFactories(factories);
         HashSet<Binding> bindings = new HashSet<Binding>();
         DeployRequestImpl request = new DeployRequestImpl();
 
@@ -296,7 +315,7 @@
         request.setBindings(bindings);            
         DeployResponse response = _deployer.deploy(request);
 
-        //for (BatchException t:response.getExceptions())
+        //for (MercuryException t:response.getExceptions())
         //    t.printStackTrace();
 
         //as the serverside is not running the mercury enhancements to the put 
filter, then
@@ -332,9 +351,11 @@
         assertFalse (f7.exists());
         assertFalse (f7cs.exists());
     }
-    
+  
     public void testUploadFailFast () throws Exception 
     {
+        factories.add(new SHA1VerifierFactory(false, true)); //!lenient, 
sufficient
+        remoteServerType.setStreamObserverFactories(factories);
         HashSet<Binding> bindings = new HashSet<Binding>();
         DeployRequestImpl request = new DeployRequestImpl();
 
@@ -396,4 +417,5 @@
         
         Thread.sleep(500);
     }
+    
 }

Modified: 
maven/sandbox/trunk/mercury/src/test/java/org/apache/maven/mercury/spi/http/client/JettyRetrieverTest.java
URL: 
http://svn.apache.org/viewvc/maven/sandbox/trunk/mercury/src/test/java/org/apache/maven/mercury/spi/http/client/JettyRetrieverTest.java?rev=680670&r1=680669&r2=680670&view=diff
==============================================================================
--- 
maven/sandbox/trunk/mercury/src/test/java/org/apache/maven/mercury/spi/http/client/JettyRetrieverTest.java
 (original)
+++ 
maven/sandbox/trunk/mercury/src/test/java/org/apache/maven/mercury/spi/http/client/JettyRetrieverTest.java
 Tue Jul 29 03:54:10 2008
@@ -19,26 +19,21 @@
 
 package org.apache.maven.mercury.spi.http.client;
 
+import java.io.File;
+import java.net.URL;
+import java.util.HashSet;
+import java.util.List;
+
 import junit.framework.TestCase;
 
-import org.apache.maven.mercury.spi.http.client.Binding;
-import org.apache.maven.mercury.spi.http.client.MercuryException;
 import 
org.apache.maven.mercury.spi.http.client.retrieve.DefaultRetrievalRequest;
 import org.apache.maven.mercury.spi.http.client.retrieve.DefaultRetriever;
 import org.apache.maven.mercury.spi.http.client.retrieve.RetrievalResponse;
 import org.apache.maven.mercury.spi.http.server.SimpleTestServer;
 import org.apache.maven.mercury.spi.http.validate.Validator;
-import org.apache.maven.mercury.transport.SHA1Verifier;
 import org.apache.maven.mercury.transport.SHA1VerifierFactory;
 import org.apache.maven.mercury.transport.api.Server;
-import org.apache.maven.mercury.transport.api.StreamObserver;
 import org.apache.maven.mercury.transport.api.StreamObserverFactory;
-import org.apache.maven.mercury.transport.api.Verifier;
-
-import java.io.File;
-import java.net.URL;
-import java.util.HashSet;
-import java.util.List;
 
 public class JettyRetrieverTest extends TestCase
 {


Reply via email to