com.atlassian.confluence.it.export
Class XmlSiteExportHandler

java.lang.Object
  extended by org.xml.sax.helpers.DefaultHandler
      extended by com.atlassian.confluence.it.export.XmlSiteExportHandler
All Implemented Interfaces:
ContentHandler, DTDHandler, EntityResolver, ErrorHandler

public class XmlSiteExportHandler
extends org.xml.sax.helpers.DefaultHandler

A SAX handler for processing the XML component of a site export and building some simple mappings of the found pages and spaces, suitable for validating Site export tests. You should note that a large site export will lead to large memory usage so use it for small test sites only. It's also pretty quick and nasty but you'll see that for yourself.


Constructor Summary
XmlSiteExportHandler()
           
 
Method Summary
 void characters(char[] ch, int start, int length)
          Note that a SAX driver is free to chunk the character data any way it wants, so you cannot count on all of the character data content of an element arriving in a single characters event.
 void endElement(String uri, String localName, String name)
          If this is the end of an object element and we have a current item then store it.
 SimpleSiteStructure getStructure()
          When called after parsing is complete it will return the SimpleSiteStructure which has been constructed.
 void startDocument()
           
 void startElement(String uri, String localName, String name, Attributes attributes)
          Does not expect or handle nested object elements.
 
Methods inherited from class org.xml.sax.helpers.DefaultHandler
endDocument, endPrefixMapping, error, fatalError, ignorableWhitespace, notationDecl, processingInstruction, resolveEntity, setDocumentLocator, skippedEntity, startPrefixMapping, unparsedEntityDecl, warning
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

XmlSiteExportHandler

public XmlSiteExportHandler()
Method Detail

characters

public void characters(char[] ch,
                       int start,
                       int length)
                throws SAXException
Note that a SAX driver is free to chunk the character data any way it wants, so you cannot count on all of the character data content of an element arriving in a single characters event.

Specified by:
characters in interface ContentHandler
Overrides:
characters in class org.xml.sax.helpers.DefaultHandler
Throws:
SAXException

endElement

public void endElement(String uri,
                       String localName,
                       String name)
                throws SAXException
If this is the end of an object element and we have a current item then store it. Nested object elements would confuse things.

Specified by:
endElement in interface ContentHandler
Overrides:
endElement in class org.xml.sax.helpers.DefaultHandler
Throws:
SAXException

startDocument

public void startDocument()
                   throws SAXException
Specified by:
startDocument in interface ContentHandler
Overrides:
startDocument in class org.xml.sax.helpers.DefaultHandler
Throws:
SAXException

startElement

public void startElement(String uri,
                         String localName,
                         String name,
                         Attributes attributes)
                  throws SAXException
Does not expect or handle nested object elements. If one is encountered then any parsing of outer object will be lost.

Specified by:
startElement in interface ContentHandler
Overrides:
startElement in class org.xml.sax.helpers.DefaultHandler
Throws:
SAXException

getStructure

public SimpleSiteStructure getStructure()
When called after parsing is complete it will return the SimpleSiteStructure which has been constructed.

Returns:
the structure created or null if parsing has not been performed.


Copyright © 2003-2011 Atlassian. All Rights Reserved.