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 XmlDefine
m_currentDefine
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.ArrayList<XmlInclude>
m_currentIncludedMethods
private int
m_currentIncludeIndex
private java.lang.String
m_currentLanguage
private XmlPackage
m_currentPackage
private java.util.List<XmlPackage>
m_currentPackages
private XmlRun
m_currentRun
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 org.xml.sax.EntityResolver
m_redirectionAwareResolver
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 static boolean
isMalformedFileSystemBasedSystemId(java.lang.String systemId)
private static boolean
isUnsecuredUrl(java.lang.String str)
private java.io.InputStream
loadDtdUsingClassLoader()
private void
popLocation()
private void
pushLocation(TestNGContentHandler.Location l)
org.xml.sax.InputSource
resolveEntity(java.lang.String publicId, java.lang.String systemId)
private static boolean
skipConsideringSystemId(java.lang.String systemId)
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)
private 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)
void
xmlGroups(boolean start)
private void
xmlInclude(boolean start, org.xml.sax.Attributes attributes)
void
xmlListener(boolean start, org.xml.sax.Attributes attributes)
void
xmlListeners(boolean start)
private void
xmlMethod(boolean start)
void
xmlMethodSelector(boolean start)
void
xmlMethodSelectors(boolean start)
void
xmlPackages(boolean start)
void
xmlRun(boolean start)
private void
xmlScript(boolean start, org.xml.sax.Attributes attributes)
Parse <script>void
xmlSelectorClass(boolean start, org.xml.sax.Attributes attributes)
private 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 <test>
-
-
-
Field Detail
-
m_currentSuite
private XmlSuite m_currentSuite
-
m_currentTest
private XmlTest m_currentTest
-
m_currentDefine
private XmlDefine m_currentDefine
-
m_currentRun
private XmlRun m_currentRun
-
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 final java.util.List<XmlSuite> m_suites
-
m_currentGroups
private XmlGroups m_currentGroups
-
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_redirectionAwareResolver
private final org.xml.sax.EntityResolver m_redirectionAwareResolver
-
m_locations
private final 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 final 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 final java.lang.String m_fileName
-
m_loadClasses
private final 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 publicId, java.lang.String systemId) throws org.xml.sax.SAXException, java.io.IOException
- Specified by:
resolveEntity
in interfaceorg.xml.sax.EntityResolver
- Overrides:
resolveEntity
in classorg.xml.sax.helpers.DefaultHandler
- Throws:
org.xml.sax.SAXException
java.io.IOException
-
skipConsideringSystemId
private static boolean skipConsideringSystemId(java.lang.String systemId)
-
isMalformedFileSystemBasedSystemId
private static boolean isMalformedFileSystemBasedSystemId(java.lang.String systemId)
-
isUnsecuredUrl
private static boolean isUnsecuredUrl(java.lang.String str)
-
loadDtdUsingClassLoader
private java.io.InputStream loadDtdUsingClassLoader()
-
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 <test>
-
xmlClasses
public void xmlClasses(boolean start)
-
xmlListeners
public void xmlListeners(boolean start)
-
xmlListener
public void xmlListener(boolean start, org.xml.sax.Attributes attributes)
-
xmlPackages
public void xmlPackages(boolean start)
-
xmlMethodSelectors
public void xmlMethodSelectors(boolean start)
-
xmlSelectorClass
public void xmlSelectorClass(boolean start, org.xml.sax.Attributes attributes)
-
xmlMethodSelector
public void xmlMethodSelector(boolean start)
-
xmlMethod
private void xmlMethod(boolean start)
-
xmlRun
public void xmlRun(boolean start)
-
xmlGroup
public void xmlGroup(boolean start, org.xml.sax.Attributes attributes)
-
xmlGroups
public void xmlGroups(boolean start)
-
startElement
public 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. 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
-
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 void 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)
- Specified by:
endElement
in interfaceorg.xml.sax.ContentHandler
- Overrides:
endElement
in classorg.xml.sax.helpers.DefaultHandler
-
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)
-
-