Pluto
  1. Pluto
  2. PLUTO-347

Remove dependency on shared/lib xerces and xmlAPIs

    Details

    • Type: Improvement Improvement
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 1.1.3, 1.2.0
    • Fix Version/s: 1.1.4, 1.2.0
    • Component/s: None
    • Labels:
      None

      Description

      XML API's in shared/lib is causing uPortal some problems.

      With Pluto 1.2.0 requiring Java 1.5, I think we can update to Castor 1.1 which supports using the JVM's XML parser, and remove the XML libraries from shared/lib.

      See http://castor.org/xml-faq.html#Is-it-true-that-the-use-of-Castor-XML-mandates-Xerces-as-XML-parser?

        Activity

        Hide
        Elliot Metsger added a comment -

        Added system property org.apache.pluto.useJaxp with a default value of true. When true, Castor is instructed to use JAXP instead of the parser defined by org.exolab.castor.parser. The reason this is hard-coded versus using a castor.properties file is because the castor.properties file would go into a shared classloader which may adversely affect other applications that rely on Castor (for an example see PLUTO-329).

        In Pluto 1.2.x, the default value of org.apache.pluto.useJaxp is set to "true", so Pluto will by default use JAXP. This means that we shouldn't need to have XML libraries in <tomcat>/common/endorsed for example. Pluto 1.2.x no longer has a dependency on Xerces or the older XML apis.

        In the Pluto 1.1.x branch (1.1.4+), the default value of org.apache.pluto.useJaxp is set to "false", so by default Pluto will behave as it always has - using XML libraries in <tomcat>/common/endorsed.

        The default value of org.apache.pluto.useJaxp can be overridden. The user is responsible for ensuring the proper location and version of the XML libraries.

        Show
        Elliot Metsger added a comment - Added system property org.apache.pluto.useJaxp with a default value of true. When true, Castor is instructed to use JAXP instead of the parser defined by org.exolab.castor.parser. The reason this is hard-coded versus using a castor.properties file is because the castor.properties file would go into a shared classloader which may adversely affect other applications that rely on Castor (for an example see PLUTO-329 ). In Pluto 1.2.x, the default value of org.apache.pluto.useJaxp is set to "true", so Pluto will by default use JAXP. This means that we shouldn't need to have XML libraries in <tomcat>/common/endorsed for example. Pluto 1.2.x no longer has a dependency on Xerces or the older XML apis. In the Pluto 1.1.x branch (1.1.4+), the default value of org.apache.pluto.useJaxp is set to "false", so by default Pluto will behave as it always has - using XML libraries in <tomcat>/common/endorsed. The default value of org.apache.pluto.useJaxp can be overridden. The user is responsible for ensuring the proper location and version of the XML libraries.

          People

          • Assignee:
            Elliot Metsger
            Reporter:
            Elliot Metsger
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development