jar-file validation should be deferred until after OpenJPA is confirmed to be 
the application's chosen provider
---------------------------------------------------------------------------------------------------------------

                 Key: OPENJPA-1905
                 URL: https://issues.apache.org/jira/browse/OPENJPA-1905
             Project: OpenJPA
          Issue Type: Bug
          Components: usability, validation
    Affects Versions: 2.0.1, 2.0.0, 1.2.2, 1.2.1, 1.2.0
            Reporter: Jody Grassel
            Assignee: Jody Grassel
            Priority: Minor


While processing a persistence-unit definition in persistence.xml requested by 
an invocation of PersistenceProvider.createEntityManagerFactory(), validation 
of elements such as <jar-file> take place during the execution of the 
SAXParser.  If an entry named by the element does not exist, a GeneralException 
originating from the SAXException fails the createEMF() operation -- the 
expected and correct behavior in such a situation.

However, this validation occurs before OpenJPA checks to see if it is the JPA 
Provider requested by the Application.  This means that OpenJPA throws this 
Exception regardless to the fact that the PU may have defined a <persistence> 
element requesting a JPA provider other then OpenJPA -- instead of returning 
the expected null value as expected by the contract.

Thus, there needs to be a change where the first item validated is the 
requested provider, immediately returning null as per JPA Spec contract if 
OpenJPA is not the requested provider.  This would cause the error in the 
scenario described above to be reported by the requested JPA provider, instead 
of short-circuiting the process as can happen currently.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to