Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.
Bug 370744 - [sashEditor] SashEditor should run on both 3.8 and 4.x
Summary: [sashEditor] SashEditor should run on both 3.8 and 4.x
Status: RESOLVED FIXED
Alias: None
Product: Papyrus
Classification: Modeling
Component: Core (show other bugs)
Version: unspecified   Edit
Hardware: PC Windows XP
: P3 critical (vote)
Target Milestone: ---   Edit
Assignee: Cedric Dumoulin CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks: 366166
  Show dependency tree
 
Reported: 2012-02-06 12:07 EST by Cedric Dumoulin CLA
Modified: 2013-01-28 07:22 EST (History)
1 user (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Cedric Dumoulin CLA 2012-02-06 12:07:46 EST
The SashEditor can't be updated to compile on both 3.8 and 4.x.
This come from incompatible changes from org.eclipse.ui.part.MultiPageEditorSite. 
This class is duplicated in Papyrus: org.eclipse.papyrus.infra.core.sasheditor.internal.eclipsecopy.MultiPageEditorSite

We can update the code, but in this case, it doesn't compile on Eclipse 4.x.

The proposed temporary solution is to have the 2 implementations for the site:
- org.eclipse.papyrus.infra.core.sasheditor.internal.eclipsecopy.MultiPageEditorSite
   - this one compile under 3.8, but doesn't work on 4.x
   - this later is slightly modified in order to compile on 4.x
- org.eclipse.papyrus.infra.core.sasheditor.internal.eclipsecopy.MultiPageEditorSite4x
   - This one work for 4.x, but doesn't compile under 3.8
   
The Site class is only instanciated from:
- org.eclipse.papyrus.infra.core.sasheditor.internal.EditorPart.createSite(IEditorPart)
   - The code is modified in order to catch the exception when the wrong class is used. In this case, the other implementation is used.
   
   As a consequence, the code :
- only compile under 4.2
- run on both 3.8 and 4.2
Comment 1 Camille Letavernier CLA 2012-04-11 04:45:16 EDT
The problem has been fixed, I close the bug.
Comment 2 Camille Letavernier CLA 2013-01-18 08:55:27 EST
Since SR2 (Eclipse 4.2.2), the MultiPageEditorSite/MultiPageEditorSite4x do not compile anymore. The internal classes have changed.

Internal method signatures are not consistent anymore between 3.X and 4.2.2. In r9812 (Branches/0.9.X), I've changed the MultiPageEditorSite to invoke reflexively the right method, so that the code can compile under 4.2.2 and run under both 3.8.x and 4.2.2.

However, the modifications are not compatible with Eclipse 4.2.0 and Eclipse 4.2.2. This mean we won't be able to run Papyrus 0.9 SR2 on Eclipse 4.2 SR1.

Further changes will be need to either support the whole version range from Eclipse 3.X to Eclipse 4.2.2, or properly inform the users that he needs to update its platform to SR2 when he's using Eclipse 4.X
Comment 3 Camille Letavernier CLA 2013-01-28 07:21:44 EST
r9874, 9877, 9879:

Fixed on 0.9.X. The Core SashEditor now runs on all Juno versions (3.8.X, 4.2.0, 4.2.1, 4.2.2).

The same fix might be applied to 0.10.X if we want to make it compatible with Eclipse 3.8.X (Although we aren't supposed to). Currently, the SashEditor for Papyrus 0.10.X only works on Eclipse 4.2.2 and 4.3.X
Comment 4 Camille Letavernier CLA 2013-01-28 07:22:57 EST
> Fixed on 0.9.X. The Core SashEditor now runs on all Juno versions (3.8.X, 4.2.0, 4.2.1, 4.2.2).

However, the code can only be compiled on 4.2.2 and 4.3.X (Previously, we needed 4.2.0 or 4.2.1 to compile the SashEditor).