Skip to main content
aboutsummaryrefslogtreecommitdiffstats
blob: 432638c70af3fa06517e57ff4e2f0658e95da758 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
h1. Release Notes for Sirius

{toc:style=disc|minLevel=2|maxLevel=2}

This document contains the release notes for all major releases of Sirius.

h2. Changes in Sirius 1.0.0M4 (from Sirius 0.9)

h3. User-Visible Changes

* The ability to print table representations, which had been disabled for the 0.9 release, has been re-enabled.

h3. API Changes

Sirius 1.0.0M4 includes a lots of API-breaking changes, as part of a global effort to improve the quality of the Sirius internals. In this milestone in particular, most of the APIs which were marked as deprecated in previous versions of Sirius (and before that of Viewpoint) have been either removed (if a replacement exists) or marked as non-deprecated (if no replacement exists yet).

h4. Changes in  @org.eclipse.sirius.common@

* Two deprecated constructors have been removed in @FeatureEditorDialog@. Use the remaining constructor instead, which provides proper behaviour for both unique and non-unique features.
* The deprecated method @IEditingDomainFactory.createEditingDomain()@ has been removed. Use the (inherited) @createEditingDomain(ResourceSet)@ instead, which ensures correct behavior for all kinds of models (Xtext for example).
* The deprecated field @org.eclipse.sirius.common.tools.api.listener.Notification.FOLD@ has been removed. It was never used by Sirius itself, so if your code tried to listen to this kind of notification it was never actually called and can be safely removed.
* The deprecated methods @getExtensionPlugins()@ and @getElementsProvidedByPlugin@ from @EcliseUtil@ have been removed. If you need this kind of functionality, use the Eclipse APIs directly instead.
* The deprecated fields @COLUMN_SEMANTIC@ and @LINE_SEMANTIC@ of @IInterpreterSiriusVariables@ have been removed. Use the constants of @org.eclipse.sirius.table.tools.api.interpreter.IInterpreterSiriusTableVariables@ instead. 

h4. Changes in @org.eclipse.sirius@

