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 2009/02/06 01:36:17 UTC

svn commit: r741355 - in /maven/mercury/trunk: mercury-external/src/main/java/org/apache/maven/mercury/builder/api/ mercury-it/src/test/java/org/apache/maven/mercury/repository/tests/ mercury-repo/mercury-repo-api/src/main/java/org/apache/maven/mercury...

Author: ogusakov
Date: Fri Feb  6 00:36:16 2009
New Revision: 741355

URL: http://svn.apache.org/viewvc?rev=741355&view=rev
Log:
[MERCURY-83] metadata reading is excluded from stream verification

Modified:
    maven/mercury/trunk/mercury-external/src/main/java/org/apache/maven/mercury/builder/api/MetadataReader.java
    maven/mercury/trunk/mercury-it/src/test/java/org/apache/maven/mercury/repository/tests/RemoteRepositoryCachingReaderM2Test.java
    maven/mercury/trunk/mercury-it/src/test/java/org/apache/maven/mercury/repository/tests/RemoteRepositoryReaderM2Test.java
    maven/mercury/trunk/mercury-repo/mercury-repo-api/src/main/java/org/apache/maven/mercury/repository/api/AbstracRepositoryReader.java
    maven/mercury/trunk/mercury-repo/mercury-repo-api/src/main/java/org/apache/maven/mercury/repository/api/RepositoryReader.java
    maven/mercury/trunk/mercury-repo/mercury-repo-local-m2/src/main/java/org/apache/maven/mercury/repository/local/m2/LocalRepositoryReaderM2.java
    maven/mercury/trunk/mercury-repo/mercury-repo-local-m2/src/test/java/org/apache/maven/mercury/repository/local/m2/MetadataProcessorMock.java
    maven/mercury/trunk/mercury-repo/mercury-repo-local-map/src/main/java/org/apache/maven/mercury/repository/local/map/LocalRepositoryReaderMap.java
    maven/mercury/trunk/mercury-repo/mercury-repo-remote-m2/src/main/java/org/apache/maven/mercury/repository/remote/m2/RemoteRepositoryReaderM2.java
    maven/mercury/trunk/mercury-repo/mercury-repo-remote-m2/src/main/java/org/apache/maven/mercury/repository/remote/m2/RemoteRepositoryWriterM2.java
    maven/mercury/trunk/mercury-repo/mercury-repo-virtual/src/main/java/org/apache/maven/mercury/repository/virtual/VirtualRepositoryReader.java
    maven/mercury/trunk/mercury-transport/mercury-transport-http/src/test/java/org/apache/maven/mercury/spi/http/client/JettyRetrieverTest.java

Modified: maven/mercury/trunk/mercury-external/src/main/java/org/apache/maven/mercury/builder/api/MetadataReader.java
URL: http://svn.apache.org/viewvc/maven/mercury/trunk/mercury-external/src/main/java/org/apache/maven/mercury/builder/api/MetadataReader.java?rev=741355&r1=741354&r2=741355&view=diff
==============================================================================
--- maven/mercury/trunk/mercury-external/src/main/java/org/apache/maven/mercury/builder/api/MetadataReader.java (original)
+++ maven/mercury/trunk/mercury-external/src/main/java/org/apache/maven/mercury/builder/api/MetadataReader.java Fri Feb  6 00:36:16 2009
@@ -31,25 +31,33 @@
 public interface MetadataReader
 {
   /**
-   * read content pointed by bmd. It will return POM bytes regardless of actual bmd type
+   * read raw content pointed by bmd, possibly modified by classifier and type
    * 
    * @param bmd coordinates
    * @param classifier - replaces the getClassifier() from bmd if not null
    * @param type - replaces the getType() from bmd if not null
+   * @param exempt - if this read should be exempt from stream verification, default - false
    * @return
    * @throws MetadataReaderException
    * @throws RepositoryException 
    */
-  public byte [] readRawData( ArtifactBasicMetadata bmd, String classifier, String type )
-  throws MetadataReaderException;
+    public byte [] readRawData( ArtifactBasicMetadata bmd, String classifier, String type, boolean exempt )
+    throws MetadataReaderException;
+
+    public byte [] readRawData( ArtifactBasicMetadata bmd, String classifier, String type )
+    throws MetadataReaderException;
 
   /**
    * read metadata for the artifact, pointed by bmd. It will return POM bytes regardless of actual bmd type
    * 
-   * @param bmd
+   * @param bmd metadata to read
+   * @param exempt - if this read should be exempt from stream verification, default - false
    * @return
    * @throws MetadataReaderException
    */
-  public byte [] readMetadata( ArtifactBasicMetadata bmd )
-  throws MetadataReaderException;
+    public byte [] readMetadata( ArtifactBasicMetadata bmd, boolean exempt )
+    throws MetadataReaderException;
+
+    public byte [] readMetadata( ArtifactBasicMetadata bmd )
+    throws MetadataReaderException;
 }

