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]