* The deprecated method @DialectServices.initRepresentations(Viewpoint, EObject)@ has been removed. Use the version which takes an additional @IProgressMonitor@ instead. 
* The deprecated constructor in @CreateRepresentationCommand@ has been removed. Use the alternative constructor which takes an additional @IProgressMonitor@ instead.
* The two deprecated constructors in @RefreshRepresentationCommand@ have been removed. Use the alternative constructors which take an additional @IProgressMonitor@ instead.
* The deprecated method @DisplayService.computeVisibility(Session, DDiagram, DDiagramElement)@ has been removed. Use the variant @computeVisibility()@ which takes a @DiagramMappingsManager@ instead of a @Session@.
* The following deprecated methods in @FilterService@ have been removed:
** @activateCache()@: use @DisplayService.activateCache()@ instead.
** @deactivateCache()@: use @DisplayService.deactivateCache()@ instead.
** @activate()@: use @DisplayService.activate()@ instead.
** @deactivate()@: use @DisplayService.deactivate()@ instead.
** @isActivated()@: use @DisplayServiceManager.INSTANCE.getMode() == DisplayMode.NORMAL@ instead.
** @isCollapse()@: use @isCollapsed()@ instead.
** @isVisibleForFilters()@: use @getAppliedFilters()@ instead.
** @isVisible()@: use @DisplayService.isDisplayed()@ instead.
** @isFiltered()@, @isNotFiltered()@, @isVisibleForActivatedFilters(), @checkFilters()@: use @getAppliedFilters()@ and @DDiagram.getActivatedFilters()@ instead.
* The deprecated methods @isDirectlyHidden()@ and @isIndirectlyHidden()@ in @HideFilterHelper@ have been removed. Use the corresponding methods in @DDiagramElementQuery@ instead.
* The deprecated method @SavingPolicy.save(Iterable, Map)@ has been removed. Use the variant which takes an additional @IProgressMonitor@ instead.
* The deprecated constructor @AbstractCommandFactory(TransactionalEditingDomain, ModelAccessor)@ has been removed. Use the variant without the @ModelAccessor@ argument instead.
* The deprecated constructor @CommandContext(EObject)@ has been removed. Use the variant which takes an additional @DRepresentation@ instead.
* The deprecated methods @activate(TransactionalEditingDomain)@ and @deactivate(TransactionalEditingDomain)@ in @IChangeListener@ have been removed. Use the variants with no argument instead.
* The deprecated constructor @AddSemanticResourceCommand(Session, URI)@ has been removed. Use the variant which takes an additional @IProgressMonitor@ instead.
* The deprecated constructors of @RemoveSemanticResourceCommand@ have been removed. Use the variants which takes an additional @IProgressMonitor@ instead.
* The deprecated constructor in @CreateDiagramWithInitialOperation@ has been removed. Use the variant which takes an additional @IProgressMonitor@ instead.
* The deprecated method @SessionManager.addResource(Session, Resource)@ has been removed. Use the @Session.addSemanticResource(URI, IProgressMonitor)@ instead. In code, @mySessionManager.addResource(mySession, myResource)@ should be replaced by @mySession.addSemanticResource(myResource.getURI(), new NullProgressMonitor())@. Notice that this replacement has not the exact same behavior. The notifications @SessionListener.ABOUT_TO_BE_REPLACED@ and @SessionListener.REPLACED@ are not thrown with @addSemanticResource@ contrary to @addResource@. But this kind of notifications is more for reloading of resource.
* The deprecated constructor of @DefaultLocalSessionCreationOperation@ have been removed. Use the variant which takes an additional @IProgressMonitor@ instead.
* The deprecated method @SessionManager.getSession(URI)@ has been removed. Use the variant which takes an additional @IProgressMonitor@ instead.
* The deprecated method @SessionFactory.createSession(URI)@ has been removed. Use the variant which takes an additional @IProgressMonitor@ instead.
* Deprecated class @RefreshRepresentationCommand@ has been removed. Use the class @RefreshRepresentationsCommand@ instead.
* Deprecated classes @RevealSiriusElement@ and  @RevealDDiagramElement@ have been removed. Use the class @RevealDDiagramElements@ instead.
* The deprecated method @DAnalysisSession.save(Map<?, ?>)@ has been removed. Use the variant which takes an additional @IProgressMonitor@ instead.
* The deprecated method @MappingTableEntry.getImporter()@ has been updated. It now returns an optional (@org.eclipse.sirius.common.tools.api.util.Option@) of @MappingTableEntry@.
* The deprecated class @IEMFCommandFactory@ has been removed. It is not used in Sirius code anymore.
* The deprecated method @IDiagramCommandFactory.buildCreateDiagramFromDescription(DiagramDescription, EObject)@ has been removed. Use the variant which takes an additional @IProgressMonitor@ instead.
* The deprecated methods @dispose()@ and @disposeInterpreterRegistry(EObject)@ have been removed from @InterpreterRegistry@. They corresponded to dead code.
* The deprecated method @InterpreterRegistry.prepareImportsFromModelElement(IInterpreter, EObject)@ has been removed. Use @InterpreterRegistry.prepareImportsFromSession(IInterpreter, Session)@ instead. To get @Session@ from @EObject@, you can use @SessionManager.INSTANCE.getSession(EObject)@.
* The deprecated method @SiriusHelper.createDAnalysis()@ has been removed. Use @ViewpointFactory.eINSTANCE.createDAnalysis()@ instead.
* The deprecated method @SessionFactory.createSession(DAnalysis)@ has been removed. It is not intended to be used, but it can be replaced by @SessionFactory.INSTANCE.createSession(analysis.eResource().getURI(), new NullProgressMonitor())@.
* The method @buildDoExecuteDetailsOperation(DSemanticDecorator, RepresentationCreationDescription, String) has been pull up from @ITableCommandFactory@, @ITreeCommandFactory@ and @IDiagramCommandFactory@ to @ICommandFactory@.
* The method @getUserInterfaceCallBack()@ has been pull up from @ITableCommandFactory@ and @ITreeCommandFactory@ to @ICommandFactory@. And @AbstractCommandFactory@ now implements this method.
* The unused reference @allActivatedEdgeMappings@ from @Layer@ and @DiagramDescription@ has been removed from the viewpoint.ecore meta-model. This reference always returns empty list.

h4. Changes in  @org.eclipse.sirius.diagram@

* The deprecated methods @IDiagramEdgeEditPart.refreshPath()@ and @AbstractDiagramEdgeEditPart.refreshPath()@ have been removed. It is not called in Sirius code anymore

h4. Changes in  @org.eclipse.sirius.ecore.extender@

* The deprecated methods @IMetamodelExtender.eDelete(EObject)@, @CompositeMetamodelExtender.eDelete(EObject)@ and @ModelAccessor.eDelete(EObject)@ have been removed. Use the variants which takes an additional @ECrossReferenceAdapter@ instead. This @ECrossReferenceAdapter@ can be null.

h4. Changes in  @org.eclipse.sirius.ui@

