scohen      2005/05/30 10:56:33

  Modified:    src/main/org/apache/tools/ant/taskdefs/optional/net FTP.java
  Log:
  Add logging of local vs remote timestamps in <ftp> task.
  PR:31812
  
  Revision  Changes    Path
  1.79      +28 -8     
ant/src/main/org/apache/tools/ant/taskdefs/optional/net/FTP.java
  
  Index: FTP.java
  ===================================================================
  RCS file: 
/home/cvs/ant/src/main/org/apache/tools/ant/taskdefs/optional/net/FTP.java,v
  retrieving revision 1.78
  retrieving revision 1.79
  diff -u -r1.78 -r1.79
  --- FTP.java  30 May 2005 14:41:34 -0000      1.78
  +++ FTP.java  30 May 2005 17:56:33 -0000      1.79
  @@ -26,7 +26,9 @@
   import java.io.IOException;
   import java.io.InputStream;
   import java.io.OutputStream;
  +import java.text.SimpleDateFormat;
   import java.util.Collection;
  +import java.util.Date;
   import java.util.Enumeration;
   import java.util.HashMap;
   import java.util.HashSet;
  @@ -1817,6 +1819,10 @@
           }
           return null;
       }
  +    
  +    private static final SimpleDateFormat TIMESTAMP_LOGGING_SDF = 
  +        new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
  +    
       /**
        * Checks to see if the remote file is current as compared with the local
        * file. Returns true if the target file is up to date.
  @@ -1853,16 +1859,30 @@
   
           long remoteTimestamp = files[0].getTimestamp().getTime().getTime();
           long localTimestamp = localFile.lastModified();
  +        long adjustedRemoteTimestamp = 
  +            remoteTimestamp + this.timeDiffMillis + this.granularityMillis; 
  +        
  +        StringBuffer msg = new StringBuffer("   [")
  +             .append(TIMESTAMP_LOGGING_SDF.format(new Date(localTimestamp)))
  +             .append("] local");
  +        log(msg.toString(), Project.MSG_VERBOSE);
  +        
  +        msg = new StringBuffer("   [")
  +             .append(TIMESTAMP_LOGGING_SDF.format(new 
Date(adjustedRemoteTimestamp)))
  +             .append("] remote");
  +        if (remoteTimestamp != adjustedRemoteTimestamp) {
  +            msg.append(" - (raw: ")
  +             .append(TIMESTAMP_LOGGING_SDF.format(new Date(remoteTimestamp)))
  +            .append(")");
  +        }
  +        log(msg.toString(), Project.MSG_VERBOSE);
  +        
  +
  +        
           if (this.action == SEND_FILES) {
  -            return remoteTimestamp 
  -                     + this.timeDiffMillis 
  -                     + this.granularityMillis 
  -             >= localTimestamp;
  +            return adjustedRemoteTimestamp >= localTimestamp;
           } else {
  -            return localTimestamp 
  -             >= remoteTimestamp 
  -                     + this.timeDiffMillis
  -                     + this.granularityMillis;
  +            return localTimestamp >= adjustedRemoteTimestamp;
           }
       }
   
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to