Modified: maven/mercury/trunk/mercury-it/src/test/java/org/apache/maven/mercury/repository/tests/RemoteRepositoryCachingReaderM2Test.java
URL: http://svn.apache.org/viewvc/maven/mercury/trunk/mercury-it/src/test/java/org/apache/maven/mercury/repository/tests/RemoteRepositoryCachingReaderM2Test.java?rev=741355&r1=741354&r2=741355&view=diff
==============================================================================
--- maven/mercury/trunk/mercury-it/src/test/java/org/apache/maven/mercury/repository/tests/RemoteRepositoryCachingReaderM2Test.java (original)
+++ maven/mercury/trunk/mercury-it/src/test/java/org/apache/maven/mercury/repository/tests/RemoteRepositoryCachingReaderM2Test.java Fri Feb  6 00:36:16 2009
@@ -138,7 +138,7 @@
   throws FileNotFoundException, IOException, XmlPullParserException, RepositoryException, MetadataReaderException
   {
     
-    byte [] mmBuf = reader.readRawData( "a/a/maven-metadata.xml" );
+    byte [] mmBuf = reader.readRawData( "a/a/maven-metadata.xml", false );
     
     assertNotNull( mmBuf );
     assertTrue( mmBuf.length > 1 );

Modified: maven/mercury/trunk/mercury-it/src/test/java/org/apache/maven/mercury/repository/tests/RemoteRepositoryReaderM2Test.java
URL: http://svn.apache.org/viewvc/maven/mercury/trunk/mercury-it/src/test/java/org/apache/maven/mercury/repository/tests/RemoteRepositoryReaderM2Test.java?rev=741355&r1=741354&r2=741355&view=diff
==============================================================================
--- maven/mercury/trunk/mercury-it/src/test/java/org/apache/maven/mercury/repository/tests/RemoteRepositoryReaderM2Test.java (original)
+++ maven/mercury/trunk/mercury-it/src/test/java/org/apache/maven/mercury/repository/tests/RemoteRepositoryReaderM2Test.java Fri Feb  6 00:36:16 2009
@@ -142,7 +142,7 @@
   throws FileNotFoundException, IOException, XmlPullParserException, RepositoryException, MetadataReaderException
   {
     
-    byte [] mmBuf = reader.readRawData( "a/a/maven-metadata.xml" );
+    byte [] mmBuf = reader.readRawData( "a/a/maven-metadata.xml", false );
     
     assertNotNull( mmBuf );
     assertTrue( mmBuf.length > 1 );

Modified: maven/mercury/trunk/mercury-repo/mercury-repo-api/src/main/java/org/apache/maven/mercury/repository/api/AbstracRepositoryReader.java
URL: http://svn.apache.org/viewvc/maven/mercury/trunk/mercury-repo/mercury-repo-api/src/main/java/org/apache/maven/mercury/repository/api/AbstracRepositoryReader.java?rev=741355&r1=741354&r2=741355&view=diff
==============================================================================
--- maven/mercury/trunk/mercury-repo/mercury-repo-api/src/main/java/org/apache/maven/mercury/repository/api/AbstracRepositoryReader.java (original)
+++ maven/mercury/trunk/mercury-repo/mercury-repo-api/src/main/java/org/apache/maven/mercury/repository/api/AbstracRepositoryReader.java Fri Feb  6 00:36:16 2009
@@ -75,10 +75,16 @@
     return _mdCache != null;
   }
   
-  public byte[] readMetadata( ArtifactBasicMetadata bmd  )
+  public byte[] readMetadata( ArtifactBasicMetadata bmd, boolean exempt  )
   throws MetadataReaderException
   {
-    return readRawData( bmd, "", "pom" );
+    return readRawData( bmd, "", "pom", exempt );
+  }
+  
+  public byte[] readMetadata( ArtifactBasicMetadata bmd )
+  throws MetadataReaderException
+  {
+    return readMetadata( bmd, false );
   }
   
 }