* All deprecated methods in @ModelingProjectManager@ have been removed. Use the corresponding versions which take an additional @IProgressMonitor@ parameter instead.
* All deprecated methods in @ViewpointSelection@ have been removed. Use the corresponding versions which take an additional @IProgressMonitor@ parameter instead.
* Deprecated class @org.eclipse.sirius.ui.business.api.control.SiriusControlCommand@ has been removed. Use the class @org.eclipse.sirius.business.api.control.SiriusControlCommand@ instead (same constructor but with an additional @IProgressMonitor@ parameter).
** Ditto for @SiriusUnControlCommand@
* The deprecated method @DialectUIServices.openEditor(Session, DRepresentation)@ has been removed. Use the variant which takes an additional @IProgressMonitor@ instead.
* The deprecated method @SessionHelper.openStartupRepresentations(Session)@ has been removed. Use the variant which takes an additional @IProgressMonitor@ instead.
* The deprecated method @SiriusControlHandler.performControl(Shell, EObject)@ has been removed. Use the variant which takes an additional @IProgressMonitor@ instead.
* The deprecated method @SiriusUncontrolHandler.performUncontrol(Shell, EObject)@ has been removed. Use the variant which takes an additional @IProgressMonitor@ instead.
* New class @AbstractCreateRepresentationFromRepresentationCreationDescription@: Generalization of all @CreateRepresentationFromRepresentationCreationDescription@ classes (iof plug-ins sirius.diagram, sirius.table.ui, sirius.tree.ui).

h4. Changes in @org.eclipse.sirius.table@

* The deprecated method @TableHelper.getCell(DLine, String)@ has been removed. Use the variant which take a DLine and a DColumn as parameters.

h4. Changes in @org.eclipse.sirius.tree@

* The deprecated method @DTreeUserInteraction.refreshContent()@ has been removed. Use the variant which take an additional @IProgressMonitor@ parameter instead.

h2. Changes from Viewpoint 6.9 to Sirius 0.9

h3. Plug-ins version numbers.

As of Sirius 0.9, and probably at least until Sirius 1.0 when the APIs will be more stable, all the bundles share the same version, which is also the version for the feature. If you used versioned dependencies to the old Viewpoint code (e.g. dependencies towards Viewpoint 6.8), you need to adjust the versions in your @MANIFEST.MF@  files in addition to the namespaces.

h3. Major namespace changes

In the context of the move as an official Eclipse project named Sirius, all the namespaces used in the code have changed.

h4. Plug-in and features identifiers

All identifiers have changed to start with the @org.eclipse.sirius@ namespace prefix. The tables below give the mapping between the Viewpoint plug-in and features identifiers and their Sirius equivalent.

|_. Viewpoint 6.x plug-in                     |_. Sirius 0.9 plug-in                      |
| fr.obeo.dsl.common                          | org.eclipse.sirius.common                 |
| fr.obeo.dsl.common.acceleo.mtl              | org.eclipse.sirius.common.acceleo.mtl     |
| fr.obeo.dsl.common.acceleo.mtl.ide          | org.eclipse.sirius.common.acceleo.mtl.ide |
| fr.obeo.dsl.common.ocl                      | org.eclipse.sirius.common.ocl             |
| fr.obeo.dsl.common.ui                       | org.eclipse.sirius.common.ui              |
| fr.obeo.dsl.common.xtext                    | org.eclipse.sirius.common.xtext           |
| fr.obeo.dsl.viewpoint                       | org.eclipse.sirius                        |
| fr.obeo.dsl.viewpoint.diagram               | org.eclipse.sirius.diagram                |
| fr.obeo.dsl.viewpoint.diagram.layoutdata    | org.eclipse.sirius.layoutdata             |
| fr.obeo.dsl.viewpoint.diagram.sequence      | org.eclipse.sirius.sequence               |
| fr.obeo.dsl.viewpoint.diagram.sequence.edit | org.eclipse.sirius.sequence.edit          |
| fr.obeo.dsl.viewpoint.diagram.sequence.ui   | org.eclipse.sirius.sequence.edit.ui       |
| fr.obeo.dsl.viewpoint.doc                   | org.eclipse.sirius.doc                    |
| fr.obeo.dsl.viewpoint.editor                | org.eclipse.sirius.editor                 |
| fr.obeo.dsl.viewpoint.editor.sequence       | org.eclipse.sirius.editor.sequence        |
| fr.obeo.dsl.viewpoint.editor.table          | org.eclipse.sirius.editor.table           |
| fr.obeo.dsl.viewpoint.editor.tree           | org.eclipse.sirius.editor.tree            |
| fr.obeo.dsl.viewpoint.eef.adapters          | org.eclipse.sirius.eef.adapters           |
| fr.obeo.dsl.viewpoint.interpreter           | org.eclipse.sirius.interpreter            |
| fr.obeo.dsl.viewpoint.table                 | org.eclipse.sirius.table                  |
| fr.obeo.dsl.viewpoint.table.ui              | org.eclipse.sirius.table.ui               |
| fr.obeo.dsl.viewpoint.tree                  | org.eclipse.sirius.tree                   |
| fr.obeo.dsl.viewpoint.tree.ui               | org.eclipse.sirius.tree.ui                |
| fr.obeo.dsl.viewpoint.ui                    | org.eclipse.sirius.ui                     |
| fr.obeo.mda.ecore.extender                  | org.eclipse.sirius.ecore.extender         |
| fr.obeo.mda.pim.ecore.design                | org.eclipse.sirius.pim.ecore.design       |
| org.eclipselab.emf.synchronizer             | org.eclipse.sirius.synchronizer           |

