ankitp      2004/11/25 14:03:49

  Modified:    java/src/org/apache/xerces/impl/dv/xs YearDV.java
                        TimeDV.java DateDV.java MonthDayDV.java DayDV.java
                        YearMonthDV.java MonthDV.java
  Log:
  fix bug causing incorrect comparison of date/time related types
  
  Revision  Changes    Path
  1.13      +21 -1     
xml-xerces/java/src/org/apache/xerces/impl/dv/xs/YearDV.java
  
  Index: YearDV.java
  ===================================================================
  RCS file: 
/home/cvs/xml-xerces/java/src/org/apache/xerces/impl/dv/xs/YearDV.java,v
  retrieving revision 1.12
  retrieving revision 1.13
  diff -u -r1.12 -r1.13
  --- YearDV.java       6 Oct 2004 14:56:46 -0000       1.12
  +++ YearDV.java       25 Nov 2004 22:03:49 -0000      1.13
  @@ -84,6 +84,26 @@
           }
           return date;
       }
  +    
  +    /**
  +     * Given normalized values, determines order-relation
  +     * between give date/time objects.
  +     *
  +     * @param date1  date/time object
  +     * @param date2  date/time object
  +     * @return 0 if date1 and date2 are equal, a value less than 0 if date1 
is less than date2, a value greater than 0 if date1 is greater than date2
  +     */
  +    protected short compareOrder(DateTimeData date1, DateTimeData date2) {
  +        if (date1.year < date2.year)
  +            return -1;
  +        if (date1.year > date2.year)
  +            return 1;
  +        if (date1.utc < date2.utc)
  +            return -1;
  +        if (date1.utc > date2.utc)
  +            return 1;
  +        return 0;
  +    }
   
       /**
        * Converts year object representation to String
  
  
  
  1.14      +29 -1     
xml-xerces/java/src/org/apache/xerces/impl/dv/xs/TimeDV.java
  
  Index: TimeDV.java
  ===================================================================
  RCS file: 
/home/cvs/xml-xerces/java/src/org/apache/xerces/impl/dv/xs/TimeDV.java,v
  retrieving revision 1.13
  retrieving revision 1.14
  diff -u -r1.13 -r1.14
  --- TimeDV.java       25 Nov 2004 19:24:06 -0000      1.13
  +++ TimeDV.java       25 Nov 2004 22:03:49 -0000      1.14
  @@ -74,6 +74,34 @@
           }
           return date;
       }
  +    
  +    /**
  +     * Given normalized values, determines order-relation
  +     * between give date/time objects.
  +     *
  +     * @param date1  date/time object
  +     * @param date2  date/time object
  +     * @return 0 if date1 and date2 are equal, a value less than 0 if date1 
is less than date2, a value greater than 0 if date1 is greater than date2
  +     */
  +    protected short compareOrder(DateTimeData date1, DateTimeData date2) {
  +        if (date1.hour < date2.hour)
  +            return -1;
  +        if (date1.hour > date2.hour)
  +            return 1;
  +        if (date1.minute < date2.minute)
  +            return -1;
  +        if (date1.minute > date2.minute)
  +            return 1;
  +        if (date1.second < date2.second)
  +            return -1;
  +        if (date1.second > date2.second)
  +            return 1;
  +        if (date1.utc < date2.utc)
  +            return -1;
  +        if (date1.utc > date2.utc)
  +            return 1;
  +        return 0;
  +    }
   
       /**
        * Converts time object representation to String
  
  
  
  1.15      +27 -1     
xml-xerces/java/src/org/apache/xerces/impl/dv/xs/DateDV.java
  
  Index: DateDV.java
  ===================================================================
  RCS file: 
/home/cvs/xml-xerces/java/src/org/apache/xerces/impl/dv/xs/DateDV.java,v
  retrieving revision 1.14
  retrieving revision 1.15
  diff -u -r1.14 -r1.15
  --- DateDV.java       6 Oct 2004 14:56:47 -0000       1.14
  +++ DateDV.java       25 Nov 2004 22:03:49 -0000      1.15
  @@ -62,6 +62,32 @@
           }
           return date;
       }
  +    
  +    /**
  +     * Given normalized values, determines order-relation
  +     * between give date/time objects.
  +     *
  +     * @param date1  date/time object
  +     * @param date2  date/time object
  +     * @return 0 if date1 and date2 are equal, a value less than 0 if date1 
is less than date2, a value greater than 0 if date1 is greater than date2
  +     */
  +    protected short compareOrder(DateTimeData date1, DateTimeData date2) {
  +        if (date1.year < date2.year)
  +            return -1;
  +        if (date1.year > date2.year)
  +            return 1;
  +        if (date1.month < date2.month)
  +            return -1;
  +        if (date1.month > date2.month)
  +            return 1;
  +        if (date1.day < date2.day)
  +            return -1;
  +        if (date1.day > date2.day)
  +            return 1;
  +        if (date1.utc > date2.utc)
  +            return 1;
  +        return 0;
  +    }
   
       protected String dateToString(DateTimeData date) {
           StringBuffer message = new StringBuffer(25);
  
  
  
  1.13      +25 -1     
xml-xerces/java/src/org/apache/xerces/impl/dv/xs/MonthDayDV.java
  
  Index: MonthDayDV.java
  ===================================================================
  RCS file: 
/home/cvs/xml-xerces/java/src/org/apache/xerces/impl/dv/xs/MonthDayDV.java,v
  retrieving revision 1.12
  retrieving revision 1.13
  diff -u -r1.12 -r1.13
  --- MonthDayDV.java   6 Oct 2004 14:56:46 -0000       1.12
  +++ MonthDayDV.java   25 Nov 2004 22:03:49 -0000      1.13
  @@ -94,6 +94,30 @@
           }
           return date;
       }
  +    
  +    /**
  +     * Given normalized values, determines order-relation
  +     * between give date/time objects.
  +     *
  +     * @param date1  date/time object
  +     * @param date2  date/time object
  +     * @return 0 if date1 and date2 are equal, a value less than 0 if date1 
is less than date2, a value greater than 0 if date1 is greater than date2
  +     */
  +    protected short compareOrder(DateTimeData date1, DateTimeData date2) {
  +        if (date1.month < date2.month)
  +            return -1;
  +        if (date1.month > date2.month)
  +            return 1;
  +        if (date1.day < date2.day)
  +            return -1;
  +        if (date1.day > date2.day)
  +            return 1;
  +        if (date1.utc < date2.utc)
  +            return -1;
  +        if (date1.utc > date2.utc)
  +            return 1;
  +        return 0;
  +    }
   
       /**
        * Converts gMonthDay object representation to String
  
  
  
  1.13      +21 -1     
xml-xerces/java/src/org/apache/xerces/impl/dv/xs/DayDV.java
  
  Index: DayDV.java
  ===================================================================
  RCS file: 
/home/cvs/xml-xerces/java/src/org/apache/xerces/impl/dv/xs/DayDV.java,v
  retrieving revision 1.12
  retrieving revision 1.13
  diff -u -r1.12 -r1.13
  --- DayDV.java        6 Oct 2004 14:56:47 -0000       1.12
  +++ DayDV.java        25 Nov 2004 22:03:49 -0000      1.13
  @@ -82,6 +82,26 @@
           }
           return date;
       }
  +    
  +    /**
  +     * Given normalized values, determines order-relation
  +     * between give date/time objects.
  +     *
  +     * @param date1  date/time object
  +     * @param date2  date/time object
  +     * @return 0 if date1 and date2 are equal, a value less than 0 if date1 
is less than date2, a value greater than 0 if date1 is greater than date2
  +     */
  +    protected short compareOrder(DateTimeData date1, DateTimeData date2) {
  +        if (date1.day < date2.day)
  +            return -1;
  +        if (date1.day > date2.day)
  +            return 1;
  +        if (date1.utc < date2.utc)
  +            return -1;
  +        if (date1.utc > date2.utc)
  +            return 1;
  +        return 0;
  +    }
   
       /**
        * Converts gDay object representation to String
  
  
  
  1.13      +25 -1     
xml-xerces/java/src/org/apache/xerces/impl/dv/xs/YearMonthDV.java
  
  Index: YearMonthDV.java
  ===================================================================
  RCS file: 
/home/cvs/xml-xerces/java/src/org/apache/xerces/impl/dv/xs/YearMonthDV.java,v
  retrieving revision 1.12
  retrieving revision 1.13
  diff -u -r1.12 -r1.13
  --- YearMonthDV.java  6 Oct 2004 14:56:47 -0000       1.12
  +++ YearMonthDV.java  25 Nov 2004 22:03:49 -0000      1.13
  @@ -71,6 +71,30 @@
           }
           return date;
       }
  +    
  +    /**
  +     * Given normalized values, determines order-relation
  +     * between give date/time objects.
  +     *
  +     * @param date1  date/time object
  +     * @param date2  date/time object
  +     * @return 0 if date1 and date2 are equal, a value less than 0 if date1 
is less than date2, a value greater than 0 if date1 is greater than date2
  +     */
  +    protected short compareOrder(DateTimeData date1, DateTimeData date2) {
  +        if (date1.year < date2.year)
  +            return -1;
  +        if (date1.year > date2.year)
  +            return 1;
  +        if (date1.month < date2.month)
  +            return -1;
  +        if (date1.month > date2.month)
  +            return 1;
  +        if (date1.utc < date2.utc)
  +            return -1;
  +        if (date1.utc > date2.utc)
  +            return 1;
  +        return 0;
  +    }
   
       protected String dateToString(DateTimeData date) {
           StringBuffer message = new StringBuffer(25);
  
  
  
  1.15      +23 -3     
xml-xerces/java/src/org/apache/xerces/impl/dv/xs/MonthDV.java
  
  Index: MonthDV.java
  ===================================================================
  RCS file: 
/home/cvs/xml-xerces/java/src/org/apache/xerces/impl/dv/xs/MonthDV.java,v
  retrieving revision 1.14
  retrieving revision 1.15
  diff -u -r1.14 -r1.15
  --- MonthDV.java      6 Oct 2004 14:56:47 -0000       1.14
  +++ MonthDV.java      25 Nov 2004 22:03:49 -0000      1.15
  @@ -91,6 +91,26 @@
           }
           return date;
       }
  +    
  +    /**
  +     * Given normalized values, determines order-relation
  +     * between give date/time objects.
  +     *
  +     * @param date1  date/time object
  +     * @param date2  date/time object
  +     * @return 0 if date1 and date2 are equal, a value less than 0 if date1 
is less than date2, a value greater than 0 if date1 is greater than date2
  +     */
  +    protected short compareOrder(DateTimeData date1, DateTimeData date2) {
  +        if (date1.month < date2.month)
  +            return -1;
  +        if (date1.month > date2.month)
  +            return 1;
  +        if (date1.utc < date2.utc)
  +            return -1;
  +        if (date1.utc > date2.utc)
  +            return 1;
  +        return 0;
  +    }
   
       /**
        * Overwrite compare algorithm to optimize month comparison
  @@ -104,7 +124,7 @@
        * @param date2
        * @return less, greater, equal, indeterminate
        */
  -    protected  short compareDates(DateTimeData date1, DateTimeData date2) {
  +    /*protected  short compareDates(DateTimeData date1, DateTimeData date2) {
   
           if ( date1.utc==date2.utc ) {
               return 
(short)((date1.month>=date2.month)?(date1.month>date2.month)?1:0:-1);
  @@ -132,7 +152,7 @@
               return 1;
           }
   
  -    }
  +    }*/
   
       /**
        * Converts month object representation to String
  
  
  

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

Reply via email to