You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pivot.apache.org by gb...@apache.org on 2009/11/12 21:50:48 UTC
svn commit: r835536 - in /incubator/pivot/trunk:
core/src/org/apache/pivot/xml/XMLSerializer.java
tools/src/org/apache/pivot/tools/xml/XMLViewer.java
wtk/src/org/apache/pivot/wtkx/WTKXSerializer.java
Author: gbrown
Date: Thu Nov 12 20:50:48 2009
New Revision: 835536
URL: http://svn.apache.org/viewvc?rev=835536&view=rev
Log:
Add write capability to XMLSerializer.
Modified:
incubator/pivot/trunk/core/src/org/apache/pivot/xml/XMLSerializer.java
incubator/pivot/trunk/tools/src/org/apache/pivot/tools/xml/XMLViewer.java
incubator/pivot/trunk/wtk/src/org/apache/pivot/wtkx/WTKXSerializer.java
Modified: incubator/pivot/trunk/core/src/org/apache/pivot/xml/XMLSerializer.java
URL: http://svn.apache.org/viewvc/incubator/pivot/trunk/core/src/org/apache/pivot/xml/XMLSerializer.java?rev=835536&r1=835535&r2=835536&view=diff
==============================================================================
--- incubator/pivot/trunk/core/src/org/apache/pivot/xml/XMLSerializer.java (original)
+++ incubator/pivot/trunk/core/src/org/apache/pivot/xml/XMLSerializer.java Thu Nov 12 20:50:48 2009
@@ -89,91 +89,84 @@
// Parse the XML stream
XMLInputFactory xmlInputFactory = XMLInputFactory.newInstance();
+ xmlInputFactory.setProperty("javax.xml.stream.isCoalescing", true);
Element document = null;
try {
- XMLStreamReader xmlStreamReader = null;
+ XMLStreamReader xmlStreamReader = xmlInputFactory.createXMLStreamReader(reader);
- try {
- xmlStreamReader = xmlInputFactory.createXMLStreamReader(reader);
+ Element current = null;
- Element current = null;
+ while (xmlStreamReader.hasNext()) {
+ int event = xmlStreamReader.next();
- while (xmlStreamReader.hasNext()) {
- int event = xmlStreamReader.next();
+ switch (event) {
+ case XMLStreamConstants.CHARACTERS: {
+ if (!xmlStreamReader.isWhiteSpace()) {
+ String text = xmlStreamReader.getText();
+ current.add(new TextNode(text));
+ }
- switch (event) {
- case XMLStreamConstants.CHARACTERS: {
- if (!xmlStreamReader.isWhiteSpace()) {
- String text = xmlStreamReader.getText();
- current.add(new TextNode(text));
- }
+ break;
+ }
- break;
+ case XMLStreamConstants.START_ELEMENT: {
+ // Create the element
+ String prefix = xmlStreamReader.getPrefix();
+ if (prefix != null
+ && prefix.length() == 0) {
+ prefix = null;
}
- case XMLStreamConstants.START_ELEMENT: {
- // Create the element
- String prefix = xmlStreamReader.getPrefix();
- if (prefix != null
- && prefix.length() == 0) {
- prefix = null;
- }
+ String localName = xmlStreamReader.getLocalName();
- String localName = xmlStreamReader.getLocalName();
+ Element element = new Element(prefix, localName);
- Element element = new Element(prefix, localName);
+ // Get the element's namespaces
+ for (int i = 0, n = xmlStreamReader.getNamespaceCount(); i < n; i++) {
+ String namespacePrefix = xmlStreamReader.getNamespacePrefix(i);
+ String namespaceURI = xmlStreamReader.getNamespaceURI(i);
- // Get the element's namespaces
- for (int i = 0, n = xmlStreamReader.getNamespaceCount(); i < n; i++) {
- String namespacePrefix = xmlStreamReader.getNamespacePrefix(i);
- String namespaceURI = xmlStreamReader.getNamespaceURI(i);
-
- if (namespacePrefix == null) {
- element.setDefaultNamespaceURI(namespaceURI);
- } else {
- element.getNamespaces().put(namespacePrefix, namespaceURI);
- }
+ if (namespacePrefix == null) {
+ element.setDefaultNamespaceURI(namespaceURI);
+ } else {
+ element.getNamespaces().put(namespacePrefix, namespaceURI);
}
+ }
- // Get the element's attributes
- for (int i = 0, n = xmlStreamReader.getAttributeCount(); i < n; i++) {
- String attributePrefix = xmlStreamReader.getAttributePrefix(i);
- if (attributePrefix != null
- && attributePrefix.length() == 0) {
- attributePrefix = null;
- }
-
- String attributeLocalName = xmlStreamReader.getAttributeLocalName(i);
- String attributeValue = xmlStreamReader.getAttributeValue(i);
-
- element.getAttributes().add(new Element.Attribute(attributePrefix,
- attributeLocalName, attributeValue));
+ // Get the element's attributes
+ for (int i = 0, n = xmlStreamReader.getAttributeCount(); i < n; i++) {
+ String attributePrefix = xmlStreamReader.getAttributePrefix(i);
+ if (attributePrefix != null
+ && attributePrefix.length() == 0) {
+ attributePrefix = null;
}
- if (current == null) {
- document = element;
- } else {
- current.add(element);
- }
+ String attributeLocalName = xmlStreamReader.getAttributeLocalName(i);
+ String attributeValue = xmlStreamReader.getAttributeValue(i);
- current = element;
+ element.getAttributes().add(new Element.Attribute(attributePrefix,
+ attributeLocalName, attributeValue));
+ }
- break;
+ if (current == null) {
+ document = element;
+ } else {
+ current.add(element);
}
- case XMLStreamConstants.END_ELEMENT: {
- // Move up the stack
- current = current.getParent();
+ current = element;
- break;
- }
+ break;
+ }
+
+ case XMLStreamConstants.END_ELEMENT: {
+ // Move up the stack
+ current = current.getParent();
+
+ break;
}
- }
- } finally {
- if (xmlStreamReader != null) {
- xmlStreamReader.close();
}
}
} catch (XMLStreamException exception) {
@@ -193,6 +186,7 @@
Writer writer = new BufferedWriter(new OutputStreamWriter(outputStream, charset),
BUFFER_SIZE);
writeObject(element, writer);
+ writer.flush();
}
public void writeObject(Element element, Writer writer) throws SerializationException {
@@ -207,19 +201,10 @@
XMLOutputFactory output = XMLOutputFactory.newInstance();
try {
- XMLStreamWriter xmlStreamWriter = null;
-
- try {
- xmlStreamWriter = output.createXMLStreamWriter(writer);
-
- xmlStreamWriter.writeStartDocument();
- writeElement(element, xmlStreamWriter);
- xmlStreamWriter.writeEndDocument();
- } finally {
- if (xmlStreamWriter != null) {
- xmlStreamWriter.close();
- }
- }
+ XMLStreamWriter xmlStreamWriter = output.createXMLStreamWriter(writer);
+ xmlStreamWriter.writeStartDocument();
+ writeElement(element, xmlStreamWriter);
+ xmlStreamWriter.writeEndDocument();
} catch (XMLStreamException exception) {
throw new SerializationException(exception);
}
Modified: incubator/pivot/trunk/tools/src/org/apache/pivot/tools/xml/XMLViewer.java
URL: http://svn.apache.org/viewvc/incubator/pivot/trunk/tools/src/org/apache/pivot/tools/xml/XMLViewer.java?rev=835536&r1=835535&r2=835536&view=diff
==============================================================================
--- incubator/pivot/trunk/tools/src/org/apache/pivot/tools/xml/XMLViewer.java (original)
+++ incubator/pivot/trunk/tools/src/org/apache/pivot/tools/xml/XMLViewer.java Thu Nov 12 20:50:48 2009
@@ -168,6 +168,14 @@
ArrayList<HashMap<String, String>> namespacesTableData =
new ArrayList<HashMap<String, String>>();
+ String defaultNamespaceURI = element.getDefaultNamespaceURI();
+ if (defaultNamespaceURI != null) {
+ HashMap<String, String> row = new HashMap<String, String>();
+ row.put("prefix", "(default)");
+ row.put("uri", defaultNamespaceURI);
+ namespacesTableData.add(row);
+ }
+
Element.NamespaceDictionary namespaceDictionary = element.getNamespaces();
for (String prefix : namespaceDictionary) {
HashMap<String, String> row = new HashMap<String, String>();
@@ -213,14 +221,6 @@
Sequence.Tree.Path path = new Sequence.Tree.Path(0);
treeView.expandBranch(path);
treeView.setSelectedPath(path);
-
- XMLSerializer xmlSerializer = new XMLSerializer();
-
- try {
- xmlSerializer.writeObject(document, System.out);
- } catch (Exception exception) {
- System.err.println("\n" + exception);
- }
}
public static void main(String[] args) {
Modified: incubator/pivot/trunk/wtk/src/org/apache/pivot/wtkx/WTKXSerializer.java
URL: http://svn.apache.org/viewvc/incubator/pivot/trunk/wtk/src/org/apache/pivot/wtkx/WTKXSerializer.java?rev=835536&r1=835535&r2=835536&view=diff
==============================================================================
--- incubator/pivot/trunk/wtk/src/org/apache/pivot/wtkx/WTKXSerializer.java (original)
+++ incubator/pivot/trunk/wtk/src/org/apache/pivot/wtkx/WTKXSerializer.java Thu Nov 12 20:50:48 2009
@@ -406,40 +406,32 @@
try {
try {
- XMLStreamReader xmlStreamReader = null;
+ XMLStreamReader xmlStreamReader = xmlInputFactory.createXMLStreamReader(inputStream);
- try {
- xmlStreamReader = xmlInputFactory.createXMLStreamReader(inputStream);
-
- while (xmlStreamReader.hasNext()) {
- int event = xmlStreamReader.next();
+ while (xmlStreamReader.hasNext()) {
+ int event = xmlStreamReader.next();
- switch (event) {
- case XMLStreamConstants.PROCESSING_INSTRUCTION: {
- processProcessingInstruction(xmlStreamReader);
- break;
- }
+ switch (event) {
+ case XMLStreamConstants.PROCESSING_INSTRUCTION: {
+ processProcessingInstruction(xmlStreamReader);
+ break;
+ }
- case XMLStreamConstants.CHARACTERS: {
- processCharacters(xmlStreamReader);
- break;
- }
+ case XMLStreamConstants.CHARACTERS: {
+ processCharacters(xmlStreamReader);
+ break;
+ }
- case XMLStreamConstants.START_ELEMENT: {
- processStartElement(xmlStreamReader);
- break;
- }
+ case XMLStreamConstants.START_ELEMENT: {
+ processStartElement(xmlStreamReader);
+ break;
+ }
- case XMLStreamConstants.END_ELEMENT: {
- processEndElement(xmlStreamReader);
- break;
- }
+ case XMLStreamConstants.END_ELEMENT: {
+ processEndElement(xmlStreamReader);
+ break;
}
}
- } finally {
- if (xmlStreamReader != null) {
- xmlStreamReader.close();
- }
}
} catch (XMLStreamException exception) {
throw new SerializationException(exception);