Details

    • Type: Improvement Improvement
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 1.4
    • Fix Version/s: rmi 1.4.1, 1.5
    • Component/s: jackrabbit-jcr-rmi
    • Labels:
      None

      Description

      The org.apache.jackrabbit.rmi.xml.ImportContentHandler class currently uses Xerces to implement the SAX DocumentHandler and serialize XML into a byte[]. This dependency should be dropped and JAXP be used instead for this functionality.

        Activity

        Hide
        Felix Meschberger added a comment -

        Replaced the use of Xerces by JAXP, which causes the following changes:

        • ImportContentHandler constructor throws a RepositoryException if JAXP is not able to
          provide a transform DocumentHandler. Likewise the extended constructors forward
          this exception. This is ok, since the calling methods within the library are declared to
          throw a RepositoryException.
        • Add a very simple testcase to ensure JAXP is used correctly to setup the DocumentHandler.

        Implemented in Rev. 614859.

        Show
        Felix Meschberger added a comment - Replaced the use of Xerces by JAXP, which causes the following changes: ImportContentHandler constructor throws a RepositoryException if JAXP is not able to provide a transform DocumentHandler. Likewise the extended constructors forward this exception. This is ok, since the calling methods within the library are declared to throw a RepositoryException. Add a very simple testcase to ensure JAXP is used correctly to setup the DocumentHandler. Implemented in Rev. 614859.
        Hide
        Jukka Zitting added a comment -

        We probably need to do something similar to what's being discussed in JCR-1310 to avoid losing namespace declarations in the serialized XML document.

        Show
        Jukka Zitting added a comment - We probably need to do something similar to what's being discussed in JCR-1310 to avoid losing namespace declarations in the serialized XML document.
        Hide
        Jukka Zitting added a comment -

        Resolved the namespace declaration issue in revision 616082 by leveraging the new SerializingContentHandler class from JCR-1350.

        Show
        Jukka Zitting added a comment - Resolved the namespace declaration issue in revision 616082 by leveraging the new SerializingContentHandler class from JCR-1350 .
        Hide
        Felix Meschberger added a comment -

        Schedule for rmi 1.4.1 release as this is a requirement for easy deployment in an OSGi framework such as Sling

        Show
        Felix Meschberger added a comment - Schedule for rmi 1.4.1 release as this is a requirement for easy deployment in an OSGi framework such as Sling
        Hide
        Jukka Zitting added a comment -

        This should IMHO go to a jackrabbit-jcr-rmi 1.5 release. I'd rather not introduce dependency changes in a patch release...

        Show
        Jukka Zitting added a comment - This should IMHO go to a jackrabbit-jcr-rmi 1.5 release. I'd rather not introduce dependency changes in a patch release...
        Hide
        Felix Meschberger added a comment -

        In the sense of the considerations in [1] I think, we may well include this dependency in this release:

        Therefore, I include this in the 1.4.1 release.

        [1] http://markmail.org/message/zva7vih4c3k6br5y

        Show
        Felix Meschberger added a comment - In the sense of the considerations in [1] I think, we may well include this dependency in this release: Therefore, I include this in the 1.4.1 release. [1] http://markmail.org/message/zva7vih4c3k6br5y
        Hide
        Felix Meschberger added a comment -

        Backported change of Rev. 616082 to 1.4 branch in Rev. 644020 for inclusion in the rmi 1.4.1 release.

        Show
        Felix Meschberger added a comment - Backported change of Rev. 616082 to 1.4 branch in Rev. 644020 for inclusion in the rmi 1.4.1 release.
        Hide
        Jukka Zitting added a comment -

        The patch release should be drop-in compatible with any Jackrabbit 1.4 installation, so I'd very much prefer to avoid the explicit jcr-commons 1.4.2 dependency. If necessary, I'd even copy the relevant classes from jcr-commons in the 1.4 branch to avoid breaking drop-in compatibility.

        Show
        Jukka Zitting added a comment - The patch release should be drop-in compatible with any Jackrabbit 1.4 installation, so I'd very much prefer to avoid the explicit jcr-commons 1.4.2 dependency. If necessary, I'd even copy the relevant classes from jcr-commons in the 1.4 branch to avoid breaking drop-in compatibility.
        Hide
        Felix Meschberger added a comment -

        As we do not yet officially do componentized releases I follow your proposal to copy the classes, only in the 1.4 branch though and makring them deprecated right from the start.

        Show
        Felix Meschberger added a comment - As we do not yet officially do componentized releases I follow your proposal to copy the classes, only in the 1.4 branch though and makring them deprecated right from the start.
        Hide
        Felix Meschberger added a comment -

        Released in jackrabbit-jcr-rmi 1.4.1 release. Closing issue.

        Show
        Felix Meschberger added a comment - Released in jackrabbit-jcr-rmi 1.4.1 release. Closing issue.

          People

          • Assignee:
            Felix Meschberger
            Reporter:
            Felix Meschberger
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development