You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@xmlbeans.apache.org by ce...@apache.org on 2009/06/05 00:37:20 UTC
svn commit: r781862 - in /xmlbeans/trunk/src:
typeimpl/org/apache/xmlbeans/impl/values/JavaQNameHolder.java
xmlpublic/org/apache/xmlbeans/GDate.java
xmlpublic/org/apache/xmlbeans/GDateBuilder.java
xmlpublic/org/apache/xmlbeans/GDuration.java
Author: cezar
Date: Thu Jun 4 22:37:19 2009
New Revision: 781862
URL: http://svn.apache.org/viewvc?rev=781862&view=rev
Log:
Various fixes:
- more validation checks for dates with year starting with 0.
- for durations without containing any fields
- for normalization of dateTime with hour 24.
- for including prefix when validating QNames.
Modified:
xmlbeans/trunk/src/typeimpl/org/apache/xmlbeans/impl/values/JavaQNameHolder.java
xmlbeans/trunk/src/xmlpublic/org/apache/xmlbeans/GDate.java
xmlbeans/trunk/src/xmlpublic/org/apache/xmlbeans/GDateBuilder.java
xmlbeans/trunk/src/xmlpublic/org/apache/xmlbeans/GDuration.java
Modified: xmlbeans/trunk/src/typeimpl/org/apache/xmlbeans/impl/values/JavaQNameHolder.java
URL: http://svn.apache.org/viewvc/xmlbeans/trunk/src/typeimpl/org/apache/xmlbeans/impl/values/JavaQNameHolder.java?rev=781862&r1=781861&r2=781862&view=diff
==============================================================================
--- xmlbeans/trunk/src/typeimpl/org/apache/xmlbeans/impl/values/JavaQNameHolder.java (original)
+++ xmlbeans/trunk/src/typeimpl/org/apache/xmlbeans/impl/values/JavaQNameHolder.java Thu Jun 4 22:37:19 2009
@@ -142,7 +142,10 @@
uri = "";
}
- return new QName( uri, localname );
+ if ( prefix!=null && prefix.length()>0 )
+ return new QName(uri, localname, prefix );
+ else
+ return new QName( uri, localname );
}
protected void set_text(String s)
Modified: xmlbeans/trunk/src/xmlpublic/org/apache/xmlbeans/GDate.java
URL: http://svn.apache.org/viewvc/xmlbeans/trunk/src/xmlpublic/org/apache/xmlbeans/GDate.java?rev=781862&r1=781861&r2=781862&view=diff
==============================================================================
--- xmlbeans/trunk/src/xmlpublic/org/apache/xmlbeans/GDate.java (original)
+++ xmlbeans/trunk/src/xmlpublic/org/apache/xmlbeans/GDate.java Thu Jun 4 22:37:19 2009
@@ -128,11 +128,17 @@
int value = 0;
int digits = -start;
char ch;
+ boolean startsWithZero = start < len && digitVal(string.charAt(start))==0;
+
for (;;)
{
ch = start < len ? string.charAt(start) : '\0';
if (!isDigit(ch))
break;
+
+ if ( startsWithZero && start+digits>=4 )
+ throw new IllegalArgumentException("year value starting with zero must be 4 or less digits: " + string);
+
value = value * 10 + digitVal(ch);
start += 1;
}
Modified: xmlbeans/trunk/src/xmlpublic/org/apache/xmlbeans/GDateBuilder.java
URL: http://svn.apache.org/viewvc/xmlbeans/trunk/src/xmlpublic/org/apache/xmlbeans/GDateBuilder.java?rev=781862&r1=781861&r2=781862&view=diff
==============================================================================
--- xmlbeans/trunk/src/xmlpublic/org/apache/xmlbeans/GDateBuilder.java (original)
+++ xmlbeans/trunk/src/xmlpublic/org/apache/xmlbeans/GDateBuilder.java Thu Jun 4 22:37:19 2009
@@ -602,7 +602,7 @@
// DateTime or Time, with TimeZone: normalize to UTC.
// In the process all the fields will be normalized.
if (hasDay() == hasMonth() && hasDay() == hasYear() &&
- hasTimeZone() && hasTime())
+ hasTimeZone() && hasTime() && getHour()!=24 )
{
normalizeToTimeZone(0, 0, 0);
}
Modified: xmlbeans/trunk/src/xmlpublic/org/apache/xmlbeans/GDuration.java
URL: http://svn.apache.org/viewvc/xmlbeans/trunk/src/xmlpublic/org/apache/xmlbeans/GDuration.java?rev=781862&r1=781861&r2=781862&view=diff
==============================================================================
--- xmlbeans/trunk/src/xmlpublic/org/apache/xmlbeans/GDuration.java (original)
+++ xmlbeans/trunk/src/xmlpublic/org/apache/xmlbeans/GDuration.java Thu Jun 4 22:37:19 2009
@@ -196,6 +196,9 @@
throw new IllegalArgumentException("duration must specify Y M D T H M S in order");
}
}
+
+ if ( seen == SEEN_NOTHING )
+ throw new IllegalArgumentException("duration must contain at least one number and its designator: " + str);
}
/**
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@xmlbeans.apache.org
For additional commands, e-mail: commits-help@xmlbeans.apache.org