You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@cocoon.apache.org by an...@apache.org on 2011/07/31 13:59:25 UTC
svn commit: r1152570 - in /cocoon/cocoon3/trunk: cocoon-docs/src/changes/
cocoon-stax/src/main/java/org/apache/cocoon/stax/component/
cocoon-stax/src/main/java/org/apache/cocoon/stax/converter/util/
Author: anathaniel
Date: Sun Jul 31 11:59:24 2011
New Revision: 1152570
URL: http://svn.apache.org/viewvc?rev=1152570&view=rev
Log:
Parametrise generic collections to avoid rawtype warnings and minizes scope of unavoidable @SuppressWarnings("unchecked")
Modified:
cocoon/cocoon3/trunk/cocoon-docs/src/changes/changes.xml
cocoon/cocoon3/trunk/cocoon-stax/src/main/java/org/apache/cocoon/stax/component/XMLGenerator.java
cocoon/cocoon3/trunk/cocoon-stax/src/main/java/org/apache/cocoon/stax/converter/util/ExtendedNamespaceContext.java
cocoon/cocoon3/trunk/cocoon-stax/src/main/java/org/apache/cocoon/stax/converter/util/SimpleNamespaceContext.java
cocoon/cocoon3/trunk/cocoon-stax/src/main/java/org/apache/cocoon/stax/converter/util/StAXEventContentHandler.java
cocoon/cocoon3/trunk/cocoon-stax/src/main/java/org/apache/cocoon/stax/converter/util/XMLEventToContentHandler.java
Modified: cocoon/cocoon3/trunk/cocoon-docs/src/changes/changes.xml
URL: http://svn.apache.org/viewvc/cocoon/cocoon3/trunk/cocoon-docs/src/changes/changes.xml?rev=1152570&r1=1152569&r2=1152570&view=diff
==============================================================================
--- cocoon/cocoon3/trunk/cocoon-docs/src/changes/changes.xml (original)
+++ cocoon/cocoon3/trunk/cocoon-docs/src/changes/changes.xml Sun Jul 31 11:59:24 2011
@@ -26,6 +26,12 @@
xsi:schemaLocation="http://maven.apache.org/plugins/maven-changes-plugin/xsd/changes-1.0.0.xsd">
<body>
+ <release version="3.0.0-alpha-4" date="2011-00-00" description="unreleased">
+ <action dev="anathaniel" type="update">
+ [cocoon-stax] Parametrise generic collections to avoid rawtype warnings and minizes scope of
+ unavoidable @SuppressWarnings("unchecked").
+ </action>
+ </release>
<release version="3.0.0-alpha-3" date="2011-06-08" description="released">
<action dev="simonetripodi" type="fix" issue="COCOON3-58">
[cocoon-sax] The org.apache.cocoon.optional.pipeline.components.sax.jaxb.JAXBGenerator is incomplete.
Modified: cocoon/cocoon3/trunk/cocoon-stax/src/main/java/org/apache/cocoon/stax/component/XMLGenerator.java
URL: http://svn.apache.org/viewvc/cocoon/cocoon3/trunk/cocoon-stax/src/main/java/org/apache/cocoon/stax/component/XMLGenerator.java?rev=1152570&r1=1152569&r2=1152570&view=diff
==============================================================================
--- cocoon/cocoon3/trunk/cocoon-stax/src/main/java/org/apache/cocoon/stax/component/XMLGenerator.java (original)
+++ cocoon/cocoon3/trunk/cocoon-stax/src/main/java/org/apache/cocoon/stax/component/XMLGenerator.java Sun Jul 31 11:59:24 2011
@@ -28,7 +28,6 @@ import javax.xml.stream.events.XMLEvent;
import org.apache.cocoon.pipeline.SetupException;
import org.apache.cocoon.pipeline.component.Starter;
import org.apache.cocoon.stax.AbstractStAXProducer;
-import org.apache.cocoon.stax.StAXProducer;
/**
* General element generator for a StAX pipeline directly taking all elements from an internal
Modified: cocoon/cocoon3/trunk/cocoon-stax/src/main/java/org/apache/cocoon/stax/converter/util/ExtendedNamespaceContext.java
URL: http://svn.apache.org/viewvc/cocoon/cocoon3/trunk/cocoon-stax/src/main/java/org/apache/cocoon/stax/converter/util/ExtendedNamespaceContext.java?rev=1152570&r1=1152569&r2=1152570&view=diff
==============================================================================
--- cocoon/cocoon3/trunk/cocoon-stax/src/main/java/org/apache/cocoon/stax/converter/util/ExtendedNamespaceContext.java (original)
+++ cocoon/cocoon3/trunk/cocoon-stax/src/main/java/org/apache/cocoon/stax/converter/util/ExtendedNamespaceContext.java Sun Jul 31 11:59:24 2011
@@ -70,7 +70,7 @@ public interface ExtendedNamespaceContex
*
* @return An {@link Iterator} of prefix {@link String}s.
*/
- public Iterator<?> getPrefixes();
+ public Iterator<String> getPrefixes();
/**
* Returns an {@link Iterator} of all namespace prefixes declared within this context,
@@ -78,5 +78,5 @@ public interface ExtendedNamespaceContex
*
* @return An {@link Iterator} of prefix {@link String}s.
*/
- public Iterator<?> getDeclaredPrefixes();
+ public Iterator<String> getDeclaredPrefixes();
}
Modified: cocoon/cocoon3/trunk/cocoon-stax/src/main/java/org/apache/cocoon/stax/converter/util/SimpleNamespaceContext.java
URL: http://svn.apache.org/viewvc/cocoon/cocoon3/trunk/cocoon-stax/src/main/java/org/apache/cocoon/stax/converter/util/SimpleNamespaceContext.java?rev=1152570&r1=1152569&r2=1152570&view=diff
==============================================================================
--- cocoon/cocoon3/trunk/cocoon-stax/src/main/java/org/apache/cocoon/stax/converter/util/SimpleNamespaceContext.java (original)
+++ cocoon/cocoon3/trunk/cocoon-stax/src/main/java/org/apache/cocoon/stax/converter/util/SimpleNamespaceContext.java Sun Jul 31 11:59:24 2011
@@ -62,8 +62,7 @@ public class SimpleNamespaceContext impl
* that {@link #getPrefix(String)} always returns the same prefix, unless that prefix is
* removed.
*/
- @SuppressWarnings("unchecked")
- protected Map namespaces = new LinkedHashMap();
+ protected Map<String,String> namespaces = new LinkedHashMap<String,String>();
/**
* Constructs a SimpleNamespaceContext with no parent context or namespace declarations.
@@ -78,8 +77,7 @@ public class SimpleNamespaceContext impl
*
* @param namespaces A Map of namespace URIs, keyed by their prefixes.
*/
- @SuppressWarnings("unchecked")
- public SimpleNamespaceContext(Map namespaces) {
+ public SimpleNamespaceContext(Map<String,String> namespaces) {
if (namespaces != null) {
@@ -108,8 +106,7 @@ public class SimpleNamespaceContext impl
* @param parent The parent context.
* @param namespaces A Map of namespace URIs, keyed by their prefixes.
*/
- @SuppressWarnings("unchecked")
- public SimpleNamespaceContext(NamespaceContext parent, Map namespaces) {
+ public SimpleNamespaceContext(NamespaceContext parent, Map<String,String> namespaces) {
this.parent = parent;
@@ -198,7 +195,6 @@ public class SimpleNamespaceContext impl
}
- @SuppressWarnings("unchecked")
public String getPrefix(String nsURI) {
if (nsURI == null) {
@@ -219,15 +215,12 @@ public class SimpleNamespaceContext impl
}
- Iterator iter = this.namespaces.entrySet().iterator();
- while (iter.hasNext()) {
-
- Map.Entry entry = (Map.Entry) iter.next();
- String uri = (String) entry.getValue();
+ for (Map.Entry<String,String> entry : this.namespaces.entrySet()) {
+ String uri = entry.getValue();
if (uri.equals(nsURI)) {
- return (String) entry.getKey();
+ return entry.getKey();
}
@@ -263,10 +256,9 @@ public class SimpleNamespaceContext impl
}
- @SuppressWarnings("unchecked")
- public Iterator getDeclaredPrefixes() {
+ public Iterator<String> getDeclaredPrefixes() {
- return Collections.unmodifiableCollection(this.namespaces.keySet()).iterator();
+ return Collections.unmodifiableCollection(this.namespaces.keySet()).iterator();
}
@@ -281,8 +273,7 @@ public class SimpleNamespaceContext impl
}
- @SuppressWarnings("unchecked")
- public Iterator getPrefixes() {
+ public Iterator<String> getPrefixes() {
if (this.parent == null || !(this.parent instanceof ExtendedNamespaceContext)) {
@@ -290,10 +281,10 @@ public class SimpleNamespaceContext impl
} else {
- Set prefixes = new HashSet(this.namespaces.keySet());
+ Set<String> prefixes = new HashSet<String>(this.namespaces.keySet());
ExtendedNamespaceContext superCtx = (ExtendedNamespaceContext) this.parent;
- for (Iterator i = superCtx.getPrefixes(); i.hasNext();) {
+ for (Iterator<String> i = superCtx.getPrefixes(); i.hasNext();) {
String prefix = (String) i.next();
prefixes.add(prefix);
@@ -306,8 +297,7 @@ public class SimpleNamespaceContext impl
}
- @SuppressWarnings("unchecked")
- public Iterator getPrefixes(String nsURI) {
+ public Iterator<String> getPrefixes(String nsURI) {
if (nsURI == null) {
@@ -323,17 +313,14 @@ public class SimpleNamespaceContext impl
}
- Set prefixes = null;
- Iterator iter = this.namespaces.entrySet().iterator();
- while (iter.hasNext()) {
-
- Map.Entry entry = (Map.Entry) iter.next();
+ Set<String> prefixes = null;
+ for (Map.Entry<String,String> entry : this.namespaces.entrySet()) {
String uri = (String) entry.getValue();
if (uri.equals(nsURI)) {
if (prefixes == null) {
- prefixes = new HashSet();
+ prefixes = new HashSet<String>();
}
prefixes.add(entry.getKey());
@@ -344,13 +331,14 @@ public class SimpleNamespaceContext impl
if (this.parent != null) {
- for (Iterator i = this.parent.getPrefixes(nsURI); i.hasNext();) {
-
- String prefix = (String) i.next();
+ @SuppressWarnings("unchecked")
+ Iterator<String> i = (Iterator<String>) this.parent.getPrefixes(nsURI);
+ while (i.hasNext()) {
+ String prefix = i.next();
if (prefixes == null) {
- prefixes = new HashSet();
+ prefixes = new HashSet<String>();
}
prefixes.add(prefix);
@@ -369,7 +357,7 @@ public class SimpleNamespaceContext impl
} else {
- return Collections.EMPTY_LIST.iterator();
+ return Collections.emptyListIterator();
}
@@ -382,7 +370,6 @@ public class SimpleNamespaceContext impl
* @return The previously declared namespace uri, or <code>null</code> if the default prefix
* wasn't previously declared in this context.
*/
- @SuppressWarnings("unchecked")
public String setDefaultNamespace(String nsURI) {
if (nsURI != null) {
@@ -416,7 +403,6 @@ public class SimpleNamespaceContext impl
* @return The previously declared namespace uri, or <code>null</code> if the prefix wasn't
* previously declared in this context.
*/
- @SuppressWarnings("unchecked")
public String setPrefix(String prefix, String nsURI) {
if (prefix == null) {
Modified: cocoon/cocoon3/trunk/cocoon-stax/src/main/java/org/apache/cocoon/stax/converter/util/StAXEventContentHandler.java
URL: http://svn.apache.org/viewvc/cocoon/cocoon3/trunk/cocoon-stax/src/main/java/org/apache/cocoon/stax/converter/util/StAXEventContentHandler.java?rev=1152570&r1=1152569&r2=1152570&view=diff
==============================================================================
--- cocoon/cocoon3/trunk/cocoon-stax/src/main/java/org/apache/cocoon/stax/converter/util/StAXEventContentHandler.java (original)
+++ cocoon/cocoon3/trunk/cocoon-stax/src/main/java/org/apache/cocoon/stax/converter/util/StAXEventContentHandler.java Sun Jul 31 11:59:24 2011
@@ -104,8 +104,7 @@ public class StAXEventContentHandler ext
* {@link StartElement}event. It is necessary to keep these namespaces so we can report them to
* the {@link EndElement}event.
*/
- @SuppressWarnings("unchecked")
- private List namespaceStack = new ArrayList();
+ private List<Collection<?>> namespaceStack = new ArrayList<Collection<?>>();
/**
* Constructs a default instance with a default event factory. You must set the
@@ -125,7 +124,7 @@ public class StAXEventContentHandler ext
*/
public StAXEventContentHandler(XMLEventConsumer consumer) {
- this.consumer = consumer;
+ this.consumer = consumer;
this.eventFactory = XMLEventFactory.newInstance();
}
@@ -214,7 +213,6 @@ public class StAXEventContentHandler ext
this.namespaceStack.clear();
}
- @SuppressWarnings("unchecked")
@Override
public void startElement(String uri, String localName, String qName, Attributes attributes) throws SAXException {
this.namespaces = null;
@@ -222,7 +220,7 @@ public class StAXEventContentHandler ext
this.eventFactory.setLocation(this.getCurrentLocation());
// create attribute and namespace events
- Collection[] events = { null, null };
+ Collection<?>[] events = { null, null };
this.createStartEvents(attributes, events);
// save a reference to the namespace collection so we can use them
@@ -243,7 +241,6 @@ public class StAXEventContentHandler ext
}
}
- @SuppressWarnings("unchecked")
@Override
public void endElement(String uri, String localName, String qName) throws SAXException {
this.namespaces = null;
@@ -256,8 +253,8 @@ public class StAXEventContentHandler ext
this.parseQName(qName, qname);
// get namespaces
- Collection nsList = (Collection) this.namespaceStack.remove(this.namespaceStack.size() - 1);
- Iterator nsIter = nsList.iterator();
+ Collection<?> nsList = this.namespaceStack.remove(this.namespaceStack.size() - 1);
+ Iterator<?> nsIter = nsList.iterator();
try {
this.consumer.add(this.eventFactory.createEndElement(qname[0], uri, qname[1], nsIter));
@@ -331,21 +328,20 @@ public class StAXEventContentHandler ext
* {@link Attribute}events. The namespaces will be placed at <code>events[0]</code>
* and the attributes as <code>events[1]</code>.
*/
- @SuppressWarnings("unchecked")
- protected void createStartEvents(Attributes attributes, Collection[] events) {
- Map nsMap = null;
- List attrs = null;
+ protected void createStartEvents(Attributes attributes, Collection<?>[] events) {
+ Map<String,Namespace> nsMap = null;
+ List<Attribute> attrs = null;
// create namespaces
if (this.namespaces != null) {
- Iterator prefixes = this.namespaces.getDeclaredPrefixes();
+ Iterator<String> prefixes = this.namespaces.getDeclaredPrefixes();
while (prefixes.hasNext()) {
- String prefix = (String) prefixes.next();
+ String prefix = prefixes.next();
String uri = this.namespaces.getNamespaceURI(prefix);
Namespace ns = this.createNamespace(prefix, uri);
if (nsMap == null) {
- nsMap = new HashMap();
+ nsMap = new HashMap<String,Namespace>();
}
nsMap.put(prefix, ns);
}
@@ -372,9 +368,6 @@ public class StAXEventContentHandler ext
if (!nsMap.containsKey(attrPrefix)) {
Namespace ns = this.createNamespace(attrPrefix, attrValue);
- if (nsMap == null) {
- nsMap = new HashMap();
- }
nsMap.put(attrPrefix, ns);
}
@@ -387,7 +380,7 @@ public class StAXEventContentHandler ext
}
if (attrs == null) {
- attrs = new ArrayList();
+ attrs = new ArrayList<Attribute>();
}
attrs.add(attribute);
}
Modified: cocoon/cocoon3/trunk/cocoon-stax/src/main/java/org/apache/cocoon/stax/converter/util/XMLEventToContentHandler.java
URL: http://svn.apache.org/viewvc/cocoon/cocoon3/trunk/cocoon-stax/src/main/java/org/apache/cocoon/stax/converter/util/XMLEventToContentHandler.java?rev=1152570&r1=1152569&r2=1152570&view=diff
==============================================================================
--- cocoon/cocoon3/trunk/cocoon-stax/src/main/java/org/apache/cocoon/stax/converter/util/XMLEventToContentHandler.java (original)
+++ cocoon/cocoon3/trunk/cocoon-stax/src/main/java/org/apache/cocoon/stax/converter/util/XMLEventToContentHandler.java Sun Jul 31 11:59:24 2011
@@ -195,7 +195,6 @@ public class XMLEventToContentHandler {
}
}
- @SuppressWarnings("unchecked")
private void handleEndElement(EndElement event) throws XMLStreamException {
QName qName = event.getName();
@@ -212,8 +211,10 @@ public class XMLEventToContentHandler {
this.filter.endElement(qName.getNamespaceURI(), qName.getLocalPart(), rawname);
// end namespace bindings
- for (Iterator i = event.getNamespaces(); i.hasNext();) {
- String nsprefix = ((Namespace) i.next()).getPrefix();
+ @SuppressWarnings("unchecked")
+ Iterator<Namespace> i = (Iterator<Namespace>) event.getNamespaces();
+ while (i.hasNext()) {
+ String nsprefix = i.next().getPrefix();
if (nsprefix == null) { // true for default namespace
nsprefix = "";
}
@@ -224,12 +225,13 @@ public class XMLEventToContentHandler {
}
}
- @SuppressWarnings("unchecked")
private void handleStartElement(StartElement event) throws XMLStreamException {
try {
// start namespace bindings
- for (Iterator i = event.getNamespaces(); i.hasNext();) {
- String prefix = ((Namespace) i.next()).getPrefix();
+ @SuppressWarnings("unchecked")
+ Iterator<Namespace> i = (Iterator<Namespace>) event.getNamespaces();
+ while (i.hasNext()) {
+ String prefix = i.next().getPrefix();
if (prefix == null) { // true for default namespace
prefix = "";
}
@@ -257,7 +259,6 @@ public class XMLEventToContentHandler {
*
* @return the StAX attributes converted to an org.xml.sax.Attributes
*/
- @SuppressWarnings("unchecked")
private Attributes getAttributes(StartElement event) {
AttributesImpl attrs = new AttributesImpl();
@@ -267,8 +268,10 @@ public class XMLEventToContentHandler {
// Add namspace declarations if required
if (this.filter.getNamespacePrefixes()) {
- for (Iterator i = event.getNamespaces(); i.hasNext();) {
- Namespace staxNamespace = (javax.xml.stream.events.Namespace) i.next();
+ @SuppressWarnings("unchecked")
+ Iterator<Namespace> i = (Iterator<Namespace>) event.getNamespaces();
+ while (i.hasNext()) {
+ Namespace staxNamespace = i.next();
String uri = staxNamespace.getNamespaceURI();
if (uri == null) {
uri = "";
@@ -290,8 +293,10 @@ public class XMLEventToContentHandler {
}
// gather non-namespace attrs
- for (Iterator i = event.getAttributes(); i.hasNext();) {
- Attribute staxAttr = (javax.xml.stream.events.Attribute) i.next();
+ @SuppressWarnings("unchecked")
+ Iterator<Attribute> i = (Iterator<Attribute>) event.getAttributes();
+ while (i.hasNext()) {
+ Attribute staxAttr = i.next();
String uri = staxAttr.getName().getNamespaceURI();
if (uri == null) {