[ 
https://issues.apache.org/jira/browse/OPENJPA-2094?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Work on OPENJPA-2094 started by Jody Grassel.

> 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

        

Reply via email to