You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@commons.apache.org by sc...@apache.org on 2004/03/10 04:37:16 UTC

cvs commit: jakarta-commons/net/src/java/org/apache/commons/net/ftp/parser NTFTPEntryParser.java

scohen      2004/03/09 19:37:16

  Modified:    net/src/test/org/apache/commons/net/ftp/parser
                        FTPParseTestFramework.java
                        NTFTPEntryParserTest.java
               net/src/java/org/apache/commons/net/ftp/parser
                        NTFTPEntryParser.java
  Log:
  fix bug 27085
  
  Revision  Changes    Path
  1.6       +2 -2      jakarta-commons/net/src/test/org/apache/commons/net/ftp/parser/FTPParseTestFramework.java
  
  Index: FTPParseTestFramework.java
  ===================================================================
  RCS file: /home/cvs/jakarta-commons/net/src/test/org/apache/commons/net/ftp/parser/FTPParseTestFramework.java,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- FTPParseTestFramework.java	29 Feb 2004 10:26:53 -0000	1.5
  +++ FTPParseTestFramework.java	10 Mar 2004 03:37:16 -0000	1.6
  @@ -118,6 +118,6 @@
       {
           super.setUp();
           parser = getParser();
  -        df = new SimpleDateFormat("EEE MMM dd kk:mm:ss yyyy", Locale.US);
  +        df = new SimpleDateFormat("EEE MMM dd HH:mm:ss yyyy", Locale.US);
       }
   }
  
  
  
  1.8       +3 -3      jakarta-commons/net/src/test/org/apache/commons/net/ftp/parser/NTFTPEntryParserTest.java
  
  Index: NTFTPEntryParserTest.java
  ===================================================================
  RCS file: /home/cvs/jakarta-commons/net/src/test/org/apache/commons/net/ftp/parser/NTFTPEntryParserTest.java,v
  retrieving revision 1.7
  retrieving revision 1.8
  diff -u -r1.7 -r1.8
  --- NTFTPEntryParserTest.java	29 Feb 2004 10:26:53 -0000	1.7
  +++ NTFTPEntryParserTest.java	10 Mar 2004 03:37:16 -0000	1.8
  @@ -114,9 +114,9 @@
        */
       public void testParseFieldsOnFile() throws Exception
       {
  -        FTPFile f = getParser().parseFTPEntry("05-22-97  08:08AM                  828 AUTOEXEC.BAK");
  +        FTPFile f = getParser().parseFTPEntry("05-22-97  12:08AM                  828 AUTOEXEC.BAK");
           assertNotNull("Could not parse entry.", f);
  -        assertEquals("Thu May 22 08:08:00 1997", 
  +        assertEquals("Thu May 22 00:08:00 1997", 
                        df.format(f.getTimestamp().getTime()));
           assertTrue("Should have been a file.", 
                      f.isFile());
  
  
  
  1.12      +20 -5     jakarta-commons/net/src/java/org/apache/commons/net/ftp/parser/NTFTPEntryParser.java
  
  Index: NTFTPEntryParser.java
  ===================================================================
  RCS file: /home/cvs/jakarta-commons/net/src/java/org/apache/commons/net/ftp/parser/NTFTPEntryParser.java,v
  retrieving revision 1.11
  retrieving revision 1.12
  diff -u -r1.11 -r1.12
  --- NTFTPEntryParser.java	29 Feb 2004 10:26:56 -0000	1.11
  +++ NTFTPEntryParser.java	10 Mar 2004 03:37:16 -0000	1.12
  @@ -103,10 +103,9 @@
               }
   
               Calendar cal = Calendar.getInstance();
  +            cal.clear();
  +            
               //set the calendar
  -            cal.set(Calendar.SECOND, 0);
  -            cal.set(Calendar.MINUTE, minutes);
  -            cal.set(Calendar.HOUR, hour);
               cal.set(Calendar.YEAR, year);
               cal.set(Calendar.DATE, day);
               cal.set(Calendar.MONTH, month);
  @@ -114,8 +113,24 @@
               if ("P".equals(ampm))
               {
                   ap = Calendar.PM;
  +                if (hour != 12) {
  +                	hour += 12;
  +                }
  +            } else if (hour == 12) {
  +           		hour = 0;
               }
  -            cal.set(Calendar.AM_PM, ap);
  +
  +            cal.set(Calendar.SECOND, 0);
  +            cal.set(Calendar.MINUTE, minutes);
  +
  +            // Using Calendar.HOUR_OF_DAY instead of Calendar.HOUR			
  +            // since the latter has proven to be unreliable.
  +            // see bug 27085
  +            
  +//          cal.set(Calendar.AM_PM, ap);
  +            cal.set(Calendar.HOUR_OF_DAY, hour);
  +            
  +            cal.getTimeInMillis();
               f.setTimestamp(cal);
   
               if ("<DIR>".equals(dirString))
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: commons-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: commons-dev-help@jakarta.apache.org