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

Parenthesis-augmented parameters are improperly processed at EM level

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • 2.1.0, 2.1.1, 2.2.0
    • 2.1.2, 2.2.1, 2.3.0
    • jpa
    • None

    Description

      The processing of properties for the creation of an EntityManager do not properly handle simple value types that can be augmented by parenthesized configuration options.

      For example,

      Map propMap = new HashMap();
      propMap.put("openjpa.jdbc.QuerySQLCache", "true(EnableStatistics=true)");
      EntityManager em = emf.createEntityManager(propMap);

      actually results in the creation of an EntityManager instance where the Query SQL Cache is disabled. This is because the entire value, "true(EnableStatistics=true)" is passed into Strings.parse() which returns the result of a Boolean.valueOf() operation. Since "true" doesn't match "true(EnableStatistics=true)", the call to parse() returns false - so in this case, the QuerySQLCache property is set to false causing it to be disabled for that instance of EntityManager.

      Attachments

        Activity

          People

            fyrewyld Jody Grassel
            fyrewyld Jody Grassel
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: