Uploaded image for project: 'OpenJPA'
  1. OpenJPA
  2. OPENJPA-442

JIRA-407 introduced backward compatibility problem in QueryImpl

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • 1.1.0, 1.2.0
    • 1.2.0
    • query
    • None

    Description

      In the openjpa-407 patch, it changed the constructor to pass an extra parameter RuntimeExceptionTransaltor,

      public QueryImpl(EntityManagerImpl em, RuntimeExceptionTranslator ret,
      org.apache.openjpa.kernel.Query query)

      { _em = em; _query = new DelegatingQuery(query, ret); }

      However, it did not keep the orginial constructor so the extension of this QueryImpl from other vendor resulted in compiler error. We need to keep the backward compatibilty issue in mind when we change the public interface.
      The solution will be to add the original constructor back and route it to the new constructor:

      public QueryImpl(EntityManagerImpl em, RuntimeExceptionTranslator ret,
      org.apache.openjpa.kernel.Query query)

      { _em = em; if (ret == null) ret = PersistenceExceptions.getRollbackTranslator(em); _query = new DelegatingQuery(query, ret); }

      /**

      • Constructor; supply factory and delegate.
        */
        public QueryImpl(EntityManagerImpl em, org.apache.openjpa.kernel.Query query) { this(em, null, query); }

      Attachments

        1. OPENJPA-442.patch
          1 kB
          Teresa Kan

        Activity

          People

            mikedd Michael Dick
            tckan1 Teresa Kan
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: