diff options
Diffstat (limited to 'gnu')
31 files changed, 340 insertions, 323 deletions
diff --git a/gnu/xml/transform/AbstractNumberNode.java b/gnu/xml/transform/AbstractNumberNode.java index 6e478bdc4..8c68c1fd1 100644 --- a/gnu/xml/transform/AbstractNumberNode.java +++ b/gnu/xml/transform/AbstractNumberNode.java @@ -1,5 +1,5 @@ /* AbstractNumberNode.java -- - Copyright (C) 2004 Free Software Foundation, Inc. + Copyright (C) 2004, 2016 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -116,8 +116,8 @@ abstract class AbstractNumberNode } int start = 0, end = 0, len = format.length(); // region of format // Tokenize - List tokens = new ArrayList((number.length * 2) + 1); - List types = new ArrayList(tokens.size()); + List<String> tokens = new ArrayList<String>((number.length * 2) + 1); + List<Boolean> types = new ArrayList<Boolean>(tokens.size()); while (end < len) { while (end < len && !isAlphanumeric(format.charAt(end))) @@ -147,9 +147,8 @@ abstract class AbstractNumberNode int pos = 0; for (int i = 0; i < len; i++) { - String token = (i < 0) ? "." : (String) tokens.get(i); - boolean alpha = (i < 0) ? true : - ((Boolean) types.get(i)).booleanValue(); + String token = (i < 0) ? "." : tokens.get(i); + boolean alpha = (i < 0) ? true : types.get(i).booleanValue(); if (!alpha) { buf.append(token); diff --git a/gnu/xml/transform/ApplyTemplatesNode.java b/gnu/xml/transform/ApplyTemplatesNode.java index 6aa36954a..78cb948ca 100644 --- a/gnu/xml/transform/ApplyTemplatesNode.java +++ b/gnu/xml/transform/ApplyTemplatesNode.java @@ -1,5 +1,5 @@ /* ApplyTemplatesNode.java -- - Copyright (C) 2004,2006 Free Software Foundation, Inc. + Copyright (C) 2004,2006, 2015 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -62,12 +62,14 @@ final class ApplyTemplatesNode final Expr select; final QName mode; - final List sortKeys; - final List withParams; + final List<SortKey> sortKeys; + final List<WithParam> withParams; final boolean isDefault; ApplyTemplatesNode(Expr select, QName mode, - List sortKeys, List withParams, boolean isDefault) + List<SortKey> sortKeys, + List<WithParam> withParams, + boolean isDefault) { this.select = select; this.mode = mode; @@ -79,13 +81,13 @@ final class ApplyTemplatesNode TemplateNode clone(Stylesheet stylesheet) { int len = sortKeys != null ? sortKeys.size() : 0; - List sortKeys2 = new ArrayList(len); + List<SortKey> sortKeys2 = new ArrayList<SortKey>(len); for (int i = 0; i < len; i++) - sortKeys2.add(((Key) sortKeys.get(i)).clone(stylesheet)); + sortKeys2.add(sortKeys.get(i).clone(stylesheet)); len = withParams != null ? withParams.size() : 0; - List withParams2 = new ArrayList(len); + List<WithParam> withParams2 = new ArrayList<WithParam>(len); for (int i = 0; i < len; i++) - withParams2.add(((WithParam) withParams.get(i)).clone(stylesheet)); + withParams2.add(withParams.get(i).clone(stylesheet)); TemplateNode ret = new ApplyTemplatesNode(select.clone(stylesheet), mode, sortKeys2, withParams2, isDefault); @@ -107,10 +109,9 @@ final class ApplyTemplatesNode if (withParams != null) { // compute the parameter values - LinkedList values = new LinkedList(); - for (Iterator i = withParams.iterator(); i.hasNext(); ) + List<Object[]> values = new LinkedList<Object[]>(); + for (WithParam p : withParams) { - WithParam p = (WithParam) i.next(); Object value = p.getValue(stylesheet, mode, context, pos, len); Object[] pair = new Object[2]; pair[0] = p.name; @@ -120,21 +121,24 @@ final class ApplyTemplatesNode // push the parameter context stylesheet.bindings.push(Bindings.WITH_PARAM); // set the parameters - for (Iterator i = values.iterator(); i.hasNext(); ) + for (Object[] pair : values) { - Object[] pair = (Object[]) i.next(); QName name = (QName) pair[0]; Object value = pair[1]; stylesheet.bindings.set(name, value, Bindings.WITH_PARAM); } } - Collection ns = (Collection) ret; - List nodes = new ArrayList(ns); + Collection<?> ns = (Collection<?>) ret; + List<Node> nodes = new ArrayList<Node>(); + for (Object o : ns) + { + if (o instanceof Node) + nodes.add((Node) o); + } if (sortKeys != null) { - for (Iterator i = sortKeys.iterator(); i.hasNext(); ) + for (SortKey sortKey : sortKeys) { - SortKey sortKey = (SortKey) i.next(); sortKey.init(stylesheet, mode, context, pos, len, parent, nextSibling); } @@ -146,7 +150,7 @@ final class ApplyTemplatesNode QName effectiveMode = isDefault ? mode : this.mode; for (int i = 0; i < l; i++) { - Node node = (Node) nodes.get(i); + Node node = nodes.get(i); TemplateNode t = stylesheet.getTemplate(effectiveMode, node, false); if (t != null) @@ -175,17 +179,17 @@ final class ApplyTemplatesNode return true; if (withParams != null) { - for (Iterator i = withParams.iterator(); i.hasNext(); ) + for (Iterator<WithParam> i = withParams.iterator(); i.hasNext(); ) { - if (((WithParam) i.next()).references(var)) + if (i.next().references(var)) return true; } } if (sortKeys != null) { - for (Iterator i = sortKeys.iterator(); i.hasNext(); ) + for (Iterator<SortKey> i = sortKeys.iterator(); i.hasNext(); ) { - if (((SortKey) i.next()).references(var)) + if (i.next().references(var)) return true; } } diff --git a/gnu/xml/transform/CallTemplateNode.java b/gnu/xml/transform/CallTemplateNode.java index cc08d93e3..3e2efde1a 100644 --- a/gnu/xml/transform/CallTemplateNode.java +++ b/gnu/xml/transform/CallTemplateNode.java @@ -1,5 +1,5 @@ /* CallTemplateNode.java -- - Copyright (C) 2004,2006 Free Software Foundation, Inc. + Copyright (C) 2004,2006, 2015 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -58,9 +58,9 @@ final class CallTemplateNode { final QName name; - final List withParams; + final List<WithParam> withParams; - CallTemplateNode(QName name, List withParams) + CallTemplateNode(QName name, List<WithParam> withParams) { this.name = name; this.withParams = withParams; @@ -69,9 +69,9 @@ final class CallTemplateNode TemplateNode clone(Stylesheet stylesheet) { int len = withParams.size(); - List withParams2 = new ArrayList(len); + List<WithParam> withParams2 = new ArrayList<WithParam>(len); for (int i = 0; i < len; i++) - withParams2.add(((WithParam) withParams.get(i)).clone(stylesheet)); + withParams2.add(withParams.get(i).clone(stylesheet)); TemplateNode ret = new CallTemplateNode(name, withParams2); if (children != null) ret.children = children.clone(stylesheet); @@ -91,10 +91,9 @@ final class CallTemplateNode if (!withParams.isEmpty()) { // compute the parameter values - LinkedList values = new LinkedList(); - for (Iterator i = withParams.iterator(); i.hasNext(); ) + LinkedList<Object[]> values = new LinkedList<Object[]>(); + for (WithParam p : withParams) { - WithParam p = (WithParam) i.next(); if (t.hasParam(p.name)) // ignore parameters not specified { Object value = p.getValue(stylesheet, mode, context, @@ -108,9 +107,8 @@ final class CallTemplateNode // push the parameter context stylesheet.bindings.push(Bindings.WITH_PARAM); // set the parameters - for (Iterator i = values.iterator(); i.hasNext(); ) + for (Object[] pair : values) { - Object[] pair = (Object[]) i.next(); QName name = (QName) pair[0]; Object value = pair[1]; stylesheet.bindings.set(name, value, Bindings.WITH_PARAM); @@ -135,9 +133,9 @@ final class CallTemplateNode public boolean references(QName var) { - for (Iterator i = withParams.iterator(); i.hasNext(); ) + for (Iterator<WithParam> i = withParams.iterator(); i.hasNext(); ) { - if (((WithParam) i.next()).references(var)) + if (i.next().references(var)) return true; } return super.references(var); diff --git a/gnu/xml/transform/CopyNode.java b/gnu/xml/transform/CopyNode.java index 9cc2fdecd..1375b33e6 100644 --- a/gnu/xml/transform/CopyNode.java +++ b/gnu/xml/transform/CopyNode.java @@ -1,5 +1,5 @@ /* CopyNode.java -- - Copyright (C) 2004,2006 Free Software Foundation, Inc. + Copyright (C) 2004,2006, 2015 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -39,7 +39,6 @@ package gnu.xml.transform; import gnu.java.lang.CPStringBuilder; -import java.util.Iterator; import java.util.StringTokenizer; import javax.xml.namespace.QName; import javax.xml.transform.TransformerException; @@ -133,9 +132,8 @@ final class CopyNode Node parent, Node nextSibling, String attributeSet) throws TransformerException { - for (Iterator i = stylesheet.attributeSets.iterator(); i.hasNext(); ) + for (AttributeSet as : stylesheet.attributeSets) { - AttributeSet as = (AttributeSet) i.next(); if (!as.name.equals(attributeSet)) continue; if (as.uas != null) diff --git a/gnu/xml/transform/CopyOfNode.java b/gnu/xml/transform/CopyOfNode.java index 2b06fed4d..f49cd64c7 100644 --- a/gnu/xml/transform/CopyOfNode.java +++ b/gnu/xml/transform/CopyOfNode.java @@ -1,5 +1,5 @@ /* CopyOfNode.java -- - Copyright (C) 2004,2006 Free Software Foundation, Inc. + Copyright (C) 2004,2006, 2015 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -42,7 +42,6 @@ import gnu.java.lang.CPStringBuilder; import java.util.ArrayList; import java.util.Collection; import java.util.Collections; -import java.util.Iterator; import java.util.List; import javax.xml.namespace.QName; import javax.xml.transform.TransformerException; @@ -88,12 +87,16 @@ final class CopyOfNode parent.getOwnerDocument(); if (ret instanceof Collection) { - Collection ns = (Collection) ret; - List list = new ArrayList(ns); + Collection<?> ns = (Collection<?>) ret; + List<Node> list = new ArrayList<Node>(); + for (Object o : ns) + { + if (o instanceof Node) + list.add((Node) o); + } Collections.sort(list, documentOrderComparator); - for (Iterator i = list.iterator(); i.hasNext(); ) + for (Node src : list) { - Node src = (Node) i.next(); short nodeType = src.getNodeType(); if (nodeType == Node.DOCUMENT_NODE) { diff --git a/gnu/xml/transform/CurrentFunction.java b/gnu/xml/transform/CurrentFunction.java index 96899679a..217ecf9f1 100644 --- a/gnu/xml/transform/CurrentFunction.java +++ b/gnu/xml/transform/CurrentFunction.java @@ -1,5 +1,5 @@ /* CurrentFunction.java -- - Copyright (C) 2004 Free Software Foundation, Inc. + Copyright (C) 2004, 2015 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -63,6 +63,7 @@ final class CurrentFunction this.stylesheet = stylesheet; } + @SuppressWarnings("rawtypes") public Object evaluate(List args) throws XPathFunctionException { @@ -71,7 +72,7 @@ final class CurrentFunction return Collections.EMPTY_SET; } - public void setArguments(List args) + public void setArguments(List<Expr> args) { } diff --git a/gnu/xml/transform/DocumentFunction.java b/gnu/xml/transform/DocumentFunction.java index d0aee25b3..883cfb7c4 100644 --- a/gnu/xml/transform/DocumentFunction.java +++ b/gnu/xml/transform/DocumentFunction.java @@ -1,5 +1,5 @@ /* DocumentFunction.java -- - Copyright (C) 2004 Free Software Foundation, Inc. + Copyright (C) 2004, 2015 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -66,8 +66,8 @@ final class DocumentFunction final Stylesheet stylesheet; final Node base; - List args; - List values; + List<Expr> args; + List<Object> values; DocumentFunction(Stylesheet stylesheet, Node base) { @@ -75,14 +75,15 @@ final class DocumentFunction this.base = base; } + @SuppressWarnings("rawtypes") public Object evaluate(List args) throws XPathFunctionException { - values = args; + values = (List<Object>) args; return evaluate(null, 1, 1); } - public void setArguments(List args) + public void setArguments(List<Expr> args) { this.args = args; } @@ -92,10 +93,10 @@ final class DocumentFunction int arity = args.size(); if (values == null) { - values = new ArrayList(arity); + values = new ArrayList<Object>(arity); for (int i = 0; i < arity; i++) { - Expr arg = (Expr) args.get(i); + Expr arg = args.get(i); values.add(arg.evaluate(context, pos, len)); } } @@ -106,11 +107,11 @@ final class DocumentFunction Object arg = values.get(0); if (arg instanceof Collection) { - Collection ns = (Collection) arg; - Collection acc = new TreeSet(); - for (Iterator i = ns.iterator(); i.hasNext(); ) + Collection<?> ns = (Collection<?>) arg; + Collection<Node> acc = new TreeSet<Node>(); + for (Object o : ns) { - Node node = (Node) i.next(); + Node node = (Node) o; String s = Expr.stringValue(node); acc.addAll(document(s, node.getBaseURI())); } @@ -127,14 +128,14 @@ final class DocumentFunction Object arg2 = values.get(1); if (!(arg2 instanceof Collection)) throw new RuntimeException("second argument is not a node-set"); - Collection arg2ns = (Collection) arg2; + Collection<?> arg2ns = (Collection<?>) arg2; String base2 = arg2ns.isEmpty() ? null : ((Node) arg2ns.iterator().next()).getBaseURI(); if (arg1 instanceof Collection) { - Collection arg1ns = (Collection) arg1; - Collection acc = new TreeSet(); - for (Iterator i = arg1ns.iterator(); i.hasNext(); ) + Collection<?> arg1ns = (Collection<?>) arg1; + Collection<Node> acc = new TreeSet<Node>(); + for (Iterator<?> i = arg1ns.iterator(); i.hasNext(); ) { Node node = (Node) i.next(); String s = Expr.stringValue(node); @@ -161,7 +162,7 @@ final class DocumentFunction * @param uri the URI from which to retrieve nodes * @param base the base URI for relative URIs */ - Collection document(String uri, String base) + Collection<Node> document(String uri, String base) { if ("".equals(uri) || uri == null) uri = this.base.getBaseURI(); @@ -203,9 +204,15 @@ final class DocumentFunction if (!(ret instanceof Collection)) { // XXX Report error? - return Collections.EMPTY_SET; + return Collections.<Node>emptySet(); } - return (Collection) ret; + Collection<Node> collRet = new TreeSet<Node>(); + for (Object o : (Collection<?>) ret) + { + if (o instanceof Node) + collRet.add((Node) o); + } + return collRet; } } catch (TransformerException e) @@ -224,18 +231,18 @@ final class DocumentFunction s = (Stylesheet) context; DocumentFunction f = new DocumentFunction(s, base); int len = args.size(); - List args2 = new ArrayList(len); + List<Expr> args2 = new ArrayList<Expr>(len); for (int i = 0; i < len; i++) - args2.add(((Expr) args.get(i)).clone(context)); + args2.add(args.get(i).clone(context)); f.setArguments(args2); return f; } public boolean references(QName var) { - for (Iterator i = args.iterator(); i.hasNext(); ) + for (Iterator<Expr> i = args.iterator(); i.hasNext(); ) { - if (((Expr) i.next()).references(var)) + if (i.next().references(var)) return true; } return false; diff --git a/gnu/xml/transform/ElementAvailableFunction.java b/gnu/xml/transform/ElementAvailableFunction.java index 6a9d256be..43896c3fc 100644 --- a/gnu/xml/transform/ElementAvailableFunction.java +++ b/gnu/xml/transform/ElementAvailableFunction.java @@ -1,5 +1,5 @@ /* ElementAvailableFunction.java -- - Copyright (C) 2004 Free Software Foundation, Inc. + Copyright (C) 2004, 2015 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -42,6 +42,7 @@ import java.util.Collection; import java.util.Collections; import java.util.Iterator; import java.util.List; +import java.util.SortedSet; import java.util.TreeSet; import javax.xml.namespace.QName; import javax.xml.namespace.NamespaceContext; @@ -61,10 +62,10 @@ class ElementAvailableFunction implements Function, XPathFunction { - static final Collection elements; + static final Collection<String> elements; static { - TreeSet acc = new TreeSet(); + SortedSet<String> acc = new TreeSet<String>(); acc.add("stylesheet"); acc.add("template"); acc.add("param"); @@ -103,13 +104,14 @@ class ElementAvailableFunction } final NamespaceContext nsctx; - List args; + List<Expr> args; ElementAvailableFunction(NamespaceContext nsctx) { this.nsctx = nsctx; } + @SuppressWarnings("rawtypes") public Object evaluate(List args) throws XPathFunctionException { @@ -117,14 +119,14 @@ class ElementAvailableFunction return Collections.EMPTY_SET; } - public void setArguments(List args) + public void setArguments(List<Expr> args) { this.args = args; } public Object evaluate(Node context, int pos, int len) { - Expr arg = (Expr) args.get(0); + Expr arg = args.get(0); Object val = arg.evaluate(context, pos, len); String name = _string(context, val); String prefix, localName, uri; @@ -156,18 +158,18 @@ class ElementAvailableFunction n = (NamespaceContext) context; ElementAvailableFunction f = new ElementAvailableFunction(n); int len = args.size(); - List args2 = new ArrayList(len); + List<Expr> args2 = new ArrayList<Expr>(len); for (int i = 0; i < len; i++) - args2.add(((Expr) args.get(i)).clone(context)); + args2.add(args.get(i).clone(context)); f.setArguments(args2); return f; } public boolean references(QName var) { - for (Iterator i = args.iterator(); i.hasNext(); ) + for (Iterator<Expr> i = args.iterator(); i.hasNext(); ) { - if (((Expr) i.next()).references(var)) + if (i.next().references(var)) return true; } return false; diff --git a/gnu/xml/transform/ElementNode.java b/gnu/xml/transform/ElementNode.java index 78a2007b7..7ac4c7fa1 100644 --- a/gnu/xml/transform/ElementNode.java +++ b/gnu/xml/transform/ElementNode.java @@ -1,5 +1,5 @@ /* ElementNode.java -- - Copyright (C) 2004,2006 Free Software Foundation, Inc. + Copyright (C) 2004,2006, 2015, 2016 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -42,7 +42,6 @@ import gnu.java.lang.CPStringBuilder; import java.util.Collection; import java.util.Collections; import java.util.HashSet; -import java.util.Iterator; import java.util.StringTokenizer; import javax.xml.XMLConstants; import javax.xml.namespace.QName; @@ -67,7 +66,7 @@ final class ElementNode final TemplateNode namespace; final String uas; final Node source; - final Collection elementExcludeResultPrefixes; + final Collection<String> elementExcludeResultPrefixes; ElementNode(TemplateNode name, TemplateNode namespace, String uas, Node source) @@ -81,13 +80,13 @@ final class ElementNode "exclude-result-prefixes"); if (attr != null) { - elementExcludeResultPrefixes = new HashSet(); + elementExcludeResultPrefixes = new HashSet<String>(); StringTokenizer st = new StringTokenizer(attr.getNodeValue()); while (st.hasMoreTokens()) elementExcludeResultPrefixes.add(st.nextToken()); } else - elementExcludeResultPrefixes = Collections.EMPTY_SET; + elementExcludeResultPrefixes = Collections.<String>emptySet(); } TemplateNode clone(Stylesheet stylesheet) @@ -209,9 +208,8 @@ final class ElementNode throws TransformerException { stylesheet.bindings.global = true; - for (Iterator i = stylesheet.attributeSets.iterator(); i.hasNext(); ) + for (AttributeSet as : stylesheet.attributeSets) { - AttributeSet as = (AttributeSet) i.next(); if (!as.name.equals(attributeSet)) continue; if (as.uas != null) diff --git a/gnu/xml/transform/FormatNumberFunction.java b/gnu/xml/transform/FormatNumberFunction.java index 82872be77..a26ddefa1 100644 --- a/gnu/xml/transform/FormatNumberFunction.java +++ b/gnu/xml/transform/FormatNumberFunction.java @@ -1,5 +1,5 @@ /* FormatNumberFunction.java -- - Copyright (C) 2004 Free Software Foundation, Inc. + Copyright (C) 2004, 2015 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -60,13 +60,14 @@ final class FormatNumberFunction { final Stylesheet stylesheet; - List args; + List<Expr> args; FormatNumberFunction(Stylesheet stylesheet) { this.stylesheet = stylesheet; } + @SuppressWarnings("rawtypes") public Object evaluate(List args) throws XPathFunctionException { @@ -74,7 +75,7 @@ final class FormatNumberFunction return Collections.EMPTY_SET; } - public void setArguments(List args) + public void setArguments(List<Expr> args) { this.args = args; } @@ -82,10 +83,10 @@ final class FormatNumberFunction public Object evaluate(Node context, int pos, int len) { int arity = args.size(); - List values = new ArrayList(arity); + List<Object> values = new ArrayList<Object>(arity); for (int i = 0; i < arity; i++) { - Expr arg = (Expr) args.get(i); + Expr arg = args.get(i); values.add(arg.evaluate(context, pos, len)); } double number = _number(context, values.get(0)); @@ -102,7 +103,7 @@ final class FormatNumberFunction dfName = _string(context, values.get(2)); // otherwise the default decimal-format will be used } - DecimalFormat df = (DecimalFormat) stylesheet.decimalFormats.get(dfName); + DecimalFormat df = stylesheet.decimalFormats.get(dfName); if (df == null) { throw new IllegalArgumentException("No such decimal-format: " + @@ -121,10 +122,10 @@ final class FormatNumberFunction } FormatNumberFunction f = new FormatNumberFunction(s); int len = args.size(); - List args2 = new ArrayList(len); + List<Expr> args2 = new ArrayList<Expr>(len); for (int i = 0; i < len; i++) { - args2.add(((Expr) args.get(i)).clone(context)); + args2.add(args.get(i).clone(context)); } f.setArguments(args2); return f; @@ -132,9 +133,9 @@ final class FormatNumberFunction public boolean references(QName var) { - for (Iterator i = args.iterator(); i.hasNext(); ) + for (Iterator<Expr> i = args.iterator(); i.hasNext(); ) { - if (((Expr) i.next()).references(var)) + if (i.next().references(var)) { return true; } diff --git a/gnu/xml/transform/FunctionAvailableFunction.java b/gnu/xml/transform/FunctionAvailableFunction.java index 1ac50327e..fd5a7ae93 100644 --- a/gnu/xml/transform/FunctionAvailableFunction.java +++ b/gnu/xml/transform/FunctionAvailableFunction.java @@ -1,5 +1,5 @@ /* FunctionAvailableFunction.java -- - Copyright (C) 2004 Free Software Foundation, Inc. + Copyright (C) 2004, 2015 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -42,6 +42,7 @@ import java.util.Collection; import java.util.Collections; import java.util.Iterator; import java.util.List; +import java.util.SortedSet; import java.util.TreeSet; import javax.xml.namespace.NamespaceContext; import javax.xml.namespace.QName; @@ -61,11 +62,11 @@ class FunctionAvailableFunction implements Function, XPathFunction { - static final Collection xsltFunctions; - static final Collection xpathFunctions; + static final Collection<String> xsltFunctions; + static final Collection<String> xpathFunctions; static { - TreeSet acc = new TreeSet(); + SortedSet<String> acc = new TreeSet<String>(); acc.add("document"); acc.add("key"); acc.add("format-number"); @@ -76,7 +77,7 @@ class FunctionAvailableFunction acc.add("element-available"); acc.add("function-available"); xsltFunctions = Collections.unmodifiableSet(acc); - acc = new TreeSet(); + acc = new TreeSet<String>(); acc.add("boolean"); acc.add("ceiling"); acc.add("concat"); @@ -108,13 +109,14 @@ class FunctionAvailableFunction } final NamespaceContext nsctx; - List args; + List<Expr> args; FunctionAvailableFunction(NamespaceContext nsctx) { this.nsctx = nsctx; } + @SuppressWarnings("rawtypes") public Object evaluate(List args) throws XPathFunctionException { @@ -122,14 +124,14 @@ class FunctionAvailableFunction return Collections.EMPTY_SET; } - public void setArguments(List args) + public void setArguments(List<Expr> args) { this.args = args; } public Object evaluate(Node context, int pos, int len) { - Expr arg = (Expr) args.get(0); + Expr arg = args.get(0); Object val = arg.evaluate(context, pos, len); String name = _string(context, val); String prefix, localName, uri; @@ -167,18 +169,18 @@ class FunctionAvailableFunction n = (NamespaceContext) context; FunctionAvailableFunction f = new FunctionAvailableFunction(n); int len = args.size(); - List args2 = new ArrayList(len); + List<Expr> args2 = new ArrayList<Expr>(len); for (int i = 0; i < len; i++) - args2.add(((Expr) args.get(i)).clone(context)); + args2.add(args.get(i).clone(context)); f.setArguments(args2); return f; } public boolean references(QName var) { - for (Iterator i = args.iterator(); i.hasNext(); ) + for (Iterator<Expr> i = args.iterator(); i.hasNext(); ) { - if (((Expr) i.next()).references(var)) + if (i.next().references(var)) return true; } return false; diff --git a/gnu/xml/transform/GenerateIdFunction.java b/gnu/xml/transform/GenerateIdFunction.java index efc583cc8..19c1e1372 100644 --- a/gnu/xml/transform/GenerateIdFunction.java +++ b/gnu/xml/transform/GenerateIdFunction.java @@ -1,5 +1,5 @@ /* GenerateIdFunction.java -- - Copyright (C) 2004 Free Software Foundation, Inc. + Copyright (C) 2004, 2015 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -59,8 +59,9 @@ final class GenerateIdFunction implements XPathFunction, Function { - List args; + List<Expr> args; + @SuppressWarnings("rawtypes") public Object evaluate(List args) throws XPathFunctionException { @@ -68,7 +69,7 @@ final class GenerateIdFunction return Collections.EMPTY_SET; } - public void setArguments(List args) + public void setArguments(List<Expr> args) { this.args = args; } @@ -76,24 +77,29 @@ final class GenerateIdFunction public Object evaluate(Node context, int pos, int len) { int arity = args.size(); - List values = new ArrayList(arity); + List<Object> values = new ArrayList<Object>(arity); for (int i = 0; i < arity; i++) { - Expr arg = (Expr) args.get(i); + Expr arg = args.get(i); values.add(arg.evaluate(context, pos, len)); } Node node; - Collection ns = (arity == 0) ? Collections.EMPTY_SET : - (Collection) values.get(0); + Collection<?> ns = (arity == 0) ? Collections.<Object>emptySet() : + (Collection<?>) values.get(0); if (ns.isEmpty()) { node = context; } else { - List list = new ArrayList(ns); + List<Node> list = new ArrayList<Node>(); + for (Object o : ns) + { + if (o instanceof Node) + list.add((Node) o); + } Collections.sort(list, documentOrderComparator); - node = (Node) list.get(0); + node = list.get(0); } String name = node.getNodeName(); @@ -115,10 +121,10 @@ final class GenerateIdFunction { GenerateIdFunction f = new GenerateIdFunction(); int len = args.size(); - List args2 = new ArrayList(len); + List<Expr> args2 = new ArrayList<Expr>(len); for (int i = 0; i < len; i++) { - args2.add(((Expr) args.get(i)).clone(context)); + args2.add(args.get(i).clone(context)); } f.setArguments(args2); return f; @@ -126,9 +132,9 @@ final class GenerateIdFunction public boolean references(QName var) { - for (Iterator i = args.iterator(); i.hasNext(); ) + for (Iterator<Expr> i = args.iterator(); i.hasNext(); ) { - if (((Expr) i.next()).references(var)) + if (i.next().references(var)) { return true; } diff --git a/gnu/xml/transform/KeyFunction.java b/gnu/xml/transform/KeyFunction.java index b962626c9..faa6c753a 100644 --- a/gnu/xml/transform/KeyFunction.java +++ b/gnu/xml/transform/KeyFunction.java @@ -1,5 +1,5 @@ /* KeyFunction.java -- - Copyright (C) 2004 Free Software Foundation, Inc. + Copyright (C) 2004, 2015 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -64,13 +64,14 @@ final class KeyFunction { final Stylesheet stylesheet; - List args; + List<Expr> args; KeyFunction(Stylesheet stylesheet) { this.stylesheet = stylesheet; } + @SuppressWarnings("rawtypes") public Object evaluate(List args) throws XPathFunctionException { @@ -78,7 +79,7 @@ final class KeyFunction return Collections.EMPTY_SET; } - public void setArguments(List args) + public void setArguments(List<Expr> args) { this.args = args; } @@ -86,17 +87,17 @@ final class KeyFunction public boolean matches(Node context) { Object ret = evaluate(context, 1, 1); - return !((Collection) ret).isEmpty(); + return !((Collection<?>) ret).isEmpty(); } public Object evaluate(Node context, int pos, int len) { // Evaluate arguments int arity = args.size(); - List values = new ArrayList(arity); + List<Object> values = new ArrayList<Object>(arity); for (int i = 0; i < arity; i++) { - Expr arg = (Expr) args.get(i); + Expr arg = args.get(i); values.add(arg.evaluate(context, pos, len)); } // Get key name @@ -115,10 +116,9 @@ final class KeyFunction } } // Compute matching key set - Collection keySet = new LinkedList(); - for (Iterator i = stylesheet.keys.iterator(); i.hasNext(); ) + Collection<Key> keySet = new LinkedList<Key>(); + for (Key key : stylesheet.keys) { - Key key = (Key) i.next(); if (key.name.equals(keyName)) { keySet.add(key); @@ -126,12 +126,12 @@ final class KeyFunction } // Get target Object target = values.get(1); - Collection acc = new LinkedHashSet(); + Collection<Node> acc = new LinkedHashSet<Node>(); Document doc = (context instanceof Document) ? (Document) context : context.getOwnerDocument(); if (target instanceof Collection) { - for (Iterator i = ((Collection) target).iterator(); i.hasNext(); ) + for (Iterator<?> i = ((Collection<?>) target).iterator(); i.hasNext(); ) { String val = Expr.stringValue((Node) i.next()); addKeyNodes(doc, keySet, val, acc); @@ -142,13 +142,13 @@ final class KeyFunction String val = Expr._string(context, target); addKeyNodes(doc, keySet, val, acc); } - List ret = new ArrayList(acc); + List<Node> ret = new ArrayList<Node>(acc); Collections.sort(ret, documentOrderComparator); return ret; } - final void addKeyNodes(Node node, Collection keySet, - String value, Collection acc) + final void addKeyNodes(Node node, Collection<Key> keySet, + String value, Collection<Node> acc) { addKeyNodeIfMatch(node, keySet, value, acc); // Apply children @@ -159,18 +159,17 @@ final class KeyFunction } } - final void addKeyNodeIfMatch(Node node, Collection keySet, - String value, Collection acc) + final void addKeyNodeIfMatch(Node node, Collection<Key> keySet, + String value, Collection<Node> acc) { - for (Iterator i = keySet.iterator(); i.hasNext(); ) + for (Key key : keySet) { - Key key = (Key) i.next(); if (key.match.matches(node)) { Object eval = key.use.evaluate(node, 1, 1); if (eval instanceof Collection) { - for (Iterator j = ((Collection) eval).iterator(); + for (Iterator<?> j = ((Collection<?>) eval).iterator(); j.hasNext(); ) { String keyValue = Expr.stringValue((Node) j.next()); @@ -203,10 +202,10 @@ final class KeyFunction } KeyFunction f = new KeyFunction(s); int len = args.size(); - List args2 = new ArrayList(len); + List<Expr> args2 = new ArrayList<Expr>(len); for (int i = 0; i < len; i++) { - args2.add(((Expr) args.get(i)).clone(context)); + args2.add(args.get(i).clone(context)); } f.setArguments(args2); return f; @@ -214,9 +213,9 @@ final class KeyFunction public boolean references(QName var) { - for (Iterator i = args.iterator(); i.hasNext(); ) + for (Iterator<Expr> i = args.iterator(); i.hasNext(); ) { - if (((Expr) i.next()).references(var)) + if (i.next().references(var)) { return true; } diff --git a/gnu/xml/transform/LiteralNode.java b/gnu/xml/transform/LiteralNode.java index 3405b3364..90df941f2 100644 --- a/gnu/xml/transform/LiteralNode.java +++ b/gnu/xml/transform/LiteralNode.java @@ -1,5 +1,5 @@ /* LiteralNode.java -- - Copyright (C) 2004,2006 Free Software Foundation, Inc. + Copyright (C) 2004,2006,2015, 2016 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -62,7 +62,7 @@ final class LiteralNode */ final Node source; - final Collection elementExcludeResultPrefixes; + final Collection<String> elementExcludeResultPrefixes; LiteralNode(Node source) { @@ -74,13 +74,13 @@ final class LiteralNode "exclude-result-prefixes"); if (attr != null) { - elementExcludeResultPrefixes = new HashSet(); + elementExcludeResultPrefixes = new HashSet<String>(); StringTokenizer st = new StringTokenizer(attr.getNodeValue()); while (st.hasMoreTokens()) elementExcludeResultPrefixes.add(st.nextToken()); } else - elementExcludeResultPrefixes = Collections.EMPTY_SET; + elementExcludeResultPrefixes = Collections.<String>emptySet(); } else elementExcludeResultPrefixes = null; diff --git a/gnu/xml/transform/NamespaceProxy.java b/gnu/xml/transform/NamespaceProxy.java index 695fbeb52..45be9f0f1 100644 --- a/gnu/xml/transform/NamespaceProxy.java +++ b/gnu/xml/transform/NamespaceProxy.java @@ -1,5 +1,5 @@ /* NamespaceProxy.java -- - Copyright (C) 2006 Free Software Foundation, Inc. + Copyright (C) 2006, 2015 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -68,7 +68,7 @@ class NamespaceProxy return (node == null) ? null : node.lookupPrefix(namespaceURI); } - public Iterator getPrefixes(String namespaceURI) + public Iterator<String> getPrefixes(String namespaceURI) { // TODO return Collections.singleton(getPrefix(namespaceURI)).iterator(); diff --git a/gnu/xml/transform/NodeNumberNode.java b/gnu/xml/transform/NodeNumberNode.java index 6663db371..0d74420ed 100644 --- a/gnu/xml/transform/NodeNumberNode.java +++ b/gnu/xml/transform/NodeNumberNode.java @@ -1,5 +1,5 @@ /* NodeNumberNode.java -- - Copyright (C) 2004 Free Software Foundation, Inc. + Copyright (C) 2004, 2015 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -43,10 +43,13 @@ import java.util.Collections; import java.util.Iterator; import java.util.List; import javax.xml.transform.TransformerException; + import org.w3c.dom.Node; + import gnu.xml.xpath.Expr; import gnu.xml.xpath.Pattern; import gnu.xml.xpath.Selector; +import gnu.xml.xpath.Test; import gnu.xml.xpath.UnionExpr; /** @@ -145,7 +148,7 @@ final class NodeNumberNode return (context == null) ? new int[0] : new int[] { (context == current) ? pos : getIndex(current, context) }; case MULTIPLE: - List ancestors = new ArrayList(); + List<Node> ancestors = new ArrayList<Node>(); while (context != null) { if (countMatches(current, context)) @@ -161,21 +164,21 @@ final class NodeNumberNode int[] ret = new int[ancestors.size()]; for (int i = 0; i < ret.length; i++) { - ret[i] = getIndex(current, (Node) ancestors.get(i)); + ret[i] = getIndex(current, ancestors.get(i)); } return ret; case ANY: Expr preceding = new Selector(Selector.PRECEDING, - Collections.EMPTY_LIST); + Collections.<Test>emptyList()); Expr ancestorOrSelf = new Selector(Selector.ANCESTOR_OR_SELF, - Collections.EMPTY_LIST); + Collections.<Test>emptyList()); Expr any = new UnionExpr(preceding, ancestorOrSelf); Object eval = any.evaluate(context, pos, len); if (eval instanceof Collection) { - Collection ns = (Collection) eval; - List candidates = new ArrayList(); - for (Iterator i = ns.iterator(); i.hasNext(); ) + Collection<?> ns = (Collection<?>) eval; + List<Node> candidates = new ArrayList<Node>(); + for (Iterator<?> i = ns.iterator(); i.hasNext(); ) { Node candidate = (Node) i.next(); if (countMatches(current, candidate)) diff --git a/gnu/xml/transform/SAXSerializer.java b/gnu/xml/transform/SAXSerializer.java index 3ea423410..bd653ab8e 100644 --- a/gnu/xml/transform/SAXSerializer.java +++ b/gnu/xml/transform/SAXSerializer.java @@ -1,5 +1,5 @@ /* SAXSerializer.java -- - Copyright (C) 2004 Free Software Foundation, Inc. + Copyright (C) 2004, 2015 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -38,8 +38,9 @@ exception statement from your version. */ package gnu.xml.transform; import java.util.HashMap; -import java.util.Iterator; import java.util.LinkedList; +import java.util.Map; + import org.w3c.dom.Attr; import org.w3c.dom.DocumentType; import org.w3c.dom.NamedNodeMap; @@ -59,13 +60,13 @@ class SAXSerializer { transient NamedNodeMap attrs; - transient LinkedList namespaces = new LinkedList(); + transient LinkedList<Map<String,String>> namespaces = + new LinkedList<Map<String,String>>(); boolean isDefined(String prefix, String uri) { - for (Iterator i = namespaces.iterator(); i.hasNext(); ) + for (Map<String,String> ctx : namespaces) { - HashMap ctx = (HashMap) i.next(); if (uri.equals(ctx.get(prefix))) { return true; @@ -76,35 +77,33 @@ class SAXSerializer void define(String prefix, String uri) { - for (Iterator i = namespaces.iterator(); i.hasNext(); ) + for (Map<String,String> ctx : namespaces) { - HashMap ctx = (HashMap) i.next(); if (ctx.containsKey(prefix)) { - HashMap newCtx = new HashMap(); + Map<String,String> newCtx = new HashMap<String,String>(); newCtx.put(prefix, uri); namespaces.addFirst(newCtx); return; } } - HashMap ctx; + Map<String,String> ctx; if (namespaces.isEmpty()) { - ctx = new HashMap(); + ctx = new HashMap<String,String>(); namespaces.add(ctx); } else { - ctx = (HashMap) namespaces.getFirst(); + ctx = namespaces.getFirst(); } ctx.put(prefix, uri); } void undefine(String prefix, String uri) { - for (Iterator i = namespaces.iterator(); i.hasNext(); ) + for (Map<String,String> ctx : namespaces) { - HashMap ctx = (HashMap) i.next(); if (uri.equals(ctx.get(prefix))) { ctx.remove(prefix); diff --git a/gnu/xml/transform/StreamSerializer.java b/gnu/xml/transform/StreamSerializer.java index a5705f891..383754a0c 100644 --- a/gnu/xml/transform/StreamSerializer.java +++ b/gnu/xml/transform/StreamSerializer.java @@ -1,5 +1,5 @@ /* StreamSerializer.java -- - Copyright (C) 2004,2006 Free Software Foundation, Inc. + Copyright (C) 2004,2006, 2015 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -50,9 +50,9 @@ import java.util.Collection; import java.util.Collections; import java.util.HashMap; import java.util.HashSet; -import java.util.Iterator; import java.util.LinkedList; import java.util.Map; +import java.util.Set; import javax.xml.XMLConstants; import org.w3c.dom.Attr; import org.w3c.dom.Document; @@ -79,28 +79,29 @@ public class StreamSerializer /** * HTML 4.01 boolean attributes */ - static final Map HTML_BOOLEAN_ATTRIBUTES = new HashMap(); + static final Map<String,Set<String>> HTML_BOOLEAN_ATTRIBUTES = + new HashMap<String,Set<String>>(); static { - HashSet set; + Set<String> set; - set = new HashSet(); + set = new HashSet<String>(); set.add("nohref"); HTML_BOOLEAN_ATTRIBUTES.put("area", set); - set = new HashSet(); + set = new HashSet<String>(); set.add("ismap"); HTML_BOOLEAN_ATTRIBUTES.put("img", set); - set = new HashSet(); + set = new HashSet<String>(); set.add("declare"); HTML_BOOLEAN_ATTRIBUTES.put("object", set); - set = new HashSet(); + set = new HashSet<String>(); set.add("noshade"); HTML_BOOLEAN_ATTRIBUTES.put("hr", set); - set = new HashSet(); + set = new HashSet<String>(); set.add("compact"); HTML_BOOLEAN_ATTRIBUTES.put("dl", set); HTML_BOOLEAN_ATTRIBUTES.put("ol", set); @@ -108,52 +109,52 @@ public class StreamSerializer HTML_BOOLEAN_ATTRIBUTES.put("dir", set); HTML_BOOLEAN_ATTRIBUTES.put("menu", set); - set = new HashSet(); + set = new HashSet<String>(); set.add("checked"); set.add("disabled"); set.add("readonly"); set.add("ismap"); HTML_BOOLEAN_ATTRIBUTES.put("input", set); - set = new HashSet(); + set = new HashSet<String>(); set.add("multiple"); set.add("disabled"); HTML_BOOLEAN_ATTRIBUTES.put("select", set); - set = new HashSet(); + set = new HashSet<String>(); set.add("disabled"); HTML_BOOLEAN_ATTRIBUTES.put("optgroup", set); - set = new HashSet(); + set = new HashSet<String>(); set.add("selected"); set.add("disabled"); HTML_BOOLEAN_ATTRIBUTES.put("option", set); - set = new HashSet(); + set = new HashSet<String>(); set.add("disabled"); set.add("readonly"); HTML_BOOLEAN_ATTRIBUTES.put("textarea", set); - set = new HashSet(); + set = new HashSet<String>(); set.add("disabled"); HTML_BOOLEAN_ATTRIBUTES.put("button", set); - set = new HashSet(); + set = new HashSet<String>(); set.add("nowrap"); HTML_BOOLEAN_ATTRIBUTES.put("th", set); HTML_BOOLEAN_ATTRIBUTES.put("td", set); - set = new HashSet(); + set = new HashSet<String>(); set.add("noresize"); HTML_BOOLEAN_ATTRIBUTES.put("frame", set); - set = new HashSet(); + set = new HashSet<String>(); set.add("defer"); HTML_BOOLEAN_ATTRIBUTES.put("script", set); } // HTML namespace URIs - static final HashSet HTML_URIS = new HashSet(); + static final Set<String> HTML_URIS = new HashSet<String>(); static { HTML_URIS.add("http://www.w3.org/1999/xhtml"); } @@ -162,9 +163,9 @@ public class StreamSerializer final Charset charset; final CharsetEncoder encoder; final int mode; - final LinkedList namespaces; + final LinkedList<Map<String,String>> namespaces; protected String eol; - Collection cdataSectionElements = Collections.EMPTY_SET; + Collection<String> cdataSectionElements = Collections.<String>emptySet(); protected boolean discardDefaultContent; protected boolean xmlDeclaration = true; @@ -191,10 +192,10 @@ public class StreamSerializer charset = Charset.forName(this.encoding); encoder = charset.newEncoder(); this.eol = (eol != null) ? eol : System.getProperty("line.separator"); - namespaces = new LinkedList(); + namespaces = new LinkedList<Map<String,String>>(); } - void setCdataSectionElements(Collection c) + void setCdataSectionElements(Collection<String> c) { cdataSectionElements = c; } @@ -554,10 +555,9 @@ public class StreamSerializer return "xmlns".equals(prefix); if (prefix == null) prefix = ""; - for (Iterator i = namespaces.iterator(); i.hasNext(); ) + for (Map<String,String> ctx : namespaces) { - Map ctx = (Map) i.next(); - String val = (String) ctx.get(uri); + String val = ctx.get(uri); if (val != null && val.equals(prefix)) return true; } @@ -566,14 +566,14 @@ public class StreamSerializer void pushNamespaceContext() { - namespaces.addFirst(new HashMap()); + namespaces.addFirst(new HashMap<String,String>()); } String define(String uri, String prefix) { if (namespaces.isEmpty()) return prefix; - HashMap ctx = (HashMap) namespaces.getFirst(); + Map<String,String> ctx = namespaces.getFirst(); while (ctx.containsValue(prefix)) { // Fabricate new prefix @@ -741,8 +741,8 @@ public class StreamSerializer elementName = element.getNodeName(); } elementName = elementName.toLowerCase(); - Collection attributes = - (Collection) HTML_BOOLEAN_ATTRIBUTES.get(elementName); + Collection<String> attributes = + HTML_BOOLEAN_ATTRIBUTES.get(elementName); return (attributes != null && attributes.contains(attrName)); } diff --git a/gnu/xml/transform/SystemPropertyFunction.java b/gnu/xml/transform/SystemPropertyFunction.java index f314227e6..c856a1548 100644 --- a/gnu/xml/transform/SystemPropertyFunction.java +++ b/gnu/xml/transform/SystemPropertyFunction.java @@ -1,5 +1,5 @@ /* SystemPropertyFunction.java -- - Copyright (C) 2004 Free Software Foundation, Inc. + Copyright (C) 2004, 2015, 2016 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -57,8 +57,9 @@ final class SystemPropertyFunction implements XPathFunction, Function { - List args; + List<Expr> args; + @SuppressWarnings("rawtypes") public Object evaluate(List args) throws XPathFunctionException { @@ -66,7 +67,7 @@ final class SystemPropertyFunction return systemProperty(QName.valueOf(name)); } - public void setArguments(List args) + public void setArguments(List<Expr> args) { this.args = args; } @@ -74,10 +75,10 @@ final class SystemPropertyFunction public Object evaluate(Node context, int pos, int len) { int arity = args.size(); - List values = new ArrayList(arity); + List<Object> values = new ArrayList<Object>(arity); for (int i = 0; i < arity; i++) { - Expr arg = (Expr) args.get(i); + Expr arg = args.get(i); values.add(arg.evaluate(context, pos, len)); } String name = _string(context, values.get(0)); @@ -116,10 +117,10 @@ final class SystemPropertyFunction { SystemPropertyFunction f = new SystemPropertyFunction(); int len = args.size(); - List args2 = new ArrayList(len); + List<Expr> args2 = new ArrayList<Expr>(len); for (int i = 0; i < len; i++) { - args2.add(((Expr) args.get(i)).clone(context)); + args2.add(args.get(i).clone(context)); } f.setArguments(args2); return f; @@ -127,9 +128,9 @@ final class SystemPropertyFunction public boolean references(QName var) { - for (Iterator i = args.iterator(); i.hasNext(); ) + for (Iterator<Expr> i = args.iterator(); i.hasNext(); ) { - if (((Expr) i.next()).references(var)) + if (i.next().references(var)) { return true; } diff --git a/gnu/xml/transform/Template.java b/gnu/xml/transform/Template.java index 09d1a997c..18100ac11 100644 --- a/gnu/xml/transform/Template.java +++ b/gnu/xml/transform/Template.java @@ -1,5 +1,5 @@ /* Template.java -- - Copyright (C) 2004,2006 Free Software Foundation, Inc. + Copyright (C) 2004,2006, 2015 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -56,7 +56,7 @@ import gnu.xml.xpath.Test; * @author <a href='mailto:dog@gnu.org'>Chris Burdess</a> */ class Template - implements Comparable + implements Comparable<Template> { static final double DEFAULT_PRIORITY = 0.5d; @@ -156,18 +156,15 @@ class Template isAnyNode); } - public int compareTo(Object other) + @Override + public int compareTo(Template t) { - if (other instanceof Template) - { - Template t = (Template) other; - int d = t.precedence - precedence; - if (d != 0) - return d; - double d2 = t.priority - priority; - if (d2 != 0.0d) - return (int) Math.round(d2 * 1000.0d); - } + int d = t.precedence - precedence; + if (d != 0) + return d; + double d2 = t.priority - priority; + if (d2 != 0.0d) + return (int) Math.round(d2 * 1000.0d); return 0; } diff --git a/gnu/xml/transform/TransformerFactoryImpl.java b/gnu/xml/transform/TransformerFactoryImpl.java index 972e8a282..30dc9c384 100644 --- a/gnu/xml/transform/TransformerFactoryImpl.java +++ b/gnu/xml/transform/TransformerFactoryImpl.java @@ -1,5 +1,5 @@ /* TransformerFactoryImpl.java -- - Copyright (C) 2004,2006 Free Software Foundation, Inc. + Copyright (C) 2004,2006, 2015 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -43,7 +43,6 @@ import java.io.InputStream; import java.io.IOException; import java.io.OutputStream; import java.net.URL; -import java.util.Iterator; import java.util.LinkedHashMap; import java.util.LinkedList; import java.util.Map; @@ -171,7 +170,7 @@ public class TransformerFactoryImpl } Document doc = (node instanceof Document) ? (Document) node : node.getOwnerDocument(); - LinkedList matches = new LinkedList(); + LinkedList<URL> matches = new LinkedList<URL>(); for (node = doc.getFirstChild(); node != null; node = node.getNextSibling()) @@ -179,7 +178,7 @@ public class TransformerFactoryImpl if (node.getNodeType() == Node.PROCESSING_INSTRUCTION_NODE && "xml-stylesheet".equals(node.getNodeName())) { - Map params = parseParameters(node.getNodeValue()); + Map<String,String> params = parseParameters(node.getNodeValue()); if (media != null && !media.equals(params.get("media"))) { continue; @@ -192,7 +191,7 @@ public class TransformerFactoryImpl { continue; } - String href = (String) params.get("href"); + String href = params.get("href"); URL url = resolver.resolveURL(null, node.getBaseURI(), href); matches.add(url); } @@ -217,9 +216,8 @@ public class TransformerFactoryImpl root.getAttributes().setNamedItemNS(version); ssDoc.appendChild(root); // Create xsl:import for each URL - for (Iterator i = matches.iterator(); i.hasNext(); ) + for (URL url : matches) { - URL url = (URL) i.next(); Node imp = ssDoc.createElementNS(Stylesheet.XSL_NS, "import"); Node href = @@ -242,9 +240,9 @@ public class TransformerFactoryImpl } } - Map parseParameters(String data) + Map<String,String> parseParameters(String data) { - Map ret = new LinkedHashMap(); + Map<String,String> ret = new LinkedHashMap<String,String>(); int len = data.length(); String key = null; int start = 0; diff --git a/gnu/xml/transform/TransformerImpl.java b/gnu/xml/transform/TransformerImpl.java index eb6a5dea1..885642538 100644 --- a/gnu/xml/transform/TransformerImpl.java +++ b/gnu/xml/transform/TransformerImpl.java @@ -1,5 +1,5 @@ /* TransformerImpl.java -- - Copyright (C) 2004,2005,2006 Free Software Foundation, Inc. + Copyright (C) 2004,2005,2006, 2015 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -293,7 +293,7 @@ class TransformerImpl parent.setUserData("media-type", mediaType, stylesheet); if (cdataSectionElements != null) { - List list = new LinkedList(); + List<QName> list = new LinkedList<QName>(); StringTokenizer st = new StringTokenizer(cdataSectionElements); while (st.hasMoreTokens()) { @@ -564,7 +564,7 @@ class TransformerImpl new StreamSerializer(outputMethod, encoding, null); if (stylesheet != null) { - Collection celem = stylesheet.outputCdataSectionElements; + Collection<String> celem = stylesheet.outputCdataSectionElements; serializer.setCdataSectionElements(celem); } serializer.serialize(node, out); @@ -686,7 +686,7 @@ class TransformerImpl { boolean markupContent = false; boolean textContent = false; - List children = new LinkedList(); + List<Node> children = new LinkedList<Node>(); Node ctx = node.getFirstChild(); while (ctx != null) { @@ -716,9 +716,9 @@ class TransformerImpl int nodeType = node.getNodeType(); if (nodeType == Node.DOCUMENT_NODE) { - for (Iterator i = children.iterator(); i.hasNext(); ) + for (Iterator<Node> i = children.iterator(); i.hasNext(); ) { - ctx = (Node) i.next(); + ctx = i.next(); reindent(doc, ctx, offset); } } @@ -729,9 +729,9 @@ class TransformerImpl for (int i = 0; i < offset + 1; i++) buf.append(INDENT_WHITESPACE); String ws = buf.toString(); - for (Iterator i = children.iterator(); i.hasNext(); ) + for (Iterator<Node> i = children.iterator(); i.hasNext(); ) { - ctx = (Node) i.next(); + ctx = i.next(); node.insertBefore(doc.createTextNode(ws), ctx); reindent(doc, ctx, offset + 1); } @@ -750,14 +750,13 @@ class TransformerImpl * Converts the text node children of any cdata-section-elements in the * tree to CDATA section nodes. */ - void convertCdataSectionElements(Document doc, Node node, List list) + void convertCdataSectionElements(Document doc, Node node, List<QName> list) { if (node.getNodeType() == Node.ELEMENT_NODE) { boolean match = false; - for (Iterator i = list.iterator(); i.hasNext(); ) + for (QName qname : list) { - QName qname = (QName) i.next(); if (match(qname, node)) { match = true; diff --git a/gnu/xml/transform/TransformerOutputProperties.java b/gnu/xml/transform/TransformerOutputProperties.java index ddaa260c4..0b6f50e10 100644 --- a/gnu/xml/transform/TransformerOutputProperties.java +++ b/gnu/xml/transform/TransformerOutputProperties.java @@ -1,5 +1,5 @@ /* TransformerOutputProperties.java -- - Copyright (C) 2004 Free Software Foundation, Inc. + Copyright (C) 2004, 2015 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -98,14 +98,14 @@ class TransformerOutputProperties stylesheet.outputSystemId); } CPStringBuilder buf = new CPStringBuilder(); - for (Iterator i = stylesheet.outputCdataSectionElements.iterator(); + for (Iterator<String> i = stylesheet.outputCdataSectionElements.iterator(); i.hasNext(); ) { if (buf.length() > 0) { buf.append(' '); } - buf.append((String) i.next()); + buf.append(i.next()); } defaultProperties.put(OutputKeys.CDATA_SECTION_ELEMENTS, buf.toString()); defaultProperties.put(OutputKeys.INDENT, @@ -172,7 +172,7 @@ class TransformerOutputProperties stylesheet.outputSystemId = getProperty(OutputKeys.DOCTYPE_SYSTEM); StringTokenizer st = new StringTokenizer(getProperty(OutputKeys.CDATA_SECTION_ELEMENTS)); - Collection acc = new LinkedHashSet(); + Collection<String> acc = new LinkedHashSet<String>(); while (st.hasMoreTokens()) { acc.add(st.nextToken()); diff --git a/gnu/xml/transform/UnparsedEntityUriFunction.java b/gnu/xml/transform/UnparsedEntityUriFunction.java index 5eae78cb2..b4fc21c2d 100644 --- a/gnu/xml/transform/UnparsedEntityUriFunction.java +++ b/gnu/xml/transform/UnparsedEntityUriFunction.java @@ -1,5 +1,5 @@ /* UnparsedEntityUriFunction.java -- - Copyright (C) 2004 Free Software Foundation, Inc. + Copyright (C) 2004, 2015 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -63,6 +63,7 @@ final class UnparsedEntityUriFunction List<Expr> args; + @SuppressWarnings("rawtypes") public Object evaluate(List args) throws XPathFunctionException { diff --git a/gnu/xml/transform/ValueOfNode.java b/gnu/xml/transform/ValueOfNode.java index 0d9a656e7..c1f797596 100644 --- a/gnu/xml/transform/ValueOfNode.java +++ b/gnu/xml/transform/ValueOfNode.java @@ -1,5 +1,5 @@ /* ValueOfNode.java -- - Copyright (C) 2004,2006 Free Software Foundation, Inc. + Copyright (C) 2004,2006, 2015 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -40,7 +40,6 @@ package gnu.xml.transform; import gnu.java.lang.CPStringBuilder; import java.util.Collection; -import java.util.Iterator; import javax.xml.namespace.QName; import javax.xml.transform.TransformerException; import org.w3c.dom.Document; @@ -88,9 +87,13 @@ final class ValueOfNode if (ret instanceof Collection) { CPStringBuilder buf = new CPStringBuilder(); - for (Node node : ((Collection<Node>) ret)) + for (Object o : ((Collection<?>) ret)) { - buf.append(Expr.stringValue(node)); + if (o instanceof Node) + { + Node node = (Node) o; + buf.append(Expr.stringValue(node)); + } } value = buf.toString(); } diff --git a/gnu/xml/transform/XSLComparator.java b/gnu/xml/transform/XSLComparator.java index 1fd0b20e6..df025db45 100644 --- a/gnu/xml/transform/XSLComparator.java +++ b/gnu/xml/transform/XSLComparator.java @@ -1,5 +1,5 @@ /* XSLComparator.java -- - Copyright (C) 2004 Free Software Foundation, Inc. + Copyright (C) 2004, 2015 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -38,7 +38,6 @@ exception statement from your version. */ package gnu.xml.transform; import java.util.Comparator; -import java.util.Iterator; import java.util.List; import java.util.Locale; import java.text.Collator; diff --git a/gnu/xml/util/DomParser.java b/gnu/xml/util/DomParser.java index 66e3f1d87..e63ce9a01 100644 --- a/gnu/xml/util/DomParser.java +++ b/gnu/xml/util/DomParser.java @@ -1,5 +1,5 @@ /* DomParser.java -- - Copyright (C) 1999,2000,2001 Free Software Foundation, Inc. + Copyright (C) 1999,2000,2001, 2016 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -775,7 +775,7 @@ final public class DomParser implements XMLReader // XXX throw new RuntimeException ( "NYI, ns lookup when parsing L1 DOM"); - for (Enumeration e = prefixStack.getDeclaredPrefixes (); + for (Enumeration<?> e = prefixStack.getDeclaredPrefixes (); e.hasMoreElements (); ) { contentHandler.endPrefixMapping ((String) e.nextElement ()); diff --git a/gnu/xml/util/Resolver.java b/gnu/xml/util/Resolver.java index b16f9617f..e792d7d8e 100644 --- a/gnu/xml/util/Resolver.java +++ b/gnu/xml/util/Resolver.java @@ -1,5 +1,5 @@ /* Resolver.java -- - Copyright (C) 1999,2000,2001 Free Software Foundation, Inc. + Copyright (C) 1999,2000,2001, 2015 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -39,7 +39,7 @@ package gnu.xml.util; import java.io.File; import java.io.IOException; -import java.util.Dictionary; +import java.util.Map; import org.xml.sax.EntityResolver; import org.xml.sax.InputSource; @@ -65,7 +65,7 @@ public class Resolver implements EntityResolver, Cloneable * @param directory File holding the specified files. */ public static void addDirectoryMapping ( - Dictionary table, + Map<String,String> table, String mappings [][], File directory ) throws IOException @@ -164,18 +164,18 @@ public class Resolver implements EntityResolver, Cloneable // note: cloneable, this is just copied; unguarded against mods - private Dictionary pubidMapping; + private Map<String,String> pubidMapping; /** * Constructs a resolver which understands how to map PUBLIC identifiers * to other URIs, typically for local copies of standard DTD components. * - * @param dict maps PUBLIC identifiers to URIs. This is not + * @param map maps PUBLIC identifiers to URIs. This is not * copied; subsequent modifications will be reported through the * resolution operations. */ - public Resolver (Dictionary dict) - { pubidMapping = dict; } + public Resolver (Map<String,String> map) + { pubidMapping = map; } // FIXME: want notion of a "system default" resolver, presumably @@ -247,7 +247,7 @@ public class Resolver implements EntityResolver, Cloneable String uri; if (publicId != null - && ((uri = (String) pubidMapping.get (publicId)) != null)) { + && ((uri = pubidMapping.get (publicId)) != null)) { retval = new InputSource (uri); retval.setPublicId (publicId); } diff --git a/gnu/xml/util/SAXNullTransformerFactory.java b/gnu/xml/util/SAXNullTransformerFactory.java index 3a97678e0..d21b94db1 100644 --- a/gnu/xml/util/SAXNullTransformerFactory.java +++ b/gnu/xml/util/SAXNullTransformerFactory.java @@ -1,5 +1,5 @@ /* SAXNullTransformerFactory.java -- - Copyright (C) 2001 Free Software Foundation, Inc. + Copyright (C) 2001, 2015 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -517,7 +517,7 @@ public class SAXNullTransformerFactory extends SAXTransformerFactory private URIResolver uriResolver; private Properties props = new Properties (); - private Hashtable params = new Hashtable (7); + private Hashtable<Object,Object> params = new Hashtable<Object,Object>(7); ErrorListener errListener = null; TransformerException ex = null; diff --git a/gnu/xml/util/XCat.java b/gnu/xml/util/XCat.java index ea23ad682..be47f11c3 100644 --- a/gnu/xml/util/XCat.java +++ b/gnu/xml/util/XCat.java @@ -1,5 +1,5 @@ /* XCat.java -- - Copyright (C) 2001 Free Software Foundation, Inc. + Copyright (C) 2001, 2015 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -650,7 +650,6 @@ System.err.println ("nyet unhexing public id: " + publicId); // we can't trust other sources to normalize correctly if (full) { StringTokenizer tokens; - String token; tokens = new StringTokenizer (publicId, " \r\n"); publicId = null; @@ -735,20 +734,20 @@ System.err.println ("nyet unhexing public id: " + publicId); boolean hasPreference; boolean usingPublic; - Hashtable publicIds; - Hashtable publicDelegations; + Hashtable<String, String> publicIds; + Hashtable<String, Object> publicDelegations; - Hashtable systemIds; - Hashtable systemRewrites; - Hashtable systemDelegations; + Hashtable<String, String> systemIds; + Hashtable<String, String> systemRewrites; + Hashtable<String, Object> systemDelegations; - Hashtable uris; - Hashtable uriRewrites; - Hashtable uriDelegations; + Hashtable<String, String> uris; + Hashtable<String, String> uriRewrites; + Hashtable<String, Object> uriDelegations; - Hashtable doctypes; + Hashtable<String,String> doctypes; - Vector next; + Vector<Object> next; // nonpublic! Catalog () { } @@ -778,15 +777,15 @@ System.err.println ("nyet unhexing public id: " + publicId); // steps as found in OASIS XML catalog spec 7.1.2 or 7.2.2 private InputSource mapURI ( String uri, - Hashtable ids, - Hashtable rewrites, - Hashtable delegations + Hashtable<String,String> ids, + Hashtable<String,String> rewrites, + Hashtable<String,Object> delegations ) throws SAXException, IOException { // 7.1.2: 2. return (first) 'system' entry // 7.2.2: 2. return (first) 'uri' entry if (ids != null) { - String retval = (String) ids.get (uri); + String retval = ids.get (uri); if (retval != null) { // IF the URI is accessible ... return new InputSource (retval); @@ -800,10 +799,10 @@ System.err.println ("nyet unhexing public id: " + publicId); String replace = null; int prefixLen = -1; - for (Enumeration e = rewrites.keys (); + for (Enumeration<String> e = rewrites.keys (); e.hasMoreElements (); /* NOP */) { - String temp = (String) e.nextElement (); + String temp = e.nextElement (); int len = -1; if (!uri.startsWith (temp)) @@ -813,7 +812,7 @@ System.err.println ("nyet unhexing public id: " + publicId); continue; prefix = temp; prefixLen = len; - replace = (String) rewrites.get (temp); + replace = rewrites.get (temp); } if (prefix != null) { CPStringBuilder buf = new CPStringBuilder (replace); @@ -943,7 +942,7 @@ System.err.println ("nyet unhexing public id: " + publicId); throws SAXException, IOException { if (doctypes != null) { - String value = (String) doctypes.get (name); + String value = doctypes.get (name); if (value != null) { // IF the URI is accessible ... return new InputSource (value); @@ -990,25 +989,25 @@ System.err.println ("nyet unhexing public id: " + publicId); } private InputSource checkDelegations ( - Hashtable delegations, + Hashtable<String,Object> delegations, String id, String publicId, // only one of public/system String systemId // will be non-null... ) throws SAXException, IOException { - Vector matches = null; + Vector<String> matches = null; int length = 0; // first, see if any prefixes match. - for (Enumeration e = delegations.keys (); + for (Enumeration<String> e = delegations.keys (); e.hasMoreElements (); /* NOP */) { - String prefix = (String) e.nextElement (); + String prefix = e.nextElement (); if (!id.startsWith (prefix)) continue; if (matches == null) - matches = new Vector (); + matches = new Vector<String>(); // maintain in longer->shorter sorted order // NOTE: assumes not many matches will fire! @@ -1038,7 +1037,7 @@ System.err.println ("nyet unhexing public id: " + publicId); // get this catalog. we may not have read it yet. synchronized (delegations) { - Object prefix = matches.elementAt (i); + String prefix = matches.elementAt (i); Object cat = delegations.get (prefix); if (cat instanceof Catalog) @@ -1091,8 +1090,8 @@ System.err.println ("nyet unhexing public id: " + publicId); private int ignoreDepth; private Locator locator; private boolean started; - private Hashtable externals; - private Stack bases; + private Hashtable<String, String> externals; + private Stack<URL> bases; Catalog cat = new Catalog (); @@ -1142,7 +1141,7 @@ System.err.println ("nyet unhexing public id: " + publicId); // otherwise, let's hope the JDK handles this URI scheme. try { - URL base = (URL) bases.peek (); + URL base = bases.peek (); return new URL (base, uri).toString (); } catch (Exception e) { fatal ("can't absolutize URI: " + uri); @@ -1190,7 +1189,7 @@ System.err.println ("nyet unhexing public id: " + publicId); { if (locator == null) error ("no locator!"); - bases = new Stack (); + bases = new Stack<URL>(); String uri = locator.getSystemId (); try { bases.push (new URL (uri)); @@ -1220,7 +1219,7 @@ System.err.println ("nyet unhexing public id: " + publicId); throws SAXException { if (externals == null) - externals = new Hashtable (); + externals = new Hashtable<String,String>(); if (externals.get (name) == null) externals.put (name, pub); } @@ -1230,7 +1229,7 @@ System.err.println ("nyet unhexing public id: " + publicId); { if (externals == null) return; - String uri = (String) externals.get (name); + String uri = externals.get (name); // NOTE: breaks if an EntityResolver substitutes these URIs. // If toplevel loader supports one, must intercept calls... @@ -1247,7 +1246,7 @@ System.err.println ("nyet unhexing public id: " + publicId); { if (externals == null) return; - String value = (String) externals.get (name); + String value = externals.get (name); if (value != null) bases.pop (); @@ -1279,7 +1278,7 @@ System.err.println ("nyet unhexing public id: " + publicId); String xmlbase = atts.getValue ("xml:base"); if (xmlbase != null) { - URL base = (URL) bases.peek (); + URL base = bases.peek (); try { base = new URL (base, xmlbase); } catch (IOException e) { @@ -1370,9 +1369,9 @@ fatal ("<group prefer=...> case not handled"); publicId = normalizePublicId (true, publicId); uri = nofrag (uri); if (cat.publicIds == null) - cat.publicIds = new Hashtable (); + cat.publicIds = new Hashtable<String,String>(); else - value = (String) cat.publicIds.get (publicId); + value = cat.publicIds.get (publicId); if (value != null) { if (!value.equals (uri)) warn ("ignoring <public...> entry for " + publicId); @@ -1392,7 +1391,7 @@ fatal ("<group prefer=...> case not handled"); publicIdStartString = normalizePublicId (true, publicIdStartString); if (cat.publicDelegations == null) - cat.publicDelegations = new Hashtable (); + cat.publicDelegations = new Hashtable<String,Object>(); else value = cat.publicDelegations.get (publicIdStartString); if (value != null) { @@ -1421,11 +1420,11 @@ fatal ("<group prefer=...> case not handled"); return; } if (cat.systemIds == null) { - cat.systemIds = new Hashtable (); + cat.systemIds = new Hashtable<String,String>(); if (unified) cat.uris = cat.systemIds; } else - value = (String) cat.systemIds.get (systemId); + value = cat.systemIds.get (systemId); if (value != null) { if (!value.equals (uri)) warn ("ignoring <system...> entry for " + systemId); @@ -1444,7 +1443,7 @@ fatal ("<group prefer=...> case not handled"); return; } if (cat.systemRewrites == null) { - cat.systemRewrites = new Hashtable (); + cat.systemRewrites = new Hashtable<String,String>(); if (unified) cat.uriRewrites = cat.systemRewrites; } else @@ -1467,7 +1466,7 @@ fatal ("<group prefer=...> case not handled"); return; } if (cat.systemDelegations == null) { - cat.systemDelegations = new Hashtable (); + cat.systemDelegations = new Hashtable<String,Object>(); if (unified) cat.uriDelegations = cat.systemDelegations; } else @@ -1498,11 +1497,11 @@ fatal ("<group prefer=...> case not handled"); } name = normalizeURI (name); if (cat.uris == null) { - cat.uris = new Hashtable (); + cat.uris = new Hashtable<String,String>(); if (unified) cat.systemIds = cat.uris; } else - value = (String) cat.uris.get (name); + value = cat.uris.get (name); if (value != null) { if (!value.equals (uri)) warn ("ignoring <uri...> entry for " + name); @@ -1521,11 +1520,11 @@ fatal ("<group prefer=...> case not handled"); return; } if (cat.uriRewrites == null) { - cat.uriRewrites = new Hashtable (); + cat.uriRewrites = new Hashtable<String,String>(); if (unified) cat.systemRewrites = cat.uriRewrites; } else - value = (String) cat.uriRewrites.get (uriStartString); + value = cat.uriRewrites.get (uriStartString); if (value != null) { if (!value.equals (rewritePrefix)) warn ("ignoring <rewriteURI...> entry for " @@ -1542,7 +1541,7 @@ fatal ("<group prefer=...> case not handled"); return; } if (cat.uriDelegations == null) { - cat.uriDelegations = new Hashtable (); + cat.uriDelegations = new Hashtable<String,Object>(); if (unified) cat.systemDelegations = cat.uriDelegations; } else @@ -1563,7 +1562,7 @@ fatal ("<group prefer=...> case not handled"); return; } if (cat.next == null) - cat.next = new Vector (); + cat.next = new Vector<Object>(); cat.next.addElement (catalog); // @@ -1579,9 +1578,9 @@ fatal ("<group prefer=...> case not handled"); } name = normalizeURI (name); if (cat.doctypes == null) - cat.doctypes = new Hashtable (); + cat.doctypes = new Hashtable<String,String>(); else - value = (String) cat.doctypes.get (name); + value = cat.doctypes.get (name); if (value != null) { if (!value.equals (uri)) warn ("ignoring <doctype...> entry for " diff --git a/gnu/xml/util/XMLWriter.java b/gnu/xml/util/XMLWriter.java index a371debff..a5bb4275f 100644 --- a/gnu/xml/util/XMLWriter.java +++ b/gnu/xml/util/XMLWriter.java @@ -1,5 +1,5 @@ /* XMLWriter.java -- - Copyright (C) 1999,2000,2001 Free Software Foundation, Inc. + Copyright (C) 1999,2000,2001, 2015 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -172,7 +172,7 @@ public class XMLWriter private boolean prettyPrinting; private int column; private boolean noWrap; - private Stack space = new Stack (); + private Stack<String> space = new Stack<String>(); // this is not a hard'n'fast rule -- longer lines are OK, // but are to be avoided. Here, prettyprinting is more to @@ -932,7 +932,7 @@ public class XMLWriter else if (atts != null) whitespace = atts.getValue ("xml:space"); if (whitespace == null) - whitespace = (String) space.peek (); + whitespace = space.peek (); space.push (whitespace); if ("default".equals (whitespace)) { |