This document contains the release notes for older versions of of Sirius.
Sirius 5.0.1 is a maintenance release with only bugfixes and small tweaks to the UI of the aird editor.
package::Class
syntax for domain classes and type names in the VSM is now fully supported and the new default. It means this syntax is interpreted by Sirius and completion is provided for it when the first
:
character is entered. The legacy syntax
package.Class
is still supported for compatibility.
See this document for the complete list of message keys added or removed in Sirius 5.0.
org.eclipse.sirius.common
org.eclipse.sirius.common.tools.api.util.SiriusCrossReferenceAdapterImpl.setFeatureToBeCrossReferencedWhiteList(Collection<EReference>)
to set a white list of references that must be referenced even if the reference is derived.
org.eclipse.sirius.common.tools.api.util.SiriusCrossReferenceAdapterImpl.isIncluded(EReference)
has been overridden to consider features in the white list.
org.eclipse.sirius.common.package_meta_data
has been added. It can be used to associate user-oriented meta-data to Ecore metamodels, identified by their
nsURI
: a user-oriented name/label (as opposed to the technical nsURI), a (short) description/documentation, and a list of suggested EClasses defined in the EPackage that are good candidates as root model elements. These meta-data are currently used only in the generic model creation wizard integrated in the aird editor.
org.eclipse.sirius.common.ui
org.eclipse.sirius.common.ui.tools.api.dialog.FeatureEditorDialog
class has been removed; use the
org.eclipse.emf.edit.ui.celleditor.FeatureEditorDialog
equivalent provided by EMF directly instead.
org.eclipse.sirius
createRepresentationInSeparateResource=true
. That means all new representations will be saved, when this property is enabled, in a separate file with
*.srm
extension.
org.eclipse.sirius.business.api.dialect.DialectServices.canCreate(EObject, RepresentationDescription, boolean)
has been added to better control the checks done by already existing
org.eclipse.sirius.business.api.dialect.DialectServices.canCreate(EObject, RepresentationDescription)
method. The new boolean allow to deactivate the check verifying that the viewpoint of the given description must be activated so the method can return true.
org.eclipse.sirius.viewpoint.description.DAnnotation.references
feature has been added. It allows to have some information without having to search them into the entire model of the Sirius session. Ideally only elements from semantic resources of the session should be referenced or else it may broke the session behavior either because resolving too soon EObject in the session or because adding a resource that is not known by Sirius session.
org.eclipse.sirius.business.api.query.EObjectQuery.getImpactedRepDescriptorFromDAnnotationData()
method has been added to help retrieve the
DRepresentationDescriptors
which owned
DAnnotation
are referencing a given
EObject
with
DAnnotation.references
.
org.eclipse.sirius.viewpoint.DRepresentationDescriptor#repPath
attribute has been added to hold the representation path since the
org.eclipse.sirius.viewpoint.DRepresentationDescriptor#representation
feature is derived. This attribute is not intended to be modified by client. You should use
org.eclipse.sirius.viewpoint.DRepresentationDescriptor.setRepresentation(DRepresentation)
or
org.eclipse.sirius.viewpoint.DRepresentationDescriptor.updateRepresentation(DRepresentation)
instead.
org.eclipse.sirius.viewpoint.DRepresentationDescriptor.updateRepresentation(DRepresentation)
has been added to update the repPath attribute according to the given representation. This method is intended to be called if the representation instance is still the same but requires to recompute the repPath.
org.eclipse.sirius.business.api.query.FileQuery.isSrmFile()
has been added to indicate if the file extension is dedicated to a file containing representations.
org.eclipse.sirius.dRepresentationLocationRule
extension point has been added to customize the resource location of new representations. See
Provide representation location rule (experimental) for more details.
org.eclipse.sirius.business.api.session.danalysis.DRepresentationLocationRule
interface has been added to provide a customized rule to the
org.eclipse.sirius.dRepresentationLocationRule
extension point.
org.eclipse.sirius.business.api.helper.SiriusUtil.REPRESENTATION_FILE_EXTENSION
constant has been added to reference the new *.srm extension.
org.eclipse.sirius.business.api.session.Session.getSrmResources()
has been added to provide the list of representation resources (serialized as *.srm files by default).
org.eclipse.sirius.business.api.query.ResourceQuery.isAirdOrSrmResource()
has been added to know whether the resource is a srm resource (
org.eclipse.sirius.business.api.query.ResourceQuery.isSrmResource()
) or an aird resource.
org.eclipse.sirius.business.api.query.ResourceQuery.isSrmResource()
has been added to know whether the resource contains a
DRepresentation
as root element.
org.eclipse.sirius.diagram.ui.tools.api.migration.DiagramCrossReferencer.DiagramCrossReferencer(Collection<Resource>)
constructor has been added to compute the cross references on a list of resources.
org.eclipse.sirius.modelOperationManager
extension point has been addded. It allows the contribution of new types of
Model Operations which are then usable in modeler definitions (
*.odesign
).
org.eclipse.sirius.viewpoint.DRepresentationDescriptor#representation
feature is now derived, transient and volatile. The representation is compute by using the
org.eclipse.sirius.viewpoint.DRepresentationDescriptor#repPath
attribute.
org.eclipse.sirius.business.api.query.DViewQuery.getAllContentInRepresentations(Predicate<? super EObject>)
now takes a
java.util.Predicate
(from Java 8) as argument instead of a
com.google.common.base.Predicate
.
org.eclipse.sirius.ui.modelingprojectresourcelistener
is no longer expected to be used. It is an internal extension point. Clients using this extension point to ignore some files as potential semantic models must now use the extension point
org.eclipse.sirius.resourceStrategy
. This extension point existed before Sirius 5.0.0 but was not API. It becomes API with Sirius 5.0.0, see the
developer documentation for more details.
boolean isPotentialSemanticResource(IFile)
and
boolean isLoadableModel(IFile, Session)
of class
org.eclipse.sirius.ui.tools.api.views.modelexplorerview.resourcelistener.DefaultModelingProjectResourceListener
, you can now create a
resourceStrategy
of type
org.eclipse.sirius.business.api.resource.strategy.ResourceStrategy.ResourceStrategyType.SEMANTIC_RESOURCE
and respectively override
boolean isPotentialSemanticResource(URI)
and
boolean isLoadableModel(URI,Session)
. As a reminder, to get an URI from an IFile, you can use:
URI.createPlatformResourceURI(iFile.getFullPath().toString(), true)
. And to get an IFile from an URI, you can use:
ResourcesPlugin.getWorkspace().getRoot().getFile(new Path(uri.toPlatformString(true)))
.
boolean isRepresentationsModel(IFile)
and
boolean isVsmModel(IFile)
of class
org.eclipse.sirius.ui.tools.api.views.modelexplorerview.resourcelistener.DefaultModelingProjectResourceListener
, they no longer exist. They correspond to core API and is not supposed to be overridden. They are accessible through API
org.eclipse.sirius.business.api.query.FileQuery.FileQuery(IFile)
.
org.eclipse.sirius.resourceStrategy
are now APIs:
org.eclipse.sirius.business.api.resource.strategy.ResourceStrategyRegistry
: Registry to have access to all overridable services through a
ResourceStrategy
org.eclipse.sirius.business.api.resource.strategy.ResourceStrategy
: Interface implemented by all resource strategies
org.eclipse.sirius.business.api.resource.strategy.AbstractResourceStrategyImpl
: Default implementation of above interface. All resource strategies contributed with the extension need to extend it.
org.eclipse.sirius.business.api.resource.strategy.LegacyReleaseResourceStrategyImpl
(previously named
DefaultResourceStrategyImpl
): A resource strategy with the code used before the optimization concerning the
org.eclipse.sirius.business.api.resource.strategy.ResourceStrategy.ResourceStrategyType.RELEASE_RESOURCE_AT_RESOURCESET_DISPOSE
. It is not used but can be quickly contributed by someone that want the previous behavior (before Sirius 4.0.0 M6).
org.eclipse.sirius.business.api.control.SiriusUncontrolCommand
with signature
SiriusUncontrolCommand(EObject, boolean, IProgressMonitor)
has been removed; instead, use the alternate constructor with an additional explicit
boolean shouldEndBySaving
parameter (set it to
true
to obtain the same behavior as the removed constructor).
org.eclipse.sirius.business.api.dialect.DialectServices
, methods
canCreateIdentifier
and
createIdentifier
have been removed.
org.eclipse.sirius.business.api.dialect.identifier
package and all its content (
AbstractRepresentationElementIdentifier
and
RepresentationElementIdentifier
) have been removed.
org.eclipse.sirius.ui
org.eclipse.sirius.ui.business.api.viewpoint.ViewpointSelection.Callback
:
selectViewpoint(Viewpoint, Session, boolean, Set<Viewpoint>, IProgressMonitor)
and
deselectViewpoint(Viewpoint, Session, Set<Viewpoint>, IProgressMonitor)
. These methods add a new parameter that is a set of viewpoints compared to the same methods without these parameters. These set contains all viewpoints that will be deactivated/activated in addition of the one that is asked to be deactivated/activated. It allows the callback implementation to better handle viewpoint dependencies interaction by being able to know if missing dependencies will be activated or deactivated.
org.eclipse.sirius.ui.business.api.editor.ISiriusEditor
has been added to gather
org.eclipse.sirius.ui.editor.SessionEditor
and
org.eclipse.sirius.ui.business.api.dialect.DialectEditor
under the same abstraction. It allows to provide
org.eclipse.sirius.ui.business.api.session.IEditingSession
saving functionalities for session editor or any new editor that is not a dialect editor.
getSiriusEditors()
has been added to interface
org.eclipse.sirius.ui.business.api.session.IEditingSession
. It allows to retrieve all
org.eclipse.sirius.ui.business.api.editor.ISiriusEditor
that are registered in the session.
org.eclipse.sirius.ui.business.api.dialect.DialectUIServices.refreshEditor(DialectEditor, IProgressMonitor)
has been added to allow specifiers to do a full refresh of its dialect editor easily.
org.eclipse.sirius.ui.tools.api.color.VisualBindingManager.getDefaultFontWithRuntimeSizeAndFromLabelFormat(List<FontFormat>)
has been added to allow to retrieve a font using the given format and the default Sirius font (arial) and the runtime height.
org.eclipse.sirius.ui.tools.api.color.VisualBindingManager.getFontFromNameAndLabelFormatAndWithDefaultSize(List<FontFormat>, String)
has been added to allow to retrieve a font using the given format and the given font name and the runtime height.
org.eclipse.sirius.ui.tools.api.wizards.page.ViewpointsSelectionWizardPage.setBrowserMinWidth(int)
has been added to allow modification of the minimum width (with default value “0”) of the browser part of the viewpoint selection wizard.
org.eclipse.sirius.ui.tools.api.wizards.page.ViewpointsSelectionWizardPage.setColumnWidthEquality(boolean)
has been added to allow modification of column width equality (with default value “false”) of the root composite of the viewpoint selection wizard.
org.eclipse.sirius.ui.tools.api.color.VisualBindingManager.getDefaultFontWithRuntimeSizeAndFromLabelFormat(List<FontFormat>)
has been added to allow to retrieve a font using the given format and the default Sirius font (arial) and the runtime height.
org.eclipse.sirius.ui.tools.api.color.VisualBindingManager.getFontFromNameAndLabelFormatAndWithDefaultSize(List<FontFormat>, String)
has been added to allow to retrieve a font using the given format and the given font name and the runtime height.
org.eclipse.sirius.ui.tools.api.dialogs.AbstractExportRepresentationsAsImagesDialog.isExportDecorations()
has been added to know if decorations are displayed in the exported image.
org.eclipse.sirius.ui.business.api.dialect.DialectUIServices.export(DRepresentation, Session, IPath, ExportFormat, IProgressMonitor, boolean)
method has been added. Compared to the previous method signature, the boolean parameter
exportDecorations
has been added to allow to choose if the diagram element decorations will be exported or not.
exportDecorations
has been added to
org.eclipse.sirius.ui.tools.api.actions.export.ExportAction.ExportAction(Session, Collection<DRepresentation>, IPath, ImageFileFormat, boolean, boolean)
constructor. It allows to choose if the diagram element decorations will be exported or not.
attachEditor(DialectEditor)
from the interface
org.eclipse.sirius.ui.business.api.session.IEditingSession
has its parameter type modified from
DialectEditor
to the new abstraction
ISiriusEditor
to provide saving capabilities with other editors than the dialect ones.
detachEditor(DialectEditor)
from the interface
org.eclipse.sirius.ui.business.api.session.IEditingSession
has its parameter type modified from
DialectEditor
to the new abstraction
ISiriusEditor
to provide saving capabilities with other editors than the dialect ones.
detachEditor(DialectEditor, boolean)
from the interface
org.eclipse.sirius.ui.business.api.session.IEditingSession
has its first parameter type modified from
DialectEditor
to the new abstraction
ISiriusEditor
to provide saving capabilities with other editors than the dialect ones.
org.eclipse.sirius.ui.tools.api.assist.TextContentProposalProvider.getContentContext(String, int)
has been made protected instead of private to allow to use it for sub types.
org.eclipse.sirius.ui.tools.api.assist.TextContentProposalProvider.removeDuplicatedProposals(List<ContentProposal>)
has been made protected instead of private to allow to use it in sub types.
org.eclipse.sirius.ui.tools.api.project.ModelingProjectManager.createLocalRepresentationsFile(IProject, IProgressMonitor)
has its return type changed from
void
to
Session
to allow callers to have access to the newly created session directly.
org.eclipse.sirius.ui.tools.api.views.ViewHelper.getContentProvider()
has been renamed into
createContentProvider()
and now returns a new instance on each invocation.
org.eclipse.acceleo.ui.interpreter
, which is available directly from the Sirius update-sites). The corresponding interface
org.eclipse.sirius.ui.tools.api.views.interpreterview.InterpreterView
has been removed. Technically, the implementation code for the old
Model Request Interpreter view is still present if needed during the transition, but not exposed or used anywhere. It will be removed in a future version.
org.eclipse.sirius.diagram
org.eclipse.sirius.diagram.business.api.helper.decoration.DecorationHelper
has been added. It provides
updateDecorations(List<Layer>)
and
updateAllDecorations
methods that allow to update only decorations in a diagram.
org.eclipse.sirius.diagram.business.api.refresh.IRefreshOverride.aroundRefresh(DDiagram)
has been moved to
org.eclipse.sirius.diagram.business.api.refresh.IRefreshExtension
to unify methods handling refresh extension under one interface.
org.eclipse.sirius.diagram.business.api.refresh.IRefreshExtension.aroundRefresh(DDiagram)
has been modified with a default behavior that is the one before introduction of the method to avoid breaking compatibility.
org.eclipse.sirius.diagram.business.api.refresh.IRefreshOverride
has been removed because its only method has been moved into
org.eclipse.sirius.diagram.business.api.refresh.IRefreshExtension
interface
org.eclipse.sirius.diagram.business.internal.dialect.identifier
package and all its content (
DiagramIdenttifier
,
NodeIdentifier
,
EdgeIdentifier
,
NodeContainerIdentifier
, and
NodeStyleIdentifier
) have been removed.
org.eclipse.sirius.diagram.ui
org.eclipse.sirius.diagram.ui.business.api.query.ViewQuery.SPECIFIC_STYLES
&
org.eclipse.sirius.diagram.ui.business.api.query.ViewQuery.VERTICAL_ALIGNMENT
have been added to retrieve the initial label alignment of Notes from the Palette (see
user-visible changes ). Currently the vertical alignment can not be changed (potential new feature later).
org.eclipse.sirius.diagram.ui.graphical.edit.policies.SiriusDecoratorEditPolicy
has been added to improve the behavior of decorator selection.
IDecorator
to decorate EditPart in diagram. That allows Sirius to manage the relative positioning between decorations.
org.eclipse.sirius.diagram.ui.tools.api.decoration.SiriusDecorationDescriptorProvider
represents a provider able to give the decoration descriptors.
org.eclipse.sirius.diagram.ui.tools.api.decoration.AbstractSiriusDecorationDescriptorProvider
is an abstract class that can be inherited to implement
SiriusDecorationDescriptorProvider
.
org.eclipse.sirius.diagram.ui.tools.api.decoration.DecorationDescriptor
is a simple POJO that contains information needed to display decoration.
org.eclipse.sirius.diagram.ui.tools.api.decoration.SiriusDecorationProviderRegistry
allows to register and get
SiriusDecorationDescriptorProvider
.
SiriusDiagramUiPreferencesKeys.PREF_AUTHORIZE_DECORATION_OVERLAP
has been added in
org.eclipse.sirius.diagram.ui.tools.api.preferences.SiriusDiagramUiPreferencesKeys
. If true, the overlap is authorized between decoration group on diagram element.
org.eclipse.sirius.diagram.ui.provider.DiagramUIPlugin.Implementation.DynamicDiagramUIPreferences
and the method
org.eclipse.sirius.diagram.ui.provider.DiagramUIPlugin.Implementation.getDynamicPreferences()
have been added to have good performances in getting the preference value.
SiriusDiagramUiPreferencesKeys.PREF_PRINT_DECORATION
has been added in
org.eclipse.sirius.diagram.ui.tools.api.preferences.SiriusDiagramUiPreferencesKeys
. If true, the decorations of the diagram elements of a diagram will be printed, when printing a diagram.
org.eclipse.sirius.diagram.ui.tools.api.part.DiagramEditPartService.DiagramEditPartService
class which can be used to export diagrams as images is now automatically adapting the output resolution for raster image based on maximum buffer size specified through the
plugin.propeties
file of the
org.eclipse.sirius.diagram.ui
plugin. This leads to a noticeable increase of the export image size (you can expect a 10 factor on small diagrams) and the method will no longer fail with OutOfMemory errors as bigger diagrams will lead to a lower output resolution. Implementers using this class can override the
DiagramEditPartService.getMaximumTotalSize()
method to return their own limit or
DiagramEditPartService.getExportResolutionFactor(DiagramEditPart, SiriusDiagramImageGenerator)
and return
1.0
to get back to the previous behavior.
org.eclipse.sirius.diagram.ui.tools.api.format.SiriusFormatDataManagerWithMapping
that are
getFormatData(FormatDataKey, RepresentationElementMapping)
and
addFormatData(FormatDataKey, RepresentationElementMapping, AbstractFormatData)
have been moved into the interface
org.eclipse.sirius.diagram.ui.tools.api.format.SiriusFormatDataManager
to reduce interface numbers for less complexity.
org.eclipse.sirius.diagram.ui.tools.api.format.SiriusFormatDataManagerWithMapping
that are
getFormatData(FormatDataKey, RepresentationElementMapping)
and
addFormatData(FormatDataKey, RepresentationElementMapping, AbstractFormatData)
have been moved into the interface
org.eclipse.sirius.diagram.ui.tools.api.format.SiriusFormatDataManager
to reduce interface numbers for less complexity.
getFormatData(FormatDataKey key)
and
addFormatData(FormatDataKey key, AbstractFormatData formatData)
have been removed from interface
org.eclipse.sirius.diagram.ui.tools.api.format.SiriusFormatDataManager
because they were deprecated.
org.eclipse.sirius.diagram.ui.tools.api.format.SiriusFormatDataManagerWithMapping
has been removed because all its methods have been moved into interface
org.eclipse.sirius.diagram.ui.tools.api.format.SiriusFormatDataManager
org.eclipse.sirius.diagram.ui.tools.api.decoration.AbstractSiriusDecorator
is removed because now useless.
getFormatData(FormatDataKey key)
and
addFormatData(FormatDataKey key, AbstractFormatData formatData)
have been removed from interface
org.eclipse.sirius.diagram.ui.tools.api.format.SiriusFormatDataManager
because they were deprecated.
org.eclipse.sirius.diagram.ui.tools.api.format.SiriusFormatDataManagerWithMapping
has been removed because all its methods have been moved into interface
org.eclipse.sirius.diagram.ui.tools.api.format.SiriusFormatDataManager
org.eclipse.sirius.table
DTableElementSynchronizer
EClass has been removed from the table meta-model. It only defined
EOperations and has been replaced with an equivalent (internal) plain Java class.
org.eclipse.sirius.tree.ui
org.eclipse.sirius.tree.ui.tools.api.preferences.SiriusTreeUiPreferencesKeys
has been added with the enum value
SiriusTreeUiPreferencesKeys.PREF_ALWAYS_USE_STANDARD_FONT_SIZE
. This enum value is the preference when true allowing to use runtime font height when displaying Sirius tree editor’s items instead of the one specified in the VSM.
org.eclipse.sirius.ui.editor
This plugin is new in Sirius 5.0. It provides a session editor showing loaded models, representations and viewpoint activation status of the session. It has functionalities allowing to change the viewpoint activation status, to create/remove representations or to load unload external models. The graphical block showing loaded models is integrated with CNF. You can provide content extension to its viewer by using an id matching the pattern
org.eclipse.sirius.ui.editor.graphicalcomponents.semanticModelsViewer.contentExtension.*
. You also can provide action extension by using an id matching the pattern
org.eclipse.sirius.ui.editor.graphicalcomponents.semanticModelsViewer.actionExtension.*
. The extension will be selectable/unselectable by using a
Customize View
button on the models block header.
org.eclipse.sirius.properties.core
org.eclipse.sirius.properties.core.internal.converter.ViewDescriptionConverter
has been moved as an API to
org.eclipse.sirius.properties.core.api.ViewDescriptionConverter
.
org.eclipse.sirius.properties.core.api
.
org.eclipse.sirius.properties.core.internal.SiriusInterpreter
has been moved as an API to
org.eclipse.sirius.properties.core.api.SiriusInterpreter
. This class could be used by those who want to create custom model operations using the Properties framework.
org.eclipse.sirius.properties.core.api.SiriusDomainClassTester
has been added as an API for those who want to create custom model operations using the Properties framework.
org.eclipse.sirius.ext.emf.edit.EditingDomainServices.createInstance(EClass)
has been added to allow the creation of a new instance from an EClass in the interpreters.
org.eclipse.sirius.properties.defaultrules
.
org.eclipse.sirius.ui.properties
org.eclipse.sirius.ui.properties
to the newly created plugin
org.eclipse.sirius.properties.core
. It includes all the APIs and both extension points.
org.eclipse.sirius.editor.properties
org.eclipse.sirius.editor.properties.sections.description.representationdescription
the class
RepresentationDescriptionMetamodelsUpdater
has been replaced by
DescriptionMetamodelsUpdater
which can now be used with any EObject with a many-valued EReference to EPackages. The behavior of the class
RepresentationDescriptionMetamodelPropertySectionSpec
has been transfered to an abstract class independent of
RepresentationDescription
named
AbstractMetamodelPropertySectionSpec
. Those classes are now used for the edition of the metamodels of both the Properties view description and the various representations.
org.eclipse.sirius.tests.junit.support
org.eclipse.sirius.tests.support.api.TestsUtil.setTargetPlatform()
has been added to allow to load a PDE target platform according to all known OSGi bundles. It is useful to compile a plug-in in the execution runtime of the tests.
org.eclipse.sirius.tests.support.api.OpenedSessionsCondition
has been extracted from a junit test to be used by multiple junit tests. It allows to wait until a session is in opened state.
org.eclipse.sirius.tests.swtbot.support
getTreeItem(SWTBotTreeItem[], String, boolean, boolean)
has been added in
org.eclipse.sirius.tests.swtbot.support.utils
to retrieve recursively a
SWTBotTreeItem
in a
SWTBotTreeItem
array. Compared to
getTreeItem(SWTBotTreeItem[], String)
, it adds the capability to control if the search must be done on enabled items or enabled and disabled items and if the tree must be expanded during the search to check non displayed items.
org.eclipse.sirius.tests.swtbot.support.api.editor.SWTBotSiriusDiagramEditor.dragCentered(String, Class<? extends EditPart>, int, int)
improving the dragCentered method by adding the aimed Class in parameter.
mouseDragWithKey(int, int, int, int, int)
in classes
org.eclipse.sirius.tests.swtbot.support.api.editor.SWTBotSiriusDiagramEditor
,
org.eclipse.sirius.tests.swtbot.support.api.editor.SWTBotSiriusGefViewer
and
org.eclipse.sirius.tests.swtbot.support.api.widget.SWTBotSiriusFigureCanvas
. This allows to correctly wait the end of the drag’n’drop.
final AtomicBoolean dragFinished = new AtomicBoolean(false); editor.dragWithKey(start.x, start.y, endpoint.x, endpoint.y, SWT.F3, dragFinished); // Wait that the drag is done (the async Runnable simulating the // drag) bot.waitUntil(new ICondition() { @Override public boolean test() throws Exception { return dragFinished.get(); } @Override public void init(SWTBot bot) { } @Override public String getFailureMessage() { return "The drag'n'drop operation has not finished."; } }); // Wait that the figures are redrawn. In a fast environment, figures // are not really redrawn and the rest of the test is not reliable. SWTBotUtils.waitAllUiEvents();
org.eclipse.sirius.diagram.ui.tools.api.format.SiriusFormatDataManagerWithMapping
class has been added to handle copy/paste format with mapping information when an element target of a format pasting has many source diagram format corresponding to its key. In this case, we use the mapping information to get the more precise data format. And if no result matched, then we return the first found by using the key.
org.eclipse.sirius.diagram.ui.tools.api.format.SiriusFormatDataManagerWithMapping.getFormatData(FormatDataKey, RepresentationElementMapping)
method has been added to retrieve during format pasting the data format corresponding to the given key and mapping when more than one result correspond to the key. If no result matches the mapping, then the first result found by using the key is returned.
org.eclipse.sirius.diagram.ui.tools.api.format.SiriusFormatDataManagerWithMapping.addFormatData(FormatDataKey, RepresentationElementMapping, AbstractFormatData)
method has been added to allow data format manager to register data format with mapping information when copying format.
org.eclipse.sirius.diagram.ui.tools.api.format.SiriusFormatDataManager.getFormatData(FormatDataKey)
It is replaced by
org.eclipse.sirius.diagram.ui.tools.api.format.SiriusFormatDataManagerWithMapping.getFormatData(FormatDataKey, RepresentationElementMapping)
to better handle copy/paste format cases.
org.eclipse.sirius.diagram.ui.tools.api.format.SiriusFormatDataManager.addFormatData(FormatDataKey, AbstractFormatData)
It is replaced by
org.eclipse.sirius.diagram.ui.tools.api.format.SiriusFormatDataManagerWithMapping.addFormatData(FormatDataKey, RepresentationElementMapping, AbstractFormatData)
to better handle copy/paste format cases.
org.eclipse.sirius.table.business.api.helper.TableHelper.getEStructuralFeature(DLine, DColumn)
method has been added to retrieve the EStructuralFeature associated to a table column.
UICallBack
in which you can have an UI feedback letting you choose if you want to open the session anyway. Warning: if you choose to proceed, there is no guarantee that the resulting session will be usable. It may even lead to data loss or corruption; use at your own risk.
If a viewpoint has been defined with a more recent version of Sirius than the one you are using, the
ViewpointRegistry
will not register it and a warning is logged in the error log view to inform the user.
displayExpression
, if blank the result of the value expression will be used after a call to the method
java.lang.Object#toString()
.
preconditionExpression
, which behaves in the same way as preconditions for mappings on representation descriptions.
fontSize
and
labelFontSize
have been renamed into
fontSizeExpression
and
labelFontSizeExpression
since both of them were already treated as expression.
Domain Class Expression
in
DynamicMappingFor
elements (in properties views definitions) has been renamed into
Iterable Expression
.
org.eclipse.sirius.diagram.ui.layoutDataManager
is deprecated. It is replaced by the new extension point
org.eclipse.sirius.diagram.ui.formatDataManager
. The deprecated extension point will be removed in the next 5.0 Sirius major release. Several classes associated with this deprecated extension point are also deprecated (see Developer-Visible Changes for details).
org.eclipse.sirius.viewpoint.DView.getOwnedRepresentationDescriptors()
has been added as a wrapper of the
DRepresentation
. The
DRepresentationDescriptor
is contained by the
DView
and the
DRepresentationDescriptor
have a reference to the
DRepresentation
. In this step, the main impact is that the Sirius common navigator does not display the
DRepresentation
anymore but the
DRepresentationDescriptor
instead. All the actions and commands are then based on
DRepresentationDescriptor
.
org.eclipse.sirius.viewpoint.DView.getOwnedRepresentations()
has been removed. The
DRepresentation
is now created as root element of the representations resource. The main impact is on the core of Sirius but also potentially on client Sirius customization. Each peace of code that makes the supposition that the
DView
is the container of the
DRepresentation
must be reworked. The code using methods in the following list may be concerned by the rework:
EObject.eContainer()
. If the object is a
DRepresentation
, its container is now null.
EcoreUtil.getRootContainer(xxx)
. The root container of a DDiagramElement is the
DRepresentation
and not the
DAnalysis
any more.
EcoreUtil.isAncestor(xxx)
. the
DView
is not an ancestor of a
DRepresentation
(or its content) anymore.
org.eclipse.sirius.business.api.query.DViewQuery.getLoadedRepresentations()
replaces the removed
DView.getOwnedRepresentations()
method. It provides all the loaded representations holds by a
DView
. In this step, all that representations are always loaded as they are into the .aird resource.
org.eclipse.sirius.business.api.query.DViewQuery.getAllContentInRepresentations(final Predicate<? super EObject>)
provides the content of a
DView
according to a predicate.
org.eclipse.sirius.business.api.query.DRepresentationQuery.getRepresentationDescriptor()
provides the
DRepresentationDescriptor
which references the
DRepresentation
.
org.eclipse.sirius.business.api.query.EObjectQuery.getDAnalysis()
allows to retrieve a DAnalysis from a
DRepresentationElement
org.eclipse.sirius
org.eclipse.sirius.interpretedExpressionQueryProvider
(with the associated new interface
org.eclipse.sirius.business.api.dialect.description.IInterpretedExpressionQueryProvider
) allows external contribution of
IInterpretedExpressionQuery
specific to some particular expression occurrences in the VSM. This is used in particular for VSM extensions which do not fit well into the hard-coded assumptions about
IInterpretedExpressionQuery
. In Sirius 4.1, this is used to add completion and validation support for expressions used in properties views descriptions.
org.eclipse.sirius.business.api.migration.AirdResourceVersionMismatchException
exception has been added to cancel Sirius session opening due to an .aird version mismatch, i.e. when one the of the loaded Representation resources is coming from a newer Sirius release.
org.eclipse.sirius.viewpoint.DView.getOwnedRepresentationDescriptors()
has been added as the first step to save the DRepresentation in its own resource. In this step, the DRepresentationDescriptor life cycle is the same as the associated DRepresentation.
org.eclipse.sirius.business.api.dialect.command.RenameRepresentationCommand
org.eclipse.sirius.business.api.dialect.command.DeleteRepresentationCommand
org.eclipse.sirius.business.api.dialect.command.MoveRepresentationCommand
org.eclipse.sirius.business.api.dialect.command.CopyRepresentationCommand
getAvailableRepresentationDescriptions(Collection<Viewpoint>, EObject)
,
getAllRepresentationDescriptors(Session )
,
getRepresentationDescriptors(EObject, Session)
and
getRepresentationDescriptors(RepresentationDescription, Session )
have been added in
org.eclipse.sirius.business.api.dialect.DialectServices
and implemented in
org.eclipse.sirius.business.api.dialect.AbstractRepresentationDialectServices
. These methods are used, instead of their equivalent with DRepresentation, for every functionality which relies on
DRepresentationDescriptor
instead of
DRepresentation
such as actions, wizards or views.
org.eclipse.sirius.business.api.dialect.AbstractRepresentationDialectServices.isSupported(DRepresentationDescriptor)
has been added because actions, wizards or views that were related to
DRepresentation
are now related to
DRepresentationDescriptor
.
org.eclipse.sirius.ui.business.api.dialect.DialectUIServices.canHandle(DRepresentationDescriptor)
has been added because actions, wizards or views that were related to
DRepresentation
are now related to
DRepresentationDescriptor
.
org.eclipse.sirius.ui.business.api.dialect.DialectUIManager.canExport(DRepresentationDescriptor, ExportFormat)
has been added because actions, wizards or views that were related to
DRepresentation
are now related to
DRepresentationDescriptor
.
org.eclipse.sirius.business.api.query.DRepresentationQuery.getRepresentationDescriptor()
has been added to retrieve the
DRepresentationDescriptor
that references the
DRepresentation
.
org.eclipse.sirius.business.api.session.CustomDataConstants.DREPRESENTATION_DESCRIPTOR_FROM_DESCRIPTION
and
org.eclipse.sirius.business.api.session.CustomDataConstants.DREPRESENTATION_DESCRIPTOR
have been added. They are used to get or put
DRepresentationDescriptor
in the model managed by the
Session
through the
org.eclipse.sirius.business.api.session.SessionService.putCustomData(String, EObject, EObject)
and
SessionService.getCustomData(String, EObject)
methods.
org.eclipse.sirius.business.api.query.EObjectQuery.getDAnalysis()
has been added to retrieve a DAnalysis from a
DRepresentationElement
org.eclipse.sirius.business.api.session.danalysis.DAnalysisSessionHelper.findContainerForAddedRepresentation(DAnalysis, DRepresentation)
has been changed to
findDViewForRepresentationDescription(DAnalysis , final RepresentationDescription)
because that API was previously badly defined.
org.eclipse.sirius.business.api.dialect.DialectServices.deleteRepresentation(DRepresentation, Session)
has been changed to
deleteRepresentation(DRepresentationDescriptor, Session)
because now the
DRepresentationDescriptor
is the entry point to delete the
DRepresentation
and itself.
DRepresentationDescriptor
is now the entry point to move, control or uncontrol a
DRepresentation
instead of the
DRepresentation
itself. Accordingly, the return type or parameter of the followings have changed to switch from
DRepresentation
to
DRepresentationDescriptor
org.eclipse.sirius.business.api.control.SiriusControlCommand
org.eclipse.sirius.business.api.dialect.command.MoveRepresentationCommand.MoveRepresentationCommand(Session, DAnalysis, Collection<DRepresentationDescriptor>)
org.eclipse.sirius.business.api.session.danalysis.DAnalysisSession.moveRepresentation(DAnalysis, DRepresentationDescriptor)
org.eclipse.sirius.business.api.session.danalysis.DAnalysisSessionHelper.updateModelsReferences(DView)
has replaced
updateModelsReferences(DAnalysis, Iterator<DSemanticDecorator>)
because it is more suited to the client needs.
org.eclipse.sirius.ui
org.eclipse.sirius.ui.business.api.dialect.HierarchyLabelProvider
has been added to provide a generic label provider for VSM model element giving hierarchical label. This label provider replaces the one returned by deprecated method
DialectUIServices.getHierarchyLabelProvider()
.
AbstractSWTCallback
provides a default implementation of
UICallBack.askSessionReopeningWithResourceVersionMismatch()
method to give feedback about version mismatch and give the choice to reopen session despite a potential corruption.
org.eclipse.sirius.ui.tools.api.control.SiriusControlHandler.getRepresentationsToMove(Shell, Session, EObject)
and
SiriusControlHandler.collectExistingRepresentations
have been renamed to
getRepresentationDescriptorsToMove(Shell, Session, EObject)
and
SiriusControlHandler.collectExistingRepresentationDescriptors
. The return type of both that methods and
SiriusControlHandler.askUserWhichRepresentationToSplit
has been changed to
DRepresentationDescriptor
as
DRepresentationDescriptor
is the entry point to work with a
DRepresentation
instead of DRepresentation itself.
org.eclipse.sirius.ui.business.api.dialect.DialectUIServices.getHierarchyLabelProvider()
has been deprecated in favor of generic label provider
HierarchyLabelProvider
.
org.eclipse.sirius.diagram
org.eclipse.sirius.diagram.business.api.diagramtype.IDiagramDescriptionProvider.allowsCopyPasteFormat(DSemanticDecorator)
has been added in replacement of
allowsCopyPasteLayout(DSemanticDecorator)
that is now deprecated. This 2 methods must return the same result.
allowsCopyPasteLayout(DSemanticDecorator)
will be removed in the new major version.
org.eclipse.sirius.diagram.ui
EDGE_SNAP_BACK
has been added in class
org.eclipse.sirius.diagram.ui.tools.api.ui.actions.ActionIds
. It corresponds to the new snap back label action id that is present on edges.
org.eclipse.sirius.diagram.ui.tools.api.layout.SiriusLayoutDataManager
(and also in
org.eclipse.sirius.diagram.ui.tools.api.layout.AbstractSiriusLayoutDataManager
):
applyFormat(IGraphicalEditPart)
: Apply the current format data (layout data and style data) to the given edit part.
applyStyle(IGraphicalEditPart)
: Apply the current style data to the give edit part.
org.eclipse.sirius.diagram.ui.tools.api.editor.tabbar.AbstractTabbarContributor
:
createCopyFormatContribution(IDiagramWorkbenchPart)
: In replacement of
createCopyLayoutContribution(IDiagramWorkbenchPart)
that is now deprecated.
createPasteFormatContribution(IDiagramWorkbenchPart)
: In replacement of
createPasteLayoutContribution(IDiagramWorkbenchPart)
that is now deprecated.
org.eclipse.sirius.diagram.ui.tools.api.ui.actions.ActionIds
:
COPY_FORMAT
: Action contribution id for the copy format. It replaces the old
COPY_LAYOUT
.
PASTE_FORMAT
: Action contribution id for the paste format. It does not replace the old
PASTE_LAYOUT
. The paste format paste the layout and the style. The paste layout only paste layout.
PASTE_STYLE
: Action contribution id for the paste style.
org.eclipse.sirius.diagram.ui.business.api.query.NodeQuery.isDescendantOf(View)
has been added to know if a view is a descendant of another view.
org.eclipse.sirius.diagram.ui.business.api.query.ViewQuery.getAncestor(int...)
has been added to retrieve the first ancestor of the view, or itself, that has at least one of the visualID passed as parameter.
PREF_SHOW_LINK_EDGE_LABEL_ON_SELECTION
has been added in
org.eclipse.sirius.diagram.ui.tools.api.preferences.SiriusDiagramUiPreferencesKeys
. It corresponds to the preference shown in
Sirius/Sirius Diagram/Connections Eclipse preferences.
org.eclipse.sirius.diagram.ui.tools.api.figure.SiriusWrapLabelWithAttachment
is a specific
SiriusWrapLabel
that allows to show an attachment between the label and its edge.
org.eclipse.sirius.diagram.ui.tools.api.requests.StraightenToRequest
, has been added to handle the new
Straighten to actions. The corresponding id has also been added:
org.eclipse.sirius.diagram.ui.tools.api.requests.RequestConstants.REQ_STRAIGHTEN
.
org.eclipse.sirius.diagram.ui.tools.api.ui.actions.ActionIds
:
STRAIGHTEN_TO_TOP
: For
Straighten to top action,
STRAIGHTEN_TO_BOTTOM
: For
Straighten to bottom action,
STRAIGHTEN_TO_LEFT
: For
Straighten to left action,
STRAIGHTEN_TO_RIGHT
: For
Straighten to right action.
org.eclipse.sirius.diagram.ui.tools.api.image.DiagramImagesPath
for the icon path of the four new straighten actions.
org.eclipse.sirius.diagram.ui.tools.api.layout.AbstractSiriusLayoutDataManager
is deprecated, use
org.eclipse.sirius.diagram.ui.tools.api.format.AbstractSiriusFormatDataManager
instead.
org.eclipse.sirius.diagram.ui.tools.api.layout.ILayoutDataManagerProvider
is deprecated, use
org.eclipse.sirius.diagram.ui.tools.api.format.IFormatDataManagerProvider
instead.
org.eclipse.sirius.diagram.ui.tools.api.layout.LayoutDataHelper
is deprecated, use
org.eclipse.sirius.diagram.ui.tools.api.format.FormatDataHelper
instead.
org.eclipse.sirius.diagram.ui.tools.api.layout.LayoutDataKey
is deprecated, use
org.eclipse.sirius.diagram.ui.tools.api.format.FormatDataKey
instead.
org.eclipse.sirius.diagram.ui.tools.api.layout.SiriusLayoutDataManager
is deprecated, use
org.eclipse.sirius.diagram.ui.tools.api.format.SiriusFormatDataManager
instead.
org.eclipse.sirius.diagram.ui.tools.api.layout.SiriusLayoutDataManagerForSemanticElementsFactory
is deprecated, use
org.eclipse.sirius.diagram.ui.tools.api.format.SiriusFormatDataManagerForSemanticElementsFactory
instead.
HierarchyLabelProvider_elementWihtoutNameLabel
has been removed from the
org.eclipse.sirius.diagram.ui
plug-in’s
Messages
class, and moved into the
org.eclipse.sirius.ui
's
Messages
class.
org.eclipse.sirius.ext.gmf.runtime
SiriusSnapFeedbackPolicy
has been copied from
org.eclipse.sirius.ext.gef.editpolicies
to
org.eclipse.sirius.ext.gmf.runtime.editpolicies
. The old class in plug-in
org.eclipse.sirius.ext.gef
is deprecated and will be removed in the next version.
org.eclipse.sirius.tests.junit.support
getRepresentationDescriptors(final String)
,
getRepresentationDescriptors(final String , final Session )
and
getRepresentationDescriptorFromRepresentation(DRepresentation)
have been added in class
org.eclipse.sirius.tests.support.api.SiriusTestCase
to adapt tests considering the
DView.ownedRepresentationDescriptors
addition.
org.eclipse.sirius.tests.swtbot.support
mouseScrollWithKey(int, int, int, int)
, has been added in classes
org.eclipse.sirius.tests.swtbot.support.api.editor.SWTBotSiriusDiagramEditor
,
org.eclipse.sirius.tests.swtbot.support.api.editor.SWTBotSiriusGefViewer
and
org.eclipse.sirius.tests.swtbot.support.api.widget.SWTBotSiriusFigureCanvas
to allow testing events occurring after a mouse scroll combined to a keyboard key pressed at a given absolute position.
org.eclipse.sirius.properties
domainClassExpression
has been renamed into
iterableExpression
.
fontSize
and
labelFontSize
have been renamed into
fontSizeExpression
and
labelFontSizeExpression
since both of them were already treated as expression.
org.eclipse.sirius.ui.properties
org.eclipse.sirius.ui.properties.api
in order to help with the transformation of the description of custom widgets. The class
AbstractDescriptionConverter
can now be used as superclass for all the converters. The classes
DefautDescriptionConverter
,
DefautStyleDescriptionConverter
and
DefautDescriptionWithInitialOperationConverter
, now accessible, should handle most of the use cases.
org.eclipse.sirius.ecore.extender
org.eclipse.sirius.ecore.extender.business.api.permission.exception.LockedInstanceException.PERMISSION_ISSUE_MESSAGE
has been modified. You should now use the
MessageFormat
. Example:
LockedInstanceException.PERMISSION_ISSUE_MESSAGE + getText(lockedElements)
must be replaced by
MessageFormat.format(LockedInstanceException.PERMISSION_ISSUE_MESSAGE, getText(lockedElements))
.
org.eclipse.sirius.ecore.extender.business.api.accessor.ModelAccessorsRegistry
has been refactored to avoid problem with
ModelAccessor
lifecycle. The constructor has no longer a parameter.
IPermissionAuthority
, the properties view will not be editable if this locked object is selected from the Model Explorer view.
Apply Appearance Properties
action has been modified to use the last selected element as base style instead of the first one.
org.eclipse.sirius.properties.feature.feature.group
): needed at runtime for deployed modelers which have properties views defined in their specification.
org.eclipse.sirius.specifier.properties.feature.feature.group
): provides support for editing the configuration model directly inside the VSM editor and the specifier documentation.
Once this is done, you can find the actual documentation in the Sirius Specifier Manual, under the Properties View section.
%myUniqueKey
in the VSM, and define the value in the
Viewpoint Specification Project's
plugin.properties
(for the default value), or
plugin_XX.properties
for locale
XX
. The underlying mechanism is the same as for Eclipse/OSGi plug-ins, so translations can even be contributed by physically separate plug-in fragments. See
the corresponding section in the documentation for more details.
org.eclipse.sirius.ext.emf.edit.EditingDomainServices
(from plug-in
org.eclipse.sirius.ext.emf.edit
) has been added with a complete set of service methods to leverage most of the features of the “EMF Edit” framework, for example the various
Item Providers associated to semantic elements. See
the documentation for details.
filter()
or
oclIsKindOf()
requires to explicitly add the domain meta-models plug-ins to the dependencies of the
Viewpoint Specification Project. The documentation has been modified to recommend this.
EEnum
attribute, like
labelFormat
, worked with a value expression using a Java service returning a
EEnumLiteral
. It is now forbidden. You must return an
Enumerator
. The documentation about
Styles Customization now details this case.
BorderSizeComputationExpression
migration has been corrected to recursively handle the sub container mappings. VSM created or migrated with Sirius 3.1.0, 3.1.1 or 3.1.2 might require a manual modification for the style descriptions of sub container mappings with border size computation equals to 0 as we cannot determine if they were added (or updated) after or before the migration: starting with Sirius 3.1.0, no border will be displayed for a 0 pixel value whereas with older version container always had at least a 1 pixel border.
ITabbarContributor
through the
org.eclipse.sirius.diagram.ui.tabbarContributor
extension-point. See the
developer documentation for more details.
org.eclipse.sirius.diagram.bundledImageShape
extension-point. See the
developer documentation for more details.
org.eclipse.sirius
org.eclipse.sirius.ui.business.api.session.SessionEditorInput.getStatus()
has been added to have the status about session opening, i.e. if it has been correctly opened, cancelled or an exception has occurred.
org.eclipse.sirius.business.api.helper.task.TaskHelper.buildTaskFromModelOperation(EObject, ModelOperation)
has been added, which does not require to specify a
DRepresentation
in the context. It allows the creation of a task which executes a behavior specified by
ModelOperations
outside of the context of a specific representation, provided the
ModelOperations
work in that context.
org.eclipse.sirius.viewpoint.description.TypedVariable
has been created.
org.eclipse.sirius.viewpoint.description.InteractiveVariableDescription
has been created as tag interface for variables that require user interaction to be valued.
org.eclipse.sirius.tools.api.command.ui.UICallBack.askForTypedVariable(List<TypedVariable>, List<String>)
has been created.
org.eclipse.sirius.tools.api.command.ui.NoUICallback.askForTypedVariable(List<TypedVariable>, List<String>)
has been created.
org.eclipse.sirius.business.api.dialect.DialectServices.getRequiredViewpoints(DRepresentation)
has been added to have mean to get required viewpoints to use a representation.
org.eclipse.sirius.business.api.dialect.AbstractRepresentationDialectServices.getRequiredViewpoints(DRepresentation)
has been added to have a default implementation of
DialectServices.getRequiredViewpoints(DRepresentation)
method.
org.eclipse.sirius.business.api.dialect.AbstractRepresentationDialectServices.isRelatedViewpointSelected(Session, RepresentationDescription)
protected method has been added to check if a
RepresentationDescription
is usable in the context of the specified session.
org.eclipse.sirius.tools.api.command.ui.UICallBack.askForDetailName(String, String, String)
method has been added to replace the deprecated
org.eclipse.sirius.tools.api.command.ui.UICallBack.askForDetailName(String, String)
. This method now uses the description name as title for the wizard. This new method has been implemented by
org.eclipse.sirius.ui.tools.api.command.AbstractSWTCallback
and
org.eclipse.sirius.tools.api.command.ui.NoUICallback
.
org.eclipse.sirius.ui.tools.api.project.ModelingProjectManager.loadAndOpenRepresentationsFile(URI, boolean)
has been added to specify if job used to open a session must be considered as launched by the user or not, because by default with
ModelingProjectManager.loadAndOpenRepresentationsFile(URI)
the job was not considered as launched by the user.
org.eclipse.sirius.viewpoint.description.tool.SelectModelElementVariable
now implements
org.eclipse.sirius.viewpoint.description.InteractiveVariableDescription
.
org.eclipse.sirius.viewpoint.description.tool.AbstractVariable
has been moved to
org.eclipse.sirius.viewpoint.description.AbstractVariable
.
org.eclipse.sirius.viewpoint.description.tool.SubVariable
has been moved to
org.eclipse.sirius.viewpoint.description.SubVariable
.
org.eclipse.sirius.business.api.modelingproject.ModelingProject.getMainRepresentationsFileURI()
methods no more update workspace resource about markers, now this must be done in caller on IllegalArgumentException catch in a workspace aware operation.
org.eclipse.sirius.business.api.dialect.command.RefreshRepresentationsCommand.canExecute()
now returns false if a
DRepresentation
cannot be refreshed, by calling
DialectManager.canRefresh(DRepresentation)
.
org.eclipse.sirius.business.api.session.danalysis.DAnalysisSessionHelper
now return a
fr.obeo.dsl.viewpoint.DView
instead of a
fr.obeo.dsl.viewpoint.DRepresentationContainer
: *
findContainer(EObject, Viewpoint, Collection<DAnalysis>, DAnalysisSelector)
,
findContainerForAddedRepresentation(EObject, Viewpoint, Collection<DAnalysis>, DAnalysisSelector, DRepresentation)
,
findContainerForAddedRepresentation(DAnalysis, DRepresentation)
,
findFreeContainer(Viewpoint, Collection<DAnalysis>, DAnalysisSelector)
findFreeContainer(Viewpoint, Collection<DAnalysis>, DAnalysisSelector)
.
org.eclipse.sirius.viewpoint.DRepresentationContainer
EClass have been removed. It used to be the only implementation of
org.eclipse.sirius.viewpoint.DView
, the
models
derived transient reference has been moved to
DView
. An automatic migration has been added during the loading of the representation to handle this change.
org.eclipse.sirius.business.api.extender.MetamodelDescriptorProvider2
has been deleted and is now
MetamodelDescriptorProvider
.
org.eclipse.sirius.common
getInferredVariableTypes(Boolean value)
in
org.eclipse.sirius.common.tools.api.interpreter.ValidationResult
so that
IInterpreter
implementations able to infer more specific types based on predicates result provides this information to Sirius which will then use it for validating other expressions. You might want to look at
org.eclipse.sirius.common.acceleo.aql.business.internal.AQLSiriusInterpreter
which is an implementation providing this type inference.
org.eclipse.sirius.common.tools.api.util.MessageTranslator
providing
getMessage(EObject, String)
and
getMessage(Bundle, String)
service dedicated into processing a translatable message to return the translation in the active language when available. This service returns the String without modification if not translatable or no translation is available.
org.eclipse.sirius.common.tools.api.interpreter.IInterpreterStatus
to reflect all kind of language validation severity (of AQL for example).
org.eclipse.sirius.diagram
org.eclipse.sirius.diagram.VariableValue
,
org.eclipse.sirius.diagram.TypedVariableValue
and
org.eclipse.sirius.diagram.EObjectVariableValue
has been created.
org.eclipse.sirius.diagram.description.filter.impl.VariableFilterImpl.resetVariables()
has been created to indicate that variables have to be computed again.
org.eclipse.sirius.diagram.description.style.Side
EEnum has been added to define a border node side on the parent.
org.eclipse.sirius.diagram.description.style.NodeStyleDescription#forbiddenSides
attribute has been added to set the border node forbidden sides on the parent.
org.eclipse.sirius.diagram.business.api.query.DNodeQuery.getForbiddenSide()
has been added to retrieve the forbidden sides of a DNode (make sense only for Border Nodes).
org.eclipse.sirius.diagram.description.filter.VariableFilter.ownedVariable
has been changed to
org.eclipse.sirius.viewpoint.description.InteractiveVariableDescription
.
org.eclipse.sirius.diagram.FilterVariableHistory.ownedValues
has been changed to
org.eclipse.sirius.diagram.VariableValue
.
org.eclipse.sirius.diagram.business.api.helper.SiriusDiagramUtil.findRepresentationContainer(DDiagram)
has been changed from
org.eclipse.sirius.viewpoint.DRepresentationContainer
to
org.eclipse.sirius.viewpoint.DView
.
org.eclipse.sirius.diagram.description.filter.FilterVariable
has been removed. It is replaced by
org.eclipse.sirius.viewpoint.description.tool.SelectModelElementVariable
.
org.eclipse.sirius.diagram.description.filter.impl.VariableFilterImpl.setFilterContext()
has been removed. This method was, in part, useless and is replaced by
org.eclipse.sirius.diagram.description.filter.impl.VariableFilterImpl.resetVariables()
.
org.eclipse.sirius.ui
org.eclipse.sirius.ui.tools.api.command.AbstractSWTCallback.askForTypedVariable(List<TypedVariable>, List<String>)
has been created.
Messages_createRepresentationInputDialog_DefaultRepresentationDescName
has been added (available through
org.eclipse.sirius.ui.tools.api.Messages.createRepresentationInputDialog_DefaultRepresentationDescName
. Its value is “Representation”.
Messages_createRepresentationInputDialog_NewRepresentationNameLabel
has been replaced by “Name:” (previous value was “Representation name:”).
Messages_createRepresentationInputDialog_RepresentationDescriptionLabel
has been replaced by “Representation description: {0}” (previous value was “Representation description: ”).
Messages_createRepresentationInputDialog_Title
has been replaced by “New {0}” (previous value was “New Representation”).
org.eclipse.sirius.viewpoint.provider.Messages.OpenRepresentationsFileJob_initModelingProjectsTask
has been removed as this message is no more used.
org.eclipse.sirius.ui.business.api.editor.SpecificSessionManager
has been removed.
org.eclipse.sirius.diagram.ui
org.eclipse.sirius.diagram.ui.svg.maxCacheSizeMB
has been added. It can be used to tweak the maximum size (in megabytes) of pre-rendered SVG images to keep in cache. The default is 50, corresponding to 50MB of bitmaps of 4 8-bit channels. Increasing the limit can improve performance when using diagrams with a lot of SVG images, at the cost of increased memory usage.
org.eclipse.sirius.diagram.ui.tools.api.editor.tabbar.ITabbarContributor
interface has been added to provide a customized tab-bar for a specific selection.
org.eclipse.sirius.diagram.ui.tools.api.editor.tabbar.AbstractTabbarContributor
is an abstract implementation of
ITabbarContributor
that allows reusing one or several of the default Sirius contribution items.
org.eclipse.sirius.diagram.editor.properties.sections.style.bundledimagedescription.BundledImageDescriptionShapePropertySectionSpec
has been added to have a custom display in the VSM for provided basic shape.
org.eclipse.sirius.diagram.ui.edit.api.part.AbstractDiagramBorderNodeEditPart.createNodeFigure()
has been created to factorize the
DNode2EditPart
and
DNode4EditPart
constructors.
org.eclipse.sirius.diagram.ui.tools.api.figure.DBorderedNodeFigure.setForbiddenSides(int...)
has been added to set the figure forbidden sides on its parent.
org.eclipse.sirius.diagram.ui.tools.api.figure.DBorderedNodeFigure.getAuthorizedSides()
has been added to retrieve the figure authorized side (by default all sides).
org.eclipse.sirius.diagram.ui.tools.api.figure.SVGFigure
:
String getKey(Graphics)
,
Image getImage(Rectangle, Graphics)
,
static boolean doRemoveFromCache(String)
.
org.eclipse.sirius.diagram.ui.tools.api.part.DiagramEditPartService
to manage gradient color in export to PNG or SVG formats:
DiagramEditPartService.saveSVGToFile(IPath, SiriusDiagramSVGGenerator, IProgressMonitor)
and
org.eclipse.sirius.diagram.ui.tools.api.part.DiagramEditPartService.saveToFile(IPath, SiriusDiagramSVGGenerator, ImageFileFormat, IProgressMonitor)
. These 2 methods are copy of parent methods with
SiriusDiagramSVGGenerator
as parameter instead of a
DiagramSVGGenerator
.
org.eclipse.sirius.ui.tools.api.color.VisualBindingManager.getGradientPaintFromValue(int, int, int, int, Color, Color)
has been added to handle a cache for
java.awt.GradientPaint
as it is the case for
org.eclipse.swt.graphics.Pattern
with
getPatternFromValue()
.
org.eclipse.sirius.diagram.ui.tools.api.figure.GradientHelper
to handle
java.awt.GradientPaint
as
org.eclipse.swt.graphics.Pattern
:
getGradientPaintDiag(Rectangle, Color, Color)
,
getGradientPaintLeftToRight(Rectangle, Color, Color)
,
getGradientPaintTopToBottom(Rectangle, Color, Color)
and
getGradientPaint(int, Rectangle, Color, Color)
.
org.eclipse.sirius.diagram.ui.tools.api.ui.actions.ActionIds.ACTION_SIRIUS_COPY_APPEARANCE_PROPERTIES
has been added to identify the new
Sirius Copy Appearence Properties action.
org.eclipse.sirius.diagram.ui.tools.api.figure.BundleImageFigure
now overrides the method
setBorder(Border border)
. It also provides the accessors for the new field
mainBorderSize
.
org.eclipse.sirius.diagram.ui.tools.api.figure.BundledImageFigure
now inherits directly from
SVGFigure
instead of
AbstractCachedSVGFigure
.
org.eclipse.sirius.diagram.ui.tools.api.figure.SVGWorkspaceImageFigure
now inherits directly from
SVGFigure
instead of
AbstractCachedSVGFigure
.
org.eclipse.sirius.diagram.ui.tools.api.figure.SVGFigure
now implements interfaces
StyledFigure
,
ITransparentFigure
and
ImageFigureWithAlpha
.
org.eclipse.sirius.diagram.ui.tools.api.figure.SVGFigure
:
NodeList getNodes(String)
,
Color getColor(Element, String)
,
void updateRenderingHints(Graphics)
,
staticImage toSWT(Device, BufferedImage)
,
boolean checkContentAvailable()
,
Rectangle2D getAreaOfInterest()
,
void setAreaOfInterest(Rectangle2D)
,
boolean isSpecifyCanvasWidth()
,
void setSpecifyCanvasWidth(boolean)
,
boolean isSpecifyCanvasHeight()
,
void setSpecifyCanvasHeight(boolean)
,
boolean getSpecifyCanvasWidth()
,
boolean getSpecifyCanvasHeight()
.
org.eclipse.sirius.diagram.ui.tools.api.figure.AbstractCachedSVGFigure
has been removed. Its functionality was merged directly into
SVGFigure
.
org.eclipse.sirius.diagram.ui.tools.api.figure.SVGWorkspaceImageFigure.createImageFigure(ContainerStyle)
method has been removed; it was broken and not called anywhere.
org.eclipse.sirius.ext.emf.ui
org.eclipse.sirius.ext.emf.ui.properties.ExtensiblePropertySource.collector
field is now in protected visibility to be modifiable and accessible by subclass.
org.eclipse.sirius.ext.gmf.runtime
org.eclipse.sirius.ext.gmf.runtime.diagram.ui.tools.MoveInDiagramDragTracker
has been added to declare states used by all DragTrackers which manage move in diagram using mouse middle click.
org.eclipse.sirius.ui
org.eclipse.sirius.ui.tools.api.properties.SiriusExtensiblePropertyDescriptor
has been added to provide a specific
ExtensiblePropertyDescriptor
which test
IPermissionAuthority
to make properties view editable or not.
org.eclipse.sirius.ui.tools.api.properties.SiriusExtensiblePropertySource
has been modified to use
SiriusExtensiblePropertyDescriptor
to provide not editable properties view when the object, selected from the Model Explorer view, cannot be modified.
org.eclipse.sirius.ui
, and thus the whole
org.eclipse.sirius.runtime
feature no longer depends on the JDT (technically the dependency towards
org.eclipse.jdt.core
has been removed). If you need the JDT Core in your environment, you will need to add the dependency explicitly. The Sirius specification environment (
org.eclipse.sirius.editor
) still depends on PDE (and thus indirectly the JDT too).
org.eclipse.sirius.tests.junit.support
org.eclipse.sirius.tests.support.api.DefaultTestMemento
has been created. It help to simulate a real
IMemento
for editor restoration.
SiriusTestCase.initViewpoint(String, Session, boolean)
has been added to allow viewpoint activation without creating representations.
initLoggers()
and
disposeLoggers()
of class
org.eclipse.sirius.tests.support.api.SiriusTestCase
have now a protected visibility (instead of private) to allow subclasses to use this logger without all the
genericSetUp
behavior.
SiriusTestCase.initViewpoint(String, Session, EObject)
has been deprecated because the last parameter is useless to activate a viewpoint.
org.eclipse.sirius.tests.swtbot.support
getTreeItem(final SWTBotTreeItem[], final String)
has been added in
org.eclipse.sirius.tests.swtbot.support.utils
to retrieve recursively a
SWTBotTreeItem
in a
SWTBotTreeItem
array.
org.eclipse.sirius.tests.swtbot.support.api.condition.ShellChangedCondition
has been added to wait until the current active shell has changed.
org.eclipse.sirius.tests.swtbot.support.api.condition.TreeItemWithImageCondition
has been added to wait until the given treeItem has the expected image.
String
parameter has been added to the method
org.eclipse.sirius.tests.swtbot.support.api.business.UILocalSession.newDiagramRepresentation(String, String)
. This parameter is the label of the representation description. It is necessary since the change of the wizard to ask the new representation name (see User-Visible Changes for detail).
String
parameter has been added to the constructor of
org.eclipse.sirius.tests.swtbot.support.api.business.UINewRepresentationBuilder
for the same above reasons.
org.eclipse.sirius.common.xtext
org.eclipse.sirius.common.xtext
to the JDT plug-in
org.eclipse.jdt.core
is now optional. If you need the JDT Core in your environment, you will need to add the dependency explicitly. The Sirius specification environment (
org.eclipse.sirius.editor
) still depends on PDE (and thus indirectly the JDT too).
org.eclipse.sirius.editor
bindCompletionProcessor(AbstractPropertySection, IAssistContentProvider, Text)
has been added to the class
org.eclipse.sirius.editor.tools.api.assist.TypeContentProposalProvider
to allow to bind a specific IAssistContentProvider to the text.
Sample before Sirius 3.1:
Same sample since Sirius 3.1:
ePackageName::eClassName
). The improvements realized can be viewed by clicking on the image below (click to zoom).
org.eclipse.sirius.common.acceleo.aql
instead of
org.eclipse.sirius.common.acceleo.mtl
, and do not have the Acceleo nature anymore (it is not needed by AQL). If you want to use another language in your queries, make sure you set the appropriate dependencies so that the Sirius support for that language will be present at runtime to interpret the queries.
BorderSizeComputationExpression
as 0 for style of
ContainerMapping
. Before Sirius 3.1.0, a size of 0 was interpreted as 1 at runtime. For compatibility reason, all existing
BorderSizeComputationExpression
equals to 0 for style of
ContainerMapping
are automatically set to 1 (ditto for results of this expression in representations file for container elements). For
ContainerMapping
, the default value of
BorderSizeComputationExpression
for new style is now 1, except for
Worskpace Image where the value is 0.
IPermissionAuthority
) of the potential to delete objects. This is the reverse order of what was done before, and can have performance impacts if the precondition is slow. The specifier will to take care to ensure a good performance for the precondition expression of the delete tool.
Sirius 3.1 introduces partial support for internationalization: all literal strings from the runtime part of Sirius are now externalized and can be localized by third parties by providing the appropriate “language packs” as OSGi fragments. Note that this does not concern the VSM editor’s UI, the VSMs themselves, or the parts of the UI inherited from Eclipse/EMF/GEF/GMF and other libraries and frameworks used by Sirius.
Some API changes were required to enable this. While technically breaking changes if interpreting strictly the OSGi versioning rules, the major version number of the impacted bundles was not incremented as the changes only concern classes that should not impact the vast majority of users. Most breaking changes concern the plug-in/activator classes from each bundle. They are:
org.eclipse.sirius.diagram.layoutdata.LayoutDataPlugin
, a subclass of
org.eclipse.emf.common.EMFPlugin
has been added. The corresponding OSGi bundle activator is the internal class
LayoutDataPlugin.Implementation
.
org.eclipse.sirius.diagram.sequence.SequenceDiagramPlugin
, a subclass of
org.eclipse.emf.common.EMFPlugin
has been added. The corresponding OSGi bundle activator is the internal class
SequenceDiagramPlugin.Implementation
.
org.eclipse.sirius.common.xtext.internal.XtextIntegrationPlugin
, a subclass of
org.eclipse.emf.common.EMFPlugin
has been added. The corresponding OSGi bundle activator is the internal class
XtextIntegrationPlugin.Implementation
.
org.eclipse.sirius.ext.base.BasePlugin
, a subclass of
org.eclipse.emf.common.EMFPlugin
has been added. The corresponding OSGi bundle activator is the internal class
BasePlugin.Implementation
.
org.eclipse.sirius.ext.draw2d.Draw2DExtPlugin
, a subclass of
org.eclipse.emf.common.EMFPlugin
has been added. The corresponding OSGi bundle activator is the internal class
Draw2DExtPlugin.Implementation
.
org.eclipse.sirius.ext.e3.ui.Eclipse3UIExtPlugin
, a subclass of
org.eclipse.emf.common.EMFPlugin
has been added. The corresponding OSGi bundle activator is the internal class
Eclipse3UIExtPlugin.Implementation
.
org.eclipse.sirius.ext.emf.EMFExtPlugin
, a subclass of
org.eclipse.emf.common.EMFPlugin
has been added. The corresponding OSGi bundle activator is the internal class
EMFExtPlugin.Implementation
.
org.eclipse.sirius.synchronizer.internal.SynchronizerPlugin
, a subclass of
org.eclipse.emf.common.EMFPlugin
has been added. The corresponding OSGi bundle activator is the internal class
SynchronizerPlugin.Implementation
.
org.eclipse.sirius.tree.tools.internal.TreePlugin
, a subclass of
org.eclipse.emf.common.EMFPlugin
has been added. The corresponding OSGi bundle activator is the internal class
TreePlugin.Implementation
.
org.eclipse.sirius.common.acceleo.mtl.ide.AcceleoMTLInterpreterIDEPlugin
is no longer an OSGi
BundleActivator
, and instead extends
org.eclipse.emf.common.EMFPlugin
. The actual bundle activator is the new internal class
AcceleoMTLInterpreterIDEPlugin.Implementation
.
org.eclipse.sirius.common.acceleo.mtl.ide.AcceleoMTLInterpreterPlugin
is no longer an OSGi
BundleActivator
, and instead extends
org.eclipse.emf.common.EMFPlugin
. The actual bundle activator is the new internal class
AcceleoMTLInterpreterPlugin.Implementation
.
org.eclipse.sirius.common.ocl.DslOclPlugin
is no longer a
org.eclipse.core.runtime.Plugin
(nor an OSGi
BundleActivator
), and instead extends
org.eclipse.emf.common.EMFPlugin
. The actual bundle activator is the new internal class
DslOclPlugin.Implementation
.
org.eclipse.sirius.common.tools.DslCommonPlugin
is no longer a
org.eclipse.core.runtime.Plugin
(nor an OSGi
BundleActivator
), and instead extends
org.eclipse.emf.common.EMFPlugin
. The actual bundle activator is the new internal class
DslCommonPlugin.Implementation
.
org.eclipse.sirius.diagram.DiagramPlugin
is no longer a
org.eclipse.core.runtime.Plugin
(nor an OSGi
BundleActivator
), and instead extends
org.eclipse.emf.common.EMFPlugin
. The actual bundle activator is the new internal class
DiagramPlugin.Implementation
.
org.eclipse.sirius.ecore.extender.business.internal.ExtenderPlugin
is no longer a
org.eclipse.core.runtime.Plugin
(nor an OSGi
BundleActivator
), and instead extends
org.eclipse.emf.common.EMFPlugin
. The actual bundle activator is the new internal class
ExtenderPlugin.Implementation
.
org.eclipse.sirius.table.tools.internal.TablePlugin
is no longer a
org.eclipse.core.runtime.Plugin
(nor an OSGi
BundleActivator
), and instead extends
org.eclipse.emf.common.EMFPlugin
. The actual bundle activator is the new internal class
TablePlugin.Implementation
.
org.eclipse.sirius.eef.adapters.Activator
has been renamed into
org.eclipse.sirius.eef.adapters.EEFAdapterPlugin
and is no longer an OSGi bundle activator (hence the name change, to avoid confusion). Instead it extends
org.eclipse.emf.common.EMFPlugin
. The actual bundle activator is the new internal class
EEFAdapterPlugin.Implementation
.
org.eclipse.sirius.common.acceleo.interpreter.Activator
has been renamed into
org.eclipse.sirius.common.acceleo.interpreter.InterpreterViewPlugin
and is no longer an OSGi bundle activator (hence the name change, to avoid confusion). Instead it extends
org.eclipse.emf.common.EMFPlugin
. The actual bundle activator is the new internal class
InterpreterViewPlugin.Implementation
.
org.eclipse.sirius.table.ui.ext.Activator
has been renamed into
org.eclipse.sirius.table.ui.ext.TableUIExtPlugin
and is no longer an OSGi bundle activator (hence the name change, to avoid confusion). Instead it extends
org.eclipse.emf.common.EMFPlugin
. The actual bundle activator is the new internal class
TableUIExtPlugin.Implementation
.
org.eclipse.sirius.ui.ext.Activator
has been renamed into
org.eclipse.sirius.ui.ext.SiriusUIExtPlugin
and is no longer an OSGi bundle activator (hence the name change, to avoid confusion). Instead it extends
org.eclipse.emf.common.EMFPlugin
. The actual bundle activator is the new internal class
SiriusUIExtPlugin.Implementation
.
org.eclipse.sirius.tree.ui.ext.Activator
has been renamed into
org.eclipse.sirius.tree.ui.ext.TreeUIExtPlugin
and is no longer an OSGi bundle activator (hence the name change, to avoid confusion). Instead it extends
org.eclipse.emf.common.EMFPlugin
. The actual bundle activator is the new internal class
TreeUIExtPlugin.Implementation
.
org.eclipse.sirius.diagram.sequence.ui.SequenceDiagramPlugin
has been renamed into
org.eclipse.sirius.diagram.sequence.ui.SequenceDiagramUIPlugin
for consistency and to avoid potential name clashes with the new
org.eclipse.sirius.diagram.sequence.SequenceDiagramPlugin
.
Additional non-breaking changes:
org.eclipse.sirius.ext.base.I18N
has been added. It provides common utility code to support internationalization.
plugin.properties
file. These (translated) messages are available at runtime as static fields of new
Messages
classes, added to all concerned bundles (always in the same package as their plug-in/activator class). The concerned bundles are:
org.eclipse.sirius
org.eclipse.sirius.ext.base
org.eclipse.sirius.ecore.extender
org.eclipse.sirius.synchronizer
org.eclipse.sirius.common
org.eclipse.sirius.common.acceleo.aql
org.eclipse.sirius.common.acceleo.aql.ide
org.eclipse.sirius.common.acceleo.mtl
org.eclipse.sirius.common.acceleo.mtl.ide
org.eclipse.sirius.common.ui
org.eclipse.sirius.diagram.layoutdata
org.eclipse.sirius.diagram.sequence
org.eclipse.sirius.diagram.sequence.ui
org.eclipse.sirius.diagram
org.eclipse.sirius.diagram.ui
org.eclipse.sirius.eef.adapters
org.eclipse.sirius.interpreter
org.eclipse.sirius.table
org.eclipse.sirius.table.ui
org.eclipse.sirius.tree
org.eclipse.sirius.tree.ui
org.eclipse.sirius.ui
org.eclipse.sirius.common
invokeMethod
has been added in class
org.eclipse.sirius.common.tools.api.util.ReflectionHelper
to call a private method. Warning: This method must be used carefully.
invokeMethodWithoutException
has been added in class
org.eclipse.sirius.common.tools.api.util.ReflectionHelper
to call a private method. This method returns true (and not the result of the method) if it is called without exception. It returns false otherwise. Warning: This method must be used carefully.
org.eclipse.sirius.common.tools.api.interpreter.IInterpreterWithDiagnostic
has been added. It allows an interpreter to evaluate an expression and return not only the result of the evaluation but also a diagnostic.
org.eclipse.sirius.common.tools.api.contentassist.ContentProposalWithReplacement
has been added. It allows interpreters to provide proposals for the code completion which can replace an existing part of the expression used. This behavior can be used if the user has started to type a value that would be returned by the code completion. For example, if the user types
aql:self.na
and if he selects the content proposal
name
, it can replace the existing part of the expression
na
to write
aql:self.name
instead of just appending
name
to create
aql:self.naname
.
org.eclipse.sirius.common.tools.api.contentassist.ContentProposalBuilder
used to build the content proposals with their various parameters more easily.
org.eclipse.sirius
addEvaluateSelectionExpressionTask
has been added in class
org.eclipse.sirius.tools.api.command.AbstractCommandFactory
to allow selection after tool execution.
org.eclipse.sirius.common.tools.api.interpreter.StandardServices
has been added. This class owns methods used for
service:
interpreter.
org.eclipse.sirius.business.api.extender.MetamodelDescriptorProvider2
has been added and should be preferred instead of implementing
MetamodelDescriptorProvider
.
org.eclipse.sirius.business.api.componentization.ViewpointRegistryImpl.addViewpointFileCollector()
method has been added to replace deprecated
ViewpointRegistryImpl.addSiriusFileCollector()
.
org.eclipse.sirius.ecore.extender.business.api.permission.IPermissionAuthority.canDeleteInstance(EObject)
when called for an object will not be called for children of this object as we know it will return true because if we can delete a parent object we can delete its children.
org.eclipse.sirius.tools.api.command.DCommand
no longer inherits from
IUndoableCommand
since undo/redo is managed by EMF Transaction.
org.eclipse.sirius.business.api.componentization.ViewpointRegistryImpl.addSiriusFileCollector()
method has been deprecated as it is about
ViewpointFileCollector
and not
SiriusFileCollector
.
org.eclipse.sirius.business.api.helper.task.ICommandTask.undo()/redo()
methods removed because they are useless since undo/redo is managed by EMF Transaction.
org.eclipse.sirius.tools.api.command.IUndoableCommand
interface removed because it is useless since undo/redo is managed by EMF Transaction.
org.eclipse.sirius.ui
org.eclipse.sirius.ui.business.api.session.SessionEditorInput.getInput()
method has been added to get the real input for a
DRepresentation
.
org.eclipse.sirius.ui.business.api.session.SessionEditorInput.getSession(boolean)
method has been added to let the caller choose to create and open a new
Session
or not when the known session is closed or does not exist. The
getSession
method calls getSession(true).
org.eclipse.sirius.ui.business.api.dialect.DialectUIServices.selectAndReveal(DialectEditor, List<DRepresentationElement>)
method has been added to explicitly indicate to reveal elements out of the screen (hidden because of the scrollbars location) when selecting them.
org.eclipse.sirius.ui.business.api.session.SessionEditorInput.dispose()
method has been deprecated as an
IEditorInput
can be reused by several instances of
IEditorPart
through the navigation history view.
org.eclipse.sirius.diagram.ui
org.eclipse.sirius.diagram.ui.graphical.edit.policies.RegionRegionContainerResizableEditPolicy
has been added to handle
DNodeContainer
which are both
Region
and
RegionContainer
: during resize they might have to propagate the resize to their children and/or parents.
org.eclipse.sirius.diagram.ui.tools.api.layout.LayoutUtils.COLLAPSED_VERTICAL_REGION_HEIGHT
has been added to centralize the minimum height of a collapsed Region from a Region Container with a vertical stack children presentation.
org.eclipse.sirius.diagram.ui.edit.api.part.IDiagramNodeEditPart/IDiagramBorderNodeEditPart.getNodeLabel()
methods has been moved up to
org.eclipse.sirius.diagram.ui.edit.api.part.IAbstractDiagramNodeEditPart.getNodeLabel()
as both
IDiagramNodeEditPart
and
IDiagramBorderNodeEditPart
inherits of
IAbstractDiagramNodeEditPart
.
org.eclipse.sirius.diagram.ui.tools.api.ui.actions.ActionIds.ARRANGE_BORDER_NODES
added to replace
org.eclipse.sirius.diagram.ui.tools.api.ui.actions.ActionIds.ARRANGE_BORDERED_NODES_TOOLBAR
which is deprecated.
org.eclipse.sirius.diagram.ui.tools.api.ui.actions.ActionIds.ARRANGE_BORDER_NODES_TOOLBAR
added to replace
org.eclipse.sirius.diagram.ui.tools.api.ui.actions.ActionIds.ARRANGE_BORDERED_NODES
which is deprecated
org.eclipse.sirius.diagram.ui.graphical.edit.policies.SetConnectionBendpointsAndLabelCommmand
is a new class that allows to update edge label when updating bendpoints. Several existing Sirius commands now extends this new class.
org.eclipse.sirius.diagram.ui.tools.api.decorators.AbstractSiriusDecorator.shouldBeVisibleAtPrint()
method added to leave
AbstractSiriusDecorator
extenders indicate if decoration should be visible at diagram export/print.
org.eclipse.sirius.diagram.ui.tools.api.ui.actions.ActionIds.ARRANGE_BORDERED_NODES
deprecated in favor
org.eclipse.sirius.diagram.ui.tools.api.ui.actions.ActionIds.ARRANGE_BORDER_NODES
as it is an action id about border nodes layout.
org.eclipse.sirius.diagram.ui.tools.api.ui.actions.ActionIds.ARRANGE_BORDERED_NODES_TOOLBAR
deprecated in favor
org.eclipse.sirius.diagram.ui.tools.api.ui.actions.ActionIds.ARRANGE_BORDER_NODES_TOOLBAR
as it is an action id about border nodes layout.
org.eclipse.sirius.diagram.ui.graphical.edit.policies.EdgeCreationEditPolicy
has been removed as it should not be in API and has been replaced by internal
org.eclipse.sirius.diagram.ui.internal.edit.policies.SiriusConnectionEditPolicy
.
setUseLocalCoordinates(boolean)
has been removed from
org.eclipse.sirius.diagram.ui.tools.api.figure.GradientRoundedRectangle
,
org.eclipse.sirius.diagram.ui.tools.api.figure.ViewNodeContainerParallelogram
,
org.eclipse.sirius.diagram.ui.tools.api.figure.ViewNodeContainerRectangleFigureDesc
as it was generated by GMF tooling and never used in Sirius whose edit parts and edit policies expect
org.eclipse.draw2d.IFigure.useLocalCoordinates()
to always return false for its figures.
org.eclipse.sirius.synchronizer
org.eclipse.sirius.synchronizer.CreatedOutput.synchronizeChildren()
method takes now a
RefreshPlan
in parameter to have more informations to say if children must be synchronized.
org.eclipse.sirius.tests.junit.support
org.eclipse.sirius.tests.support.api.AbstractToolDescriptionTestCase
has been created. It contains utility methods about tools.
org.eclipse.sirius.tests.support.api.SiriusDiagramTestCase
has been modified
AbstractToolDescriptionTestCase
applyContainerCreationTool(String,DDiagram,EObject)
has been added.
applyGenericTool(String,DDiagram,EObject)
has been added.
org.eclipse.sirius.tests.swtbot.support
closePerspective(String)
,
closeSiriusPerspective()
and
closeModelingPerspective()
have been added in class
org.eclipse.sirius.tests.swtbot.support.api.perspective.DesignerPerspectives
to allow the closing of perspectives.
org.eclipse.sirius.tests.swtbot.support.api.condition.PerspectiveActivatedCondition
new offers the capability to inverse the test. This condition becomes a DeactivatedCondition instead of an ActivatedCondition by using the new constructor with inverse parameter.
isSnapToShape
and
isSnapToGrid()
have been added in class
org.eclipse.sirius.tests.swtbot.support.api.editor.SWTBotSiriusDiagramEditor
. They allow to know the state of the corresponding properties.
org.eclipse.sirius.tests.swtbot.support.api.editor.SWTBotSiriusDiagramEditor.dragWithKey(int, int, int, int, int)
(and also
SWTBotSiriusGefViewer.dragWithKey
and
SWTBotSiriusFigureCanvas.mouseDragWithKey
), has an additional fifth parameter compared to
drag(int, int, int, int)
method, to indicate the key code to press during the drag’n’drop. It is possible to call this method with
SWT.None
to obtain the standard behavior of
drag
method. This method also has a correct behavior for the move of bendpoints of edges.
org.eclipse.sirius.tests.swtbot.support.api.condition.TopCondition
: New condition to wait that top of the edit part is on the expected location.
org.eclipse.sirius.tests.swtbot.support.api.condition.BendpointLocationCondition
: New condition to wait that a bendpoint is on the expected x or y location.
org.eclipse.sirius.tests.swtbot.support.api.condition.TreeChildrenNumberCondition
: New condition to wait that a tree has the expected number of children.
org.eclipse.sirius.tests.swtbot.support.utils.SWTBotCommonHelper.saveCurrentEditor(Session)
: This new method is preferable to
saveCurrentEditor()
because there is a wait condition to ensure that the save is finished.
org.eclipse.sirius.tests.swtbot.support.api.condition.CheckBoundsCondition
: This condition now also checks the bounds location if the checkWidth or checkHeight (or both) is false.
org.eclipse.sirius.ext.gef
org.eclipse.sirius.ext.gef.query.EditPartQuery
has been added. It allows to retrieve all children of the current part.
org.eclipse.sirius.ext.jface
org.eclipse.sirius.ext.jface.viewers.IToolTipProvider
has been copied from JFace 3.10 from Luna, so that we can use it with Juno and Kepler too.
org.eclipse.sirius.ext.gmf.runtime
getIntersection
methods have been added in
org.eclipse.sirius.ext.gmf.runtime.editparts.GraphicalHelper
. They are similar to the existing
getIntersection
methods, but they consider the nearest point on the figure if there is no intersection.
org.eclipse.sirius.common.acceleo.aql
(required for evaluating the expressions) and
org.eclipse.sirius.common.acceleo.aql.ide
(optional, only needed to provide specification-time features like expression completion) plug-ins. AQL is similar to Acceleo 3/MTL, but simpler and provides much better performance in the Sirius context. If you make use of this feature, be aware that some details may still change in future releases, including 3.0.x maintenance releases. See the AQL documentation for more details on the language itself.
*.svgz
) are now supported everywhere normal SVG images were supported.
service:
or
aql:
can now invoke Java services which are defined in the workspace (with no need to launch a separate runtime).
var:
and
feature:
interpreters, which are always present.
[eContents()->size()/]
) in the VSM, that was implicit before. Customers who want to completely remove this dependency must remove the Acceleo 3 expressions from there VSM after the migration.
*
" can now be used as feature name of a table’s
Feature Column to skip the feature name validation during the cell creation. This allow to compute the label of cells for lines whose semantic element types have no common
EStructuralFeature (inherited or with same name).
The most important and impacting changes in this release are (details below in plug-in specific sections):
org.eclipse.sirius.ui.siriuspropertiescelleditor
, defined in
org.eclipse.sirius.ui
, can be used to provide customized cell editors for semantic element’s properties as shown in the properties view on a Sirius representation.
org.eclipse.sirius.eef.components.SiriusAwarePropertiesEditingComponent
can be used as root class of the generated EEF components to greatly improve performances when using both EEF properties views with Sirius representations.
org.eclipse.sirius.eef.adapters
is now 1.5.0 (from 1.2 before). EEF 1.5 is source and binary-compatible with EEF 1.2 to 1.4, and no re-generation of the EEF views should be needed to switch to 1.5.
org.eclipse.sirius.business.internal.session.IsModifiedSavingPolicy
saving policy, introduced in Sirius 2.0.0 but not enabled at that time is now the default. The previous implementation,
org.eclipse.sirius.business.api.session.SavingPolicyImpl
is still available if needed.
MinimalEObjectImpl.Container
as base class, which reduces memory consumption compared to previous versions.
RGBValues
type used in Sirius to represent colors has been converted into an immutable EMF EDataType, which also reduces memory consumption compared to previous versions.
AirdResourceImpl
type, use for the
*.aird
resources, no longer inherits from GMF’s
GMFResource
or depend on GMF in any way. This makes the
org.eclipse.sirius
now completely independent on GMF.
DAnalsysis.models
reference has been replaced by the
DAnalsysis.semanticModels
attribute, in conjunction with the new
ResourceDescriptor
data-type. The
DAnalysis.getModels()
Java method is still present for compatibility and returns the same values, but the returned list can not be modified. All changes must be made directly on
DAnalsysis.semanticModels
and will be reflected in the value returned by
DAnalysis.getModels()
. While not technically deprecated yet,
DAnalysis.getModels()
should be avoided and may be removed in a future release.
plugin.xml
that provide UI functionalities have been moved to new
org.eclipse.sirius.*.ext
plug-ins, to make the contributions to the UI optional. If your product consumed directly the Sirius plug-ins instead of the high-level features, you may need to add the new plug-ins if you want the Sirius UI contributions to stay available.
AirDCrossReferenceAdapterImpl
, which was a subclass of GMF’s
CrossReferenceAdapter
on session resources (
*.aird
). If your code relied on GMF’s implementation to find inverse references, it can use the Sirius session’s
Session.getSemanticCrossReferencer()
instead, which provides the same service (and more) and avoids the redundant installation of GMF’s version.
Packaging changes:
org.eclipse.sirius.runtime.aql
includes the minimum required to execute AQL queries at runtime. It must be present on end-users' systems for modelers which use AQL expressions to work.
org.eclipse.sirius.aql
includes both the runtime requirements and the development-time features like support for auto-completion of AQL expressions in the VSM editor.
org.eclipse.sirius.specifier
includes everything needed to have a complete Sirius specification environment, with support for all dialects. It includes support for Acceleo 3/MTL queries, but not for AQL (provided by
org.eclipse.sirius.aql
) or OCL (provided by
org.eclipse.sirius.runtime.ocl
). Future Sirius releases will probably swap AQL and Acceleo 3, making AQL the defaut and part of the main feature, and Acceleo 3/MTL optional in a separate feature.
http://download.eclipse.org/sirius/updates/releases/2.0.5/
. This is retro-active on all previously released versions of Sirius, but not on milestones before 3.0.0.
Other changes:
org.eclipse.sirius.common
org.eclipse.sirius.common.tools.api.util.SiriusCrossReferenceAdapter
interface and the
org.eclipse.sirius.common.tools.api.util.SiriusCrossReferenceAdapterImpl
have been added to have the capability to disable the proxy resolution. This feature is typically used to prevent loading a resource during its unloading.
Warning :
Every additional custom CrossReferenceAdapter should extend
SiriusCrossReferenceAdapterImpl
or at least implement
SiriusCrossReferenceAdapter
with the same implementation as
SiriusCrossReferenceAdapterImpl
.
org.eclipse.sirius.common.tools.api.util.ECrossReferenceAdapterWithUnproxyCapability
is a specific kind of
SiriusCrossReferenceAdapter
. It provides the capability to resolve all proxy cross references to a given resource. It is now used by the Session as semantic cross referencer. This type is exposed as API but it is not intended to be used/referenced/extended by user code (as the below
LazyCrossReferencer
type).
org.eclipse.sirius.common.tools.api.util.ReflectionHelper.getFieldValueWithoutException(Class<?>, String)
has been added to return an internal static value of a class.
org.eclipse.sirius.common.tools.api.resource.ResourceSetSync
has a new state
CHANGES_CANCELED
used to define the state where the user canceled its changes.
org.eclipse.sirius.common.tools.api.resource.ImageFileFormat
class has been added (it was in
org.eclipse.sirius.ext.swt
before).
org.eclipse.sirius.common.tools.api.util.EclipseUtil.getConfigurationElementsFor()
has been added: it calls
org.eclipse.core.runtime.Platform.getExtensionRegistry().getConfigurationElementsFor()
only if
Platform.isRunning()
.
org.eclipse.sirius.business.api.migration.IMigrationParticipant
exposes a new method
postXMLEndElement([..])
which is called during a migration operation. This method should be overridden by participants which have to hook the loading process after each end of XML tag. The corresponding abstract class
org.eclipse.sirius.business.api.migration.AbstractMigrationParticipant
provides a default empty implementation.
org.eclipse.sirius.common.tools.api.interpreter.JavaExtensionsManager
can now be used by langages interpreters to benefit from a consistent handling of Java extensions and support for loading Java services from the workspace.
org.eclipse.sirius.common.tools.api.interpreter.TypeName
has been introduced to represent in the codebase any type which was previously represented as a plain String.
org.eclipse.sirius.common.tools.api.interpreter.TypedValidation
has been introduced for
IInterpreter
implementations able to provide richer information when validating an expression. This information is captured through a
org.eclipse.sirius.common.tools.api.interpreter.ValidationResult
instance.
org.eclipse.sirius.common.tools.api.interpreter.VariableType
has been introduced to represent the possible types a variable can have in a Viewpoint specification model.
org.eclipse.sirius.common.tools.api.interpreter.IInterpreterContextUtils
has been introduced to factorize code related to managing
IInterpreterContext
instances.
org.eclipse.sirius.business.api.dialect.description.MultiLanguagesValidator
has been introduced to provide a safe and more efficient way to switch to the proper
IInterpreter
instance when validating expressions.
org.eclipse.sirius.common.tools.api.util.RefreshIdFactory
has been replaced with
org.eclipse.sirius.common.tools.api.util.RefreshIdsHolder
which no longer rely on a global singleton but attach information to an EObject representing the current scope. This impacts
org.eclipse.sirius.diagram.business.api.query.AbstractDNodeQuery
,
org.eclipse.sirius.common.tools.api.util.CartesianProduct
and
org.eclipse.sirius.common.tools.api.util.EObjectCouple
which are now requiring now a
RefreshIdsHolder
instance.
org.eclipse.sirius.common.tools.api.util.LazyCrossReferencer
now extends
ECrossReferenceAdapterWithUnproxyCapability
and implements
resolveProxyCrossReferences(Resource)
.
org.eclipse.sirius.common.tools.api.util.LazyCrossReferencer.enableResolve()
and
disableResolve()
methods has been moved to
SiriusCrossReferenceAdapter.enableResolveProxy()
and
disableResolveProxy()
.
org.eclipse.sirius.common.tools.api.interpreter.DefaultInterpreterContextFactory.createInterpreterContext(...)
now requires a
Map<String, VariableType>
for the accessible variables instead of a
Map<String, String>
.
org.eclipse.sirius.common.tools.api.interpreter.IInterpreterContext.getVariables()
and
org.eclipse.sirius.business.api.dialect.description.IInterpretedExpressionQuery.getAvailableVariables()
are now returning a map containing
VariableType
instances instead of encoded Strings.
org.eclipse.sirius.common.tools.api.interpreter.IInterpreterStatus.getTargetTypes()
no longer returns a list of encoded Strings but a
VariableType
instance instead.
org.eclipse.sirius.common.tools.api.interpreter.IInterpreterContext.getTargetTypes()
has been deprecated in favor of
org.eclipse.sirius.common.tools.api.interpreter.IInterpreterContext.getTargetType()
which returns a
VariableType
instance instead of encoded Strings.
org.eclipse.sirius.common.ui
org.eclipse.sirius.common.ui.tools.api.dialog.quickoutline
packages are available in API to allow editor to provide quick outline feature easily.
displaySyncExec(Runnable)
,
displayAsyncExec(Runnable)
and
synchronizeWithUIThread()
have been added in class
org.eclipse.sirius.common.ui.tools.api.util.EclipseUIUtil
to encapsulate accesses to the current
Display
instance.
plugin.xml
that provide UI functionalities have been moved to
org.eclipse.sirius.common.ui.ext
.
org.eclipse.sirius
org.eclipse.sirius.business.api.session.danalysis.DAnalysisSessionHelper.findContainerForAddedRepresentation(DAnalysis, DRepresentation)
has been added to return a
DRepresentationContainer
from the
DAnalysis
parameter and the added
DRepresentation
.
org.eclipse.sirius.business.api.migration.IMigrationParticipant.updateCreatedObject(EObject newObject, String loadedVersion)
has been added to update object values in VSM before loading this objects from XML file.
org.eclipse.sirius.tools.api.ui.RefreshEditorsPrecommitListener.disable()
has been added to disable the next refresh attempt in the current precommit loop iteration.
org.eclipse.sirius.business.api.helper.SiriusUtil.ENVIRONMENT_URI_SCHEME
declares environment URI scheme.
org.eclipse.sirius.business.api.helper.SiriusUtil.VIEWPOINT_ENVIRONMENT_RESOURCE_URI
declares
environment:/viewpoint
resource URI.
org.eclipse.sirius.viewpoint.description.util.DescriptionResourceImpl.OPTION_SIRIUS_USE_URI_FRAGMENT_AS_ID
added to define a option to enable the use of a id map for odesign resource, id being uri’s fragment.
org.eclipse.sirius.business.api.query.EObjectQuery
has now a new constructor with an additional parameter, ECrossReferenceAdapter. This can be usefull if there is many calls to inverse references methods for the same Session. This avoids to get the semantic cross referencer from the EObject each time. This query also proposes a new method
getInverseReferences(Set<EReference>)
.
org.eclipse.sirius.business.api.dialect.DialectServices.refreshImpactedElements(DRepresentation, Collection<Notification>, IProgressMonitor)
. A default implementation that does nothing is done in
org.eclipse.sirius.business.api.dialect.AbstractRepresentationDialectServices
.
org.eclipse.sirius.business.api.query.DAnalysisQuery
named
getMainModels()
. This method returns a Set of the main model and the other non controlled models.
org.eclipse.sirius.viewpoint.DAnalysis
named
getSemanticResources()
. This method returns a list of
org.eclipse.sirius.business.api.resource.ResourceDescriptor
which is a descriptor of the semantic resource.
org.eclipse.sirius.viewpoint.RGBValues
has been changed from an
EClass
to an
EDataType
, it is not an
EObject
anymore.
org.eclipse.sirius.business.api.metamodel.helper.FontFormatHelper
has been added. It helps to update label format multi valued features.
org.eclipse.sirius.business.api.session.SessionListener.SEMANTIC_CHANGE
is no more send to
SessionListener
and
SessionManagerListener
listeners on save when a semantic resource is saved. Use a
ResourceSyncClient
listener on
ResourceSetSync
to have know if a semantic resource is saved.
org.eclipse.sirius.tools.api.command.semantic.RemoveSemanticResourceCommand
.
removeReferencingResources
has been added to indicate if the referencing resources are also to remove.
removeFromControlledResources
has been removed because controlled resources are managed internally.
removeReferencingResources
has been added in
org.eclipse.sirius.business.api.session.Session.removeSemanticResource
method to indicate if the referencing resources are also to remove.
getModels()
method in
org.eclipse.sirius.viewpoint.DAnalysis
returns a non-modifiable list. Use
getSemanticResources()
instead.
isBbocked()
and
setBlocked()
methods on the
org.eclipse.sirius.viewpoint.DAnalysisSessionEObject
EClass have been removed, as they were not actually used in the internal code.
org.eclipse.sirius.business.api.helper.task.ICommandTask.undo()/redo()
methods are deprecated because they are useless since undo/redo is managed by EMF Transaction.
org.eclipse.sirius.tools.api.command.IUndoableCommand
interface are deprecated because it is useless since undo/redo is managed by EMF Transaction.
org.eclipse.sirius.business.api.helper.task.TaskExecutor.undo()/redo()
methods are deprecated because they are useless since undo/redo is managed by EMF Transaction.
org.eclipse.sirius.business.api.session.Session.createSemanticResource()
method has been removed. Use
Session.addSemanticResource()
instead.
ExtendedPackage
EDataType
which was defined in the
http://www.eclipse.org/sirius/1.1.0
package was not actually used anywhere and has been removed.
DView
methods
getAllRepresentations()
,
getReferencedRepresentations()
and
getHiddenRepresentations()
have been removed:
getReferencedRepresentations()
and
getHiddenRepresentations()
were never actually used, making
getAllRepresentations()
strictly equivalent to
getOwnedRepresentations()
. Code that used
getAllRepresentations()
can simply use
getOwnedRepresentations()
instead.
org.eclipse.sirius.viewpoint.DSourceFileLink
has been removed.
org.eclipse.sirius.viewpoint.DNavigable
has been removed.
org.eclipse.sirius.viewpoint.DNavigationLink
has been removed.
org.eclipse.sirius.viewpoint.DValidable
has been removed.
org.eclipse.sirius.viewpoint.NavigationTargetType
has been removed.
org.eclipse.sirius.viewpoint.DLabelled
has been removed.
org.eclipse.sirius.viewpoint.DContainer
has been removed.
org.eclipse.sirius.ui
org.eclipse.sirius.ui.business.api.dialect.DialectUIServices.completeToolTipText(String, EObject, EStructuralFeature)
has been added to customize the tooltip displayed in the VSM editor by using the feature of the current object. The old method
org.eclipse.sirius.ui.business.api.dialect.DialectUIServices.completeToolTipText(String, EObject)
has been deprecated.
org.eclipse.sirius.ui.tools.api.properties.SiriusExtensiblePropertySource
has been added. It allows developers to make their properties views CellEditor customizable by using the new extension point
org.eclipse.sirius.ui.siriuspropertiescelleditor
org.eclipse.sirius.ext.emf.ui.ICellEditorProvider
has been added to allow clients to provide their own
CellEditor
- in the Sirius semantic properties views – through the new extension point
org.eclipse.sirius.ui.siriuspropertiescelleditor
.
org.eclipse.sirius.ui.business.api.session.IEditingSession.detachEditor(DialectEditor, boolean)
has been added to choose whether we should revert the user changes when detaching the editor.
org.eclipse.sirius.ui.tools.api.views.LockDecorationUpdater
is now available to add it on a
org.eclipse.ui.navigator.CommonNavigator
to be refreshed when notifications are send to
org.eclipse.sirius.ecore.extender.business.api.permission.IAuthorityListener
.
org.eclipse.sirius.ui.tools.api.views.RefreshLabelImageJob
has been added to refresh the icon of specified elements on a
org.eclipse.ui.navigator.CommonNavigator
.
plugin.xml
that provide UI functionalities have been moved to
org.eclipse.sirius.ui.ext
.
org.eclipse.sirius.ecore.extender
org.eclipse.sirius.ecore.extender.business.api.accessor.ModelAccessor.eRemoveInverseCrossReferences()
has been changed to return the list of changed objects by the inverse cross references removal.
org.eclipse.sirius.ecore.extender.business.api.accessor.IMetamodelExtender.eRemoveInverseCrossReferences()
has been changed to return the list of changed objects by the inverse cross references removal.
org.eclipse.sirius.ecore.extender.business.api.accessor.CompositeMetamodelExtender.eRemoveInverseCrossReferences()
has been changed to return the list of changed objects by the inverse cross references removal.
org.eclipse.sirius.ecore.extender.IllegalURIException
has been removed. It was not actually thrown anywhere in the code.
org.eclipse.sirius.editor
org.eclipse.sirius.editor.tools.api.assist.TypeContentProposalProvider.bindPluginsCompletionProcessors(AbstractPropertySection, Text)
has been added. This method is very similar to
org.eclipse.sirius.editor.tools.api.assist.TypeContentProposalProvider.bindCompletionProcessor(AbstractPropertySection, Text)
, the difference is that it binds the completion processors available in plugins to the text.
org.eclipse.sirius.diagram
org.eclipse.sirius.diagram.tools.api.command.ChangeLayerActivationCommand
has been added. This command was previously internal.
org.eclipse.sirius.diagram.business.api.helper.SiriusDiagramUtil.DIAGRAM_ENVIRONMENT_RESOURCE_URI
declares the
environment:/diagram
resource URI.
org.eclipse.sirius.diagram.business.api.diagramtype.IDiagramDescriptionProvider.completeToolTipText(String, EObject, EStructuralFeature)
has been added to customize the tooltip displayed in the VSM editor by using the feature of the current object. The old method
org.eclipse.sirius.diagram.business.api.diagramtype.IDiagramDescriptionProvider.completeToolTipText(String, EObject)
has been deprecated.
org.eclipse.sirius.diagram.business.api.query.ContainerMappingQuery
to test the children presentation mode of the current
ContainerMapping
:
isVerticalStackContainer()
,
isHorizontalStackContainer()
,
isRegionContainer()
and
isRegion()
.
org.eclipse.sirius.diagram.business.api.query.AbstractDNodeQuery
now requires a
org.eclipse.sirius.common.tools.api.util.RefreshIdsHolder
to check for equality in the context of a refresh operation.
DNodeList.lineWidth
attribute has been removed from the metamodel, the corresponding generated elements do not exist anymore:
org.eclipse.sirius.diagram.DNodeList.getLineWidth()
,
org.eclipse.sirius.diagram.DNodeList.setLineWidth()
,
org.eclipse.sirius.diagram.DiagramPackage.DNODE_LIST__LINE_WIDTH
,
org.eclipse.sirius.diagram.DiagramPackage.getDNodeList_LineWidth()
,
org.eclipse.sirius.diagram.DiagramPackage.Literals.DNODE_LIST__LINE_WIDTH()
.
org.eclipse.sirius.diagram.ComputedStyleDescriptionRegistry.cache
reference has been removed from the metamodel as it is no more useful, to limit memory consumed by computed
StyleDescription
we directly look for them in the
ComputedStyleDescriptionRegistry.computedStyleDescriptions
list.
org.eclipse.sirius.diagram.ui
org.eclipse.sirius.diagram.ui.tools.api.figure.ImageFigureWithAlpha
interface has been added to identify Figures having the capability to return an alpha value from a coordinate.
org.eclipse.sirius.diagram.ui.tools.api.figure.AbstractCachedSVGFigure
and
org.eclipse.sirius.diagram.ui.tools.api.figure.AbstractTransparentImage
now implement this new interface.
org.eclipse.sirius.diagram.ui.tools.api.figure.locator.DBorderItemLocator.resetBorderItemMovedState()
has been added to allow to reset the state of
borderItemHasMoved
. This method must be used carefully only in case where
setConstraint(Rectangle)
is called to compute temporary a
getValidLocation(Rectangle, IFigure, Collection, List)
, one time with a new value and just after with the old value.
org.eclipse.sirius.diagram.ui.tools.api.image.DiagramImagesPath.HIDDEN_LABEL_DECORATOR
has been added to represent the path of hidden label decorator used in the outline.
org.eclipse.sirius.diagram.ui.business.api.provider.DDiagramElementContainerLabelItemProvider
has been added to represent container and list labels as virtual nodes in the Show/Hide wizards.
org.eclipse.sirius.diagram.ui.tools.api.figure.locator.DBorderItemLocator
did not take into account the rectangle size passed to
getValidLocation
. To resolve that limitation, several protected methods that took a Point as location now take a Rectangle:
locateOnBorder(Point, int, int, IFigure, Collection<IFigure>, List<IFigure>)
now takes a
Rectangle
instead a
Point
:
locateOnBorder(Rectangle, int, int, IFigure, Collection<IFigure>, List<IFigure>)
;
locateOnSouthBorder
,
locateOnNorthBorder
,
locateOnWestBorder
and
locateOnEastBorder
signatures is now
(Rectangle, int, IFigure, Collection<IFigure>, List<IFigure>)
;
locateOnParent
signature is now
locateOnParent(Rectangle, int, IFigure)
;
conflicts
signature is now
conflicts(Rectangle, IFigure, Collection<IFigure>, List<IFigure>)
.
DiagramImagesPath.LINK_TO_VIEWPOINT_IMG
has been moved to
org.eclipse.sirius.ui.tools.api.image.ImagesPath.LINK_TO_VIEWPOINT_IMG
. This is more coherent because the corresponding image is in core
org.eclipse.sirius.common.ui
plugin.
org.eclipse.sirius.diagram.ui.tools.api.layout.PinHelper
moved from
org.eclipse.sirius.diagram.ui
plugin to
org.eclipse.sirius.diagram
plugin, i.e.
org.eclipse.sirius.diagram.tools.api.layout.PinHelper
with
PinHelper.IsPinned(IDiagramElementEditPart)
removed in favor of
PinHelper.IsPinned(DDiagramElement)
.
org.eclipse.sirius.diagram.ui.tools.internal.actions.pinning.pinElementsActionId
and
org.eclipse.sirius.diagram.ui.tools.internal.actions.pinning.unpinElementsActionId
are now declared as
org.eclipse.sirius.diagram.tools.internal.actions.pinning.pinElementsActionId
and
org.eclipse.sirius.diagram.tools.internal.actions.pinning.unpinElementsActionId
in
org.eclipse.sirius.diagram
plugin.
plugin.xml
that provides UI functionalities have been moved to
org.eclipse.sirius.diagram.ui.ext
.
org.eclipse.sirius.diagram.ui.tools.api.util.GMFNotationHelper.findGMFDiagram()
became deprecated in favor of
DiagramCreationUtil.findAssociatedGMFDiagram()/getAssociatedGMFDiagram()
org.eclipse.sirius.diagram.ui.edit.api.part.IDiagramEdgeEditPart.getEAdapterStrokeColor
method has been removed as the corresponding adapter was uneffective and is no more used and installed on the edge edit parts.
org.eclipse.sirius.diagram.ui.tools.api.figure.InvisibleResizableCompartmentFigure
class has been removed, use a
org.eclipse.gmf.runtime.diagram.ui.figures.ShapeCompartmentFigure
with a
org.eclipse.draw2d.MarginBorder
or a null border instead.
org.eclipse.sirius.diagram.ui.edit.api.part.IDiagramElementEditPart.getEAdapterSemanticElements()
has been removed (and all its implementations). For manual refresh, this adapter has been replaced with the
RefreshEditorsPrecommitListener
.
org.eclipse.sirius.diagram.ui.part.SiriusDiagramEditorUtil.findView()
has been deleted in flavor of
SiriusGMFHelper.getGmfView()
. If you was using
SiriusDiagramEditorUtil.findView()
with a semantic element in parameter, retrieve before the corresponding
DDiagram
or
DDiagramElement
and use
SiriusGMFHelper.getGmfView(DSemanticDecorator)
from this last to get the corresponding GMF View. To get a
DDiagram
or
DDiagramElement
from a semantic element, you can use
EObjectQuery.getInverseReferences(EReference)
API, see
org.eclipse.sirius.diagram.ui.business.api.view.ValidateAction.getDSemanticDecorator()
for an example.
org.eclipse.sirius.table
org.eclipse.sirius.table.business.api.helper.TableHelper.getColumn()
have been removed because they are not useful,
TableHelper.getColumn(DLine, int)
can be replaced by
DTable.getColumns().get(int)
and
TableHelper.getColumn(DTable, String)
should not be used as we can have several columns with a same featureName.
org.eclipse.sirius.table.business.api.helper.TableHelper.getEClassifier(DLine, int)
has been removed because it is not useful, use
TableHelper.getEClassifier(line, column)
instead.
org.eclipse.sirius.table.business.api.helper.TableHelper.getTableElement(DTableElementStyle)
has been removed because it is not useful,
DTableElementStyle.eContainer()
can be used instead.
org.eclipse.sirius.table.business.api.helper.TableHelper.getCell(DCellStyle)
has been removed because they are not useful, use
DCellStyle.eContainer
instead.
org.eclipse.sirius.table.business.api.helper.TableHelper.getCell(RGBValues)
has been removed,
RGBValues
is not an
EObject
anymore. The method was looking in the eContainer hierarchy of a an instance of
RGBValues
to find the parent
DCell
.
org.eclipse.sirius.table.business.api.helper.TableHelper.getCreateCellTool(DCell)
has been removed because it is not useful, use
TableHelper.getCreateCellTool(line, column)
instead.
org.eclipse.sirius.table.business.api.helper.TableHelper.getCellDefaultForegroundColor()
has been removed because it is not useful, use
EnvironmentSystemColorFactory.getDefault().getSystemColorDescription("gray")
instead.
DTableElementUpdater
has been removed from metamodel. It is now unnecessary. This interface was here to provide operations to activate and deactivate the listeners, that have been replaced by the
RefreshImpactedElementsCommand
launched from
RefreshEditorsPrecommitListener
.
org.eclipse.sirius.table.ui
plugin.xml
that provide UI functionalities have been moved to
org.eclipse.sirius.table.ui.ext
.
org.eclipse.sirius.tree
org.eclipse.sirius.tree.business.api.interaction.DTreeItemUserInteraction.refreshContent(boolean fullRefresh)
has been added to allow full refresh from a specified
DTreeItem
.
org.eclipse.sirius.tree.business.api.command.DTreeItemLocalRefreshCommand
has been added to call
DTreeItemUserInteraction.refreshContent(boolean fullRefresh)
in an EMF Command.
org.eclipse.sirius.tree.business.api.interaction.DTreeItemUserInteraction.expand(IProgressMonitor)
has been added similar to
DTreeItemUserInteraction.expand()
but taking a
IProgressMonitor
in parameter to have progression on
DTreeItem
expanding.
org.eclipse.sirius.tree.business.api.interaction.DTreeItemUserInteraction.collapse(IProgressMonitor)
has been added similar to
DTreeItemUserInteraction.collapse()
but taking a
IProgressMonitor
in parameter to have progression on
DTreeItem
collapsing.
org.eclipse.sirius.tree.business.api.interaction.DTreeItemUserInteraction.expandAll(IProgressMonitor)
has been added similar to
DTreeItemUserInteraction.expandAll()
but taking a
IProgressMonitor
in parameter to have progression on
DTreeItem
expanding.
org.eclipse.sirius.tree.business.api.interaction.DTreeItemUserInteraction.refreshContent(boolean, IProgressMonitor)
has been added similar to
DTreeItemUserInteraction.refreshContent(boolean)
but taking a
IProgressMonitor
in parameter to have progression on
DTreeItem
expanding.
DTreeUserInteraction.expand(IProgressMonitor)
has been added similar to
org.eclipse.sirius.tree.business.api.interaction.DTreeUserInteraction.expand()
but taking a
IProgressMonitor
in parameter to have progression on
DTreeItem
expanding.
DTreeUserInteraction.expandAll(IProgressMonitor)
has been added similar to
org.eclipse.sirius.tree.business.api.interaction.DTreeUserInteraction.expandAll()
but taking a
IProgressMonitor
in parameter to have progression on
DTreeItem
expanding.
org.eclipse.sirius.tree.business.api.command.DTreeItemExpansionChangeCommand.DTreeItemExpansionChangeCommand(GlobalContext, TransactionalEditingDomain, DTreeItem, IProgressMonitor, boolean)
has an additional
IProgressMonitor
parameter.
DTreeElementUpdater
has been removed from metamodel. It is now unnecessary. This interface was here to provide operations to activate and deactivate the listeners, that have been replaced by the
RefreshImpactedElementsCommand
launched from
RefreshEditorsPrecommitListener
.
org.eclipse.sirius.tree.ui
org.eclipse.sirius.tree.ui.properties.section.common.AbstractDTreePropertySection.update(final TransactionalEditingDomain domain, final Notification notification)
has been replaced by
org.eclipse.sirius.tree.ui.properties.section.common.AbstractDTreePropertySection.update(ResourceSetChangeEvent)
to allow to update only once per ResourceSetChangeEvent and let subclasses make additional filtering on the notifications.
org.eclipse.sirius.tree.ui.properties.section.common.AbstractDTreePropertySection.getEventListener()
has been changed from
DemultiplexingListener
to
ResourceSetListener
.
org.eclipse.sirius.tree.ui.properties.section.common.AbstractDTreePropertySection.eventListener
has been changed from
DemultiplexingListener
to
ResourceSetListener
.
plugin.xml
that provide UI functionalities have been moved to
org.eclipse.sirius.tree.ui.ext
.
org.eclipse.sirius.synchronizer
org.eclipse.sirius.synchronizer.ModelToModelSynchronizer.update(CreatedOutput, boolean, IProgressMonitor)
has been added similar to
org.eclipse.sirius.synchronizer.ModelToModelSynchronizer.update(CreatedOutput, boolean)
but taking a
IProgressMonitor
in parameter to have progression on synchronization.
org.eclipse.sirius.synchronizer.SemanticPartitionInvalidator.hasFastResult(EObject, SemanticPartition, CreatedOutput)
now takes a
CreatedOutput
as additional parameter element to allow to have the parent output element.
org.eclipse.sirius.synchronizer.SemanticPartition.evaluate(EObject, CreatedOutput)
now takes a
CreatedOutput
as additional parameter. This
CreatedOutput
represents the output model element which will become the parent of the elements created from the evaluation result.
org.eclipse.sirius.ext.swt
org.eclipse.sirius.ext.swt.ImageFileFormat
class has been moved in
org.eclipse.sirius.common.tools.api.resource
(in the
org.eclipse.sirius.common
plugin).
org.eclipse.sirius.ext.e3.ui
org.eclipse.sirius.ext.e3.ui.dialogs.FilteredTree
and
org.eclipse.sirius.ext.e3.ui.dialogs.PatternFilter
have been added in order to have the latest functionalites of
org.eclipse.ui.dialogs.FilteredTree
with Eclipse Juno.
org.eclipse.sirius.ext.emf.tx
org.eclipse.sirius.ext.emf.tx.DelegatingValidateEditSupport
has been added to be able to have a
ValidateEditSupport
which delegate to an existing
ValidateEditSupport
.
org.eclipse.sirius.eef.adapters
This plug-in now requires the version 1.5.0 of
org.eclipse.emf.eef.runtime
bundle.
org.eclipse.sirius.eef.components.SiriusAwarePropertiesEditingComponent
can be used as root class of the generated EEF components to greatly improve performances when using both EEF properties views with Sirius representations. Refer to
Using the Extended Editing Framework with Sirius documentation for details.
x-internal:=true
org.eclipse.sirius.eef.actions
org.eclipse.sirius.eef.adapters
org.eclipse.sirius.tests.junit.support
org.eclipse.sirius.tests.support.api.EclipseTestsSupportHelper.setReadOnlyStatus(boolean, IResource...)
has been added to change the read only status of the given resources.
warnings
member variable has been added to
org.eclipse.sirius.tests.support.api.SiriusTestCase
to allow the recording of warning logs. Methods
doesAWarningOccurs()
,
clearWarnings()
,
setWarningCatchActive(boolean)
,
isWarningCatchActive()
and
getWarningLoggersMessage()
have also been added to manage the
warnings
member variable in the same way as the existing
errors
member variable.
org.eclipse.sirius.tests.support.api.SiriusTestCase.loadModeler(URI, EditingDomain)
has been added to load a VSM resource and make the
Viewpoints
it defines accessible via the
SiriusTestsCase.viewpoints
field.
org.eclipse.sirius.tests.support.api.ImageComposer
has been added to the test API to do assertions on image decorators.
SiriusTestCase.ResourceURIType
and the method
SiriusTestCase.toURI(final String, ResourceURIType)
have been added to allow choosing the type of URI created (
platform:
or
plugin:
).
SiriusTestCase.genericSetUp(List<URI>, List<URI>, boolean, URI)
method has been set to protected so that it can be called from concrete test cases. This method allows initializing session.
TreeItemLabelFontFormatQuery
was moved into
org.eclipse.sirius.tests.support.api
(from
org.eclipse.sirius.tests.swtbot.support.api.widget
), as it can be used in non-SWTBot tests..
org.eclipse.sirius.tests.support.api.SiriusDiagramTestCase.setReadOnly(IFile)
has been deprecated,
org.eclipse.sirius.tests.support.api.EclipseTestsSupportHelper.setReadOnlyStatus(boolean, IResource...)
can be used instead.
org.eclipse.sirius.tests.swtbot.support
warnings
member variable has been added to
org.eclipse.sirius.tests.swtbot.support.api.AbstractSiriusSwtBotGefTestCase
to allow the recording of warning logs. Methods
doesAWarningOccurs()
,
setWarningCatchActive(boolean)
,
isWarningCatchActive()
and
getWarningLoggersMessage()
have also been added to manage the
warnings
member variable in the same way as the existing
errors
member variable.
org.eclipse.sirius.tests.swtbot.support.api.editor.SWTBotSiriusDiagramEditor.getDRepresentation()
has been added to return the
org.eclipse.sirius.viewpoint.DRepresentation
instance available in the diagram editor.
org.eclipse.sirius.tests.swtbot.support.api.AbstractSiriusSwtBotGefTestCase.getSectionButton()
now only takes the button’s tooltip instead of a numerical position index and the tooltip.
org.eclipse.sirius.tests.swtbot.support.api.editor.SWTBotSiriusHelper.selectPropertyTabItem(String)
now returns a
boolean
that is true when the property tab item is found, false otherwise.
TreeItemLabelFontFormatQuery
was moved into
org.eclipse.sirius.tests.support.api
(from
org.eclipse.sirius.tests.swtbot.support.api.widget
), as it can be used in non-SWTBot tests..
org.eclipse.sirius.tests.swtbot.support.api.business.UIPerspective.deleteProject(UIProject)
and
org.eclipse.sirius.tests.swtbot.support.api.business.UIPerspective.deleteProject(String)
have been deprecated,
org.eclipse.sirius.tests.support.api.EclipseTestsSupportHelper.setReadOnlyStatus(boolean, IResource...)
can be used instead.
The following UI plug-ins has been added:
org.eclipse.sirius.ui.ext
org.eclipse.sirius.common.ui.ext
org.eclipse.sirius.diagram.ui.ext
org.eclipse.sirius.table.ui.ext
org.eclipse.sirius.tree.ui.ext
These plug-ins own the extension definitions related to perspective, views, newWizard, menus, contextual menus, editors and preference pages that were previously in
org.eclipse.sirius.xxx.ui
plug-ins.
Now, downstream projects can define features that do not contain
org.eclipse.sirius.xxx.ui.ext
, allowing them not have all that functionalities they may not want.
Example with this initial state before resizing:
Result after resizing without this feature (the edges have moved):
Result after resizing with this feature (the edges keep the same location):
org.eclipse.sirius
org.eclipse.sirius.business.api.session.ViewpointSelector
class has been added, with easy-to-use methods to select/deselect viewpoint in a given session.
VIEWPOINT_REGISTRY_INITIAL_SIZE
preference and
VIEWPOINT_REGISTRY_INITIAL_SIZE_DEFAULT_VALUE
default value has been removed from
org.eclipse.sirius.tools.api.preferences.DCorePreferences
.
org.eclipse.sirius.business.api.query.DRepresentationQuery.isDanglingRepresentation()
has been added to introduce the possibility to check if a representation is a dangling representation, ie. if its a DSemanticDecorator, its target is null or does not belong to a session.
org.eclipse.sirius.ecore.extender.business.api.permission.exception.LockedInstanceException
now can take several EObjects in constructor and a method
LockedInstanceException.getLockedElements()
has been added to get all EObjects put in constructor.
org.eclipse.sirius.tools.api.command.InvalidPermissionCommand
now can take several EObjects in constructor to throw a
LockedInstanceException
with several EObjects.
org.eclipse.sirius.business.api.helper.task.AbstractDeleteDRepresentationElementTask
class has been renamed into
DeleteEObjectTask
.
org.eclipse.sirius.tools.api.command.listener.IChangeListener
and all classes related to this mechanism (
ChangeListenerFactory
,
TriggerOperation
) have been removed as this mechanism proves to be inefficient. It can be replaced by a pre/post commit listener or a
org.eclipse.sirius.business.api.session.ModelChangeTrigger
org.eclipse.sirius.tools.api.ui.IExternalAction2
interface has been removed. It was created to disable some
IChangeListener
when the action indicates it will not delete elements.
org.eclipse.sirius.business.api.dialect.DialectServices.refresh(DRepresentation, boolean, IProgressMonitor
has been added to specify if we want partial refresh or not. By default partial refresh is done. full refresh is only implements for tree dialect.
org.eclipse.sirius.business.api.dialect.AbstractRepresentationDialectServices.refresh(DRepresentation, IProgressMonitor)
has been added to call by default
DialectServices.refresh(DRepresentation, false, IProgressMonitor)
to do a partial refresh.
org.eclipse.sirius.business.api.dialect.command.RefreshRepresentationsCommand.RefreshRepresentationsCommand(TransactionalEditingDomain, boolean, IProgressMonitor, DRepresentation...)
and
RefreshRepresentationsCommand(TransactionalEditingDomain, boolean, IProgressMonitor, Collection<DRepresentation>)
constructors has been added to specify a partial refresh or a full refresh.
org.eclipse.sirius.business.api.dialect.DRepresentationNotificationFilter
has been added to have
org.eclipse.sirius.tools.api.profiler.SiriusTasksKey.CHANGE_SWT_LINE_COLAPSE_STATE_KEY
constant has been deprecated in favor of
SiriusTasksKey.CHANGE_SWT_LINE_COLLAPSE_STATE_KEY
to fix a typo.
org.eclipse.sirius.business.api.color.AbstractColorUpdater.DEFAULT_RED_VALUE/DEFAULT_GREEN_VALUE/DEFAULT_BLUE_VALUE
constants have been added to have access to default
RGBValues
's values. This is used during refresh when there isn’t any
ColorDescription
, for example in tree dialect where background color definition is optional.
org.eclipse.sirius.business.api.tool.ToolFilterDescriptionListener.ToolFilterDescriptionListener()
constructor now takes an
IInterpreter
as additional parameter to capture the current interpreter and avoid calls to the
IInterpreterRegistry
for each evaluation of the tool filter expressions.
org.eclipse.sirius.business.api.query.AirdResourceQuery.getAirDCrossReferenceAdapter()
and
org.eclipse.sirius.business.internal.resource.AirdCrossReferencerAdapter
have been removed. The adapter was here to customize GMF’s own
org.eclipse.gmf.runtime.emf.core.util.CrossReferenceAdapter
. However considering the way Sirius uses GMF, this adapter is not needed.
org.eclipse.sirius.ui
org.eclipse.sirius.ui.business.api.session.UserSession
, the methods
selectSirius()
,
selectOnlySirius()
and
findSiriusByName()
have been renamed into
selectViewpoint()
,
selectOnlyViewpoint()
and
findViewpointByName()
to correct a wrong rebranding.
org.eclipse.sirius.common
org.eclipse.sirius.common.tools.api.resource.ResourceSetSync.getResourceSetSync(TransactionalEditingDomain)
has been added to look for a
ResourceSetSync
without creating a new one if no synchronizer currently exists.
org.eclipse.sirius.common.tools.api.util.SmartAdapter
has been removed as this mechanism proves to be inefficient. The only user of this mechanism was the
org.eclipse.sirius.tools.api.command.listener.IChangeListener
which has also been removed.
org.eclipse.sirius.common.tools.api.ecore.WorkspaceEPackageRegistry
has been moved to the
org.eclipse.sirius.editor
plugin.
org.eclipse.sirius.common.tools.DslCommonPlugin.getWorkspaceEPackageRegistry
has been removed. The same method has been added in
org.eclipse.sirius.editor.editorPlugin.SiriusEditorPlugin
.
org.eclipse.sirius.common.tools.api.resource.ResourceMigrationMarker
has been introduced for adopters. This marker can be attached to a Resource in order to indicate that some automatic migration
might have change the structure of the model during the loading (with no isModified flag). Sirius will then use this information to consider saving the file even if there is no logical change.
org.eclipse.sirius.common.ui
org.eclipse.sirius.common.ui.tools.api.util.EclipseUIUtil.addSelectionListener(IWorkbenchPart, ISelectionListener)
has been added to register a new selection listener to the site for the workbench part. This method looks for a
ISelectionService
by calling
IServiceLocator.getService()
on the site.
org.eclipse.sirius.common.ui.tools.api.util.EclipseUIUtil.removeSelectionListener(IWorkbenchPart, ISelectionListener)
has been added to unregister an existing selection listener from site for the workbench part. This method looks for a
ISelectionService
by calling
IServiceLocator.getService()
on the site.
org.eclipse.sirius.diagram
org.eclipse.sirius.diagram.ui.business.api.view.refresh
package and all its content has been move into the
org.eclipse.sirius.diagram
plug-in, under the name
org.eclipse.sirius.diagram.business.api.view.refresh
.
org.eclipse.sirius.diagram.canonicalSynchronizerFactoryOverride
has been defined. Its only intended implementer is the
org.eclipse.sirius.diagram.ui
plug-in. It is used by the diagram dialect’s core to delegate to the UI plug-in the canonical synchronizer logic, which depends on the UI.
org.eclipse.sirius.diagram.business.api.refresh.CanonicalSynchronizer
, a new method
postCreation()
has been added. It is called exactly once, right after a diagram has been created and synchronized the first time.
org.eclipse.sirius.diagram.description.style.EdgeStyleDescription
metamodel class has three more features:
centeredSourceMappings
,
centeredTargetMappings
and
AlwaysCenter
. Those features let the specifier determine for which mappings the edge source/target should be centered or whether the source/target should be systematically centered. The
endsCentering
values are restricted by the new
org.eclipse.sirius.diagram.description.CenteringStyle
enumeration.
org.eclipse.sirius.diagram.EdgeStyle
metamodel class has now an attribute
centered
of type
org.eclipse.sirius.diagram.description.CenteringStyle
, to determine whether the edge target or source ends should be centered.
org.eclipse.sirius.diagram.ui
org.eclipse.sirius.diagram.ui.business.api.view.refresh
package and all its content has been move into the
org.eclipse.sirius.diagram
plug-in, under the name
org.eclipse.sirius.diagram.business.api.view.refresh
.
org.eclipse.sirius.diagram.ui.business.internal.query.DNodeContainerQuery.getDefaultDimension()
has been added to compute the default size of a DNodeContainer.
additionalFiguresForConflictDetection
has been added to several methods of
org.eclipse.sirius.diagram.ui.tools.api.figure.locator.DBorderItemLocator
. This parameter is used in case of simultaneous border nodes moves. This list corresponds to the already known border nodes feedbacks. They are used to detect conflicts with other moved nodes.
org.eclipse.sirius.diagram.ui.business.api.query.ConnectionEditPartQuery
now provides two new methods
isEdgeWithRectilinearRoutingStyle()
and
isEdgeWithObliqueRoutingStyle()
that respectively checks if an edge has a rectilinear routing style or an oblique routing style.
org.eclipse.sirius.diagram.ui.business.api.query.ConnectionQuery
now provides two new methods
getAbsoluteBendpointsConstraint()
and
getRelativeBendpointsConstraint()
that returns an option of list of
Bendpoint
of a connection whether they are respectively
AbsoluteBendpoint
or
RelatveBendpoint
.
org.eclipse.sirius.diagram.ui.business.api.query.EdgeQuery
also provides two new methods
isEdgeWithRectilinearRoutingStyle()
and
isEdgeWithObliqueRoutingStyle()
that respectively checks if an edge has a rectilinear routing style or an oblique routing style.
org.eclipse.sirius.diagram.ui.tools.api.requests.DistributeRequest
: A new
ChangeBoundsRequest
to manage distribution of shapes.
REQ_DISTRIBUTE
has been added in
org.eclipse.sirius.diagram.ui.tools.api.requests.RequestConstants
to identify the new type of request,
DistributeRequest
.
org.eclipse.sirius.diagram.ui.tools.api.ui.actions.ActionIds
for the new drop down menu in tabbar and for the four new distribute actions.
org.eclipse.sirius.diagram.ui.tools.api.image.DiagramImagesPath
for the icon path of the four new distribute actions.
org.eclipse.sirius.diagram.ui.business.api.view.SiriusLayoutDataManager
to retrieve the opposite edge layout data of another edge layout data. An edge layout data stored in the incomingEdgeLayoutDatas ref of its parent data can have an opposite edge layout data in the outgoingEdgeLayoutDatas of the other ends.
org.eclipse.sirius.diagram.ui.tools.api.requests.RequestConstants.REQ_RESET_ORIGIN
has been added to identify requests to get the ResetOrigin command.
org.eclipse.sirius.diagram.ui.business.api.query.NodeQuery.isContainer()
has been added to test whether the GMF node visualID corresponds to a ContainerEditPart.
org.eclipse.sirius.tree.ui
org.eclipse.sirius.tree.ui.business.api.helper.TreeUIHelper.toContentHTMl()
has changed of behavior: refresh of
DTree
is now partial, i.e. not done for children of collapsed
DTreeItemContainer
. Consequently code calling
TreeUIHelper.toContentHTMl()
must do a full refresh if children of collapsed
DTreeItemContainer
must be displayed in returned HTML.
org.eclipse.sirius.tree.ui.business.api.helper.TreeUIHelper.toTreeDescriptor()
same as for
TreeUIHelper.toContentHTMl()
org.eclipse.sirius.tree
org.eclipse.sirius.tree.business.api.interaction.DTreeUserInteraction.refreshContent(boolean, IProgressMonitor)
has been added to specify if we want partial refresh or not.
org.eclipse.sirius.tree.business.api.command.DTreeItemExpansionChangeCommand
has been added to execute an expansion/collapse of
DTreeItem
. On expansion a refresh of children is done.
org.eclipse.sirius.synchronizer
org.eclipse.sirius.synchronizer.CreatedOutput.synchronizeChildren()
has been added to allow doing a partial refresh of tree, i.e. to not refresh children of collapsed tree item.
org.eclipse.sirius.synchronizer.ModelToModelSynchronizer.update(CreatedOutput, boolean)
has been added to specify if we want partial refresh or not.
org.eclipse.sirius.ecore.extender
org.eclipse.sirius.ecore.extender.business.api.accessor.IMetamodelExtender.eRemoveInverseCrossReferences(EObject, ECrossReferenceAdapter, EReferencePredicate)
has been added as a way to remove the inverse cross references without removing an
EObject
from its container. For example it can be used to avoid the dangling references to an indirectly detached object without removing it from its already detached container and avoid additional REMOVE notifications. The method has been extracted from and is now used by
IMetamodelExtender.eDelete()
.
org.eclipse.sirius.ecore.extender.business.api.accessor.ModelAccessor.eRemoveCrossReferences(EObject, ECrossReferenceAdapter, EReferencePredicate)
has been added as a way to remove the inverse cross references without removing an
EObject
from its container after a check by the permission authority that all changeable feature to modify can be edited.
org.eclipse.sirius.ext.gmf.runtime
org.eclipse.sirius.ext.gmf.runtime.editparts.GraphicalHelper
:
applyZoomOnPoint(IGraphicalEditPart, Point)
: Apply the current zoom (of
IGraphicalEditPart
's diagram) on the
Point
and return the
Point
for convenience.
applyInverseZoomOnPoint(IGraphicalEditPart, Point)
: Apply the inverse of the current zoom (of
IGraphicalEditPart
's diagram) on the
Point
and return the
Point
for convenience.
appliedZoomOnRelativePoint(IGraphicalEditPart, Point)
is now deprecated. Use
applyZoomOnPoint(IGraphicalEditPart, Point)
instead.
getAnchorPoint(IGraphicalEditPart parent, Anchor anchor)
: Get the
Point
(absolute draw2d coordinates) corresponding to this
Anchor
.
getAnchorPoint(IGraphicalEditPart parent, IdentityAnchor anchor)
: Get the
Point
(absolute draw2d coordinates) corresponding to this
IdentityAnchor
.
getIntersection(Point, Point, IGraphicalEditPart, boolean)
: Get intersection between a line between lineOrigin and lineTerminus, and the rectangle bounds of the
IGraphicalEditPart
. If there are several intersections, the shortest is returned.
getAbsoluteBounds(IGraphicalEditPart)
: Get the absolute bounds of this
IGraphicalEditPart
.
getAbsoluteBoundsIn100Percent(IGraphicalEditPart)
: Get the absolute bounds of this
IGraphicalEditPart
but adapted according to the current zoom level.
isSnapToGridEnabled(EditPart)
: Return true if the snapToGrid is enabled for the diagram containing this edit part, false otherwise.
org.eclipse.sirius.tests.swtbot.support
SWTBotSiriusDiagramEditor.setSnapToGrid(boolean)
has been added. It allows to disable or enable the snapToGrid option for this editor.
SWTBotSiriusDiagramEditor.setSnapToGrid(boolean, double, int)
has been added. It allows to disable or enable the snapToGrid option for this editor. In case of activation, you can also set the grid spacing and the ruler units.
SWTBotSiriusDiagramEditor.disableSnapToGrid()
has been deprecated, use
SWTBotSiriusDiagramEditor.setSnapToGrid(false)
instead.
SWTBotSiriusDiagramEditor.adaptLocationToSnap(Point)
has been added. It allows to adapt location according to SnapToHelper of the current editor.
SWTBotSiriusDiagramEditor.getDiagramEditPart()
has been added. It allows to retrieve the diagram edit part of the current editor.
ViewpointSelectionDialog
, the methods
selectViewpoints(String...)
and
deselectViewpoints(String...)
have been added to allow viewpoints selection and deselection from an array of
String
. These methods are shortcuts to the
selectViewpoints(Set<String>, Set<String>)
method.
changeLayerActivation(String)
on
SWTBotSiriusDiagramEditor
to offer the same service as similar method on
UIDiagramRepresentation
.
org.eclipse.sirius.tests.support
org.eclipse.sirius.test.support.SiriusTestCase
, the methods deactivateSirius(), initSirius() and findSirius() have been renamed into deactivateViewpoint(), initViewpoint() and findViewppoint() to correct a wrong rebranding.
org.eclipse.sirius
org.eclipse.sirius.business.api.control
, the constructors of
SiriusControlCommand
and
SiriusUncontrolCommand
which assume implicitly that the session should be saved as part of the command are now deprecated. Use the alternative constructors (a new one has been added to
SiriusUncontrolCommand
) to say explicitly if the command should save the session. Most code should do the save themselves outside of the command, and thus pass
false
to the
shouldEndBySaving
argument of these constructors.
org.eclipse.sirius.business.api.session
, class
SavingPolicyImpl
(the default session saving policy) now inherits from the new
AbstractSavingPolicy
class. The new abstract class can be used as a base to implement different policies by simply overriding the
computeResourcesToSave()
method.
org.eclipse.sirius.diagram.ui
createLayoutEditPolicy
and
getResizeBorderItemCommand
methods have been extracted from
org.eclipse.sirius.diagram.ui.edit.api.part.AbstractDiagramContainerPart
and placed into
org.eclipse.sirius.diagram.ui.edit.api.part.AbstractDiagramElementContainerEditPart
. The
org.eclipse.sirius.diagram.ui.edit.api.part.AbstractDiagramListEditPart.createLayoutEditPolicy
implementation has been removed.
org.eclipse.sirius.diagram.ui
org.eclipse.sirius.editor.tools.api.menu.AbstractMenuBuilder.getLabel()
visibility has been changed from protected to public.
org.eclipse.sirius.editor.tools.api.menu.CompositeMenuBuilder
has been introduced to avoid duplicated menu. A
CompositeMenuBuilder
is created to encapsulate
AbstractMenuBuilder
with the same label.
feature:eAllContents
which only looks for compatible candidates inside the current element (recursively). The new behavior is more efficient on large models and consistent with what happens for diagrams. The change does not affect existing VSMs which continue to work as before whatever was the expression they used. Users who want the old behavior on specific mappings can simply remove the expression in the properties view.
This milestone (Sirius 1.0M7) includes the third, and final, step towards a full separation of the diagram-specific stuff out of the core of Sirius (see Step1 and Step2 for more details).
All classes related to diagrams in
org.eclipse.sirius
have been moved to
org.eclipse.sirius.diagram
.
All classes related to diagrams in
org.eclipse.sirius.ui
have been moved to
org.eclipse.sirius.diagram.ui
.
All classes related to diagrams in
org.eclipse.sirius.editor
have been moved to
org.eclipse.sirius.editor.diagram
.
In the same way, all classes related to UI in
org.eclipse.diagram
have been moved to
org.eclipse.sirius.diagram.ui
. To simplify this step almost all classes of
org.eclipse.diagram
have been moved in
org.eclipse.sirius.diagram.ui
(and probably not only UI classes). These classes have been moved in
src-diag
source folder to facilitate future work about moving some of these classes in
org.eclipse.diagram
again.
Unlike, the
Step1, a simple “Organize Imports” operation is not enough. First, you will probably need to add dependencies to
org.eclipse.sirius.diagram
,
org.eclipse.sirius.diagram.ui
or
org.eclipse.sirius.editor.diagram
in the MANIFEST.MF of your projects that depend on Sirius diagram classes. The dependencies to add depend on what you really use.
ViewpointRegistry.getDiagramDescriptionMappingsRegistry()
has been removed. You can now directly call
org.eclipse.sirius.diagram.business.api.componentization.DiagramDescriptionMappingsRegistry.INSTANCE.DialectServices
.
IRepairParticipant
to isolate specific diagram repair steps.
removeElements(DView, TransactionalEditingDomain, IProgressMonitor)
: Removes elements from the
DView
that will be recreated by the refresh (called later).
cleanRepresentations(EList<DRepresentation>)
: Cleans representations (specific representation states like filters) and eventually returns some of them if they need to be removed.
refreshRepresentations(DAnalysis, DView)
: This method is only implemented by the diagram participant. To simplify work for this step, this method manages core and diagram elements. It should be clean up once the split will be done.
DialectServices
, with default implementations in
AbstractRepresentationDialectServices
:
createTask(CommandContext, ModelAccessor, ModelOperation, Session, UICallBack)
: Creates a new task corresponding to the ModelOperation. Only needed for ModelOperation specific to one dialect.
handles(RepresentationExtensionDescription)
: Tells if the current dialect handles the given
RepresentationExtensionDescription
.
invalidateMappingCache()
: Allows each dialect to clean and compute again its proper mapping cache.
allowsEStructuralFeatureCustomization(EObject)
: allows dialects to indicate if they allow EStrucuralFeaturesCustomization for the given VSM element. It is currently supported for style descriptions in diagrams only.
DialectUIServices
canHandle(RepresentationDescription)
and
canHandle(RepresentationExtensionDescription)
: tell whether the dialect is able to handle the given representation description or extension description.
completeToolTipText(String, EObject)
allows the dialect to customize the tooltip displayed in a property section of a given VSM element.
DialectUIManager
canExport(DRepresentation, ExportFormat)
: New method returning true if at least one dialect is able to export this representation to this format, false otherwise.
IDiagramDescriptionProvider
completeToolTipText(String, EObject)
allows the diagram type to customize the tooltip displayed in a property section of a given VSM element.
SequenceDiagramTypeProvider
implements this method to mention some Sequence specific variable available in core and diagram tool preconditions in the context of a Sequence diagram.
SiriusHelper
concerning diagrams have been moved to
org.eclipse.sirius.diagram.business.api.helper.SiriusDiagramHelper
.
SiriusUtil
concerning diagrams have been moved to
org.eclipse.sirius.diagram.business.api.helper.SiriusDiagramUtil
.
org.eclipse.sirius.business.api.query.EObjectQuery
concerning diagrams have been moved to
org.eclipse.sirius.diagram.business.api.query.EObjectQuery
.
org.eclipse.sirius.diagram.ui.tools.api.draw2d.ui.figures.FigureUtilities
have been moved in
org.eclipse.sirius.ext.draw2d.figure.FigureUtilities
fr.obeo.dsl.viewpoint.diagram.ui.tools.api.layout.GraphicalHelper
has been moved to
org.eclipse.sirius.ext.gmf.runtime.editparts.GraphicalHelper
.
org.eclipse.sirius.diagram.part.SiriusDiagramEditorPlugin
has been renamed into
org.eclipse.sirius.diagram.DiagramPlugin
. This plugin is not a UI plugin any more,
org.eclipse.sirius.diagram.ui.provider.DiagramUIPlugin.getPlugin()
should be used instead for UI related aspects. For example
DiagramUIPlugin.getPlugin().getPreferenceStore()
should be used instead of
DiagramPlugin.getDefault().getPreferenceStore()
or
SiriusDiagramEditorPlugin.getInstance().getPreferenceStore()
.
DeleteFromDiagramContributionItem
and
SetStyleToWorkspaceImageContributionItem
have been merged into
SiriusActionBarActionContributionItem
org.eclipse.sirius.diagram
have been moved to
org.eclipse.sirius.diagram.ui
. In your code, you should replace
SiriusDiagramEditorPlugin.getInstance().getImage()
and
DiagramPlugin.getInstance().getImage()
by
DiagramUIPlugin.getPlugin().getImage()
. That is the case for all methods concerning images in
DiagramPlugin
(previously named
SiriusDiagramEditorPlugin
).
org.eclipse.sirius.ui
have been moved to
org.eclipse.sirius.diagram.ui
, the corresponding constants in
org.eclipse.sirius.ui.tools.api.image.ImagesPath
have been moved in
org.eclipse.sirius.diagram.ui.tools.api.image.DiagramImagesPath
.
static void refreshSelection(DiagramElementMapping)
from
org.eclipse.sirius.editor.tools.api.menu.AbstractEObjectRefactoringAction
is not available anymore.
org.eclipse.sirius.business.api.preferences.SiriusPreferencesKeys.PREF_AUTO_PIN_ON_CREATE
has been moved to
org.eclipse.sirius.diagram.tools.api.preferences.SiriusDiagramPreferencesKeys
.
org.eclipse.sirius.diagram.ui.part.SiriusDiagramEditorID
org.eclipse.sirius.diagram.ui
. This id has to be changed in plugins providing additional property sections to the Sirius diagram editor (created with EEF for example).
Several extension points have been moved:
org.eclipse.sirius
to
org.eclipse.sirius.diagram
. You should change the id of the following extension point in your plugin.xml (
org.eclipse.sirius.xxxx
replaced by
org.eclipse.sirius.diagram.xxxx
):
org.eclipse.sirius.diagram
to
org.eclipse.sirius.diagram.ui
. You should change the id of the following extension points in your plugin.xml (
org.eclipse.sirius.diagram.xxxx
replaced by
org.eclipse.sirius.diagram.ui.xxxx
):
org.eclipse.sirius.common
org.eclipse.sirius.common.tools.api.util.EclipseUtil
, the method
getExtensionPlugins(Class<T>, String, String, String, Predicate<String>)
has been removed from API to avoid exposing a Guava-specific
Predicate
. Instead, use the new method
getExtensionPluginsByKey()
which returns all the extensions organized by the specified key, and filter the result according to whatever critera the
Predicate
tested on the key.
org.eclipse.sirius
org.eclipse.sirius.business.api.query.URIQuery.isSiriusEnvironmentURI
has been replaced by
isSiriusCoreEnvironmentURI
which checks that the given resource is the Sirius core Environment.xmi file.
isEnvironmentURI
which checks that the given resource has an
environment
uri scheme.
org.eclipse.sirius.business.api.dialect.DialectManager
setRefreshActivatedOnRepresentationOpening(boolean)
has been removed as the refresh on opening should be managed from the corresponding preference
org.eclipse.sirius.ui.business.api.preferences.SiriusUIPreferencesKeys.PREF_REFRESH_ON_REPRESENTATION_OPENING
.
isRefreshActivatedOnRepresentationOpening()
has been moved into
org.eclipse.sirius.ui.business.api.dialect.DialectUIManager
as it refers to an UI behavior.
DRepresentation.createContents()
(both variants) and
DRepresentation.updateContents()
EOperations have been removed. They were not used anywhere.
org.eclipse.sirius.business.api.modelingproject.ModelingProject.MODELING_PROJECT_PREDICATE
constant has been removed to reduce Sirius’s exposure of Guava’specific types. Use the equivalent
ModelingProject.hasModelingProjectNature()
method instead.
org.eclipse.sirius.business.api.query.EObjectQuery.getInverseReferences(Predicate<Setting>)
has been removed from API to avoid exposing a the Guava-specific
Predicate
type.
org.eclipse.sirius.business.api.dialect.description.AbstractInterpretedExpressionQuery
, the protected methods
appendAllLocalVariableDefinitions()
and
appendEditMaskVariables()
now take a
Map<String, Collection<String>>
instead of a Guava-specific
Multimap
. The new protected method
addDefinition()
can be used to make it easier to add entries to the map. Subclasses in Sirius have been updated to match the new signature.
org.eclipse.sirius.business.api.modelingproject.ModelingProject.ZERO_REPRESENTATIONS_FILE_FOUND_IN
has been removed without replacement. It was not really an API constant.
org.eclipse.sirius.business.api.modelingproject.ModelingProject.getMainRepresentationsFileURI()
has changed. It now marks this project as invalid and adds a marker on it, if it is considered as invalid (no or many representations files).
org.eclipse.sirius.business.api.query.IFileQuery
has been added with a method to check if file is handled by an opened session, ie:
EObjectLink
class has been removed from the metamodel. It was not used anywhere.
org.eclipse.sirius.business.api.dialect.description.IInterpretedExpressionTargetSwitch
, the
getFirstRelevantContainerFinder()
method which returned a Guava
Function<EObject, EObject>
has been replaced with the new method
getFirstRelevantContainer(EObject)
which directly returns the result of applying the previously returned function. All implementers in Sirius itself have been updated.
org.eclipse.sirius.business.api.dialect.description.DefaultInterpretedExpressionTargetSwitch(EStructuralFeature, IInterpretedExpressionTargetSwitch, Function<EObject, EObject>)
has been removed to avoid exposing a the Guava-specific
Predicate
type. Sub-classes which used it with a non-null
Function
should override the
getFirstRelevantContainer(EObject)
method to return the result of that function instead.
org.eclipse.sirius.business.api.helper.task.AbstractDeleteDRepresentationElementTask
constructor which took a Guava
Predicate<EReference>
now takes an equivalent
EReferencePredicate
(from
org.eclipse.sirius.ext.emf
).
DSEMANTICDECORATOR_REFERENCE_TO_IGNORE_PREDICATE
and
NOTATION_VIEW_ELEMENT_REFERENCE_TO_IGNORE_PREDICATE
from
org.eclipse.sirius.business.internal.session.danalysis.DanglingRefRemovalTrigger
are now instances of
EReferencePredicate
instead of Guava’s
Predicate<EReference>
.
org.eclipse.sirius.business.api.session.SessionEventBroker
, the method
addlLocalTrigger()
now takes a
org.eclipse.emf.transaction.NotificationFilter
instead of a Guava-specific
Predicate<Notification>
as first argument.
org.eclipse.sirius.tools.api.ui.RefreshEditorsPrecommitListener.IS_IMPACTING
is now a
NotificationFilter
instead of a
Predicate
, to match the API change in
SessionEventBroker.addLocalTrigger()
.
org.eclipse.sirius.business.api.session.Session
interface has a new
getSavingPolicy()
method which gives access to the currently configured saving policy.
org.eclipse.sirius.diagram
DNode.ownedDetails
and
DDiagramElementContainerImpl.ownedDetails
have been removed from the metamodel, along with the corresponding implementation methods. They were not used in practice.
DDiagramLink
EClass has been removed from the meta-model, along with the corresponding generated Java code. It was not used in practice.
DDiagram.clean()
EOperation has been removed. It was deprecated and not used anymore. All the Java code which existed only to help in the implementation of that operation has also been removed. This includes:
org.eclipse.sirius.diagram.tools.api.validation.constraint.AbstractDDiagramConstraint.activate()
and
deactivate()
methods.
org.eclipse.sirius.business.api.helper.SiriusHelper.unSetHarmlessDanglingReferences()
method.
org.eclipse.sirius.tools.api.profiler.SiriusTasksKey.CLEANING_NODES_KEY
constant.
DSemanticDiagram.getRootContents()
method (which was deprecated) has been removed.
DDiagram.findDiagramElements()
EOperation has been removed. It was deprecated and always returned an empty list if called.
DDiagram.info
attribute has been removed. It was not used anywhere.
DDiagram.subDiagram
reference has been removed. It was not used anywhere.
DDiagramElement.isFold()
EOperation has been removed. It was deprecated and edge folding has long been implemented using different mechanisms.
ContainerMapping
type, the following EOperations have been removed:
createContainer()
,
updateContainer()
, and
getNodesCandidate()
. Although their usage is highly discouraged, if you really need to you can currently use the corresponding methods in the internal
ContainerMappingHelper
instead (use
SiriusPlugin.getDefault().getInterpreterRegistry().getInterpreter(semanticElement)
to obtain the
IInterpreter
those methods need). As with all internal code, there is no guarantee these methods will still exist in future versions.
AbstractNodeMapping.getDNodesDone()
EOperation has been removed. It was not used anywhere.
NodeMapping
type, the
getBestStyle()
and
createListElement()
EOperations have been removed. Although their usage is highly discouraged, if you really need to you can currently use the corresponding methods in the internal
MappingHelper
instead (use
SiriusPlugin.getDefault().getInterpreterRegistry().getInterpreter(semanticElement)
to obtain the
IInterpreter
these methods need). As with all internal code, there is no guarantee these methods will still exist in future versions.
org.eclipse.sirius.diagram.business.api.diagramtype.IDiagramDescriptionProvider
, the methods
allowsPinUnpin()
,
allowsHideReveal
, and
allowsCopyPasteLayout()
have been modified to take directly the
DDiagramElement
to test (and return a
boolean
) instead of returning a Guava-specific
Predicate
which then had to be invoked.
org.eclipse.sirius.diagram.ui.tools.api.layout.PinHelper
, .the method
allowsPinUnpin()
has been modified to take a
DDiagramElement
directly and return a
boolean
, instead of taking a
DDiagram
and return a Guava-specific
Predicate
which then had to be invoked on actual
DDiagramElements
..
org.eclipse.sirius.diagram.ui.edit.api.part.ISiriusEditPart
has been added and is now part of all the type hierarchy of any EditPart provided by Sirius. This allows a simple
instanceof ISiriusEditPart
to discriminate the edit part instances coming from Sirius.
org.eclipse.sirius.diagram.sequence
org.eclipse.sirius.diagram.sequence.util.SiriusFunctions
class has been removed. It was not used anywhere.
org.eclipse.sirius.diagram.sequence.util.NotificationQuery
class has been removed. It had been exposed by mistake.
org.eclipse.sirius.diagram.sequence.business.internal.util.NotationPredicate
class has been removed from API, to reduce Sirius’s exposure of Guava’specific types.
org.eclipse.sirius.diagram.sequence.util.Range
which returned Guava-specific types (
Function
or
Ordering
) have been removed from API.
org.eclipse.sirius.diagram.sequence.template.AbstractRule
no longer inherits from Guava’s
Function
interface, but from the news ad-hoc
org.eclipse.sirius.diagram.sequence.template.Transformer
interface instead, which is functionally equivalent.
org.eclipse.sirius.ui
org.eclipse.sirius.ui.business.api.preferences.DesignerUIPreferencesKeys
has been renamed into
org.eclipse.sirius.ui.business.api.preferences.SiriusUIPreferencesKeys
getMissingDependencies()
and
getMissingDependenciesErrorMessage()
from
org.eclipse.sirius.ui.business.api.viewpoint.ViewpointSelection
now use
Map<String, Collection<String>>
instead of Guava’s
Multimap
.
org.eclipse.sirius.ui.tools.api.project.ModelingProjectManager.initializeAfterLoad()
method has been removed. There is no replacement for this method documented as “Not intended to be used by client”.
org.eclipse.sirius.ecore.extender
eDelete()
methods which took a
Predicate<EReference>
in types
ModelAccessore
,
IMetamodelExtender
and
CompositeMetamodelExtender
now take an equivalent
EReferencePredicate
(from
org.eclipse.sirius.ext.emf
).
ModelUtils.resolveAll(ResourceSet set, EReferencePredicate)
now takes an
EReferencePredicate
instead of a Guava-specific
Predicate<EReference>
.
org.eclipse.sirius.ext.base
org.eclipse.sirius.ext.base.Options.isSome()
method has been removed to reduce Sirius’s exposure of Guava’specific types. Use
Option.some()
directly instead.
org.eclipse.sirius.ext.base.relations.Relation
no longer inherits from
com.google.common.base.Function
, but keeps the same API otherwise.
org.eclipse.sirius.synchronizer
org.eclipse.sirius.synchronizer.Mapping.IS_CHECK_ONLY
constant has been removed to reduce Sirius’s exposure of Guava’specific types. Use
!Mapping.getCreator().some()
instead.
Maybe
and
MaybeFactory
types have been removed, and all their uses in
org.eclipse.sirius.synchronizer
converted to the equivalent
Option
and
Options
types from
org.eclipse.sirius.ext.base
.
MappingHiearchy.HiearchyIterator
has been removed from API.
org.eclipse.sirius.tests.support
shouldReloadSession
boolean parameter has been removed from
org.eclipse.sirius.tests.support.api.SiriusTestCase.disableUICallBackOnDialectEditor(DialectEditor)
, it was not used and could let the tester think he can change the reload behavior from the dialog factory.
org.eclipse.sirius.tests.swtbot.support.api.AbstractSiriusSwtBotGefTestCase.refreshDiagram()
has been removed. This method did not handle the non dynamic tabbar and was a duplicate of manualRefresh(). Callers must select the diagram before the call,the click(0,0) instruction was not sufficient in several cases (for example if there is a node/container in (0,0)).
org.eclipse.sirius.tests.swtbot.support.api.editor.SWTBotDesignerEditor
has been renamed into
SWTBotSiriusDiagramEditor
.
org.eclipse.sirius.tests.swtbot.support.api.editor.SWTBotDesignerGefViewer
has been renamed into
SWTBotSiriusGefViewer
.
org.eclipse.sirius.tests.swtbot.support.api.editor.SWTBotDesignerHelper
has been renamed into
SWTBotSiriusHelper
.
AbstractSiriusSwtBotGefTestCase.openRepresentation
with
SWTBotDesignerEditor
as returned type have been renamed into
openDiagram
, marked as deprecated and replaced with methods returning a
SWTBotEditor
. You can now use methods
openRepresentation
for DTree or DTable. If the
expectedRepresentationClass
is
DDiagram.class
, the returned type will be a
SWTBotSiriusDiagramEditor
.
org.eclipse.sirius.tests.swtbot.support.api.editor.SWTBotSiriusHelper.getDesignerEditor(String)
has been renamed into
getSiriusDiagramEditor
.
SWTBotSiriusHelper.getSiriusEditor(String)
to return the
SWTBotEditor
(diagram, tree or table editor) with the given name. The name is the name as displayed on the editor’s tab in Eclipse. In case of multiple editors with the same fileName, the same method with an additional parameter, the index, has been added
SWTBotSiriusHelper.getSiriusEditor(String, int)
.
org.eclipse.sirius.tests.swtbot.support.api.editor.SWTBotSiriusDiagramEditor.zoom(ZoomLevel)
to directly change the zoom level of the current diagram editor without trying to change it from the zoom combo in the tabbar.
org.eclipse.sirius.tests.swtbot.support.api.editor.SWTBotSiriusDiagramEditor.zoomFromToolbar(ZoomLevel)
to add possibility to explicitly change the zoom level from the tabbar.
Starting from version 1.0.0M6, Sirius includes high-level APIs to help creating automated tests using JUnit and/or SWTBot. These can be used either to test Sirius itself or to test Sirius-based modelers. These APIs are provided by two plug-ins:
org.eclipse.sirius.tests.support
: support code for JUnit (plug-in) tests using Sirius.
org.eclipse.sirius.tests.swtbot.support
: support code for SWTBot tests using Sirius.
Both plug-ins are only available if you install the new
org.eclipse.sirius.tests
feature.
This milestone (Sirius 1.0M6) includes the second step towards a full separation of the diagram-specific stuff out of the core of Sirius (see Step1 for more details).
This step is less impactful on your code than the first step. Nevertheless, some missed classes during first step have moved during this step:
DDiagramSet
and its corresponding reference from
DRepresentationContainer
: No longer needed
DragAndDropTarget
,
DragAndDropTargetDescription
and
ContainerDropDescription
have been moved to diagram EPackage.
viewpoint/diagram/description/validation
EPackage has been moved to
viewpoint/description/validation
: revert what was done in step 1 by mistake.
The existing VSM (
*.odesign
) and representations file (
*.aird
) are automatically migrated.
Warning: If you have some code based on the root EPackage of an EClass, it may be necessary to adapt it. Example:
EPackage rootPackage = (EPackage) EcoreUtil.getRootContainer(element.eClass()); if (rootPackage != null && rootPackage.getNsURI().equals(ViewpointPackage.eINSTANCE.getNsURI())) {
should be adapted in
EPackage rootPackage = (EPackage) EcoreUtil.getRootContainer(element.eClass()); if (rootPackage != null && rootPackage.getNsURI().equals(DiagramPackage.eINSTANCE.getNsURI())) {
if
element
is a Diagram concept.
org.eclipse.sirius
org.eclipse.sirius.tools.api.command.IDiagramCommandFactory.setAutoRefreshDView()
method was removed. It had no effect, any code which called it can simply be removed.
org.eclipse.sirius.business.api.componentization.ViewpointRegistryListener
has been removed. Use
org.eclipse.sirius.business.api.componentization.ViewpointRegistryListener2
instead.
org.eclipse.sirius.business.api.session.SessionManagerListener2
and
org.eclipse.sirius.business.api.session.SessionManagerListener
have been merged into
org.eclipse.sirius.business.api.session.SessionManagerListener
which is not deprecated any more.
org.eclipse.sirius.business.api.session.SessionManagerListener.notifyUpdatedSession(Session)
has been removed. Use
org.eclipse.sirius.business.api.session.SessionManagerListener.notify(Session, int)
instead.
org.eclipse.sirius.business.api.helper.task.RemoveDanglingReferencesTask
and
org.eclipse.sirius.business.api.helper.task.RemoveSemanticDanglingReferenceTask
and
org.eclipse.sirius.tools.api.command.AbstractCommandFactory.addRemoveDanglingReferencesTask()
have been removed. These tasks were added to in several commands to remove dangling references at the end. They are now replaced by a specific
ModelChangeTrigger
to detect the detachment of
EObject
and remove the dangling references. It is added to the
SessionEventBroker
during the session opening.
org.eclipse.sirius.tools.api.ui.RefreshEditorsPrecommitListener
was a precommit
ResourceSetListener
, it became a
ModelChangeTrigger
and is now added to the SessionEventBroker during the session opening. This modification allows to correctly manage the order of our different precommit commands. It is triggered after the dangling reference remover.
org.eclipse.sirius.tools.api.command.semantic.RemoveDanglingReferences
is no more used in Sirius commands. It can still be used to clean a resourceSet or a resource (repair tool, import/export, ..). It also has a new static method
removeDanglingReferences(Resource)
to remove dangling references as an entry point.
org.eclipse.sirius.business.api.helper.task.AbstractDeleteDRepresentationElementTask.DSEMANTICDECORATOR_REFERENCE_T0_IGNORE_PREDICATE
has been removed, the internal predicate
DanglingRefRemovalTrigger.DSEMANTICDECORATOR_REFERENCE_T0_IGNORE_PREDICATE
is used instead.
org.eclipse.sirius.business.api.helper.SiriusUtil.findDiagram(EObject)
method has been removed. Use the equivalent
new org.eclipse.sirius.business.api.query.EObjectQuery(element).getParentDiagram()
instead.
org.eclipse.sirius.ui
org.eclipse.sirius.ui.tools.api.perspectives.DesignPerspective
interface has been moved to
org.eclipse.sirius.editor.tools.api.perspectives
package in
org.eclipse.sirius.editor
plugin. This perspective is now provided through the
org.eclipse.sirius.editor
plugin. The perspective ID is kept unchanged for a compatibility reason.
org.eclipse.sirius.ui.tools.api.dialogs.ExportRepresentationsAsImagesDialog
has been removed. Use
org.eclipse.sirius.ui.tools.api.dialogs.ExportSeveralRepresentationsAsImagesDialog
instead.
org.eclipse.sirius.diagram
org.sirius.diagram.graphical.edit.policies.AirNoteAttachmentEditPolicy
has been removed, with the new dangling reference management, it became identical to its superclass, use
org.eclipse.gmf.runtime.diagram.ui.internal.editpolicies.ConnectionEditPolicy
instead. Its provider
org.sirius.diagram.graphicalou .edit.policies.AirNoteAttachmentEditPolicyProvider
and declaration in plugin.xml have been removed too.
org.eclipse.sirius.table
org.eclipse.sirius.table.tools.api.command.ITableCommandFactory.setAutoRefreshDTable()
method was removed. It had no effect, any code which called it can simply be removed.
org.eclipse.sirius.tree
org.eclipse.sirius.tree.business.api.command.ITreeCommandFactory.setAutoRefreshDTree()
method was removed. It had no effect, any code which called it can simply be removed.
This milestone (Sirius 1.0M5) introduces several new plug-ins, collectively called “library extensions”. They are all named
org.eclipse.sirius.ext.LIB
, where
LIB
is the name of a library or component Sirius depends on. These plug-ins are used to isolate generic code which extends existing libraries with features and helpers needed for Sirius, but which do not depend on Sirius themselves. A relatively large part of the code in Sirius is of this kind: things that could/should be in EMF, GMF, Eclipse itself, etc. and which are not Sirius-specific but which make it easier to build Sirius itself. Sirius 1.0M5 introduces several of these library extensions and starts to fill them with existing classes which were “hidden” inside Sirius and are now exposed in library extensions. Most of the time, existing code which used the Sirius API will only need to:
Import-Package
(recommended) or
Require-Bundle
to depend on the library extension(s) where the code they use now lives;
For historical reasons, the core Sirius metamodels defined in viewpoint.ecore contain both generic (dialect-independant like Viewpoint, RepresentationDescription, DAnalysis...) concepts and diagram-specific ones (e.g. DNode, EdgeStyle, ContainerCreationDescription...). The table and tree metamodels are more cleanly separated.
This milestone (Sirius 1.0M5) includes the first step towards a full separation of the diagram-specific stuff out of the core of Sirius. So many EClasses have been moved.
Most of the time, existing code which used these Sirius EClasses will only need to perform a simple “Organize Imports” operation, which should find the classes and interfaces in their new locations.
The “Organize imports” is not sufficient in case of imported classes existing several time in different packages (
EFactory
classes for example with
DescriptionFactory
, or
EPackage
classes for example with
DescriptionPackage
). And in some cases
ViewpointFactory
(and
ViewpointPackage
) will have to be replaced by
DiagramFactory
(and
DiagramPackage
).
The
Switch
classes if overridden also require a particular attention.
The existing VSM (
*.odesign
) and representations file (
*.aird
) are automatically migrated.
Warning: Nevertheless, if you reference these Sirius concepts with the EPackage qualifier in your VSM (
*.odesign
), in interpreted expressions for example, you must change
viewpoint
in
diagram
. For example
viewpoint::DDiagramElement
becomes
diagram::DDiagramElement
.
The impacted EPackages are :
viewpoint
: some of its EClasses have been moved to
viewpoint/diagram
viewpoint/description
: some of its EClasses have been moved to
viewpoint/diagram/description
viewpoint/description/style
: some of its EClasses have been moved to
viewpoint/diagram/description/style
viewpoint/description/tool
: some of its EClasses have been moved to
viewpoint/diagram/description/tool
viewpoint/description/filter
: this EPackage has been moved to
viewpoint/diagram/description/filter
viewpoint/description/validation
: this EPackage has been moved to
viewpoint/diagram/description/validation
viewpoint/description/concern
: this EPackage has been moved to
viewpoint/diagram/description/concern
org.eclipse.sirius
org.eclipse.sirius.business.api.migration.resource.StringCouple
class has been removed.
org.eclipse.sirius.business.api.dialect.description.IInterpretedExpressionTargetSwitch.getFirstRelevantContainerFinder
method has been added to let each dialect use its own
Function
to retrieve the first relevant container of a given
EObject
, i.e. the first container from which a domain class can be determined.
org.eclipse.sirius.common.ui
org.eclipse.sirius.common.ui.business.api.interpreter.VariableContentProvider
class has been removed.
org.eclipse.sirius.common.ui.tools.api.util.ISimpleAction
interface has been removed.
org.eclipse.sirius.common.ui.tools.api.dialog.RenameDialog.setText()
has been removed. You can now directly call
org.eclipse.sirius.common.ui.tools.api.dialog.RenameDialog.setDefaultNewName()
which has been added to set the default new name to display. Note that this method must be called before Dialog.create().
org.eclipse.sirius.common.ui.tools.api.dialog.RenameDialog.setTitle()
has been removed. Note that the inherited
setTile()
method is still available but must be called before Dialog.create().
org.eclipse.sirius.table
org.eclipse.sirius.table.business.api.query.DCellQuery.getExportableLabel()
method has been added to compute the label to export when the label is cropped by the
org.eclipse.emf.edit.provider.ItemPropertyDescriptor.ItemDelegator
.
org.eclipse.sirius.table.ui
org.eclipse.sirius.table.ui.business.api.helper.TableUIHelper
now uses
DCellQuery.getExportableLabel()
to compute the cell labels used in HTML export.
org.eclipse.sirius.ui
org.eclipse.sirius.ui.business.api.session.DeprecatedIEditingSession
interface has been removed. Use the corresponding methods from
org.eclipse.sirius.ui.business.api.session.IEditingSession
instead.
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).
org.eclipse.sirius.common
FeatureEditorDialog
. Use the remaining constructor instead, which provides proper behavior for both unique and non-unique features.
IEditingDomainFactory.createEditingDomain()
has been removed. Use the (inherited)
createEditingDomain(ResourceSet)
instead, which ensures correct behavior for all kinds of models (Xtext for example).
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.
getExtensionPlugins()
and
getElementsProvidedByPlugin
from
EcliseUtil
have been removed. If you need this kind of functionality, use the Eclipse APIs directly instead.
COLUMN_SEMANTIC
and
LINE_SEMANTIC
of
IInterpreterSiriusVariables
have been removed. Use the constants of
org.eclipse.sirius.table.tools.api.interpreter.IInterpreterSiriusTableVariables
instead.
org.eclipse.sirius
DialectServices.initRepresentations(Viewpoint, EObject)
has been removed. Use the version which takes an additional
IProgressMonitor
instead.
CreateRepresentationCommand
has been removed. Use the alternative constructor which takes an additional
IProgressMonitor
instead.
RefreshRepresentationCommand
have been removed. Use the alternative constructors which take an additional
IProgressMonitor
instead.
DisplayService.computeVisibility(Session, DDiagram, DDiagramElement)
has been removed. Use the variant
computeVisibility()
which takes a
DiagramMappingsManager
instead of a
Session
.
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.
isDirectlyHidden()
and
isIndirectlyHidden()
in
HideFilterHelper
have been removed. Use the corresponding methods in
DDiagramElementQuery
instead.
SavingPolicy.save(Iterable, Map)
has been removed. Use the variant which takes an additional
IProgressMonitor
instead.
AbstractCommandFactory(TransactionalEditingDomain, ModelAccessor)
has been removed. Use the variant without the
ModelAccessor
argument instead.
CommandContext(EObject)
has been removed. Use the variant which takes an additional
DRepresentation
instead.
activate(TransactionalEditingDomain)
and
deactivate(TransactionalEditingDomain)
in
IChangeListener
have been removed. Use the variants with no argument instead.
AddSemanticResourceCommand(Session, URI)
has been removed. Use the variant which takes an additional
IProgressMonitor
instead.
RemoveSemanticResourceCommand
have been removed. Use the variants which takes an additional
IProgressMonitor
instead.
CreateDiagramWithInitialOperation
has been removed. Use the variant which takes an additional
IProgressMonitor
instead.
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.
DefaultLocalSessionCreationOperation
have been removed. Use the variant which takes an additional
IProgressMonitor
instead.
SessionManager.getSession(URI)
has been removed. Use the variant which takes an additional
IProgressMonitor
instead.
SessionFactory.createSession(URI)
has been removed. Use the variant which takes an additional
IProgressMonitor
instead.
RefreshRepresentationCommand
has been removed. Use the class
RefreshRepresentationsCommand
instead.
RevealSiriusElement
and
RevealDDiagramElement
have been removed. Use the class
RevealDDiagramElements
instead.
DAnalysisSession.save(Map<?, ?>)
has been removed. Use the variant which takes an additional
IProgressMonitor
instead.
MappingTableEntry.getImporter()
has been updated. It now returns an optional (
org.eclipse.sirius.common.tools.api.util.Option
) of
MappingTableEntry
.
IEMFCommandFactory
has been removed. It is not used in Sirius code anymore.
IDiagramCommandFactory.buildCreateDiagramFromDescription(DiagramDescription, EObject)
has been removed. Use the variant which takes an additional
IProgressMonitor
instead.
dispose()
and
disposeInterpreterRegistry(EObject)
have been removed from
InterpreterRegistry
. They corresponded to dead code.
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)
.
SiriusHelper.createDAnalysis()
has been removed. Use
ViewpointFactory.eINSTANCE.createDAnalysis()
instead.
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())
.
buildDoExecuteDetailsOperation(DSemanticDecorator, RepresentationCreationDescription, String) has been pull up from @ITableCommandFactory
,
ITreeCommandFactory
and
IDiagramCommandFactory
to
ICommandFactory
.
getUserInterfaceCallBack()
has been pull up from
ITableCommandFactory
and
ITreeCommandFactory
to
ICommandFactory
. And
AbstractCommandFactory
now implements this method.
allActivatedEdgeMappings
from
Layer
and
DiagramDescription
has been removed from the viewpoint.ecore meta-model. This reference always returns empty list.
org.eclipse.sirius.diagram
IDiagramEdgeEditPart.refreshPath()
and
AbstractDiagramEdgeEditPart.refreshPath()
have been removed. It is not called in Sirius code anymore
org.eclipse.sirius.ecore.extender
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.
org.eclipse.sirius.ui
ModelingProjectManager
have been removed. Use the corresponding versions which take an additional
IProgressMonitor
parameter instead.
ViewpointSelection
have been removed. Use the corresponding versions which take an additional
IProgressMonitor
parameter instead.
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).
SiriusUnControlCommand
DialectUIServices.openEditor(Session, DRepresentation)
has been removed. Use the variant which takes an additional
IProgressMonitor
instead.
SessionHelper.openStartupRepresentations(Session)
has been removed. Use the variant which takes an additional
IProgressMonitor
instead.
SiriusControlHandler.performControl(Shell, EObject)
has been removed. Use the variant which takes an additional
IProgressMonitor
instead.
SiriusUncontrolHandler.performUncontrol(Shell, EObject)
has been removed. Use the variant which takes an additional
IProgressMonitor
instead.
AbstractCreateRepresentationFromRepresentationCreationDescription
: Generalization of all
CreateRepresentationFromRepresentationCreationDescription
classes (iof plug-ins sirius.diagram, sirius.table.ui, sirius.tree.ui).
org.eclipse.sirius.table
TableHelper.getCell(DLine, String)
has been removed. Use the variant which take a DLine and a DColumn as parameters.
org.eclipse.sirius.tree
DTreeUserInteraction.refreshContent()
has been removed. Use the variant which take an additional
IProgressMonitor
parameter instead.
Version 0.9.0 is the first release under the Sirius name and under the Eclipse Foundation umbrella. Except for the few cases mentioned below (in the “Other API Changes”, “Specifier-Visible Changes” and “User-Visible Changes” sections), Sirius 0.9.0 is functionally equivalent to the latest version of Viewpoint (version 6.10), which was the name of the project before it was open sourced at Eclipse. See the rest of the documentation for the complete list of feature of the Sirius platform.
If you have existing projects which used this technology before it became Eclipse Sirius and want to migrate to Sirius, you must:
The latest version of Viewpoint which was available in an Obeo Designer release is Viewpoint 6.8, released in Obeo Designer 6.2. Sirius 0.9 is based on Viewpoint 6.10, which was not released publicly.
If you were using Obeo Designer, you must thus first migrate your projects and models to Obeo Designer 6.2, and then consult the release notes for Viewpoint 6.9 and 6.10, which lists the API changes from Viewpoint 6.8 to 6.10.
Once your projects are compatible with the latest Viewpoint available to you, you can migrate to Sirius, first by updating your Viewpoint Specification Projects and plug-ins which use the Viewpoint APIs, then by updating any Modeling Project and representation files (
*.aird
).
plugin.xml
files to reference the correct extension points identifiers. In particular, all Viewpoint Specification Projects created using Viewpoint use the
fr.obeo.dsl.viewpoint.componentization
in their
plugin.xml
to register the VSMs they define. This should be changed to use the equivalent
org.eclipse.sirius.componentization
extension point id. The identifier changes for the other extension points follow the same rules as the name changes of the plug-ins they are defined in.
*.odesign
files) is automatic: simply open your files once in the VSM editor, perform some no-op change to make the editor “dirty” and save it. The saved version will have been migrated to Sirius.
ViewpointControlCommand
is now
SiriusControlCommand
).
Note that if you used Obeo Designer, you may have used the legacy Acceleo 2.x language for the computed expressions inside the
*.odesign
files (if your expressions are of the form
<%something%>
then you used the legacy language). That language is not supported anymore in Sirius 0.9, so you must migrate your expressions to use Acceleo 3 and/or the specialized interpreters (
var:
,
feature:
and
service:
, see the documentation).
*.aird
) is performed automatically when they are loaded in memory. It will become permanent the first time you save it (you can force this by opening a representation, making some arbitrary change and saving the session).
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.
In the context of the move as an official Eclipse project named Sirius, all the namespaces used in the code have changed.
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.sample.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 |
The Java package names have changed to start with the identifier of the plug-in they are defined in (which has changed). A simple “Source > Organize Imports” on your source folders should find most classes you used in their new namespace.
The Viewpoint code base and APIs used the term “Viewpoint” both for the name of the product and for the name of the concept. When it refered to the name of the product, the names where changed to use “Sirius” instead (for example,
ViewpointControlCommand
is now
SiriusControlCommand
).
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.
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.
This section only lists API changes in Sirius 0.9.0 compared to the latest version of Viewpoint it is based on, i.e. Viewpoint 6.10.
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).
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.
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.
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).
Session
and replaced the internal calls with the equivalent versions with
IProgressMonitors
. The removed methods are:
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);
New variables are available for
sizeComputationExpression
to compute the size of edges on
EdgeStyleDescription
and
BracketEdgeStyleDescription
:
DDiagram
DEdge