summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew John Hughes <gnu_andrew@member.fsf.org>2012-12-28 21:04:54 +0000
committerAndrew John Hughes <gnu_andrew@member.fsf.org>2012-12-28 21:04:54 +0000
commitcde3d770016fc1131851d23763c1ce450fba6587 (patch)
tree06f5b143499cb642087b12ac67e18a00b26d0104
parent2190710f0c2ddaa65e55ba4e31bcd200bcc56d64 (diff)
downloadclasspath-cde3d770016fc1131851d23763c1ce450fba6587.tar.gz
Fix warnings in gnu.xml.validation.*
2012-12-28 Andrew John Hughes <gnu_andrew@member.fsf.org> * gnu/xml/validation/datatype/AnySimpleType.java: (AnySimpleType()): Remove unneeded cast. * gnu/xml/validation/datatype/AtomicSimpleType.java: (AtomicSimpleType(QName,Set,int,SimpleType, Annotation)): Add type parameter to Set. * gnu/xml/validation/datatype/BooleanType.java: (VALUE_SPACE): Likewise. * gnu/xml/validation/datatype/DoubleType.java: (SPECIAL): Likewise. * gnu/xml/validation/datatype/DurationType.java: (Duration): Implement Comparable<Duration> not Comparable. (Duration.hashCode()): Add @Override. (Duration.equals(Object)): Likewise. (Duration.compareTo(Duration)): Likewise and use specific type, which also fixes issue with it returning 0 for other objects, rather than throwing a ClassCastException. (createValue(String,ValidationContext)): Remove unused months field. Set duration.years from years. * gnu/xml/validation/datatype/FloatType.java: (SPECIAL): Add type parameter. * gnu/xml/validation/datatype/GDayType.java, (GDay): Implement Comparable<GDay> not Comparable. (GDay.hashCode()): Add @Override. (GDay.equals(Object)): Likewise. (GDay.compareTo(GDay)): Likewise and use specific type, which also fixes issue with it returning 0 for other objects, rather than throwing a ClassCastException. * gnu/xml/validation/datatype/GMonthDayType.java: (GMonthDay): Implement Comparable<GMonthDay> not Comparable. (GMonthDay.hashCode()): Add @Override. (GMonthDay.equals(Object)): Likewise. (GMonthDay.compareTo(GMonthDay)): Likewise and use specific type, which also fixes issue with it returning 0 for other objects, rather than throwing a ClassCastException. * gnu/xml/validation/datatype/GMonthType.java: (GMonth): Implement Comparable<GMonth> not Comparable. (GMonth.hashCode()): Add @Override. (GMonth.equals(Object)): Likewise. (GMonth.compareTo(GMonth)): Likewise and use specific type, which also fixes issue with it returning 0 for other objects, rather than throwing a ClassCastException. * gnu/xml/validation/datatype/GYearMonthType.java, (GYearMonth): Implement Comparable<GYearMonth> not Comparable. (GYearMonth.hashCode()): Add @Override. (GYearMonth.equals(Object)): Likewise. (GYearMonth.compareTo(GYearMonth)): Likewise and use specific type, which also fixes issue with it returning 0 for other objects, rather than throwing a ClassCastException. * gnu/xml/validation/datatype/GYearType.java, (GYear): Implement Comparable<GYear> not Comparable. (GYear.hashCode()): Add @Override. (GYear.equals(Object)): Likewise. (GYear.compareTo(GYear)): Likewise and use specific type, which also fixes issue with it returning 0 for other objects, rather than throwing a ClassCastException. * gnu/xml/validation/datatype/ListSimpleType.java: (ListSimpleType(QName,Set,int,SimpleType,Annotation, SimpleType)): Add type parameter to Set. * gnu/xml/validation/datatype/MaxExclusiveFacet.java: (matches(Object)): Use Comparable<Object>. * gnu/xml/validation/datatype/MaxInclusiveFacet.java: (matches(Object)): Likewise. * gnu/xml/validation/datatype/MinExclusiveFacet.java: (matches(Object)): Likewise. * gnu/xml/validation/datatype/MinInclusiveFacet.java: (matches(Object)): Likewise. * gnu/xml/validation/datatype/SimpleType.java: (facets): Add type parameter to Set. (SimpleType(QName,int,Set,int,SimpleType,Annotation)): Likewise. (checkValid(String,ValidationContext)): Add type parameter to Iterator and remove unnecessary cast. * gnu/xml/validation/datatype/TimeType.java: (Time): Implement Comparable<Time> not Comparable. (Time.hashCode()): Add @Override. (Time.equals(Object)): Likewise. (Time.compareTo(Time)): Likewise and use specific type, which also fixes issue with it returning 0 for other objects, rather than throwing a ClassCastException. * gnu/xml/validation/datatype/TypeBuilder.java: (TypeBuilder(SimpleType)): Add type parameter. * gnu/xml/validation/datatype/TypeLibrary.java: (byName): Likewise. (static): Likewise. * gnu/xml/validation/datatype/UnionSimpleType.java: (memberTypes): Likewise. (UnionSimpleType(QName,Set,int,SimpleType,Annotation,List)): Likewise. (checkValid(String,ValidationContext)): Add type parameter to Iterator and remove unnecessary cast. * gnu/xml/validation/relaxng/DataPattern.java: (params): Add type parameter. * gnu/xml/validation/relaxng/FullSyntaxBuilder.java: (VOCABULARY): Likewise. (STRIPPED_ATTRIBUTES): Likewise. (PATTERN_ELEMENTS): Likewise. (EMPTY_STRING_SET): Added as a typesafe replacement for Collections.EMPTY_SET. (static): Add type parameters. (urls): Likewise. (datatypeLibraries): Likewise. (parse(Document)): Likewise and remove redundant casts. (getDefines(Set,Element,Element,boolean)): Add type parameter. (getElements(Set,Element,Element)): Likewise. (expandRefs(Set,Element)): Likewise. (transform(Node)): Remove redundant casts and add type parameters. (handleRefs(Node,Node,Node)): Fix logic error found by compiler. Check should be == null, not != null, or name will be null when dereferenced. (getComponents(Node)): Add type parameter. (forbidDescendants(Node,Set)): Likewise. (combineNodes(Node,String,String,List)): Likewise and remove redundant cast. (getDatatypeLibrary(String)): Add type parameter. * gnu/xml/validation/relaxng/Grammar.java: (defines): Add type parameter. * gnu/xml/validation/xmlschema/ComplexType.java: (attributeUses): Add type parameter. (annotations): Likewise. (ComplexType(QName,boolean,int,int)): Likewise. * gnu/xml/validation/xmlschema/XMLSchema.java: (elementDeclarations): Likewise. (attributeDeclarations): Likewise. (types): Likewise. (XMLSchema(String,String,int,int,boolean,boolean)): Likewise. * gnu/xml/validation/xmlschema/XMLSchemaBuilder.java: (parseSimpleType(QName)): Return type from schema if non-null and add ones returned from typeLibrary before returning. (parseSimpleType(Node)): Remove unused variable and replace with TODO. Add type parameter. (parseRestriction(Node,ComplexType)): Likewise. (parseExtension(Node,ComplexType)): Likewise. * gnu/xml/validation/xmlschema/XMLSchemaValidatorHandler.java: (context): Add type parameter. (attributes): Likewise. (XMLSchemaValidatorHandler(XMLSchema)): Likewise. (getElementTypeInfo()): Remove redundant cast. (getAttributeTypeInfo(int)): Likewise. (isIdAttribute(int)): Likewise. (isSpecified(int)): Likewise. (startElement(String,String,String,Attributes)): Likewise. Signed-off-by: Andrew John Hughes <gnu_andrew@member.fsf.org>
-rw-r--r--ChangeLog162
-rw-r--r--gnu/xml/validation/datatype/AnySimpleType.java2
-rw-r--r--gnu/xml/validation/datatype/AtomicSimpleType.java2
-rw-r--r--gnu/xml/validation/datatype/BooleanType.java4
-rw-r--r--gnu/xml/validation/datatype/DoubleType.java4
-rw-r--r--gnu/xml/validation/datatype/DurationType.java38
-rw-r--r--gnu/xml/validation/datatype/FloatType.java4
-rw-r--r--gnu/xml/validation/datatype/GDayType.java18
-rw-r--r--gnu/xml/validation/datatype/GMonthDayType.java26
-rw-r--r--gnu/xml/validation/datatype/GMonthType.java18
-rw-r--r--gnu/xml/validation/datatype/GYearMonthType.java22
-rw-r--r--gnu/xml/validation/datatype/GYearType.java18
-rw-r--r--gnu/xml/validation/datatype/ListSimpleType.java2
-rw-r--r--gnu/xml/validation/datatype/MaxExclusiveFacet.java4
-rw-r--r--gnu/xml/validation/datatype/MaxInclusiveFacet.java4
-rw-r--r--gnu/xml/validation/datatype/MinExclusiveFacet.java4
-rw-r--r--gnu/xml/validation/datatype/MinInclusiveFacet.java4
-rw-r--r--gnu/xml/validation/datatype/SimpleType.java8
-rw-r--r--gnu/xml/validation/datatype/TimeType.java22
-rw-r--r--gnu/xml/validation/datatype/TypeBuilder.java2
-rw-r--r--gnu/xml/validation/datatype/TypeLibrary.java4
-rw-r--r--gnu/xml/validation/datatype/UnionSimpleType.java10
-rw-r--r--gnu/xml/validation/relaxng/DataPattern.java2
-rw-r--r--gnu/xml/validation/relaxng/FullSyntaxBuilder.java148
-rw-r--r--gnu/xml/validation/relaxng/Grammar.java2
-rw-r--r--gnu/xml/validation/xmlschema/ComplexType.java12
-rw-r--r--gnu/xml/validation/xmlschema/XMLSchema.java15
-rw-r--r--gnu/xml/validation/xmlschema/XMLSchemaBuilder.java18
-rw-r--r--gnu/xml/validation/xmlschema/XMLSchemaValidatorHandler.java21
29 files changed, 383 insertions, 217 deletions
diff --git a/ChangeLog b/ChangeLog
index fe8101ac5..a10138b22 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,165 @@
+2012-12-28 Andrew John Hughes <gnu_andrew@member.fsf.org>
+
+ * gnu/xml/validation/datatype/AnySimpleType.java:
+ (AnySimpleType()): Remove unneeded cast.
+ * gnu/xml/validation/datatype/AtomicSimpleType.java:
+ (AtomicSimpleType(QName,Set,int,SimpleType,
+ Annotation)): Add type parameter to Set.
+ * gnu/xml/validation/datatype/BooleanType.java:
+ (VALUE_SPACE): Likewise.
+ * gnu/xml/validation/datatype/DoubleType.java:
+ (SPECIAL): Likewise.
+ * gnu/xml/validation/datatype/DurationType.java:
+ (Duration): Implement Comparable<Duration> not
+ Comparable.
+ (Duration.hashCode()): Add @Override.
+ (Duration.equals(Object)): Likewise.
+ (Duration.compareTo(Duration)): Likewise and
+ use specific type, which also fixes issue with
+ it returning 0 for other objects, rather than
+ throwing a ClassCastException.
+ (createValue(String,ValidationContext)): Remove
+ unused months field. Set duration.years from
+ years.
+ * gnu/xml/validation/datatype/FloatType.java:
+ (SPECIAL): Add type parameter.
+ * gnu/xml/validation/datatype/GDayType.java,
+ (GDay): Implement Comparable<GDay> not
+ Comparable.
+ (GDay.hashCode()): Add @Override.
+ (GDay.equals(Object)): Likewise.
+ (GDay.compareTo(GDay)): Likewise and
+ use specific type, which also fixes issue with
+ it returning 0 for other objects, rather than
+ throwing a ClassCastException.
+ * gnu/xml/validation/datatype/GMonthDayType.java:
+ (GMonthDay): Implement Comparable<GMonthDay> not
+ Comparable.
+ (GMonthDay.hashCode()): Add @Override.
+ (GMonthDay.equals(Object)): Likewise.
+ (GMonthDay.compareTo(GMonthDay)): Likewise and
+ use specific type, which also fixes issue with
+ it returning 0 for other objects, rather than
+ throwing a ClassCastException.
+ * gnu/xml/validation/datatype/GMonthType.java:
+ (GMonth): Implement Comparable<GMonth> not
+ Comparable.
+ (GMonth.hashCode()): Add @Override.
+ (GMonth.equals(Object)): Likewise.
+ (GMonth.compareTo(GMonth)): Likewise and
+ use specific type, which also fixes issue with
+ it returning 0 for other objects, rather than
+ throwing a ClassCastException.
+ * gnu/xml/validation/datatype/GYearMonthType.java,
+ (GYearMonth): Implement Comparable<GYearMonth> not
+ Comparable.
+ (GYearMonth.hashCode()): Add @Override.
+ (GYearMonth.equals(Object)): Likewise.
+ (GYearMonth.compareTo(GYearMonth)): Likewise and
+ use specific type, which also fixes issue with
+ it returning 0 for other objects, rather than
+ throwing a ClassCastException.
+ * gnu/xml/validation/datatype/GYearType.java,
+ (GYear): Implement Comparable<GYear> not
+ Comparable.
+ (GYear.hashCode()): Add @Override.
+ (GYear.equals(Object)): Likewise.
+ (GYear.compareTo(GYear)): Likewise and
+ use specific type, which also fixes issue with
+ it returning 0 for other objects, rather than
+ throwing a ClassCastException.
+ * gnu/xml/validation/datatype/ListSimpleType.java:
+ (ListSimpleType(QName,Set,int,SimpleType,Annotation,
+ SimpleType)): Add type parameter to Set.
+ * gnu/xml/validation/datatype/MaxExclusiveFacet.java:
+ (matches(Object)): Use Comparable<Object>.
+ * gnu/xml/validation/datatype/MaxInclusiveFacet.java:
+ (matches(Object)): Likewise.
+ * gnu/xml/validation/datatype/MinExclusiveFacet.java:
+ (matches(Object)): Likewise.
+ * gnu/xml/validation/datatype/MinInclusiveFacet.java:
+ (matches(Object)): Likewise.
+ * gnu/xml/validation/datatype/SimpleType.java:
+ (facets): Add type parameter to Set.
+ (SimpleType(QName,int,Set,int,SimpleType,Annotation)):
+ Likewise.
+ (checkValid(String,ValidationContext)): Add type
+ parameter to Iterator and remove unnecessary cast.
+ * gnu/xml/validation/datatype/TimeType.java:
+ (Time): Implement Comparable<Time> not
+ Comparable.
+ (Time.hashCode()): Add @Override.
+ (Time.equals(Object)): Likewise.
+ (Time.compareTo(Time)): Likewise and
+ use specific type, which also fixes issue with
+ it returning 0 for other objects, rather than
+ throwing a ClassCastException.
+ * gnu/xml/validation/datatype/TypeBuilder.java:
+ (TypeBuilder(SimpleType)): Add type parameter.
+ * gnu/xml/validation/datatype/TypeLibrary.java:
+ (byName): Likewise.
+ (static): Likewise.
+ * gnu/xml/validation/datatype/UnionSimpleType.java:
+ (memberTypes): Likewise.
+ (UnionSimpleType(QName,Set,int,SimpleType,Annotation,List)):
+ Likewise.
+ (checkValid(String,ValidationContext)): Add type
+ parameter to Iterator and remove unnecessary cast.
+ * gnu/xml/validation/relaxng/DataPattern.java:
+ (params): Add type parameter.
+ * gnu/xml/validation/relaxng/FullSyntaxBuilder.java:
+ (VOCABULARY): Likewise.
+ (STRIPPED_ATTRIBUTES): Likewise.
+ (PATTERN_ELEMENTS): Likewise.
+ (EMPTY_STRING_SET): Added as a typesafe replacement for
+ Collections.EMPTY_SET.
+ (static): Add type parameters.
+ (urls): Likewise.
+ (datatypeLibraries): Likewise.
+ (parse(Document)): Likewise and remove redundant casts.
+ (getDefines(Set,Element,Element,boolean)): Add type parameter.
+ (getElements(Set,Element,Element)): Likewise.
+ (expandRefs(Set,Element)): Likewise.
+ (transform(Node)): Remove redundant casts and add type
+ parameters.
+ (handleRefs(Node,Node,Node)): Fix logic error found
+ by compiler. Check should be == null, not != null,
+ or name will be null when dereferenced.
+ (getComponents(Node)): Add type parameter.
+ (forbidDescendants(Node,Set)): Likewise.
+ (combineNodes(Node,String,String,List)): Likewise
+ and remove redundant cast.
+ (getDatatypeLibrary(String)): Add type parameter.
+ * gnu/xml/validation/relaxng/Grammar.java:
+ (defines): Add type parameter.
+ * gnu/xml/validation/xmlschema/ComplexType.java:
+ (attributeUses): Add type parameter.
+ (annotations): Likewise.
+ (ComplexType(QName,boolean,int,int)): Likewise.
+ * gnu/xml/validation/xmlschema/XMLSchema.java:
+ (elementDeclarations): Likewise.
+ (attributeDeclarations): Likewise.
+ (types): Likewise.
+ (XMLSchema(String,String,int,int,boolean,boolean)):
+ Likewise.
+ * gnu/xml/validation/xmlschema/XMLSchemaBuilder.java:
+ (parseSimpleType(QName)): Return type from schema if
+ non-null and add ones returned from typeLibrary before
+ returning.
+ (parseSimpleType(Node)): Remove unused variable and replace
+ with TODO. Add type parameter.
+ (parseRestriction(Node,ComplexType)): Likewise.
+ (parseExtension(Node,ComplexType)): Likewise.
+ * gnu/xml/validation/xmlschema/XMLSchemaValidatorHandler.java:
+ (context): Add type parameter.
+ (attributes): Likewise.
+ (XMLSchemaValidatorHandler(XMLSchema)): Likewise.
+ (getElementTypeInfo()): Remove redundant cast.
+ (getAttributeTypeInfo(int)): Likewise.
+ (isIdAttribute(int)): Likewise.
+ (isSpecified(int)): Likewise.
+ (startElement(String,String,String,Attributes)): Likewise.
+
2012-12-27 Andrew John Hughes <gnu_andrew@member.fsf.org>
* javax/lang/model/element/Element.java:
diff --git a/gnu/xml/validation/datatype/AnySimpleType.java b/gnu/xml/validation/datatype/AnySimpleType.java
index 36fb98daa..a13749ea5 100644
--- a/gnu/xml/validation/datatype/AnySimpleType.java
+++ b/gnu/xml/validation/datatype/AnySimpleType.java
@@ -49,7 +49,7 @@ final class AnySimpleType
{
super(new QName(XMLConstants.W3C_XML_SCHEMA_NS_URI, "anySimpleType"),
ANY, /* variety */
- (Set) null, /* facets */
+ null, /* facets */
0, /* fundametalFacets */
(SimpleType) Type.ANY_TYPE, /* baseType */
null);
diff --git a/gnu/xml/validation/datatype/AtomicSimpleType.java b/gnu/xml/validation/datatype/AtomicSimpleType.java
index 38528eecf..54bd7d5a3 100644
--- a/gnu/xml/validation/datatype/AtomicSimpleType.java
+++ b/gnu/xml/validation/datatype/AtomicSimpleType.java
@@ -52,7 +52,7 @@ public class AtomicSimpleType
{
public AtomicSimpleType(QName name,
- Set facets,
+ Set<Facet> facets,
int fundamentalFacets,
SimpleType baseType,
Annotation annotation)
diff --git a/gnu/xml/validation/datatype/BooleanType.java b/gnu/xml/validation/datatype/BooleanType.java
index 5d98d2412..33a918614 100644
--- a/gnu/xml/validation/datatype/BooleanType.java
+++ b/gnu/xml/validation/datatype/BooleanType.java
@@ -59,8 +59,8 @@ final class BooleanType
Facet.WHITESPACE
};
- static final Set VALUE_SPACE =
- new TreeSet(Arrays.asList(new String[] {"true", "false", "1", "0"}));
+ static final Set<String> VALUE_SPACE =
+ new TreeSet<String>(Arrays.asList(new String[] {"true", "false", "1", "0"}));
BooleanType()
{
diff --git a/gnu/xml/validation/datatype/DoubleType.java b/gnu/xml/validation/datatype/DoubleType.java
index dfaa7c8cb..c9f479557 100644
--- a/gnu/xml/validation/datatype/DoubleType.java
+++ b/gnu/xml/validation/datatype/DoubleType.java
@@ -64,8 +64,8 @@ final class DoubleType
Facet.MIN_EXCLUSIVE
};
- static final Set SPECIAL =
- new TreeSet(Arrays.asList(new String[] {"INF", "-INF", "NaN"}));
+ static final Set<String> SPECIAL =
+ new TreeSet<String>(Arrays.asList(new String[] {"INF", "-INF", "NaN"}));
DoubleType()
{
diff --git a/gnu/xml/validation/datatype/DurationType.java b/gnu/xml/validation/datatype/DurationType.java
index 6c0f7b889..33e210b94 100644
--- a/gnu/xml/validation/datatype/DurationType.java
+++ b/gnu/xml/validation/datatype/DurationType.java
@@ -52,7 +52,7 @@ final class DurationType
{
static class Duration
- implements Comparable
+ implements Comparable<Duration>
{
int years;
int months;
@@ -60,6 +60,7 @@ final class DurationType
int minutes;
float seconds;
+ @Override
public int hashCode()
{
int hc = years;
@@ -70,6 +71,7 @@ final class DurationType
return hc;
}
+ @Override
public boolean equals(Object other)
{
if (other instanceof Duration)
@@ -84,24 +86,20 @@ final class DurationType
return false;
}
- public int compareTo(Object other)
+ @Override
+ public int compareTo(Duration duration)
{
- if (other instanceof Duration)
- {
- Duration duration = (Duration) other;
- if (duration.years != years)
- return years - duration.years;
- if (duration.months != months)
- return months - duration.months;
- if (duration.days != days)
- return days - duration.days;
- if (duration.minutes != minutes)
- return minutes = duration.minutes;
- if (duration.seconds == seconds)
- return 0;
- return (seconds < duration.seconds) ? -1 : 1;
- }
- return 0;
+ if (duration.years != years)
+ return years - duration.years;
+ if (duration.months != months)
+ return months - duration.months;
+ if (duration.days != days)
+ return days - duration.days;
+ if (duration.minutes != minutes)
+ return minutes = duration.minutes;
+ if (duration.seconds == seconds)
+ return 0;
+ return (seconds < duration.seconds) ? -1 : 1;
}
}
@@ -173,8 +171,7 @@ final class DurationType
public Object createValue(String value, ValidationContext context) {
boolean negative = false;
- int days = 0, months = 0, years = 0;
- int minutes = 0;
+ int days = 0, years = 0, minutes = 0;
float seconds = 0.0f;
int len = value.length();
char expect = 'P';
@@ -232,6 +229,7 @@ final class DurationType
duration.days = days;
duration.minutes = minutes;
duration.seconds = seconds;
+ duration.years = years;
return duration;
}
diff --git a/gnu/xml/validation/datatype/FloatType.java b/gnu/xml/validation/datatype/FloatType.java
index 8dbb4aa56..b9b25b252 100644
--- a/gnu/xml/validation/datatype/FloatType.java
+++ b/gnu/xml/validation/datatype/FloatType.java
@@ -64,8 +64,8 @@ final class FloatType
Facet.MIN_EXCLUSIVE
};
- static final Set SPECIAL =
- new TreeSet(Arrays.asList(new String[] {"INF", "-INF", "NaN"}));
+ static final Set<String> SPECIAL =
+ new TreeSet<String>(Arrays.asList(new String[] {"INF", "-INF", "NaN"}));
FloatType()
{
diff --git a/gnu/xml/validation/datatype/GDayType.java b/gnu/xml/validation/datatype/GDayType.java
index cc6b8e3d4..e9d836adc 100644
--- a/gnu/xml/validation/datatype/GDayType.java
+++ b/gnu/xml/validation/datatype/GDayType.java
@@ -52,16 +52,18 @@ final class GDayType
{
static class GDay
- implements Comparable
+ implements Comparable<GDay>
{
int day;
+ @Override
public int hashCode()
{
return day;
}
+ @Override
public boolean equals(Object other)
{
if (other instanceof GDay)
@@ -69,16 +71,12 @@ final class GDayType
return false;
}
- public int compareTo(Object other)
+ @Override
+ public int compareTo(GDay gd)
{
- if (other instanceof GDay)
- {
- GDay gd = (GDay) other;
- if (gd.day == day)
- return 0;
- return (day < gd.day) ? -1 : 1;
- }
- return 0;
+ if (gd.day == day)
+ return 0;
+ return (day < gd.day) ? -1 : 1;
}
}
diff --git a/gnu/xml/validation/datatype/GMonthDayType.java b/gnu/xml/validation/datatype/GMonthDayType.java
index d293d9b57..8832fe79d 100644
--- a/gnu/xml/validation/datatype/GMonthDayType.java
+++ b/gnu/xml/validation/datatype/GMonthDayType.java
@@ -52,17 +52,19 @@ final class GMonthDayType
{
static class GMonthDay
- implements Comparable
+ implements Comparable<GMonthDay>
{
int month;
int day;
+ @Override
public int hashCode()
{
return month * 31 + day;
}
+ @Override
public boolean equals(Object other)
{
if (other instanceof GMonthDay)
@@ -73,20 +75,16 @@ final class GMonthDayType
return false;
}
- public int compareTo(Object other)
+ @Override
+ public int compareTo(GMonthDay gmd)
{
- if (other instanceof GMonthDay)
- {
- GMonthDay gmd = (GMonthDay) other;
- if (gmd.month == month)
- {
- if (gmd.day == day)
- return 0;
- return (day < gmd.day) ? -1 : 1;
- }
- return (month < gmd.month) ? -1 : 1;
- }
- return 0;
+ if (gmd.month == month)
+ {
+ if (gmd.day == day)
+ return 0;
+ return (day < gmd.day) ? -1 : 1;
+ }
+ return (month < gmd.month) ? -1 : 1;
}
}
diff --git a/gnu/xml/validation/datatype/GMonthType.java b/gnu/xml/validation/datatype/GMonthType.java
index 9450874b9..daa907bab 100644
--- a/gnu/xml/validation/datatype/GMonthType.java
+++ b/gnu/xml/validation/datatype/GMonthType.java
@@ -52,16 +52,18 @@ final class GMonthType
{
static class GMonth
- implements Comparable
+ implements Comparable<GMonth>
{
int month;
+ @Override
public int hashCode()
{
return month;
}
+ @Override
public boolean equals(Object other)
{
if (other instanceof GMonth)
@@ -69,16 +71,12 @@ final class GMonthType
return false;
}
- public int compareTo(Object other)
+ @Override
+ public int compareTo(GMonth gm)
{
- if (other instanceof GMonth)
- {
- GMonth gm = (GMonth) other;
- if (gm.month == month)
- return 0;
- return (month < gm.month) ? -1 : 1;
- }
- return 0;
+ if (gm.month == month)
+ return 0;
+ return (month < gm.month) ? -1 : 1;
}
}
diff --git a/gnu/xml/validation/datatype/GYearMonthType.java b/gnu/xml/validation/datatype/GYearMonthType.java
index 9aabfb61c..e10e511be 100644
--- a/gnu/xml/validation/datatype/GYearMonthType.java
+++ b/gnu/xml/validation/datatype/GYearMonthType.java
@@ -52,17 +52,19 @@ final class GYearMonthType
{
static class GYearMonth
- implements Comparable
+ implements Comparable<GYearMonth>
{
int year;
int month;
+ @Override
public int hashCode()
{
return year * 31 + month;
}
+ @Override
public boolean equals(Object other)
{
if (other instanceof GYearMonth)
@@ -73,20 +75,16 @@ final class GYearMonthType
return false;
}
- public int compareTo(Object other)
+ @Override
+ public int compareTo(GYearMonth gmy)
{
- if (other instanceof GYearMonth)
+ if (gmy.year == year)
{
- GYearMonth gmy = (GYearMonth) other;
- if (gmy.year == year)
- {
- if (gmy.month == month)
- return 0;
- return (month < gmy.month) ? -1 : 1;
- }
- return (year < gmy.year) ? -1 : 1;
+ if (gmy.month == month)
+ return 0;
+ return (month < gmy.month) ? -1 : 1;
}
- return 0;
+ return (year < gmy.year) ? -1 : 1;
}
}
diff --git a/gnu/xml/validation/datatype/GYearType.java b/gnu/xml/validation/datatype/GYearType.java
index 5b1e03232..d69fda430 100644
--- a/gnu/xml/validation/datatype/GYearType.java
+++ b/gnu/xml/validation/datatype/GYearType.java
@@ -52,16 +52,18 @@ final class GYearType
{
static class GYear
- implements Comparable
+ implements Comparable<GYear>
{
int year;
+ @Override
public int hashCode()
{
return year;
}
+ @Override
public boolean equals(Object other)
{
if (other instanceof GYear)
@@ -69,16 +71,12 @@ final class GYearType
return false;
}
- public int compareTo(Object other)
+ @Override
+ public int compareTo(GYear gy)
{
- if (other instanceof GYear)
- {
- GYear gy = (GYear) other;
- if (gy.year == year)
- return 0;
- return (year < gy.year) ? -1 : 1;
- }
- return 0;
+ if (gy.year == year)
+ return 0;
+ return (year < gy.year) ? -1 : 1;
}
}
diff --git a/gnu/xml/validation/datatype/ListSimpleType.java b/gnu/xml/validation/datatype/ListSimpleType.java
index 1e0d41d01..54a753c9b 100644
--- a/gnu/xml/validation/datatype/ListSimpleType.java
+++ b/gnu/xml/validation/datatype/ListSimpleType.java
@@ -57,7 +57,7 @@ public class ListSimpleType
*/
public final SimpleType itemType;
- public ListSimpleType(QName name, Set facets,
+ public ListSimpleType(QName name, Set<Facet> facets,
int fundamentalFacets, SimpleType baseType,
Annotation annotation, SimpleType itemType)
{
diff --git a/gnu/xml/validation/datatype/MaxExclusiveFacet.java b/gnu/xml/validation/datatype/MaxExclusiveFacet.java
index 90e940371..e6d0beab4 100644
--- a/gnu/xml/validation/datatype/MaxExclusiveFacet.java
+++ b/gnu/xml/validation/datatype/MaxExclusiveFacet.java
@@ -99,7 +99,9 @@ public final class MaxExclusiveFacet
{
if (!(test.getClass().equals(value.getClass())))
return false;
- return ((Comparable) test).compareTo(value) < 0;
+ @SuppressWarnings("unchecked")
+ Comparable<Object> comp = (Comparable<Object>) test;
+ return comp.compareTo(value) < 0;
}
Number nvalue = (Number) value;
if (!(test instanceof Number))
diff --git a/gnu/xml/validation/datatype/MaxInclusiveFacet.java b/gnu/xml/validation/datatype/MaxInclusiveFacet.java
index c260113da..b70dcbd70 100644
--- a/gnu/xml/validation/datatype/MaxInclusiveFacet.java
+++ b/gnu/xml/validation/datatype/MaxInclusiveFacet.java
@@ -100,7 +100,9 @@ public final class MaxInclusiveFacet
{
if (!(test.getClass().equals(value.getClass())))
return false;
- return ((Comparable) test).compareTo(value) <= 0;
+ @SuppressWarnings("unchecked")
+ Comparable<Object> comp = (Comparable<Object>) test;
+ return comp.compareTo(value) <= 0;
}
Number nvalue = (Number) value;
if (!(test instanceof Number))
diff --git a/gnu/xml/validation/datatype/MinExclusiveFacet.java b/gnu/xml/validation/datatype/MinExclusiveFacet.java
index a779d09d8..b5717851b 100644
--- a/gnu/xml/validation/datatype/MinExclusiveFacet.java
+++ b/gnu/xml/validation/datatype/MinExclusiveFacet.java
@@ -99,7 +99,9 @@ public final class MinExclusiveFacet
{
if (!(test.getClass().equals(value.getClass())))
return false;
- return ((Comparable) test).compareTo(value) > 0;
+ @SuppressWarnings("unchecked")
+ Comparable<Object> comp = (Comparable<Object>) test;
+ return comp.compareTo(value) > 0;
}
Number nvalue = (Number) value;
if (!(test instanceof Number))
diff --git a/gnu/xml/validation/datatype/MinInclusiveFacet.java b/gnu/xml/validation/datatype/MinInclusiveFacet.java
index 6138c9af8..11412f8c7 100644
--- a/gnu/xml/validation/datatype/MinInclusiveFacet.java
+++ b/gnu/xml/validation/datatype/MinInclusiveFacet.java
@@ -100,7 +100,9 @@ public final class MinInclusiveFacet
{
if (!(test.getClass().equals(value.getClass())))
return false;
- return ((Comparable) test).compareTo(value) >= 0;
+ @SuppressWarnings("unchecked")
+ Comparable<Object> comp = (Comparable<Object>) test;
+ return comp.compareTo(value) >= 0;
}
Number nvalue = (Number) value;
if (!(test instanceof Number))
diff --git a/gnu/xml/validation/datatype/SimpleType.java b/gnu/xml/validation/datatype/SimpleType.java
index 1233723bd..bbfe0fa4a 100644
--- a/gnu/xml/validation/datatype/SimpleType.java
+++ b/gnu/xml/validation/datatype/SimpleType.java
@@ -89,7 +89,7 @@ public class SimpleType
/**
* The facets of this simple type.
*/
- public Set facets;
+ public Set<Facet> facets;
/**
* The fundamental facets of this simple type.
@@ -107,7 +107,7 @@ public class SimpleType
*/
public final Annotation annotation;
- public SimpleType(QName name, int variety, Set facets,
+ public SimpleType(QName name, int variety, Set<Facet> facets,
int fundamentalFacets, SimpleType baseType,
Annotation annotation)
{
@@ -141,9 +141,9 @@ public class SimpleType
if (facets != null && !facets.isEmpty())
{
Object parsedValue = createValue(value, context);
- for (Iterator i = facets.iterator(); i.hasNext(); )
+ for (Iterator<Facet> i = facets.iterator(); i.hasNext(); )
{
- Facet facet = (Facet) i.next();
+ Facet facet = i.next();
switch (facet.type)
{
case Facet.LENGTH:
diff --git a/gnu/xml/validation/datatype/TimeType.java b/gnu/xml/validation/datatype/TimeType.java
index 83ada5bc6..7c508c434 100644
--- a/gnu/xml/validation/datatype/TimeType.java
+++ b/gnu/xml/validation/datatype/TimeType.java
@@ -53,16 +53,18 @@ final class TimeType
{
static class Time
- implements Comparable
+ implements Comparable<Time>
{
int minutes;
float seconds;
+ @Override
public int hashCode()
{
return minutes * 31 + new Float(seconds).hashCode();
}
+ @Override
public boolean equals(Object other)
{
if (other instanceof Time)
@@ -73,18 +75,14 @@ final class TimeType
return false;
}
- public int compareTo(Object other)
+ @Override
+ public int compareTo(Time time)
{
- if (other instanceof Time)
- {
- Time time = (Time) other;
- if (time.minutes != minutes)
- return minutes - time.minutes;
- if (time.seconds == seconds)
- return 0;
- return (seconds < time.seconds) ? -1 : 1;
- }
- return 0;
+ if (time.minutes != minutes)
+ return minutes - time.minutes;
+ if (time.seconds == seconds)
+ return 0;
+ return (seconds < time.seconds) ? -1 : 1;
}
}
diff --git a/gnu/xml/validation/datatype/TypeBuilder.java b/gnu/xml/validation/datatype/TypeBuilder.java
index 087333153..7a4e9610e 100644
--- a/gnu/xml/validation/datatype/TypeBuilder.java
+++ b/gnu/xml/validation/datatype/TypeBuilder.java
@@ -59,7 +59,7 @@ public class TypeBuilder
{
this.type = type;
// TODO fundamental facets
- type.facets = new LinkedHashSet();
+ type.facets = new LinkedHashSet<Facet>();
}
public void addParameter(String name, String value, ValidationContext context)
diff --git a/gnu/xml/validation/datatype/TypeLibrary.java b/gnu/xml/validation/datatype/TypeLibrary.java
index 4db48f799..dff67ab5d 100644
--- a/gnu/xml/validation/datatype/TypeLibrary.java
+++ b/gnu/xml/validation/datatype/TypeLibrary.java
@@ -101,10 +101,10 @@ public class TypeLibrary
public static final SimpleType UNSIGNED_BYTE = new UnsignedByteType();
public static final SimpleType POSITIVE_INTEGER = new PositiveIntegerType();
- private static Map byName;
+ private static Map<String,SimpleType> byName;
static
{
- byName = new HashMap();
+ byName = new HashMap<String,SimpleType>();
byName.put("anySimpleType", ANY_SIMPLE_TYPE);
byName.put("string", STRING);
byName.put("boolean", BOOLEAN);
diff --git a/gnu/xml/validation/datatype/UnionSimpleType.java b/gnu/xml/validation/datatype/UnionSimpleType.java
index 253e1df7b..df219748a 100644
--- a/gnu/xml/validation/datatype/UnionSimpleType.java
+++ b/gnu/xml/validation/datatype/UnionSimpleType.java
@@ -56,11 +56,11 @@ public class UnionSimpleType
/**
* The member types in this union.
*/
- public final List memberTypes;
+ public final List<SimpleType> memberTypes;
- public UnionSimpleType(QName name, Set facets,
+ public UnionSimpleType(QName name, Set<Facet> facets,
int fundamentalFacets, SimpleType baseType,
- Annotation annotation, List memberTypes)
+ Annotation annotation, List<SimpleType> memberTypes)
{
super(name, UNION, facets, fundamentalFacets, baseType, annotation);
this.memberTypes = memberTypes;
@@ -70,9 +70,9 @@ public class UnionSimpleType
throws DatatypeException
{
super.checkValid(value, context);
- for (Iterator i = memberTypes.iterator(); i.hasNext(); )
+ for (Iterator<SimpleType> i = memberTypes.iterator(); i.hasNext(); )
{
- SimpleType type = (SimpleType) i.next();
+ SimpleType type = i.next();
if (type.isValid(value, context))
return;
}
diff --git a/gnu/xml/validation/relaxng/DataPattern.java b/gnu/xml/validation/relaxng/DataPattern.java
index f4e36c726..3e7e0688c 100644
--- a/gnu/xml/validation/relaxng/DataPattern.java
+++ b/gnu/xml/validation/relaxng/DataPattern.java
@@ -53,7 +53,7 @@ class DataPattern
Datatype type;
DatatypeLibrary datatypeLibrary;
- List params = new LinkedList();
+ List<Param> params = new LinkedList<Param>();
Pattern exceptPattern;
}
diff --git a/gnu/xml/validation/relaxng/FullSyntaxBuilder.java b/gnu/xml/validation/relaxng/FullSyntaxBuilder.java
index bb73c4f38..da24362fe 100644
--- a/gnu/xml/validation/relaxng/FullSyntaxBuilder.java
+++ b/gnu/xml/validation/relaxng/FullSyntaxBuilder.java
@@ -78,53 +78,55 @@ class FullSyntaxBuilder
/**
* Complete vocabulary (elements and attributes) of the full syntax.
*/
- static final Map VOCABULARY = new HashMap();
- static final Set STRIPPED_ATTRIBUTES = new HashSet();
- static final Set PATTERN_ELEMENTS = new HashSet();
+ static final Map<String,Set<String>> VOCABULARY = new HashMap<String,Set<String>>();
+ static final Set<String> STRIPPED_ATTRIBUTES = new HashSet<String>();
+ static final Set<String> PATTERN_ELEMENTS = new HashSet<String>();
+ static final Set<String> EMPTY_STRING_SET = Collections.emptySet();
+
static
{
- Set elementAttrs = Collections.singleton("name");
- Set dataAttrs = new HashSet();
+ Set<String> elementAttrs = Collections.singleton("name");
+ Set<String> dataAttrs = new HashSet<String>();
dataAttrs.add("type");
dataAttrs.add("datatypeLibrary");
- Set valueAttrs = new HashSet();
+ Set<String> valueAttrs = new HashSet<String>();
valueAttrs.add("type");
valueAttrs.add("datatypeLibrary");
valueAttrs.add("ns");
- Set externalAttrs = Collections.singleton("href");
- Set startAttrs = Collections.singleton("combine");
- Set defineAttrs = new HashSet();
+ Set<String> externalAttrs = Collections.singleton("href");
+ Set<String> startAttrs = Collections.singleton("combine");
+ Set<String> defineAttrs = new HashSet<String>();
defineAttrs.add("name");
defineAttrs.add("combine");
- Set nsAttrs = Collections.singleton("ns");
+ Set<String> nsAttrs = Collections.singleton("ns");
VOCABULARY.put("element", elementAttrs);
VOCABULARY.put("attribute", elementAttrs);
- VOCABULARY.put("group", Collections.EMPTY_SET);
- VOCABULARY.put("interleave", Collections.EMPTY_SET);
- VOCABULARY.put("choice", Collections.EMPTY_SET);
- VOCABULARY.put("optional", Collections.EMPTY_SET);
- VOCABULARY.put("zeroOrMore", Collections.EMPTY_SET);
- VOCABULARY.put("oneOrMore", Collections.EMPTY_SET);
- VOCABULARY.put("list", Collections.EMPTY_SET);
- VOCABULARY.put("mixed", Collections.EMPTY_SET);
+ VOCABULARY.put("group", EMPTY_STRING_SET);
+ VOCABULARY.put("interleave", EMPTY_STRING_SET);
+ VOCABULARY.put("choice", EMPTY_STRING_SET);
+ VOCABULARY.put("optional", EMPTY_STRING_SET);
+ VOCABULARY.put("zeroOrMore", EMPTY_STRING_SET);
+ VOCABULARY.put("oneOrMore", EMPTY_STRING_SET);
+ VOCABULARY.put("list", EMPTY_STRING_SET);
+ VOCABULARY.put("mixed", EMPTY_STRING_SET);
VOCABULARY.put("ref", elementAttrs);
VOCABULARY.put("parentRef", elementAttrs);
- VOCABULARY.put("empty", Collections.EMPTY_SET);
- VOCABULARY.put("text", Collections.EMPTY_SET);
+ VOCABULARY.put("empty", EMPTY_STRING_SET);
+ VOCABULARY.put("text", EMPTY_STRING_SET);
VOCABULARY.put("value", valueAttrs);
VOCABULARY.put("data", dataAttrs);
- VOCABULARY.put("notAllowed", Collections.EMPTY_SET);
+ VOCABULARY.put("notAllowed", EMPTY_STRING_SET);
VOCABULARY.put("externalRef", externalAttrs);
- VOCABULARY.put("grammar", Collections.EMPTY_SET);
+ VOCABULARY.put("grammar", EMPTY_STRING_SET);
VOCABULARY.put("param", elementAttrs);
- VOCABULARY.put("except", Collections.EMPTY_SET);
- VOCABULARY.put("div", Collections.EMPTY_SET);
+ VOCABULARY.put("except", EMPTY_STRING_SET);
+ VOCABULARY.put("div", EMPTY_STRING_SET);
VOCABULARY.put("include", externalAttrs);
VOCABULARY.put("start", startAttrs);
VOCABULARY.put("define", defineAttrs);
VOCABULARY.put("name", nsAttrs);
- VOCABULARY.put("anyName", Collections.EMPTY_SET);
+ VOCABULARY.put("anyName", EMPTY_STRING_SET);
VOCABULARY.put("nsName", nsAttrs);
STRIPPED_ATTRIBUTES.add("name");
@@ -152,9 +154,9 @@ class FullSyntaxBuilder
PATTERN_ELEMENTS.add("grammar");
}
- private Set urls; // recursion checking
+ private Set<String> urls; // recursion checking
private int refCount; // creation of ref names
- private Map datatypeLibraries;
+ private Map<String,DatatypeLibrary> datatypeLibraries;
/**
* Parse the specified document into a grammar.
@@ -162,7 +164,7 @@ class FullSyntaxBuilder
synchronized Grammar parse(Document doc)
throws IOException
{
- urls = new HashSet();
+ urls = new HashSet<String>();
refCount = 1;
doc.normalizeDocument(); // Normalize XML document
@@ -195,24 +197,24 @@ class FullSyntaxBuilder
}
// 4.19. define and ref elements
- Set allDefines = new HashSet(), reachableDefines = new HashSet();
+ Set<Element> allDefines = new HashSet<Element>(), reachableDefines = new HashSet<Element>();
getDefines(allDefines, grammar, grammar, false);
getDefines(reachableDefines, grammar, start, true);
allDefines.removeAll(reachableDefines);
- for (Iterator i = allDefines.iterator(); i.hasNext(); )
+ for (Iterator<Element> i = allDefines.iterator(); i.hasNext(); )
{
// remove unreachable defines
- Element d = (Element) i.next();
+ Element d = i.next();
Node parent = d.getParentNode();
parent.removeChild(d);
}
// replace all elements that are not children of defines by refs to new
// defines
- Set elements = new HashSet();
+ Set<Element> elements = new HashSet<Element>();
getElements(elements, grammar, grammar);
- for (Iterator i = elements.iterator(); i.hasNext(); )
+ for (Iterator<Element> i = elements.iterator(); i.hasNext(); )
{
- Element element = (Element) i.next();
+ Element element = i.next();
Node parent = element.getParentNode();
if (!reachableDefines.contains(parent))
{
@@ -230,9 +232,9 @@ class FullSyntaxBuilder
}
}
// Get defines that don't have element children
- for (Iterator i = reachableDefines.iterator(); i.hasNext(); )
+ for (Iterator<Element> i = reachableDefines.iterator(); i.hasNext(); )
{
- Element d = (Element) i.next();
+ Element d = i.next();
Element child = getFirstChildElement(d);
if (child != null && "element".equals(child.getLocalName()))
i.remove();
@@ -240,9 +242,9 @@ class FullSyntaxBuilder
// Expand refs that refer to these defines
expandRefs(reachableDefines, grammar);
// Remove any defines that don't have element children
- for (Iterator i = reachableDefines.iterator(); i.hasNext(); )
+ for (Iterator<Element> i = reachableDefines.iterator(); i.hasNext(); )
{
- Element d = (Element) i.next();
+ Element d = i.next();
Node parent = d.getParentNode();
parent.removeChild(d);
}
@@ -254,7 +256,7 @@ class FullSyntaxBuilder
return ret;
}
- private void getDefines(Set defines, Element grammar, Element node,
+ private void getDefines(Set<Element> defines, Element grammar, Element node,
boolean followRefs)
{
String elementName = node.getLocalName();
@@ -281,7 +283,7 @@ class FullSyntaxBuilder
getDefines(defines, grammar, child, followRefs);
}
- private void getElements(Set elements, Element grammar, Element node)
+ private void getElements(Set<Element> elements, Element grammar, Element node)
{
String elementName = node.getLocalName();
if ("element".equals(elementName))
@@ -291,16 +293,16 @@ class FullSyntaxBuilder
getElements(elements, grammar, child);
}
- private void expandRefs(Set defines, Element node)
+ private void expandRefs(Set<Element> defines, Element node)
throws GrammarException
{
String elementName = node.getLocalName();
if ("ref".equals(elementName))
{
String rname = node.getAttribute("name");
- for (Iterator i = defines.iterator(); i.hasNext(); )
+ for (Iterator<Element> i = defines.iterator(); i.hasNext(); )
{
- Element define = (Element) i.next();
+ Element define = i.next();
String dname = define.getAttribute("name");
if (rname.equals(dname))
{
@@ -351,7 +353,7 @@ class FullSyntaxBuilder
parent.removeChild(node);
else
{
- Set allowedAttrs = (Set) VOCABULARY.get(elementName);
+ Set<String> allowedAttrs = VOCABULARY.get(elementName);
NamedNodeMap attrs = node.getAttributes();
int len = attrs.getLength();
for (int i = len - 1; i >= 0; i--)
@@ -467,19 +469,19 @@ class FullSyntaxBuilder
transform(element);
urls.remove(href);
// handle components
- List includeComponents = getComponents(include);
- List grammarComponents = getComponents(element);
- for (Iterator i = includeComponents.iterator(); i.hasNext(); )
+ List<Element> includeComponents = getComponents(include);
+ List<Element> grammarComponents = getComponents(element);
+ for (Iterator<Element> i = includeComponents.iterator(); i.hasNext(); )
{
- Element comp = (Element) i.next();
+ Element comp = i.next();
String compName = comp.getLocalName();
if ("start".equals(compName))
{
boolean found = false;
- for (Iterator j = grammarComponents.iterator();
+ for (Iterator<Element> j = grammarComponents.iterator();
j.hasNext(); )
{
- Element c2 = (Element) j.next();
+ Element c2 = j.next();
if ("start".equals(c2.getLocalName()))
{
c2.getParentNode().removeChild(c2);
@@ -494,10 +496,10 @@ class FullSyntaxBuilder
{
String name = comp.getAttribute("name");
boolean found = false;
- for (Iterator j = grammarComponents.iterator();
+ for (Iterator<Element> j = grammarComponents.iterator();
j.hasNext(); )
{
- Element c2 = (Element) j.next();
+ Element c2 = j.next();
if ("define".equals(c2.getLocalName()) &&
name.equals(c2.getAttribute("name")))
{
@@ -706,7 +708,7 @@ class FullSyntaxBuilder
forbidDescendants(node, Collections.singleton("anyName"));
else if ("nsName".equals(parentName))
{
- Set names = new HashSet();
+ Set<String> names = new HashSet<String>();
names.add("nsName");
names.add("anyName");
forbidDescendants(node, names);
@@ -748,7 +750,7 @@ class FullSyntaxBuilder
else if ("grammar".equals(elementName))
{
String combine = null;
- List nodes = new LinkedList();
+ List<Node> nodes = new LinkedList<Node>();
Node ctx = node.getFirstChild();
while (ctx != null)
{
@@ -767,8 +769,8 @@ class FullSyntaxBuilder
if (!nodes.isEmpty())
combineNodes(node, combine, "start", nodes);
// defines
- Map defines = new HashMap();
- Map defineCombines = new HashMap();
+ Map<String,List<Node>> defines = new HashMap<String,List<Node>>();
+ Map<String,String> defineCombines = new HashMap<String,String>();
ctx = node.getFirstChild();
while (ctx != null)
{
@@ -776,7 +778,7 @@ class FullSyntaxBuilder
if ("define".equals(ctx.getLocalName()))
{
String name = ((Element) ctx).getAttribute("name");
- combine = (String) defineCombines.get(name);
+ combine = defineCombines.get(name);
String c = ((Element) ctx).getAttribute("combine");
if (combine != null && !combine.equals(c))
throw new GrammarException("multiple define " +
@@ -784,21 +786,21 @@ class FullSyntaxBuilder
name + "' but no " +
"combine attribute");
defineCombines.put(name, c);
- nodes = (List) defines.get(name);
+ nodes = defines.get(name);
if (nodes == null)
{
- nodes = new LinkedList();
+ nodes = new LinkedList<Node>();
defines.put(name, nodes);
}
nodes.add(ctx);
}
ctx = next;
}
- for (Iterator i = defines.keySet().iterator(); i.hasNext(); )
+ for (Iterator<String> i = defines.keySet().iterator(); i.hasNext(); )
{
- String name = (String) i.next();
- combine = (String) defineCombines.get(name);
- nodes = (List) defines.get(name);
+ String name = i.next();
+ combine = defineCombines.get(name);
+ nodes = defines.get(name);
if (!nodes.isEmpty())
combineNodes(node, combine, "define", nodes);
}
@@ -937,7 +939,7 @@ class FullSyntaxBuilder
grammar = grammar1;
String name = ((Element) node).getAttribute("name");
- if (name != null)
+ if (name == null)
throw new GrammarException("no name attribute on " +
elementName);
Node define = null;
@@ -1205,9 +1207,9 @@ class FullSyntaxBuilder
/**
* Returns the "components" of an element, as described in section 4.7.
*/
- private List getComponents(Node node)
+ private List<Element> getComponents(Node node)
{
- List ret = new LinkedList();
+ List<Element> ret = new LinkedList<Element>();
for (Node ctx = node.getFirstChild(); ctx != null;
ctx = ctx.getNextSibling())
{
@@ -1220,7 +1222,7 @@ class FullSyntaxBuilder
if ("div".equals(name))
ret.addAll(getComponents(ctx));
else if (VOCABULARY.containsKey(name))
- ret.add(ctx);
+ ret.add((Element) ctx);
}
return ret;
}
@@ -1257,7 +1259,7 @@ class FullSyntaxBuilder
return (Element) ctx;
}
- private static void forbidDescendants(Node node, Set names)
+ private static void forbidDescendants(Node node, Set<String> names)
throws GrammarException
{
for (Node ctx = node.getFirstChild(); ctx != null;
@@ -1289,7 +1291,7 @@ class FullSyntaxBuilder
}
private static void combineNodes(Node node, String combine, String name,
- List nodes)
+ List<Node> nodes)
{
Document doc = node.getOwnerDocument();
Node child =
@@ -1298,9 +1300,9 @@ class FullSyntaxBuilder
doc.createElementNS(XMLConstants.RELAXNG_NS_URI, combine);
child.appendChild(combineNode);
boolean inserted = false;
- for (Iterator i = nodes.iterator(); i.hasNext(); )
+ for (Iterator<Node> i = nodes.iterator(); i.hasNext(); )
{
- Node startNode = (Node) i.next();
+ Node startNode = i.next();
if (!inserted)
{
node.insertBefore(child, startNode);
@@ -1635,8 +1637,8 @@ class FullSyntaxBuilder
throws GrammarException
{
if (datatypeLibraries == null)
- datatypeLibraries = new HashMap();
- DatatypeLibrary library = (DatatypeLibrary) datatypeLibraries.get(uri);
+ datatypeLibraries = new HashMap<String,DatatypeLibrary>();
+ DatatypeLibrary library = datatypeLibraries.get(uri);
if (library == null)
{
library = new DatatypeLibraryLoader().createDatatypeLibrary(uri);
diff --git a/gnu/xml/validation/relaxng/Grammar.java b/gnu/xml/validation/relaxng/Grammar.java
index c2407da2b..b933fa771 100644
--- a/gnu/xml/validation/relaxng/Grammar.java
+++ b/gnu/xml/validation/relaxng/Grammar.java
@@ -53,7 +53,7 @@ class Grammar
{
Pattern start;
- List defines = new LinkedList();
+ List<Define> defines = new LinkedList<Define>();
public Validator newValidator()
{
diff --git a/gnu/xml/validation/xmlschema/ComplexType.java b/gnu/xml/validation/xmlschema/ComplexType.java
index 826ba32d9..f92212b50 100644
--- a/gnu/xml/validation/xmlschema/ComplexType.java
+++ b/gnu/xml/validation/xmlschema/ComplexType.java
@@ -37,10 +37,12 @@ exception statement from your version. */
package gnu.xml.validation.xmlschema;
+import gnu.xml.validation.datatype.Annotation;
+import gnu.xml.validation.datatype.Type;
+
import java.util.LinkedHashSet;
import java.util.Set;
import javax.xml.namespace.QName;
-import gnu.xml.validation.datatype.Type;
/**
* A complex type definition.
@@ -68,7 +70,9 @@ class ComplexType
final boolean isAbstract;
- Set attributeUses;
+ // Currently both AttributeUse and QName objects
+ // are added to this.
+ Set<Object> attributeUses;
AnyAttribute attributeWildcard;
@@ -84,7 +88,7 @@ class ComplexType
final int prohibitedSubstitutions;
- Set annotations;
+ Set<Annotation> annotations;
ComplexType(QName name,
boolean isAbstract,
@@ -95,7 +99,7 @@ class ComplexType
this.isAbstract = isAbstract;
this.prohibitedSubstitutions = prohibitedSubstitutions;
this.finality = finality;
- attributeUses = new LinkedHashSet();
+ attributeUses = new LinkedHashSet<Object>();
}
}
diff --git a/gnu/xml/validation/xmlschema/XMLSchema.java b/gnu/xml/validation/xmlschema/XMLSchema.java
index fb8eb88b1..1df378385 100644
--- a/gnu/xml/validation/xmlschema/XMLSchema.java
+++ b/gnu/xml/validation/xmlschema/XMLSchema.java
@@ -37,8 +37,11 @@ exception statement from your version. */
package gnu.xml.validation.xmlschema;
+import gnu.xml.validation.datatype.Type;
+
import java.util.LinkedHashMap;
import java.util.Map;
+import javax.xml.namespace.QName;
import javax.xml.validation.Schema;
import javax.xml.validation.Validator;
import javax.xml.validation.ValidatorHandler;
@@ -88,17 +91,17 @@ final class XMLSchema
/**
* The element declarations in this schema.
*/
- final Map elementDeclarations;
+ final Map<QName,ElementDeclaration> elementDeclarations;
/**
* The attribute declarations in this schema.
*/
- final Map attributeDeclarations;
+ final Map<QName,AttributeDeclaration> attributeDeclarations;
/**
* The type declarations in this schema.
*/
- final Map types;
+ final Map <QName,Type> types;
XMLSchema(String targetNamespace, String version,
int finalDefault, int blockDefault,
@@ -111,9 +114,9 @@ final class XMLSchema
this.blockDefault = blockDefault;
this.attributeFormQualified = attributeFormQualified;
this.elementFormQualified = elementFormQualified;
- elementDeclarations = new LinkedHashMap();
- attributeDeclarations = new LinkedHashMap();
- types = new LinkedHashMap();
+ elementDeclarations = new LinkedHashMap<QName,ElementDeclaration>();
+ attributeDeclarations = new LinkedHashMap<QName,AttributeDeclaration>();
+ types = new LinkedHashMap<QName,Type>();
}
public Validator newValidator()
diff --git a/gnu/xml/validation/xmlschema/XMLSchemaBuilder.java b/gnu/xml/validation/xmlschema/XMLSchemaBuilder.java
index a7bad3129..3cfcfdedb 100644
--- a/gnu/xml/validation/xmlschema/XMLSchemaBuilder.java
+++ b/gnu/xml/validation/xmlschema/XMLSchemaBuilder.java
@@ -48,6 +48,7 @@ import org.relaxng.datatype.helpers.DatatypeLibraryLoader;
import org.w3c.dom.NamedNodeMap;
import org.w3c.dom.Node;
import gnu.xml.validation.datatype.Annotation;
+import gnu.xml.validation.datatype.Facet;
import gnu.xml.validation.datatype.SimpleType;
import gnu.xml.validation.datatype.Type;
@@ -525,10 +526,14 @@ class XMLSchemaBuilder
throws DatatypeException
{
SimpleType type = (SimpleType) schema.types.get(typeName);
+ if (type != null)
+ return type;
if (!XMLConstants.W3C_XML_SCHEMA_NS_URI.equals(typeName.getNamespaceURI()))
return null;
String localName = typeName.getLocalPart();
- return (SimpleType) typeLibrary.createDatatype(localName);
+ type = (SimpleType) typeLibrary.createDatatype(localName);
+ schema.types.put(typeName, type);
+ return type;
}
SimpleType parseSimpleType(Node simpleType)
@@ -549,10 +554,10 @@ class XMLSchemaBuilder
typeFinal = getAttribute(schemaAttrs, "finalDefault");
}
}
- int typeFinality = parseSimpleTypeDerivationSet(typeFinal);
+ parseSimpleTypeDerivationSet(typeFinal); // TODO: Make use of typeFinality
QName typeName = asQName(getAttribute(attrs, "name"), simpleType);
int variety = 0;
- Set facets = new LinkedHashSet();
+ Set<Facet> facets = new LinkedHashSet<Facet>();
int fundamentalFacets = 0; // TODO
SimpleType baseType = null; // TODO
Annotation annotation = null;
@@ -661,8 +666,7 @@ class XMLSchemaBuilder
{
NamedNodeMap attrs = restriction.getAttributes();
String base = getAttribute(attrs, "base");
- QName baseType = asQName(base, restriction);
- SimpleType simpleType = null;
+ asQName(base, restriction); // TODO: make use of basetype
for (Node child = restriction.getFirstChild(); child != null;
child = child.getNextSibling())
{
@@ -678,7 +682,7 @@ class XMLSchemaBuilder
else if ("simpleType".equals(name))
{
type.contentType = XMLSchema.CONTENT_SIMPLE;
- simpleType = parseSimpleType(child);
+ parseSimpleType(child); // TODO: make use of SimpleType
}
else if ("minExclusive".equals(name))
{
@@ -744,7 +748,7 @@ class XMLSchemaBuilder
{
NamedNodeMap attrs = extension.getAttributes();
String base = getAttribute(attrs, "base");
- QName baseType = asQName(base, extension);
+ asQName(base, extension); // TODO: make use of basetype
for (Node child = extension.getFirstChild(); child != null;
child = child.getNextSibling())
{
diff --git a/gnu/xml/validation/xmlschema/XMLSchemaValidatorHandler.java b/gnu/xml/validation/xmlschema/XMLSchemaValidatorHandler.java
index 6c4f1f392..1991432a2 100644
--- a/gnu/xml/validation/xmlschema/XMLSchemaValidatorHandler.java
+++ b/gnu/xml/validation/xmlschema/XMLSchemaValidatorHandler.java
@@ -75,16 +75,16 @@ final class XMLSchemaValidatorHandler
ContentHandler contentHandler;
ErrorHandler errorHandler;
LSResourceResolver resourceResolver;
- final LinkedList context; // element context
- final ArrayList attributes; // attribute context;
+ final LinkedList<XMLSchemaElementTypeInfo> context; // element context
+ final ArrayList<XMLSchemaAttributeTypeInfo> attributes; // attribute context;
XMLSchemaValidatorHandler(XMLSchema schema)
{
this.schema = schema;
typeInfoProvider = new XMLSchemaTypeInfoProvider(this);
namespaceSupport = new NamespaceSupport();
- context = new LinkedList();
- attributes = new ArrayList();
+ context = new LinkedList<XMLSchemaElementTypeInfo>();
+ attributes = new ArrayList<XMLSchemaAttributeTypeInfo>();
final String ns = XMLConstants.W3C_XML_SCHEMA_NS_URI;
typeLibrary = new DatatypeLibraryLoader().createDatatypeLibrary(ns);
}
@@ -126,25 +126,23 @@ final class XMLSchemaValidatorHandler
TypeInfo getElementTypeInfo()
{
- return (XMLSchemaElementTypeInfo) context.getFirst();
+ return context.getFirst();
}
TypeInfo getAttributeTypeInfo(int index)
{
- return (XMLSchemaAttributeTypeInfo) attributes.get(index);
+ return attributes.get(index);
}
boolean isIdAttribute(int index)
{
- XMLSchemaAttributeTypeInfo typeInfo =
- (XMLSchemaAttributeTypeInfo) attributes.get(index);
+ XMLSchemaAttributeTypeInfo typeInfo = attributes.get(index);
return typeInfo.id;
}
boolean isSpecified(int index)
{
- XMLSchemaAttributeTypeInfo typeInfo =
- (XMLSchemaAttributeTypeInfo) attributes.get(index);
+ XMLSchemaAttributeTypeInfo typeInfo = attributes.get(index);
return typeInfo.specified;
}
@@ -203,8 +201,7 @@ final class XMLSchemaValidatorHandler
{
namespaceSupport.pushContext();
QName name = new QName(uri, localName);
- ElementDeclaration decl =
- (ElementDeclaration) schema.elementDeclarations.get(name);
+ ElementDeclaration decl = schema.elementDeclarations.get(name);
// Validation Rule: Element Locally Valid (Element)
String xsiType =
atts.getValue(XMLConstants.W3C_XML_SCHEMA_INSTANCE_NS_URI, "type");