Modified: maven/mercury/trunk/mercury-repo/mercury-repo-api/src/main/java/org/apache/maven/mercury/repository/api/RepositoryReader.java
URL: http://svn.apache.org/viewvc/maven/mercury/trunk/mercury-repo/mercury-repo-api/src/main/java/org/apache/maven/mercury/repository/api/RepositoryReader.java?rev=741355&r1=741354&r2=741355&view=diff
==============================================================================
--- maven/mercury/trunk/mercury-repo/mercury-repo-api/src/main/java/org/apache/maven/mercury/repository/api/RepositoryReader.java (original)
+++ maven/mercury/trunk/mercury-repo/mercury-repo-api/src/main/java/org/apache/maven/mercury/repository/api/RepositoryReader.java Fri Feb  6 00:36:16 2009
@@ -106,6 +106,9 @@
    * @return byte [] of the resource content, pointed by the path
    * @throws MetadataReaderException 
    */
+  public byte [] readRawData( String path, boolean exempt )
+  throws MetadataReaderException;
+
   public byte [] readRawData( String path )
   throws MetadataReaderException;
   
@@ -138,8 +141,14 @@
         return null;
       }
 
-      public byte[] readRawData( String path )
-          throws MetadataReaderException
+      public byte[] readRawData( String path, boolean exempt )
+      throws MetadataReaderException
+      {
+        return null;
+      }
+      
+      public byte[] readRawData( String path  )
+      throws MetadataReaderException
       {
         return null;
       }
@@ -172,16 +181,34 @@
         return null;
       }
 
-      public byte[] readMetadata( ArtifactBasicMetadata bmd )
+      public byte[] readMetadata( ArtifactBasicMetadata bmd, boolean exempt  )
       throws MetadataReaderException
       {
         return null;
       }
 
