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.DefaultHandlerSuite definition parser utility.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description private static classTestNGContentHandler.Include(package private) static classTestNGContentHandler.Location
-
Field Summary
Fields Modifier and Type Field Description private XmlClassm_currentClassprivate java.util.List<XmlClass>m_currentClassesprivate intm_currentClassIndexprivate java.util.Map<java.lang.String,java.lang.String>m_currentClassParametersprivate java.util.List<java.lang.String>m_currentDefinesprivate java.util.List<java.lang.String>m_currentExcludedGroupsprivate java.util.List<java.lang.String>m_currentExcludedMethodsprivate java.lang.Stringm_currentExpressionprivate XmlGroupsm_currentGroupsprivate TestNGContentHandler.Includem_currentIncludeprivate java.util.List<java.lang.String>m_currentIncludedGroupsprivate java.util.ArrayList<XmlInclude>m_currentIncludedMethodsprivate intm_currentIncludeIndexprivate java.lang.Stringm_currentLanguageprivate java.util.List<java.lang.String>m_currentMetaGroupprivate java.lang.Stringm_currentMetaGroupNameprivate XmlPackagem_currentPackageprivate java.util.List<XmlPackage>m_currentPackagesprivate java.util.List<java.lang.String>m_currentRunsprivate XmlMethodSelectorm_currentSelectorprivate java.util.ArrayList<XmlMethodSelector>m_currentSelectorsprivate XmlSuitem_currentSuiteprivate java.util.Map<java.lang.String,java.lang.String>m_currentSuiteParametersprivate XmlTestm_currentTestprivate intm_currentTestIndexprivate java.util.Map<java.lang.String,java.lang.String>m_currentTestParametersprivate booleanm_enabledTestprivate java.lang.Stringm_fileNameprivate booleanm_hasWarnprivate java.util.List<java.lang.String>m_listenersprivate booleanm_loadClassesprivate java.util.Stack<TestNGContentHandler.Location>m_locationsprivate org.xml.sax.EntityResolverm_redirectionAwareResolverprivate java.util.List<java.lang.String>m_suiteFilesprivate java.util.List<XmlSuite>m_suitesprivate booleanm_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 booleanareWhiteSpaces(char[] ch, int start, int length)voidcharacters(char[] ch, int start, int length)voidendElement(java.lang.String uri, java.lang.String localName, java.lang.String qName)voiderror(org.xml.sax.SAXParseException e)private static java.lang.StringexpandValue(java.lang.String value)XmlSuitegetSuite()private static booleanisUnsecuredUrl(java.lang.String str)private java.io.InputStreamloadDtdUsingClassLoader()private voidpopLocation()private voidpushLocation(TestNGContentHandler.Location l)org.xml.sax.InputSourceresolveEntity(java.lang.String systemId, java.lang.String publicId)voidstartElement(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)voidxmlClasses(boolean start, org.xml.sax.Attributes attributes)private voidxmlDefine(boolean start, org.xml.sax.Attributes attributes)Parseprivate voidxmlExclude(boolean start, org.xml.sax.Attributes attributes)voidxmlGroup(boolean start, org.xml.sax.Attributes attributes)voidxmlGroups(boolean start, org.xml.sax.Attributes attributes)private voidxmlInclude(boolean start, org.xml.sax.Attributes attributes)voidxmlListener(boolean start, org.xml.sax.Attributes attributes)voidxmlListeners(boolean start, org.xml.sax.Attributes attributes)private voidxmlMethod(boolean start)voidxmlMethodSelector(boolean start, org.xml.sax.Attributes attributes)voidxmlMethodSelectors(boolean start, org.xml.sax.Attributes attributes)voidxmlPackages(boolean start, org.xml.sax.Attributes attributes)voidxmlRun(boolean start, org.xml.sax.Attributes attributes)private voidxmlScript(boolean start, org.xml.sax.Attributes attributes)Parse <script>voidxmlSelectorClass(boolean start, org.xml.sax.Attributes attributes)private voidxmlSuite(boolean start, org.xml.sax.Attributes attributes)Parseprivate voidxmlSuiteFile(boolean start, org.xml.sax.Attributes attributes)Parseprivate voidxmlTest(boolean start, org.xml.sax.Attributes attributes)Parse <test>
-
-
-
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_redirectionAwareResolver
private final org.xml.sax.EntityResolver m_redirectionAwareResolver
-
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 org.xml.sax.SAXException, java.io.IOException- Specified by:
resolveEntityin interfaceorg.xml.sax.EntityResolver- Overrides:
resolveEntityin classorg.xml.sax.helpers.DefaultHandler- Throws:
org.xml.sax.SAXExceptionjava.io.IOException
-
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, org.xml.sax.Attributes attributes)
-
xmlListeners
public void xmlListeners(boolean start, org.xml.sax.Attributes attributes)
-
xmlListener
public void xmlListener(boolean start, org.xml.sax.Attributes attributes)
-
xmlPackages
public void xmlPackages(boolean start, org.xml.sax.Attributes attributes)
-
xmlMethodSelectors
public void xmlMethodSelectors(boolean start, org.xml.sax.Attributes attributes)
-
xmlSelectorClass
public void xmlSelectorClass(boolean start, org.xml.sax.Attributes attributes)
-
xmlMethodSelector
public void xmlMethodSelector(boolean start, org.xml.sax.Attributes attributes)
-
xmlMethod
private void xmlMethod(boolean start)
-
xmlRun
public void xmlRun(boolean start, org.xml.sax.Attributes attributes)
-
xmlGroup
public void xmlGroup(boolean start, org.xml.sax.Attributes attributes)
-
xmlGroups
public void xmlGroups(boolean start, org.xml.sax.Attributes attributes)
-
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:
startElementin interfaceorg.xml.sax.ContentHandler- Overrides:
startElementin 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:
endElementin interfaceorg.xml.sax.ContentHandler- Overrides:
endElementin classorg.xml.sax.helpers.DefaultHandler
-
error
public void error(org.xml.sax.SAXParseException e) throws org.xml.sax.SAXException- Specified by:
errorin interfaceorg.xml.sax.ErrorHandler- Overrides:
errorin 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:
charactersin interfaceorg.xml.sax.ContentHandler- Overrides:
charactersin classorg.xml.sax.helpers.DefaultHandler
-
getSuite
public XmlSuite getSuite()
-
expandValue
private static java.lang.String expandValue(java.lang.String value)
-
-