Class TestNGContentHandler

java.lang.Object
org.xml.sax.helpers.DefaultHandler
org.testng.xml.TestNGContentHandler
All Implemented Interfaces:
ContentHandler, DTDHandler, EntityResolver, ErrorHandler

public class TestNGContentHandler extends DefaultHandler
Suite definition parser utility.
  • Field Details

    • 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 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 List<XmlPackage> m_currentPackages
    • m_currentPackage

      private XmlPackage m_currentPackage
    • m_suites

      private final List<XmlSuite> m_suites
    • m_currentGroups

      private XmlGroups m_currentGroups
    • m_currentTestParameters

      private Map<String,String> m_currentTestParameters
    • m_currentSuiteParameters

      private Map<String,String> m_currentSuiteParameters
    • m_currentClassParameters

      private Map<String,String> m_currentClassParameters
    • m_currentInclude

      private TestNGContentHandler.Include m_currentInclude
    • m_redirectionAwareResolver

      private final EntityResolver m_redirectionAwareResolver
    • m_locations

      private final Stack<TestNGContentHandler.Location> m_locations
    • m_currentClass

      private XmlClass m_currentClass
    • m_currentIncludedMethods

      private ArrayList<XmlInclude> m_currentIncludedMethods
    • m_currentExcludedMethods

      private List<String> m_currentExcludedMethods
    • m_currentSelectors

      private ArrayList<XmlMethodSelector> m_currentSelectors
    • m_currentSelector

      private XmlMethodSelector m_currentSelector
    • m_currentLanguage

      private String m_currentLanguage
    • m_currentExpression

      private String m_currentExpression
    • m_suiteFiles

      private final List<String> m_suiteFiles
    • m_enabledTest

      private boolean m_enabledTest
    • m_listeners

      private List<String> m_listeners
    • m_fileName

      private final String m_fileName
    • m_loadClasses

      private final boolean m_loadClasses
    • m_validate

      private boolean m_validate
    • m_hasWarn

      private boolean m_hasWarn
  • Constructor Details

    • TestNGContentHandler

      public TestNGContentHandler(String fileName, boolean loadClasses)
  • Method Details

    • resolveEntity

      public InputSource resolveEntity(String publicId, String systemId) throws SAXException, IOException
      Specified by:
      resolveEntity in interface EntityResolver
      Overrides:
      resolveEntity in class DefaultHandler
      Throws:
      SAXException
      IOException
    • skipConsideringSystemId

      private static boolean skipConsideringSystemId(String systemId)
    • isMalformedFileSystemBasedSystemId

      private static boolean isMalformedFileSystemBasedSystemId(String systemId)
    • isUnsecuredUrl

      private static boolean isUnsecuredUrl(String str)
    • loadDtdUsingClassLoader

      private InputStream loadDtdUsingClassLoader()
    • xmlSuiteFile

      private void xmlSuiteFile(boolean start, Attributes attributes)
      Parse <suite-file>
    • xmlSuite

      private void xmlSuite(boolean start, Attributes attributes)
      Parse
    • xmlDefine

      private void xmlDefine(boolean start, Attributes attributes)
      Parse
    • xmlScript

      private void xmlScript(boolean start, Attributes attributes)
      Parse <script>
    • xmlTest

      private void xmlTest(boolean start, Attributes attributes)
      Parse <test>
    • xmlClasses

      public void xmlClasses(boolean start)
    • xmlListeners

      public void xmlListeners(boolean start)
    • xmlListener

      public void xmlListener(boolean start, Attributes attributes)
    • xmlPackages

      public void xmlPackages(boolean start)
    • xmlMethodSelectors

      public void xmlMethodSelectors(boolean start)
    • xmlSelectorClass

      public void xmlSelectorClass(boolean start, 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, Attributes attributes)
    • xmlGroups

      public void xmlGroups(boolean start)
    • startElement

      public void startElement(String uri, String localName, String qName, 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 interface ContentHandler
      Overrides:
      startElement in class DefaultHandler
    • xmlInclude

      private void xmlInclude(boolean start, Attributes attributes)
    • xmlExclude

      private void xmlExclude(boolean start, Attributes attributes)
    • pushLocation

      private void pushLocation(TestNGContentHandler.Location l)
    • popLocation

      private void popLocation()
    • stringToList

      private List<Integer> stringToList(String in)
    • endElement

      public void endElement(String uri, String localName, String qName)
      Specified by:
      endElement in interface ContentHandler
      Overrides:
      endElement in class DefaultHandler
    • error

      public void error(SAXParseException e) throws SAXException
      Specified by:
      error in interface ErrorHandler
      Overrides:
      error in class DefaultHandler
      Throws:
      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 interface ContentHandler
      Overrides:
      characters in class DefaultHandler
    • getSuite

      public XmlSuite getSuite()
    • expandValue

      private static String expandValue(String value)