Author: dblevins
Date: Sat Dec 22 18:47:19 2007
New Revision: 606530
URL: http://svn.apache.org/viewvc?rev=606530&view=rev
Log:
Resolve jarURLs relative to rootURL
Modified:
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/PersistenceBuilder.java
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/persistence/PersistenceUnitInfoImpl.java
Modified:
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/PersistenceBuilder.java
URL:
http://svn.apache.org/viewvc/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/PersistenceBuilder.java?rev=606530&r1=606529&r2=606530&view=diff
==============================================================================
---
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/PersistenceBuilder.java
(original)
+++
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/PersistenceBuilder.java
Sat Dec 22 18:47:19 2007
@@ -101,9 +101,6 @@
// Exclude Unlisted Classes
unitInfo.setExcludeUnlistedClasses(info.excludeUnlistedClasses);
- // Jar File Urls
- unitInfo.setJarFileUrls(info.jarFiles);
-
// JTA Datasource
String dataSource = info.jtaDataSource;
if (jtaDataSourceEnv != null) dataSource = jtaDataSourceEnv;
@@ -150,7 +147,7 @@
}
// Persistence Unit Root Url
- unitInfo.setPersistenceUnitRootUrl(new
File(info.persistenceUnitRootUrl).toURL());
+ unitInfo.setRootUrlAndJarUrls(new
File(info.persistenceUnitRootUrl).toURL(), info.jarFiles);
// create the persistence provider
String persistenceProviderClassName =
unitInfo.getPersistenceProviderClassName();
Modified:
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/persistence/PersistenceUnitInfoImpl.java
URL:
http://svn.apache.org/viewvc/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/persistence/PersistenceUnitInfoImpl.java?rev=606530&r1=606529&r2=606530&view=diff
==============================================================================
---
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/persistence/PersistenceUnitInfoImpl.java
(original)
+++
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/persistence/PersistenceUnitInfoImpl.java
Sat Dec 22 18:47:19 2007
@@ -21,6 +21,8 @@
import java.lang.instrument.IllegalClassFormatException;
import java.net.MalformedURLException;
import java.net.URL;
+import java.net.URI;
+import java.net.URISyntaxException;
import java.security.ProtectionDomain;
import java.util.ArrayList;
import java.util.List;
@@ -171,21 +173,21 @@
return jarFileUrls;
}
- public void setJarFileUrls(List<String> jarFiles) throws
MalformedURLException {
- if (jarFiles == null) {
- throw new NullPointerException("jarFiles is null");
- }
- for (String jarFile : jarFiles) {
- jarFileUrls.add((new File(jarFile)).toURL());
- }
- }
-
public URL getPersistenceUnitRootUrl() {
return persistenceUnitRootUrl;
}
- public void setPersistenceUnitRootUrl(URL persistenceUnitRootUrl) {
+ public void setRootUrlAndJarUrls(URL persistenceUnitRootUrl, List<String>
jarFiles) throws MalformedURLException {
this.persistenceUnitRootUrl = persistenceUnitRootUrl;
+ try {
+ URI uri = persistenceUnitRootUrl.toURI();
+ for (String path : jarFiles) {
+ URI jarURI = uri.resolve(path);
+ jarFileUrls.add(jarURI.toURL());
+ }
+ } catch (URISyntaxException e) {
+ throw new IllegalStateException(e);
+ }
}
public List<String> getManagedClassNames() {