Author: mrglavas
Date: Sun Apr 25 04:25:46 2010
New Revision: 937741

URL: http://svn.apache.org/viewvc?rev=937741&view=rev
Log:
Xerces' DatatypeFactory is thread-safe and stateless. Making the factory field 
static. We only need one for all the date/time/duration DVs.

Modified:
    xerces/java/trunk/src/org/apache/xerces/impl/dv/xs/AbstractDateTimeDV.java
    xerces/java/trunk/src/org/apache/xerces/impl/dv/xs/DateDV.java
    xerces/java/trunk/src/org/apache/xerces/impl/dv/xs/DateTimeDV.java
    xerces/java/trunk/src/org/apache/xerces/impl/dv/xs/DayDV.java
    xerces/java/trunk/src/org/apache/xerces/impl/dv/xs/DayTimeDurationDV.java
    xerces/java/trunk/src/org/apache/xerces/impl/dv/xs/DurationDV.java
    xerces/java/trunk/src/org/apache/xerces/impl/dv/xs/MonthDV.java
    xerces/java/trunk/src/org/apache/xerces/impl/dv/xs/MonthDayDV.java
    xerces/java/trunk/src/org/apache/xerces/impl/dv/xs/TimeDV.java
    xerces/java/trunk/src/org/apache/xerces/impl/dv/xs/YearDV.java
    xerces/java/trunk/src/org/apache/xerces/impl/dv/xs/YearMonthDV.java
    xerces/java/trunk/src/org/apache/xerces/impl/dv/xs/YearMonthDurationDV.java

Modified: 
xerces/java/trunk/src/org/apache/xerces/impl/dv/xs/AbstractDateTimeDV.java
URL: 
http://svn.apache.org/viewvc/xerces/java/trunk/src/org/apache/xerces/impl/dv/xs/AbstractDateTimeDV.java?rev=937741&r1=937740&r2=937741&view=diff
==============================================================================
--- xerces/java/trunk/src/org/apache/xerces/impl/dv/xs/AbstractDateTimeDV.java 
(original)
+++ xerces/java/trunk/src/org/apache/xerces/impl/dv/xs/AbstractDateTimeDV.java 
Sun Apr 25 04:25:46 2010
@@ -60,7 +60,7 @@ public abstract class AbstractDateTimeDV
        protected final static int MONTH=01;
        protected final static int DAY = 01;
     
