Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.
Bug 351445 - RWT OSGi integration does not work when IEntryPoint is an inner class
Summary: RWT OSGi integration does not work when IEntryPoint is an inner class
Status: RESOLVED FIXED
Alias: None
Product: RAP
Classification: RT
Component: RWT (show other bugs)
Version: 1.5   Edit
Hardware: Macintosh Mac OS X
: P3 normal (vote)
Target Milestone: 2.0 M1   Edit
Assignee: Project Inbox CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2011-07-07 09:28 EDT by Holger Staudacher CLA
Modified: 2012-05-31 07:33 EDT (History)
1 user (show)

See Also:


Attachments
Example Project (6.53 KB, application/octet-stream)
2011-07-08 04:08 EDT, Holger Staudacher CLA
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Holger Staudacher CLA 2011-07-07 09:28:37 EDT
We registered a Configurator instance as an OSGi service. In the Configurator implementation we added an EntryPoint within the configure method. We called addEntryPoint on the context and passed the class of our Entrypoint. The IEntryPoint implementaion was an inner class of the Configurator Impl. When starting this up and calling the EntryPoint we received an HTTP 500 and an Exception with the root cause "NoSuchMethodError". The problem was solved after moving the EntryPoint to a separate file.
Comment 1 Frank Appel CLA 2011-07-08 02:03:14 EDT
Was your inner class declared as static? If not, there's probably nothing we can do about it, since the IEntryPoint instance is created using reflection. And it would be a problem of the EntryPointManager anyway. So it would be helpful to have a Configurator example that makes this problem reproducable. If my assumptions are right there might be a possibility to provide a more speaking error message, but that would all I can think of at the moment...
Comment 2 Holger Staudacher CLA 2011-07-08 04:08:22 EDT
Created attachment 199311 [details]
Example Project

I attached an example project to reproduce this error. You are right, the inner class was not static. The archived project contains a launch config which starts on port 9292. You can use the entry point name "osgi". HTH

+1 for a more speakable error message.
Comment 3 Ralf Sternberg CLA 2012-05-31 07:33:38 EDT
Added meaningful exception messages in 6b2f8ec87fec211de25300e43b44a21f9176f654.