Hi all,
most of you probably know that the RAP project provides the
'WebWorkbench' by copying the original platform code and change those things
that don't work in RAP. Unfortunately this is the worst thinkable way of
code-reuse. Adopting to code changes of the original code is error-prone and
time-consuming.
As it is intented to integrate RAP into e4, we've been
marking the code changes with 'RAP' markers so that we are now able to identify
what we've done so far to get the code working within RAP. Looking at the
bundles org.eclipse.rap.jface, org.eclipse.rap.jface.databinding,
org.eclipse.rap.ui, org.eclipse.rap.ui.forms, org.eclipse.rap.ui.views,
org.eclipse.rap.ui.workbench we have about 1900 markers...
What I've seen so far, none of those markers point to code
that can simply be merged with the origninal code. To explain this a little bit
more in detail I put up a list that categorizes the main types of problems
(I've created wiki pages for each of the topics. This way it may be easier to
discuss the individual issues in individual mail threads - as opposed to
everybody responding to one mail with lots of issues):
1) RWT misses SWT-API
(http://wiki.eclipse.org/E4/RAP_Integration:_RWT_misses_SWT-API)
2) Singletons
(http://wiki.eclipse.org/E4/RAP_Integration:_Singletons)
3) NLS (http://wiki.eclipse.org/E4/RAP_Integration:_NLS)
4) Bundle initializations
(http://wiki.eclipse.org/E4/RAP_Integration:_Bundle_Initialization)
5) Jobs (http://wiki.eclipse.org/E4/RAP_Integration:_Jobs)
6) Cleanup on Session Shutdown
(http://wiki.eclipse.org/E4/RAP_Integration:_CleanupOnSessionTimeout)
At least the items 2,3 and 5 are consequences of the multi
user support and therefore could be of common interest heading for e4. So maybe
this is a good starting point for a discussion of how to solve such problems.
E.g. replacing Singletons with the SessionSingletonBase approach from RWT (see
below) is of course RAP specific and doesn't work as a generic solution.
Ciao
Frank