Author: ogusakov
Date: Tue Sep 16 12:48:18 2008
New Revision: 696028

URL: http://svn.apache.org/viewvc?rev=696028&view=rev
Log:
pgp support minus proxy configuration

Modified:
    
maven/sandbox/trunk/wagon/wagon-mercury/src/main/java/org/apache/maven/wagon/mercury/MercuryWagon.java

Modified: 
maven/sandbox/trunk/wagon/wagon-mercury/src/main/java/org/apache/maven/wagon/mercury/MercuryWagon.java
URL: 
http://svn.apache.org/viewvc/maven/sandbox/trunk/wagon/wagon-mercury/src/main/java/org/apache/maven/wagon/mercury/MercuryWagon.java?rev=696028&r1=696027&r2=696028&view=diff
==============================================================================
--- 
maven/sandbox/trunk/wagon/wagon-mercury/src/main/java/org/apache/maven/wagon/mercury/MercuryWagon.java
 (original)
+++ 
maven/sandbox/trunk/wagon/wagon-mercury/src/main/java/org/apache/maven/wagon/mercury/MercuryWagon.java
 Tue Sep 16 12:48:18 2008
@@ -39,6 +39,7 @@
 import org.apache.maven.wagon.events.TransferEventSupport;
 import org.apache.maven.wagon.events.TransferListener;
 import org.apache.maven.wagon.observers.ChecksumObserver;
+import org.apache.maven.wagon.proxy.ProxyInfo;
 import org.apache.maven.wagon.proxy.ProxyInfoProvider;
 import org.apache.maven.wagon.repository.Repository;
 import org.apache.maven.wagon.resource.Resource;
