felix-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Felix Meschberger" <Felix.Meschber...@day.com>
Subject Re: bundleContext.installBundle()
Date Mon, 29 Jan 2007 07:21:06 GMT

This seems to have only been introduced lately into  Felix. I use the
same API call and just put a name there. To fix, I just prepend the
string "inputstream:" (not a good name after all :-) ), which works.

The API spec just says, the location is "used as the identity of the
bundle". That is each bundle has  its unique location name. The
BundleContext.installBundle(String location) spec says, that the
bundle is retrieved from the named location in a Framework dependent
manner and that the location string is "typically in the form of a

All in all, I can live with the situation of the location string to be
an URL. On the other hand as the spec does not require it, Felix
should probably handle the case of a missing scheme name properly when
creating the code source URL. Perhaps with something like this :

      URL dummy = new URL(null, "location:", fakeHandler); // might by Constant
      URL codeSource = new URL(dummy, locationString, fakeHandler);


On 1/29/07, Chris Custine <chris.custine@gmail.com> wrote:
> Need a little insight from others here...  When installing a bundle from an
> InputStream using the form:
> bundleContext.installBundle(String location, InputStream is)
> does the location String have to be a valid URL string?  I have a couple of
> scenarios where existing code running on Equinox and Knopflerfish handles
> this fine, but in Felix we are using that String to create a valid URL
> object for the CodeSource constructor at Felix.java:2921 so we get a
> MalformedURLException at SecureAction.java:161
> I am just trying to figure out if it is pure luck that Equinox and KF work
> with bogus location Strings (only when installing from InputStream) or if it
> is something that we need to look at in Felix.  I have run into this twice
> this week, once with a client's code and once in Spring-OSGi test harness.
> Chris

View raw message