openjpa-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jody Grassel (Created) (JIRA)" <j...@apache.org>
Subject [jira] [Created] (OPENJPA-2094) Metadata processing needs to support jar:file URLs that address Jar directories
Date Tue, 13 Dec 2011 21:25:31 GMT
Metadata processing needs to support jar:file URLs that address Jar directories
-------------------------------------------------------------------------------

                 Key: OPENJPA-2094
                 URL: https://issues.apache.org/jira/browse/OPENJPA-2094
             Project: OpenJPA
          Issue Type: Bug
          Components: lib
            Reporter: Jody Grassel
            Assignee: Jody Grassel


The JPA specification makes the following assertion about PersistenceUnitInfo's PersistenceUnitRootUrl
value:

/**
 * Returns the URL for the jar file or directory that is the
 * root of the persistence unit. (If the persistence unit is
 * rooted in the WEB-INF/classes directory, this will be the
 * URL of that directory.)
 * The URL will either be a file: URL referring to a jar file
 * or referring to a directory that contains an exploded jar
 * file, or some other URL from which an InputStream in jar
 * format can be obtained.
 *
 * @return a URL referring to a jar file or directory.
 */
public URL getPersistenceUnitRootUrl();

Currently, OpenJPA supports the following URL patterns:
  1) file: URL which addresses a jar file or an exploded jar file (directory)
  2) jar: URL which addresses a jar file that terminates with "!/" (i.e., jar:file:somepath/myjar!/)
  3) Any URL that ends with ".jar"

What it does not support is a jar URL of this pattern: jar:file:somepath/myjar!/WEB-INF/classes
OpenJPA's AbstractCFMetaDataFactory.parsePersistentTypeNames() method will find that the
URL doesn't match the three scenarios listed above, and defaults to attempting to parse it
as an
XML file, which is obviously not an appropriate behavior for processing a Jar file.

The "jar:file:somepath/myjar!/WEB-INF/classes" pattern must be supported to accommodate
J2EE application servers that pass such a URL into PersistenceUnitInfo._persistenceUnitRootUrl

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Mime
View raw message