|_. Viewpoint 6.x feature                        |_. Sirius 0.9 feature                        |
| fr.obeo.dsl.viewpoint.runtime                  | org.eclipse.sirius.runtime                  |
| fr.obeo.dsl.viewpoint.runtime.acceleo          | org.eclipse.sirius.runtime.acceleo          |
| fr.obeo.dsl.viewpoint.runtime.ide.eef          | org.eclipse.sirius.runtime.ide.eef          |
| fr.obeo.dsl.viewpoint.runtime.ide.ui           | org.eclipse.sirius.runtime.ide.ui           |
| fr.obeo.dsl.viewpoint.runtime.ide.ui.acceleo   | org.eclipse.sirius.runtime.ide.ui.acceleo   |
| fr.obeo.dsl.viewpoint.runtime.ide.xtext        | org.eclipse.sirius.runtime.ide.xtext        |
| fr.obeo.dsl.viewpoint.runtime.ocl              | org.eclipse.sirius.runtime.ocl              |
| fr.obeo.dsl.viewpoint.specifier.ide.ui         | org.eclipse.sirius.specifier.ide.ui         |
| fr.obeo.dsl.viewpoint.specifier.ide.ui.acceleo | org.eclipse.sirius.specifier.ide.ui.acceleo |
| fr.obeo.dsl.viewpoint.doc.feature              | org.eclipse.sirius.doc.feature              |

h4. Java Packages Names

h4. Models namespace URIs

All namespace URIs have also been changed from "http://www.obeo.fr/dsl/viewpoint*" to "http://www.eclipse.org/sirius/".

If you have created VSM file (.odesign) or representations file (.aird) with Viewpoint, the changes of the namespace URIs will be automatically migrated during the loading of your VSM or your representations file. These new nsURIs will be stored physically in the file during the first save. If the file is not saved, the automatic migration will be replayed at the next opening.

h3. Nature ID 

The modeling project has a specific nature (@org.eclipse.sirius.nature.modelingproject@). 
If you have modeling project created with Viewpoint, you must launch the action "Configure/Convert to Modeling Project" to replace old nature id (@fr.obeo.dsl.viewpoint.nature.modelingproject@) by the new one.
If you have many modeling projects to "migrate", you can easily make a script to replace @fr.obeo.dsl.viewpoint.nature.modelingproject@ by @org.eclipse.sirius.nature.modelingproject@ in all @.project@ file of each modeling projects.

h3. Other API Changes

h4. API Added

* Add @IMigrationParticipant.getPackage()@ to return the EPackage to use for the given namespace. This change concerns our internal migration framework. This is useful to handle our namespace changes (from Viewpoint to Sirius).
 
h4. API Removal

* Removed @org.eclipse.sirius.common.tools.api.interpreter.IAcceleoInterpreterVariables@: This interface only defined a single constant, which refered to the syntax of an obsolete version of the Acceleo language.
* Removed @org.eclipse.sirius.common.tools.api.resource.IFileContributorExtension@: This interface only defined a few constants relative to an extension point which does not exist anymore.
* Removed the @org.eclipse.sirius.reconciler@ extension point definition (which used to be defined in the @org.eclipse.sirius@ plug-in): This extension point is not supported anymore (and has not been for a long time).
* Removed all the deprecated methods from @Session@ and replaced the internal calls with the equivalent versions with @IProgressMonitors@. The removed methods are:
pre.. 
void open();
void addSemanticResource(Resource newResource, boolean addCrossReferencedResources);
void addSemanticResource(URI semanticModelURI, boolean addCrossReferencedResources);
void addSemanticResource(URI semanticModelURI, boolean addCrossReferencedResources, IProgressMonitor monitor);
void removeSemanticResource(Resource resource, boolean removeCrossReferencedResources);
void removeSemanticResource(Resource semanticResource);
void save();
void close();
Collection<Viewpoint> getSelectedViewpoints();
void createView(Viewpoint viewpoint, Collection<EObject> semantics);
void createView(Viewpoint viewpoint, Collection<EObject> semantics, boolean createNewRepresentations);
void addSelectedView(DView view) throws IllegalArgumentException;
void removeSelectedView(DView view);

h3. User-Visible Changes

* The ability to print table representations has been disabled for the 0.9 release due to an external dependency issue (see "bug #422223":https://bugs.eclipse.org/bugs/show_bug.cgi?id=422223 for the details). It should be re-introduced in 1.0.
 

Back to the top