bodewig     2004/11/05 06:46:25

  Modified:    .        CONTRIBUTORS
               src/main/org/apache/tools/zip ZipOutputStream.java
  Added:       src/testcases/org/apache/tools/zip ZipOutputStreamTest.java
  Log:
  Don't use deprecated code.  Submitted by: Kevin Jackson <kevin dot jackson at 
it dot fts dash vn dot com>
  
  Revision  Changes    Path
  1.36      +1 -0      ant/CONTRIBUTORS
  
  Index: CONTRIBUTORS
  ===================================================================
  RCS file: /home/cvs/ant/CONTRIBUTORS,v
  retrieving revision 1.35
  retrieving revision 1.36
  diff -u -r1.35 -r1.36
  --- CONTRIBUTORS      26 Oct 2004 14:56:55 -0000      1.35
  +++ CONTRIBUTORS      5 Nov 2004 14:46:25 -0000       1.36
  @@ -105,6 +105,7 @@
   Keiron Liddle
   Keith Visco
   Kevin Greiner
  +Kevin Jackson
   Kevin Ross
   Kevin Z Grey
   Kirk Wylie
  
  
  
  1.25      +10 -7     ant/src/main/org/apache/tools/zip/ZipOutputStream.java
  
  Index: ZipOutputStream.java
  ===================================================================
  RCS file: /home/cvs/ant/src/main/org/apache/tools/zip/ZipOutputStream.java,v
  retrieving revision 1.24
  retrieving revision 1.25
  diff -u -r1.24 -r1.25
  --- ZipOutputStream.java      18 May 2004 08:14:48 -0000      1.24
  +++ ZipOutputStream.java      5 Nov 2004 14:46:25 -0000       1.25
  @@ -24,6 +24,7 @@
   import java.io.OutputStream;
   import java.io.RandomAccessFile;
   import java.io.UnsupportedEncodingException;
  +import java.util.Calendar;
   import java.util.Date;
   import java.util.Hashtable;
   import java.util.Vector;
  @@ -769,17 +770,19 @@
        * @since 1.1
        */
       protected static ZipLong toDosTime(Date time) {
  -        int year = time.getYear() + 1900;
  -        int month = time.getMonth() + 1;
  +        Calendar cal = Calendar.getInstance();
  +        cal.setTime(time);
  +        int year = cal.get(Calendar.YEAR);
  +        int month = cal.get(Calendar.MONTH) + 1;
           if (year < 1980) {
               return DOS_TIME_MIN;
           }
           long value =  ((year - 1980) << 25)
               |         (month << 21)
  -            |         (time.getDate() << 16)
  -            |         (time.getHours() << 11)
  -            |         (time.getMinutes() << 5)
  -            |         (time.getSeconds() >> 1);
  +            |              (cal.get(Calendar.DAY_OF_MONTH) << 16)
  +            |         (cal.get(Calendar.HOUR_OF_DAY) << 11)
  +            |         (cal.get(Calendar.MINUTE) << 5)
  +            |         (cal.get(Calendar.SECOND) >> 1);
   
           byte[] result = new byte[4];
           result[0] = (byte) ((value & 0xFF));
  
  
  
  1.1                  
ant/src/testcases/org/apache/tools/zip/ZipOutputStreamTest.java
  
  Index: ZipOutputStreamTest.java
  ===================================================================
  /*
   * Copyright 2004 The Apache Software Foundation
   *
   *  Licensed under the Apache License, Version 2.0 (the "License");
   *  you may not use this file except in compliance with the License.
   *  You may obtain a copy of the License at
   *
   *      http://www.apache.org/licenses/LICENSE-2.0
   *
   *  Unless required by applicable law or agreed to in writing, software
   *  distributed under the License is distributed on an "AS IS" BASIS,
   *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
   *  See the License for the specific language governing permissions and
   *  limitations under the License.
   *
   */
  
  package org.apache.tools.zip;
  
  import junit.framework.Test;
  import junit.framework.TestCase;
  import junit.framework.TestSuite;
  
  import java.util.Date;
  
  public class ZipOutputStreamTest extends TestCase {
      
      private Date time;
      private ZipLong zl;
      
      /**
       * Constructor
       */       
      public ZipOutputStreamTest(String name) {
          super(name);
      }
        
      protected void setUp() throws Exception {
          time = new Date();
          byte[] result = new byte[4];
          int year = time.getYear() + 1900;
          int month = time.getMonth() + 1;
          long value =  ((year - 1980) << 25)
              |         (month << 21)
              |         (time.getDate() << 16)
              |         (time.getHours() << 11)
              |         (time.getMinutes() << 5)
              |         (time.getSeconds() >> 1);
  
          result[0] = (byte) ((value & 0xFF));
          result[1] = (byte) ((value & 0xFF00) >> 8);
          result[2] = (byte) ((value & 0xFF0000) >> 16);
          result[3] = (byte) ((value & 0xFF000000L) >> 24);
          zl = new ZipLong(result);
          
      }
  
      protected void tearDown() throws Exception {
          super.tearDown();
      }
      
      public void testZipLong() throws Exception {
          ZipLong test = ZipOutputStream.toDosTime(time);
          assertEquals(test.getValue(), zl.getValue());
      }
  
  }
  
  
  

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

Reply via email to