You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@felix.apache.org by ri...@apache.org on 2006/01/27 14:03:26 UTC
svn commit: r372832 - in
/incubator/felix/sandbox/rickhall/framework-branch/src/main/java/org/apache/felix/framework:
URLHandlers.java URLHandlersBundleURLConnection.java
Author: rickhall
Date: Fri Jan 27 05:03:22 2006
New Revision: 372832
URL: http://svn.apache.org/viewcvs?rev=372832&view=rev
Log:
Minor changes needed to cope with the Module Loader refactoring.
Modified:
incubator/felix/sandbox/rickhall/framework-branch/src/main/java/org/apache/felix/framework/URLHandlers.java
incubator/felix/sandbox/rickhall/framework-branch/src/main/java/org/apache/felix/framework/URLHandlersBundleURLConnection.java
Modified: incubator/felix/sandbox/rickhall/framework-branch/src/main/java/org/apache/felix/framework/URLHandlers.java
URL: http://svn.apache.org/viewcvs/incubator/felix/sandbox/rickhall/framework-branch/src/main/java/org/apache/felix/framework/URLHandlers.java?rev=372832&r1=372831&r2=372832&view=diff
==============================================================================
--- incubator/felix/sandbox/rickhall/framework-branch/src/main/java/org/apache/felix/framework/URLHandlers.java (original)
+++ incubator/felix/sandbox/rickhall/framework-branch/src/main/java/org/apache/felix/framework/URLHandlers.java Fri Jan 27 05:03:22 2006
@@ -19,8 +19,8 @@
import java.net.*;
import java.util.*;
+import org.apache.felix.framework.searchpolicy.ContentClassLoader;
import org.apache.felix.framework.util.*;
-import org.apache.felix.moduleloader.ModuleClassLoader;
import org.osgi.framework.BundleContext;
/**
@@ -345,7 +345,7 @@
Class targetClass = null;
for (int i = 0; i < stack.length; i++)
{
- if (stack[i].getClassLoader() instanceof ModuleClassLoader)
+ if (stack[i].getClassLoader() instanceof ContentClassLoader)
{
targetClass = stack[i];
break;
Modified: incubator/felix/sandbox/rickhall/framework-branch/src/main/java/org/apache/felix/framework/URLHandlersBundleURLConnection.java
URL: http://svn.apache.org/viewcvs/incubator/felix/sandbox/rickhall/framework-branch/src/main/java/org/apache/felix/framework/URLHandlersBundleURLConnection.java?rev=372832&r1=372831&r2=372832&view=diff
==============================================================================
--- incubator/felix/sandbox/rickhall/framework-branch/src/main/java/org/apache/felix/framework/URLHandlersBundleURLConnection.java (original)
+++ incubator/felix/sandbox/rickhall/framework-branch/src/main/java/org/apache/felix/framework/URLHandlersBundleURLConnection.java Fri Jan 27 05:03:22 2006
@@ -1,5 +1,5 @@
/*
- * Copyright 2005 The Apache Software Foundation
+ * Copyright 2006 The Apache Software Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -54,8 +54,18 @@
throw new IOException("Unable to find framework instance from context.");
}
- m_is = m_framework.getBundleResourceInputStream(url);
- m_contentLength = m_is.available();
+ // The URL is constructed like this:
+ // bundle://<module-id>/<resource-path>
+ // Where <module-id> = <bundle-id>.<revision>
+ long bundleId = BundleInfo.getBundleIdFromModuleId(url.getHost());
+ BundleImpl bundle = (BundleImpl) m_framework.getBundle(bundleId);
+ if (bundle == null)
+ {
+ throw new IOException("Unable to find bundle.");
+ }
+ int revision = BundleInfo.getModuleRevisionFromModuleId(url.getHost());
+ m_is = bundle.getInfo().getModules()[revision].getContentLoader().getResourceAsStream(url.getPath());
+ m_contentLength = (m_is == null) ? 0 : m_is.available();
m_contentTime = 0L;
m_contentType = URLConnection.guessContentTypeFromName(url.getFile());
connected = true;