Package org.testng.xml
Class TestNGContentHandler
- java.lang.Object
-
- org.xml.sax.helpers.DefaultHandler
-
- org.testng.xml.TestNGContentHandler
-
- All Implemented Interfaces:
org.xml.sax.ContentHandler
,org.xml.sax.DTDHandler
,org.xml.sax.EntityResolver
,org.xml.sax.ErrorHandler
public class TestNGContentHandler extends org.xml.sax.helpers.DefaultHandler
Suite definition parser utility.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description private static class
TestNGContentHandler.Include
(package private) static class
TestNGContentHandler.Location
-
Field Summary
Fields Modifier and Type Field Description private XmlClass
m_currentClass
private java.util.List<XmlClass>
m_currentClasses
private int
m_currentClassIndex
private java.util.Map<java.lang.String,java.lang.String>
m_currentClassParameters
private java.util.List<java.lang.String>
m_currentDefines
private java.util.List<java.lang.String>
m_currentExcludedGroups
private java.util.List<java.lang.String>
m_currentExcludedMethods
private java.lang.String
m_currentExpression
private XmlGroups
m_currentGroups
private TestNGContentHandler.Include
m_currentInclude
private java.util.List<java.lang.String>
m_currentIncludedGroups
private java.util.ArrayList<XmlInclude>
m_currentIncludedMethods
private int
m_currentIncludeIndex
private java.lang.String
m_currentLanguage
private java.util.List<java.lang.String>
m_currentMetaGroup
private java.lang.String
m_currentMetaGroupName
private XmlPackage
m_currentPackage
private java.util.List<XmlPackage>
m_currentPackages
private java.util.List<java.lang.String>
m_currentRuns
private XmlMethodSelector
m_currentSelector
private java.util.ArrayList<XmlMethodSelector>
m_currentSelectors
private XmlSuite
m_currentSuite
private java.util.Map<java.lang.String,java.lang.String>
m_currentSuiteParameters
private XmlTest
m_currentTest
private int
m_currentTestIndex
private java.util.Map<java.lang.String,java.lang.String>
m_currentTestParameters
private boolean
m_enabledTest
private java.lang.String
m_fileName
private boolean
m_hasWarn
private java.util.List<java.lang.String>
m_listeners
private boolean
m_loadClasses
private java.util.Stack<TestNGContentHandler.Location>
m_locations
private java.util.List<java.lang.String>
m_suiteFiles
private java.util.List<XmlSuite>
m_suites
private boolean
m_validate
-
Constructor Summary
Constructors Constructor Description TestNGContentHandler(java.lang.String fileName, boolean loadClasses)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description private boolean
areWhiteSpaces(char[] ch, int start, int length)
void
characters(char[] ch, int start, int length)
void
endElement(java.lang.String uri, java.lang.String localName, java.lang.String qName)
void
error(org.xml.sax.SAXParseException e)
private static java.lang.String
expandValue(java.lang.String value)
XmlSuite
getSuite()
private TestNGContentHandler.Location
popLocation()
private void
pushLocation(TestNGContentHandler.Location l)
org.xml.sax.InputSource
resolveEntity(java.lang.String systemId, java.lang.String publicId)
void
startElement(java.lang.String uri, java.lang.String localName, java.lang.String qName, org.xml.sax.Attributes attributes)
NOTE: I only invoke xml*methods (e.g.private java.util.List<java.lang.Integer>
stringToList(java.lang.String in)
void
xmlClasses(boolean start, org.xml.sax.Attributes attributes)
Parseprivate void
xmlDefine(boolean start, org.xml.sax.Attributes attributes)
Parseprivate void
xmlExclude(boolean start, org.xml.sax.Attributes attributes)
void
xmlGroup(boolean start, org.xml.sax.Attributes attributes)
Parsevoid
xmlGroups(boolean start, org.xml.sax.Attributes attributes)
Parseprivate void
xmlInclude(boolean start, org.xml.sax.Attributes attributes)
void
xmlListener(boolean start, org.xml.sax.Attributes attributes)
Parsevoid
xmlListeners(boolean start, org.xml.sax.Attributes attributes)
Parseprivate void
xmlMethod(boolean start)
void
xmlMethodSelector(boolean start, org.xml.sax.Attributes attributes)
Parsevoid
xmlMethodSelectors(boolean start, org.xml.sax.Attributes attributes)
Parsevoid
xmlPackages(boolean start, org.xml.sax.Attributes attributes)
Parsevoid
xmlRun(boolean start, org.xml.sax.Attributes attributes)
Parseprivate void
xmlScript(boolean start, org.xml.sax.Attributes attributes)
Parse <script>void
xmlSelectorClass(boolean start, org.xml.sax.Attributes attributes)
Parseprivate void
xmlSuite(boolean start, org.xml.sax.Attributes attributes)
Parseprivate void
xmlSuiteFile(boolean start, org.xml.sax.Attributes attributes)
Parseprivate void
xmlTest(boolean start, org.xml.sax.Attributes attributes)
Parse
-
-
-
Field Detail
-
m_currentSuite
private XmlSuite m_currentSuite
-
m_currentTest
private XmlTest m_currentTest
-
m_currentDefines
private java.util.List<java.lang.String> m_currentDefines
-
m_currentRuns
private java.util.List<java.lang.String> m_currentRuns
-
m_currentClasses
private java.util.List<XmlClass> m_currentClasses
-
m_currentTestIndex
private int m_currentTestIndex
-
m_currentClassIndex
private int m_currentClassIndex
-
m_currentIncludeIndex
private int m_currentIncludeIndex
-
m_currentPackages
private java.util.List<XmlPackage> m_currentPackages
-
m_currentPackage
private XmlPackage m_currentPackage
-
m_suites
private java.util.List<XmlSuite> m_suites
-
m_currentGroups
private XmlGroups m_currentGroups
-
m_currentIncludedGroups
private java.util.List<java.lang.String> m_currentIncludedGroups
-
m_currentExcludedGroups
private java.util.List<java.lang.String> m_currentExcludedGroups
-
m_currentTestParameters
private java.util.Map<java.lang.String,java.lang.String> m_currentTestParameters
-
m_currentSuiteParameters
private java.util.Map<java.lang.String,java.lang.String> m_currentSuiteParameters
-
m_currentClassParameters
private java.util.Map<java.lang.String,java.lang.String> m_currentClassParameters
-
m_currentInclude
private TestNGContentHandler.Include m_currentInclude
-
m_currentMetaGroup
private java.util.List<java.lang.String> m_currentMetaGroup
-
m_currentMetaGroupName
private java.lang.String m_currentMetaGroupName
-
m_locations
private java.util.Stack<TestNGContentHandler.Location> m_locations
-
m_currentClass
private XmlClass m_currentClass
-
m_currentIncludedMethods
private java.util.ArrayList<XmlInclude> m_currentIncludedMethods
-
m_currentExcludedMethods
private java.util.List<java.lang.String> m_currentExcludedMethods
-
m_currentSelectors
private java.util.ArrayList<XmlMethodSelector> m_currentSelectors
-
m_currentSelector
private XmlMethodSelector m_currentSelector
-
m_currentLanguage
private java.lang.String m_currentLanguage
-
m_currentExpression
private java.lang.String m_currentExpression
-
m_suiteFiles
private java.util.List<java.lang.String> m_suiteFiles
-
m_enabledTest
private boolean m_enabledTest
-
m_listeners
private java.util.List<java.lang.String> m_listeners
-
m_fileName
private java.lang.String m_fileName
-
m_loadClasses
private boolean m_loadClasses
-
m_validate
private boolean m_validate
-
m_hasWarn
private boolean m_hasWarn
-
-
Method Detail
-
resolveEntity
public org.xml.sax.InputSource resolveEntity(java.lang.String systemId, java.lang.String publicId) throws java.io.IOException, org.xml.sax.SAXException
- Specified by:
resolveEntity
in interfaceorg.xml.sax.EntityResolver
- Overrides:
resolveEntity
in classorg.xml.sax.helpers.DefaultHandler
- Throws:
java.io.IOException
org.xml.sax.SAXException
-
xmlSuiteFile
private void xmlSuiteFile(boolean start, org.xml.sax.Attributes attributes)
Parse
-
xmlSuite
private void xmlSuite(boolean start, org.xml.sax.Attributes attributes)
Parse
-
xmlDefine
private void xmlDefine(boolean start, org.xml.sax.Attributes attributes)
Parse
-
xmlScript
private void xmlScript(boolean start, org.xml.sax.Attributes attributes)
Parse <script>
-
xmlTest
private void xmlTest(boolean start, org.xml.sax.Attributes attributes)
Parse
-
xmlClasses
public void xmlClasses(boolean start, org.xml.sax.Attributes attributes)
Parse
-
xmlListeners
public void xmlListeners(boolean start, org.xml.sax.Attributes attributes)
Parse
-
xmlListener
public void xmlListener(boolean start, org.xml.sax.Attributes attributes)
Parse
-
xmlPackages
public void xmlPackages(boolean start, org.xml.sax.Attributes attributes)
Parse
-
xmlMethodSelectors
public void xmlMethodSelectors(boolean start, org.xml.sax.Attributes attributes)
Parse
-
xmlSelectorClass
public void xmlSelectorClass(boolean start, org.xml.sax.Attributes attributes)
Parse
-
xmlMethodSelector
public void xmlMethodSelector(boolean start, org.xml.sax.Attributes attributes)
Parse
-
xmlMethod
private void xmlMethod(boolean start)
-
xmlRun
public void xmlRun(boolean start, org.xml.sax.Attributes attributes) throws org.xml.sax.SAXException
Parse- Throws:
org.xml.sax.SAXException
-
xmlGroup
public void xmlGroup(boolean start, org.xml.sax.Attributes attributes) throws org.xml.sax.SAXException
Parse- Throws:
org.xml.sax.SAXException
-
xmlGroups
public void xmlGroups(boolean start, org.xml.sax.Attributes attributes) throws org.xml.sax.SAXException
Parse- Throws:
org.xml.sax.SAXException
-
startElement
public void startElement(java.lang.String uri, java.lang.String localName, java.lang.String qName, org.xml.sax.Attributes attributes) throws org.xml.sax.SAXException
NOTE: I only invoke xml*methods (e.g. xmlSuite()) if I am acting on both the start and the end of the tag. This way I can keep the treatment of this tag in one place. If I am only doing something when the tag opens, the code is inlined below in the startElement() method.- Specified by:
startElement
in interfaceorg.xml.sax.ContentHandler
- Overrides:
startElement
in classorg.xml.sax.helpers.DefaultHandler
- Throws:
org.xml.sax.SAXException
-
xmlInclude
private void xmlInclude(boolean start, org.xml.sax.Attributes attributes)
-
xmlExclude
private void xmlExclude(boolean start, org.xml.sax.Attributes attributes)
-
pushLocation
private void pushLocation(TestNGContentHandler.Location l)
-
popLocation
private TestNGContentHandler.Location popLocation()
-
stringToList
private java.util.List<java.lang.Integer> stringToList(java.lang.String in)
-
endElement
public void endElement(java.lang.String uri, java.lang.String localName, java.lang.String qName) throws org.xml.sax.SAXException
- Specified by:
endElement
in interfaceorg.xml.sax.ContentHandler
- Overrides:
endElement
in classorg.xml.sax.helpers.DefaultHandler
- Throws:
org.xml.sax.SAXException
-
error
public void error(org.xml.sax.SAXParseException e) throws org.xml.sax.SAXException
- Specified by:
error
in interfaceorg.xml.sax.ErrorHandler
- Overrides:
error
in classorg.xml.sax.helpers.DefaultHandler
- Throws:
org.xml.sax.SAXException
-
areWhiteSpaces
private boolean areWhiteSpaces(char[] ch, int start, int length)
-
characters
public void characters(char[] ch, int start, int length)
- Specified by:
characters
in interfaceorg.xml.sax.ContentHandler
- Overrides:
characters
in classorg.xml.sax.helpers.DefaultHandler
-
getSuite
public XmlSuite getSuite()
-
expandValue
private static java.lang.String expandValue(java.lang.String value)
-
-