+      public byte[] readMetadata( ArtifactBasicMetadata bmd  )
+      throws MetadataReaderException
+      {
+        return null;
+      }
+
+      public byte[] readRawData(
+          ArtifactBasicMetadata bmd,
+          String classifier,
+          String type,
+          boolean exempt 
+          )
+          throws MetadataReaderException
+      {
+        return null;
+      }
+
       public byte[] readRawData(
           ArtifactBasicMetadata bmd,
           String classifier,
-          String type )
+          String type
+          )
           throws MetadataReaderException
       {
         return null;

Modified: maven/mercury/trunk/mercury-repo/mercury-repo-local-m2/src/main/java/org/apache/maven/mercury/repository/local/m2/LocalRepositoryReaderM2.java
URL: http://svn.apache.org/viewvc/maven/mercury/trunk/mercury-repo/mercury-repo-local-m2/src/main/java/org/apache/maven/mercury/repository/local/m2/LocalRepositoryReaderM2.java?rev=741355&r1=741354&r2=741355&view=diff
==============================================================================
--- maven/mercury/trunk/mercury-repo/mercury-repo-local-m2/src/main/java/org/apache/maven/mercury/repository/local/m2/LocalRepositoryReaderM2.java (original)
+++ maven/mercury/trunk/mercury-repo/mercury-repo-local-m2/src/main/java/org/apache/maven/mercury/repository/local/m2/LocalRepositoryReaderM2.java Fri Feb  6 00:36:16 2009
@@ -558,7 +558,13 @@
     public byte[] readRawData( ArtifactBasicMetadata bmd, String classifier, String type )
         throws MetadataReaderException
     {
-        return readRawData( relPathOf( bmd, classifier, type ) );
+        return readRawData( bmd, classifier, type, false );
+    }
+    // ---------------------------------------------------------------------------------------------------------------
+    public byte[] readRawData( ArtifactBasicMetadata bmd, String classifier, String type, boolean exempt )
+        throws MetadataReaderException
+    {
+        return readRawData( relPathOf( bmd, classifier, type ), exempt );
     }
 
     // ---------------------------------------------------------------------------------------------------------------
@@ -569,15 +575,21 @@
 
         String path = bmdPath + '/' + bmd.getBaseName( classifier ) + '.' + ( type == null ? bmd.getType() : type );
         
-if( LOG.isDebugEnabled() )
-    LOG.debug( bmd.toString()+" path is "+ path);
+        if( LOG.isDebugEnabled() )
+            LOG.debug( bmd.toString()+" path is "+ path);
 
         return path;
     }
 
     // ---------------------------------------------------------------------------------------------------------------
     public byte[] readRawData( String path )
