You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@openjpa.apache.org by "Jody Grassel (JIRA)" <ji...@apache.org> on 2013/12/02 21:38:39 UTC
[jira] [Resolved] (OPENJPA-2094) Metadata processing needs to
support jar:file URLs that address Jar directories
[ https://issues.apache.org/jira/browse/OPENJPA-2094?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Jody Grassel resolved OPENJPA-2094.
-----------------------------------
Resolution: Fixed
Fix Version/s: 2.2.0
2.2.1
2.2.2
2.4.0
2.3.1
2.3.0
> 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
> Fix For: 2.3.0, 2.3.1, 2.4.0, 2.2.2, 2.2.1, 2.2.0
>
>
> 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 was sent by Atlassian JIRA
(v6.1#6144)