Problems with the bundle url protocol -------------------------------------
Key: FELIX-577 URL: https://issues.apache.org/jira/browse/FELIX-577 Project: Felix Issue Type: Bug Components: Framework Affects Versions: felix-1.0.4 Reporter: Guillaume Nodet Fix For: felix-1.0.5 The "bundle:" protocol URL handler is built in Felix framework, but does not seem to work well for me at the moment. The idea behing this URL handler is to be able to access any resource inside a bundle. The syntax is as following: bundle://[bundleId].[bundleRev]:[classPathId]/[path] where [bundleId] is the id of the bundle, [bundleRev] is the revision of the bundle (when new versions are installed), [classPathId] is the index in the list of jars that make the classpath (internal structure) and [path] is the path of the resource in the bundle. My problem is that [bundleRev] and [classPathId] refer to internal structures and can't be accessed from outside the felix framework. [classPathId] can be set to 0 to look inside the whole classpath entries, but if not specified, the default value of the url port is -1 and an IndexOutOfBounds exception is thrown. Another problem is that [bundleRev] can not be ommitted and (in addition to the parsing having a bug) there is no default value. I will raise a JIRA and attach a patch to do the following: * if the url port is ommitted (thus defaults to -1), use the same behavior as if 0 was used (search in the whole classpath) * fix the revision bundle parsing, which returns the bundle id if none is specified: it will return -1 if the bundle revision was not set * fix the look up mechanism so that when no bundle revision is specified, (revision == -1), all bundle revisions will be searched in reverse order (the most recent revision first) The last problem is really difficult to work around as there is no way to find the bundle revision from a client bundle and there is no default value, so the only way to make that work is to specify 0 and expect the bundle to have not been updated (which ovbiously is not a good idea). -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.