-        throws MetadataReaderException
+    throws MetadataReaderException
+    {
+        return readRawData( path, false );
+    }
+    // ---------------------------------------------------------------------------------------------------------------
+    public byte[] readRawData( String path, boolean exempt )
+    throws MetadataReaderException
     {
         File file = new File( _repoDir, path );
 
@@ -615,7 +627,7 @@
     public String readStringData( String path )
         throws MetadataReaderException
     {
-        byte[] data = readRawData( path );
+        byte[] data = readRawData( path, false );
         if ( data == null )
             return null;
 

Modified: maven/mercury/trunk/mercury-repo/mercury-repo-local-m2/src/test/java/org/apache/maven/mercury/repository/local/m2/MetadataProcessorMock.java
URL: http://svn.apache.org/viewvc/maven/mercury/trunk/mercury-repo/mercury-repo-local-m2/src/test/java/org/apache/maven/mercury/repository/local/m2/MetadataProcessorMock.java?rev=741355&r1=741354&r2=741355&view=diff
==============================================================================
--- maven/mercury/trunk/mercury-repo/mercury-repo-local-m2/src/test/java/org/apache/maven/mercury/repository/local/m2/MetadataProcessorMock.java (original)
+++ maven/mercury/trunk/mercury-repo/mercury-repo-local-m2/src/test/java/org/apache/maven/mercury/repository/local/m2/MetadataProcessorMock.java Fri Feb  6 00:36:16 2009
@@ -50,7 +50,7 @@
     
     try
     {
-      byte [] pomBytes = mdReader.readMetadata( bmd );
+      byte [] pomBytes = mdReader.readMetadata( bmd, false );
       if( pomBytes == null )
       {
         throw new MetadataReaderException("no metadata found for "+bmd);

Modified: maven/mercury/trunk/mercury-repo/mercury-repo-local-map/src/main/java/org/apache/maven/mercury/repository/local/map/LocalRepositoryReaderMap.java
URL: http://svn.apache.org/viewvc/maven/mercury/trunk/mercury-repo/mercury-repo-local-map/src/main/java/org/apache/maven/mercury/repository/local/map/LocalRepositoryReaderMap.java?rev=741355&r1=741354&r2=741355&view=diff
==============================================================================
--- maven/mercury/trunk/mercury-repo/mercury-repo-local-map/src/main/java/org/apache/maven/mercury/repository/local/map/LocalRepositoryReaderMap.java (original)
+++ maven/mercury/trunk/mercury-repo/mercury-repo-local-map/src/main/java/org/apache/maven/mercury/repository/local/map/LocalRepositoryReaderMap.java Fri Feb  6 00:36:16 2009
@@ -129,6 +129,12 @@
     public byte[] readRawData( String path )
     throws MetadataReaderException
     {
+        return readRawData( path, false );
+    }
+    // ---------------------------------------------------------------------------------------------------------------
+    public byte[] readRawData( String path, boolean exempt )
+    throws MetadataReaderException
+    {
         try
         {
             return _repo._storage.findRaw( path );
@@ -142,6 +148,12 @@
     public byte[] readRawData( ArtifactBasicMetadata bmd, String classifier, String type )
         throws MetadataReaderException
     {
+        return readRawData( bmd, classifier, type, false );
+    }
+    // ---------------------------------------------------------------------------------------------------------------
+    public byte[] readRawData( ArtifactBasicMetadata bmd, String classifier, String type, boolean exempt )
+        throws MetadataReaderException
+    {
         
         String key =  bmd.getGroupId()
             + ":"+bmd.getArtifactId()
@@ -150,7 +162,7 @@
             + ":"+ (type == null ? bmd.getType() : type)
         ;
         
-        return readRawData( key );
+        return readRawData( key, exempt );
     }
     // ---------------------------------------------------------------------------------------------------------------
     public ArtifactBasicResults readDependencies( Collection<ArtifactBasicMetadata> query )

Modified: maven/mercury/trunk/mercury-repo/mercury-repo-remote-m2/src/main/java/org/apache/maven/mercury/repository/remote/m2/RemoteRepositoryReaderM2.java
URL: http://svn.apache.org/viewvc/maven/mercury/trunk/mercury-repo/mercury-repo-remote-m2/src/main/java/org/apache/maven/mercury/repository/remote/m2/RemoteRepositoryReaderM2.java?rev=741355&r1=741354&r2=741355&view=diff
==============================================================================
--- maven/mercury/trunk/mercury-repo/mercury-repo-remote-m2/src/main/java/org/apache/maven/mercury/repository/remote/m2/RemoteRepositoryReaderM2.java (original)
+++ maven/mercury/trunk/mercury-repo/mercury-repo-remote-m2/src/main/java/org/apache/maven/mercury/repository/remote/m2/RemoteRepositoryReaderM2.java Fri Feb  6 00:36:16 2009
@@ -258,7 +258,7 @@
     
     String mdPath = loc.getGavPath()+'/'+_repo.getMetadataName();
 
-    byte [] mdBytes = readRawData( mdPath );
+    byte [] mdBytes = readRawData( mdPath, true );
     if( mdBytes == null )
     {
       throw new RepositoryException( LANG.getMessage( "no.gav.md", _repo.getServer().getURL().toString(), mdPath ) ) ;
@@ -471,7 +471,7 @@
 
     // no cached data, or it has expired - read from repository
     String mdPath = loc.getGaPath()+FileUtil.SEP+_repo.getMetadataName();
-    byte[] mavenMetadata = readRawData( mdPath );
+    byte[] mavenMetadata = readRawData( mdPath, true );
     
     if( mavenMetadata == null )
       throw new MetadataReaderException( LANG.getMessage( "no.group.md", _repo.getServer().getURL().toString(), mdPath ) );
@@ -640,6 +640,12 @@
   public byte[] readRawData( ArtifactBasicMetadata bmd, String classifier, String type )
   throws MetadataReaderException
   {
+      return readRawData( bmd, classifier, type, false );
+  }
+  //---------------------------------------------------------------------------------------------------------------
+  public byte[] readRawData( ArtifactBasicMetadata bmd, String classifier, String type, boolean exempt  )
+  throws MetadataReaderException
+  {
     byte [] res = null;
     ArtifactBasicMetadata mod = null;
     
@@ -691,7 +697,7 @@
 if( LOG.isDebugEnabled() )
     LOG.debug( "calculated raw path as "+bmdPath );
     
-    res = readRawData( bmdPath );
+    res = readRawData( bmdPath, exempt );
     
     if( _mdCache != null && res != null && mod != null )
     {
@@ -711,6 +717,12 @@
   public byte[] readRawData( String path )
   throws MetadataReaderException
   {
+      return readRawData( path, false );
+  }
+  //---------------------------------------------------------------------------------------------------------------
+  public byte[] readRawData( String path, boolean exempt )
+  throws MetadataReaderException
+  {
     if( path == null || path.length() < 1 )
       return null;
     
@@ -725,7 +737,7 @@
       
       String url = (path.startsWith( "http" ) ? "" : _repo.getServer().getURL().toString() + separator) + path;
       
-      Binding binding = new Binding( new URL( url ) , baos );
+      Binding binding = new Binding( new URL( url ) , baos, exempt );
       DefaultRetrievalRequest request = new DefaultRetrievalRequest();
       request.addBinding( binding );
       

Modified: maven/mercury/trunk/mercury-repo/mercury-repo-remote-m2/src/main/java/org/apache/maven/mercury/repository/remote/m2/RemoteRepositoryWriterM2.java
URL: http://svn.apache.org/viewvc/maven/mercury/trunk/mercury-repo/mercury-repo-remote-m2/src/main/java/org/apache/maven/mercury/repository/remote/m2/RemoteRepositoryWriterM2.java?rev=741355&r1=741354&r2=741355&view=diff
==============================================================================
--- maven/mercury/trunk/mercury-repo/mercury-repo-remote-m2/src/main/java/org/apache/maven/mercury/repository/remote/m2/RemoteRepositoryWriterM2.java (original)
+++ maven/mercury/trunk/mercury-repo/mercury-repo-remote-m2/src/main/java/org/apache/maven/mercury/repository/remote/m2/RemoteRepositoryWriterM2.java Fri Feb  6 00:36:16 2009
@@ -214,10 +214,10 @@
       
       // read metadata
       String gaMdUrl    = url+'/'+relGroupPath+'/'+_repo.getMetadataName();
-      byte [] gaMdBytes = _reader.readRawData( gaMdUrl );
+      byte [] gaMdBytes = _reader.readRawData( gaMdUrl, true );
       
       String gavMdUrl = url+'/'+relVersionPath+'/'+_repo.getMetadataName();
-      byte [] gavMdBytes = _reader.readRawData( gavMdUrl );
+      byte [] gavMdBytes = _reader.readRawData( gavMdUrl, true );
 
       HashSet<Binding> bindings = new HashSet<Binding>(4);
       

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=741355&r1=741354&r2=741355&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 Fri Feb  6 00:36:16 2009
@@ -656,19 +656,29 @@
     // MetadataReader implementation
     // ----------------------------------------------------------------------------------------------------------------------------
     public byte[] readMetadata( ArtifactBasicMetadata bmd )
-        throws MetadataReaderException
+    throws MetadataReaderException
+    {
+        return readMetadata( bmd, false );
+    }
+    public byte[] readMetadata( ArtifactBasicMetadata bmd, boolean exempt  )
+    throws MetadataReaderException
     {
         if ( LOG.isDebugEnabled() )
             LOG.debug( "Asking for pom: " + bmd );
 
-        return readRawData( bmd, "", "pom" );
+        return readRawData( bmd, "", "pom", exempt );
     }
 
     // ----------------------------------------------------------------------------------------------------------------------------
     // MetadataReader implementation
     // ----------------------------------------------------------------------------------------------------------------------------
     public byte[] readRawData( ArtifactBasicMetadata bmd, String classifier, String type )
-        throws MetadataReaderException
+    throws MetadataReaderException
+    {
+        return readRawData( bmd, classifier, type, false );
+    }
+    public byte[] readRawData( ArtifactBasicMetadata bmd, String classifier, String type, boolean exempt  )
+    throws MetadataReaderException
     {
 
         GenericEvent event = null;
@@ -760,7 +770,7 @@
                             new GenericEvent( EventTypeEnum.virtualRepositoryReader, EVENT_READ_RAW_FROM_REPO,
                                               rr.getRepository().getId() + ": " + eventTag );
 
-                    res = rr.readRawData( bmdQuery, classifier, type );
+                    res = rr.readRawData( bmdQuery, classifier, type, false );
                     if ( res != null )
                     {
                         if ( LOG.isDebugEnabled() )

Modified: maven/mercury/trunk/mercury-transport/mercury-transport-http/src/test/java/org/apache/maven/mercury/spi/http/client/JettyRetrieverTest.java
URL: http://svn.apache.org/viewvc/maven/mercury/trunk/mercury-transport/mercury-transport-http/src/test/java/org/apache/maven/mercury/spi/http/client/JettyRetrieverTest.java?rev=741355&r1=741354&r2=741355&view=diff
==============================================================================
--- maven/mercury/trunk/mercury-transport/mercury-transport-http/src/test/java/org/apache/maven/mercury/spi/http/client/JettyRetrieverTest.java (original)
+++ maven/mercury/trunk/mercury-transport/mercury-transport-http/src/test/java/org/apache/maven/mercury/spi/http/client/JettyRetrieverTest.java Fri Feb  6 00:36:16 2009
@@ -204,21 +204,25 @@
 //        for (HttpClientException t:response.getExceptions())
 //            t.printStackTrace();
 //        System.err.println("-------------------------------------------------");
-        assertEquals( 2,response.getExceptions().size() );
+        assertEquals( 2, response.getExceptions().size() );
         assertTrue(!file0.exists());
         assertTrue(!file1.exists());
         assertTrue(!file2.exists());
         assertTrue(!file3.exists());
         assertTrue(!file4.exists());
         assertTrue(!file5.exists());
-
     }
 
-
-    public void testSyncRetrievalAllGoodExempt()
+    
+    public void testSyncRetrievalPgpGood()
     throws Exception
     {
-        factories.add( new SHA1VerifierFactory(false, true) ); //!lenient, sufficient
+      factories.add( 
+          new PgpStreamVerifierFactory(
+                  new StreamVerifierAttributes( PgpStreamVerifierFactory.DEFAULT_EXTENSION, false, true )
+                  , getClass().getResourceAsStream( publicKeyFile )
+                                      )
+                    );
         remoteServerType.setReaderStreamVerifierFactories(factories);
         
         //make local dir to put stuff in
@@ -226,48 +230,50 @@
         DefaultRetrievalRequest request = new DefaultRetrievalRequest();
         HashSet<Binding> bindings = new HashSet<Binding>();
 
-        file0 = new File(dir, "file0.txt");
-        file1 = new File(dir, "file1.txt");
-        file2 = new File(dir, "file2.txt");
-        file3 = new File(dir, "file3.jar");
-        file4 = new File(dir, "file4.so");
-        file5 = new File(dir, "file5.jpg");
-
-        Binding binding0 = new Binding(new URL(__HOST_FRAGMENT+_port+__PATH_FRAGMENT+"file0.txt"), file0);
+        file6 = new File(dir, "file6.gif");
+        Binding binding0 = new Binding(new URL(__HOST_FRAGMENT+_port+__PATH_FRAGMENT+"file6.gif"), file6);
         bindings.add(binding0);
-        
-        Binding binding1 = new Binding(new URL(__HOST_FRAGMENT+_port+__PATH_FRAGMENT+"file1.txt"),file1, true ); //has no sha file
-        bindings.add(binding1);
-       
-        Binding binding2 = new Binding(new URL(__HOST_FRAGMENT+_port+__PATH_FRAGMENT+"file2.txt"), file2, true ); //has wrong sha file
-        bindings.add(binding2);
-      
-        Binding binding3 = new Binding(new URL(__HOST_FRAGMENT+_port+__PATH_FRAGMENT+"file3.jar"), file3);
-        bindings.add(binding3);
-        
-        Binding binding4 = new Binding(new URL(__HOST_FRAGMENT+_port+__PATH_FRAGMENT+"file4.so"), file4);
-        bindings.add(binding4);
-       
-        Binding binding5 = new Binding(new URL(__HOST_FRAGMENT+_port+__PATH_FRAGMENT+"file5.jpg"), file5);
-        bindings.add(binding5);
           
         request.setBindings(bindings);
         
         RetrievalResponse response = retriever.retrieve(request);
         
-//  because bad files are exempt - should be no exceptions
         assertEquals( 0, response.getExceptions().size() );
+        assertTrue( file6.exists() );
+       
+    }
+
+    
+    public void testSyncRetrievalPgpBad()
+    throws Exception
+    {
+      factories.add( 
+          new PgpStreamVerifierFactory(
+                  new StreamVerifierAttributes( PgpStreamVerifierFactory.DEFAULT_EXTENSION, false, true )
+                  , getClass().getResourceAsStream( publicKeyFile )
+                                      )
+                    );
+        remoteServerType.setReaderStreamVerifierFactories(factories);
         
-        assertTrue(!file0.exists());
-        assertTrue(!file1.exists());
-        assertTrue(!file2.exists());
-        assertTrue(!file3.exists());
-        assertTrue(!file4.exists());
-        assertTrue(!file5.exists());
+        //make local dir to put stuff in
+        dir = mkTempDir();
+        DefaultRetrievalRequest request = new DefaultRetrievalRequest();
+        HashSet<Binding> bindings = new HashSet<Binding>();
 
+        file6 = new File( dir, "file5.jpg" );
+        Binding binding0 = new Binding(new URL(__HOST_FRAGMENT+_port+__PATH_FRAGMENT+"file5.jpg"), file6);
+        bindings.add(binding0);
+          
+        request.setBindings(bindings);
+        
+        RetrievalResponse response = retriever.retrieve(request);
+        
+        assertEquals( 1, response.getExceptions().size() );
+        assertFalse( file6.exists() );
+       
     }
     
-    public void testSyncRetrievalPgpGood()
+    public void testSyncRetrievalPgpBadExempt()
     throws Exception
     {
       factories.add( 
@@ -283,18 +289,14 @@
         DefaultRetrievalRequest request = new DefaultRetrievalRequest();
         HashSet<Binding> bindings = new HashSet<Binding>();
 
-        file6 = new File(dir, "file6.gif");
-        Binding binding0 = new Binding(new URL(__HOST_FRAGMENT+_port+__PATH_FRAGMENT+"file6.gif"), file6);
+        file6 = new File( dir, "file5.jpg" );
+        Binding binding0 = new Binding(new URL(__HOST_FRAGMENT+_port+__PATH_FRAGMENT+"file5.jpg"), file6, true );
         bindings.add(binding0);
           
         request.setBindings(bindings);
         
         RetrievalResponse response = retriever.retrieve(request);
         
-//        System.err.println("--------- testSyncRetrievalPgpGood --------------");
-//        for (HttpClientException t:response.getExceptions())
-//            t.printStackTrace();
-//        System.err.println("-------------------------------------------------");
         assertEquals( 0, response.getExceptions().size() );
         assertTrue( file6.exists() );