Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.

Bug 361228

Summary: Extend BundleWebappClassLoader in a way that it implements BundleReference
Product: [RT] Gemini.Web Reporter: Violeta Georgieva <milesg78>
Component: unknownAssignee: Violeta Georgieva <milesg78>
Status: CLOSED FIXED QA Contact:
Severity: enhancement    
Priority: P3 CC: glyn.normington
Version: unspecified   
Target Milestone: 2.1.0.M01   
Hardware: All   
OS: All   
Whiteboard:
Attachments:
Description Flags
Patch proposal glyn.normington: review+

Description Violeta Georgieva CLA 2011-10-18 05:09:10 EDT
Created attachment 205398 [details]
Patch proposal

Hi,

In OSGI JNDI specification it is explained how to obtain caller's bundle context. 

"126.7.3 Caller’s Bundle Context
...
2 Obtain the Thread Context Class Loader; if it, or an ancestor class loader, implements the BundleReference interface, call its getBundle method to get the client’s Bundle; then call getBundleContext on the Bundle object to get the client’s Bundle Context. If the Bundle Context has been found stop."

In the current implementation for org.eclipse.gemini.web.tomcat.internal.loading.BundleWebappClassLoader we already provided method getBundle(). So the only change is to add that org.eclipse.gemini.web.tomcat.internal.loading.BundleWebappClassLoader implements org.osgi.framework.BundleReference.

So the corresponding change that I want to make is the one that is attached.

Could you please review it?

Thanks
Violeta
Comment 1 Violeta Georgieva CLA 2011-10-18 08:27:12 EDT
Change is tested, committed and pushed
Commit ID: 68c6a0a1649f564dc23d738cb81f06abe7edce81