Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [equinox-dev] Question


Sorry, I was not precise enough. Of course two bundles may provide different
implementations of the same specification package. My question is different
in the context of Eclipse/OSGi.

For specification, the answer is easy, the version and the name fully specifies the contents.
So for instance, javax.servlet at a given version number has the same contents in any exporting
bundle. But regarding implementation packages, exported ones, do we consider
that the contents is also fully identified by the name and version?

So, for example. I have two bundles A and B both exporting the package com.ibm.servlet,
same version 2.3, implementation of the specification javax.servlet.
The question becomes the following: could the contents be different from A and B ?

The question comes from the following. We are introducing bundle-require
and package-provide, which allows to control from where needed Java packages are
obtained from (as opposed to import/export of packages where the system elects
which bundle is the actual provider for a given package). But I am having difficulties
identifying reasons why one may actually be concerned by the origin of a Java package.

I would like to see that a package name and version fully identifies the contents of a
package, being a specification or an implementation package. If that was true,
there would be no difference (but a syntactical one) between
  • Bundle A requires Bundle B, that provides package com.ibm.foo, version 2.3
  • Bundle A imports package com.ibm.foo, version 2.3, and Bundle B or Bundle C exports that very same version.

Hope this clarifies my question.

Olivier Gruber, Ph.D.
Persistent & Distributed Object Platforms and Frameworks
IBM TJ Watson Research Center




"Richard S. Hall" <heavy@xxxxxxxxxxxxxx>

03/30/2004 08:27 AM

       
        To:        Olivier Gruber/Watson/IBM@IBMUS
        cc:        
        Subject:        Re: [equinox-dev] Question



Yes, it could be a different implementation. OSGi imports/exports are
based on specification versions, not implementation versions. So it is
possible that two different providers have implemented javax.servlet,
for example.

-> richard

Olivier Gruber wrote:

>
> Can two bundles providing the same package name, same version,
> provide different contents?
>
> I would hope not.
>
> If not, is there any other reason why the origin of a package might
> matter?
>
> Best regards,
>
> Olivier Gruber, Ph.D.
> Persistent & Distributed Object Platforms and Frameworks
> IBM TJ Watson Research Center
>


Back to the top