OpenJPA
  1. OpenJPA
  2. OPENJPA-2260

Parenthesis-augmented parameters are improperly processed at EM level

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 2.1.0, 2.1.1, 2.2.0
    • Fix Version/s: 2.1.2, 2.2.1, 2.3.0
    • Component/s: jpa
    • Labels:
      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.

        Activity

          People

          • Assignee:
            Jody Grassel
            Reporter:
            Jody Grassel
          • Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development