@@ -81,7 +82,7 @@
    */
   public MercuryWagon()
   {
-    _log.debug( "\n===============> MercuryWagon instantiated, repository 
"+repository);
+    _log.debug( "MercuryWagon instantiated, repository "+repository);
   }
   
   public MercuryWagon( Server server )
@@ -108,7 +109,6 @@
       pgpFac = readPgpConfig();
       this.server.setReaderStreamVerifierFactories( pgpFac[0] );
       this.server.setWriterStreamVerifierFactories( pgpFac[1] );
-//_log.info( 
"ReaderFacs="+this.server.getReaderStreamVerifierFactories()+"\nWriterFacs="+this.server.getWriterStreamVerifierFactories()
 );
     }
     catch( Exception ex )
     {
@@ -210,7 +210,9 @@
   public void put( File source, String destination )
   throws TransferFailedException, ResourceDoesNotExistException, 
AuthorizationException
   {
-    
+    if( _log.isDebugEnabled() )
+      _log.debug( "===============> put request for: "+source+" => 
"+destination );
+
     Resource resource = new Resource( destination );
     
     firePutInitiated( resource, source );
@@ -222,7 +224,7 @@
     Binding binding = null;
     try
     {
-      binding = new Binding( new URL(repository.getUrl()+'/'+destination), 
source );
+      binding = new Binding( new URL( 
this.server.getURL().toString()+'/'+destination), source );
     }
     catch( MalformedURLException e )
     {
@@ -234,7 +236,7 @@
     
     DefaultDeployRequest request = new DefaultDeployRequest();
     request.setBindings( bindings );
-    
+
     firePutStarted( resource, source );
     
     pushEvent( new TransferEvent(this, resource, 
TransferEvent.TRANSFER_PROGRESS, TransferEvent.REQUEST_PUT) );
@@ -250,9 +252,6 @@
   protected void closeConnection()
   throws ConnectionException
   {
-    fireSessionLoggedOff();
-    fireSessionDisconnecting();
-    fireSessionDisconnected();
   }
   
   @Override
@@ -266,18 +265,41 @@
   throws ConnectionException, AuthenticationException
   {
     if(_log.isDebugEnabled())
-      _log.debug( "Opening connection to repository "+repository );
+      _log.debug( "opening connection to repository "+repository );
 
     try
     {
       String url = 'h'+repository.getUrl().substring( 1 );
-      boolean requireEncryption = url.startsWith( "https" ) ? true : false;
-      Credentials user = null;
 
-      if( repository.getUsername() != null )
-        user = new Credentials( repository.getUsername(), 
repository.getPassword() );
+      Server server = new Server( repository.getId(), new URL( url ) );
+      
+      if( authenticationInfo != null )
+      {
+        Credentials user = new Credentials( authenticationInfo.getUserName(), 
authenticationInfo.getPassword() );
+        
+        server.setServerCredentials( user );
+        
+        if( _log.isDebugEnabled() )
+          _log.debug( "user ceredentials: "+user.getUser()+"/......." );
+      }
       
-      Server server = new Server( repository.getId(), new URL( url ), 
requireEncryption, false, user );
+//      ProxyInfo pi = getProxyInfo();
+//      if( pi != null && pi.getHost() != null )
+//      {
+//        if( !ProxyInfo.PROXY_HTTP.equals( pi.getType() ) )
+//        {
+//          throw new ConnectionException( "Mercury wagon does not support 
"+pi.getType()+" proxies at this point. Only "+ProxyInfo.PROXY_HTTP+" proxy is 
supported" );
+//        }
+//
+//        server.setProxy( new URL("http://"+pi.getHost()+":"+pi.getPort()) );
+//        
+//        if( pi.getUserName() != null )
+//        {
+//          Credentials proxyUser = new Credentials( pi.getUserName(), 
pi.getPassword() );
+//          
+//          server.setProxyCredentials( proxyUser );
+//        }
+//      }
       
       init( server );
       
@@ -289,12 +311,6 @@
       throw new ConnectionException( e.getMessage() );
     }
   }
-  
-  @Override
-  public void addTransferListener( TransferListener listener )
-  {
-    super.addTransferListener( listener );
-  }
 
   void bytesReady( TransferEvent transferEvent, byte [] buf, int len )
   {
@@ -328,40 +344,47 @@
     if( pgpConfig == null )
       return res;
     
-    _log.info( "PGP signature configuration will be read from "+pgpConfig );
+    if( _log.isDebugEnabled() )
+      _log.debug( "PGP signature configuration will be read from "+pgpConfig );
     
     Properties pgpProps = new Properties();
     pgpProps.load( new FileInputStream(pgpConfig) );
 
-    StreamVerifierAttributes readerAttr = new StreamVerifierAttributes( 
PgpStreamVerifierFactory.DEFAULT_EXTENSION
-        , Boolean.parseBoolean( pgpProps.getProperty( "reader.lenient", "true" 
) )
-        , false
-                                                      );
     String readerKeyring = pgpProps.getProperty( "reader.keyring" );
     
     if( readerKeyring != null )
     {
+      StreamVerifierAttributes readerAttr = new StreamVerifierAttributes(
+          PgpStreamVerifierFactory.DEFAULT_EXTENSION
+        , Boolean.parseBoolean( pgpProps.getProperty( "reader.lenient", "true" 
) )
+        , false
+                                                                      );
+
       StreamVerifierFactory rf = new PgpStreamVerifierFactory( readerAttr, new 
FileInputStream(readerKeyring) );
-if( _log.isDebugEnabled() )
-  _log.debug( "public key file: "+new File(readerKeyring).getAbsolutePath() );
+
+      if( _log.isDebugEnabled() )
+        _log.debug( "public key file: "+new 
File(readerKeyring).getAbsolutePath() );
       
       Set<StreamVerifierFactory> rs = new HashSet<StreamVerifierFactory>(1);
       rs.add( rf );
       res[0] = rs;
     }
 
-    StreamVerifierAttributes writerAttr = new StreamVerifierAttributes( 
PgpStreamVerifierFactory.DEFAULT_EXTENSION
-        , Boolean.parseBoolean( pgpProps.getProperty( "writer.lenient", "true" 
) )
-        , false
-                                                      );
     String writerKeyring = pgpProps.getProperty( "writer.keyring" );
     String writerKeyId = pgpProps.getProperty( "writer.key.id" );
     String writerKeyringPass = pgpProps.getProperty( "writer.key.pass" );
 
     if( writerKeyring != null && writerKeyId != null && writerKeyringPass != 
null )
     {
-if( _log.isDebugEnabled() )
-  _log.debug( "secret key file: "+new File(writerKeyring).getAbsolutePath() );
+      if( _log.isDebugEnabled() )
+        _log.debug( "secret key file: "+new 
File(writerKeyring).getAbsolutePath() );
+
+      StreamVerifierAttributes writerAttr = new StreamVerifierAttributes(
+          PgpStreamVerifierFactory.DEFAULT_EXTENSION
+        , Boolean.parseBoolean( pgpProps.getProperty( "writer.lenient", "true" 
) )
+        , false
+                                                                      );
+
       StreamVerifierFactory wf = new PgpStreamVerifierFactory( writerAttr, new 
FileInputStream(writerKeyring)
                                                               , writerKeyId, 
writerKeyringPass );
       


Reply via email to