-    protected final DatatypeFactory factory = new DatatypeFactoryImpl();
+    protected static final DatatypeFactory datatypeFactory = new 
DatatypeFactoryImpl();
        
        public short getAllowedFacets(){
                return ( XSSimpleTypeDecl.FACET_PATTERN | 
XSSimpleTypeDecl.FACET_WHITESPACE | XSSimpleTypeDecl.FACET_ENUMERATION 
|XSSimpleTypeDecl.FACET_MAXINCLUSIVE |XSSimpleTypeDecl.FACET_MININCLUSIVE | 
XSSimpleTypeDecl.FACET_MAXEXCLUSIVE  | XSSimpleTypeDecl.FACET_MINEXCLUSIVE  );

Modified: xerces/java/trunk/src/org/apache/xerces/impl/dv/xs/DateDV.java
URL: 
http://svn.apache.org/viewvc/xerces/java/trunk/src/org/apache/xerces/impl/dv/xs/DateDV.java?rev=937741&r1=937740&r2=937741&view=diff
==============================================================================
--- xerces/java/trunk/src/org/apache/xerces/impl/dv/xs/DateDV.java (original)
+++ xerces/java/trunk/src/org/apache/xerces/impl/dv/xs/DateDV.java Sun Apr 25 
04:25:46 2010
@@ -83,7 +83,7 @@ public class DateDV extends DateTimeDV {
     }
     
     protected XMLGregorianCalendar getXMLGregorianCalendar(DateTimeData date) {
-        return factory.newXMLGregorianCalendar(date.unNormYear, 
date.unNormMonth, 
+        return datatypeFactory.newXMLGregorianCalendar(date.unNormYear, 
date.unNormMonth, 
                 date.unNormDay, DatatypeConstants.FIELD_UNDEFINED, 
DatatypeConstants.FIELD_UNDEFINED, 
                 DatatypeConstants.FIELD_UNDEFINED, 
DatatypeConstants.FIELD_UNDEFINED, 
                 date.hasTimeZone() ? (date.timezoneHr * 60 + date.timezoneMin) 
: DatatypeConstants.FIELD_UNDEFINED);

Modified: xerces/java/trunk/src/org/apache/xerces/impl/dv/xs/DateTimeDV.java
URL: 
http://svn.apache.org/viewvc/xerces/java/trunk/src/org/apache/xerces/impl/dv/xs/DateTimeDV.java?rev=937741&r1=937740&r2=937741&view=diff
==============================================================================
--- xerces/java/trunk/src/org/apache/xerces/impl/dv/xs/DateTimeDV.java 
(original)
+++ xerces/java/trunk/src/org/apache/xerces/impl/dv/xs/DateTimeDV.java Sun Apr 
25 04:25:46 2010
@@ -85,7 +85,7 @@ public class DateTimeDV extends Abstract
     }
     
     protected XMLGregorianCalendar getXMLGregorianCalendar(DateTimeData date) {
-        return 
factory.newXMLGregorianCalendar(BigInteger.valueOf(date.unNormYear), 
date.unNormMonth, 
+        return 
datatypeFactory.newXMLGregorianCalendar(BigInteger.valueOf(date.unNormYear), 
date.unNormMonth, 
                 date.unNormDay, date.unNormHour, date.unNormMinute, 
                 (int)date.unNormSecond, date.unNormSecond != 0 ? 
getFractionalSecondsAsBigDecimal(date) : null, 
                 date.hasTimeZone() ? (date.timezoneHr * 60 + date.timezoneMin) 
: DatatypeConstants.FIELD_UNDEFINED);

Modified: xerces/java/trunk/src/org/apache/xerces/impl/dv/xs/DayDV.java
URL: 
http://svn.apache.org/viewvc/xerces/java/trunk/src/org/apache/xerces/impl/dv/xs/DayDV.java?rev=937741&r1=937740&r2=937741&view=diff
==============================================================================
--- xerces/java/trunk/src/org/apache/xerces/impl/dv/xs/DayDV.java (original)
+++ xerces/java/trunk/src/org/apache/xerces/impl/dv/xs/DayDV.java Sun Apr 25 
04:25:46 2010
@@ -107,7 +107,7 @@ public class DayDV extends AbstractDateT
     }
     
     protected XMLGregorianCalendar getXMLGregorianCalendar(DateTimeData date) {
-        return 
factory.newXMLGregorianCalendar(DatatypeConstants.FIELD_UNDEFINED, 
DatatypeConstants.FIELD_UNDEFINED, 
+        return 
datatypeFactory.newXMLGregorianCalendar(DatatypeConstants.FIELD_UNDEFINED, 
DatatypeConstants.FIELD_UNDEFINED, 
                 date.unNormDay, DatatypeConstants.FIELD_UNDEFINED, 
DatatypeConstants.FIELD_UNDEFINED, 
                 DatatypeConstants.FIELD_UNDEFINED, 
DatatypeConstants.FIELD_UNDEFINED, 
                 date.hasTimeZone() ? date.timezoneHr * 60 + date.timezoneMin : 
DatatypeConstants.FIELD_UNDEFINED);

Modified: 
xerces/java/trunk/src/org/apache/xerces/impl/dv/xs/DayTimeDurationDV.java
URL: 
http://svn.apache.org/viewvc/xerces/java/trunk/src/org/apache/xerces/impl/dv/xs/DayTimeDurationDV.java?rev=937741&r1=937740&r2=937741&view=diff
==============================================================================
--- xerces/java/trunk/src/org/apache/xerces/impl/dv/xs/DayTimeDurationDV.java 
(original)
+++ xerces/java/trunk/src/org/apache/xerces/impl/dv/xs/DayTimeDurationDV.java 
Sun Apr 25 04:25:46 2010
@@ -51,7 +51,7 @@ class DayTimeDurationDV extends Duration
         if (date.day<0 || date.hour<0 || date.minute<0 || date.second<0) {
             sign = -1;
         }
-        return factory.newDuration(sign == 1, null, null, 
+        return datatypeFactory.newDuration(sign == 1, null, null, 
                 date.day != 
DatatypeConstants.FIELD_UNDEFINED?BigInteger.valueOf(sign*date.day):null, 
                 date.hour != 
DatatypeConstants.FIELD_UNDEFINED?BigInteger.valueOf(sign*date.hour):null, 
                 date.minute != 
DatatypeConstants.FIELD_UNDEFINED?BigInteger.valueOf(sign*date.minute):null, 

Modified: xerces/java/trunk/src/org/apache/xerces/impl/dv/xs/DurationDV.java
URL: 
http://svn.apache.org/viewvc/xerces/java/trunk/src/org/apache/xerces/impl/dv/xs/DurationDV.java?rev=937741&r1=937740&r2=937741&view=diff
==============================================================================
--- xerces/java/trunk/src/org/apache/xerces/impl/dv/xs/DurationDV.java 
(original)
+++ xerces/java/trunk/src/org/apache/xerces/impl/dv/xs/DurationDV.java Sun Apr 
25 04:25:46 2010
@@ -376,7 +376,7 @@ public class DurationDV extends Abstract
                 || date.hour<0 || date.minute<0 || date.second<0) {
             sign = -1;
         }
-        return factory.newDuration(sign == 1, 
+        return datatypeFactory.newDuration(sign == 1, 
                 date.year != 
DatatypeConstants.FIELD_UNDEFINED?BigInteger.valueOf(sign*date.year):null, 
                 date.month != 
DatatypeConstants.FIELD_UNDEFINED?BigInteger.valueOf(sign*date.month):null, 
                 date.day != 
DatatypeConstants.FIELD_UNDEFINED?BigInteger.valueOf(sign*date.day):null, 

Modified: xerces/java/trunk/src/org/apache/xerces/impl/dv/xs/MonthDV.java
URL: 
http://svn.apache.org/viewvc/xerces/java/trunk/src/org/apache/xerces/impl/dv/xs/MonthDV.java?rev=937741&r1=937740&r2=937741&view=diff
==============================================================================
--- xerces/java/trunk/src/org/apache/xerces/impl/dv/xs/MonthDV.java (original)
+++ xerces/java/trunk/src/org/apache/xerces/impl/dv/xs/MonthDV.java Sun Apr 25 
04:25:46 2010
@@ -157,7 +157,7 @@ public class MonthDV extends AbstractDat
     }
     
     protected XMLGregorianCalendar getXMLGregorianCalendar(DateTimeData date) {
-        return 
factory.newXMLGregorianCalendar(DatatypeConstants.FIELD_UNDEFINED, 
date.unNormMonth, 
+        return 
datatypeFactory.newXMLGregorianCalendar(DatatypeConstants.FIELD_UNDEFINED, 
date.unNormMonth, 
                 DatatypeConstants.FIELD_UNDEFINED, 
DatatypeConstants.FIELD_UNDEFINED, DatatypeConstants.FIELD_UNDEFINED, 
                 DatatypeConstants.FIELD_UNDEFINED, 
DatatypeConstants.FIELD_UNDEFINED, 
                 date.hasTimeZone() ? date.timezoneHr * 60 + date.timezoneMin : 
DatatypeConstants.FIELD_UNDEFINED);

Modified: xerces/java/trunk/src/org/apache/xerces/impl/dv/xs/MonthDayDV.java
URL: 
http://svn.apache.org/viewvc/xerces/java/trunk/src/org/apache/xerces/impl/dv/xs/MonthDayDV.java?rev=937741&r1=937740&r2=937741&view=diff
==============================================================================
--- xerces/java/trunk/src/org/apache/xerces/impl/dv/xs/MonthDayDV.java 
(original)
+++ xerces/java/trunk/src/org/apache/xerces/impl/dv/xs/MonthDayDV.java Sun Apr 
25 04:25:46 2010
@@ -120,7 +120,7 @@ public class MonthDayDV extends Abstract
     }
     
     protected XMLGregorianCalendar getXMLGregorianCalendar(DateTimeData date) {
-        return 
factory.newXMLGregorianCalendar(DatatypeConstants.FIELD_UNDEFINED, 
date.unNormMonth, date.unNormDay, 
+        return 
datatypeFactory.newXMLGregorianCalendar(DatatypeConstants.FIELD_UNDEFINED, 
date.unNormMonth, date.unNormDay, 
                 DatatypeConstants.FIELD_UNDEFINED, 
DatatypeConstants.FIELD_UNDEFINED, 
                 DatatypeConstants.FIELD_UNDEFINED, 
DatatypeConstants.FIELD_UNDEFINED, 
                 date.hasTimeZone() ? date.timezoneHr * 60 + date.timezoneMin : 
DatatypeConstants.FIELD_UNDEFINED);

Modified: xerces/java/trunk/src/org/apache/xerces/impl/dv/xs/TimeDV.java
URL: 
http://svn.apache.org/viewvc/xerces/java/trunk/src/org/apache/xerces/impl/dv/xs/TimeDV.java?rev=937741&r1=937740&r2=937741&view=diff
==============================================================================
--- xerces/java/trunk/src/org/apache/xerces/impl/dv/xs/TimeDV.java (original)
+++ xerces/java/trunk/src/org/apache/xerces/impl/dv/xs/TimeDV.java Sun Apr 25 
04:25:46 2010
@@ -103,7 +103,7 @@ public class TimeDV extends AbstractDate
     }
     
     protected XMLGregorianCalendar getXMLGregorianCalendar(DateTimeData date) {
-        return factory.newXMLGregorianCalendar(null, 
DatatypeConstants.FIELD_UNDEFINED, 
+        return datatypeFactory.newXMLGregorianCalendar(null, 
DatatypeConstants.FIELD_UNDEFINED, 
                 DatatypeConstants.FIELD_UNDEFINED, date.unNormHour, 
date.unNormMinute, 
                 (int)date.unNormSecond, date.unNormSecond != 0 ? 
getFractionalSecondsAsBigDecimal(date) : null,
                 date.hasTimeZone() ? (date.timezoneHr * 60 + date.timezoneMin) 
: DatatypeConstants.FIELD_UNDEFINED);

Modified: xerces/java/trunk/src/org/apache/xerces/impl/dv/xs/YearDV.java
URL: 
http://svn.apache.org/viewvc/xerces/java/trunk/src/org/apache/xerces/impl/dv/xs/YearDV.java?rev=937741&r1=937740&r2=937741&view=diff
==============================================================================
--- xerces/java/trunk/src/org/apache/xerces/impl/dv/xs/YearDV.java (original)
+++ xerces/java/trunk/src/org/apache/xerces/impl/dv/xs/YearDV.java Sun Apr 25 
04:25:46 2010
@@ -116,7 +116,7 @@ public class YearDV extends AbstractDate
     }
     
     protected XMLGregorianCalendar getXMLGregorianCalendar(DateTimeData date) {
-        return factory.newXMLGregorianCalendar(date.unNormYear, 
DatatypeConstants.FIELD_UNDEFINED, 
+        return datatypeFactory.newXMLGregorianCalendar(date.unNormYear, 
DatatypeConstants.FIELD_UNDEFINED, 
                 DatatypeConstants.FIELD_UNDEFINED, 
DatatypeConstants.FIELD_UNDEFINED, DatatypeConstants.FIELD_UNDEFINED, 
                 DatatypeConstants.FIELD_UNDEFINED, 
DatatypeConstants.FIELD_UNDEFINED, 
                 date.hasTimeZone() ? date.timezoneHr * 60 + date.timezoneMin : 
DatatypeConstants.FIELD_UNDEFINED);

Modified: xerces/java/trunk/src/org/apache/xerces/impl/dv/xs/YearMonthDV.java
URL: 
http://svn.apache.org/viewvc/xerces/java/trunk/src/org/apache/xerces/impl/dv/xs/YearMonthDV.java?rev=937741&r1=937740&r2=937741&view=diff
==============================================================================
--- xerces/java/trunk/src/org/apache/xerces/impl/dv/xs/YearMonthDV.java 
(original)
+++ xerces/java/trunk/src/org/apache/xerces/impl/dv/xs/YearMonthDV.java Sun Apr 
25 04:25:46 2010
@@ -90,7 +90,7 @@ public class YearMonthDV extends Abstrac
     }
     
     protected XMLGregorianCalendar getXMLGregorianCalendar(DateTimeData date) {
-        return factory.newXMLGregorianCalendar(date.unNormYear, 
date.unNormMonth, DatatypeConstants.FIELD_UNDEFINED, 
+        return datatypeFactory.newXMLGregorianCalendar(date.unNormYear, 
date.unNormMonth, DatatypeConstants.FIELD_UNDEFINED, 
                 DatatypeConstants.FIELD_UNDEFINED, 
DatatypeConstants.FIELD_UNDEFINED, 
                 DatatypeConstants.FIELD_UNDEFINED, 
DatatypeConstants.FIELD_UNDEFINED, 
                 date.hasTimeZone() ? date.timezoneHr * 60 + date.timezoneMin : 
DatatypeConstants.FIELD_UNDEFINED);

Modified: 
xerces/java/trunk/src/org/apache/xerces/impl/dv/xs/YearMonthDurationDV.java
URL: 
http://svn.apache.org/viewvc/xerces/java/trunk/src/org/apache/xerces/impl/dv/xs/YearMonthDurationDV.java?rev=937741&r1=937740&r2=937741&view=diff
==============================================================================
--- xerces/java/trunk/src/org/apache/xerces/impl/dv/xs/YearMonthDurationDV.java 
(original)
+++ xerces/java/trunk/src/org/apache/xerces/impl/dv/xs/YearMonthDurationDV.java 
Sun Apr 25 04:25:46 2010
@@ -51,7 +51,7 @@ class YearMonthDurationDV extends Durati
         if ( date.year<0 || date.month<0) {
             sign = -1;
         }
-        return factory.newDuration(sign == 1, 
+        return datatypeFactory.newDuration(sign == 1, 
                 date.year != 
DatatypeConstants.FIELD_UNDEFINED?BigInteger.valueOf(sign*date.year):null, 
                 date.month != 
DatatypeConstants.FIELD_UNDEFINED?BigInteger.valueOf(sign*date.month):null, 
                 null,



---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to