You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@felix.apache.org by gn...@apache.org on 2010/10/11 09:47:26 UTC
svn commit: r1021267 -
/felix/trunk/framework/src/main/java/org/apache/felix/framework/ModuleImpl.java
Author: gnodet
Date: Mon Oct 11 07:47:26 2010
New Revision: 1021267
URL: http://svn.apache.org/viewvc?rev=1021267&view=rev
Log:
FELIX-2645: Introduce the org.apache.felix.jarurls property
Modified:
felix/trunk/framework/src/main/java/org/apache/felix/framework/ModuleImpl.java
Modified: felix/trunk/framework/src/main/java/org/apache/felix/framework/ModuleImpl.java
URL: http://svn.apache.org/viewvc/felix/trunk/framework/src/main/java/org/apache/felix/framework/ModuleImpl.java?rev=1021267&r1=1021266&r2=1021267&view=diff
==============================================================================
--- felix/trunk/framework/src/main/java/org/apache/felix/framework/ModuleImpl.java (original)
+++ felix/trunk/framework/src/main/java/org/apache/felix/framework/ModuleImpl.java Mon Oct 11 07:47:26 2010
@@ -158,6 +158,13 @@ public class ModuleImpl implements Modul
// Flag indicating whether we are on an old JVM or not.
private volatile static boolean m_isPreJava5 = false;
+ static ThreadLocal<Boolean> m_jarUrl = new ThreadLocal<Boolean>() {
+ @Override
+ protected Boolean initialValue() {
+ return false;
+ }
+ };
+
/**
* This constructor is used by the extension manager, since it needs
* a constructor that does not throw an exception.
@@ -1091,7 +1098,6 @@ public class ModuleImpl implements Modul
return getContentPath()[index - 1].getEntryAsStream(urlPath);
}
- // TODO: REMOVE - Remove when class path scanning is implemented.
public URL getLocalURL(int index, String urlPath)
{
if (urlPath.startsWith("/"))
@@ -1107,6 +1113,10 @@ public class ModuleImpl implements Modul
private URL createURL(int port, String path)
{
+ if (useJarUrl())
+ {
+ return getLocalURL(port, path);
+ }
// Add a slash if there is one already, otherwise
// the is no slash separating the host from the file
// in the resulting URL.
@@ -1131,6 +1141,13 @@ public class ModuleImpl implements Modul
return null;
}
+ private boolean useJarUrl()
+ {
+ String val = (String) ((BundleImpl) getBundle()).getFramework()
+ .getConfig().get("org.apache.felix.jarurls");
+ return m_jarUrl.get() && Boolean.parseBoolean(val);
+ }
+
//
// Fragment and dependency management methods.
//