use state SAXParserFactory instead of calling newInstance each time
-------------------------------------------------------------------

                 Key: TRINIDAD-1310
                 URL: https://issues.apache.org/jira/browse/TRINIDAD-1310
             Project: MyFaces Trinidad
          Issue Type: Improvement
    Affects Versions: 1.2.9-core, 1.0.9-core
            Reporter: Jeanne Waldman
            Assignee: Jeanne Waldman
            Priority: Minor


Avoid creating new SAXParserFactory's by using a static variable.
as of J2SE 1.5, the SaxParserFactory is guaranteed to be thread-safe.

Instead of :
        SAXParserFactory factory = SAXParserFactory.newInstance();
        factory.setNamespaceAware(true);
use:

  private static final SAXParserFactory _SAX_PARSER_FACTORY;
  static
  {
      _SAX_PARSER_FACTORY = SAXParserFactory.newInstance();
      _SAX_PARSER_FACTORY.setNamespaceAware(true);
  }

Searching for SAXParserFactory.newInstance() in the Trinidad code yields:

C:\Trinidad12\trinidad-impl\src\main\java\org\apache\myfaces\trinidadinternal\config\ConfigParser.java
(75,36):         SAXParserFactory factory = SAXParserFactory.newInstance();
C:\Trinidad12\trinidad-impl\src\main\java\org\apache\myfaces\trinidadinternal\menu\MenuContentHandlerImpl.java
(506,34):       SAXParserFactory factory = SAXParserFactory.newInstance();
C:\Trinidad12\trinidad-impl\src\main\java\org\apache\myfaces\trinidadinternal\metadata\RegionMetadata.java
(184,34):       SAXParserFactory factory = SAXParserFactory.newInstance();
C:\Trinidad12\trinidad-impl\src\main\java\org\apache\myfaces\trinidadinternal\share\xml\JaxpXMLProvider.java
(51,34):       SAXParserFactory factory = SAXParserFactory.newInstance();
C:\Trinidad12\trinidad-impl\src\main\java\org\apache\myfaces\trinidadinternal\skin\SkinUtils.java
(241,34):       SAXParserFactory factory = SAXParserFactory.newInstance();


-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to