Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFlorian Noyrit2016-08-09 10:25:50 +0000
committerGerrit Code Review @ Eclipse.org2016-08-28 15:46:41 +0000
commit7310db0b3b2e8ee805fedf4bfd16baf438c89332 (patch)
tree3dadff6a067e8d8bcbf837d8277dfac7749aef27 /plugins/infra
parent7851474fe5f33de156c797942945a3e9c97cb0a8 (diff)
downloadorg.eclipse.papyrus-7310db0b3b2e8ee805fedf4bfd16baf438c89332.tar.gz
org.eclipse.papyrus-7310db0b3b2e8ee805fedf4bfd16baf438c89332.tar.xz
org.eclipse.papyrus-7310db0b3b2e8ee805fedf4bfd16baf438c89332.zip
Bug 443799 - Fix potential bugs identified by FindBugs in oep.infra.*
Bug 499554 - Oxygen release version number moved to 3.0.0. Change-Id: I8e112db7175a5b89eb9b37973639627a6c29e007
Diffstat (limited to 'plugins/infra')
-rw-r--r--plugins/infra/constraints/org.eclipse.papyrus.infra.constraints.ui/META-INF/MANIFEST.MF4
-rw-r--r--plugins/infra/constraints/org.eclipse.papyrus.infra.constraints.ui/pom.xml20
-rw-r--r--plugins/infra/core/org.eclipse.papyrus.infra.core.sasheditor/src/org/eclipse/papyrus/infra/core/sasheditor/internal/SashWindowsContainer.java134
-rw-r--r--plugins/infra/core/org.eclipse.papyrus.infra.core.sasheditor/src/org/eclipse/papyrus/infra/core/sasheditor/internal/eclipsecopy/MultiPageEditorSite.java1
-rw-r--r--plugins/infra/core/org.eclipse.papyrus.infra.core/src/org/eclipse/papyrus/infra/core/internal/language/DefaultLanguageProvider.java15
-rw-r--r--plugins/infra/core/org.eclipse.papyrus.infra.core/src/org/eclipse/papyrus/infra/core/modelsetquery/impl/ModelSetQueryAdapterSizeMatters.java31
-rw-r--r--plugins/infra/core/org.eclipse.papyrus.infra.core/src/org/eclipse/papyrus/infra/core/modelsetquery/impl/ModelSetQueryAdapterTimeMatters.java10
-rw-r--r--plugins/infra/core/org.eclipse.papyrus.infra.core/src/org/eclipse/papyrus/infra/core/resource/ModelSet.java21
-rw-r--r--plugins/infra/core/org.eclipse.papyrus.infra.core/src/org/eclipse/papyrus/infra/core/resource/sasheditor/SashModel.java11
-rw-r--r--plugins/infra/core/org.eclipse.papyrus.infra.core/src/org/eclipse/papyrus/infra/core/services/internal/ErrorServiceTypeEntry.java212
-rw-r--r--plugins/infra/core/org.eclipse.papyrus.infra.tools/.settings/.api_filters35
-rw-r--r--plugins/infra/discovery/org.eclipse.papyrus.infra.discovery.ui/.settings/.api_filters12
-rw-r--r--plugins/infra/editor/org.eclipse.papyrus.infra.editor.welcome.nattable/META-INF/MANIFEST.MF6
-rw-r--r--plugins/infra/editor/org.eclipse.papyrus.infra.editor.welcome.nattable/pom.xml22
-rw-r--r--plugins/infra/editor/org.eclipse.papyrus.infra.editor.welcome/META-INF/MANIFEST.MF2
-rw-r--r--plugins/infra/emf/org.eclipse.papyrus.infra.emf.appearance/pom.xml22
-rw-r--r--plugins/infra/emf/org.eclipse.papyrus.infra.emf.diagram.common/META-INF/MANIFEST.MF2
-rw-r--r--plugins/infra/emf/org.eclipse.papyrus.infra.emf.gmf/src/org/eclipse/papyrus/infra/emf/gmf/util/OperationHistoryDirtyState.java5
-rw-r--r--plugins/infra/emf/org.eclipse.papyrus.infra.emf.readonly/META-INF/MANIFEST.MF2
-rw-r--r--plugins/infra/emf/org.eclipse.papyrus.infra.emf.readonly/pom.xml2
-rw-r--r--plugins/infra/emf/org.eclipse.papyrus.infra.emf.readonly/src/org/eclipse/papyrus/infra/emf/readonly/AbstractReadOnlyHandler.java29
-rw-r--r--plugins/infra/emf/org.eclipse.papyrus.infra.emf.types.ui/META-INF/MANIFEST.MF4
-rw-r--r--plugins/infra/emf/org.eclipse.papyrus.infra.emf.types.ui/pom.xml22
-rw-r--r--plugins/infra/emf/org.eclipse.papyrus.infra.emf.types/src/org/eclipse/papyrus/infra/emf/types/converter/ObjectToBooleanConverter.java51
-rw-r--r--plugins/infra/emf/org.eclipse.papyrus.infra.emf.types/src/org/eclipse/papyrus/infra/emf/types/converter/ObjectToIntegerConverter.java50
-rw-r--r--plugins/infra/emf/org.eclipse.papyrus.infra.emf/pom.xml22
-rw-r--r--plugins/infra/emf/org.eclipse.papyrus.infra.emf/src/org/eclipse/papyrus/infra/emf/internal/resource/index/IndexManager.java1
-rw-r--r--plugins/infra/emf/org.eclipse.papyrus.infra.emf/src/org/eclipse/papyrus/infra/emf/resource/ShardResourceLocator.java7
-rw-r--r--plugins/infra/emf/org.eclipse.papyrus.infra.ui.emf/META-INF/MANIFEST.MF6
-rw-r--r--plugins/infra/emf/org.eclipse.papyrus.infra.ui.emf/pom.xml22
-rw-r--r--plugins/infra/emf/org.eclipse.papyrus.infra.ui.emf/src/org/eclipse/papyrus/infra/ui/emf/providers/strategy/ContainmentBrowseStrategy.java5
-rw-r--r--plugins/infra/gmfdiag/assistant/org.eclipse.papyrus.infra.gmfdiag.assistant/META-INF/MANIFEST.MF2
-rw-r--r--plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.configuration/META-INF/MANIFEST.MF8
-rw-r--r--plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.configuration/pom.xml22
-rw-r--r--plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.properties/META-INF/MANIFEST.MF8
-rw-r--r--plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.properties/pom.xml22
-rw-r--r--plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.properties/src/org/eclipse/papyrus/infra/gmfdiag/css/properties/fieldeditor/InputComboFieldEditor.java2
-rw-r--r--plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.theme/META-INF/MANIFEST.MF2
-rw-r--r--plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css/META-INF/MANIFEST.MF4
-rw-r--r--plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css/pom.xml22
-rw-r--r--plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/style/impl/CSSImageBufferStyleDelegate.java110
-rw-r--r--plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/style/impl/CSSImageStyleDelegate.java108
-rw-r--r--plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css/src/org/eclipse/papyrus/infra/gmfdiag/css/dom/GMFElementAdapter.java56
-rw-r--r--plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css3.xtext.ui/META-INF/MANIFEST.MF6
-rw-r--r--plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css3.xtext.ui/pom.xml100
-rw-r--r--plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css3.xtext/META-INF/MANIFEST.MF2
-rw-r--r--plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css3.xtext/pom.xml100
-rw-r--r--plugins/infra/gmfdiag/org.eclipse.papyrus.extensionpoints.editors/META-INF/MANIFEST.MF4
-rw-r--r--plugins/infra/gmfdiag/org.eclipse.papyrus.extensionpoints.editors/pom.xml22
-rw-r--r--plugins/infra/gmfdiag/org.eclipse.papyrus.extensionpoints.editors/src/org/eclipse/papyrus/extensionpoints/editors/definition/DirectEditorExtensionPoint.java48
-rw-r--r--plugins/infra/gmfdiag/org.eclipse.papyrus.extensionpoints.editors/src/org/eclipse/papyrus/extensionpoints/editors/preferences/PapyrusEmbeddedEditorsPreferencePage.java2
-rw-r--r--plugins/infra/gmfdiag/org.eclipse.papyrus.extensionpoints.editors/src/org/eclipse/papyrus/extensionpoints/editors/ui/ExtendedDirectEditionDialog.java3
-rw-r--r--plugins/infra/gmfdiag/org.eclipse.papyrus.extensionpoints.editors/src/org/eclipse/papyrus/extensionpoints/editors/utils/DirectEditorsUtil.java590
-rw-r--r--plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.canonical/META-INF/MANIFEST.MF4
-rw-r--r--plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.canonical/pom.xml22
-rw-r--r--plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.commands/META-INF/MANIFEST.MF4
-rw-r--r--plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.commands/pom.xml20
-rw-r--r--plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.commands/src/org/eclipse/papyrus/commands/NestingNotifyingWorkspaceCommandStack.java1
-rw-r--r--plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.commands/src/org/eclipse/papyrus/commands/NotifyingWorkspaceCommandStack.java38
-rw-r--r--plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.commands/src/org/eclipse/papyrus/commands/wrappers/EMFtoGMFCommandWrapper.java71
-rw-r--r--plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.commands/src/org/eclipse/papyrus/commands/wrappers/GMFtoEMFCommandWrapper.java71
-rw-r--r--plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.common/META-INF/MANIFEST.MF9
-rw-r--r--plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.common/pom.xml20
-rw-r--r--plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.common/src/org/eclipse/papyrus/infra/gmfdiag/common/SynchronizableGmfDiagramEditor.java2
-rw-r--r--plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.common/src/org/eclipse/papyrus/infra/gmfdiag/common/databinding/GMFObservableList.java2
-rw-r--r--plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.common/src/org/eclipse/papyrus/infra/gmfdiag/common/databinding/GMFObservableValue.java2
-rw-r--r--plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.common/src/org/eclipse/papyrus/infra/gmfdiag/common/editpolicies/AbstractShowHideRelatedLinkEditPolicy.java2
-rw-r--r--plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.common/src/org/eclipse/papyrus/infra/gmfdiag/common/editpolicies/HighlightEditPolicy.java37
-rw-r--r--plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.common/src/org/eclipse/papyrus/infra/gmfdiag/common/expansion/InducedRepresentationCreationEditPolicy.java65
-rw-r--r--plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.common/src/org/eclipse/papyrus/infra/gmfdiag/common/sync/EditPartSyncTrigger.java254
-rw-r--r--plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.common/src/org/eclipse/papyrus/infra/gmfdiag/common/sync/NodePositionSyncFeature.java314
-rw-r--r--plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.common/src/org/eclipse/papyrus/infra/gmfdiag/common/sync/NodeSizeSyncFeature.java328
-rw-r--r--plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.common/src/org/eclipse/papyrus/infra/gmfdiag/common/utils/GMFUnsafe.java199
-rw-r--r--plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.controlmode/META-INF/MANIFEST.MF2
-rw-r--r--plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.dnd/META-INF/MANIFEST.MF2
-rw-r--r--plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.dnd/src/org/eclipse/papyrus/infra/gmfdiag/dnd/preferences/DropStrategyEditor.java40
-rw-r--r--plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.dnd/src/org/eclipse/papyrus/infra/gmfdiag/dnd/strategy/ExpansionElementDropStrategy.java434
-rw-r--r--plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.export/META-INF/MANIFEST.MF4
-rw-r--r--plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.export/pom.xml22
-rw-r--r--plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.export/src/org/eclipse/papyrus/infra/gmfdiag/export/Activator.java218
-rw-r--r--plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.export/src/org/eclipse/papyrus/infra/gmfdiag/export/DialogDisplayUtils.java104
-rw-r--r--plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.export/src/org/eclipse/papyrus/infra/gmfdiag/export/actions/ExportAllDiagramsAction.java4
-rw-r--r--plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.export/src/org/eclipse/papyrus/infra/gmfdiag/export/actions/ExportComposite.java7
-rw-r--r--plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.export/src/org/eclipse/papyrus/infra/gmfdiag/export/engine/ExportAllDiagramsEngine.java5
-rw-r--r--plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.export/src/org/eclipse/papyrus/infra/gmfdiag/export/wizard/ExportAllWizard.java27
-rw-r--r--plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.gef/META-INF/MANIFEST.MF2
-rw-r--r--plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.gmfmenu.filter/META-INF/MANIFEST.MF2
-rw-r--r--plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.hyperlink/META-INF/MANIFEST.MF10
-rw-r--r--plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.hyperlink/pom.xml20
-rw-r--r--plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.hyperlink/src/org/eclipse/papyrus/infra/gmfdiag/hyperlink/editpolicies/NavigationEditPolicy.java4
-rw-r--r--plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.menu/META-INF/MANIFEST.MF4
-rw-r--r--plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.modelexplorer/META-INF/MANIFEST.MF6
-rw-r--r--plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.modelexplorer/src/org/eclipse/papyrus/infra/gmfdiag/modelexplorer/handlers/RenameDiagramHandler.java3
-rw-r--r--plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.navigation/META-INF/MANIFEST.MF10
-rw-r--r--plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.navigation/pom.xml22
-rw-r--r--plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.navigation/src/org/eclipse/papyrus/infra/gmfdiag/navigation/menu/DefaultNavigationMenu.java46
-rw-r--r--plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.outline/META-INF/MANIFEST.MF2
-rw-r--r--plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.preferences/META-INF/MANIFEST.MF6
-rw-r--r--plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.preferences/pom.xml20
-rw-r--r--plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.preferences/src/org/eclipse/papyrus/infra/gmfdiag/preferences/pages/AbstractPapyrusElementPreferencePage.java8
-rw-r--r--plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.preferences/src/org/eclipse/papyrus/infra/gmfdiag/preferences/pages/AbstractPapyrusLinkPreferencePage.java6
-rw-r--r--plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.preferences/src/org/eclipse/papyrus/infra/gmfdiag/preferences/pages/AbstractPapyrusNodePreferencePage.java17
-rw-r--r--plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.preferences/src/org/eclipse/papyrus/infra/gmfdiag/preferences/pages/AbstractPapyrusPreferencePage.java49
-rw-r--r--plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.preferences/src/org/eclipse/papyrus/infra/gmfdiag/preferences/pages/PapyrusAllDiagramsPreferencePage.java17
-rw-r--r--plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.preferences/src/org/eclipse/papyrus/infra/gmfdiag/preferences/pages/internal/PapyrusUML2PreferencePage.java2
-rw-r--r--plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.preferences/src/org/eclipse/papyrus/infra/gmfdiag/preferences/pages/internal/VisiblePageSingleton.java2
-rw-r--r--plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.preferences/src/org/eclipse/papyrus/infra/gmfdiag/preferences/ui/LabelGroup.java2
-rw-r--r--plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.preferences/src/org/eclipse/papyrus/infra/gmfdiag/preferences/ui/NodeColorGroup.java5
-rw-r--r--plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.preferences/src/org/eclipse/papyrus/infra/gmfdiag/preferences/ui/OrderedLabelGroup.java2
-rw-r--r--plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.properties/META-INF/MANIFEST.MF8
-rw-r--r--plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.properties/pom.xml20
-rw-r--r--plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.properties/src/org/eclipse/papyrus/infra/gmfdiag/properties/databinding/CanonicalObservableValue.java2
-rw-r--r--plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.viewersearcher/META-INF/MANIFEST.MF4
-rw-r--r--plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.welcome/META-INF/MANIFEST.MF6
-rw-r--r--plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.welcome/src/org/eclipse/papyrus/infra/gmfdiag/welcome/internal/modelelements/NotationObservableProperty.java8
-rw-r--r--plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.widgets/META-INF/MANIFEST.MF4
-rw-r--r--plugins/infra/misc/org.eclipse.papyrus.infra.hyperlink/META-INF/MANIFEST.MF6
-rw-r--r--plugins/infra/misc/org.eclipse.papyrus.infra.hyperlink/pom.xml20
-rw-r--r--plugins/infra/nattable/org.eclipse.papyrus.infra.emf.nattable/META-INF/MANIFEST.MF4
-rwxr-xr-xplugins/infra/nattable/org.eclipse.papyrus.infra.emf.nattable/pom.xml20
-rw-r--r--plugins/infra/nattable/org.eclipse.papyrus.infra.emf.nattable/src/org/eclipse/papyrus/infra/emf/nattable/manager/cell/EMFFeatureValueCellManager.java81
-rw-r--r--plugins/infra/nattable/org.eclipse.papyrus.infra.nattable.common/META-INF/MANIFEST.MF8
-rw-r--r--plugins/infra/nattable/org.eclipse.papyrus.infra.nattable.common/pom.xml20
-rw-r--r--plugins/infra/nattable/org.eclipse.papyrus.infra.nattable.common/src/org/eclipse/papyrus/infra/nattable/common/api/TableEditorCreationHelper.java12
-rw-r--r--plugins/infra/nattable/org.eclipse.papyrus.infra.nattable.controlmode/META-INF/MANIFEST.MF4
-rw-r--r--plugins/infra/nattable/org.eclipse.papyrus.infra.nattable.controlmode/pom.xml22
-rw-r--r--plugins/infra/nattable/org.eclipse.papyrus.infra.nattable.gmfdiag/META-INF/MANIFEST.MF6
-rw-r--r--plugins/infra/nattable/org.eclipse.papyrus.infra.nattable.modelexplorer/META-INF/MANIFEST.MF8
-rw-r--r--plugins/infra/nattable/org.eclipse.papyrus.infra.nattable.modelexplorer/pom.xml20
-rw-r--r--plugins/infra/nattable/org.eclipse.papyrus.infra.nattable.properties/META-INF/MANIFEST.MF8
-rw-r--r--plugins/infra/nattable/org.eclipse.papyrus.infra.nattable.properties/pom.xml20
-rw-r--r--plugins/infra/nattable/org.eclipse.papyrus.infra.nattable.properties/src/org/eclipse/papyrus/infra/nattable/properties/constraints/EObjectInTableCanCreateColumnElementContraint.java2
-rw-r--r--plugins/infra/nattable/org.eclipse.papyrus.infra.nattable.properties/src/org/eclipse/papyrus/infra/nattable/properties/constraints/EObjectInTableCanCreateRowElementContraint.java2
-rw-r--r--plugins/infra/nattable/org.eclipse.papyrus.infra.nattable.properties/src/org/eclipse/papyrus/infra/nattable/properties/constraints/EObjectInTableCantCreateColumnElementContraint.java2
-rw-r--r--plugins/infra/nattable/org.eclipse.papyrus.infra.nattable.properties/src/org/eclipse/papyrus/infra/nattable/properties/constraints/EObjectInTableCantCreateRowElementContraint.java2
-rw-r--r--plugins/infra/nattable/org.eclipse.papyrus.infra.nattable.properties/src/org/eclipse/papyrus/infra/nattable/properties/constraints/EObjectInTableHasColumnFeatureLabelConfigurationConstraint.java2
-rw-r--r--plugins/infra/nattable/org.eclipse.papyrus.infra.nattable.properties/src/org/eclipse/papyrus/infra/nattable/properties/constraints/EObjectInTableHasColumnObjectLabelConfigurationConstraint.java2
-rw-r--r--plugins/infra/nattable/org.eclipse.papyrus.infra.nattable.properties/src/org/eclipse/papyrus/infra/nattable/properties/constraints/EObjectInTableHasRowFeatureLabelConfigurationConstraint.java2
-rw-r--r--plugins/infra/nattable/org.eclipse.papyrus.infra.nattable.properties/src/org/eclipse/papyrus/infra/nattable/properties/constraints/EObjectInTableHasRowObjectLabelConfigurationConstraint.java2
-rw-r--r--plugins/infra/nattable/org.eclipse.papyrus.infra.nattable.properties/src/org/eclipse/papyrus/infra/nattable/properties/constraints/EObjectInTableHasTreeFillingConfigurationConstraint.java2
-rw-r--r--plugins/infra/nattable/org.eclipse.papyrus.infra.nattable.properties/src/org/eclipse/papyrus/infra/nattable/properties/constraints/EObjectInTableIsFlatTableConstraint.java2
-rw-r--r--plugins/infra/nattable/org.eclipse.papyrus.infra.nattable.properties/src/org/eclipse/papyrus/infra/nattable/properties/constraints/EObjectInTableJavaConstraint.java23
-rw-r--r--plugins/infra/nattable/org.eclipse.papyrus.infra.nattable.properties/src/org/eclipse/papyrus/infra/nattable/properties/constraints/IsEObjectInFlatTableConstraint.java2
-rw-r--r--plugins/infra/nattable/org.eclipse.papyrus.infra.nattable.properties/src/org/eclipse/papyrus/infra/nattable/properties/constraints/IsEObjectInTableConstraint.java21
-rw-r--r--plugins/infra/nattable/org.eclipse.papyrus.infra.nattable.properties/src/org/eclipse/papyrus/infra/nattable/properties/constraints/IsEObjectInTreeTableConstraint.java2
-rw-r--r--plugins/infra/nattable/org.eclipse.papyrus.infra.nattable.views.config/META-INF/MANIFEST.MF4
-rw-r--r--plugins/infra/nattable/org.eclipse.papyrus.infra.nattable.views.config/pom.xml20
-rw-r--r--plugins/infra/nattable/org.eclipse.papyrus.infra.nattable.views.editor/META-INF/MANIFEST.MF2
-rw-r--r--plugins/infra/nattable/org.eclipse.papyrus.infra.nattable/META-INF/MANIFEST.MF8
-rw-r--r--plugins/infra/nattable/org.eclipse.papyrus.infra.nattable/pom.xml20
-rw-r--r--plugins/infra/nattable/org.eclipse.papyrus.infra.nattable/src/org/eclipse/papyrus/infra/nattable/comparator/DoubleFilterComparator.java148
-rwxr-xr-xplugins/infra/nattable/org.eclipse.papyrus.infra.nattable/src/org/eclipse/papyrus/infra/nattable/dataprovider/FilterRowDataProvider.java1159
-rwxr-xr-xplugins/infra/nattable/org.eclipse.papyrus.infra.nattable/src/org/eclipse/papyrus/infra/nattable/filter/AbstractSinglePapyrusMatcher.java240
-rw-r--r--plugins/infra/nattable/org.eclipse.papyrus.infra.nattable/src/org/eclipse/papyrus/infra/nattable/glazedlists/copy/MouseOnlySortingStrategy.java134
-rw-r--r--plugins/infra/nattable/org.eclipse.papyrus.infra.nattable/src/org/eclipse/papyrus/infra/nattable/manager/axis/ITreeItemAxisComparator.java10
-rwxr-xr-xplugins/infra/nattable/org.eclipse.papyrus.infra.nattable/src/org/eclipse/papyrus/infra/nattable/manager/table/AbstractNattableWidgetManager.java16
-rwxr-xr-xplugins/infra/nattable/org.eclipse.papyrus.infra.nattable/src/org/eclipse/papyrus/infra/nattable/manager/table/NattableModelManager.java11
-rw-r--r--plugins/infra/nattable/org.eclipse.papyrus.infra.nattable/src/org/eclipse/papyrus/infra/nattable/painter/PapyrusBeveledBorderDecorator.java14
-rw-r--r--plugins/infra/nattable/org.eclipse.papyrus.infra.nattable/src/org/eclipse/papyrus/infra/nattable/provider/AbstractPasteInSelectionNattableCommandProvider.java91
-rw-r--r--plugins/infra/nattable/org.eclipse.papyrus.infra.nattable/src/org/eclipse/papyrus/infra/nattable/provider/PasteEObjectTreeAxisInNattableCommandProvider.java12
-rw-r--r--plugins/infra/nattable/org.eclipse.papyrus.infra.nattable/src/org/eclipse/papyrus/infra/nattable/provider/PasteInSelectionTreeNattableCommandProvider.java12
-rw-r--r--plugins/infra/nattable/org.eclipse.papyrus.infra.nattable/src/org/eclipse/papyrus/infra/nattable/utils/InsertedElementInNattable.java37
-rw-r--r--plugins/infra/newchild/org.eclipse.papyrus.infra.newchild.edit/META-INF/MANIFEST.MF4
-rw-r--r--plugins/infra/newchild/org.eclipse.papyrus.infra.newchild.edit/pom.xml22
-rw-r--r--plugins/infra/newchild/org.eclipse.papyrus.infra.newchild.editor/META-INF/MANIFEST.MF2
-rw-r--r--plugins/infra/newchild/org.eclipse.papyrus.infra.newchild/META-INF/MANIFEST.MF6
-rw-r--r--plugins/infra/newchild/org.eclipse.papyrus.infra.newchild/pom.xml22
-rw-r--r--plugins/infra/newchild/org.eclipse.papyrus.infra.newchild/src/org/eclipse/papyrus/infra/newchild/CreationMenuRegistry.java34
-rw-r--r--plugins/infra/onefile/org.eclipse.papyrus.infra.onefile/src/org/eclipse/papyrus/infra/onefile/utils/OneFileUtils.java9
-rw-r--r--plugins/infra/properties/org.eclipse.papyrus.infra.properties.ui/META-INF/MANIFEST.MF6
-rw-r--r--plugins/infra/properties/org.eclipse.papyrus.infra.properties.ui/pom.xml20
-rw-r--r--plugins/infra/properties/org.eclipse.papyrus.infra.properties.ui/src/org/eclipse/papyrus/infra/properties/ui/modelelement/AbstractModelElement.java10
-rw-r--r--plugins/infra/properties/org.eclipse.papyrus.infra.properties.ui/src/org/eclipse/papyrus/infra/properties/ui/util/PropertiesUtil.java24
-rw-r--r--plugins/infra/services/org.eclipse.papyrus.infra.services.controlmode/META-INF/MANIFEST.MF2
-rw-r--r--plugins/infra/services/org.eclipse.papyrus.infra.services.controlmode/src/org/eclipse/papyrus/infra/services/controlmode/commands/LoadDiagramCommand.java4
-rw-r--r--plugins/infra/services/org.eclipse.papyrus.infra.services.decoration/META-INF/MANIFEST.MF2
-rw-r--r--plugins/infra/services/org.eclipse.papyrus.infra.services.edit.ui/META-INF/MANIFEST.MF4
-rw-r--r--plugins/infra/services/org.eclipse.papyrus.infra.services.edit.ui/pom.xml20
-rw-r--r--plugins/infra/services/org.eclipse.papyrus.infra.services.navigation/META-INF/MANIFEST.MF6
-rw-r--r--plugins/infra/services/org.eclipse.papyrus.infra.services.navigation/pom.xml20
-rw-r--r--plugins/infra/services/org.eclipse.papyrus.infra.services.openelement/META-INF/MANIFEST.MF6
-rw-r--r--plugins/infra/services/org.eclipse.papyrus.infra.services.openelement/pom.xml20
-rw-r--r--plugins/infra/services/org.eclipse.papyrus.infra.services.resourceloading.ui/META-INF/MANIFEST.MF2
-rw-r--r--plugins/infra/services/org.eclipse.papyrus.infra.services.validation/META-INF/MANIFEST.MF4
-rw-r--r--plugins/infra/services/org.eclipse.papyrus.infra.services.validation/pom.xml20
-rw-r--r--plugins/infra/types/org.eclipse.papyrus.infra.types.core/src/org/eclipse/papyrus/infra/types/core/registries/AdviceConfigurationTypeRegistry.java6
-rw-r--r--plugins/infra/types/org.eclipse.papyrus.infra.types.core/src/org/eclipse/papyrus/infra/types/core/registries/ContainerConfigurationTypeRegistry.java6
-rw-r--r--plugins/infra/types/org.eclipse.papyrus.infra.types.core/src/org/eclipse/papyrus/infra/types/core/registries/ElementTypeConfigurationTypeRegistry.java6
-rw-r--r--plugins/infra/types/org.eclipse.papyrus.infra.types.core/src/org/eclipse/papyrus/infra/types/core/registries/ElementTypeSetConfigurationRegistry.java26
-rw-r--r--plugins/infra/types/org.eclipse.papyrus.infra.types.core/src/org/eclipse/papyrus/infra/types/core/registries/MatcherConfigurationTypeRegistry.java6
-rw-r--r--plugins/infra/ui/org.eclipse.papyrus.infra.newchild.ui/.project5
-rw-r--r--plugins/infra/ui/org.eclipse.papyrus.infra.newchild.ui/META-INF/MANIFEST.MF4
-rw-r--r--plugins/infra/ui/org.eclipse.papyrus.infra.onefile.ui/META-INF/MANIFEST.MF2
-rw-r--r--plugins/infra/ui/org.eclipse.papyrus.infra.onefile.ui/src/org/eclipse/papyrus/infra/onefile/internal/ui/action/CopyFilesAndFoldersOperation.java12
-rw-r--r--plugins/infra/ui/org.eclipse.papyrus.infra.ui.resources/META-INF/MANIFEST.MF4
-rw-r--r--plugins/infra/ui/org.eclipse.papyrus.infra.ui.resources/src/org/eclipse/papyrus/infra/ui/resources/refactoring/ModelParticipantHelpers.java8
-rw-r--r--plugins/infra/ui/org.eclipse.papyrus.infra.ui.resources/src/org/eclipse/papyrus/infra/ui/resources/refactoring/RenameModelChange.java17
-rw-r--r--plugins/infra/ui/org.eclipse.papyrus.infra.ui.resources/src/org/eclipse/papyrus/infra/ui/resources/refactoring/ui/ScopeChooser.java29
-rw-r--r--plugins/infra/ui/org.eclipse.papyrus.infra.ui/META-INF/MANIFEST.MF6
-rw-r--r--plugins/infra/ui/org.eclipse.papyrus.infra.ui/pom.xml24
-rw-r--r--plugins/infra/ui/org.eclipse.papyrus.infra.ui/src/org/eclipse/papyrus/infra/ui/contentoutline/NestedEditorDelegatedOutlinePage.java2
-rw-r--r--plugins/infra/ui/org.eclipse.papyrus.infra.ui/src/org/eclipse/papyrus/infra/ui/editor/CoreMultiDiagramEditor.java31
-rw-r--r--plugins/infra/ui/org.eclipse.papyrus.infra.ui/src/org/eclipse/papyrus/infra/ui/util/PapyrusImageUtils.java11
-rw-r--r--plugins/infra/ui/org.eclipse.papyrus.infra.widgets.toolbox/src/org/eclipse/papyrus/infra/widgets/toolbox/notification/builders/CombinedPopupAndViewBuilder.java4
-rw-r--r--plugins/infra/ui/org.eclipse.papyrus.infra.widgets.toolbox/src/org/eclipse/papyrus/infra/widgets/toolbox/notification/builders/ViewBuilder.java8
-rw-r--r--plugins/infra/ui/org.eclipse.papyrus.infra.widgets.toolbox/src/org/eclipse/papyrus/infra/widgets/toolbox/utils/ToolbooxImageUtils.java6
-rw-r--r--plugins/infra/ui/org.eclipse.papyrus.infra.widgets/META-INF/MANIFEST.MF2
-rw-r--r--plugins/infra/ui/org.eclipse.papyrus.infra.widgets/pom.xml22
-rw-r--r--plugins/infra/ui/org.eclipse.papyrus.infra.widgets/src/org/eclipse/papyrus/infra/widgets/editors/MultipleDoubleEditor.java2
-rw-r--r--plugins/infra/ui/org.eclipse.papyrus.infra.widgets/src/org/eclipse/papyrus/infra/widgets/editors/MultipleIntegerEditor.java2
-rw-r--r--plugins/infra/ui/org.eclipse.papyrus.infra.widgets/src/org/eclipse/papyrus/infra/widgets/editors/MultipleReferenceEditor.java16
-rw-r--r--plugins/infra/ui/org.eclipse.papyrus.infra.widgets/src/org/eclipse/papyrus/infra/widgets/editors/MultipleStringEditor.java11
-rw-r--r--plugins/infra/ui/org.eclipse.papyrus.infra.widgets/src/org/eclipse/papyrus/infra/widgets/editors/MultipleStringFileEditor.java2
-rw-r--r--plugins/infra/ui/org.eclipse.papyrus.infra.widgets/src/org/eclipse/papyrus/infra/widgets/editors/MultipleValueEditor.java19
-rw-r--r--plugins/infra/ui/org.eclipse.papyrus.infra.widgets/src/org/eclipse/papyrus/infra/widgets/editors/MultiplicityDialog.java14
-rw-r--r--plugins/infra/ui/org.eclipse.papyrus.infra.widgets/src/org/eclipse/papyrus/infra/widgets/editors/SelectionMenu.java96
-rw-r--r--plugins/infra/ui/org.eclipse.papyrus.infra.widgets/src/org/eclipse/papyrus/infra/widgets/selectors/ReferenceSelector.java13
-rw-r--r--plugins/infra/ui/org.eclipse.papyrus.infra.widgets/src/org/eclipse/papyrus/infra/widgets/strategy/ProviderBasedBrowseStrategy.java10
-rw-r--r--plugins/infra/ui/org.eclipse.papyrus.infra.widgets/src/org/eclipse/papyrus/infra/widgets/strategy/WorkspaceRevealStrategy.java9
-rwxr-xr-xplugins/infra/viewpoints/org.eclipse.papyrus.infra.viewpoints.policy/META-INF/MANIFEST.MF4
-rw-r--r--plugins/infra/viewpoints/org.eclipse.papyrus.infra.viewpoints.policy/src/org/eclipse/papyrus/infra/viewpoints/policy/PolicyChecker.java8
-rw-r--r--plugins/infra/viewpoints/org.eclipse.papyrus.infra.viewpoints.policy/src/org/eclipse/papyrus/infra/viewpoints/policy/ViewPrototype.java2
222 files changed, 3571 insertions, 4102 deletions
diff --git a/plugins/infra/constraints/org.eclipse.papyrus.infra.constraints.ui/META-INF/MANIFEST.MF b/plugins/infra/constraints/org.eclipse.papyrus.infra.constraints.ui/META-INF/MANIFEST.MF
index fffeb1ed57f..69a99d40f8c 100644
--- a/plugins/infra/constraints/org.eclipse.papyrus.infra.constraints.ui/META-INF/MANIFEST.MF
+++ b/plugins/infra/constraints/org.eclipse.papyrus.infra.constraints.ui/META-INF/MANIFEST.MF
@@ -7,9 +7,9 @@ Bundle-Name: %pluginName
Bundle-Localization: plugin
Bundle-RequiredExecutionEnvironment: JavaSE-1.8
Require-Bundle: org.eclipse.papyrus.infra.constraints;bundle-version="[2.0.0,3.0.0)",
- org.eclipse.papyrus.infra.widgets;bundle-version="[2.0.0,3.0.0)";visibility:=reexport
+ org.eclipse.papyrus.infra.widgets;bundle-version="[3.0.0,4.0.0)";visibility:=reexport
Bundle-Vendor: %providerName
-Bundle-Version: 1.2.0.qualifier
+Bundle-Version: 2.0.0.qualifier
Eclipse-BuddyPolicy: dependent
Bundle-Activator: org.eclipse.papyrus.infra.constraints.internal.ui.Activator
Bundle-ManifestVersion: 2
diff --git a/plugins/infra/constraints/org.eclipse.papyrus.infra.constraints.ui/pom.xml b/plugins/infra/constraints/org.eclipse.papyrus.infra.constraints.ui/pom.xml
index 389b28e37b7..d49d49f443a 100644
--- a/plugins/infra/constraints/org.eclipse.papyrus.infra.constraints.ui/pom.xml
+++ b/plugins/infra/constraints/org.eclipse.papyrus.infra.constraints.ui/pom.xml
@@ -1,12 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
-<project>
- <modelVersion>4.0.0</modelVersion>
- <parent>
- <artifactId>org.eclipse.papyrus.infra-constraints</artifactId>
- <groupId>org.eclipse.papyrus</groupId>
- <version>0.0.1-SNAPSHOT</version>
- </parent>
- <artifactId>org.eclipse.papyrus.infra.constraints.ui</artifactId>
- <version>1.2.0-SNAPSHOT</version>
- <packaging>eclipse-plugin</packaging>
+<project>
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <artifactId>org.eclipse.papyrus.infra-constraints</artifactId>
+ <groupId>org.eclipse.papyrus</groupId>
+ <version>0.0.1-SNAPSHOT</version>
+ </parent>
+ <artifactId>org.eclipse.papyrus.infra.constraints.ui</artifactId>
+ <version>2.0.0-SNAPSHOT</version>
+ <packaging>eclipse-plugin</packaging>
</project> \ No newline at end of file
diff --git a/plugins/infra/core/org.eclipse.papyrus.infra.core.sasheditor/src/org/eclipse/papyrus/infra/core/sasheditor/internal/SashWindowsContainer.java b/plugins/infra/core/org.eclipse.papyrus.infra.core.sasheditor/src/org/eclipse/papyrus/infra/core/sasheditor/internal/SashWindowsContainer.java
index 5290f34e95a..90156f0fa21 100644
--- a/plugins/infra/core/org.eclipse.papyrus.infra.core.sasheditor/src/org/eclipse/papyrus/infra/core/sasheditor/internal/SashWindowsContainer.java
+++ b/plugins/infra/core/org.eclipse.papyrus.infra.core.sasheditor/src/org/eclipse/papyrus/infra/core/sasheditor/internal/SashWindowsContainer.java
@@ -918,90 +918,90 @@ public class SashWindowsContainer implements ISashWindowsContainer {
*/
@Override
public IDropTarget drag(Control currentControl, Object draggedObject, Point position, Rectangle dragRectangle) {
- // TODO remove the cast by changing the method. Only folder can be source and target
- final TabFolderPart sourcePart = (TabFolderPart) rootPart.findPart(draggedObject); // (ITilePart) draggedObject;
- // Compute src tab index
- // TODO move that and previous in the sender of drag event. Use a class containing both as draggedObject.
- final int srcTabIndex = PTabFolder.getDraggedObjectTabIndex(draggedObject);
+ if (rootPart != null) {
+ // TODO remove the cast by changing the method. Only folder can be source and target
+ final TabFolderPart sourcePart = (TabFolderPart) rootPart.findPart(draggedObject); // (ITilePart) draggedObject;
+ // Compute src tab index
+ // TODO move that and previous in the sender of drag event. Use a class containing both as draggedObject.
+ final int srcTabIndex = PTabFolder.getDraggedObjectTabIndex(draggedObject);
- // System.out.println("drag to position=" + position);
- Rectangle containerDisplayBounds = DragUtil.getDisplayBounds(container);
- AbstractPanelPart targetPart = null;
+ // System.out.println("drag to position=" + position);
+ Rectangle containerDisplayBounds = DragUtil.getDisplayBounds(container);
+ AbstractPanelPart targetPart = null;
- // Check if the cursor is inside the container
- if (containerDisplayBounds.contains(position)) {
+ // Check if the cursor is inside the container
+ if (containerDisplayBounds.contains(position)) {
- if (rootPart != null) {
targetPart = (AbstractPanelPart) rootPart.findPart(position);
// System.out.println("targetPart=" + targetPart
// + ", position=" + position
// + "container.toControl(position)=" + container.toControl(position));
- }
-
- if (targetPart != null) {
- final Control targetControl = targetPart.getControl();
-
- final Rectangle targetBounds = DragUtil.getDisplayBounds(targetControl);
- int side = Geometry.getClosestSide(targetBounds, position);
- int distance = Geometry.getDistanceFromEdge(targetBounds, position, side);
-
- // Reserve the 5 pixels around the edge of the part for the drop-on-edge cursor
- // Check if the target can handle the drop.
- if (distance >= 5) {
- // Otherwise, ask the part if it has any special meaning for this drop location
- // TODO remove cast; change return type of findPart()
- IDropTarget target = targetPart.getDropTarget(draggedObject, sourcePart, position);
- if (target != null) {
- return target;
+ if (targetPart != null) {
+ final Control targetControl = targetPart.getControl();
+
+ final Rectangle targetBounds = DragUtil.getDisplayBounds(targetControl);
+
+ int side = Geometry.getClosestSide(targetBounds, position);
+ int distance = Geometry.getDistanceFromEdge(targetBounds, position, side);
+
+ // Reserve the 5 pixels around the edge of the part for the drop-on-edge cursor
+ // Check if the target can handle the drop.
+ if (distance >= 5) {
+ // Otherwise, ask the part if it has any special meaning for this drop location
+ // TODO remove cast; change return type of findPart()
+ IDropTarget target = targetPart.getDropTarget(draggedObject, sourcePart, position);
+ if (target != null) {
+ return target;
+ }
+ } else {
+ // We are on the boarder, try to drop on the parent
+ // Warning : the parent could be the rootPart
+ // System.out.println("DropTarget near the border");
+ }
+ //
+ if (distance > 30) {
+ side = SWT.CENTER;
+ }
+ //
+ // // If the part doesn't want to override this drop location then drop on the edge
+ //
+ // // A "pointless drop" would be one that will put the dragged object back where it started.
+ // // Note that it should be perfectly valid to drag an object back to where it came from -- however,
+ // // the drop should be ignored.
+ //
+ @SuppressWarnings("unused")
+ boolean pointlessDrop = false;
+
+ if (sourcePart == targetPart) {
+ pointlessDrop = true;
}
- } else {
- // We are on the boarder, try to drop on the parent
- // Warning : the parent could be the rootPart
- // System.out.println("DropTarget near the border");
- }
- //
- if (distance > 30) {
- side = SWT.CENTER;
- }
- //
- // // If the part doesn't want to override this drop location then drop on the edge
- //
- // // A "pointless drop" would be one that will put the dragged object back where it started.
- // // Note that it should be perfectly valid to drag an object back to where it came from -- however,
- // // the drop should be ignored.
- //
- @SuppressWarnings("unused")
- boolean pointlessDrop = false;
- if (sourcePart == targetPart) {
- pointlessDrop = true;
+ return createDropTarget(sourcePart, srcTabIndex, side, side, targetPart);
}
+ } else {
+ // Cursor is outside the container
+ // System.out.println("Outside container bounds");
+ // This will be used to create a new Window.
+ // We only allow dropping into a stack, not creating one
+ // if (differentWindows)
+ // return null;
- return createDropTarget(sourcePart, srcTabIndex, side, side, targetPart);
- }
- } else {
- // Cursor is outside the container
- // System.out.println("Outside container bounds");
- // This will be used to create a new Window.
- // We only allow dropping into a stack, not creating one
- // if (differentWindows)
- // return null;
+ int side = Geometry.getClosestSide(containerDisplayBounds, position);
- int side = Geometry.getClosestSide(containerDisplayBounds, position);
+ boolean pointlessDrop = false;
+ int cursor = Geometry.getOppositeSide(side);
- boolean pointlessDrop = false;
- int cursor = Geometry.getOppositeSide(side);
+ if (pointlessDrop) {
+ side = SWT.NONE;
+ }
- if (pointlessDrop) {
- side = SWT.NONE;
+ return createDropTarget(sourcePart, srcTabIndex, side, cursor, null);
}
-
- return createDropTarget(sourcePart, srcTabIndex, side, cursor, null);
}
return null;
- }
+ }
};
@@ -1307,9 +1307,9 @@ public class SashWindowsContainer implements ISashWindowsContainer {
*/
@Override
public boolean accept(TabFolderPart part) {
-
- IPage page = part.getVisiblePagePart();
if (part != null) {
+ IPage page = part.getVisiblePagePart();
+
if (expectedClass != null && expectedClass.isInstance(page)) {
visiblePages.add(page);
} else {
diff --git a/plugins/infra/core/org.eclipse.papyrus.infra.core.sasheditor/src/org/eclipse/papyrus/infra/core/sasheditor/internal/eclipsecopy/MultiPageEditorSite.java b/plugins/infra/core/org.eclipse.papyrus.infra.core.sasheditor/src/org/eclipse/papyrus/infra/core/sasheditor/internal/eclipsecopy/MultiPageEditorSite.java
index c6ab4411c87..d9b0806ded4 100644
--- a/plugins/infra/core/org.eclipse.papyrus.infra.core.sasheditor/src/org/eclipse/papyrus/infra/core/sasheditor/internal/eclipsecopy/MultiPageEditorSite.java
+++ b/plugins/infra/core/org.eclipse.papyrus.infra.core.sasheditor/src/org/eclipse/papyrus/infra/core/sasheditor/internal/eclipsecopy/MultiPageEditorSite.java
@@ -146,6 +146,7 @@ public class MultiPageEditorSite implements IMultiPageEditorSite, INestable {
public MultiPageEditorSite(IEditorSite mainEditorSite, IEditorPart editor, EditorActionBarContributor actionBarContributor) {
Assert.isNotNull(mainEditorSite);
Assert.isNotNull(editor);
+ Assert.isLegal(mainEditorSite instanceof PartSite);
this.mainEditorSite = mainEditorSite;
this.editor = editor;
this.actionBarContributor = actionBarContributor;
diff --git a/plugins/infra/core/org.eclipse.papyrus.infra.core/src/org/eclipse/papyrus/infra/core/internal/language/DefaultLanguageProvider.java b/plugins/infra/core/org.eclipse.papyrus.infra.core/src/org/eclipse/papyrus/infra/core/internal/language/DefaultLanguageProvider.java
index eb3924c8b84..0d4378cc001 100644
--- a/plugins/infra/core/org.eclipse.papyrus.infra.core/src/org/eclipse/papyrus/infra/core/internal/language/DefaultLanguageProvider.java
+++ b/plugins/infra/core/org.eclipse.papyrus.infra.core/src/org/eclipse/papyrus/infra/core/internal/language/DefaultLanguageProvider.java
@@ -163,12 +163,15 @@ public class DefaultLanguageProvider implements ILanguageProvider {
} else if (modelURI.isFile()) {
String baseName = modelURI.lastSegment();
File directory = new File(modelURI.trimSegments(1).toFileString());
- for (File next : directory.listFiles()) {
- if (next.isFile()) {
- IPath nextPath = new Path(directory.getPath()).append(next.getName());
- String name = nextPath.removeFileExtension().lastSegment();
- if (name.equals(baseName)) {
- result.add(URI.createPlatformResourceURI(nextPath.toString(), true));
+ File[] listFiles = directory.listFiles();
+ if (listFiles != null) {
+ for (File next : listFiles) {
+ if (next.isFile()) {
+ IPath nextPath = new Path(directory.getPath()).append(next.getName());
+ String name = nextPath.removeFileExtension().lastSegment();
+ if (name.equals(baseName)) {
+ result.add(URI.createPlatformResourceURI(nextPath.toString(), true));
+ }
}
}
}
diff --git a/plugins/infra/core/org.eclipse.papyrus.infra.core/src/org/eclipse/papyrus/infra/core/modelsetquery/impl/ModelSetQueryAdapterSizeMatters.java b/plugins/infra/core/org.eclipse.papyrus.infra.core/src/org/eclipse/papyrus/infra/core/modelsetquery/impl/ModelSetQueryAdapterSizeMatters.java
index addd286eed6..1eec11a2f7c 100644
--- a/plugins/infra/core/org.eclipse.papyrus.infra.core/src/org/eclipse/papyrus/infra/core/modelsetquery/impl/ModelSetQueryAdapterSizeMatters.java
+++ b/plugins/infra/core/org.eclipse.papyrus.infra.core/src/org/eclipse/papyrus/infra/core/modelsetquery/impl/ModelSetQueryAdapterSizeMatters.java
@@ -76,8 +76,7 @@ public class ModelSetQueryAdapterSizeMatters extends EContentAdapter implements
}
private void addSubTypes(EClass eClassifier) {
- for (EClass superType : eClassifier.getESuperTypes())
- {
+ for (EClass superType : eClassifier.getESuperTypes()) {
addSubType(superType, eClassifier);
addSubTypes(superType);
}
@@ -85,19 +84,16 @@ public class ModelSetQueryAdapterSizeMatters extends EContentAdapter implements
protected void addSubType(EClass superType, EClassifier eClassifier) {
Collection<EClassifier> result = subTypes.get(superType);
- if (result == null)
- {
+ if (result == null) {
result = new HashSet<EClassifier>();
subTypes.put(superType, result);
}
result.add(eClassifier);
}
- private void putObjectInMap(EClassifier eClassifier, EObject obj)
- {
+ private void putObjectInMap(EClassifier eClassifier, EObject obj) {
Collection<EObject> result = cache.get(eClassifier);
- if (result == null)
- {
+ if (result == null) {
result = new HashSet<EObject>();
cache.put(eClassifier, result);
}
@@ -125,22 +121,24 @@ public class ModelSetQueryAdapterSizeMatters extends EContentAdapter implements
Set<EClassifier> alreadyComputed = new HashSet<EClassifier>();
Stack<EClassifier> types = new Stack<EClassifier>();
types.push(type);
- while (!types.isEmpty())
- {
+ while (!types.isEmpty()) {
EClassifier top = types.pop();
alreadyComputed.add(top);
// add instances to the buffer
Collection<EObject> c = cache.get(top);
- if (c != null)
- {
+ if (c != null) {
buffer.addAll(c);
}
// compute sub types
Collection<EClassifier> c2 = subTypes.get(top);
- if (c2 != null && !alreadyComputed.contains(c2))
- {
- types.addAll(c2);
+ if (c2 != null) {
+ for (EClassifier eClassifier : c2) {
+ if (eClassifier != null && !alreadyComputed.contains(eClassifier)) {
+ types.add(eClassifier);
+ }
+ }
}
+
}
return buffer;
}
@@ -161,8 +159,7 @@ public class ModelSetQueryAdapterSizeMatters extends EContentAdapter implements
*/
@Override
public void addEntriesInCache(EClassifier type, HashSet<EObject> list) {
- for (EObject e : list)
- {
+ for (EObject e : list) {
addObjectInCache(e);
}
}
diff --git a/plugins/infra/core/org.eclipse.papyrus.infra.core/src/org/eclipse/papyrus/infra/core/modelsetquery/impl/ModelSetQueryAdapterTimeMatters.java b/plugins/infra/core/org.eclipse.papyrus.infra.core/src/org/eclipse/papyrus/infra/core/modelsetquery/impl/ModelSetQueryAdapterTimeMatters.java
index 064291c59a1..53e20365439 100644
--- a/plugins/infra/core/org.eclipse.papyrus.infra.core/src/org/eclipse/papyrus/infra/core/modelsetquery/impl/ModelSetQueryAdapterTimeMatters.java
+++ b/plugins/infra/core/org.eclipse.papyrus.infra.core/src/org/eclipse/papyrus/infra/core/modelsetquery/impl/ModelSetQueryAdapterTimeMatters.java
@@ -73,8 +73,7 @@ public class ModelSetQueryAdapterTimeMatters extends EContentAdapter implements
private void putObjectInCache(EClassifier eClassifier, EObject newObj) {
Collection<EObject> listOfClassifiers = cache.get(eClassifier);
- if (listOfClassifiers == null)
- {
+ if (listOfClassifiers == null) {
listOfClassifiers = new HashSet<EObject>();
cache.put(eClassifier, listOfClassifiers);
}
@@ -96,10 +95,6 @@ public class ModelSetQueryAdapterTimeMatters extends EContentAdapter implements
if (listOfClassifiers != null) {
listOfClassifiers.remove(newObj);
}
- if (listOfClassifiers.isEmpty())
- {
- cache.remove(eClassifier);
- }
}
@Override
@@ -124,8 +119,7 @@ public class ModelSetQueryAdapterTimeMatters extends EContentAdapter implements
*/
@Override
public void addEntriesInCache(EClassifier type, HashSet<EObject> list) {
- for (EObject e : list)
- {
+ for (EObject e : list) {
addObjectInCache(e);
}
}
diff --git a/plugins/infra/core/org.eclipse.papyrus.infra.core/src/org/eclipse/papyrus/infra/core/resource/ModelSet.java b/plugins/infra/core/org.eclipse.papyrus.infra.core/src/org/eclipse/papyrus/infra/core/resource/ModelSet.java
index bb7c9abc4b3..85a7c146bca 100644
--- a/plugins/infra/core/org.eclipse.papyrus.infra.core/src/org/eclipse/papyrus/infra/core/resource/ModelSet.java
+++ b/plugins/infra/core/org.eclipse.papyrus.infra.core/src/org/eclipse/papyrus/infra/core/resource/ModelSet.java
@@ -634,23 +634,26 @@ public class ModelSet extends ResourceSetImpl {
*
* @param modelIdentifiers
* The model to import from the specified IFile.
- * @param file
- * The IFile used to import the model.
+ * @param uri
+ * The URI used to import the model.
* @throws ModelException
* If an error occur during import.
*/
public void importModels(ModelIdentifiers modelIdentifiers, URI uri) throws ModelException {
- URI toImport = uri.trimFileExtension();
- // Walk all registered models
- for (String modelId : modelIdentifiers) {
- IModel model = getModel(modelId);
+ if (uri != null) {
+ URI toImport = uri.trimFileExtension();
+ // Walk all registered models
+ for (String modelId : modelIdentifiers) {
+ IModel model = getModel(modelId);
+
+ // Load models using the default path
+ model.importModel(toImport);
- // Load models using the default path
- model.importModel(toImport);
- if (uri != null) {
model.setModelURI(uriWithoutExtension);
}
+ } else {
+ throw new ModelException("URI used to import the model is null");
}
}
diff --git a/plugins/infra/core/org.eclipse.papyrus.infra.core/src/org/eclipse/papyrus/infra/core/resource/sasheditor/SashModel.java b/plugins/infra/core/org.eclipse.papyrus.infra.core/src/org/eclipse/papyrus/infra/core/resource/sasheditor/SashModel.java
index 82483db1073..d513de07d25 100644
--- a/plugins/infra/core/org.eclipse.papyrus.infra.core/src/org/eclipse/papyrus/infra/core/resource/sasheditor/SashModel.java
+++ b/plugins/infra/core/org.eclipse.papyrus.infra.core/src/org/eclipse/papyrus/infra/core/resource/sasheditor/SashModel.java
@@ -248,7 +248,7 @@ public class SashModel extends EMFLogicalModel implements IModel {
}
/**
- * Intantiates the sash resource template on the given URI.
+ * Instantiates the sash resource template on the given URI.
*
* @param sashResourceURI
* the new sash resource URI
@@ -258,8 +258,13 @@ public class SashModel extends EMFLogicalModel implements IModel {
*/
void intantiateTemplate(URI sashResourceURI) throws IOException {
try (OutputStream output = getModelManager().getURIConverter().createOutputStream(sashResourceURI)) {
- URL template = Activator.getDefault().getBundle().getEntry("templates/model.sash"); //$NON-NLS-1$
- Resources.copy(template, output);
+ String path = "templates/model.sash"; //$NON-NLS-1$
+ URL template = Activator.getDefault().getBundle().getEntry(path);
+ if (template != null) {
+ Resources.copy(template, output);
+ } else {
+ throw new IOException("Sash template URL is null for: " + path);
+ }
}
}
diff --git a/plugins/infra/core/org.eclipse.papyrus.infra.core/src/org/eclipse/papyrus/infra/core/services/internal/ErrorServiceTypeEntry.java b/plugins/infra/core/org.eclipse.papyrus.infra.core/src/org/eclipse/papyrus/infra/core/services/internal/ErrorServiceTypeEntry.java
index b2973a87196..99e10e95d6a 100644
--- a/plugins/infra/core/org.eclipse.papyrus.infra.core/src/org/eclipse/papyrus/infra/core/services/internal/ErrorServiceTypeEntry.java
+++ b/plugins/infra/core/org.eclipse.papyrus.infra.core/src/org/eclipse/papyrus/infra/core/services/internal/ErrorServiceTypeEntry.java
@@ -1,108 +1,104 @@
-/*****************************************************************************
- * Copyright (c) CEA LIST.
- *
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Cedric Dumoulin Cedric.dumoulin@lifl.fr - Initial API and implementation
- *
- *****************************************************************************/
-package org.eclipse.papyrus.infra.core.services.internal;
-
-import org.eclipse.papyrus.infra.core.services.BadStateException;
-import org.eclipse.papyrus.infra.core.services.ServiceDescriptor;
-import org.eclipse.papyrus.infra.core.services.ServiceException;
-import org.eclipse.papyrus.infra.core.services.ServiceState;
-import org.eclipse.papyrus.infra.core.services.ServicesRegistry;
-
-/**
- * A service entry used for faulty services. In this implementation, methods do
- * nothings or throw an error.
- *
- *
- * @author cedric dumoulin
- *
- */
-public class ErrorServiceTypeEntry extends ServiceTypeEntry {
-
- /**
- * The original service descriptor.
- */
- private ServiceDescriptor descriptor;
-
- /**
- *
- * Constructor.
- *
- * @param descriptor
- */
- public ErrorServiceTypeEntry(ServiceDescriptor descriptor) {
- super(descriptor);
- }
-
- /**
- *
- * @see org.eclipse.papyrus.infra.core.services.internal.ServiceTypeEntry#getServiceInstance()
- *
- * @return
- * @throws ServiceException
- */
- @Override
- public Object getServiceInstance() throws ServiceException {
- throw new BadStateException("Service has not started.", ServiceState.error, descriptor); //$NON-NLS-1$
- }
-
- /**
- *
- * @see org.eclipse.papyrus.infra.core.services.internal.ServiceTypeEntry#createService()
- *
- * @throws ServiceException
- */
- @Override
- public void createService() throws ServiceException {
- // do nothing
-
- }
-
- /**
- *
- * @see org.eclipse.papyrus.infra.core.services.internal.ServiceTypeEntry#initService(ServicesRegistry)
- *
- * @param servicesRegistry
- * @throws ServiceException
- */
- @Override
- public void initService(ServicesRegistry servicesRegistry) throws ServiceException {
- // do nothing
-
- }
-
- /**
- *
- * @see org.eclipse.papyrus.infra.core.services.internal.ServiceTypeEntry#startService()
- *
- * @throws ServiceException
- */
- @Override
- public void startService() throws ServiceException {
- // do nothing
-
- }
-
- /**
- *
- * @see org.eclipse.papyrus.infra.core.services.internal.ServiceTypeEntry#disposeService()
- *
- * @throws ServiceException
- */
- @Override
- public void disposeService() throws ServiceException {
- // do nothing
-
- }
-
-}
+/*****************************************************************************
+ * Copyright (c) CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Cedric Dumoulin Cedric.dumoulin@lifl.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.infra.core.services.internal;
+
+import org.eclipse.papyrus.infra.core.services.BadStateException;
+import org.eclipse.papyrus.infra.core.services.ServiceDescriptor;
+import org.eclipse.papyrus.infra.core.services.ServiceException;
+import org.eclipse.papyrus.infra.core.services.ServiceState;
+import org.eclipse.papyrus.infra.core.services.ServicesRegistry;
+
+/**
+ * A service entry used for faulty services. In this implementation, methods do
+ * nothings or throw an error.
+ *
+ *
+ * @author cedric dumoulin
+ *
+ */
+public class ErrorServiceTypeEntry extends ServiceTypeEntry {
+
+
+ /**
+ *
+ * Constructor.
+ *
+ * @param descriptor
+ */
+ public ErrorServiceTypeEntry(ServiceDescriptor descriptor) {
+ super(descriptor);
+ }
+
+ /**
+ *
+ * @see org.eclipse.papyrus.infra.core.services.internal.ServiceTypeEntry#getServiceInstance()
+ *
+ * @return
+ * @throws ServiceException
+ */
+ @Override
+ public Object getServiceInstance() throws ServiceException {
+ throw new BadStateException("Service has not started.", ServiceState.error, serviceDescriptor); //$NON-NLS-1$
+ }
+
+ /**
+ *
+ * @see org.eclipse.papyrus.infra.core.services.internal.ServiceTypeEntry#createService()
+ *
+ * @throws ServiceException
+ */
+ @Override
+ public void createService() throws ServiceException {
+ // do nothing
+
+ }
+
+ /**
+ *
+ * @see org.eclipse.papyrus.infra.core.services.internal.ServiceTypeEntry#initService(ServicesRegistry)
+ *
+ * @param servicesRegistry
+ * @throws ServiceException
+ */
+ @Override
+ public void initService(ServicesRegistry servicesRegistry) throws ServiceException {
+ // do nothing
+
+ }
+
+ /**
+ *
+ * @see org.eclipse.papyrus.infra.core.services.internal.ServiceTypeEntry#startService()
+ *
+ * @throws ServiceException
+ */
+ @Override
+ public void startService() throws ServiceException {
+ // do nothing
+
+ }
+
+ /**
+ *
+ * @see org.eclipse.papyrus.infra.core.services.internal.ServiceTypeEntry#disposeService()
+ *
+ * @throws ServiceException
+ */
+ @Override
+ public void disposeService() throws ServiceException {
+ // do nothing
+
+ }
+
+}
diff --git a/plugins/infra/core/org.eclipse.papyrus.infra.tools/.settings/.api_filters b/plugins/infra/core/org.eclipse.papyrus.infra.tools/.settings/.api_filters
deleted file mode 100644
index 793433951ae..00000000000
--- a/plugins/infra/core/org.eclipse.papyrus.infra.tools/.settings/.api_filters
+++ /dev/null
@@ -1,35 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<component id="org.eclipse.papyrus.infra.tools" version="2">
- <resource path="src/org/eclipse/papyrus/infra/tools/databinding/DelegatingObservableCollection.java" type="org.eclipse.papyrus.infra.tools.databinding.DelegatingObservableCollection">
- <filter comment="Cannot extend the core platform observable class so the interface must be implemented" id="574619656">
- <message_arguments>
- <message_argument value="IObservableCollection&lt;E&gt;"/>
- <message_argument value="DelegatingObservableCollection&lt;T&gt;"/>
- </message_arguments>
- </filter>
- </resource>
- <resource path="src/org/eclipse/papyrus/infra/tools/databinding/DelegatingObservableList.java" type="org.eclipse.papyrus.infra.tools.databinding.DelegatingObservableList">
- <filter comment="Cannot extend the core platform observable class so the interface must be implemented" id="574619656">
- <message_arguments>
- <message_argument value="IObservableList&lt;E&gt;"/>
- <message_argument value="DelegatingObservableList"/>
- </message_arguments>
- </filter>
- </resource>
- <resource path="src/org/eclipse/papyrus/infra/tools/databinding/DelegatingObservableSet.java" type="org.eclipse.papyrus.infra.tools.databinding.DelegatingObservableSet">
- <filter comment="Cannot extend the core platform observable class so the interface must be implemented" id="574619656">
- <message_arguments>
- <message_argument value="IObservableSet&lt;E&gt;"/>
- <message_argument value="DelegatingObservableSet"/>
- </message_arguments>
- </filter>
- </resource>
- <resource path="src/org/eclipse/papyrus/infra/tools/databinding/DelegatingObservableValue.java" type="org.eclipse.papyrus.infra.tools.databinding.DelegatingObservableValue">
- <filter comment="Cannot extend the core platform observable class so the interface must be implemented" id="574619656">
- <message_arguments>
- <message_argument value="IObservableValue&lt;T&gt;"/>
- <message_argument value="DelegatingObservableValue"/>
- </message_arguments>
- </filter>
- </resource>
-</component>
diff --git a/plugins/infra/discovery/org.eclipse.papyrus.infra.discovery.ui/.settings/.api_filters b/plugins/infra/discovery/org.eclipse.papyrus.infra.discovery.ui/.settings/.api_filters
deleted file mode 100644
index 256a2bf7253..00000000000
--- a/plugins/infra/discovery/org.eclipse.papyrus.infra.discovery.ui/.settings/.api_filters
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<component id="org.eclipse.papyrus.infra.discovery.ui" version="2">
- <resource path="src/org/eclipse/papyrus/infra/discovery/ui/viewer/DiscoveryViewer.java" type="org.eclipse.papyrus.infra.discovery.ui.viewer.DiscoveryViewer">
- <filter comment="No public setter is provided for FontData.height as for other fields" id="623939596">
- <message_arguments>
- <message_argument value="FontData"/>
- <message_argument value="DiscoveryViewer"/>
- <message_argument value="height"/>
- </message_arguments>
- </filter>
- </resource>
-</component>
diff --git a/plugins/infra/editor/org.eclipse.papyrus.infra.editor.welcome.nattable/META-INF/MANIFEST.MF b/plugins/infra/editor/org.eclipse.papyrus.infra.editor.welcome.nattable/META-INF/MANIFEST.MF
index 501bbc2feee..0bac75cdadc 100644
--- a/plugins/infra/editor/org.eclipse.papyrus.infra.editor.welcome.nattable/META-INF/MANIFEST.MF
+++ b/plugins/infra/editor/org.eclipse.papyrus.infra.editor.welcome.nattable/META-INF/MANIFEST.MF
@@ -12,12 +12,12 @@ Require-Bundle: org.eclipse.emf.ecore;bundle-version="[2.12.0,3.0.0)";visibility
org.eclipse.nebula.widgets.nattable.core;bundle-version="[1.4.0,2.0.0)";visibility:=reexport,
org.eclipse.nebula.widgets.nattable.extension.glazedlists;bundle-version="[1.4.0,2.0.0)",
ca.odell.glazedlists;bundle-version="[1.9.0,2.0.0)";visibility:=reexport,
- org.eclipse.papyrus.infra.services.navigation;bundle-version="[2.0.0,3.0.0)",
- org.eclipse.papyrus.infra.properties.ui;bundle-version="[1.3.0,2.0.0)";visibility:=reexport,
+ org.eclipse.papyrus.infra.services.navigation;bundle-version="[3.0.0,4.0.0)",
+ org.eclipse.papyrus.infra.properties.ui;bundle-version="[2.0.0,3.0.0)";visibility:=reexport,
org.eclipse.papyrus.infra.editor.welcome;bundle-version="[1.2.0,2.0.0)"
Bundle-Vendor: %providerName
Bundle-ActivationPolicy: lazy
-Bundle-Version: 1.2.0.qualifier
+Bundle-Version: 2.0.0.qualifier
Bundle-ClassPath: .
Bundle-Localization: plugin
Bundle-Name: %pluginName
diff --git a/plugins/infra/editor/org.eclipse.papyrus.infra.editor.welcome.nattable/pom.xml b/plugins/infra/editor/org.eclipse.papyrus.infra.editor.welcome.nattable/pom.xml
index f6ba2328c99..0107417d1e0 100644
--- a/plugins/infra/editor/org.eclipse.papyrus.infra.editor.welcome.nattable/pom.xml
+++ b/plugins/infra/editor/org.eclipse.papyrus.infra.editor.welcome.nattable/pom.xml
@@ -1,12 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
-<project>
- <modelVersion>4.0.0</modelVersion>
- <parent>
- <groupId>org.eclipse.papyrus</groupId>
- <artifactId>org.eclipse.papyrus.infra-editor</artifactId>
- <version>0.0.1-SNAPSHOT</version>
- </parent>
- <artifactId>org.eclipse.papyrus.infra.editor.welcome.nattable</artifactId>
- <version>1.2.0-SNAPSHOT</version>
- <packaging>eclipse-plugin</packaging>
-</project>
+<project>
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>org.eclipse.papyrus</groupId>
+ <artifactId>org.eclipse.papyrus.infra-editor</artifactId>
+ <version>0.0.1-SNAPSHOT</version>
+ </parent>
+ <artifactId>org.eclipse.papyrus.infra.editor.welcome.nattable</artifactId>
+ <version>2.0.0-SNAPSHOT</version>
+ <packaging>eclipse-plugin</packaging>
+</project> \ No newline at end of file
diff --git a/plugins/infra/editor/org.eclipse.papyrus.infra.editor.welcome/META-INF/MANIFEST.MF b/plugins/infra/editor/org.eclipse.papyrus.infra.editor.welcome/META-INF/MANIFEST.MF
index 16c58f794d0..c18a00d1420 100644
--- a/plugins/infra/editor/org.eclipse.papyrus.infra.editor.welcome/META-INF/MANIFEST.MF
+++ b/plugins/infra/editor/org.eclipse.papyrus.infra.editor.welcome/META-INF/MANIFEST.MF
@@ -13,7 +13,7 @@ Export-Package: org.eclipse.papyrus.infra.editor.welcome,
Require-Bundle: org.eclipse.uml2.types;bundle-version="[2.0.0,3.0.0)";visibility:=reexport,
org.eclipse.uml2.common;bundle-version="[2.1.0,3.0.0)";visibility:=reexport,
org.eclipse.papyrus.infra.core;bundle-version="[2.0.0,3.0.0)";visibility:=reexport,
- org.eclipse.papyrus.infra.properties.ui;bundle-version="[1.3.0,2.0.0)"
+ org.eclipse.papyrus.infra.properties.ui;bundle-version="[2.0.0,3.0.0)"
Bundle-Vendor: %providerName
Bundle-ActivationPolicy: lazy;exclude:="org.eclipse.papyrus.infra.editor.welcome.internal.constraints"
Bundle-Version: 1.2.100.qualifier
diff --git a/plugins/infra/emf/org.eclipse.papyrus.infra.emf.appearance/pom.xml b/plugins/infra/emf/org.eclipse.papyrus.infra.emf.appearance/pom.xml
index d30fa69c8f1..48b95900ab4 100644
--- a/plugins/infra/emf/org.eclipse.papyrus.infra.emf.appearance/pom.xml
+++ b/plugins/infra/emf/org.eclipse.papyrus.infra.emf.appearance/pom.xml
@@ -1,12 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
-<project>
- <modelVersion>4.0.0</modelVersion>
- <parent>
- <artifactId>org.eclipse.papyrus.infra-emf</artifactId>
- <groupId>org.eclipse.papyrus</groupId>
- <version>0.0.1-SNAPSHOT</version>
- </parent>
- <artifactId>org.eclipse.papyrus.infra.emf.appearance</artifactId>
- <version>1.2.0-SNAPSHOT</version>
- <packaging>eclipse-plugin</packaging>
-</project>
+<project>
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <artifactId>org.eclipse.papyrus.infra-emf</artifactId>
+ <groupId>org.eclipse.papyrus</groupId>
+ <version>0.0.1-SNAPSHOT</version>
+ </parent>
+ <artifactId>org.eclipse.papyrus.infra.emf.appearance</artifactId>
+ <version>1.2.0-SNAPSHOT</version>
+ <packaging>eclipse-plugin</packaging>
+</project> \ No newline at end of file
diff --git a/plugins/infra/emf/org.eclipse.papyrus.infra.emf.diagram.common/META-INF/MANIFEST.MF b/plugins/infra/emf/org.eclipse.papyrus.infra.emf.diagram.common/META-INF/MANIFEST.MF
index c0809d5521b..c03d712bf5d 100644
--- a/plugins/infra/emf/org.eclipse.papyrus.infra.emf.diagram.common/META-INF/MANIFEST.MF
+++ b/plugins/infra/emf/org.eclipse.papyrus.infra.emf.diagram.common/META-INF/MANIFEST.MF
@@ -6,7 +6,7 @@ Require-Bundle: org.eclipse.papyrus.infra.core;bundle-version="[2.0.0,3.0.0)";vi
org.eclipse.core.commands;bundle-version="[3.8.0,4.0.0)";visibility:=reexport,
org.eclipse.papyrus.infra.emf.gmf;bundle-version="[1.2.0,2.0.0)",
org.eclipse.papyrus.infra.emf;bundle-version="[2.0.0,3.0.0)",
- org.eclipse.papyrus.infra.ui;bundle-version="[1.2.0,2.0.0)"
+ org.eclipse.papyrus.infra.ui;bundle-version="[2.0.0,3.0.0)"
Bundle-Vendor: %providerName
Bundle-ActivationPolicy: lazy
Bundle-Version: 1.2.0.qualifier
diff --git a/plugins/infra/emf/org.eclipse.papyrus.infra.emf.gmf/src/org/eclipse/papyrus/infra/emf/gmf/util/OperationHistoryDirtyState.java b/plugins/infra/emf/org.eclipse.papyrus.infra.emf.gmf/src/org/eclipse/papyrus/infra/emf/gmf/util/OperationHistoryDirtyState.java
index 1bbfd926c5a..a61fe9cf6c0 100644
--- a/plugins/infra/emf/org.eclipse.papyrus.infra.emf.gmf/src/org/eclipse/papyrus/infra/emf/gmf/util/OperationHistoryDirtyState.java
+++ b/plugins/infra/emf/org.eclipse.papyrus.infra.emf.gmf/src/org/eclipse/papyrus/infra/emf/gmf/util/OperationHistoryDirtyState.java
@@ -162,6 +162,11 @@ public class OperationHistoryDirtyState {
return (obj instanceof Delegator) ? equals(((Delegator) obj).delegate) : super.equals(obj);
}
+ @Override
+ public int hashCode() {
+ return super.hashCode();
+ }
+
//
// Nested types
//
diff --git a/plugins/infra/emf/org.eclipse.papyrus.infra.emf.readonly/META-INF/MANIFEST.MF b/plugins/infra/emf/org.eclipse.papyrus.infra.emf.readonly/META-INF/MANIFEST.MF
index 9845b1cdb2b..0436405a78f 100644
--- a/plugins/infra/emf/org.eclipse.papyrus.infra.emf.readonly/META-INF/MANIFEST.MF
+++ b/plugins/infra/emf/org.eclipse.papyrus.infra.emf.readonly/META-INF/MANIFEST.MF
@@ -9,7 +9,7 @@ Require-Bundle: org.eclipse.papyrus.infra.onefile;bundle-version="[2.0.0,3.0.0)"
org.eclipse.papyrus.infra.emf;bundle-version="[2.0.0,3.0.0)";visibility:=reexport
Bundle-Vendor: %providerName
Bundle-ActivationPolicy: lazy
-Bundle-Version: 2.0.0.qualifier
+Bundle-Version: 3.0.0.qualifier
Bundle-Name: %pluginName
Bundle-Localization: plugin
Bundle-ManifestVersion: 2
diff --git a/plugins/infra/emf/org.eclipse.papyrus.infra.emf.readonly/pom.xml b/plugins/infra/emf/org.eclipse.papyrus.infra.emf.readonly/pom.xml
index c801f2cf18f..a75e0a8a671 100644
--- a/plugins/infra/emf/org.eclipse.papyrus.infra.emf.readonly/pom.xml
+++ b/plugins/infra/emf/org.eclipse.papyrus.infra.emf.readonly/pom.xml
@@ -7,6 +7,6 @@
<version>0.0.1-SNAPSHOT</version>
</parent>
<artifactId>org.eclipse.papyrus.infra.emf.readonly</artifactId>
- <version>2.0.0-SNAPSHOT</version>
+ <version>3.0.0-SNAPSHOT</version>
<packaging>eclipse-plugin</packaging>
</project> \ No newline at end of file
diff --git a/plugins/infra/emf/org.eclipse.papyrus.infra.emf.readonly/src/org/eclipse/papyrus/infra/emf/readonly/AbstractReadOnlyHandler.java b/plugins/infra/emf/org.eclipse.papyrus.infra.emf.readonly/src/org/eclipse/papyrus/infra/emf/readonly/AbstractReadOnlyHandler.java
deleted file mode 100644
index beb18d151b9..00000000000
--- a/plugins/infra/emf/org.eclipse.papyrus.infra.emf.readonly/src/org/eclipse/papyrus/infra/emf/readonly/AbstractReadOnlyHandler.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*****************************************************************************
- * Copyright (c) 2013, 2014 Atos Origin, CEA, and others.
- *
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Mathieu Velten (Atos Origin) mathieu.velten@atosorigin.com - Initial API and implementation
- * Christian W. Damus (CEA) - bug 323802
- * Christian W. Damus (CEA) - bug 429826
- *
- *****************************************************************************/
-package org.eclipse.papyrus.infra.emf.readonly;
-
-import org.eclipse.emf.edit.domain.EditingDomain;
-
-/**
- * @deprecated Use the {@link org.eclipse.papyrus.infra.core.resource.AbstractReadOnlyHandler} class, instead.
- */
-@Deprecated
-public abstract class AbstractReadOnlyHandler extends org.eclipse.papyrus.infra.core.resource.AbstractReadOnlyHandler {
-
- public AbstractReadOnlyHandler(EditingDomain editingDomain) {
- super(editingDomain);
- }
-}
diff --git a/plugins/infra/emf/org.eclipse.papyrus.infra.emf.types.ui/META-INF/MANIFEST.MF b/plugins/infra/emf/org.eclipse.papyrus.infra.emf.types.ui/META-INF/MANIFEST.MF
index c44b76d4d00..3c06a9f595c 100644
--- a/plugins/infra/emf/org.eclipse.papyrus.infra.emf.types.ui/META-INF/MANIFEST.MF
+++ b/plugins/infra/emf/org.eclipse.papyrus.infra.emf.types.ui/META-INF/MANIFEST.MF
@@ -2,13 +2,13 @@ Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: %pluginName
Bundle-SymbolicName: org.eclipse.papyrus.infra.emf.types.ui;singleton:=true
-Bundle-Version: 2.0.0.qualifier
+Bundle-Version: 3.0.0.qualifier
Bundle-ClassPath: .
Bundle-Activator: org.eclipse.papyrus.infra.emf.types.ui.advices.values.provider.RuntimeValuesAdviceEditPlugin$Implementation
Require-Bundle: org.eclipse.papyrus.infra.types.core;bundle-version="[3.0.0,4.0.0)";visibility:=reexport,
org.eclipse.papyrus.infra.types.edit;bundle-version="[3.0.0,4.0.0)";visibility:=reexport,
org.eclipse.papyrus.infra.properties.edit;bundle-version="[1.2.0,2.0.0)";visibility:=reexport,
- org.eclipse.papyrus.infra.properties.ui;bundle-version="[1.3.0,2.0.0)",
+ org.eclipse.papyrus.infra.properties.ui;bundle-version="[2.0.0,3.0.0)",
org.eclipse.papyrus.infra.services.edit;bundle-version="[2.0.0,3.0.0)"
Bundle-RequiredExecutionEnvironment: JavaSE-1.8
Bundle-ActivationPolicy: lazy
diff --git a/plugins/infra/emf/org.eclipse.papyrus.infra.emf.types.ui/pom.xml b/plugins/infra/emf/org.eclipse.papyrus.infra.emf.types.ui/pom.xml
index 4debef138e1..1c507ec7c37 100644
--- a/plugins/infra/emf/org.eclipse.papyrus.infra.emf.types.ui/pom.xml
+++ b/plugins/infra/emf/org.eclipse.papyrus.infra.emf.types.ui/pom.xml
@@ -1,12 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
-<project>
- <modelVersion>4.0.0</modelVersion>
- <parent>
- <artifactId>org.eclipse.papyrus.infra-emf</artifactId>
- <groupId>org.eclipse.papyrus</groupId>
- <version>0.0.1-SNAPSHOT</version>
- </parent>
- <artifactId>org.eclipse.papyrus.infra.emf.types.ui</artifactId>
- <version>2.0.0-SNAPSHOT</version>
- <packaging>eclipse-plugin</packaging>
-</project>
+<project>
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <artifactId>org.eclipse.papyrus.infra-emf</artifactId>
+ <groupId>org.eclipse.papyrus</groupId>
+ <version>0.0.1-SNAPSHOT</version>
+ </parent>
+ <artifactId>org.eclipse.papyrus.infra.emf.types.ui</artifactId>
+ <version>3.0.0-SNAPSHOT</version>
+ <packaging>eclipse-plugin</packaging>
+</project> \ No newline at end of file
diff --git a/plugins/infra/emf/org.eclipse.papyrus.infra.emf.types/src/org/eclipse/papyrus/infra/emf/types/converter/ObjectToBooleanConverter.java b/plugins/infra/emf/org.eclipse.papyrus.infra.emf.types/src/org/eclipse/papyrus/infra/emf/types/converter/ObjectToBooleanConverter.java
deleted file mode 100644
index 774a9014785..00000000000
--- a/plugins/infra/emf/org.eclipse.papyrus.infra.emf.types/src/org/eclipse/papyrus/infra/emf/types/converter/ObjectToBooleanConverter.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/*****************************************************************************
- * Copyright (c) 2014 CEA LIST.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * CEA LIST - Initial API and implementation
- *
- *****************************************************************************/
-package org.eclipse.papyrus.infra.emf.types.converter;
-
-import org.eclipse.core.databinding.conversion.Converter;
-import org.eclipse.core.databinding.conversion.IConverter;
-
-
-/**
- * Converter for Objects to Boolean value
- */
-public class ObjectToBooleanConverter extends Converter implements IConverter {
-
- /**
- * Creates a new ObjectToBooleanConverter
- */
- public ObjectToBooleanConverter() {
- super(Object.class, Boolean.class);
- }
-
- /**
- * {@inheritDoc}
- */
- @Override
- public Boolean convert(Object fromObject) {
- if(fromObject == null) {
- return null;
- }
-
- if(fromObject instanceof Boolean) {
- return ((Boolean)fromObject);
- }
-
- if(fromObject instanceof String) {
- return Boolean.valueOf((String)fromObject);
- }
-
- return null;
- }
-
-}
diff --git a/plugins/infra/emf/org.eclipse.papyrus.infra.emf.types/src/org/eclipse/papyrus/infra/emf/types/converter/ObjectToIntegerConverter.java b/plugins/infra/emf/org.eclipse.papyrus.infra.emf.types/src/org/eclipse/papyrus/infra/emf/types/converter/ObjectToIntegerConverter.java
deleted file mode 100644
index 2f0c6261b16..00000000000
--- a/plugins/infra/emf/org.eclipse.papyrus.infra.emf.types/src/org/eclipse/papyrus/infra/emf/types/converter/ObjectToIntegerConverter.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/*****************************************************************************
- * Copyright (c) 2014 CEA LIST.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * CEA LIST - Initial API and implementation
- *
- *****************************************************************************/
-package org.eclipse.papyrus.infra.emf.types.converter;
-
-import org.eclipse.core.databinding.conversion.Converter;
-import org.eclipse.core.databinding.conversion.IConverter;
-
-/**
- * Converter from an object to an integer
- */
-public class ObjectToIntegerConverter extends Converter implements IConverter {
-
- /**
- * Default constructor.
- */
- public ObjectToIntegerConverter() {
- super(Object.class, Integer.class);
- }
-
- /**
- * {@inheritDoc}
- */
- @Override
- public Integer convert(Object fromObject) {
- if(fromObject == null) {
- return null;
- }
-
- if(fromObject instanceof Integer) {
- return (Integer)fromObject;
- }
-
- if(fromObject instanceof String) {
- return Integer.parseInt((String)fromObject);
- }
-
- return null;
- }
-
-}
diff --git a/plugins/infra/emf/org.eclipse.papyrus.infra.emf/pom.xml b/plugins/infra/emf/org.eclipse.papyrus.infra.emf/pom.xml
index 157d5cc080a..faef5693337 100644
--- a/plugins/infra/emf/org.eclipse.papyrus.infra.emf/pom.xml
+++ b/plugins/infra/emf/org.eclipse.papyrus.infra.emf/pom.xml
@@ -1,12 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
-<project>
- <modelVersion>4.0.0</modelVersion>
- <parent>
- <artifactId>org.eclipse.papyrus.infra-emf</artifactId>
- <groupId>org.eclipse.papyrus</groupId>
- <version>0.0.1-SNAPSHOT</version>
- </parent>
- <artifactId>org.eclipse.papyrus.infra.emf</artifactId>
- <version>2.2.0-SNAPSHOT</version>
- <packaging>eclipse-plugin</packaging>
-</project>
+<project>
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <artifactId>org.eclipse.papyrus.infra-emf</artifactId>
+ <groupId>org.eclipse.papyrus</groupId>
+ <version>0.0.1-SNAPSHOT</version>
+ </parent>
+ <artifactId>org.eclipse.papyrus.infra.emf</artifactId>
+ <version>2.2.0-SNAPSHOT</version>
+ <packaging>eclipse-plugin</packaging>
+</project> \ No newline at end of file
diff --git a/plugins/infra/emf/org.eclipse.papyrus.infra.emf/src/org/eclipse/papyrus/infra/emf/internal/resource/index/IndexManager.java b/plugins/infra/emf/org.eclipse.papyrus.infra.emf/src/org/eclipse/papyrus/infra/emf/internal/resource/index/IndexManager.java
index fd343b5e81d..9a389946256 100644
--- a/plugins/infra/emf/org.eclipse.papyrus.infra.emf/src/org/eclipse/papyrus/infra/emf/internal/resource/index/IndexManager.java
+++ b/plugins/infra/emf/org.eclipse.papyrus.infra.emf/src/org/eclipse/papyrus/infra/emf/internal/resource/index/IndexManager.java
@@ -503,7 +503,6 @@ public class IndexManager {
super(name);
this.project = project;
- this.permit = permit;
if ((project != null) && register) {
setRule(project);
diff --git a/plugins/infra/emf/org.eclipse.papyrus.infra.emf/src/org/eclipse/papyrus/infra/emf/resource/ShardResourceLocator.java b/plugins/infra/emf/org.eclipse.papyrus.infra.emf/src/org/eclipse/papyrus/infra/emf/resource/ShardResourceLocator.java
index 397e693707a..d306172a86d 100644
--- a/plugins/infra/emf/org.eclipse.papyrus.infra.emf/src/org/eclipse/papyrus/infra/emf/resource/ShardResourceLocator.java
+++ b/plugins/infra/emf/org.eclipse.papyrus.infra.emf/src/org/eclipse/papyrus/infra/emf/resource/ShardResourceLocator.java
@@ -134,21 +134,22 @@ public class ShardResourceLocator extends ResourceLocator {
return (resource == null) || !resource.isLoaded();
}
- protected void loadParentResource(URI parentURI, URI shard) {
+ protected void loadParentResource(URI parentURI, URI shardURI) {
// This operates recursively on the demand-load helper
Resource parent = resourceSet.getResource(parentURI, true);
+ Resource shard = resourceSet.getResource(shardURI, true);
// Unlock the shardresource, now
inDemandLoadHelper.remove(shard);
// Scan for the cross-resource containment
- URI shardURI = normalize(shard);
+ URI normalizedShardURI = normalize(shardURI);
for (TreeIterator<EObject> iter = EcoreUtil.getAllProperContents(parent, false); iter.hasNext();) {
EObject next = iter.next();
if (next.eIsProxy()) {
// Must always only compare normalized URIs to determine 'same resource'
URI proxyURI = normalize(((InternalEObject) next).eProxyURI());
- if (proxyURI.trimFragment().equals(shardURI)) {
+ if (proxyURI.trimFragment().equals(normalizedShardURI)) {
// This is our parent object
EObject parentObject = next.eContainer();
diff --git a/plugins/infra/emf/org.eclipse.papyrus.infra.ui.emf/META-INF/MANIFEST.MF b/plugins/infra/emf/org.eclipse.papyrus.infra.ui.emf/META-INF/MANIFEST.MF
index bd3b820939b..1926a6e9290 100644
--- a/plugins/infra/emf/org.eclipse.papyrus.infra.ui.emf/META-INF/MANIFEST.MF
+++ b/plugins/infra/emf/org.eclipse.papyrus.infra.ui.emf/META-INF/MANIFEST.MF
@@ -14,12 +14,12 @@ Require-Bundle: org.eclipse.emf.edit.ui;bundle-version="[2.12.0,3.0.0)";visibili
org.eclipse.gmf.runtime.notation;bundle-version="[1.8.0,2.0.0)",
org.eclipse.papyrus.emf.facet.custom.ui;bundle-version="[2.0.0,3.0.0)";visibility:=reexport,
org.eclipse.papyrus.emf.facet.custom.core;bundle-version="[2.0.0,3.0.0)";visibility:=reexport,
- org.eclipse.papyrus.infra.emf.readonly;bundle-version="[2.0.0,3.0.0)",
+ org.eclipse.papyrus.infra.emf.readonly;bundle-version="[3.0.0,4.0.0)",
org.eclipse.papyrus.infra.onefile;bundle-version="[2.0.0,3.0.0)",
- org.eclipse.papyrus.infra.ui;bundle-version="[1.2.0,2.0.0)";visibility:=reexport
+ org.eclipse.papyrus.infra.ui;bundle-version="[2.0.0,3.0.0)";visibility:=reexport
Bundle-Vendor: %pluginProvider
Bundle-ActivationPolicy: lazy
-Bundle-Version: 1.2.0.qualifier
+Bundle-Version: 2.0.0.qualifier
Bundle-Name: %pluginName
Bundle-Localization: plugin
Bundle-Activator: org.eclipse.papyrus.infra.ui.internal.emf.Activator
diff --git a/plugins/infra/emf/org.eclipse.papyrus.infra.ui.emf/pom.xml b/plugins/infra/emf/org.eclipse.papyrus.infra.ui.emf/pom.xml
index b5fbae85035..1f6eed205f8 100644
--- a/plugins/infra/emf/org.eclipse.papyrus.infra.ui.emf/pom.xml
+++ b/plugins/infra/emf/org.eclipse.papyrus.infra.ui.emf/pom.xml
@@ -1,12 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
-<project>
- <modelVersion>4.0.0</modelVersion>
- <parent>
- <artifactId>org.eclipse.papyrus.infra-emf</artifactId>
- <groupId>org.eclipse.papyrus</groupId>
- <version>0.0.1-SNAPSHOT</version>
- </parent>
- <artifactId>org.eclipse.papyrus.infra.ui.emf</artifactId>
- <version>1.2.0-SNAPSHOT</version>
- <packaging>eclipse-plugin</packaging>
-</project>
+<project>
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <artifactId>org.eclipse.papyrus.infra-emf</artifactId>
+ <groupId>org.eclipse.papyrus</groupId>
+ <version>0.0.1-SNAPSHOT</version>
+ </parent>
+ <artifactId>org.eclipse.papyrus.infra.ui.emf</artifactId>
+ <version>2.0.0-SNAPSHOT</version>
+ <packaging>eclipse-plugin</packaging>
+</project> \ No newline at end of file
diff --git a/plugins/infra/emf/org.eclipse.papyrus.infra.ui.emf/src/org/eclipse/papyrus/infra/ui/emf/providers/strategy/ContainmentBrowseStrategy.java b/plugins/infra/emf/org.eclipse.papyrus.infra.ui.emf/src/org/eclipse/papyrus/infra/ui/emf/providers/strategy/ContainmentBrowseStrategy.java
index f92cec5d8c4..2a7d438ba2a 100644
--- a/plugins/infra/emf/org.eclipse.papyrus.infra.ui.emf/src/org/eclipse/papyrus/infra/ui/emf/providers/strategy/ContainmentBrowseStrategy.java
+++ b/plugins/infra/emf/org.eclipse.papyrus.infra.ui.emf/src/org/eclipse/papyrus/infra/ui/emf/providers/strategy/ContainmentBrowseStrategy.java
@@ -40,12 +40,10 @@ import org.eclipse.swt.widgets.TreeItem;
*
* @author Camille Letavernier
*/
-public class ContainmentBrowseStrategy extends ProviderBasedBrowseStrategy {
+public class ContainmentBrowseStrategy extends ProviderBasedBrowseStrategy<TreeViewer> {
protected IAdaptableContentProvider adaptableProvider;
- protected TreeViewer viewer;
-
public ContainmentBrowseStrategy(ITreeContentProvider provider) {
if (!(provider instanceof IAdaptableContentProvider)) {
throw new IllegalArgumentException("The provider must be an IAdaptableContentProvider");
@@ -343,4 +341,5 @@ public class ContainmentBrowseStrategy extends ProviderBasedBrowseStrategy {
return new ArrayList<Object>();
}
+
}
diff --git a/plugins/infra/gmfdiag/assistant/org.eclipse.papyrus.infra.gmfdiag.assistant/META-INF/MANIFEST.MF b/plugins/infra/gmfdiag/assistant/org.eclipse.papyrus.infra.gmfdiag.assistant/META-INF/MANIFEST.MF
index a2cd4de1581..e557f4b85b5 100644
--- a/plugins/infra/gmfdiag/assistant/org.eclipse.papyrus.infra.gmfdiag.assistant/META-INF/MANIFEST.MF
+++ b/plugins/infra/gmfdiag/assistant/org.eclipse.papyrus.infra.gmfdiag.assistant/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@ Manifest-Version: 1.0
Require-Bundle: org.eclipse.emf.ecore.xmi;bundle-version="[2.12.0,3.0.0)";visibility:=reexport,
org.eclipse.papyrus.infra.filters;bundle-version="[1.2.0,2.0.0)";visibility:=reexport,
org.eclipse.papyrus.infra.emf;bundle-version="[2.0.0,3.0.0)",
- org.eclipse.papyrus.infra.gmfdiag.common;bundle-version="[2.0.0,3.0.0)",
+ org.eclipse.papyrus.infra.gmfdiag.common;bundle-version="[3.0.0,4.0.0)",
com.ibm.icu;bundle-version="52.1.0"
Export-Package: org.eclipse.papyrus.infra.gmfdiag.assistant,
org.eclipse.papyrus.infra.gmfdiag.assistant.core,
diff --git a/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.configuration/META-INF/MANIFEST.MF b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.configuration/META-INF/MANIFEST.MF
index b2147ca4cce..1d8470dcb9e 100644
--- a/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.configuration/META-INF/MANIFEST.MF
+++ b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.configuration/META-INF/MANIFEST.MF
@@ -1,12 +1,12 @@
Manifest-Version: 1.0
Export-Package: org.eclipse.papyrus.infra.gmfdiag.css.configuration.handler
-Require-Bundle: org.eclipse.papyrus.infra.gmfdiag.css.properties;bundle-version="[1.2.0,2.0.0)",
- org.eclipse.papyrus.infra.gmfdiag.css;bundle-version="[1.2.0,2.0.0)";visibility:=reexport,
+Require-Bundle: org.eclipse.papyrus.infra.gmfdiag.css.properties;bundle-version="[2.0.0,3.0.0)",
+ org.eclipse.papyrus.infra.gmfdiag.css;bundle-version="[2.0.0,3.0.0)";visibility:=reexport,
org.eclipse.e4.ui.css.core;bundle-version="[0.11.0,1.0.0)",
- org.eclipse.papyrus.infra.gmfdiag.css3.xtext;bundle-version="[2.0.0,3.0.0)";visibility:=reexport
+ org.eclipse.papyrus.infra.gmfdiag.css3.xtext;bundle-version="[3.0.0,4.0.0)";visibility:=reexport
Bundle-Vendor: Eclipse Modeling Project
Bundle-ActivationPolicy: lazy
-Bundle-Version: 1.2.0.qualifier
+Bundle-Version: 2.0.0.qualifier
Bundle-Name: CSS Configuration
Bundle-Activator: org.eclipse.papyrus.infra.gmfdiag.css.configuration.Activator
Bundle-ManifestVersion: 2
diff --git a/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.configuration/pom.xml b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.configuration/pom.xml
index 04b9961c188..1b1c98a02e4 100644
--- a/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.configuration/pom.xml
+++ b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.configuration/pom.xml
@@ -1,12 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
-<project>
- <modelVersion>4.0.0</modelVersion>
- <parent>
- <groupId>org.eclipse.papyrus</groupId>
- <artifactId>org.eclipse.papyrus.infra-gmfdiag-css</artifactId>
- <version>0.0.1-SNAPSHOT</version>
- </parent>
- <artifactId>org.eclipse.papyrus.infra.gmfdiag.css.configuration</artifactId>
- <version>1.2.0-SNAPSHOT</version>
- <packaging>eclipse-plugin</packaging>
-</project>
+<project>
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>org.eclipse.papyrus</groupId>
+ <artifactId>org.eclipse.papyrus.infra-gmfdiag-css</artifactId>
+ <version>0.0.1-SNAPSHOT</version>
+ </parent>
+ <artifactId>org.eclipse.papyrus.infra.gmfdiag.css.configuration</artifactId>
+ <version>2.0.0-SNAPSHOT</version>
+ <packaging>eclipse-plugin</packaging>
+</project> \ No newline at end of file
diff --git a/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.properties/META-INF/MANIFEST.MF b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.properties/META-INF/MANIFEST.MF
index 15c4a98e6d7..ac84a8ab6c1 100644
--- a/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.properties/META-INF/MANIFEST.MF
+++ b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.properties/META-INF/MANIFEST.MF
@@ -2,14 +2,14 @@ Manifest-Version: 1.0
Export-Package: org.eclipse.papyrus.infra.gmfdiag.css.properties.creation,
org.eclipse.papyrus.infra.gmfdiag.css.properties.databinding,
org.eclipse.papyrus.infra.gmfdiag.css.properties.provider
-Require-Bundle: org.eclipse.papyrus.infra.properties.ui;bundle-version="[1.3.0,2.0.0)";visibility:=reexport,
- org.eclipse.papyrus.infra.gmfdiag.css;bundle-version="[1.2.0,2.0.0)",
- org.eclipse.papyrus.infra.gmfdiag.properties;bundle-version="[2.0.0,3.0.0)",
+Require-Bundle: org.eclipse.papyrus.infra.properties.ui;bundle-version="[2.0.0,3.0.0)";visibility:=reexport,
+ org.eclipse.papyrus.infra.gmfdiag.css;bundle-version="[2.0.0,3.0.0)",
+ org.eclipse.papyrus.infra.gmfdiag.properties;bundle-version="[3.0.0,4.0.0)",
org.eclipse.e4.ui.css.core;bundle-version="[0.11.0,1.0.0)",
org.eclipse.papyrus.infra.gmfdiag.dnd;bundle-version="[1.2.0,2.0.0)"
Bundle-Vendor: Eclipse Modeling Project
Bundle-ActivationPolicy: lazy
-Bundle-Version: 1.2.0.qualifier
+Bundle-Version: 2.1.0.qualifier
Bundle-Name: CSS Properties
Bundle-Activator: org.eclipse.papyrus.infra.gmfdiag.css.properties.Activator
Bundle-ManifestVersion: 2
diff --git a/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.properties/pom.xml b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.properties/pom.xml
index c4eca1b9958..97355e90cee 100644
--- a/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.properties/pom.xml
+++ b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.properties/pom.xml
@@ -1,12 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
-<project>
- <modelVersion>4.0.0</modelVersion>
- <parent>
- <groupId>org.eclipse.papyrus</groupId>
- <artifactId>org.eclipse.papyrus.infra-gmfdiag-css</artifactId>
- <version>0.0.1-SNAPSHOT</version>
- </parent>
- <artifactId>org.eclipse.papyrus.infra.gmfdiag.css.properties</artifactId>
- <version>1.2.0-SNAPSHOT</version>
- <packaging>eclipse-plugin</packaging>
-</project>
+<project>
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>org.eclipse.papyrus</groupId>
+ <artifactId>org.eclipse.papyrus.infra-gmfdiag-css</artifactId>
+ <version>0.0.1-SNAPSHOT</version>
+ </parent>
+ <artifactId>org.eclipse.papyrus.infra.gmfdiag.css.properties</artifactId>
+ <version>2.1.0-SNAPSHOT</version>
+ <packaging>eclipse-plugin</packaging>
+</project> \ No newline at end of file
diff --git a/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.properties/src/org/eclipse/papyrus/infra/gmfdiag/css/properties/fieldeditor/InputComboFieldEditor.java b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.properties/src/org/eclipse/papyrus/infra/gmfdiag/css/properties/fieldeditor/InputComboFieldEditor.java
index 202f455441a..3d14a36b0d2 100644
--- a/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.properties/src/org/eclipse/papyrus/infra/gmfdiag/css/properties/fieldeditor/InputComboFieldEditor.java
+++ b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.properties/src/org/eclipse/papyrus/infra/gmfdiag/css/properties/fieldeditor/InputComboFieldEditor.java
@@ -228,7 +228,7 @@ public class InputComboFieldEditor extends FieldEditor implements IDynamicFieldE
}
}
if (fEntryNamesAndValues.length > 0) {
- value = fEntryNamesAndValues[0][1];
+ this.value = fEntryNamesAndValues[0][1];
combo.setText(fEntryNamesAndValues[0][0]);
}
}
diff --git a/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.theme/META-INF/MANIFEST.MF b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.theme/META-INF/MANIFEST.MF
index b65744dbbe4..40f34fb513c 100644
--- a/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.theme/META-INF/MANIFEST.MF
+++ b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.theme/META-INF/MANIFEST.MF
@@ -1,5 +1,5 @@
Manifest-Version: 1.0
-Require-Bundle: org.eclipse.papyrus.infra.gmfdiag.css;bundle-version="[1.2.0,2.0.0)"
+Require-Bundle: org.eclipse.papyrus.infra.gmfdiag.css;bundle-version="[2.0.0,3.0.0)"
Bundle-Vendor: Eclipse Modeling Project
Bundle-Version: 1.2.0.qualifier
Bundle-Name: Papyrus Theme
diff --git a/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css/META-INF/MANIFEST.MF b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css/META-INF/MANIFEST.MF
index 04cd9d144a8..2d026df0412 100644
--- a/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css/META-INF/MANIFEST.MF
+++ b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css/META-INF/MANIFEST.MF
@@ -20,12 +20,12 @@ Require-Bundle: org.eclipse.e4.ui.css.core;bundle-version="[0.11.0,1.0.0)",
org.w3c.css.sac;bundle-version="[1.3.0,2.0.0)";visibility:=reexport,
org.eclipse.papyrus.infra.emf.appearance;bundle-version="[1.2.0,2.0.0)";visibility:=reexport,
org.eclipse.papyrus.infra.gmfdiag.css.model;bundle-version="[1.2.0,2.0.0)";visibility:=reexport,
- org.eclipse.papyrus.infra.gmfdiag.common;bundle-version="[2.0.0,3.0.0)";visibility:=reexport,
+ org.eclipse.papyrus.infra.gmfdiag.common;bundle-version="[3.0.0,4.0.0)";visibility:=reexport,
org.eclipse.gmf.runtime.notation.edit;bundle-version="[1.7.0,2.0.0)",
org.eclipse.papyrus.infra.properties;bundle-version="[1.2.0,2.0.0)"
Bundle-Vendor: %providerName
Bundle-ActivationPolicy: lazy
-Bundle-Version: 1.2.0.qualifier
+Bundle-Version: 2.0.0.qualifier
Bundle-Localization: plugin
Bundle-Name: %pluginName
Bundle-Activator: org.eclipse.papyrus.infra.gmfdiag.css.Activator
diff --git a/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css/pom.xml b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css/pom.xml
index deef8f07927..53faaef5c36 100644
--- a/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css/pom.xml
+++ b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css/pom.xml
@@ -1,12 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
-<project>
- <modelVersion>4.0.0</modelVersion>
- <parent>
- <groupId>org.eclipse.papyrus</groupId>
- <artifactId>org.eclipse.papyrus.infra-gmfdiag-css</artifactId>
- <version>0.0.1-SNAPSHOT</version>
- </parent>
- <artifactId>org.eclipse.papyrus.infra.gmfdiag.css</artifactId>
- <version>1.2.0-SNAPSHOT</version>
- <packaging>eclipse-plugin</packaging>
-</project>
+<project>
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>org.eclipse.papyrus</groupId>
+ <artifactId>org.eclipse.papyrus.infra-gmfdiag-css</artifactId>
+ <version>0.0.1-SNAPSHOT</version>
+ </parent>
+ <artifactId>org.eclipse.papyrus.infra.gmfdiag.css</artifactId>
+ <version>2.0.0-SNAPSHOT</version>
+ <packaging>eclipse-plugin</packaging>
+</project> \ No newline at end of file
diff --git a/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/style/impl/CSSImageBufferStyleDelegate.java b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/style/impl/CSSImageBufferStyleDelegate.java
index 094d505090a..fa2dfeaf9d3 100644
--- a/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/style/impl/CSSImageBufferStyleDelegate.java
+++ b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/style/impl/CSSImageBufferStyleDelegate.java
@@ -1,54 +1,56 @@
-/*****************************************************************************
- * Copyright (c) 2012 CEA LIST.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Camille Letavernier (CEA LIST) camille.letavernier@cea.fr - Initial API and implementation
- *****************************************************************************/
-package org.eclipse.papyrus.infra.gmfdiag.css.style.impl;
-
-import org.eclipse.gmf.runtime.notation.ImageBufferStyle;
-import org.eclipse.gmf.runtime.notation.NotationPackage;
-import org.eclipse.papyrus.infra.gmfdiag.css.engine.ExtendedCSSEngine;
-import org.eclipse.papyrus.infra.gmfdiag.css.style.CSSImageBufferStyle;
-import org.w3c.dom.css.CSSValue;
-
-public class CSSImageBufferStyleDelegate implements CSSImageBufferStyle {
-
- private ImageBufferStyle imageBufferStyle;
-
- private ExtendedCSSEngine engine;
-
- public CSSImageBufferStyleDelegate(ImageBufferStyle imageBufferStyle, ExtendedCSSEngine engine) {
- this.imageBufferStyle = imageBufferStyle;
- this.engine = engine;
- }
-
- // //////////////////////////////////////////////
- // Implements a getter for each CSS property //
- // //////////////////////////////////////////////
-
- @Override
- public java.lang.Boolean getCSSAntiAlias() {
- CSSValue cssValue = engine.retrievePropertyValue(imageBufferStyle, "antiAlias");
- if (cssValue == null) {
- Object defaultValue = NotationPackage.eINSTANCE.getImageStyle_AntiAlias().getDefaultValue();
- return (java.lang.Boolean) defaultValue;
- }
- return null;
- }
-
- @Override
- public java.lang.Boolean getCSSMaintainAspectRatio() {
- CSSValue cssValue = engine.retrievePropertyValue(imageBufferStyle, "maintainAspectRatio");
- if (cssValue == null) {
- Object defaultValue = NotationPackage.eINSTANCE.getImageStyle_MaintainAspectRatio().getDefaultValue();
- return (java.lang.Boolean) defaultValue;
- }
- return null;
- }
-}
+/*****************************************************************************
+ * Copyright (c) 2012 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Camille Letavernier (CEA LIST) camille.letavernier@cea.fr - Initial API and implementation
+ *****************************************************************************/
+package org.eclipse.papyrus.infra.gmfdiag.css.style.impl;
+
+import org.eclipse.gmf.runtime.notation.ImageBufferStyle;
+import org.eclipse.gmf.runtime.notation.NotationPackage;
+import org.eclipse.papyrus.infra.gmfdiag.css.engine.ExtendedCSSEngine;
+import org.eclipse.papyrus.infra.gmfdiag.css.style.CSSImageBufferStyle;
+import org.w3c.dom.css.CSSValue;
+
+public class CSSImageBufferStyleDelegate implements CSSImageBufferStyle {
+
+ private ImageBufferStyle imageBufferStyle;
+
+ private ExtendedCSSEngine engine;
+
+ public CSSImageBufferStyleDelegate(ImageBufferStyle imageBufferStyle, ExtendedCSSEngine engine) {
+ this.imageBufferStyle = imageBufferStyle;
+ this.engine = engine;
+ }
+
+ // //////////////////////////////////////////////
+ // Implements a getter for each CSS property //
+ // //////////////////////////////////////////////
+
+ @Override
+ public java.lang.Boolean getCSSAntiAlias() {
+ CSSValue cssValue = engine.retrievePropertyValue(imageBufferStyle, "antiAlias");
+ if (cssValue == null) {
+ Object defaultValue = NotationPackage.eINSTANCE.getImageStyle_AntiAlias().getDefaultValue();
+ return (java.lang.Boolean) defaultValue;
+ }
+
+ return (Boolean) engine.convert(cssValue, Boolean.class, null);
+ }
+
+ @Override
+ public java.lang.Boolean getCSSMaintainAspectRatio() {
+ CSSValue cssValue = engine.retrievePropertyValue(imageBufferStyle, "maintainAspectRatio");
+ if (cssValue == null) {
+ Object defaultValue = NotationPackage.eINSTANCE.getImageStyle_MaintainAspectRatio().getDefaultValue();
+ return (java.lang.Boolean) defaultValue;
+ }
+
+ return (Boolean) engine.convert(cssValue, Boolean.class, null);
+ }
+}
diff --git a/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/style/impl/CSSImageStyleDelegate.java b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/style/impl/CSSImageStyleDelegate.java
index a1a23e0013f..569de488320 100644
--- a/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/style/impl/CSSImageStyleDelegate.java
+++ b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/style/impl/CSSImageStyleDelegate.java
@@ -1,54 +1,54 @@
-/*****************************************************************************
- * Copyright (c) 2012 CEA LIST.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Camille Letavernier (CEA LIST) camille.letavernier@cea.fr - Initial API and implementation
- *****************************************************************************/
-package org.eclipse.papyrus.infra.gmfdiag.css.style.impl;
-
-import org.eclipse.gmf.runtime.notation.ImageStyle;
-import org.eclipse.gmf.runtime.notation.NotationPackage;
-import org.eclipse.papyrus.infra.gmfdiag.css.engine.ExtendedCSSEngine;
-import org.eclipse.papyrus.infra.gmfdiag.css.style.CSSImageStyle;
-import org.w3c.dom.css.CSSValue;
-
-public class CSSImageStyleDelegate implements CSSImageStyle {
-
- private ImageStyle imageStyle;
-
- private ExtendedCSSEngine engine;
-
- public CSSImageStyleDelegate(ImageStyle imageStyle, ExtendedCSSEngine engine) {
- this.imageStyle = imageStyle;
- this.engine = engine;
- }
-
- // //////////////////////////////////////////////
- // Implements a getter for each CSS property //
- // //////////////////////////////////////////////
-
- @Override
- public java.lang.Boolean getCSSAntiAlias() {
- CSSValue cssValue = engine.retrievePropertyValue(imageStyle, "antiAlias");
- if (cssValue == null) {
- Object defaultValue = NotationPackage.eINSTANCE.getImageStyle_AntiAlias().getDefaultValue();
- return (java.lang.Boolean) defaultValue;
- }
- return null;
- }
-
- @Override
- public java.lang.Boolean getCSSMaintainAspectRatio() {
- CSSValue cssValue = engine.retrievePropertyValue(imageStyle, "maintainAspectRatio");
- if (cssValue == null) {
- Object defaultValue = NotationPackage.eINSTANCE.getImageStyle_MaintainAspectRatio().getDefaultValue();
- return (java.lang.Boolean) defaultValue;
- }
- return null;
- }
-}
+/*****************************************************************************
+ * Copyright (c) 2012 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Camille Letavernier (CEA LIST) camille.letavernier@cea.fr - Initial API and implementation
+ *****************************************************************************/
+package org.eclipse.papyrus.infra.gmfdiag.css.style.impl;
+
+import org.eclipse.gmf.runtime.notation.ImageStyle;
+import org.eclipse.gmf.runtime.notation.NotationPackage;
+import org.eclipse.papyrus.infra.gmfdiag.css.engine.ExtendedCSSEngine;
+import org.eclipse.papyrus.infra.gmfdiag.css.style.CSSImageStyle;
+import org.w3c.dom.css.CSSValue;
+
+public class CSSImageStyleDelegate implements CSSImageStyle {
+
+ private ImageStyle imageStyle;
+
+ private ExtendedCSSEngine engine;
+
+ public CSSImageStyleDelegate(ImageStyle imageStyle, ExtendedCSSEngine engine) {
+ this.imageStyle = imageStyle;
+ this.engine = engine;
+ }
+
+ // //////////////////////////////////////////////
+ // Implements a getter for each CSS property //
+ // //////////////////////////////////////////////
+
+ @Override
+ public java.lang.Boolean getCSSAntiAlias() {
+ CSSValue cssValue = engine.retrievePropertyValue(imageStyle, "antiAlias");
+ if (cssValue == null) {
+ Object defaultValue = NotationPackage.eINSTANCE.getImageStyle_AntiAlias().getDefaultValue();
+ return (java.lang.Boolean) defaultValue;
+ }
+ return (Boolean) engine.convert(cssValue, Boolean.class, null);
+ }
+
+ @Override
+ public java.lang.Boolean getCSSMaintainAspectRatio() {
+ CSSValue cssValue = engine.retrievePropertyValue(imageStyle, "maintainAspectRatio");
+ if (cssValue == null) {
+ Object defaultValue = NotationPackage.eINSTANCE.getImageStyle_MaintainAspectRatio().getDefaultValue();
+ return (java.lang.Boolean) defaultValue;
+ }
+ return (Boolean) engine.convert(cssValue, Boolean.class, null);
+ }
+}
diff --git a/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css/src/org/eclipse/papyrus/infra/gmfdiag/css/dom/GMFElementAdapter.java b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css/src/org/eclipse/papyrus/infra/gmfdiag/css/dom/GMFElementAdapter.java
index 482aee3969c..58321119f24 100644
--- a/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css/src/org/eclipse/papyrus/infra/gmfdiag/css/dom/GMFElementAdapter.java
+++ b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css/src/org/eclipse/papyrus/infra/gmfdiag/css/dom/GMFElementAdapter.java
@@ -260,7 +260,7 @@ public class GMFElementAdapter extends ElementAdapter implements NodeList, IChan
humanType = notationElement.getType();
}
- pseudoInstances.add(new StringIgnoreCase(humanType));
+ pseudoInstances.add(normalizeString(humanType));
}
}
@@ -691,51 +691,15 @@ public class GMFElementAdapter extends ElementAdapter implements NodeList, IChan
getEngine().handleDispose(notationElement);
}
- private final Set<StringIgnoreCase> pseudoInstances = new HashSet<StringIgnoreCase>();
-
- private final static class StringIgnoreCase {
-
- private final String sourceString;
-
- private final String sourceStringToLower;
-
- public StringIgnoreCase(String source) {
- this.sourceString = source;
- this.sourceStringToLower = source == null ? null : source.toLowerCase();
- }
-
- @Override
- public boolean equals(Object other) {
- if (other instanceof String) {
- return ((String) other).equalsIgnoreCase(sourceString);
- }
-
- if (other instanceof StringIgnoreCase) {
- return equals(((StringIgnoreCase) other).sourceString);
- }
-
- return false;
- }
-
- @Override
- public int hashCode() {
- if (sourceStringToLower == null) {
- return 0;
- }
-
- return sourceStringToLower.hashCode();
- }
-
- @Override
- public String toString() {
- return sourceStringToLower;
- }
+ private final Set<String> pseudoInstances = new HashSet<String>();
+ private String normalizeString(String string) {
+ return string.toUpperCase().toLowerCase();
}
@Override
public boolean isPseudoInstanceOf(String pseudo) {
- return pseudoInstances.contains(new StringIgnoreCase(pseudo));
+ return pseudoInstances.contains(normalizeString(pseudo));
}
@@ -760,7 +724,7 @@ public class GMFElementAdapter extends ElementAdapter implements NodeList, IChan
@Override
public void addStates(Set<String> states) {
for (String state : states) {
- this.pseudoInstances.add(new StringIgnoreCase(state));
+ this.pseudoInstances.add(normalizeString(state));
}
getEngine().notifyChange(this);
}
@@ -773,17 +737,13 @@ public class GMFElementAdapter extends ElementAdapter implements NodeList, IChan
@Override
public void removeStates(Set<String> states) {
for (String state : states) {
- this.pseudoInstances.remove(new StringIgnoreCase(state));
+ this.pseudoInstances.remove(normalizeString(state));
}
getEngine().notifyChange(this);
}
@Override
public Set<String> getStates() {
- Set<String> result = new HashSet<String>();
- for (StringIgnoreCase element : pseudoInstances) {
- result.add(element.toString());
- }
- return result;
+ return pseudoInstances;
}
}
diff --git a/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css3.xtext.ui/META-INF/MANIFEST.MF b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css3.xtext.ui/META-INF/MANIFEST.MF
index 6404fe8b557..82f6d7bb0ae 100644
--- a/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css3.xtext.ui/META-INF/MANIFEST.MF
+++ b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css3.xtext.ui/META-INF/MANIFEST.MF
@@ -1,12 +1,12 @@
Manifest-Version: 1.0
-Require-Bundle: org.eclipse.papyrus.infra.gmfdiag.css3.xtext;bundle-version="[2.0.0,3.0.0)";visibility:=reexport,
+Require-Bundle: org.eclipse.papyrus.infra.gmfdiag.css3.xtext;bundle-version="[3.0.0,4.0.0)";visibility:=reexport,
org.eclipse.xtext.ui;bundle-version="[2.10.0,3.0.0)";visibility:=reexport,
org.eclipse.xtext.ui.shared;bundle-version="[2.10.0,3.0.0)",
org.eclipse.xtext.builder;bundle-version="[2.10.0,3.0.0)",
org.eclipse.xtext.common.types.ui;bundle-version="[2.10.0,3.0.0)",
org.eclipse.xtext.ui.codetemplates.ui;bundle-version="[2.10.0,3.0.0)",
org.eclipse.compare;bundle-version="[3.6.0,4.0.0)",
- org.eclipse.papyrus.infra.gmfdiag.css;bundle-version="[1.2.0,2.0.0)",
+ org.eclipse.papyrus.infra.gmfdiag.css;bundle-version="[2.0.0,3.0.0)",
org.eclipse.ui.editors;bundle-version="[3.10.0,4.0.0)",
org.eclipse.ui;bundle-version="[3.108.0,4.0.0)",
org.eclipse.xtext.xbase.lib;bundle-version="[2.10.0,3.0.0)"
@@ -17,7 +17,7 @@ Export-Package: org.eclipse.papyrus.infra.gmfdiag.css3.ui.quickfix,
org.eclipse.papyrus.infra.gmfdiag.css3.ui.contentassist.antlr.internal
Bundle-Vendor: Eclipse Modeling Project
Bundle-ActivationPolicy: lazy
-Bundle-Version: 2.0.0.qualifier
+Bundle-Version: 3.0.0.qualifier
Bundle-Name: CSS3 Xtext Editor (UI)
Bundle-ManifestVersion: 2
Bundle-Activator: org.eclipse.papyrus.infra.gmfdiag.css3.ui.internal.CSSActivator
diff --git a/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css3.xtext.ui/pom.xml b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css3.xtext.ui/pom.xml
index fbf5aec7d55..020f7bf9061 100644
--- a/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css3.xtext.ui/pom.xml
+++ b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css3.xtext.ui/pom.xml
@@ -1,52 +1,52 @@
<?xml version="1.0" encoding="UTF-8"?>
-<project>
- <modelVersion>4.0.0</modelVersion>
- <parent>
- <groupId>org.eclipse.papyrus</groupId>
- <artifactId>org.eclipse.papyrus.infra-gmfdiag-css</artifactId>
- <version>0.0.1-SNAPSHOT</version>
- </parent>
- <artifactId>org.eclipse.papyrus.infra.gmfdiag.css3.xtext.ui</artifactId>
- <version>2.0.0-SNAPSHOT</version>
- <packaging>eclipse-plugin</packaging>
-
- <build>
- <plugins>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-compiler-plugin</artifactId>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-clean-plugin</artifactId>
- <configuration>
- <fileset>
- <directory>xtend-gen</directory>
- <includes>
- <include>**/*</include>
- </includes>
- <excludes>
- <exclude>.gitignore</exclude>
- </excludes>
- </fileset>
- </configuration>
- </plugin>
- <plugin>
- <groupId>org.eclipse.xtend</groupId>
- <artifactId>xtend-maven-plugin</artifactId>
- <executions>
- <execution>
- <phase>generate-sources</phase>
- <goals>
- <goal>compile</goal>
- </goals>
- </execution>
- </executions>
- <configuration>
- <outputDirectory>xtend-gen</outputDirectory>
- <testOutputDirectory>${project.build.directory}/xtend-gen/test</testOutputDirectory>
- </configuration>
- </plugin>
- </plugins>
- </build>
+<project>
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>org.eclipse.papyrus</groupId>
+ <artifactId>org.eclipse.papyrus.infra-gmfdiag-css</artifactId>
+ <version>0.0.1-SNAPSHOT</version>
+ </parent>
+ <artifactId>org.eclipse.papyrus.infra.gmfdiag.css3.xtext.ui</artifactId>
+ <version>3.0.0-SNAPSHOT</version>
+ <packaging>eclipse-plugin</packaging>
+
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-compiler-plugin</artifactId>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-clean-plugin</artifactId>
+ <configuration>
+ <fileset>
+ <directory>xtend-gen</directory>
+ <includes>
+ <include>**/*</include>
+ </includes>
+ <excludes>
+ <exclude>.gitignore</exclude>
+ </excludes>
+ </fileset>
+ </configuration>
+ </plugin>
+ <plugin>
+ <groupId>org.eclipse.xtend</groupId>
+ <artifactId>xtend-maven-plugin</artifactId>
+ <executions>
+ <execution>
+ <phase>generate-sources</phase>
+ <goals>
+ <goal>compile</goal>
+ </goals>
+ </execution>
+ </executions>
+ <configuration>
+ <outputDirectory>xtend-gen</outputDirectory>
+ <testOutputDirectory>${project.build.directory}/xtend-gen/test</testOutputDirectory>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
</project> \ No newline at end of file
diff --git a/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css3.xtext/META-INF/MANIFEST.MF b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css3.xtext/META-INF/MANIFEST.MF
index b513856b2ea..683640b4112 100644
--- a/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css3.xtext/META-INF/MANIFEST.MF
+++ b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css3.xtext/META-INF/MANIFEST.MF
@@ -28,7 +28,7 @@ Export-Package: org.eclipse.papyrus.infra.gmfdiag.css3,
org.eclipse.papyrus.infra.gmfdiag.css3.formatting2
Bundle-Vendor: Eclipse Modeling Project
Bundle-ActivationPolicy: lazy
-Bundle-Version: 2.0.0.qualifier
+Bundle-Version: 3.0.0.qualifier
Bundle-Name: CSS3 Xtext Editor
Bundle-ManifestVersion: 2
Bundle-SymbolicName: org.eclipse.papyrus.infra.gmfdiag.css3.xtext; singleton:=true
diff --git a/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css3.xtext/pom.xml b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css3.xtext/pom.xml
index 4fb3123cc5f..db68058d6a6 100644
--- a/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css3.xtext/pom.xml
+++ b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css3.xtext/pom.xml
@@ -1,52 +1,52 @@
<?xml version="1.0" encoding="UTF-8"?>
-<project>
- <modelVersion>4.0.0</modelVersion>
- <parent>
- <groupId>org.eclipse.papyrus</groupId>
- <artifactId>org.eclipse.papyrus.infra-gmfdiag-css</artifactId>
- <version>0.0.1-SNAPSHOT</version>
- </parent>
- <artifactId>org.eclipse.papyrus.infra.gmfdiag.css3.xtext</artifactId>
- <version>2.0.0-SNAPSHOT</version>
- <packaging>eclipse-plugin</packaging>
-
- <build>
- <plugins>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-compiler-plugin</artifactId>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-clean-plugin</artifactId>
- <configuration>
- <fileset>
- <directory>xtend-gen</directory>
- <includes>
- <include>**/*</include>
- </includes>
- <excludes>
- <exclude>.gitignore</exclude>
- </excludes>
- </fileset>
- </configuration>
- </plugin>
- <plugin>
- <groupId>org.eclipse.xtend</groupId>
- <artifactId>xtend-maven-plugin</artifactId>
- <executions>
- <execution>
- <phase>generate-sources</phase>
- <goals>
- <goal>compile</goal>
- </goals>
- </execution>
- </executions>
- <configuration>
- <outputDirectory>xtend-gen</outputDirectory>
- <testOutputDirectory>${project.build.directory}/xtend-gen/test</testOutputDirectory>
- </configuration>
- </plugin>
- </plugins>
- </build>
+<project>
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>org.eclipse.papyrus</groupId>
+ <artifactId>org.eclipse.papyrus.infra-gmfdiag-css</artifactId>
+ <version>0.0.1-SNAPSHOT</version>
+ </parent>
+ <artifactId>org.eclipse.papyrus.infra.gmfdiag.css3.xtext</artifactId>
+ <version>3.0.0-SNAPSHOT</version>
+ <packaging>eclipse-plugin</packaging>
+
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-compiler-plugin</artifactId>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-clean-plugin</artifactId>
+ <configuration>
+ <fileset>
+ <directory>xtend-gen</directory>
+ <includes>
+ <include>**/*</include>
+ </includes>
+ <excludes>
+ <exclude>.gitignore</exclude>
+ </excludes>
+ </fileset>
+ </configuration>
+ </plugin>
+ <plugin>
+ <groupId>org.eclipse.xtend</groupId>
+ <artifactId>xtend-maven-plugin</artifactId>
+ <executions>
+ <execution>
+ <phase>generate-sources</phase>
+ <goals>
+ <goal>compile</goal>
+ </goals>
+ </execution>
+ </executions>
+ <configuration>
+ <outputDirectory>xtend-gen</outputDirectory>
+ <testOutputDirectory>${project.build.directory}/xtend-gen/test</testOutputDirectory>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
</project> \ No newline at end of file
diff --git a/plugins/infra/gmfdiag/org.eclipse.papyrus.extensionpoints.editors/META-INF/MANIFEST.MF b/plugins/infra/gmfdiag/org.eclipse.papyrus.extensionpoints.editors/META-INF/MANIFEST.MF
index e7eceb42fa6..1e6b2ee315e 100644
--- a/plugins/infra/gmfdiag/org.eclipse.papyrus.extensionpoints.editors/META-INF/MANIFEST.MF
+++ b/plugins/infra/gmfdiag/org.eclipse.papyrus.extensionpoints.editors/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@ Manifest-Version: 1.0
Require-Bundle: org.eclipse.gmf.runtime.diagram.ui;bundle-version="[1.8.0,2.0.0)";visibility:=reexport,
org.eclipse.papyrus.infra.emf;bundle-version="[2.0.0,3.0.0)",
org.eclipse.papyrus.infra.constraints;bundle-version="[2.0.0,3.0.0)";visibility:=reexport,
- org.eclipse.papyrus.infra.ui;bundle-version="[1.2.0,2.0.0)"
+ org.eclipse.papyrus.infra.ui;bundle-version="[2.0.0,3.0.0)"
Export-Package: org.eclipse.papyrus.extensionpoints.editors,
org.eclipse.papyrus.extensionpoints.editors.configuration,
org.eclipse.papyrus.extensionpoints.editors.definition,
@@ -12,7 +12,7 @@ Export-Package: org.eclipse.papyrus.extensionpoints.editors,
org.eclipse.papyrus.extensionpoints.editors.utils
Bundle-Vendor: %providerName
Bundle-ActivationPolicy: lazy
-Bundle-Version: 1.2.0.qualifier
+Bundle-Version: 2.0.0.qualifier
Bundle-Name: %pluginName
Bundle-Localization: plugin
Bundle-Activator: org.eclipse.papyrus.extensionpoints.editors.Activator
diff --git a/plugins/infra/gmfdiag/org.eclipse.papyrus.extensionpoints.editors/pom.xml b/plugins/infra/gmfdiag/org.eclipse.papyrus.extensionpoints.editors/pom.xml
index cb528176aa6..dfcca2cd2c1 100644
--- a/plugins/infra/gmfdiag/org.eclipse.papyrus.extensionpoints.editors/pom.xml
+++ b/plugins/infra/gmfdiag/org.eclipse.papyrus.extensionpoints.editors/pom.xml
@@ -1,12 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
-<project>
- <modelVersion>4.0.0</modelVersion>
- <parent>
- <groupId>org.eclipse.papyrus</groupId>
- <artifactId>org.eclipse.papyrus.infra-gmfdiag</artifactId>
- <version>0.0.1-SNAPSHOT</version>
- </parent>
- <artifactId>org.eclipse.papyrus.extensionpoints.editors</artifactId>
- <version>1.2.0-SNAPSHOT</version>
- <packaging>eclipse-plugin</packaging>
-</project>
+<project>
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>org.eclipse.papyrus</groupId>
+ <artifactId>org.eclipse.papyrus.infra-gmfdiag</artifactId>
+ <version>0.0.1-SNAPSHOT</version>
+ </parent>
+ <artifactId>org.eclipse.papyrus.extensionpoints.editors</artifactId>
+ <version>2.0.0-SNAPSHOT</version>
+ <packaging>eclipse-plugin</packaging>
+</project> \ No newline at end of file
diff --git a/plugins/infra/gmfdiag/org.eclipse.papyrus.extensionpoints.editors/src/org/eclipse/papyrus/extensionpoints/editors/definition/DirectEditorExtensionPoint.java b/plugins/infra/gmfdiag/org.eclipse.papyrus.extensionpoints.editors/src/org/eclipse/papyrus/extensionpoints/editors/definition/DirectEditorExtensionPoint.java
index 7eaed5533a3..834f4b813cb 100644
--- a/plugins/infra/gmfdiag/org.eclipse.papyrus.extensionpoints.editors/src/org/eclipse/papyrus/extensionpoints/editors/definition/DirectEditorExtensionPoint.java
+++ b/plugins/infra/gmfdiag/org.eclipse.papyrus.extensionpoints.editors/src/org/eclipse/papyrus/extensionpoints/editors/definition/DirectEditorExtensionPoint.java
@@ -37,6 +37,8 @@ import org.eclipse.swt.graphics.Image;
*/
public class DirectEditorExtensionPoint implements IDirectEditorExtensionPoint {
+ private static volatile DirectEditorExtensionPoint instance = null;
+
/** Array that stores registered transformations */
private static IDirectEditorExtensionPoint[] configurations;
@@ -59,18 +61,12 @@ public class DirectEditorExtensionPoint implements IDirectEditorExtensionPoint {
/** an optional additional constraint to filter the supported elements (In addition to the Metaclass) */
private IDirectEditorConstraint constraint;
- /**
- * Returns the set of transformations registered in the platform
- *
- * @return the set of transformations registered in the platform
- */
- public static IDirectEditorExtensionPoint[] getDirectEditorConfigurations() {
-
- // Computed only once
- if (configurations != null) {
- return configurations;
- }
+ private DirectEditorExtensionPoint() {
+ super();
+ init();
+ }
+ protected void init() {
// It was not already computed,
// returns the new Collection of DirectEditorExtensionPoint
List<DirectEditorExtensionPoint> directEditorExtensionPoints = new ArrayList<DirectEditorExtensionPoint>();
@@ -95,18 +91,26 @@ public class DirectEditorExtensionPoint implements IDirectEditorExtensionPoint {
configurations = directEditorExtensionPoints.toArray(new DirectEditorExtensionPoint[directEditorExtensionPoints.size()]);
directEditorProvider = new DirectEditorRegistry();
directEditorProvider.init(configurations);
+ }
+ public final synchronized static DirectEditorExtensionPoint getInstance() {
+ if (DirectEditorExtensionPoint.instance == null) {
+ DirectEditorExtensionPoint.instance = new DirectEditorExtensionPoint();
+ }
+ return DirectEditorExtensionPoint.instance;
+ }
+
+ /**
+ * Returns the set of transformations registered in the platform
+ *
+ * @return the set of transformations registered in the platform
+ */
+ public IDirectEditorExtensionPoint[] getDirectEditorConfigurations() {
return configurations;
}
- public static DirectEditorRegistry getDirectEditorProvider() {
- if (directEditorProvider != null) {
- return directEditorProvider;
- } else {
- directEditorProvider = new DirectEditorRegistry();
- directEditorProvider.init(getDirectEditorConfigurations());
- return directEditorProvider;
- }
+ public DirectEditorRegistry getDirectEditorProvider() {
+ return directEditorProvider;
}
/**
@@ -118,7 +122,7 @@ public class DirectEditorExtensionPoint implements IDirectEditorExtensionPoint {
* @deprecated Use {@link DirectEditorsUtil#getDefautDirectEditorConfiguration(Object, Object)} instead
*/
@Deprecated
- public static DirectEditorExtensionPoint getDefautDirectEditorConfiguration(EObject semanticObjectToEdit, Object selectedObject) {
+ public DirectEditorExtensionPoint getDefautDirectEditorConfiguration(EObject semanticObjectToEdit, Object selectedObject) {
return (DirectEditorExtensionPoint) DirectEditorsUtil.getDefautDirectEditorConfiguration(semanticObjectToEdit, selectedObject);
}
@@ -134,7 +138,7 @@ public class DirectEditorExtensionPoint implements IDirectEditorExtensionPoint {
* @deprecated Use {@link DirectEditorsUtil#getDirectEditorConfigurations(Object, Object)} instead
*/
@Deprecated
- public static Collection<DirectEditorExtensionPoint> getDirectEditorConfigurations(EObject semanticObjectToEdit, Object selectedObject) {
+ public Collection<DirectEditorExtensionPoint> getDirectEditorConfigurations(EObject semanticObjectToEdit, Object selectedObject) {
Collection<IDirectEditorExtensionPoint> directEditorConfigurations = DirectEditorsUtil.getDirectEditorConfigurations(semanticObjectToEdit, selectedObject);
List<DirectEditorExtensionPoint> returnList = new ArrayList<DirectEditorExtensionPoint>();
@@ -153,7 +157,7 @@ public class DirectEditorExtensionPoint implements IDirectEditorExtensionPoint {
* the element that declares the extension
* @return a new configuration, given the information of the specified configElt
*/
- public static DirectEditorExtensionPoint parseDirectEditorConfiguration(IConfigurationElement configElt) {
+ public DirectEditorExtensionPoint parseDirectEditorConfiguration(IConfigurationElement configElt) {
// check that the ConfigElement is a transformation
if (!IDirectEditorConfigurationIds.TAG_DIRECT_EDITOR_CONFIGURATION.equals(configElt.getName())) {
diff --git a/plugins/infra/gmfdiag/org.eclipse.papyrus.extensionpoints.editors/src/org/eclipse/papyrus/extensionpoints/editors/preferences/PapyrusEmbeddedEditorsPreferencePage.java b/plugins/infra/gmfdiag/org.eclipse.papyrus.extensionpoints.editors/src/org/eclipse/papyrus/extensionpoints/editors/preferences/PapyrusEmbeddedEditorsPreferencePage.java
index b7f885b69e6..ab55c008b38 100644
--- a/plugins/infra/gmfdiag/org.eclipse.papyrus.extensionpoints.editors/src/org/eclipse/papyrus/extensionpoints/editors/preferences/PapyrusEmbeddedEditorsPreferencePage.java
+++ b/plugins/infra/gmfdiag/org.eclipse.papyrus.extensionpoints.editors/src/org/eclipse/papyrus/extensionpoints/editors/preferences/PapyrusEmbeddedEditorsPreferencePage.java
@@ -345,7 +345,7 @@ public class PapyrusEmbeddedEditorsPreferencePage extends PreferencePage impleme
Map<String, List<IDirectEditorExtensionPoint>> elements = new HashMap<String, List<IDirectEditorExtensionPoint>>();
// Populate the table with the items
- IDirectEditorExtensionPoint[] extensionPoints = DirectEditorExtensionPoint.getDirectEditorConfigurations();
+ IDirectEditorExtensionPoint[] extensionPoints = DirectEditorExtensionPoint.getInstance().getDirectEditorConfigurations();
List<IDirectEditorExtensionPoint> configurations;
for (IDirectEditorExtensionPoint extensionPoint : extensionPoints) {
if (!elements.containsKey(extensionPoint.getObjectToEdit())) {
diff --git a/plugins/infra/gmfdiag/org.eclipse.papyrus.extensionpoints.editors/src/org/eclipse/papyrus/extensionpoints/editors/ui/ExtendedDirectEditionDialog.java b/plugins/infra/gmfdiag/org.eclipse.papyrus.extensionpoints.editors/src/org/eclipse/papyrus/extensionpoints/editors/ui/ExtendedDirectEditionDialog.java
index 52684ea0e63..f0f0aaa6a98 100644
--- a/plugins/infra/gmfdiag/org.eclipse.papyrus.extensionpoints.editors/src/org/eclipse/papyrus/extensionpoints/editors/ui/ExtendedDirectEditionDialog.java
+++ b/plugins/infra/gmfdiag/org.eclipse.papyrus.extensionpoints.editors/src/org/eclipse/papyrus/extensionpoints/editors/ui/ExtendedDirectEditionDialog.java
@@ -44,9 +44,6 @@ public class ExtendedDirectEditionDialog extends LabelEditorDialog {
/** Document used by the dialog */
protected Document document;
- /** initial text value */
- protected String value;
-
/** extension configuration */
protected IDirectEditorConfiguration configuration;
diff --git a/plugins/infra/gmfdiag/org.eclipse.papyrus.extensionpoints.editors/src/org/eclipse/papyrus/extensionpoints/editors/utils/DirectEditorsUtil.java b/plugins/infra/gmfdiag/org.eclipse.papyrus.extensionpoints.editors/src/org/eclipse/papyrus/extensionpoints/editors/utils/DirectEditorsUtil.java
index e024103999f..8809416701b 100644
--- a/plugins/infra/gmfdiag/org.eclipse.papyrus.extensionpoints.editors/src/org/eclipse/papyrus/extensionpoints/editors/utils/DirectEditorsUtil.java
+++ b/plugins/infra/gmfdiag/org.eclipse.papyrus.extensionpoints.editors/src/org/eclipse/papyrus/extensionpoints/editors/utils/DirectEditorsUtil.java
@@ -1,295 +1,295 @@
-/*****************************************************************************
- * Copyright (c) 2008 CEA LIST.
- *
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Remi Schnekenburger (CEA LIST) Remi.Schnekenburger@cea.fr - Initial API and implementation
- *
- *****************************************************************************/
-
-package org.eclipse.papyrus.extensionpoints.editors.utils;
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.List;
-
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.papyrus.extensionpoints.editors.Activator;
-import org.eclipse.papyrus.extensionpoints.editors.configuration.DefaultDirectEditorConfiguration;
-import org.eclipse.papyrus.extensionpoints.editors.configuration.IDirectEditorConfiguration;
-import org.eclipse.papyrus.extensionpoints.editors.configuration.IDirectEditorConstraint;
-import org.eclipse.papyrus.extensionpoints.editors.definition.DirectEditorExtensionPoint;
-import org.eclipse.papyrus.extensionpoints.editors.definition.IDirectEditorExtensionPoint;
-
-public class DirectEditorsUtil {
-
- /** The Constant UNKNOWN_PRIORITY. */
- private static final int UNKNOWN_PRIORITY = 100;
-
- /**
- * Finds a editor for specific language and object to edit type
- *
- * @param language
- * the language to edit
- * @param objectToEdit
- * the type of object to edit
- * @return the extension point proxy that manages this kind of editor
- *
- * @deprecated Use {@link #findEditorConfiguration(String language, EObject eObjectToEdit)} instead
- */
- @Deprecated
- public static IDirectEditorConfiguration findEditorConfiguration(String language, String objectToEdit) {
- IDirectEditorExtensionPoint[] extensionPoints = DirectEditorExtensionPoint.getDirectEditorConfigurations();
- for (IDirectEditorExtensionPoint directEditorExtensionPoint : extensionPoints) {
- final String lang = directEditorExtensionPoint.getLanguage();
- final String oToEdit = directEditorExtensionPoint.getObjectToEdit();
- if (lang.equals(language) && oToEdit.equals(objectToEdit)) {
- // extension point found!
- return directEditorExtensionPoint.getDirectEditorConfiguration();
- }
- }
- return new DefaultDirectEditorConfiguration();
- }
-
- /**
- * Finds a editor for specific language and object to edit type
- *
- * @param language
- * the language to edit
- * @param semanticObjectToEdit
- * the semantic object to edit
- * @param selectedElement
- * The real selected element (e.g. widget, edit part, ...)
- * @return the extension point proxy that manages this kind of editor
- */
- public static IDirectEditorConfiguration findEditorConfiguration(String language, Object semanticObjectToEdit, Object selectedElement) {
- IDirectEditorExtensionPoint[] extensionPoints = DirectEditorExtensionPoint.getDirectEditorConfigurations();
- IDirectEditorConfiguration editorConfiguration = new DefaultDirectEditorConfiguration();
- int configurationPriority = UNKNOWN_PRIORITY;
- for (IDirectEditorExtensionPoint directEditorExtensionPoint : extensionPoints) {
- final String lang = directEditorExtensionPoint.getLanguage();
- final Class<? extends EObject> classToEdit = directEditorExtensionPoint.getObjectClassToEdit();
- if (lang.equals(language) && classToEdit.isInstance(semanticObjectToEdit)) {
- IDirectEditorConstraint constraint = directEditorExtensionPoint.getAdditionalConstraint();
- if ((constraint == null || constraint.appliesTo(selectedElement)) && directEditorExtensionPoint.getPriority() < configurationPriority) {
- // extension point found!
- editorConfiguration = directEditorExtensionPoint.getDirectEditorConfiguration();
- configurationPriority = directEditorExtensionPoint.getPriority();
- }
- }
- }
- return editorConfiguration;
- }
-
- /**
- * finds if an editor for specific language and object is available to edit type
- *
- * @param language
- * the language to edit
- * @param objectToEdit
- * the object to edit
- * @return <code>true</code> if an editor exists
- *
- * @deprecated Use {@link #hasSpecificEditorConfiguration(String language, EObject eObjectToEdit)} instead
- */
- @Deprecated
- public static boolean hasSpecificEditorConfiguration(String language, String objectToEdit) {
- IDirectEditorExtensionPoint[] extensionPoints = DirectEditorExtensionPoint.getDirectEditorConfigurations();
- for (IDirectEditorExtensionPoint directEditorExtensionPoint : extensionPoints) {
- final String lang = directEditorExtensionPoint.getLanguage();
- final String oToEdit = directEditorExtensionPoint.getObjectToEdit();
- if (lang.equals(language) && oToEdit.equals(objectToEdit)) {
- // extension point found!
- return true;
- }
- }
- return false;
- }
-
- /**
- * finds if an editor for specific language and object is available to edit type
- *
- * @param language
- * the language to edit
- * @param semanticObjectToEdit
- * the semantic object to edit
- * @param selectedElement
- * The real selected element (e.g. widget, edit part, ...)
- * @return <code>true</code> if an editor exists
- */
- public static boolean hasSpecificEditorConfiguration(String language, Object semanticObjectToEdit, Object selectedElement) {
- IDirectEditorExtensionPoint[] extensionPoints = DirectEditorExtensionPoint.getDirectEditorConfigurations();
- for (IDirectEditorExtensionPoint directEditorExtensionPoint : extensionPoints) {
- final String lang = directEditorExtensionPoint.getLanguage();
- final Class<? extends EObject> classToEdit = directEditorExtensionPoint.getObjectClassToEdit();
- if (lang.equals(language) && classToEdit.isInstance(semanticObjectToEdit)) {
- IDirectEditorConstraint constraint = directEditorExtensionPoint.getAdditionalConstraint();
- if (constraint == null || constraint.appliesTo(selectedElement)) {
- // extension point found!
- return true;
- }
- }
- }
- return false;
- }
-
- /**
- * finds if an editor for specific object is available to edit type
- *
- * @param language
- * the language to edit
- * @param objectToEdit
- * the type of object to edit
- * @return <code>true</code> if an editor exists
- *
- * @deprecated Use {@link #hasSpecificEditorConfiguration(EObject)} instead
- */
- @Deprecated
- public static boolean hasSpecificEditorConfiguration(String objectToEdit) {
- IDirectEditorExtensionPoint[] extensionPoints = DirectEditorExtensionPoint.getDirectEditorConfigurations();
- for (IDirectEditorExtensionPoint directEditorExtensionPoint : extensionPoints) {
- final String oToEdit = directEditorExtensionPoint.getObjectToEdit();
- if (oToEdit.equals(objectToEdit)) {
- // extension point found!
- return true;
- }
- }
- return false;
- }
-
- /**
- * finds if an editor for specific object is available to edit type
- *
- * @param language
- * the language to edit
- * @param semanticObjectToEdit
- * the semantic object to edit
- * @param selectedElement
- * The real selected element (e.g. widget, edit part, ...)
- * @return <code>true</code> if an editor exists
- */
- public static boolean hasSpecificEditorConfiguration(Object semanticObjectToEdit, Object selectedElement) {
- IDirectEditorExtensionPoint[] extensionPoints = DirectEditorExtensionPoint.getDirectEditorConfigurations();
- for (IDirectEditorExtensionPoint directEditorExtensionPoint : extensionPoints) {
- final Class<? extends EObject> classToEdit = directEditorExtensionPoint.getObjectClassToEdit();
- if (classToEdit.isInstance(semanticObjectToEdit)) {
- IDirectEditorConstraint constraint = directEditorExtensionPoint.getAdditionalConstraint();
- if (constraint == null || constraint.appliesTo(selectedElement)) {
- // extension point found!
- return true;
- }
- }
- }
- return false;
- }
-
- /**
- * Retrieves the preferred editor configuration for the specified type
- *
- * @param class_
- * the type of element to edit
- * @return the preferred editor configuration for the specified type or <code>null</code>
- */
- public static IDirectEditorExtensionPoint getDefautDirectEditorConfiguration(Object semanticObjectToEdit, Object selectedObject) {
- // retrieves preference for this element
- String language = Activator.getDefault().getPreferenceStore().getString(IDirectEditorsIds.EDITOR_FOR_ELEMENT + semanticObjectToEdit.getClass().asSubclass(EObject.class));
- if (language == null || IDirectEditorsIds.SIMPLE_DIRECT_EDITOR.equals(language)) {
- return null;
- }
- IDirectEditorExtensionPoint currentConfiguration = null;
- int currentPriority = UNKNOWN_PRIORITY;
- Collection<IDirectEditorExtensionPoint> configs = getDirectEditorConfigurations(semanticObjectToEdit, selectedObject);
-
- for (IDirectEditorExtensionPoint extensionPoint : configs) {
- if (language.equals(extensionPoint.getLanguage()) && extensionPoint.getPriority() < currentPriority) {
- currentConfiguration = extensionPoint;
- currentPriority = extensionPoint.getPriority();
- }
- }
-
- return currentConfiguration;
- }
-
- /**
- * Returns the set of transformations registered in the platform for the specified kind of
- * element
- *
- * @param the
- * type of element to be edited
- * @return the set of transformations registered in the platform for the specified kind of
- * element
- */
- public static Collection<IDirectEditorExtensionPoint> getDirectEditorConfigurations(Object semanticObjectToEdit, Object selectedObject) {
- // list of configuration to be returned. They correspond to
- // configuration to edit the
- // specified type
- final List<IDirectEditorExtensionPoint> elementConfigurations = new ArrayList<IDirectEditorExtensionPoint>();
-
- // check each configuration in the platform and select corresponding
- // ones.
- for (IDirectEditorExtensionPoint configuration : DirectEditorExtensionPoint.getDirectEditorConfigurations()) {
- // both class are compatibles ?
- if (configuration.getObjectClassToEdit() != null) {
- if (configuration.getObjectClassToEdit().isInstance(semanticObjectToEdit)) {
- IDirectEditorConstraint constraint = configuration.getAdditionalConstraint();
- if (constraint == null || constraint.appliesTo(selectedObject))
- elementConfigurations.add(configuration);
- }
- }
- }
- return elementConfigurations;
- }
-
- /**
- * Finds a editor for specific language and object to edit type with the higher priority.
- *
- * @param language
- * the language to edit
- * @param objectToEdit
- * the type of object to edit
- * @return the extension point proxy that manages this kind of editor
- */
- public static IDirectEditorConfiguration findEditorConfigurationWithPriority(String language, String objectToEdit) {
- IDirectEditorConfiguration result = null;
- int currentPrority = UNKNOWN_PRIORITY;
- IDirectEditorExtensionPoint[] extensionPoints = DirectEditorExtensionPoint.getDirectEditorConfigurations();
- for (IDirectEditorExtensionPoint directEditorExtensionPoint : extensionPoints) {
- final String lang = directEditorExtensionPoint.getLanguage();
- final String oToEdit = directEditorExtensionPoint.getObjectToEdit();
- if (lang.equals(language) && oToEdit.equals(objectToEdit)) {
- // extension point found!
- int directEditorExtensionPointPriority = directEditorExtensionPoint.getPriority() != null ? directEditorExtensionPoint.getPriority() : UNKNOWN_PRIORITY;
- if (result == null || (directEditorExtensionPointPriority < currentPrority)) {
- result = directEditorExtensionPoint.getDirectEditorConfiguration();
- currentPrority = directEditorExtensionPointPriority;
- }
- }
- }
- return result != null ? result : new DefaultDirectEditorConfiguration();
- }
-
- /**
- * returns the list of languages that are available from extension points
- *
- * @return the list of languages that have an extended editor
- */
- public static List<String> getLanguages(String objectToEdit) {
- List<String> languages = new ArrayList<String>();
- IDirectEditorExtensionPoint[] extensionPoints = DirectEditorExtensionPoint.getDirectEditorConfigurations();
- for (IDirectEditorExtensionPoint directEditorExtensionPoint : extensionPoints) {
- if (objectToEdit == null || directEditorExtensionPoint.getObjectToEdit().equals(objectToEdit)) {
- String lang = directEditorExtensionPoint.getLanguage();
- if (!languages.contains(lang)) {
- languages.add(lang);
- }
- }
- }
- return languages;
- }
-
-}
+/*****************************************************************************
+ * Copyright (c) 2008 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Remi Schnekenburger (CEA LIST) Remi.Schnekenburger@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.extensionpoints.editors.utils;
+
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.papyrus.extensionpoints.editors.Activator;
+import org.eclipse.papyrus.extensionpoints.editors.configuration.DefaultDirectEditorConfiguration;
+import org.eclipse.papyrus.extensionpoints.editors.configuration.IDirectEditorConfiguration;
+import org.eclipse.papyrus.extensionpoints.editors.configuration.IDirectEditorConstraint;
+import org.eclipse.papyrus.extensionpoints.editors.definition.DirectEditorExtensionPoint;
+import org.eclipse.papyrus.extensionpoints.editors.definition.IDirectEditorExtensionPoint;
+
+public class DirectEditorsUtil {
+
+ /** The Constant UNKNOWN_PRIORITY. */
+ private static final int UNKNOWN_PRIORITY = 100;
+
+ /**
+ * Finds a editor for specific language and object to edit type
+ *
+ * @param language
+ * the language to edit
+ * @param objectToEdit
+ * the type of object to edit
+ * @return the extension point proxy that manages this kind of editor
+ *
+ * @deprecated Use {@link #findEditorConfiguration(String language, EObject eObjectToEdit)} instead
+ */
+ @Deprecated
+ public static IDirectEditorConfiguration findEditorConfiguration(String language, String objectToEdit) {
+ IDirectEditorExtensionPoint[] extensionPoints = DirectEditorExtensionPoint.getInstance().getDirectEditorConfigurations();
+ for (IDirectEditorExtensionPoint directEditorExtensionPoint : extensionPoints) {
+ final String lang = directEditorExtensionPoint.getLanguage();
+ final String oToEdit = directEditorExtensionPoint.getObjectToEdit();
+ if (lang.equals(language) && oToEdit.equals(objectToEdit)) {
+ // extension point found!
+ return directEditorExtensionPoint.getDirectEditorConfiguration();
+ }
+ }
+ return new DefaultDirectEditorConfiguration();
+ }
+
+ /**
+ * Finds a editor for specific language and object to edit type
+ *
+ * @param language
+ * the language to edit
+ * @param semanticObjectToEdit
+ * the semantic object to edit
+ * @param selectedElement
+ * The real selected element (e.g. widget, edit part, ...)
+ * @return the extension point proxy that manages this kind of editor
+ */
+ public static IDirectEditorConfiguration findEditorConfiguration(String language, Object semanticObjectToEdit, Object selectedElement) {
+ IDirectEditorExtensionPoint[] extensionPoints = DirectEditorExtensionPoint.getInstance().getDirectEditorConfigurations();
+ IDirectEditorConfiguration editorConfiguration = new DefaultDirectEditorConfiguration();
+ int configurationPriority = UNKNOWN_PRIORITY;
+ for (IDirectEditorExtensionPoint directEditorExtensionPoint : extensionPoints) {
+ final String lang = directEditorExtensionPoint.getLanguage();
+ final Class<? extends EObject> classToEdit = directEditorExtensionPoint.getObjectClassToEdit();
+ if (lang.equals(language) && classToEdit.isInstance(semanticObjectToEdit)) {
+ IDirectEditorConstraint constraint = directEditorExtensionPoint.getAdditionalConstraint();
+ if ((constraint == null || constraint.appliesTo(selectedElement)) && directEditorExtensionPoint.getPriority() < configurationPriority) {
+ // extension point found!
+ editorConfiguration = directEditorExtensionPoint.getDirectEditorConfiguration();
+ configurationPriority = directEditorExtensionPoint.getPriority();
+ }
+ }
+ }
+ return editorConfiguration;
+ }
+
+ /**
+ * finds if an editor for specific language and object is available to edit type
+ *
+ * @param language
+ * the language to edit
+ * @param objectToEdit
+ * the object to edit
+ * @return <code>true</code> if an editor exists
+ *
+ * @deprecated Use {@link #hasSpecificEditorConfiguration(String language, EObject eObjectToEdit)} instead
+ */
+ @Deprecated
+ public static boolean hasSpecificEditorConfiguration(String language, String objectToEdit) {
+ IDirectEditorExtensionPoint[] extensionPoints = DirectEditorExtensionPoint.getInstance().getDirectEditorConfigurations();
+ for (IDirectEditorExtensionPoint directEditorExtensionPoint : extensionPoints) {
+ final String lang = directEditorExtensionPoint.getLanguage();
+ final String oToEdit = directEditorExtensionPoint.getObjectToEdit();
+ if (lang.equals(language) && oToEdit.equals(objectToEdit)) {
+ // extension point found!
+ return true;
+ }
+ }
+ return false;
+ }
+
+ /**
+ * finds if an editor for specific language and object is available to edit type
+ *
+ * @param language
+ * the language to edit
+ * @param semanticObjectToEdit
+ * the semantic object to edit
+ * @param selectedElement
+ * The real selected element (e.g. widget, edit part, ...)
+ * @return <code>true</code> if an editor exists
+ */
+ public static boolean hasSpecificEditorConfiguration(String language, Object semanticObjectToEdit, Object selectedElement) {
+ IDirectEditorExtensionPoint[] extensionPoints = DirectEditorExtensionPoint.getInstance().getDirectEditorConfigurations();
+ for (IDirectEditorExtensionPoint directEditorExtensionPoint : extensionPoints) {
+ final String lang = directEditorExtensionPoint.getLanguage();
+ final Class<? extends EObject> classToEdit = directEditorExtensionPoint.getObjectClassToEdit();
+ if (lang.equals(language) && classToEdit.isInstance(semanticObjectToEdit)) {
+ IDirectEditorConstraint constraint = directEditorExtensionPoint.getAdditionalConstraint();
+ if (constraint == null || constraint.appliesTo(selectedElement)) {
+ // extension point found!
+ return true;
+ }
+ }
+ }
+ return false;
+ }
+
+ /**
+ * finds if an editor for specific object is available to edit type
+ *
+ * @param language
+ * the language to edit
+ * @param objectToEdit
+ * the type of object to edit
+ * @return <code>true</code> if an editor exists
+ *
+ * @deprecated Use {@link #hasSpecificEditorConfiguration(EObject)} instead
+ */
+ @Deprecated
+ public static boolean hasSpecificEditorConfiguration(String objectToEdit) {
+ IDirectEditorExtensionPoint[] extensionPoints = DirectEditorExtensionPoint.getInstance().getDirectEditorConfigurations();
+ for (IDirectEditorExtensionPoint directEditorExtensionPoint : extensionPoints) {
+ final String oToEdit = directEditorExtensionPoint.getObjectToEdit();
+ if (oToEdit.equals(objectToEdit)) {
+ // extension point found!
+ return true;
+ }
+ }
+ return false;
+ }
+
+ /**
+ * finds if an editor for specific object is available to edit type
+ *
+ * @param language
+ * the language to edit
+ * @param semanticObjectToEdit
+ * the semantic object to edit
+ * @param selectedElement
+ * The real selected element (e.g. widget, edit part, ...)
+ * @return <code>true</code> if an editor exists
+ */
+ public static boolean hasSpecificEditorConfiguration(Object semanticObjectToEdit, Object selectedElement) {
+ IDirectEditorExtensionPoint[] extensionPoints = DirectEditorExtensionPoint.getInstance().getDirectEditorConfigurations();
+ for (IDirectEditorExtensionPoint directEditorExtensionPoint : extensionPoints) {
+ final Class<? extends EObject> classToEdit = directEditorExtensionPoint.getObjectClassToEdit();
+ if (classToEdit.isInstance(semanticObjectToEdit)) {
+ IDirectEditorConstraint constraint = directEditorExtensionPoint.getAdditionalConstraint();
+ if (constraint == null || constraint.appliesTo(selectedElement)) {
+ // extension point found!
+ return true;
+ }
+ }
+ }
+ return false;
+ }
+
+ /**
+ * Retrieves the preferred editor configuration for the specified type
+ *
+ * @param class_
+ * the type of element to edit
+ * @return the preferred editor configuration for the specified type or <code>null</code>
+ */
+ public static IDirectEditorExtensionPoint getDefautDirectEditorConfiguration(Object semanticObjectToEdit, Object selectedObject) {
+ // retrieves preference for this element
+ String language = Activator.getDefault().getPreferenceStore().getString(IDirectEditorsIds.EDITOR_FOR_ELEMENT + semanticObjectToEdit.getClass().asSubclass(EObject.class));
+ if (language == null || IDirectEditorsIds.SIMPLE_DIRECT_EDITOR.equals(language)) {
+ return null;
+ }
+ IDirectEditorExtensionPoint currentConfiguration = null;
+ int currentPriority = UNKNOWN_PRIORITY;
+ Collection<IDirectEditorExtensionPoint> configs = getDirectEditorConfigurations(semanticObjectToEdit, selectedObject);
+
+ for (IDirectEditorExtensionPoint extensionPoint : configs) {
+ if (language.equals(extensionPoint.getLanguage()) && extensionPoint.getPriority() < currentPriority) {
+ currentConfiguration = extensionPoint;
+ currentPriority = extensionPoint.getPriority();
+ }
+ }
+
+ return currentConfiguration;
+ }
+
+ /**
+ * Returns the set of transformations registered in the platform for the specified kind of
+ * element
+ *
+ * @param the
+ * type of element to be edited
+ * @return the set of transformations registered in the platform for the specified kind of
+ * element
+ */
+ public static Collection<IDirectEditorExtensionPoint> getDirectEditorConfigurations(Object semanticObjectToEdit, Object selectedObject) {
+ // list of configuration to be returned. They correspond to
+ // configuration to edit the
+ // specified type
+ final List<IDirectEditorExtensionPoint> elementConfigurations = new ArrayList<IDirectEditorExtensionPoint>();
+
+ // check each configuration in the platform and select corresponding
+ // ones.
+ for (IDirectEditorExtensionPoint configuration : DirectEditorExtensionPoint.getInstance().getDirectEditorConfigurations()) {
+ // both class are compatibles ?
+ if (configuration.getObjectClassToEdit() != null) {
+ if (configuration.getObjectClassToEdit().isInstance(semanticObjectToEdit)) {
+ IDirectEditorConstraint constraint = configuration.getAdditionalConstraint();
+ if (constraint == null || constraint.appliesTo(selectedObject))
+ elementConfigurations.add(configuration);
+ }
+ }
+ }
+ return elementConfigurations;
+ }
+
+ /**
+ * Finds a editor for specific language and object to edit type with the higher priority.
+ *
+ * @param language
+ * the language to edit
+ * @param objectToEdit
+ * the type of object to edit
+ * @return the extension point proxy that manages this kind of editor
+ */
+ public static IDirectEditorConfiguration findEditorConfigurationWithPriority(String language, String objectToEdit) {
+ IDirectEditorConfiguration result = null;
+ int currentPrority = UNKNOWN_PRIORITY;
+ IDirectEditorExtensionPoint[] extensionPoints = DirectEditorExtensionPoint.getInstance().getDirectEditorConfigurations();
+ for (IDirectEditorExtensionPoint directEditorExtensionPoint : extensionPoints) {
+ final String lang = directEditorExtensionPoint.getLanguage();
+ final String oToEdit = directEditorExtensionPoint.getObjectToEdit();
+ if (lang.equals(language) && oToEdit.equals(objectToEdit)) {
+ // extension point found!
+ int directEditorExtensionPointPriority = directEditorExtensionPoint.getPriority() != null ? directEditorExtensionPoint.getPriority() : UNKNOWN_PRIORITY;
+ if (result == null || (directEditorExtensionPointPriority < currentPrority)) {
+ result = directEditorExtensionPoint.getDirectEditorConfiguration();
+ currentPrority = directEditorExtensionPointPriority;
+ }
+ }
+ }
+ return result != null ? result : new DefaultDirectEditorConfiguration();
+ }
+
+ /**
+ * returns the list of languages that are available from extension points
+ *
+ * @return the list of languages that have an extended editor
+ */
+ public static List<String> getLanguages(String objectToEdit) {
+ List<String> languages = new ArrayList<String>();
+ IDirectEditorExtensionPoint[] extensionPoints = DirectEditorExtensionPoint.getInstance().getDirectEditorConfigurations();
+ for (IDirectEditorExtensionPoint directEditorExtensionPoint : extensionPoints) {
+ if (objectToEdit == null || directEditorExtensionPoint.getObjectToEdit().equals(objectToEdit)) {
+ String lang = directEditorExtensionPoint.getLanguage();
+ if (!languages.contains(lang)) {
+ languages.add(lang);
+ }
+ }
+ }
+ return languages;
+ }
+
+}
diff --git a/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.canonical/META-INF/MANIFEST.MF b/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.canonical/META-INF/MANIFEST.MF
index c76ed03201d..477f657f2c6 100644
--- a/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.canonical/META-INF/MANIFEST.MF
+++ b/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.canonical/META-INF/MANIFEST.MF
@@ -1,5 +1,5 @@
Manifest-Version: 1.0
-Require-Bundle: org.eclipse.papyrus.infra.gmfdiag.common;bundle-version="[2.0.0,3.0.0)";visibility:=reexport,
+Require-Bundle: org.eclipse.papyrus.infra.gmfdiag.common;bundle-version="[3.0.0,4.0.0)";visibility:=reexport,
org.eclipse.papyrus.infra.emf;bundle-version="[2.0.0,3.0.0)"
Export-Package: org.eclipse.papyrus.infra.gmfdiag.canonical.editpolicy,
org.eclipse.papyrus.infra.gmfdiag.canonical.internal,
@@ -7,7 +7,7 @@ Export-Package: org.eclipse.papyrus.infra.gmfdiag.canonical.editpolicy,
org.eclipse.papyrus.infra.gmfdiag.canonical.strategy
Bundle-Vendor: %providerName
Bundle-ActivationPolicy: lazy
-Bundle-Version: 1.2.0.qualifier
+Bundle-Version: 2.0.0.qualifier
Bundle-Name: %pluginName
Bundle-Localization: plugin
Bundle-Activator: org.eclipse.papyrus.infra.gmfdiag.canonical.internal.Activator
diff --git a/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.canonical/pom.xml b/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.canonical/pom.xml
index 457f16020be..75db42a6ff9 100644
--- a/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.canonical/pom.xml
+++ b/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.canonical/pom.xml
@@ -1,12 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
-<project>
- <modelVersion>4.0.0</modelVersion>
- <parent>
- <groupId>org.eclipse.papyrus</groupId>
- <artifactId>org.eclipse.papyrus.infra-gmfdiag</artifactId>
- <version>0.0.1-SNAPSHOT</version>
- </parent>
- <artifactId>org.eclipse.papyrus.infra.gmfdiag.canonical</artifactId>
- <version>1.2.0-SNAPSHOT</version>
- <packaging>eclipse-plugin</packaging>
-</project>
+<project>
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>org.eclipse.papyrus</groupId>
+ <artifactId>org.eclipse.papyrus.infra-gmfdiag</artifactId>
+ <version>0.0.1-SNAPSHOT</version>
+ </parent>
+ <artifactId>org.eclipse.papyrus.infra.gmfdiag.canonical</artifactId>
+ <version>2.0.0-SNAPSHOT</version>
+ <packaging>eclipse-plugin</packaging>
+</project> \ No newline at end of file
diff --git a/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.commands/META-INF/MANIFEST.MF b/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.commands/META-INF/MANIFEST.MF
index bfc23a9e5f6..a3d544e8994 100644
--- a/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.commands/META-INF/MANIFEST.MF
+++ b/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.commands/META-INF/MANIFEST.MF
@@ -4,14 +4,14 @@ Require-Bundle: org.eclipse.emf.transaction.ui;bundle-version="[1.4.0,2.0.0)",
org.eclipse.papyrus.infra.emf;bundle-version="[2.0.0,3.0.0)",
org.eclipse.papyrus.infra.viewpoints.policy;bundle-version="[1.2.0,2.0.0)";visibility:=reexport,
org.eclipse.gmf.runtime.diagram.ui.resources.editor;bundle-version="[1.7.0,2.0.0)",
- org.eclipse.papyrus.infra.ui;bundle-version="[1.2.0,2.0.0)";visibility:=reexport,
+ org.eclipse.papyrus.infra.ui;bundle-version="[2.0.0,3.0.0)";visibility:=reexport,
org.eclipse.papyrus.infra.emf.gmf;bundle-version="[1.2.0,2.0.0)";visibility:=reexport
Export-Package: org.eclipse.papyrus.commands,
org.eclipse.papyrus.commands.util,
org.eclipse.papyrus.commands.wrappers
Bundle-Vendor: %providerName
Bundle-ActivationPolicy: lazy
-Bundle-Version: 2.0.0.qualifier
+Bundle-Version: 3.0.0.qualifier
Bundle-Localization: plugin
Bundle-Name: %pluginName
Bundle-ManifestVersion: 2
diff --git a/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.commands/pom.xml b/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.commands/pom.xml
index a7331fd7697..38c6b1c03cc 100644
--- a/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.commands/pom.xml
+++ b/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.commands/pom.xml
@@ -1,12 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
-<project>
- <modelVersion>4.0.0</modelVersion>
- <parent>
- <groupId>org.eclipse.papyrus</groupId>
- <artifactId>org.eclipse.papyrus.infra-gmfdiag</artifactId>
- <version>0.0.1-SNAPSHOT</version>
- </parent>
- <artifactId>org.eclipse.papyrus.infra.gmfdiag.commands</artifactId>
- <version>2.0.0-SNAPSHOT</version>
- <packaging>eclipse-plugin</packaging>
+<project>
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>org.eclipse.papyrus</groupId>
+ <artifactId>org.eclipse.papyrus.infra-gmfdiag</artifactId>
+ <version>0.0.1-SNAPSHOT</version>
+ </parent>
+ <artifactId>org.eclipse.papyrus.infra.gmfdiag.commands</artifactId>
+ <version>3.0.0-SNAPSHOT</version>
+ <packaging>eclipse-plugin</packaging>
</project> \ No newline at end of file
diff --git a/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.commands/src/org/eclipse/papyrus/commands/NestingNotifyingWorkspaceCommandStack.java b/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.commands/src/org/eclipse/papyrus/commands/NestingNotifyingWorkspaceCommandStack.java
index 2e64c17bf91..75a41923ba3 100644
--- a/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.commands/src/org/eclipse/papyrus/commands/NestingNotifyingWorkspaceCommandStack.java
+++ b/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.commands/src/org/eclipse/papyrus/commands/NestingNotifyingWorkspaceCommandStack.java
@@ -20,6 +20,7 @@ import org.eclipse.core.runtime.IStatus;
import org.eclipse.core.runtime.OperationCanceledException;
import org.eclipse.emf.common.command.Command;
import org.eclipse.emf.transaction.RollbackException;
+import org.eclipse.papyrus.infra.emf.gmf.command.NotifyingWorkspaceCommandStack;
/**
* @deprecated Use the {@link org.eclipse.papyrus.infra.emf.gmf.command.NestingNotifyingWorkspaceCommandStack} API, instead.
diff --git a/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.commands/src/org/eclipse/papyrus/commands/NotifyingWorkspaceCommandStack.java b/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.commands/src/org/eclipse/papyrus/commands/NotifyingWorkspaceCommandStack.java
deleted file mode 100644
index 35f99697feb..00000000000
--- a/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.commands/src/org/eclipse/papyrus/commands/NotifyingWorkspaceCommandStack.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*****************************************************************************
- * Copyright (c) 2011, 2016 Atos, CEA, Christian W. Damus, and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Mathieu Velten (Atos) - Initial API and implementation
- * Arthur Daussy (Atos) - 363826: [Model Explorer] Drag and drop and undo, incorrect behavior
- * Christian W. Damus (CEA) - 404220: Add contexts for tracking objects changed by operations (CDO)
- * Christian W. Damus (CEA) - bugs 402525, 430648, 431023, 384169
- * Christian W. Damus - bugs 459746, 485220
- *
- *****************************************************************************/
-package org.eclipse.papyrus.commands;
-
-import org.eclipse.core.commands.operations.IOperationHistory;
-
-/**
- * @deprecated Use the {@link org.eclipse.papyrus.infra.emf.gmf.command.NotifyingWorkspaceCommandStack} API, instead.
- */
-@Deprecated
-public class NotifyingWorkspaceCommandStack extends org.eclipse.papyrus.infra.emf.gmf.command.NotifyingWorkspaceCommandStack {
-
- /**
- * Initializes me with the operation history to which I delegate command
- * execution.
- *
- * @param history
- * my operation history
- */
- public NotifyingWorkspaceCommandStack(IOperationHistory history) {
- super(history);
- }
-
-}
diff --git a/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.commands/src/org/eclipse/papyrus/commands/wrappers/EMFtoGMFCommandWrapper.java b/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.commands/src/org/eclipse/papyrus/commands/wrappers/EMFtoGMFCommandWrapper.java
deleted file mode 100644
index 85f9c98fd13..00000000000
--- a/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.commands/src/org/eclipse/papyrus/commands/wrappers/EMFtoGMFCommandWrapper.java
+++ /dev/null
@@ -1,71 +0,0 @@
-/***************************************************************************
- * Copyright (c) 2007, 2014 Conselleria de Infraestructuras y Transporte, Generalitat de la Comunitat Valenciana, CEA, Christian W. Damus, and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors: Mario Cervera Ubeda (Prodevelop)
- * Christian W. Damus (CEA) - bug 430701
- * Christian W. Damus - bug 485220
- *
- ******************************************************************************/
-package org.eclipse.papyrus.commands.wrappers;
-
-import org.eclipse.emf.common.command.Command;
-import org.eclipse.gmf.runtime.common.core.command.ICommand;
-import org.eclipse.papyrus.commands.INonDirtying;
-
-/**
- * A GMF Command that wraps an EMF command. Each method is redirected to the EMF one.
- *
- * @deprecated Use the {@link org.eclipse.papyrus.infra.emf.gmf.command.EMFtoGMFCommandWrapper} API, instead.
- */
-@Deprecated
-public class EMFtoGMFCommandWrapper extends org.eclipse.papyrus.infra.emf.gmf.command.EMFtoGMFCommandWrapper {
-
- static {
- // Configure legacy compatibility
- setWrapperFunction(EMFtoGMFCommandWrapper::new);
- setNonDirtyingWrapperFunction(NonDirtying::new);
- }
-
- /**
- * Constructor.
- *
- * @param emfCommand
- * the emf command
- */
- public EMFtoGMFCommandWrapper(Command emfCommand) {
- super(emfCommand);
- }
-
- /**
- * Wraps the given {@code command}, accounting for possible non-dirty state.
- *
- * @param command
- * a command to wrap
- * @return the best wrapper for the {@code command}
- */
- public static ICommand wrap(Command command) {
- return org.eclipse.papyrus.infra.emf.gmf.command.EMFtoGMFCommandWrapper.wrap(command);
- }
-
- //
- // Nested types
- //
-
- /**
- * A non-dirtying wrapper for non-dirtying commands.
- *
- * @deprecated Use the {@link org.eclipse.papyrus.infra.emf.gmf.command.EMFtoGMFCommandWrapper.NonDirtying} API, instead.
- */
- @Deprecated
- public static class NonDirtying extends org.eclipse.papyrus.infra.emf.gmf.command.EMFtoGMFCommandWrapper.NonDirtying implements INonDirtying {
-
- public NonDirtying(org.eclipse.emf.common.command.Command command) {
- super(command);
- }
-
- }
-}
diff --git a/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.commands/src/org/eclipse/papyrus/commands/wrappers/GMFtoEMFCommandWrapper.java b/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.commands/src/org/eclipse/papyrus/commands/wrappers/GMFtoEMFCommandWrapper.java
deleted file mode 100644
index 7cb2bf5a9c4..00000000000
--- a/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.commands/src/org/eclipse/papyrus/commands/wrappers/GMFtoEMFCommandWrapper.java
+++ /dev/null
@@ -1,71 +0,0 @@
-/***************************************************************************
- * Copyright (c) 2007, 2014 Conselleria de Infraestructuras y Transporte, Generalitat de la Comunitat Valenciana, CEA, Christian W. Damus, and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors: Mario Cervera Ubeda (Prodevelop)
- * Christian W. Damus (CEA) - bug 430701
- * Christian W. Damus - bug 485220
- *
- ******************************************************************************/
-package org.eclipse.papyrus.commands.wrappers;
-
-import org.eclipse.emf.common.command.Command;
-import org.eclipse.gmf.runtime.common.core.command.ICommand;
-
-/**
- * A EMF Command that wraps a GMF command. Each method is redirected to the GMF one.
- *
- * @deprecated Use the {@link org.eclipse.papyrus.infra.emf.gmf.command.GMFtoEMFCommandWrapper} API, instead.
- */
-@Deprecated
-public class GMFtoEMFCommandWrapper extends org.eclipse.papyrus.infra.emf.gmf.command.GMFtoEMFCommandWrapper {
-
- static {
- // Configure legacy compatibility
- setWrapperFunction(GMFtoEMFCommandWrapper::new);
- setNonDirtyingWrapperFunction(NonDirtying::new);
- }
-
- /**
- * Constructor.
- *
- * @param gmfCommand
- * the gmf command
- */
- public GMFtoEMFCommandWrapper(ICommand gmfCommand) {
- super(gmfCommand);
- }
-
- /**
- * Wraps the given {@code command}, accounting for possible non-dirty state.
- *
- * @param command
- * a command to wrap
- * @return the best wrapper for the {@code command}
- */
- public static Command wrap(ICommand command) {
- return org.eclipse.papyrus.infra.emf.gmf.command.GMFtoEMFCommandWrapper.wrap(command);
- }
-
- //
- // Nested types
- //
-
- /**
- * A non-dirtying wrapper for non-dirtying commands.
- *
- * @deprecated Use the {@link org.eclipse.papyrus.infra.emf.gmf.command.GMFtoEMFCommandWrapper.NonDirtying} API, instead.
- */
- @Deprecated
- public static class NonDirtying extends org.eclipse.papyrus.infra.emf.gmf.command.GMFtoEMFCommandWrapper.NonDirtying {
-
- public NonDirtying(ICommand command) {
- super(command);
- }
-
- }
-
-}
diff --git a/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.common/META-INF/MANIFEST.MF b/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.common/META-INF/MANIFEST.MF
index 32b56b70010..84840f206fb 100644
--- a/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.common/META-INF/MANIFEST.MF
+++ b/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.common/META-INF/MANIFEST.MF
@@ -48,7 +48,7 @@ Export-Package: org.eclipse.papyrus.infra.gmfdiag.common,
Require-Bundle: org.eclipse.emf.ecore.edit;bundle-version="[2.9.0,3.0.0)",
org.eclipse.gmf.runtime.diagram.ui.resources.editor;bundle-version="[1.7.0,2.0.0)";visibility:=reexport,
org.eclipse.papyrus.infra.emf.appearance;bundle-version="[1.2.0,2.0.0)",
- org.eclipse.papyrus.infra.gmfdiag.commands;bundle-version="[2.0.0,3.0.0)";visibility:=reexport,
+ org.eclipse.papyrus.infra.gmfdiag.commands;bundle-version="[3.0.0,4.0.0)";visibility:=reexport,
org.eclipse.gmf.runtime.draw2d.ui.render;bundle-version="[1.7.0,2.0.0)";visibility:=reexport,
org.eclipse.gmf.runtime.draw2d.ui.render.awt;bundle-version="[1.8.0,2.0.0)",
org.apache.batik.util;bundle-version="[1.6.0,1.7.0)",
@@ -61,14 +61,15 @@ Require-Bundle: org.eclipse.emf.ecore.edit;bundle-version="[2.9.0,3.0.0)",
com.ibm.icu,
org.eclipse.papyrus.infra.services.decoration;bundle-version="[1.2.0,2.0.0)";visibility:=reexport,
org.eclipse.gmf.runtime.diagram.ui.providers;bundle-version="[1.7.0,2.0.0)",
- org.eclipse.papyrus.infra.emf.readonly;bundle-version="[2.0.0,3.0.0)",
+ org.eclipse.papyrus.infra.emf.readonly;bundle-version="[3.0.0,4.0.0)",
org.eclipse.papyrus.infra.types.core;bundle-version="[3.0.0,4.0.0)";visibility:=reexport,
org.eclipse.papyrus.infra.sync;bundle-version="[1.2.0,2.0.0)";visibility:=reexport,
- org.eclipse.papyrus.infra.services.edit.ui;bundle-version="[2.0.0,3.0.0)";visibility:=reexport
+ org.eclipse.papyrus.infra.services.edit.ui;bundle-version="[3.0.0,4.0.0)";visibility:=reexport,
+ org.eclipse.papyrus.infra.emf.gmf
Bundle-Vendor: %providerName
Bundle-ActivationPolicy: lazy
Bundle-ClassPath: .
-Bundle-Version: 2.0.100.qualifier
+Bundle-Version: 3.0.0.qualifier
Bundle-Localization: plugin
Bundle-Name: %pluginName
Bundle-Activator: org.eclipse.papyrus.infra.gmfdiag.common.Activator
diff --git a/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.common/pom.xml b/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.common/pom.xml
index b50589776be..a58268e02b4 100644
--- a/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.common/pom.xml
+++ b/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.common/pom.xml
@@ -1,12 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
-<project>
- <modelVersion>4.0.0</modelVersion>
- <parent>
- <groupId>org.eclipse.papyrus</groupId>
- <artifactId>org.eclipse.papyrus.infra-gmfdiag</artifactId>
- <version>0.0.1-SNAPSHOT</version>
- </parent>
- <artifactId>org.eclipse.papyrus.infra.gmfdiag.common</artifactId>
- <version>2.0.100-SNAPSHOT</version>
- <packaging>eclipse-plugin</packaging>
+<project>
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>org.eclipse.papyrus</groupId>
+ <artifactId>org.eclipse.papyrus.infra-gmfdiag</artifactId>
+ <version>0.0.1-SNAPSHOT</version>
+ </parent>
+ <artifactId>org.eclipse.papyrus.infra.gmfdiag.common</artifactId>
+ <version>3.0.0-SNAPSHOT</version>
+ <packaging>eclipse-plugin</packaging>
</project> \ No newline at end of file
diff --git a/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.common/src/org/eclipse/papyrus/infra/gmfdiag/common/SynchronizableGmfDiagramEditor.java b/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.common/src/org/eclipse/papyrus/infra/gmfdiag/common/SynchronizableGmfDiagramEditor.java
index 2f704380cf2..4f3279cc705 100644
--- a/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.common/src/org/eclipse/papyrus/infra/gmfdiag/common/SynchronizableGmfDiagramEditor.java
+++ b/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.common/src/org/eclipse/papyrus/infra/gmfdiag/common/SynchronizableGmfDiagramEditor.java
@@ -55,12 +55,12 @@ import org.eclipse.jface.viewers.IStructuredSelection;
import org.eclipse.jface.viewers.StructuredSelection;
import org.eclipse.papyrus.commands.CheckedDiagramCommandStack;
import org.eclipse.papyrus.infra.core.services.ServiceException;
+import org.eclipse.papyrus.infra.emf.gmf.util.GMFUnsafe;
import org.eclipse.papyrus.infra.gmfdiag.common.preferences.PreferencesConstantsHelper;
import org.eclipse.papyrus.infra.gmfdiag.common.reconciler.DiagramReconciler;
import org.eclipse.papyrus.infra.gmfdiag.common.reconciler.DiagramReconcilersReader;
import org.eclipse.papyrus.infra.gmfdiag.common.reconciler.DiagramVersioningUtils;
import org.eclipse.papyrus.infra.gmfdiag.common.utils.CommandIds;
-import org.eclipse.papyrus.infra.gmfdiag.common.utils.GMFUnsafe;
import org.eclipse.papyrus.infra.gmfdiag.common.utils.ServiceUtilsForEditPart;
import org.eclipse.papyrus.infra.sync.service.ISyncService;
import org.eclipse.papyrus.infra.ui.editor.reload.IReloadContextProvider;
diff --git a/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.common/src/org/eclipse/papyrus/infra/gmfdiag/common/databinding/GMFObservableList.java b/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.common/src/org/eclipse/papyrus/infra/gmfdiag/common/databinding/GMFObservableList.java
index d5b5056fc73..97358318b09 100644
--- a/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.common/src/org/eclipse/papyrus/infra/gmfdiag/common/databinding/GMFObservableList.java
+++ b/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.common/src/org/eclipse/papyrus/infra/gmfdiag/common/databinding/GMFObservableList.java
@@ -18,7 +18,7 @@ import java.util.List;
import org.eclipse.emf.ecore.EObject;
import org.eclipse.emf.ecore.EStructuralFeature;
import org.eclipse.emf.edit.domain.EditingDomain;
-import org.eclipse.papyrus.commands.wrappers.GMFtoEMFCommandWrapper;
+import org.eclipse.papyrus.infra.emf.gmf.command.GMFtoEMFCommandWrapper;
import org.eclipse.papyrus.infra.services.edit.ui.databinding.PapyrusObservableList;
/**
diff --git a/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.common/src/org/eclipse/papyrus/infra/gmfdiag/common/databinding/GMFObservableValue.java b/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.common/src/org/eclipse/papyrus/infra/gmfdiag/common/databinding/GMFObservableValue.java
index 9e367ff66bc..f3be3e47a7e 100644
--- a/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.common/src/org/eclipse/papyrus/infra/gmfdiag/common/databinding/GMFObservableValue.java
+++ b/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.common/src/org/eclipse/papyrus/infra/gmfdiag/common/databinding/GMFObservableValue.java
@@ -20,7 +20,7 @@ import org.eclipse.core.databinding.observable.Realm;
import org.eclipse.emf.ecore.EObject;
import org.eclipse.emf.ecore.EStructuralFeature;
import org.eclipse.emf.edit.domain.EditingDomain;
-import org.eclipse.papyrus.commands.wrappers.GMFtoEMFCommandWrapper;
+import org.eclipse.papyrus.infra.emf.gmf.command.GMFtoEMFCommandWrapper;
import org.eclipse.papyrus.infra.services.edit.ui.databinding.PapyrusObservableValue;
/**
diff --git a/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.common/src/org/eclipse/papyrus/infra/gmfdiag/common/editpolicies/AbstractShowHideRelatedLinkEditPolicy.java b/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.common/src/org/eclipse/papyrus/infra/gmfdiag/common/editpolicies/AbstractShowHideRelatedLinkEditPolicy.java
index 7c8e9257c23..aa729046467 100644
--- a/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.common/src/org/eclipse/papyrus/infra/gmfdiag/common/editpolicies/AbstractShowHideRelatedLinkEditPolicy.java
+++ b/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.common/src/org/eclipse/papyrus/infra/gmfdiag/common/editpolicies/AbstractShowHideRelatedLinkEditPolicy.java
@@ -312,7 +312,7 @@ public abstract class AbstractShowHideRelatedLinkEditPolicy extends AbstractEdit
private boolean cleanContains(Collection<? extends UpdaterLinkDescriptor> collection, UpdaterLinkDescriptor umlLinkDescriptor) {
for (UpdaterLinkDescriptor descriptor : collection) {
if (descriptor.getModelElement() == umlLinkDescriptor.getModelElement() && descriptor.getSource() == umlLinkDescriptor.getSource() && descriptor.getDestination() == umlLinkDescriptor.getDestination()
- && descriptor.getVisualID() == umlLinkDescriptor.getVisualID()) {
+ && descriptor.getVisualID().equals(umlLinkDescriptor.getVisualID())) {
return true;
}
}
diff --git a/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.common/src/org/eclipse/papyrus/infra/gmfdiag/common/editpolicies/HighlightEditPolicy.java b/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.common/src/org/eclipse/papyrus/infra/gmfdiag/common/editpolicies/HighlightEditPolicy.java
index 80c51c180d1..02fc1dd7549 100644
--- a/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.common/src/org/eclipse/papyrus/infra/gmfdiag/common/editpolicies/HighlightEditPolicy.java
+++ b/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.common/src/org/eclipse/papyrus/infra/gmfdiag/common/editpolicies/HighlightEditPolicy.java
@@ -11,17 +11,15 @@
*****************************************************************************/
package org.eclipse.papyrus.infra.gmfdiag.common.editpolicies;
-import org.eclipse.draw2d.Ellipse;
-import org.eclipse.draw2d.IFigure;
import org.eclipse.gef.EditPart;
import org.eclipse.gef.Request;
import org.eclipse.gef.editpolicies.GraphicalEditPolicy;
import org.eclipse.gmf.runtime.diagram.ui.requests.RequestConstants;
import org.eclipse.papyrus.infra.gmfdiag.common.utils.HighlightUtil;
-import org.eclipse.swt.SWT;
/**
* EditPolicy dedicated to highligh node/edge in case of mouseover.
+ *
* @author flefevre
*
*/
@@ -29,16 +27,12 @@ public class HighlightEditPolicy extends GraphicalEditPolicy {
public static final String HIGHLIGHT_ROLE = "Highlight Edit Policy";
- protected Indicator sourceIndicator;
- protected Indicator targetIndicator;
-
- @SuppressWarnings({ "rawtypes" })
@Override
public void showTargetFeedback(Request request) {
EditPart host = getHost();
- if(RequestConstants.REQ_DROP_OBJECTS.equals(request.getType())) {
+ if (RequestConstants.REQ_DROP_OBJECTS.equals(request.getType())) {
highlight(host);
}
}
@@ -64,41 +58,18 @@ public class HighlightEditPolicy extends GraphicalEditPolicy {
HighlightUtil.unhighlight();
}
- private void safeRemoveFeedback(IFigure feedback) {
- if (feedback == null || feedback.getParent() == null) {
- return;
- }
- feedback.getParent().remove(feedback);
- }
+
@Override
public void eraseTargetFeedback(Request request) {
unhighlight();
- safeRemoveFeedback(sourceIndicator);
- sourceIndicator = null;
- safeRemoveFeedback(targetIndicator);
- targetIndicator = null;
}
@Override
public void eraseSourceFeedback(Request request) {
super.eraseSourceFeedback(request);
- safeRemoveFeedback(sourceIndicator);
- sourceIndicator = null;
- safeRemoveFeedback(targetIndicator);
- targetIndicator = null;
+
}
- private static class Indicator extends Ellipse {
- /**
- * Constructor.
- *
- */
- public Indicator() {
- setLineWidth(2);
- setAntialias(SWT.ON);
- setSize(10, 10);
- }
- }
}
diff --git a/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.common/src/org/eclipse/papyrus/infra/gmfdiag/common/expansion/InducedRepresentationCreationEditPolicy.java b/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.common/src/org/eclipse/papyrus/infra/gmfdiag/common/expansion/InducedRepresentationCreationEditPolicy.java
index 10d55539565..3cfc4c96fef 100644
--- a/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.common/src/org/eclipse/papyrus/infra/gmfdiag/common/expansion/InducedRepresentationCreationEditPolicy.java
+++ b/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.common/src/org/eclipse/papyrus/infra/gmfdiag/common/expansion/InducedRepresentationCreationEditPolicy.java
@@ -21,17 +21,17 @@ import org.eclipse.gef.editpolicies.GraphicalEditPolicy;
import org.eclipse.gmf.runtime.diagram.ui.editparts.IGraphicalEditPart;
import org.eclipse.gmf.runtime.notation.Diagram;
import org.eclipse.gmf.runtime.notation.View;
+import org.eclipse.papyrus.infra.emf.gmf.util.GMFUnsafe;
import org.eclipse.papyrus.infra.gmfdiag.common.Activator;
import org.eclipse.papyrus.infra.gmfdiag.common.editpart.IPapyrusEditPart;
import org.eclipse.papyrus.infra.gmfdiag.common.expansionmodel.InducedRepresentation;
import org.eclipse.papyrus.infra.gmfdiag.common.service.shape.NotificationManager;
-import org.eclipse.papyrus.infra.gmfdiag.common.utils.GMFUnsafe;
import org.eclipse.papyrus.infra.viewpoints.policy.ViewPrototype;
/**
* this edit policy can be apply only on {@link IPapyrusEditPart} in order to
* access to primary figure. the primary figure has to be a {@link IPapyrusNodeUMLElementFigure}.
-
+ *
* it creates the compartment displaying shapes for an element by reading the expansion model
* see #Req org.eclipse.papyrus.infra.gmfdiag.expansion.Req_011
*/
@@ -102,23 +102,22 @@ public class InducedRepresentationCreationEditPolicy extends GraphicalEditPolicy
* @param appliedstereotype
* the stereotype application
*/
- protected void executeShapeCompartmentCreation(final IGraphicalEditPart editPart, HashMap<String, View> existedDynamicCompartment, List<String> wantedChildreenID,ChildrenListRepresentation listRepresentation) {
+ protected void executeShapeCompartmentCreation(final IGraphicalEditPart editPart, HashMap<String, View> existedDynamicCompartment, List<String> wantedChildreenID, ChildrenListRepresentation listRepresentation) {
for (String wantedID : wantedChildreenID) {
- if( existedDynamicCompartment.get(wantedID)==null){
- if( listRepresentation.IDMap.get(wantedID) instanceof InducedRepresentation){
+ if (existedDynamicCompartment.get(wantedID) == null) {
+ if (listRepresentation.IDMap.get(wantedID) instanceof InducedRepresentation) {
try {
TransactionalEditingDomain domain = getEditingDomain(editPart);
- CreateInducedRepresentationViewCommand command = new CreateInducedRepresentationViewCommand
- (domain,
- "view Creation",
- wantedID,
- "view Creation",
- editPart.getNotationView(),
- true,
- editPart.getDiagramPreferencesHint());
- // This should not change the command stack, as this transaction will only manipulate transient views. Create a transaction manually, if needed
- GMFUnsafe.write(domain, command);
+ CreateInducedRepresentationViewCommand command = new CreateInducedRepresentationViewCommand(domain,
+ "view Creation",
+ wantedID,
+ "view Creation",
+ editPart.getNotationView(),
+ true,
+ editPart.getDiagramPreferencesHint());
+ // This should not change the command stack, as this transaction will only manipulate transient views. Create a transaction manually, if needed
+ GMFUnsafe.write(domain, command);
} catch (Exception e) {
Activator.log.error(e);
}
@@ -142,17 +141,17 @@ public class InducedRepresentationCreationEditPolicy extends GraphicalEditPolicy
protected String getDiagramType(View currentView) {
- Diagram diagram=currentView.getDiagram();
- String currentDiagramType=null;
- ViewPrototype viewPrototype=org.eclipse.papyrus.infra.gmfdiag.common.utils.DiagramUtils.getPrototype(diagram);
- if(viewPrototype!=null){
- currentDiagramType=viewPrototype.getLabel();
- }
- else{
- currentDiagramType=diagram.getType();
+ Diagram diagram = currentView.getDiagram();
+ String currentDiagramType = null;
+ ViewPrototype viewPrototype = org.eclipse.papyrus.infra.gmfdiag.common.utils.DiagramUtils.getPrototype(diagram);
+ if (viewPrototype != null) {
+ currentDiagramType = viewPrototype.getLabel();
+ } else {
+ currentDiagramType = diagram.getType();
}
return currentDiagramType;
}
+
/**
* this method creates a node for the compartment of stereotype if it does not exist.
*
@@ -162,19 +161,19 @@ public class InducedRepresentationCreationEditPolicy extends GraphicalEditPolicy
public void updateAddedCompartment() {
final IGraphicalEditPart editPart = (IGraphicalEditPart) getHost();
final View view = editPart.getNotationView();
- String diagramType= getDiagramType(view);
- ChildrenListRepresentation listRepresentation=diagramExpansionRegistry.mapChildreen.get(diagramType);
- if( listRepresentation==null){
+ String diagramType = getDiagramType(view);
+ ChildrenListRepresentation listRepresentation = diagramExpansionRegistry.mapChildreen.get(diagramType);
+ if (listRepresentation == null) {
return;
}
- List<String> childreenID=listRepresentation.parentChildrenRelation.get(view.getType());
- if( childreenID==null){
+ List<String> childreenID = listRepresentation.parentChildrenRelation.get(view.getType());
+ if (childreenID == null) {
return;
}
// Look for the node for the shape compartment
- HashMap<String,View> dynamicCompartments = getAddedCompartmentView(view, childreenID);
+ HashMap<String, View> dynamicCompartments = getAddedCompartmentView(view, childreenID);
// it does not exist
- if (dynamicCompartments.size()<childreenID.size()) {
+ if (dynamicCompartments.size() < childreenID.size()) {
executeShapeCompartmentCreation(editPart, dynamicCompartments, childreenID, listRepresentation);
}
@@ -183,12 +182,12 @@ public class InducedRepresentationCreationEditPolicy extends GraphicalEditPolicy
/**
* Returns the view corresponding to the shape compartment
*
- * @param view
+ * @param view
* @return
*/
- private HashMap<String,View> getAddedCompartmentView(View view, List<String> childreenID) {
+ private HashMap<String, View> getAddedCompartmentView(View view, List<String> childreenID) {
- HashMap<String,View> dynamicCompartments= new HashMap<String,View>();
+ HashMap<String, View> dynamicCompartments = new HashMap<String, View>();
for (Object child : view.getChildren()) {
if (child instanceof View && childreenID.contains(((View) child).getType())) {
dynamicCompartments.put((((View) child).getType()), (View) child);
diff --git a/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.common/src/org/eclipse/papyrus/infra/gmfdiag/common/sync/EditPartSyncTrigger.java b/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.common/src/org/eclipse/papyrus/infra/gmfdiag/common/sync/EditPartSyncTrigger.java
index 5ef2d80cab3..970c1c1760b 100644
--- a/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.common/src/org/eclipse/papyrus/infra/gmfdiag/common/sync/EditPartSyncTrigger.java
+++ b/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.common/src/org/eclipse/papyrus/infra/gmfdiag/common/sync/EditPartSyncTrigger.java
@@ -1,127 +1,127 @@
-/*****************************************************************************
- * Copyright (c) 2015 Christian W. Damus and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Christian W. Damus - Initial API and implementation
- *
- *****************************************************************************/
-
-package org.eclipse.papyrus.infra.gmfdiag.common.sync;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.transaction.RollbackException;
-import org.eclipse.emf.transaction.TransactionalEditingDomain;
-import org.eclipse.emf.transaction.util.TransactionUtil;
-import org.eclipse.gef.EditPart;
-import org.eclipse.gmf.runtime.notation.View;
-import org.eclipse.papyrus.infra.core.utils.AdapterUtils;
-import org.eclipse.papyrus.infra.gmfdiag.common.Activator;
-import org.eclipse.papyrus.infra.gmfdiag.common.utils.GMFUnsafe;
-import org.eclipse.papyrus.infra.sync.SyncBucket;
-import org.eclipse.papyrus.infra.sync.SyncRegistry;
-import org.eclipse.papyrus.infra.sync.service.AbstractSyncTrigger;
-import org.eclipse.papyrus.infra.sync.service.ISyncAction;
-import org.eclipse.papyrus.infra.sync.service.ISyncService;
-
-/**
- * Trigger to engage synchronization on edit parts that have the master/slave synchronization styles set.
- */
-public abstract class EditPartSyncTrigger<M extends EObject, T extends EditPart, X> extends AbstractSyncTrigger {
-
- private final Class<? extends SyncRegistry<M, T, X>> registryType;
-
- public EditPartSyncTrigger(Class<? extends SyncRegistry<M, T, X>> registryType) {
- super();
-
- this.registryType = registryType;
- }
-
- @Override
- public ISyncAction trigger(ISyncService syncService, Object object) {
- ISyncAction result = null;
-
- if (object instanceof EditPart) {
- EditPart editPart = (EditPart) object;
- Object model = editPart.getModel();
- if (model instanceof View) {
- SyncKind kind = SyncStyles.getSyncKind((View) model);
- result = trigger(kind);
- }
- }
-
- return result;
- }
-
- protected ISyncAction trigger(final SyncKind syncKind) {
- return new ISyncAction() {
-
- @Override
- public IStatus perform(final ISyncService syncService, Object object) {
- final IStatus[] result = { Status.OK_STATUS };
- final EditPart editPart = (EditPart) object;
- final TransactionalEditingDomain domain = TransactionUtil.getEditingDomain((View) editPart.getModel());
-
- try {
- GMFUnsafe.write(domain, new Runnable() {
-
- @Override
- public void run() {
- result[0] = doTrigger(syncService, editPart, syncKind);
- }
- });
- } catch (InterruptedException e) {
- result[0] = new Status(IStatus.ERROR, Activator.ID, "Synchronization trigger was interrupted", e);
- } catch (RollbackException e) {
- result[0] = e.getStatus();
- }
-
- return result[0];
- }
- };
- }
-
- protected IStatus doTrigger(ISyncService syncService, EditPart editPart, SyncKind syncKind) {
- IStatus result = Status.OK_STATUS;
-
- SyncRegistry<M, T, X> registry = null;
- M model = null;
- T backend = null;
-
- try {
- registry = syncService.getSyncRegistry(registryType);
- model = AdapterUtils.adapt(editPart, registry.getModelType(), null);
- backend = registry.getBackendType().cast(editPart);
- } catch (Exception e) {
- result = new Status(IStatus.ERROR, Activator.ID, "Failed to access synchronization registry", e);
- }
-
- if ((registry != null) && (model != null)) {
- switch (syncKind) {
- case MASTER:
- SyncBucket<M, T, X> bucket = registry.getBucket(model);
- if (bucket == null) {
- bucket = createSyncBucket(model, backend);
- registry.register(bucket);
- }
- break;
- case SLAVE:
- registry.synchronize(backend);
- break;
- default:
- result = new Status(IStatus.ERROR, Activator.ID, "Unsupported synchronization kind: " + syncKind, null);
- break;
- }
- }
-
- return result;
- }
-
- protected abstract SyncBucket<M, T, X> createSyncBucket(M model, T editPart);
-}
+/*****************************************************************************
+ * Copyright (c) 2015 Christian W. Damus and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Christian W. Damus - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.infra.gmfdiag.common.sync;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Status;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.transaction.RollbackException;
+import org.eclipse.emf.transaction.TransactionalEditingDomain;
+import org.eclipse.emf.transaction.util.TransactionUtil;
+import org.eclipse.gef.EditPart;
+import org.eclipse.gmf.runtime.notation.View;
+import org.eclipse.papyrus.infra.core.utils.AdapterUtils;
+import org.eclipse.papyrus.infra.emf.gmf.util.GMFUnsafe;
+import org.eclipse.papyrus.infra.gmfdiag.common.Activator;
+import org.eclipse.papyrus.infra.sync.SyncBucket;
+import org.eclipse.papyrus.infra.sync.SyncRegistry;
+import org.eclipse.papyrus.infra.sync.service.AbstractSyncTrigger;
+import org.eclipse.papyrus.infra.sync.service.ISyncAction;
+import org.eclipse.papyrus.infra.sync.service.ISyncService;
+
+/**
+ * Trigger to engage synchronization on edit parts that have the master/slave synchronization styles set.
+ */
+public abstract class EditPartSyncTrigger<M extends EObject, T extends EditPart, X> extends AbstractSyncTrigger {
+
+ private final Class<? extends SyncRegistry<M, T, X>> registryType;
+
+ public EditPartSyncTrigger(Class<? extends SyncRegistry<M, T, X>> registryType) {
+ super();
+
+ this.registryType = registryType;
+ }
+
+ @Override
+ public ISyncAction trigger(ISyncService syncService, Object object) {
+ ISyncAction result = null;
+
+ if (object instanceof EditPart) {
+ EditPart editPart = (EditPart) object;
+ Object model = editPart.getModel();
+ if (model instanceof View) {
+ SyncKind kind = SyncStyles.getSyncKind((View) model);
+ result = trigger(kind);
+ }
+ }
+
+ return result;
+ }
+
+ protected ISyncAction trigger(final SyncKind syncKind) {
+ return new ISyncAction() {
+
+ @Override
+ public IStatus perform(final ISyncService syncService, Object object) {
+ final IStatus[] result = { Status.OK_STATUS };
+ final EditPart editPart = (EditPart) object;
+ final TransactionalEditingDomain domain = TransactionUtil.getEditingDomain((View) editPart.getModel());
+
+ try {
+ GMFUnsafe.write(domain, new Runnable() {
+
+ @Override
+ public void run() {
+ result[0] = doTrigger(syncService, editPart, syncKind);
+ }
+ });
+ } catch (InterruptedException e) {
+ result[0] = new Status(IStatus.ERROR, Activator.ID, "Synchronization trigger was interrupted", e);
+ } catch (RollbackException e) {
+ result[0] = e.getStatus();
+ }
+
+ return result[0];
+ }
+ };
+ }
+
+ protected IStatus doTrigger(ISyncService syncService, EditPart editPart, SyncKind syncKind) {
+ IStatus result = Status.OK_STATUS;
+
+ SyncRegistry<M, T, X> registry = null;
+ M model = null;
+ T backend = null;
+
+ try {
+ registry = syncService.getSyncRegistry(registryType);
+ model = AdapterUtils.adapt(editPart, registry.getModelType(), null);
+ backend = registry.getBackendType().cast(editPart);
+ } catch (Exception e) {
+ result = new Status(IStatus.ERROR, Activator.ID, "Failed to access synchronization registry", e);
+ }
+
+ if ((registry != null) && (model != null)) {
+ switch (syncKind) {
+ case MASTER:
+ SyncBucket<M, T, X> bucket = registry.getBucket(model);
+ if (bucket == null) {
+ bucket = createSyncBucket(model, backend);
+ registry.register(bucket);
+ }
+ break;
+ case SLAVE:
+ registry.synchronize(backend);
+ break;
+ default:
+ result = new Status(IStatus.ERROR, Activator.ID, "Unsupported synchronization kind: " + syncKind, null);
+ break;
+ }
+ }
+
+ return result;
+ }
+
+ protected abstract SyncBucket<M, T, X> createSyncBucket(M model, T editPart);
+}
diff --git a/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.common/src/org/eclipse/papyrus/infra/gmfdiag/common/sync/NodePositionSyncFeature.java b/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.common/src/org/eclipse/papyrus/infra/gmfdiag/common/sync/NodePositionSyncFeature.java
index 94d5d496093..9a5a178a7bb 100644
--- a/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.common/src/org/eclipse/papyrus/infra/gmfdiag/common/sync/NodePositionSyncFeature.java
+++ b/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.common/src/org/eclipse/papyrus/infra/gmfdiag/common/sync/NodePositionSyncFeature.java
@@ -1,157 +1,157 @@
-/*****************************************************************************
- * Copyright (c) 2014, 2015 CEA LIST, Christian W. Damus, and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * CEA LIST - Initial API and implementation
- * Christian W. Damus - bug 465416
- *
- *****************************************************************************/
-
-package org.eclipse.papyrus.infra.gmfdiag.common.sync;
-
-import org.eclipse.draw2d.IFigure;
-import org.eclipse.draw2d.geometry.Point;
-import org.eclipse.emf.common.command.Command;
-import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.gef.EditPart;
-import org.eclipse.gef.GraphicalEditPart;
-import org.eclipse.gmf.runtime.diagram.ui.commands.SetBoundsCommand;
-import org.eclipse.gmf.runtime.notation.Location;
-import org.eclipse.gmf.runtime.notation.Node;
-import org.eclipse.gmf.runtime.notation.NotationPackage;
-import org.eclipse.papyrus.commands.wrappers.GMFtoEMFCommandWrapper;
-import org.eclipse.papyrus.infra.sync.EMFDispatch;
-import org.eclipse.papyrus.infra.sync.EMFDispatchManager;
-import org.eclipse.papyrus.infra.sync.SyncBucket;
-import org.eclipse.papyrus.infra.sync.SyncFeature;
-import org.eclipse.papyrus.infra.sync.SyncItem;
-import org.eclipse.papyrus.infra.tools.util.TypeUtils;
-
-/**
- * Represents a synchronization feature for the position of GMF notation nodes
- *
- * @author Laurent Wouters
- *
- * @param <M>
- * The type of the underlying model element common to all synchronized items in a single bucket
- * @param <T>
- * The type of the backend element to synchronize
- */
-public class NodePositionSyncFeature<M extends EObject, T extends EditPart> extends SyncFeature<M, T, Notification> {
- /**
- * Represents a dispatcher for this feature
- *
- * @author Laurent Wouters
- */
- private class Dispatcher extends NodePositionSyncDispatcher<M, T> {
- public Dispatcher(SyncItem<M, T> item) {
- super(item);
- }
-
- @Override
- public void onClear() {
- // clears the parent bucket
- getBucket().clear();
- }
-
- @Override
- protected void onFilteredChange(Notification notification) {
- NodePositionSyncFeature.this.onChange(item, notification);
- }
- }
-
- private EMFDispatchManager<Dispatcher> dispatchMgr = createSingleDispatchManager();
-
- /**
- * Initialized this feature
- *
- * @param bucket
- * The bucket doing the synchronization
- */
- public NodePositionSyncFeature(SyncBucket<M, T, Notification> bucket) {
- super(bucket);
- }
-
- @Override
- public void observe(SyncItem<M, T> item) {
- dispatchMgr.add(item, new Dispatcher(item));
- }
-
- @Override
- public void unobserve(SyncItem<M, T> item) {
- dispatchMgr.remove(item);
- }
-
- @Override
- protected void onClear() {
- dispatchMgr.removeAll();
- }
-
- @Override
- public void synchronize(SyncItem<M, T> from, SyncItem<M, T> to, Notification message) {
- EditPart fromEditPart = from.getBackend();
- EditPart toEditPart = to.getBackend();
-
- // retrieve the locations
- Point locationFrom = getLocation(fromEditPart);
- Point locationTo = getLocation(toEditPart);
-
- if (!locationFrom.equals(locationTo)) {
- // compute the reaction command
- Command reaction = GMFtoEMFCommandWrapper.wrap(new SetBoundsCommand(getEditingDomain(), "Synchronize Node Location", toEditPart, locationFrom));
-
- // dispatch the reaction
- if (message == null) {
- // this is an initial sync request
- execute(reaction);
- } else {
- // this is reaction to a change
- Dispatcher dispatcher = dispatchMgr.getDispatcher(from, message.getFeature());
- if (dispatcher != null) {
- dispatcher.react(reaction);
- }
- }
- }
- }
-
- Point getLocation(EditPart editPart) {
- Point result = null;
-
- Node node = (Node) editPart.getModel();
- Location location = TypeUtils.as(node.getLayoutConstraint(), Location.class);
- if (location != null) {
- result = new Point(location.getX(), location.getY());
- } else {
- IFigure figure = ((GraphicalEditPart) editPart).getFigure();
- result = figure.getBounds().getLocation();
- }
-
- return result;
- }
-
- public static <M extends EObject, T extends EditPart> NotationSyncPolicyDelegate<M, T> createPolicyDelegate() {
- return new NotationSyncPolicyDelegate<M, T>(NotationPackage.Literals.LOCATION.getName()) {
-
- @Override
- protected EMFDispatch createDispatcher(SyncItem<M, T> syncTarget) {
- return new NodePositionSyncDispatcher<M, T>(syncTarget) {
- @Override
- public void onClear() {
- // Nothing to do do
- }
-
- @Override
- protected void onFilteredChange(Notification notification) {
- overrideOccurred(this, getItem());
- }
- };
- }
- };
- }
-}
+/*****************************************************************************
+ * Copyright (c) 2014, 2015 CEA LIST, Christian W. Damus, and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ * Christian W. Damus - bug 465416
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.infra.gmfdiag.common.sync;
+
+import org.eclipse.draw2d.IFigure;
+import org.eclipse.draw2d.geometry.Point;
+import org.eclipse.emf.common.command.Command;
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.gef.EditPart;
+import org.eclipse.gef.GraphicalEditPart;
+import org.eclipse.gmf.runtime.diagram.ui.commands.SetBoundsCommand;
+import org.eclipse.gmf.runtime.notation.Location;
+import org.eclipse.gmf.runtime.notation.Node;
+import org.eclipse.gmf.runtime.notation.NotationPackage;
+import org.eclipse.papyrus.infra.emf.gmf.command.GMFtoEMFCommandWrapper;
+import org.eclipse.papyrus.infra.sync.EMFDispatch;
+import org.eclipse.papyrus.infra.sync.EMFDispatchManager;
+import org.eclipse.papyrus.infra.sync.SyncBucket;
+import org.eclipse.papyrus.infra.sync.SyncFeature;
+import org.eclipse.papyrus.infra.sync.SyncItem;
+import org.eclipse.papyrus.infra.tools.util.TypeUtils;
+
+/**
+ * Represents a synchronization feature for the position of GMF notation nodes
+ *
+ * @author Laurent Wouters
+ *
+ * @param <M>
+ * The type of the underlying model element common to all synchronized items in a single bucket
+ * @param <T>
+ * The type of the backend element to synchronize
+ */
+public class NodePositionSyncFeature<M extends EObject, T extends EditPart> extends SyncFeature<M, T, Notification> {
+ /**
+ * Represents a dispatcher for this feature
+ *
+ * @author Laurent Wouters
+ */
+ private class Dispatcher extends NodePositionSyncDispatcher<M, T> {
+ public Dispatcher(SyncItem<M, T> item) {
+ super(item);
+ }
+
+ @Override
+ public void onClear() {
+ // clears the parent bucket
+ getBucket().clear();
+ }
+
+ @Override
+ protected void onFilteredChange(Notification notification) {
+ NodePositionSyncFeature.this.onChange(item, notification);
+ }
+ }
+
+ private EMFDispatchManager<Dispatcher> dispatchMgr = createSingleDispatchManager();
+
+ /**
+ * Initialized this feature
+ *
+ * @param bucket
+ * The bucket doing the synchronization
+ */
+ public NodePositionSyncFeature(SyncBucket<M, T, Notification> bucket) {
+ super(bucket);
+ }
+
+ @Override
+ public void observe(SyncItem<M, T> item) {
+ dispatchMgr.add(item, new Dispatcher(item));
+ }
+
+ @Override
+ public void unobserve(SyncItem<M, T> item) {
+ dispatchMgr.remove(item);
+ }
+
+ @Override
+ protected void onClear() {
+ dispatchMgr.removeAll();
+ }
+
+ @Override
+ public void synchronize(SyncItem<M, T> from, SyncItem<M, T> to, Notification message) {
+ EditPart fromEditPart = from.getBackend();
+ EditPart toEditPart = to.getBackend();
+
+ // retrieve the locations
+ Point locationFrom = getLocation(fromEditPart);
+ Point locationTo = getLocation(toEditPart);
+
+ if (!locationFrom.equals(locationTo)) {
+ // compute the reaction command
+ Command reaction = GMFtoEMFCommandWrapper.wrap(new SetBoundsCommand(getEditingDomain(), "Synchronize Node Location", toEditPart, locationFrom));
+
+ // dispatch the reaction
+ if (message == null) {
+ // this is an initial sync request
+ execute(reaction);
+ } else {
+ // this is reaction to a change
+ Dispatcher dispatcher = dispatchMgr.getDispatcher(from, message.getFeature());
+ if (dispatcher != null) {
+ dispatcher.react(reaction);
+ }
+ }
+ }
+ }
+
+ Point getLocation(EditPart editPart) {
+ Point result = null;
+
+ Node node = (Node) editPart.getModel();
+ Location location = TypeUtils.as(node.getLayoutConstraint(), Location.class);
+ if (location != null) {
+ result = new Point(location.getX(), location.getY());
+ } else {
+ IFigure figure = ((GraphicalEditPart) editPart).getFigure();
+ result = figure.getBounds().getLocation();
+ }
+
+ return result;
+ }
+
+ public static <M extends EObject, T extends EditPart> NotationSyncPolicyDelegate<M, T> createPolicyDelegate() {
+ return new NotationSyncPolicyDelegate<M, T>(NotationPackage.Literals.LOCATION.getName()) {
+
+ @Override
+ protected EMFDispatch createDispatcher(SyncItem<M, T> syncTarget) {
+ return new NodePositionSyncDispatcher<M, T>(syncTarget) {
+ @Override
+ public void onClear() {
+ // Nothing to do do
+ }
+
+ @Override
+ protected void onFilteredChange(Notification notification) {
+ overrideOccurred(this, getItem());
+ }
+ };
+ }
+ };
+ }
+}
diff --git a/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.common/src/org/eclipse/papyrus/infra/gmfdiag/common/sync/NodeSizeSyncFeature.java b/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.common/src/org/eclipse/papyrus/infra/gmfdiag/common/sync/NodeSizeSyncFeature.java
index e2c9c5aca37..25c9f8fb2b8 100644
--- a/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.common/src/org/eclipse/papyrus/infra/gmfdiag/common/sync/NodeSizeSyncFeature.java
+++ b/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.common/src/org/eclipse/papyrus/infra/gmfdiag/common/sync/NodeSizeSyncFeature.java
@@ -1,164 +1,164 @@
-/*****************************************************************************
- * Copyright (c) 2014, 2015 CEA LIST, Christian W. Damus, and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * CEA LIST - Initial API and implementation
- * Christian W. Damus - bug 465416
- *
- *****************************************************************************/
-
-package org.eclipse.papyrus.infra.gmfdiag.common.sync;
-
-import org.eclipse.draw2d.IFigure;
-import org.eclipse.draw2d.geometry.Dimension;
-import org.eclipse.emf.common.command.Command;
-import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.gef.EditPart;
-import org.eclipse.gef.GraphicalEditPart;
-import org.eclipse.gmf.runtime.diagram.ui.commands.SetBoundsCommand;
-import org.eclipse.gmf.runtime.notation.Node;
-import org.eclipse.gmf.runtime.notation.NotationPackage;
-import org.eclipse.gmf.runtime.notation.Size;
-import org.eclipse.papyrus.commands.wrappers.GMFtoEMFCommandWrapper;
-import org.eclipse.papyrus.infra.sync.EMFDispatch;
-import org.eclipse.papyrus.infra.sync.EMFDispatchManager;
-import org.eclipse.papyrus.infra.sync.SyncBucket;
-import org.eclipse.papyrus.infra.sync.SyncFeature;
-import org.eclipse.papyrus.infra.sync.SyncItem;
-import org.eclipse.papyrus.infra.tools.util.TypeUtils;
-
-/**
- * Represents a synchronization feature for the position of GMF notation nodes
- *
- * @author Laurent Wouters
- *
- * @param <M>
- * The type of the underlying model element common to all synchronized items in a single bucket
- * @param <T>
- * The type of the backend element to synchronize
- */
-public class NodeSizeSyncFeature<M extends EObject, T extends EditPart> extends SyncFeature<M, T, Notification> {
- /**
- * Represents a dispatcher for this feature
- *
- * @author Laurent Wouters
- */
- private class Dispatcher extends NodeSizeSyncDispatcher<M, T> {
- public Dispatcher(SyncItem<M, T> item) {
- super(item);
- }
-
- @Override
- public void onClear() {
- // clears the parent bucket
- getBucket().clear();
- }
-
- @Override
- protected void onFilteredChange(Notification notification) {
- NodeSizeSyncFeature.this.onChange(item, notification);
- }
- }
-
- /**
- * The active dispatchers
- */
- private EMFDispatchManager<Dispatcher> dispatchMgr = createSingleDispatchManager();
-
- /**
- * Initialized this feature
- *
- * @param bucket
- * The bucket doing the synchronization
- */
- public NodeSizeSyncFeature(SyncBucket<M, T, Notification> bucket) {
- super(bucket);
- }
-
- @Override
- public void observe(SyncItem<M, T> item) {
- dispatchMgr.add(item, new Dispatcher(item));
- }
-
- @Override
- public void unobserve(SyncItem<M, T> item) {
- dispatchMgr.remove(item);
- }
-
- @Override
- protected void onClear() {
- dispatchMgr.removeAll();
- }
-
- @Override
- public void synchronize(SyncItem<M, T> from, SyncItem<M, T> to, Notification message) {
- EditPart fromEditPart = from.getBackend();
- EditPart toEditPart = to.getBackend();
-
- // retrieve the sizes
- Dimension sizeFrom = getSize(fromEditPart);
- Dimension sizeTo = getSize(toEditPart);
-
- if (!sizeFrom.equals(sizeTo)) {
- // compute the reaction command
- Command reaction = GMFtoEMFCommandWrapper.wrap(new SetBoundsCommand(getEditingDomain(), "Synchronize Node Size", toEditPart, sizeFrom));
-
- // dispatch the reaction
- if (message == null) {
- // this is an initial sync request
- execute(reaction);
- } else {
- // this is reaction to a change
- Dispatcher dispatcher = dispatchMgr.getDispatcher(from, message.getFeature());
- if (dispatcher != null) {
- dispatcher.react(reaction);
- }
- }
- }
- }
-
- Dimension getSize(EditPart editPart) {
- Dimension result = null;
-
- Node node = (Node) editPart.getModel();
- Size size = TypeUtils.as(node.getLayoutConstraint(), Size.class);
- if ((size != null) && (size.getWidth() >= 0) && (size.getHeight() >= 0)) {
- // Nice. We have non-default (non-computed) size
- result = new Dimension(size.getWidth(), size.getHeight());
- }
-
- if (result == null) {
- // Need to get the actual dimensions from the edit-part's figure
- IFigure figure = ((GraphicalEditPart) editPart).getFigure();
- result = figure.getBounds().getSize();
- }
-
- return result;
- }
-
- public static <M extends EObject, T extends EditPart> NotationSyncPolicyDelegate<M, T> createPolicyDelegate() {
- return new NotationSyncPolicyDelegate<M, T>(NotationPackage.Literals.SIZE.getName()) {
-
- @Override
- protected EMFDispatch createDispatcher(SyncItem<M, T> syncTarget) {
- return new NodeSizeSyncDispatcher<M, T>(syncTarget) {
- @Override
- public void onClear() {
- // Nothing to do do
- }
-
- @Override
- protected void onFilteredChange(Notification notification) {
- overrideOccurred(this, getItem());
- }
- };
- }
- };
- }
-}
+/*****************************************************************************
+ * Copyright (c) 2014, 2015 CEA LIST, Christian W. Damus, and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ * Christian W. Damus - bug 465416
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.infra.gmfdiag.common.sync;
+
+import org.eclipse.draw2d.IFigure;
+import org.eclipse.draw2d.geometry.Dimension;
+import org.eclipse.emf.common.command.Command;
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.gef.EditPart;
+import org.eclipse.gef.GraphicalEditPart;
+import org.eclipse.gmf.runtime.diagram.ui.commands.SetBoundsCommand;
+import org.eclipse.gmf.runtime.notation.Node;
+import org.eclipse.gmf.runtime.notation.NotationPackage;
+import org.eclipse.gmf.runtime.notation.Size;
+import org.eclipse.papyrus.infra.emf.gmf.command.GMFtoEMFCommandWrapper;
+import org.eclipse.papyrus.infra.sync.EMFDispatch;
+import org.eclipse.papyrus.infra.sync.EMFDispatchManager;
+import org.eclipse.papyrus.infra.sync.SyncBucket;
+import org.eclipse.papyrus.infra.sync.SyncFeature;
+import org.eclipse.papyrus.infra.sync.SyncItem;
+import org.eclipse.papyrus.infra.tools.util.TypeUtils;
+
+/**
+ * Represents a synchronization feature for the position of GMF notation nodes
+ *
+ * @author Laurent Wouters
+ *
+ * @param <M>
+ * The type of the underlying model element common to all synchronized items in a single bucket
+ * @param <T>
+ * The type of the backend element to synchronize
+ */
+public class NodeSizeSyncFeature<M extends EObject, T extends EditPart> extends SyncFeature<M, T, Notification> {
+ /**
+ * Represents a dispatcher for this feature
+ *
+ * @author Laurent Wouters
+ */
+ private class Dispatcher extends NodeSizeSyncDispatcher<M, T> {
+ public Dispatcher(SyncItem<M, T> item) {
+ super(item);
+ }
+
+ @Override
+ public void onClear() {
+ // clears the parent bucket
+ getBucket().clear();
+ }
+
+ @Override
+ protected void onFilteredChange(Notification notification) {
+ NodeSizeSyncFeature.this.onChange(item, notification);
+ }
+ }
+
+ /**
+ * The active dispatchers
+ */
+ private EMFDispatchManager<Dispatcher> dispatchMgr = createSingleDispatchManager();
+
+ /**
+ * Initialized this feature
+ *
+ * @param bucket
+ * The bucket doing the synchronization
+ */
+ public NodeSizeSyncFeature(SyncBucket<M, T, Notification> bucket) {
+ super(bucket);
+ }
+
+ @Override
+ public void observe(SyncItem<M, T> item) {
+ dispatchMgr.add(item, new Dispatcher(item));
+ }
+
+ @Override
+ public void unobserve(SyncItem<M, T> item) {
+ dispatchMgr.remove(item);
+ }
+
+ @Override
+ protected void onClear() {
+ dispatchMgr.removeAll();
+ }
+
+ @Override
+ public void synchronize(SyncItem<M, T> from, SyncItem<M, T> to, Notification message) {
+ EditPart fromEditPart = from.getBackend();
+ EditPart toEditPart = to.getBackend();
+
+ // retrieve the sizes
+ Dimension sizeFrom = getSize(fromEditPart);
+ Dimension sizeTo = getSize(toEditPart);
+
+ if (!sizeFrom.equals(sizeTo)) {
+ // compute the reaction command
+ Command reaction = GMFtoEMFCommandWrapper.wrap(new SetBoundsCommand(getEditingDomain(), "Synchronize Node Size", toEditPart, sizeFrom));
+
+ // dispatch the reaction
+ if (message == null) {
+ // this is an initial sync request
+ execute(reaction);
+ } else {
+ // this is reaction to a change
+ Dispatcher dispatcher = dispatchMgr.getDispatcher(from, message.getFeature());
+ if (dispatcher != null) {
+ dispatcher.react(reaction);
+ }
+ }
+ }
+ }
+
+ Dimension getSize(EditPart editPart) {
+ Dimension result = null;
+
+ Node node = (Node) editPart.getModel();
+ Size size = TypeUtils.as(node.getLayoutConstraint(), Size.class);
+ if ((size != null) && (size.getWidth() >= 0) && (size.getHeight() >= 0)) {
+ // Nice. We have non-default (non-computed) size
+ result = new Dimension(size.getWidth(), size.getHeight());
+ }
+
+ if (result == null) {
+ // Need to get the actual dimensions from the edit-part's figure
+ IFigure figure = ((GraphicalEditPart) editPart).getFigure();
+ result = figure.getBounds().getSize();
+ }
+
+ return result;
+ }
+
+ public static <M extends EObject, T extends EditPart> NotationSyncPolicyDelegate<M, T> createPolicyDelegate() {
+ return new NotationSyncPolicyDelegate<M, T>(NotationPackage.Literals.SIZE.getName()) {
+
+ @Override
+ protected EMFDispatch createDispatcher(SyncItem<M, T> syncTarget) {
+ return new NodeSizeSyncDispatcher<M, T>(syncTarget) {
+ @Override
+ public void onClear() {
+ // Nothing to do do
+ }
+
+ @Override
+ protected void onFilteredChange(Notification notification) {
+ overrideOccurred(this, getItem());
+ }
+ };
+ }
+ };
+ }
+}
diff --git a/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.common/src/org/eclipse/papyrus/infra/gmfdiag/common/utils/GMFUnsafe.java b/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.common/src/org/eclipse/papyrus/infra/gmfdiag/common/utils/GMFUnsafe.java
deleted file mode 100644
index 5838683d503..00000000000
--- a/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.common/src/org/eclipse/papyrus/infra/gmfdiag/common/utils/GMFUnsafe.java
+++ /dev/null
@@ -1,199 +0,0 @@
-/*
- * Copyright (c) 2014, 2016 CEA, Christian W. Damus, and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Christian W. Damus (CEA) - Initial API and implementation
- * Christian W. Damus - bug 485220
- *
- */
-package org.eclipse.papyrus.infra.gmfdiag.common.utils;
-
-import java.util.Collection;
-
-import org.eclipse.core.commands.ExecutionException;
-import org.eclipse.emf.common.command.Command;
-import org.eclipse.emf.transaction.RollbackException;
-import org.eclipse.emf.transaction.TransactionalEditingDomain;
-import org.eclipse.gmf.runtime.common.core.command.ICommand;
-
-
-/**
- * Utilities for operations in the GMF context that we might consider as "unsafe" or exceptional cases.
- *
- * @deprecated use the {@link org.eclipse.papyrus.infra.emf.gmf.util.GMFUnsafe} API, instead.
- */
-@Deprecated
-public class GMFUnsafe {
-
- /**
- * Not instantiable by clients.
- */
- private GMFUnsafe() {
- super();
- }
-
- /**
- * Performs an unsafe write to the model. The editing domain may or may not already have an active transaction, which may or may not be read-only;
- * it does not matter. In any case, the changes performed will not be recorded for undo/redo or roll-back. Thus, this is appropriate only for use
- * cases such as synchronization of canonical views, which are not considered logically as abstract model edits (though they be concrete changes).
- *
- * @param domain
- * an editing domain that may or may not have a transaction in progress
- * @param writeOperation
- * an operation that will make unchecked/unsafe changes to the editing {@code domain}
- *
- * @throws RollbackException
- * if the unprotected write transaction fails to commit. Note that this could occlude an uncaught exception thrown by the {@code writeOperation} runnable
- * @throws InterruptedException
- * if the current thread is interrupted while waiting for the unprotected write transaction to start
- */
- public static void write(TransactionalEditingDomain domain, Runnable writeOperation) throws InterruptedException, RollbackException {
- org.eclipse.papyrus.infra.emf.gmf.util.GMFUnsafe.write(domain, writeOperation);
- }
-
- /**
- * Executes an unsafe command on the model. The editing domain may or may not already have an active transaction, which may or may not be
- * read-only; it does not matter. In any case, the changes performed will not be recorded for undo/redo or roll-back. Thus, this is appropriate
- * only for use cases such as synchronization of canonical views, which are not considered logically as abstract model edits (though they be
- * concrete changes).
- *
- * @param domain
- * an editing domain that may or may not have a transaction in progress
- * @param command
- * a command that will make unchecked/unsafe changes to the editing {@code domain}
- *
- * @throws RollbackException
- * if the unprotected write transaction fails to commit. Note that this could occlude an uncaught exception thrown by the {@code writeOperation} runnable
- * @throws InterruptedException
- * if the current thread is interrupted while waiting for the unprotected write transaction to start
- *
- * @see #write(TransactionalEditingDomain, Runnable)
- */
- public static void write(TransactionalEditingDomain domain, Command command) throws InterruptedException, RollbackException {
- org.eclipse.papyrus.infra.emf.gmf.util.GMFUnsafe.write(domain, command);
- }
-
- /**
- * Executes an unsafe command on the model. The editing domain may or may not already have an active transaction, which may or may not be
- * read-only; it does not matter. In any case, the changes performed will not be recorded for undo/redo or roll-back. Thus, this is appropriate
- * only for use cases such as synchronization of canonical views, which are not considered logically as abstract model edits (though they be
- * concrete changes).
- *
- * @param domain
- * an editing domain that may or may not have a transaction in progress
- * @param command
- * a command that will make unchecked/unsafe changes to the editing {@code domain}
- *
- * @throws RollbackException
- * if the unprotected write transaction fails to commit. Note that this could occlude an uncaught exception thrown by the {@code writeOperation} runnable
- * @throws InterruptedException
- * if the current thread is interrupted while waiting for the unprotected write transaction to start
- * @throws ExecutionException
- * if the {@code command} fails to execute
- *
- * @see #write(TransactionalEditingDomain, Runnable)
- */
- public static void write(TransactionalEditingDomain domain, ICommand command) throws InterruptedException, RollbackException, ExecutionException {
- org.eclipse.papyrus.infra.emf.gmf.util.GMFUnsafe.write(domain, command);
- }
-
- /**
- * Wraps a command for unprotected execution, undo, and redo on the command stack.
- *
- * @param domain
- * a transactional editing domain on which the {@code command} operates
- * @param command
- * a command to wrap
- * @return the wrapped command
- */
- public static Command wrap(TransactionalEditingDomain domain, Command command) {
- return new UnsafeCommandWrapper(domain, command);
- }
-
- //
- // Nested types
- //
-
- /**
- * A useful base class for commands that need to execute, undo, and redo in unprotected mode on the command stack.
- *
- * @deprecated Use the {@link org.eclipse.papyrus.infra.emf.gmf.util.GMFUnsafe.UnsafeCommand} API, instead.
- */
- @Deprecated
- public static abstract class UnsafeCommand extends org.eclipse.papyrus.infra.emf.gmf.util.GMFUnsafe.UnsafeCommand {
-
- protected UnsafeCommand(TransactionalEditingDomain domain) {
- super(domain);
- }
-
- protected UnsafeCommand(TransactionalEditingDomain domain, String label, String description) {
- super(domain, label, description);
- }
-
- protected UnsafeCommand(TransactionalEditingDomain domain, String label) {
- super(domain, label);
- }
- }
-
- private static class UnsafeCommandWrapper extends UnsafeCommand {
-
- private final Command command;
-
- UnsafeCommandWrapper(TransactionalEditingDomain domain, Command command) {
- super(domain, command.getLabel(), command.getDescription());
-
- this.command = command;
- }
-
- @Override
- public void dispose() {
- command.dispose();
- }
-
- @Override
- public boolean canExecute() {
- return command.canExecute();
- }
-
- @Override
- protected void doExecute() {
- command.execute();
- }
-
- @Override
- public boolean canUndo() {
- return command.canUndo();
- }
-
- @Override
- protected void doUndo() {
- command.undo();
- }
-
- @Override
- protected void doRedo() {
- command.redo();
- }
-
- @Override
- public Collection<?> getAffectedObjects() {
- return command.getAffectedObjects();
- }
-
- @Override
- public Collection<?> getResult() {
- return command.getResult();
- }
-
- @Override
- public String toString() {
- return String.format("Unsafe(%s)", command.toString()); //$NON-NLS-1$
- }
- }
-
-}
diff --git a/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.controlmode/META-INF/MANIFEST.MF b/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.controlmode/META-INF/MANIFEST.MF
index 36b6bc60272..e648180ed87 100644
--- a/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.controlmode/META-INF/MANIFEST.MF
+++ b/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.controlmode/META-INF/MANIFEST.MF
@@ -1,6 +1,6 @@
Manifest-Version: 1.0
Require-Bundle: org.eclipse.papyrus.infra.services.controlmode;bundle-version="[1.2.0,2.0.0)",
- org.eclipse.papyrus.infra.gmfdiag.common;bundle-version="[2.0.0,3.0.0)",
+ org.eclipse.papyrus.infra.gmfdiag.common;bundle-version="[3.0.0,4.0.0)",
org.eclipse.papyrus.infra.emf;bundle-version="[2.0.0,3.0.0)"
Bundle-Vendor: Eclipse Modeling Project
Bundle-ActivationPolicy: lazy
diff --git a/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.dnd/META-INF/MANIFEST.MF b/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.dnd/META-INF/MANIFEST.MF
index 64b3aa36216..2edbd19ba1b 100644
--- a/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.dnd/META-INF/MANIFEST.MF
+++ b/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.dnd/META-INF/MANIFEST.MF
@@ -1,7 +1,7 @@
Manifest-Version: 1.0
Export-Package: org.eclipse.papyrus.infra.gmfdiag.dnd.policy,
org.eclipse.papyrus.infra.gmfdiag.dnd.strategy
-Require-Bundle: org.eclipse.papyrus.infra.gmfdiag.common;bundle-version="[2.0.0,3.0.0)",
+Require-Bundle: org.eclipse.papyrus.infra.gmfdiag.common;bundle-version="[3.0.0,4.0.0)",
org.eclipse.papyrus.infra.emf;bundle-version="[2.0.0,3.0.0)"
Bundle-Vendor: Eclipse Modeling Project
Bundle-ActivationPolicy: lazy
diff --git a/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.dnd/src/org/eclipse/papyrus/infra/gmfdiag/dnd/preferences/DropStrategyEditor.java b/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.dnd/src/org/eclipse/papyrus/infra/gmfdiag/dnd/preferences/DropStrategyEditor.java
index 826c4ea2ed4..cb7c9f5868a 100644
--- a/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.dnd/src/org/eclipse/papyrus/infra/gmfdiag/dnd/preferences/DropStrategyEditor.java
+++ b/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.dnd/src/org/eclipse/papyrus/infra/gmfdiag/dnd/preferences/DropStrategyEditor.java
@@ -119,16 +119,22 @@ public class DropStrategyEditor extends MultipleReferenceEditor {
if (selection instanceof IStructuredSelection && !selection.isEmpty()) {
IStructuredSelection structuredSelection = (IStructuredSelection) selection;
- Boolean isActive = findIsActive(structuredSelection);
-
- Iterator<?> iterator = structuredSelection.iterator();
- while (iterator.hasNext()) {
- Object element = iterator.next();
- if (element instanceof DropStrategy) {
- DropStrategy strategy = (DropStrategy) element;
- Button button = checkboxes.get(strategy);
-
- updateStrategy(strategy, button, isActive);
+ Activation isActive = findIsActive(structuredSelection);
+
+ if (isActive != Activation.UNDEFINED) {
+ Iterator<?> iterator = structuredSelection.iterator();
+ while (iterator.hasNext()) {
+ Object element = iterator.next();
+ if (element instanceof DropStrategy) {
+ DropStrategy strategy = (DropStrategy) element;
+ Button button = checkboxes.get(strategy);
+
+ if (isActive != Activation.TRUE) {
+ updateStrategy(strategy, button, true);
+ } else {
+ updateStrategy(strategy, button, false);
+ }
+ }
}
}
@@ -143,18 +149,26 @@ public class DropStrategyEditor extends MultipleReferenceEditor {
});
}
+ private enum Activation {
+ TRUE, FALSE, UNDEFINED
+ }
+
// Returns the new status of the first DropStrategy in the selection.
// Returns null if the selection doesn't contain any DropStrategy
- private Boolean findIsActive(IStructuredSelection selection) {
+ private Activation findIsActive(IStructuredSelection selection) {
Iterator<?> iterator = selection.iterator();
while (iterator.hasNext()) {
Object element = iterator.next();
if (element instanceof DropStrategy) {
boolean isActive = DropStrategyManager.instance.isActive((DropStrategy) element); // Current status
- return !isActive; // New status (Toggle)
+ if (isActive) {
+ return Activation.FALSE;
+ } else {
+ return Activation.TRUE;
+ }
}
}
- return null; // No DropStrategy found in the selection
+ return Activation.UNDEFINED; // No DropStrategy found in the selection
}
private void updateStrategy(DropStrategy strategy, Button button, boolean isActive) {
diff --git a/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.dnd/src/org/eclipse/papyrus/infra/gmfdiag/dnd/strategy/ExpansionElementDropStrategy.java b/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.dnd/src/org/eclipse/papyrus/infra/gmfdiag/dnd/strategy/ExpansionElementDropStrategy.java
index 79dcc714a75..9a13f98cfff 100644
--- a/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.dnd/src/org/eclipse/papyrus/infra/gmfdiag/dnd/strategy/ExpansionElementDropStrategy.java
+++ b/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.dnd/src/org/eclipse/papyrus/infra/gmfdiag/dnd/strategy/ExpansionElementDropStrategy.java
@@ -1,217 +1,217 @@
-/*****************************************************************************
- * Copyright (c) 2015 CEA LIST.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Camille Letavernier (CEA LIST) camille.letavernier@cea.fr - Initial API and implementation
- *****************************************************************************/
-package org.eclipse.papyrus.infra.gmfdiag.dnd.strategy;
-
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.gef.EditPart;
-import org.eclipse.gef.Request;
-import org.eclipse.gef.commands.Command;
-import org.eclipse.gmf.runtime.common.core.command.CompositeCommand;
-import org.eclipse.gmf.runtime.diagram.core.services.ViewService;
-import org.eclipse.gmf.runtime.diagram.ui.commands.CommandProxy;
-import org.eclipse.gmf.runtime.diagram.ui.commands.ICommandProxy;
-import org.eclipse.gmf.runtime.diagram.ui.editparts.DiagramEditPart;
-import org.eclipse.gmf.runtime.diagram.ui.editparts.GraphicalEditPart;
-import org.eclipse.gmf.runtime.diagram.ui.editparts.IGraphicalEditPart;
-import org.eclipse.gmf.runtime.emf.type.core.ElementTypeRegistry;
-import org.eclipse.gmf.runtime.emf.type.core.IElementMatcher;
-import org.eclipse.gmf.runtime.emf.type.core.IElementType;
-import org.eclipse.gmf.runtime.emf.type.core.IHintedType;
-import org.eclipse.gmf.runtime.emf.type.core.ISpecializationType;
-import org.eclipse.gmf.runtime.notation.Diagram;
-import org.eclipse.gmf.runtime.notation.View;
-import org.eclipse.papyrus.infra.gmfdiag.common.expansion.ChildrenListRepresentation;
-import org.eclipse.papyrus.infra.gmfdiag.common.expansion.DiagramExpansionSingleton;
-import org.eclipse.papyrus.infra.gmfdiag.common.expansion.DiagramExpansionsRegistry;
-import org.eclipse.papyrus.infra.gmfdiag.common.expansionmodel.AbstractRepresentation;
-import org.eclipse.papyrus.infra.gmfdiag.common.expansionmodel.Representation;
-import org.eclipse.papyrus.infra.gmfdiag.dnd.Activator;
-import org.eclipse.papyrus.infra.viewpoints.policy.ViewPrototype;
-import org.eclipse.swt.graphics.Image;
-
-/**
- * This strategy has been added in order allow dropping new element done by using expansion model
- * See Requirement #org.eclipse.papyrus.infra.gmfdiag.expansion.Req_020
- *
- */
-public class ExpansionElementDropStrategy extends TransactionalDropStrategy {
-
- private DiagramExpansionsRegistry diagramExpansionRegistry;
-
- /**
- * Constructor.
- *
- */
- public ExpansionElementDropStrategy() {
- this.diagramExpansionRegistry = DiagramExpansionSingleton.getInstance().getDiagramExpansionRegistry();
- }
-
- public String getLabel() {
- return "Expansion element drag and drop";
- }
-
- public String getID() {
- return "org.eclipse.papyrus.infra.gmfdiag.dnd.expansiondropsteategy";
- }
-
- public String getDescription() {
- return "This strategy is used to allow dropping of expansion of elements in extended diagrams.";
- }
-
- public Image getImage() {
- return null;
- }
-
- public int getPriority() {
- return 0;
- }
-
- public void setOptions(Map<String, Object> options) {
- // Nothing
- }
-
- /**
- * get the diagram type from a view.
- *
- * @param currentView
- * the current view
- * @return the diagram type it can be also a view point
- */
- protected String getDiagramType(View currentView) {
- Diagram diagram = currentView.getDiagram();
- String currentDiagramType = null;
- ViewPrototype viewPrototype = org.eclipse.papyrus.infra.gmfdiag.common.utils.DiagramUtils.getPrototype(diagram);
- if (viewPrototype != null) {
- currentDiagramType = viewPrototype.getLabel();
- } else {
- currentDiagramType = diagram.getType();
- }
- return currentDiagramType;
- }
-
- @Override
- public Command doGetCommand(Request request, final EditPart targetEditPart) {
-
- CompositeCommand cc = new CompositeCommand(getLabel());
- if (targetEditPart instanceof GraphicalEditPart) {
- IGraphicalEditPart graphicalEditPart = (IGraphicalEditPart) targetEditPart;
- String diagramType = getDiagramType(graphicalEditPart.getNotationView());
- ChildrenListRepresentation listRepresentation = diagramExpansionRegistry.mapChildreen.get(diagramType);
- // to the current diagram, a expansion is added.
- if (listRepresentation == null) {
- return null;
- }
- // look for all possible children for the current target.
- List<String> childrenList = null;
- if (graphicalEditPart instanceof DiagramEditPart) {
- childrenList = listRepresentation.parentChildrenRelation.get(diagramType);
- } else {
- childrenList = listRepresentation.parentChildrenRelation.get(graphicalEditPart.getNotationView().getType());
- }
-
- if (childrenList == null) {
- return null;
- }
- List<EObject> sourceElements = getSourceEObjects(request);
- if (sourceElements.size() == 0) {
- return null;
- }
- final List<EObject> valuesToAdd = new ArrayList<EObject>(sourceElements.size());
- // getList of accepted ElementType
- final ArrayList<ISpecializationType> acceptedElementTypes = new ArrayList<ISpecializationType>();
-
-
- for (String posibleID : childrenList) {
- AbstractRepresentation abstractRepresentation = listRepresentation.IDMap.get(posibleID);
- if (abstractRepresentation instanceof Representation) {
- String elementTypeID = ((Representation) abstractRepresentation).getGraphicalElementType();
- if (elementTypeID != null && elementTypeID != "") {
- final IElementType elementType = ElementTypeRegistry.getInstance().getType(elementTypeID);
- if (elementType instanceof ISpecializationType) {
- acceptedElementTypes.add((ISpecializationType) elementType);
- }
- }
- }
- }
- Activator.log.trace(Activator.EXPANSION_TRACE, "try to drop " + sourceElements + " inside " + graphicalEditPart.getNotationView().getType() + " accepts " + childrenList);
- // get the sub list of accepted source element that match to elementType
- for (EObject sourceElement : sourceElements) {
- // the source element must be a children of the container
- if (sourceElement.eContainer() == graphicalEditPart.resolveSemanticElement()) {
- Command cmd = null;
- int acceptedElementTypesIndex = 0;
- while (cmd == null && acceptedElementTypesIndex < acceptedElementTypes.size()) {
- final ISpecializationType iSpecializationType = acceptedElementTypes.get(acceptedElementTypesIndex);
- IElementMatcher matcher = iSpecializationType.getMatcher();
- IElementType[] superElementTypes = iSpecializationType.getSpecializedTypes();
- if (matcher == null) {
- int index = superElementTypes.length - 1;
- while (matcher == null && index > 0) {
- if (superElementTypes[index] instanceof ISpecializationType) {
- matcher = ((ISpecializationType) superElementTypes[index]).getMatcher();
- }
- index--;
- }
- }
- if (matcher != null && matcher.matches(sourceElement)) {
- cmd = addCommandDrop(targetEditPart, cc, valuesToAdd, sourceElement, iSpecializationType);
- } else if (matcher == null) {
- EClass eclass = iSpecializationType.getEClass();
- if (eclass.isSuperTypeOf(sourceElement.eClass())) {
- cmd = addCommandDrop(targetEditPart, cc, valuesToAdd, sourceElement, iSpecializationType);
- } else {
- acceptedElementTypesIndex++;
- }
- } else {
- acceptedElementTypesIndex++;
- }
-
- }
-
- }
- }
- }
-
- return cc.canExecute() ? new ICommandProxy(cc.reduce()) : null;
- }
-
- protected Command addCommandDrop(final EditPart targetEditPart, CompositeCommand cc, final List<EObject> valuesToAdd, EObject sourceElement, final ISpecializationType iSpecializationType) {
-
- valuesToAdd.add(sourceElement);
- Activator.log.trace(Activator.EXPANSION_TRACE, "try to drop command created for " + sourceElement + " " + iSpecializationType);
- Command cmd = new Command() {
- @Override
- public void execute() {
- if (iSpecializationType instanceof IHintedType) {
- ViewService.createNode(((GraphicalEditPart) targetEditPart).getNotationView(), valuesToAdd.get(0), ((IHintedType) iSpecializationType).getSemanticHint(), ((GraphicalEditPart) targetEditPart).getDiagramPreferencesHint());
- }
- }
-
- };
- cc.add(new CommandProxy(cmd));
- return cmd;
- }
-
-
- public String getCategoryID() {
- return "org.eclipse.papyrus.infra.gmfdiag.dnd.expansiondropsteategy";
- }
-
- public String getCategoryLabel() {
- return "Expansion element drag and drop";
- }
-}
+/*****************************************************************************
+ * Copyright (c) 2015 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Camille Letavernier (CEA LIST) camille.letavernier@cea.fr - Initial API and implementation
+ *****************************************************************************/
+package org.eclipse.papyrus.infra.gmfdiag.dnd.strategy;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.gef.EditPart;
+import org.eclipse.gef.Request;
+import org.eclipse.gef.commands.Command;
+import org.eclipse.gmf.runtime.common.core.command.CompositeCommand;
+import org.eclipse.gmf.runtime.diagram.core.services.ViewService;
+import org.eclipse.gmf.runtime.diagram.ui.commands.CommandProxy;
+import org.eclipse.gmf.runtime.diagram.ui.commands.ICommandProxy;
+import org.eclipse.gmf.runtime.diagram.ui.editparts.DiagramEditPart;
+import org.eclipse.gmf.runtime.diagram.ui.editparts.GraphicalEditPart;
+import org.eclipse.gmf.runtime.diagram.ui.editparts.IGraphicalEditPart;
+import org.eclipse.gmf.runtime.emf.type.core.ElementTypeRegistry;
+import org.eclipse.gmf.runtime.emf.type.core.IElementMatcher;
+import org.eclipse.gmf.runtime.emf.type.core.IElementType;
+import org.eclipse.gmf.runtime.emf.type.core.IHintedType;
+import org.eclipse.gmf.runtime.emf.type.core.ISpecializationType;
+import org.eclipse.gmf.runtime.notation.Diagram;
+import org.eclipse.gmf.runtime.notation.View;
+import org.eclipse.papyrus.infra.gmfdiag.common.expansion.ChildrenListRepresentation;
+import org.eclipse.papyrus.infra.gmfdiag.common.expansion.DiagramExpansionSingleton;
+import org.eclipse.papyrus.infra.gmfdiag.common.expansion.DiagramExpansionsRegistry;
+import org.eclipse.papyrus.infra.gmfdiag.common.expansionmodel.AbstractRepresentation;
+import org.eclipse.papyrus.infra.gmfdiag.common.expansionmodel.Representation;
+import org.eclipse.papyrus.infra.gmfdiag.dnd.Activator;
+import org.eclipse.papyrus.infra.viewpoints.policy.ViewPrototype;
+import org.eclipse.swt.graphics.Image;
+
+/**
+ * This strategy has been added in order allow dropping new element done by using expansion model
+ * See Requirement #org.eclipse.papyrus.infra.gmfdiag.expansion.Req_020
+ *
+ */
+public class ExpansionElementDropStrategy extends TransactionalDropStrategy {
+
+ private DiagramExpansionsRegistry diagramExpansionRegistry;
+
+ /**
+ * Constructor.
+ *
+ */
+ public ExpansionElementDropStrategy() {
+ this.diagramExpansionRegistry = DiagramExpansionSingleton.getInstance().getDiagramExpansionRegistry();
+ }
+
+ public String getLabel() {
+ return "Expansion element drag and drop";
+ }
+
+ public String getID() {
+ return "org.eclipse.papyrus.infra.gmfdiag.dnd.expansiondropsteategy";
+ }
+
+ public String getDescription() {
+ return "This strategy is used to allow dropping of expansion of elements in extended diagrams.";
+ }
+
+ public Image getImage() {
+ return null;
+ }
+
+ public int getPriority() {
+ return 0;
+ }
+
+ public void setOptions(Map<String, Object> options) {
+ // Nothing
+ }
+
+ /**
+ * get the diagram type from a view.
+ *
+ * @param currentView
+ * the current view
+ * @return the diagram type it can be also a view point
+ */
+ protected String getDiagramType(View currentView) {
+ Diagram diagram = currentView.getDiagram();
+ String currentDiagramType = null;
+ ViewPrototype viewPrototype = org.eclipse.papyrus.infra.gmfdiag.common.utils.DiagramUtils.getPrototype(diagram);
+ if (viewPrototype != null) {
+ currentDiagramType = viewPrototype.getLabel();
+ } else {
+ currentDiagramType = diagram.getType();
+ }
+ return currentDiagramType;
+ }
+
+ @Override
+ public Command doGetCommand(Request request, final EditPart targetEditPart) {
+
+ CompositeCommand cc = new CompositeCommand(getLabel());
+ if (targetEditPart instanceof GraphicalEditPart) {
+ IGraphicalEditPart graphicalEditPart = (IGraphicalEditPart) targetEditPart;
+ String diagramType = getDiagramType(graphicalEditPart.getNotationView());
+ ChildrenListRepresentation listRepresentation = diagramExpansionRegistry.mapChildreen.get(diagramType);
+ // to the current diagram, a expansion is added.
+ if (listRepresentation == null) {
+ return null;
+ }
+ // look for all possible children for the current target.
+ List<String> childrenList = null;
+ if (graphicalEditPart instanceof DiagramEditPart) {
+ childrenList = listRepresentation.parentChildrenRelation.get(diagramType);
+ } else {
+ childrenList = listRepresentation.parentChildrenRelation.get(graphicalEditPart.getNotationView().getType());
+ }
+
+ if (childrenList == null) {
+ return null;
+ }
+ List<EObject> sourceElements = getSourceEObjects(request);
+ if (sourceElements.size() == 0) {
+ return null;
+ }
+ final List<EObject> valuesToAdd = new ArrayList<EObject>(sourceElements.size());
+ // getList of accepted ElementType
+ final ArrayList<ISpecializationType> acceptedElementTypes = new ArrayList<ISpecializationType>();
+
+
+ for (String posibleID : childrenList) {
+ AbstractRepresentation abstractRepresentation = listRepresentation.IDMap.get(posibleID);
+ if (abstractRepresentation instanceof Representation) {
+ String elementTypeID = ((Representation) abstractRepresentation).getGraphicalElementType();
+ if (elementTypeID != null && !elementTypeID.isEmpty()) {
+ final IElementType elementType = ElementTypeRegistry.getInstance().getType(elementTypeID);
+ if (elementType instanceof ISpecializationType) {
+ acceptedElementTypes.add((ISpecializationType) elementType);
+ }
+ }
+ }
+ }
+ Activator.log.trace(Activator.EXPANSION_TRACE, "try to drop " + sourceElements + " inside " + graphicalEditPart.getNotationView().getType() + " accepts " + childrenList);
+ // get the sub list of accepted source element that match to elementType
+ for (EObject sourceElement : sourceElements) {
+ // the source element must be a children of the container
+ if (sourceElement.eContainer() == graphicalEditPart.resolveSemanticElement()) {
+ Command cmd = null;
+ int acceptedElementTypesIndex = 0;
+ while (cmd == null && acceptedElementTypesIndex < acceptedElementTypes.size()) {
+ final ISpecializationType iSpecializationType = acceptedElementTypes.get(acceptedElementTypesIndex);
+ IElementMatcher matcher = iSpecializationType.getMatcher();
+ IElementType[] superElementTypes = iSpecializationType.getSpecializedTypes();
+ if (matcher == null) {
+ int index = superElementTypes.length - 1;
+ while (matcher == null && index > 0) {
+ if (superElementTypes[index] instanceof ISpecializationType) {
+ matcher = ((ISpecializationType) superElementTypes[index]).getMatcher();
+ }
+ index--;
+ }
+ }
+ if (matcher != null && matcher.matches(sourceElement)) {
+ cmd = addCommandDrop(targetEditPart, cc, valuesToAdd, sourceElement, iSpecializationType);
+ } else if (matcher == null) {
+ EClass eclass = iSpecializationType.getEClass();
+ if (eclass.isSuperTypeOf(sourceElement.eClass())) {
+ cmd = addCommandDrop(targetEditPart, cc, valuesToAdd, sourceElement, iSpecializationType);
+ } else {
+ acceptedElementTypesIndex++;
+ }
+ } else {
+ acceptedElementTypesIndex++;
+ }
+
+ }
+
+ }
+ }
+ }
+
+ return cc.canExecute() ? new ICommandProxy(cc.reduce()) : null;
+ }
+
+ protected Command addCommandDrop(final EditPart targetEditPart, CompositeCommand cc, final List<EObject> valuesToAdd, EObject sourceElement, final ISpecializationType iSpecializationType) {
+
+ valuesToAdd.add(sourceElement);
+ Activator.log.trace(Activator.EXPANSION_TRACE, "try to drop command created for " + sourceElement + " " + iSpecializationType);
+ Command cmd = new Command() {
+ @Override
+ public void execute() {
+ if (iSpecializationType instanceof IHintedType) {
+ ViewService.createNode(((GraphicalEditPart) targetEditPart).getNotationView(), valuesToAdd.get(0), ((IHintedType) iSpecializationType).getSemanticHint(), ((GraphicalEditPart) targetEditPart).getDiagramPreferencesHint());
+ }
+ }
+
+ };
+ cc.add(new CommandProxy(cmd));
+ return cmd;
+ }
+
+
+ public String getCategoryID() {
+ return "org.eclipse.papyrus.infra.gmfdiag.dnd.expansiondropsteategy";
+ }
+
+ public String getCategoryLabel() {
+ return "Expansion element drag and drop";
+ }
+}
diff --git a/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.export/META-INF/MANIFEST.MF b/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.export/META-INF/MANIFEST.MF
index 81b81099c9a..8b2ea8f5430 100644
--- a/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.export/META-INF/MANIFEST.MF
+++ b/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.export/META-INF/MANIFEST.MF
@@ -7,12 +7,12 @@ Export-Package: org.eclipse.papyrus.infra.gmfdiag.export,
org.eclipse.papyrus.infra.gmfdiag.export.utils,
org.eclipse.papyrus.infra.gmfdiag.export.wizard
Require-Bundle: org.eclipse.gmf.runtime.diagram.ui.render;bundle-version="[1.7.0,2.0.0)",
- org.eclipse.papyrus.infra.gmfdiag.css;bundle-version="[1.2.0,2.0.0)",
+ org.eclipse.papyrus.infra.gmfdiag.css;bundle-version="[2.0.0,3.0.0)",
org.eclipse.papyrus.infra.services.validation;bundle-version="[2.0.0,3.0.0)",
org.eclipse.papyrus.infra.services.semantic;bundle-version="[1.2.0,2.0.0)"
Bundle-Vendor: %providerName
Bundle-ActivationPolicy: lazy
-Bundle-Version: 1.2.0.qualifier
+Bundle-Version: 2.0.0.qualifier
Bundle-Localization: plugin
Bundle-Name: %pluginName
Bundle-Activator: org.eclipse.papyrus.infra.gmfdiag.export.Activator
diff --git a/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.export/pom.xml b/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.export/pom.xml
index a06e4b6f4f1..f7f953048b2 100644
--- a/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.export/pom.xml
+++ b/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.export/pom.xml
@@ -1,12 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
-<project>
- <modelVersion>4.0.0</modelVersion>
- <parent>
- <groupId>org.eclipse.papyrus</groupId>
- <artifactId>org.eclipse.papyrus.infra-gmfdiag</artifactId>
- <version>0.0.1-SNAPSHOT</version>
- </parent>
- <artifactId>org.eclipse.papyrus.infra.gmfdiag.export</artifactId>
- <version>1.2.0-SNAPSHOT</version>
- <packaging>eclipse-plugin</packaging>
-</project>
+<project>
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>org.eclipse.papyrus</groupId>
+ <artifactId>org.eclipse.papyrus.infra-gmfdiag</artifactId>
+ <version>0.0.1-SNAPSHOT</version>
+ </parent>
+ <artifactId>org.eclipse.papyrus.infra.gmfdiag.export</artifactId>
+ <version>2.0.0-SNAPSHOT</version>
+ <packaging>eclipse-plugin</packaging>
+</project> \ No newline at end of file
diff --git a/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.export/src/org/eclipse/papyrus/infra/gmfdiag/export/Activator.java b/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.export/src/org/eclipse/papyrus/infra/gmfdiag/export/Activator.java
index 53d61a348f9..ea6720645e3 100644
--- a/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.export/src/org/eclipse/papyrus/infra/gmfdiag/export/Activator.java
+++ b/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.export/src/org/eclipse/papyrus/infra/gmfdiag/export/Activator.java
@@ -1,151 +1,67 @@
-/*******************************************************************************
- * Copyright (c) 2005 Anyware Technologies
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * David Sciamma (Anyware Technologies) - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.papyrus.infra.gmfdiag.export;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.papyrus.infra.core.log.LogHelper;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.IWorkbench;
-import org.eclipse.ui.IWorkbenchPage;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.plugin.AbstractUIPlugin;
-import org.osgi.framework.BundleContext;
-
-/**
- * The activator class controls the plug-in life cycle
- */
-public class Activator extends AbstractUIPlugin {
-
- // The plug-in ID
- public static final String PLUGIN_ID = "org.eclipse.papyrus.infra.gmfdiag.export"; //$NON-NLS-1$
-
- // The shared instance
- private static Activator plugin;
-
- public static LogHelper log;
-
- /**
- * The constructor
- */
- public Activator() {
- plugin = this;
- }
-
- /**
- * @see org.eclipse.ui.plugin.AbstractUIPlugin#start(org.osgi.framework.BundleContext)
- */
- @Override
- public void start(BundleContext context) throws Exception {
- super.start(context);
- log = new LogHelper(this);
- }
-
- /**
- * @see org.eclipse.ui.plugin.AbstractUIPlugin#stop(org.osgi.framework.BundleContext)
- */
- @Override
- public void stop(BundleContext context) throws Exception {
- plugin = null;
- super.stop(context);
- }
-
- /**
- * Returns the shared instance
- *
- * @return the shared instance
- */
- public static Activator getDefault() {
- return plugin;
- }
-
- /**
- * Returns the active workbench shell
- *
- * @return the active workbench shell
- */
- public static Shell getActiveWorkbenchShell() {
- IWorkbenchWindow workBenchWindow = getActiveWorkbenchWindow();
- if (workBenchWindow == null) {
- return null;
- }
- return workBenchWindow.getShell();
- }
-
- /**
- * Returns the active workbench page or <code>null</code> if none.
- *
- * @return the active workbench page
- */
- public static IWorkbenchPage getActivePage() {
- IWorkbenchWindow window = getActiveWorkbenchWindow();
- if (window != null) {
- return window.getActivePage();
- }
- return null;
- }
-
- /**
- * Returns the active workbench window
- *
- * @return the active workbench window
- */
- public static IWorkbenchWindow getActiveWorkbenchWindow() {
- if (getDefault() == null) {
- return null;
- }
- IWorkbench workBench = getDefault().getWorkbench();
- if (workBench == null) {
- return null;
- }
- return workBench.getActiveWorkbenchWindow();
- }
-
- /**
- * Display a dialog box with the specified level
- *
- * @param title
- * title dialog box
- * @param message
- * message displayed
- * @param level
- * message level
- */
- public static void displayDialog(final String title, final String message, final int level) {
- if (level == IStatus.INFO) {
- Display.getDefault().asyncExec(new Runnable() {
-
- @Override
- public void run() {
- MessageDialog.openInformation(getActiveWorkbenchShell(), (title == null) ? "Information" : title, (message == null) ? "" : message);
- }
- });
- } else if (level == IStatus.WARNING) {
- Display.getDefault().asyncExec(new Runnable() {
-
- @Override
- public void run() {
- MessageDialog.openWarning(getActiveWorkbenchShell(), (title == null) ? "Warning" : title, (message == null) ? "" : message);
- }
- });
- } else if (level == IStatus.ERROR) {
- Display.getDefault().asyncExec(new Runnable() {
-
- @Override
- public void run() {
- MessageDialog.openError(getActiveWorkbenchShell(), (title == null) ? "Error" : title, (message == null) ? "" : message);
- }
- });
- }
- }
-}
+/*******************************************************************************
+ * Copyright (c) 2005 Anyware Technologies
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * David Sciamma (Anyware Technologies) - initial API and implementation
+ *******************************************************************************/
+
+package org.eclipse.papyrus.infra.gmfdiag.export;
+
+import org.eclipse.papyrus.infra.core.log.LogHelper;
+import org.eclipse.ui.plugin.AbstractUIPlugin;
+import org.osgi.framework.BundleContext;
+
+/**
+ * The activator class controls the plug-in life cycle
+ */
+public class Activator extends AbstractUIPlugin {
+
+ // The plug-in ID
+ public static final String PLUGIN_ID = "org.eclipse.papyrus.infra.gmfdiag.export"; //$NON-NLS-1$
+
+ // The shared instance
+ private static Activator plugin;
+
+ public static LogHelper log;
+
+ /**
+ * The constructor
+ */
+ public Activator() {
+ }
+
+ /**
+ * @see org.eclipse.ui.plugin.AbstractUIPlugin#start(org.osgi.framework.BundleContext)
+ */
+ @Override
+ public void start(BundleContext context) throws Exception {
+ super.start(context);
+ plugin = this;
+ log = new LogHelper(this);
+ }
+
+ /**
+ * @see org.eclipse.ui.plugin.AbstractUIPlugin#stop(org.osgi.framework.BundleContext)
+ */
+ @Override
+ public void stop(BundleContext context) throws Exception {
+ log = null;
+ plugin = null;
+ super.stop(context);
+ }
+
+ /**
+ * Returns the shared instance
+ *
+ * @return the shared instance
+ */
+ public static Activator getDefault() {
+ return plugin;
+ }
+
+
+}
diff --git a/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.export/src/org/eclipse/papyrus/infra/gmfdiag/export/DialogDisplayUtils.java b/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.export/src/org/eclipse/papyrus/infra/gmfdiag/export/DialogDisplayUtils.java
new file mode 100644
index 00000000000..aedce33140b
--- /dev/null
+++ b/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.export/src/org/eclipse/papyrus/infra/gmfdiag/export/DialogDisplayUtils.java
@@ -0,0 +1,104 @@
+/*****************************************************************************
+ * Copyright (c) 2016 CEA LIST and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.infra.gmfdiag.export;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.jface.dialogs.MessageDialog;
+import org.eclipse.swt.widgets.Display;
+import org.eclipse.swt.widgets.Shell;
+import org.eclipse.ui.IWorkbench;
+import org.eclipse.ui.IWorkbenchPage;
+import org.eclipse.ui.IWorkbenchWindow;
+
+public class DialogDisplayUtils {
+ /**
+ * Returns the active workbench shell
+ *
+ * @return the active workbench shell
+ */
+ public static Shell getActiveWorkbenchShell() {
+ IWorkbenchWindow workBenchWindow = getActiveWorkbenchWindow();
+ if (workBenchWindow == null) {
+ return null;
+ }
+ return workBenchWindow.getShell();
+ }
+
+ /**
+ * Returns the active workbench page or <code>null</code> if none.
+ *
+ * @return the active workbench page
+ */
+ public static IWorkbenchPage getActivePage() {
+ IWorkbenchWindow window = getActiveWorkbenchWindow();
+ if (window != null) {
+ return window.getActivePage();
+ }
+ return null;
+ }
+
+ /**
+ * Returns the active workbench window
+ *
+ * @return the active workbench window
+ */
+ public static IWorkbenchWindow getActiveWorkbenchWindow() {
+ if (Activator.getDefault() == null) {
+ return null;
+ }
+ IWorkbench workBench = Activator.getDefault().getWorkbench();
+ if (workBench == null) {
+ return null;
+ }
+ return workBench.getActiveWorkbenchWindow();
+ }
+
+ /**
+ * Display a dialog box with the specified level
+ *
+ * @param title
+ * title dialog box
+ * @param message
+ * message displayed
+ * @param level
+ * message level
+ */
+ public static void displayDialog(final String title, final String message, final int level) {
+ if (level == IStatus.INFO) {
+ Display.getDefault().asyncExec(new Runnable() {
+
+ @Override
+ public void run() {
+ MessageDialog.openInformation(getActiveWorkbenchShell(), (title == null) ? "Information" : title, (message == null) ? "" : message);
+ }
+ });
+ } else if (level == IStatus.WARNING) {
+ Display.getDefault().asyncExec(new Runnable() {
+
+ @Override
+ public void run() {
+ MessageDialog.openWarning(getActiveWorkbenchShell(), (title == null) ? "Warning" : title, (message == null) ? "" : message);
+ }
+ });
+ } else if (level == IStatus.ERROR) {
+ Display.getDefault().asyncExec(new Runnable() {
+
+ @Override
+ public void run() {
+ MessageDialog.openError(getActiveWorkbenchShell(), (title == null) ? "Error" : title, (message == null) ? "" : message);
+ }
+ });
+ }
+ }
+}
diff --git a/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.export/src/org/eclipse/papyrus/infra/gmfdiag/export/actions/ExportAllDiagramsAction.java b/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.export/src/org/eclipse/papyrus/infra/gmfdiag/export/actions/ExportAllDiagramsAction.java
index 727a6bb4b97..af901b2b516 100644
--- a/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.export/src/org/eclipse/papyrus/infra/gmfdiag/export/actions/ExportAllDiagramsAction.java
+++ b/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.export/src/org/eclipse/papyrus/infra/gmfdiag/export/actions/ExportAllDiagramsAction.java
@@ -27,7 +27,7 @@ import org.eclipse.papyrus.infra.core.resource.ModelSet;
import org.eclipse.papyrus.infra.core.resource.sasheditor.DiModel;
import org.eclipse.papyrus.infra.core.services.ServiceException;
import org.eclipse.papyrus.infra.emf.utils.ResourceUtils;
-import org.eclipse.papyrus.infra.gmfdiag.export.Activator;
+import org.eclipse.papyrus.infra.gmfdiag.export.DialogDisplayUtils;
import org.eclipse.papyrus.infra.gmfdiag.export.engine.ExportAllDiagramsEngine;
import org.eclipse.papyrus.infra.gmfdiag.export.utils.SelectionHelper;
import org.eclipse.papyrus.infra.ui.util.ServiceUtilsForSelection;
@@ -117,7 +117,7 @@ public class ExportAllDiagramsAction extends AbstractHandler {
}
- ExportAllDiagramsDialog exportPopup = new ExportAllDiagramsDialog(Activator.getActiveWorkbenchShell(), uriFile);
+ ExportAllDiagramsDialog exportPopup = new ExportAllDiagramsDialog(DialogDisplayUtils.getActiveWorkbenchShell(), uriFile);
if (exportPopup.open() == Window.OK) {
// Complete export configuration
diff --git a/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.export/src/org/eclipse/papyrus/infra/gmfdiag/export/actions/ExportComposite.java b/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.export/src/org/eclipse/papyrus/infra/gmfdiag/export/actions/ExportComposite.java
index 8a3e8168257..f58f4591de4 100644
--- a/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.export/src/org/eclipse/papyrus/infra/gmfdiag/export/actions/ExportComposite.java
+++ b/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.export/src/org/eclipse/papyrus/infra/gmfdiag/export/actions/ExportComposite.java
@@ -20,6 +20,7 @@ import org.eclipse.emf.common.util.URI;
import org.eclipse.gmf.runtime.diagram.ui.image.ImageFileFormat;
import org.eclipse.jface.window.Window;
import org.eclipse.papyrus.infra.gmfdiag.export.Activator;
+import org.eclipse.papyrus.infra.gmfdiag.export.DialogDisplayUtils;
import org.eclipse.papyrus.infra.gmfdiag.export.messages.Messages;
import org.eclipse.swt.SWT;
import org.eclipse.swt.events.SelectionAdapter;
@@ -42,7 +43,7 @@ public class ExportComposite extends Composite {
private Text outputPathTxt;
private Button outputDirectoryBtn;
-
+
private Combo outputFormatCb;
private Button btnCheckButton;
@@ -128,7 +129,7 @@ public class ExportComposite extends Composite {
@Override
public void widgetSelected(SelectionEvent e) {
- ContainerSelectionDialog csDialog = new ContainerSelectionDialog(Activator.getActiveWorkbenchShell(), ResourcesPlugin.getWorkspace().getRoot(), true, Messages.ExportAllDiagramsDialog_3);
+ ContainerSelectionDialog csDialog = new ContainerSelectionDialog(DialogDisplayUtils.getActiveWorkbenchShell(), ResourcesPlugin.getWorkspace().getRoot(), true, Messages.ExportAllDiagramsDialog_3);
if (csDialog.open() == Window.OK) {
@@ -178,7 +179,7 @@ public class ExportComposite extends Composite {
Activator.log.error(e);
}
}
- if(outputDirectory ==null) {
+ if (outputDirectory == null) {
Activator.log.error("Impossible to find the output directory", null);
return;
}
diff --git a/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.export/src/org/eclipse/papyrus/infra/gmfdiag/export/engine/ExportAllDiagramsEngine.java b/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.export/src/org/eclipse/papyrus/infra/gmfdiag/export/engine/ExportAllDiagramsEngine.java
index a2299d6fb42..00e6e602cdb 100644
--- a/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.export/src/org/eclipse/papyrus/infra/gmfdiag/export/engine/ExportAllDiagramsEngine.java
+++ b/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.export/src/org/eclipse/papyrus/infra/gmfdiag/export/engine/ExportAllDiagramsEngine.java
@@ -64,6 +64,7 @@ import org.eclipse.papyrus.infra.emf.utils.ServiceUtilsForResourceSet;
import org.eclipse.papyrus.infra.gmfdiag.css.service.CssMarkerEventManagerService;
import org.eclipse.papyrus.infra.gmfdiag.css.service.MarkerToPseudoSelectorMappingService;
import org.eclipse.papyrus.infra.gmfdiag.export.Activator;
+import org.eclipse.papyrus.infra.gmfdiag.export.DialogDisplayUtils;
import org.eclipse.papyrus.infra.gmfdiag.export.actions.ExportAllDiagramsParameter;
import org.eclipse.papyrus.infra.gmfdiag.export.messages.Messages;
import org.eclipse.papyrus.infra.services.decoration.DecorationService;
@@ -465,9 +466,9 @@ public class ExportAllDiagramsEngine {
@Override
public void run() {
if (diagnostic.getSeverity() == Diagnostic.OK) {
- MessageDialog.openInformation(Activator.getActiveWorkbenchShell(), Messages.ExportAllDiagrams_25, Messages.ExportAllDiagrams_26 + exportParameter.getOutputDirectoryPath());
+ MessageDialog.openInformation(DialogDisplayUtils.getActiveWorkbenchShell(), Messages.ExportAllDiagrams_25, Messages.ExportAllDiagrams_26 + exportParameter.getOutputDirectoryPath());
} else {
- DiagnosticDialog.open(Activator.getActiveWorkbenchShell(), Messages.ExportAllDiagrams_27, "", diagnostic); //$NON-NLS-1$
+ DiagnosticDialog.open(DialogDisplayUtils.getActiveWorkbenchShell(), Messages.ExportAllDiagrams_27, "", diagnostic); //$NON-NLS-1$
}
}
});
diff --git a/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.export/src/org/eclipse/papyrus/infra/gmfdiag/export/wizard/ExportAllWizard.java b/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.export/src/org/eclipse/papyrus/infra/gmfdiag/export/wizard/ExportAllWizard.java
index 0bf0faa0795..8a3af3115b6 100644
--- a/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.export/src/org/eclipse/papyrus/infra/gmfdiag/export/wizard/ExportAllWizard.java
+++ b/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.export/src/org/eclipse/papyrus/infra/gmfdiag/export/wizard/ExportAllWizard.java
@@ -118,19 +118,26 @@ public class ExportAllWizard extends Wizard implements IExportWizard {
if (file != null) {
IContainer parentResource = file.getParent();
parentResource = ResourcesPlugin.getWorkspace().getRoot().getContainerForLocation(parentResource.getLocation());
- uriFile = URI.createPlatformResourceURI(parentResource.getLocation().toString(), true);
-
- }
-
- if (parameter == null) {
- pageError = new ExportDiagramsErrorPage();
- addPage(pageError);
+ if (parentResource != null) {
+ uriFile = URI.createPlatformResourceURI(parentResource.getLocation().toString(), true);
+
+ if (parameter == null) {
+ addErrorPage();
+ } else {
+ page = new ExportDiagramsPage(uriFile);
+ addPage(page);
+ }
+ } else {
+ addErrorPage();
+ }
} else {
- page = new ExportDiagramsPage(uriFile);
- addPage(page);
+ addErrorPage();
}
+ }
-
+ private void addErrorPage() {
+ pageError = new ExportDiagramsErrorPage();
+ addPage(pageError);
}
/**
diff --git a/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.gef/META-INF/MANIFEST.MF b/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.gef/META-INF/MANIFEST.MF
index 7d1b7a75d07..521be1b2c0e 100644
--- a/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.gef/META-INF/MANIFEST.MF
+++ b/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.gef/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@ Manifest-Version: 1.0
Export-Package: org.eclipse.papyrus.infra.gmfdiag.gef.internal;x-internal:=true,
org.eclipse.papyrus.infra.gmfdiag.gef.internal.editor;x-internal:=true
Require-Bundle: org.eclipse.gef;bundle-version="[3.11.0,4.0.0)",
- org.eclipse.papyrus.infra.ui;bundle-version="[1.2.0,2.0.0)"
+ org.eclipse.papyrus.infra.ui;bundle-version="[2.0.0,3.0.0)"
Bundle-Vendor: %providerName
Bundle-ActivationPolicy: lazy
Bundle-ClassPath: .
diff --git a/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.gmfmenu.filter/META-INF/MANIFEST.MF b/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.gmfmenu.filter/META-INF/MANIFEST.MF
index 2cee761f7be..24b12fac28c 100644
--- a/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.gmfmenu.filter/META-INF/MANIFEST.MF
+++ b/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.gmfmenu.filter/META-INF/MANIFEST.MF
@@ -1,6 +1,6 @@
Manifest-Version: 1.0
Require-Bundle: org.eclipse.gmf.runtime.diagram.ui.providers;bundle-version="[1.7.0,2.0.0)",
- org.eclipse.papyrus.infra.gmfdiag.common;bundle-version="[2.0.0,3.0.0)"
+ org.eclipse.papyrus.infra.gmfdiag.common;bundle-version="[3.0.0,4.0.0)"
Export-Package: org.eclipse.papyrus.infra.gmfdiag.gmfmenu.filter
Bundle-Vendor: %Bundle-Vendor
Bundle-Version: 1.2.0.qualifier
diff --git a/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.hyperlink/META-INF/MANIFEST.MF b/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.hyperlink/META-INF/MANIFEST.MF
index 1dde2f12f9c..6e7e082e88d 100644
--- a/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.hyperlink/META-INF/MANIFEST.MF
+++ b/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.hyperlink/META-INF/MANIFEST.MF
@@ -1,8 +1,8 @@
Manifest-Version: 1.0
-Require-Bundle: org.eclipse.papyrus.infra.hyperlink;bundle-version="[2.0.0,3.0.0)";visibility:=reexport,
- org.eclipse.papyrus.infra.gmfdiag.common;bundle-version="[2.0.0,3.0.0)";visibility:=reexport,
- org.eclipse.papyrus.infra.gmfdiag.navigation;bundle-version="[1.2.0,2.0.0)";visibility:=reexport,
- org.eclipse.papyrus.infra.gmfdiag.preferences;bundle-version="[2.0.0,3.0.0)",
+Require-Bundle: org.eclipse.papyrus.infra.hyperlink;bundle-version="[3.0.0,4.0.0)";visibility:=reexport,
+ org.eclipse.papyrus.infra.gmfdiag.common;bundle-version="[3.0.0,4.0.0)";visibility:=reexport,
+ org.eclipse.papyrus.infra.gmfdiag.navigation;bundle-version="[2.0.0,3.0.0)";visibility:=reexport,
+ org.eclipse.papyrus.infra.gmfdiag.preferences;bundle-version="[3.0.0,4.0.0)",
org.eclipse.papyrus.infra.gmfdiag.dnd;bundle-version="[1.2.0,2.0.0)"
Export-Package: org.eclipse.papyrus.infra.gmfdiag.hyperlink,
org.eclipse.papyrus.infra.gmfdiag.hyperlink.editpolicies,
@@ -11,7 +11,7 @@ Export-Package: org.eclipse.papyrus.infra.gmfdiag.hyperlink,
org.eclipse.papyrus.infra.gmfdiag.hyperlink.ui
Bundle-Vendor: Eclipse Modeling Project
Bundle-ActivationPolicy: lazy
-Bundle-Version: 2.0.0.qualifier
+Bundle-Version: 3.0.0.qualifier
Bundle-Name: GMF Diagram Hyperlink
Bundle-ManifestVersion: 2
Bundle-Activator: org.eclipse.papyrus.infra.gmfdiag.hyperlink.Activator
diff --git a/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.hyperlink/pom.xml b/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.hyperlink/pom.xml
index 7cc1de4a243..e18c96032eb 100644
--- a/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.hyperlink/pom.xml
+++ b/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.hyperlink/pom.xml
@@ -1,12 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
-<project>
- <modelVersion>4.0.0</modelVersion>
- <parent>
- <groupId>org.eclipse.papyrus</groupId>
- <artifactId>org.eclipse.papyrus.infra-gmfdiag</artifactId>
- <version>0.0.1-SNAPSHOT</version>
- </parent>
- <artifactId>org.eclipse.papyrus.infra.gmfdiag.hyperlink</artifactId>
- <version>2.0.0-SNAPSHOT</version>
- <packaging>eclipse-plugin</packaging>
+<project>
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>org.eclipse.papyrus</groupId>
+ <artifactId>org.eclipse.papyrus.infra-gmfdiag</artifactId>
+ <version>0.0.1-SNAPSHOT</version>
+ </parent>
+ <artifactId>org.eclipse.papyrus.infra.gmfdiag.hyperlink</artifactId>
+ <version>3.0.0-SNAPSHOT</version>
+ <packaging>eclipse-plugin</packaging>
</project> \ No newline at end of file
diff --git a/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.hyperlink/src/org/eclipse/papyrus/infra/gmfdiag/hyperlink/editpolicies/NavigationEditPolicy.java b/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.hyperlink/src/org/eclipse/papyrus/infra/gmfdiag/hyperlink/editpolicies/NavigationEditPolicy.java
index 72e40231f41..cfc4ccd495d 100644
--- a/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.hyperlink/src/org/eclipse/papyrus/infra/gmfdiag/hyperlink/editpolicies/NavigationEditPolicy.java
+++ b/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.hyperlink/src/org/eclipse/papyrus/infra/gmfdiag/hyperlink/editpolicies/NavigationEditPolicy.java
@@ -16,7 +16,6 @@
package org.eclipse.papyrus.infra.gmfdiag.hyperlink.editpolicies;
import java.util.ArrayList;
-import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
@@ -47,7 +46,6 @@ import org.eclipse.papyrus.infra.emf.gmf.util.CommandUtils;
import org.eclipse.papyrus.infra.emf.utils.ServiceUtilsForEObject;
import org.eclipse.papyrus.infra.gmfdiag.common.utils.ServiceUtilsForEditPart;
import org.eclipse.papyrus.infra.gmfdiag.hyperlink.Activator;
-import org.eclipse.papyrus.infra.gmfdiag.navigation.NavigableElement;
import org.eclipse.papyrus.infra.gmfdiag.navigation.preference.INavigationPreferenceConstant;
import org.eclipse.papyrus.infra.hyperlink.helper.AbstractHyperLinkHelper;
import org.eclipse.papyrus.infra.hyperlink.helper.HyperLinkHelperFactory;
@@ -111,8 +109,6 @@ public class NavigationEditPolicy extends OpenEditPolicy {
// defaultHyperlinks
final ArrayList<HyperLinkObject> defaultHyperLinkObject = new ArrayList<HyperLinkObject>();
final ArrayList<HyperLinkObject> hyperLinkObjectList;
- // Diagrams that will be found by using heuristic
- HashMap<NavigableElement, List<Diagram>> existingDiagrams = new HashMap<NavigableElement, List<Diagram>>();
if (semanticElement == null) {
return UnexecutableCommand.INSTANCE;
diff --git a/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.menu/META-INF/MANIFEST.MF b/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.menu/META-INF/MANIFEST.MF
index 5490a46d2cf..2f8e868d68c 100644
--- a/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.menu/META-INF/MANIFEST.MF
+++ b/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.menu/META-INF/MANIFEST.MF
@@ -1,7 +1,7 @@
Manifest-Version: 1.0
-Require-Bundle: org.eclipse.papyrus.infra.gmfdiag.common;bundle-version="[2.0.0,3.0.0)",
+Require-Bundle: org.eclipse.papyrus.infra.gmfdiag.common;bundle-version="[3.0.0,4.0.0)",
org.eclipse.gmf.runtime.diagram.ui.render;bundle-version="[1.7.0,2.0.0)",
- org.eclipse.papyrus.infra.emf.readonly;bundle-version="[2.0.0,3.0.0)"
+ org.eclipse.papyrus.infra.emf.readonly;bundle-version="[3.0.0,4.0.0)"
Export-Package: org.eclipse.papyrus.infra.gmfdiag.menu,
org.eclipse.papyrus.infra.gmfdiag.menu.handlers,
org.eclipse.papyrus.infra.gmfdiag.menu.utils
diff --git a/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.modelexplorer/META-INF/MANIFEST.MF b/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.modelexplorer/META-INF/MANIFEST.MF
index ed6b314cd4a..60578c27e04 100644
--- a/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.modelexplorer/META-INF/MANIFEST.MF
+++ b/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.modelexplorer/META-INF/MANIFEST.MF
@@ -1,9 +1,9 @@
Manifest-Version: 1.0
-Require-Bundle: org.eclipse.papyrus.infra.gmfdiag.common;bundle-version="[2.0.0,3.0.0)",
+Require-Bundle: org.eclipse.papyrus.infra.gmfdiag.common;bundle-version="[3.0.0,4.0.0)",
org.eclipse.papyrus.infra.emf;bundle-version="[2.0.0,3.0.0)",
org.eclipse.papyrus.infra.emf;bundle-version="[2.0.0,3.0.0)",
- org.eclipse.papyrus.infra.gmfdiag.common;bundle-version="[2.0.0,3.0.0)",
- org.eclipse.papyrus.views.modelexplorer;bundle-version="[2.0.0,3.0.0)"
+ org.eclipse.papyrus.infra.gmfdiag.common;bundle-version="[3.0.0,4.0.0)",
+ org.eclipse.papyrus.views.modelexplorer;bundle-version="[3.0.0,4.0.0)"
Bundle-Vendor: %providerName
Bundle-ActivationPolicy: lazy
Bundle-Version: 1.2.0.qualifier
diff --git a/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.modelexplorer/src/org/eclipse/papyrus/infra/gmfdiag/modelexplorer/handlers/RenameDiagramHandler.java b/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.modelexplorer/src/org/eclipse/papyrus/infra/gmfdiag/modelexplorer/handlers/RenameDiagramHandler.java
index 9f6e58a705e..c8b292288bb 100644
--- a/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.modelexplorer/src/org/eclipse/papyrus/infra/gmfdiag/modelexplorer/handlers/RenameDiagramHandler.java
+++ b/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.modelexplorer/src/org/eclipse/papyrus/infra/gmfdiag/modelexplorer/handlers/RenameDiagramHandler.java
@@ -32,6 +32,7 @@ import org.eclipse.jface.window.Window;
import org.eclipse.papyrus.infra.emf.utils.EMFHelper;
import org.eclipse.papyrus.infra.gmfdiag.modelexplorer.messages.Messages;
import org.eclipse.papyrus.views.modelexplorer.DirectEditorEditingSupport;
+import org.eclipse.papyrus.infra.emf.gmf.command.GMFtoEMFCommandWrapper;
import org.eclipse.swt.widgets.Display;
/**
@@ -69,7 +70,7 @@ public class RenameDiagramHandler extends AbstractDiagramCommandHandler {
}
}
};
- return new org.eclipse.papyrus.commands.wrappers.GMFtoEMFCommandWrapper(cmd);
+ return new GMFtoEMFCommandWrapper(cmd);
}
}
return UnexecutableCommand.INSTANCE;
diff --git a/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.navigation/META-INF/MANIFEST.MF b/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.navigation/META-INF/MANIFEST.MF
index dcf26dc0f4a..38d7348e08b 100644
--- a/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.navigation/META-INF/MANIFEST.MF
+++ b/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.navigation/META-INF/MANIFEST.MF
@@ -1,11 +1,11 @@
Manifest-Version: 1.0
-Require-Bundle: org.eclipse.papyrus.infra.gmfdiag.preferences;bundle-version="[2.0.0,3.0.0)",
- org.eclipse.papyrus.infra.gmfdiag.common;bundle-version="[2.0.0,3.0.0)",
+Require-Bundle: org.eclipse.papyrus.infra.gmfdiag.preferences;bundle-version="[3.0.0,4.0.0)",
+ org.eclipse.papyrus.infra.gmfdiag.common;bundle-version="[3.0.0,4.0.0)",
org.eclipse.papyrus.infra.widgets.toolbox;bundle-version="[1.2.0,2.0.0)",
org.eclipse.ui.navigator;bundle-version="[3.6.0,4.0.0)",
org.eclipse.papyrus.infra.emf;bundle-version="[2.0.0,3.0.0)",
- org.eclipse.papyrus.infra.services.navigation;bundle-version="[2.0.0,3.0.0)";visibility:=reexport,
- org.eclipse.papyrus.infra.services.openelement;bundle-version="[2.0.0,3.0.0)",
+ org.eclipse.papyrus.infra.services.navigation;bundle-version="[3.0.0,4.0.0)";visibility:=reexport,
+ org.eclipse.papyrus.infra.services.openelement;bundle-version="[3.0.0,4.0.0)",
org.eclipse.papyrus.infra.services.viewersearch;bundle-version="[2.0.0,3.0.0)";visibility:=reexport
Export-Package: org.eclipse.papyrus.infra.gmfdiag.navigation,
org.eclipse.papyrus.infra.gmfdiag.navigation.decorator,
@@ -16,7 +16,7 @@ Export-Package: org.eclipse.papyrus.infra.gmfdiag.navigation,
org.eclipse.papyrus.infra.gmfdiag.navigation.menu.button
Bundle-Vendor: %providerName
Bundle-ActivationPolicy: lazy
-Bundle-Version: 1.2.0.qualifier
+Bundle-Version: 2.0.0.qualifier
Bundle-Name: %pluginName
Bundle-Localization: plugin
Bundle-ManifestVersion: 2
diff --git a/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.navigation/pom.xml b/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.navigation/pom.xml
index 5e5c8ce62f2..434b09bfb27 100644
--- a/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.navigation/pom.xml
+++ b/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.navigation/pom.xml
@@ -1,12 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
-<project>
- <modelVersion>4.0.0</modelVersion>
- <parent>
- <groupId>org.eclipse.papyrus</groupId>
- <artifactId>org.eclipse.papyrus.infra-gmfdiag</artifactId>
- <version>0.0.1-SNAPSHOT</version>
- </parent>
- <artifactId>org.eclipse.papyrus.infra.gmfdiag.navigation</artifactId>
- <version>1.2.0-SNAPSHOT</version>
- <packaging>eclipse-plugin</packaging>
-</project>
+<project>
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>org.eclipse.papyrus</groupId>
+ <artifactId>org.eclipse.papyrus.infra-gmfdiag</artifactId>
+ <version>0.0.1-SNAPSHOT</version>
+ </parent>
+ <artifactId>org.eclipse.papyrus.infra.gmfdiag.navigation</artifactId>
+ <version>2.0.0-SNAPSHOT</version>
+ <packaging>eclipse-plugin</packaging>
+</project> \ No newline at end of file
diff --git a/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.navigation/src/org/eclipse/papyrus/infra/gmfdiag/navigation/menu/DefaultNavigationMenu.java b/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.navigation/src/org/eclipse/papyrus/infra/gmfdiag/navigation/menu/DefaultNavigationMenu.java
index 5686a217f81..26f840a10e3 100644
--- a/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.navigation/src/org/eclipse/papyrus/infra/gmfdiag/navigation/menu/DefaultNavigationMenu.java
+++ b/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.navigation/src/org/eclipse/papyrus/infra/gmfdiag/navigation/menu/DefaultNavigationMenu.java
@@ -30,9 +30,7 @@ import org.eclipse.papyrus.infra.core.services.ServiceNotFoundException;
import org.eclipse.papyrus.infra.core.services.ServicesRegistry;
import org.eclipse.papyrus.infra.emf.utils.EMFHelper;
import org.eclipse.papyrus.infra.gmfdiag.navigation.Activator;
-import org.eclipse.papyrus.infra.gmfdiag.navigation.menu.button.MoreButton;
import org.eclipse.papyrus.infra.gmfdiag.navigation.menu.listener.NavigationMenuKeyListener;
-import org.eclipse.papyrus.infra.gmfdiag.navigation.menu.listener.SelectionMenuMouseTrackListener;
import org.eclipse.papyrus.infra.gmfdiag.navigation.menu.listener.SelectionMenuSelectionChangedListener;
import org.eclipse.papyrus.infra.gmfdiag.navigation.menu.provider.SelectionMenuLabelProvider;
import org.eclipse.papyrus.infra.services.navigation.service.ExtendedNavigableElement;
@@ -56,7 +54,7 @@ public class DefaultNavigationMenu implements NavigationMenu {
private Shell parentShell;
private NavigationService navigationService;
-
+
private ViewerSearchService viewerSearchService;
private EObject currentModel;
@@ -72,9 +70,9 @@ public class DefaultNavigationMenu implements NavigationMenu {
private boolean wasUnderlined;
private WrappingLabel lastWrappingLabel;
-
- private static boolean altReleasedPostNavigation = true;
-
+
+ private boolean altReleasedPostNavigation = true;
+
private View selectedView;
public class NavigationMenuInitializationException extends Exception {
@@ -280,13 +278,13 @@ public class DefaultNavigationMenu implements NavigationMenu {
if (navigationMenuElements.isEmpty()) {
return;
}
-
+
// Add "More..." button
- //navigationMenuElements.add(new MoreButton());
-
+ // navigationMenuElements.add(new MoreButton());
+
// The semantic element
EObject umlElement = EMFHelper.getEObject(source);
-
+
// Create the selection menu and subMenus list
selectionMenu = new SelectionMenu(shell);
subMenus = new LinkedList<SelectionMenu>();
@@ -313,7 +311,7 @@ public class DefaultNavigationMenu implements NavigationMenu {
selectionMenu.addSelectionChangedListener(new SelectionMenuSelectionChangedListener(DefaultNavigationMenu.this, selectionMenu, navigationMenuElements, umlElement, subMenus));
selectionMenu.addKeyListener(new NavigationMenuKeyListener(this));
- //selectionMenu.addMouseTrackListener(new SelectionMenuMouseTrackListener(DefaultNavigationMenu.this, selectionMenu, subMenus, umlElement));
+ // selectionMenu.addMouseTrackListener(new SelectionMenuMouseTrackListener(DefaultNavigationMenu.this, selectionMenu, subMenus, umlElement));
}
public void addContextualMenus(List<Object> navigationMenuElements, Object umlElement) {
@@ -330,22 +328,22 @@ public class DefaultNavigationMenu implements NavigationMenu {
if (navElement == null) {
return null;
}
-
+
EObject element = null;
if (navElement instanceof ExtendedNavigableElement
&& ((ExtendedNavigableElement) navElement).getSemanticElement() instanceof EObject) {
element = (EObject) ((ExtendedNavigableElement) navElement).getSemanticElement();
}
-
+
if (element != null) {
ViewerSearchService viewerSearchService = null;
-
+
try {
viewerSearchService = getViewerSearchService();
} catch (NavigationMenuInitializationException e) {
Activator.log.error(e);
}
-
+
if (viewerSearchService != null) {
return viewerSearchService.getViewersInCurrentModel(element, null, false, onlyOpened);
}
@@ -353,13 +351,13 @@ public class DefaultNavigationMenu implements NavigationMenu {
return new LinkedList<Object>();
}
-
+
public void showInModelExplorer(NavigableElement navigableElement) {
Object semanticElement = null;
if (navigableElement instanceof ExtendedNavigableElement) {
semanticElement = ((ExtendedNavigableElement) navigableElement).getSemanticElement();
}
-
+
if (semanticElement != null) {
try {
getNavigationService().navigate(semanticElement, "org.eclipse.papyrus.views.modelexplorer.navigation.target");
@@ -402,21 +400,21 @@ public class DefaultNavigationMenu implements NavigationMenu {
return servicesRegistry;
}
- private NavigationService getNavigationService() throws NavigationMenuInitializationException {
+ private NavigationService getNavigationService() throws NavigationMenuInitializationException {
if (navigationService == null) {
throw new NavigationMenuInitializationException(navigationService);
}
return navigationService;
}
-
- public ViewerSearchService getViewerSearchService() throws NavigationMenuInitializationException {
+
+ public ViewerSearchService getViewerSearchService() throws NavigationMenuInitializationException {
if (viewerSearchService == null) {
throw new NavigationMenuInitializationException(viewerSearchService);
}
return viewerSearchService;
}
- private Shell getParentShell() throws NavigationMenuInitializationException {
+ private Shell getParentShell() throws NavigationMenuInitializationException {
if (parentShell == null) {
throw new NavigationMenuInitializationException(parentShell);
}
@@ -566,7 +564,7 @@ public class DefaultNavigationMenu implements NavigationMenu {
Activator.log.error(e);
}
}
-
+
public View getSelectedView() {
return selectedView;
}
@@ -579,8 +577,8 @@ public class DefaultNavigationMenu implements NavigationMenu {
public void setParentShell(Shell parentShell) {
this.parentShell = parentShell;
}
-
+
public void altReleased() {
- this.altReleasedPostNavigation = true;
+ altReleasedPostNavigation = true;
}
} \ No newline at end of file
diff --git a/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.outline/META-INF/MANIFEST.MF b/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.outline/META-INF/MANIFEST.MF
index cd05cedb8b9..e6edf305583 100644
--- a/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.outline/META-INF/MANIFEST.MF
+++ b/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.outline/META-INF/MANIFEST.MF
@@ -4,7 +4,7 @@ Export-Package: org.eclipse.papyrus.infra.gmfdiag.outline,
org.eclipse.papyrus.infra.gmfdiag.outline.overview
Require-Bundle: org.eclipse.gmf.runtime.diagram.ui.render;bundle-version="[1.7.0,2.0.0)",
org.eclipse.papyrus.infra.emf;bundle-version="[2.0.0,3.0.0)",
- org.eclipse.papyrus.infra.gmfdiag.common;bundle-version="[2.0.0,3.0.0)"
+ org.eclipse.papyrus.infra.gmfdiag.common;bundle-version="[3.0.0,4.0.0)"
Bundle-Vendor: %providerName
Bundle-ActivationPolicy: lazy
Bundle-Version: 2.0.0.qualifier
diff --git a/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.preferences/META-INF/MANIFEST.MF b/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.preferences/META-INF/MANIFEST.MF
index c412a7859eb..589e1300acb 100644
--- a/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.preferences/META-INF/MANIFEST.MF
+++ b/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.preferences/META-INF/MANIFEST.MF
@@ -10,12 +10,12 @@ Export-Package: org.eclipse.papyrus.infra.gmfdiag.preferences,
org.eclipse.papyrus.infra.gmfdiag.preferences.ui.editor,
org.eclipse.papyrus.infra.gmfdiag.preferences.utils
Require-Bundle: org.eclipse.gmf.runtime.diagram.ui.properties;bundle-version="[1.7.0,2.0.0)",
- org.eclipse.papyrus.infra.gmfdiag.common;bundle-version="[2.0.0,3.0.0)",
+ org.eclipse.papyrus.infra.gmfdiag.common;bundle-version="[3.0.0,4.0.0)",
com.ibm.icu,
- org.eclipse.papyrus.infra.ui;bundle-version="[1.2.0,2.0.0)";visibility:=reexport
+ org.eclipse.papyrus.infra.ui;bundle-version="[2.0.0,3.0.0)";visibility:=reexport
Bundle-Vendor: %providerName
Bundle-ActivationPolicy: lazy
-Bundle-Version: 2.0.0.qualifier
+Bundle-Version: 3.0.0.qualifier
Bundle-Localization: plugin
Bundle-Name: %pluginName
Bundle-Activator: org.eclipse.papyrus.infra.gmfdiag.preferences.Activator
diff --git a/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.preferences/pom.xml b/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.preferences/pom.xml
index 2dc30f36794..efa81d6d836 100644
--- a/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.preferences/pom.xml
+++ b/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.preferences/pom.xml
@@ -1,12 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
-<project>
- <modelVersion>4.0.0</modelVersion>
- <parent>
- <groupId>org.eclipse.papyrus</groupId>
- <artifactId>org.eclipse.papyrus.infra-gmfdiag</artifactId>
- <version>0.0.1-SNAPSHOT</version>
- </parent>
- <artifactId>org.eclipse.papyrus.infra.gmfdiag.preferences</artifactId>
- <version>2.0.0-SNAPSHOT</version>
- <packaging>eclipse-plugin</packaging>
+<project>
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>org.eclipse.papyrus</groupId>
+ <artifactId>org.eclipse.papyrus.infra-gmfdiag</artifactId>
+ <version>0.0.1-SNAPSHOT</version>
+ </parent>
+ <artifactId>org.eclipse.papyrus.infra.gmfdiag.preferences</artifactId>
+ <version>3.0.0-SNAPSHOT</version>
+ <packaging>eclipse-plugin</packaging>
</project> \ No newline at end of file
diff --git a/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.preferences/src/org/eclipse/papyrus/infra/gmfdiag/preferences/pages/AbstractPapyrusElementPreferencePage.java b/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.preferences/src/org/eclipse/papyrus/infra/gmfdiag/preferences/pages/AbstractPapyrusElementPreferencePage.java
index 086bab5f0de..9a9899e1537 100644
--- a/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.preferences/src/org/eclipse/papyrus/infra/gmfdiag/preferences/pages/AbstractPapyrusElementPreferencePage.java
+++ b/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.preferences/src/org/eclipse/papyrus/infra/gmfdiag/preferences/pages/AbstractPapyrusElementPreferencePage.java
@@ -14,10 +14,10 @@ package org.eclipse.papyrus.infra.gmfdiag.preferences.pages;
import org.eclipse.papyrus.infra.gmfdiag.common.preferences.PreferencesConstantsHelper;
import org.eclipse.papyrus.infra.gmfdiag.preferences.ui.FontGroup;
+import org.eclipse.papyrus.infra.ui.preferences.AbstractPapyrusPreferencePage;
import org.eclipse.swt.SWT;
import org.eclipse.swt.layout.GridLayout;
import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Group;
import org.eclipse.swt.widgets.Layout;
/**
@@ -35,7 +35,6 @@ import org.eclipse.swt.widgets.Layout;
*/
public abstract class AbstractPapyrusElementPreferencePage extends AbstractPapyrusPreferencePage {
- private Group toolbar;
protected Layout getToolbarLayout() {
return new GridLayout(2, false);
@@ -56,13 +55,10 @@ public abstract class AbstractPapyrusElementPreferencePage extends AbstractPapyr
@Override
protected void createPageContents(Composite parent) {
FontGroup fontGroupComposite = new FontGroup(parent, getPreferenceKey(), this);
- addAbstractGroup(fontGroupComposite);
+ addPreferenceGroup(fontGroupComposite);
}
- protected Group getToolbar() {
- return toolbar;
- }
/**
* Get the specified preference type associated with this preference page.
diff --git a/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.preferences/src/org/eclipse/papyrus/infra/gmfdiag/preferences/pages/AbstractPapyrusLinkPreferencePage.java b/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.preferences/src/org/eclipse/papyrus/infra/gmfdiag/preferences/pages/AbstractPapyrusLinkPreferencePage.java
index 4c9ca6718a0..63b30461c20 100644
--- a/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.preferences/src/org/eclipse/papyrus/infra/gmfdiag/preferences/pages/AbstractPapyrusLinkPreferencePage.java
+++ b/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.preferences/src/org/eclipse/papyrus/infra/gmfdiag/preferences/pages/AbstractPapyrusLinkPreferencePage.java
@@ -44,16 +44,16 @@ public abstract class AbstractPapyrusLinkPreferencePage extends AbstractPapyrusE
super.createPageContents(parent);
// color pref for links
LinkColorGroup colorGroupComposite = new LinkColorGroup(parent, getPreferenceKey(), this);
- addAbstractGroup(colorGroupComposite);
+ addPreferenceGroup(colorGroupComposite);
// router for links
ConnectionGroup connectionGroupComposite = new ConnectionGroup(parent, getPreferenceKey(), this);
- addAbstractGroup(connectionGroupComposite);
+ addPreferenceGroup(connectionGroupComposite);
// Label role group
if (!getLabelRole().isEmpty()) {
LabelGroup compartmentGroup = new LabelGroup(parent, getPreferenceKey(), this, getLabelRole());
- addAbstractGroup(compartmentGroup);
+ addPreferenceGroup(compartmentGroup);
}
}
diff --git a/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.preferences/src/org/eclipse/papyrus/infra/gmfdiag/preferences/pages/AbstractPapyrusNodePreferencePage.java b/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.preferences/src/org/eclipse/papyrus/infra/gmfdiag/preferences/pages/AbstractPapyrusNodePreferencePage.java
index f63b3761991..cd9f19f0ca6 100644
--- a/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.preferences/src/org/eclipse/papyrus/infra/gmfdiag/preferences/pages/AbstractPapyrusNodePreferencePage.java
+++ b/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.preferences/src/org/eclipse/papyrus/infra/gmfdiag/preferences/pages/AbstractPapyrusNodePreferencePage.java
@@ -17,6 +17,7 @@ import java.util.ArrayList;
import java.util.List;
import java.util.TreeMap;
+import org.eclipse.papyrus.infra.gmfdiag.preferences.Activator;
import org.eclipse.papyrus.infra.gmfdiag.preferences.ui.BackgroundColor;
import org.eclipse.papyrus.infra.gmfdiag.preferences.ui.DecorationGroup;
import org.eclipse.papyrus.infra.gmfdiag.preferences.ui.LabelGroup;
@@ -57,20 +58,20 @@ public abstract class AbstractPapyrusNodePreferencePage extends AbstractPapyrusE
protected void createPageContents(Composite parent) {
super.createPageContents(parent);
NodeColorGroup colorGroupForNodeComposite = new NodeColorGroup(parent, getPreferenceKey(), this);
- addAbstractGroup(colorGroupForNodeComposite);
+ addPreferenceGroup(colorGroupForNodeComposite);
BackgroundColor backgroundColorGroup = new BackgroundColor(parent, getPreferenceKey(), this);
- addAbstractGroup(backgroundColorGroup);
+ addPreferenceGroup(backgroundColorGroup);
DecorationGroup decorationGroup = new DecorationGroup(parent, getPreferenceKey(), this);
- addAbstractGroup(decorationGroup);
+ addPreferenceGroup(decorationGroup);
if (!compartmentsList.isEmpty()) {
- NodeCompartmentGroup compartmentGroup = new NodeCompartmentGroup(parent, getPreferenceKey(), this, compartmentsList, getCompartmentTitleVisibilityPreferences().keySet(), getPreferenceStore());
- addAbstractGroup(compartmentGroup);
+ NodeCompartmentGroup compartmentGroup = new NodeCompartmentGroup(parent, getPreferenceKey(), this, compartmentsList, getCompartmentTitleVisibilityPreferences().keySet(), Activator.getDefault().getPreferenceStore());
+ addPreferenceGroup(compartmentGroup);
}
// Label role group
if (!getLabelRole().isEmpty()) {
LabelGroup compartmentGroup = new LabelGroup(parent, getPreferenceKey(), this, getLabelRole());
- addAbstractGroup(compartmentGroup);
+ addPreferenceGroup(compartmentGroup);
}
}
@@ -84,7 +85,7 @@ public abstract class AbstractPapyrusNodePreferencePage extends AbstractPapyrusE
/**
*
* @return
- * the label roles
+ * the label roles
*/
protected TreeMap<String, String> getLabelRole() {
return new TreeMap<String, String>();
@@ -93,7 +94,7 @@ public abstract class AbstractPapyrusNodePreferencePage extends AbstractPapyrusE
/**
*
* @return
- * the compartment title visibility
+ * the compartment title visibility
*/
protected TreeMap<String, Boolean> getCompartmentTitleVisibilityPreferences() {
return new TreeMap<String, Boolean>();
diff --git a/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.preferences/src/org/eclipse/papyrus/infra/gmfdiag/preferences/pages/AbstractPapyrusPreferencePage.java b/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.preferences/src/org/eclipse/papyrus/infra/gmfdiag/preferences/pages/AbstractPapyrusPreferencePage.java
deleted file mode 100644
index f4083f0579e..00000000000
--- a/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.preferences/src/org/eclipse/papyrus/infra/gmfdiag/preferences/pages/AbstractPapyrusPreferencePage.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/****************************************************************************
- * Copyright (c) 2008 Atos Origin.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Thibault Landre (Atos Origin) - Initial API and implementation
- *
- *****************************************************************************/
-package org.eclipse.papyrus.infra.gmfdiag.preferences.pages;
-
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.papyrus.infra.gmfdiag.preferences.Activator;
-import org.eclipse.papyrus.infra.gmfdiag.preferences.ui.AbstractGroup;
-
-/**
- * An abstract implementation of a Preference page.
- *
- * This preference page allows clients to define preference page in the preference of Eclipse, and
- * in the properties of a project in the workspace.
- * <p>
- * Clients must implement :
- * <ul>
- * <li><code>getBundleId()</code> method in order to define the preference scope (Project or Instance) of the preference page.</li>
- * <li><code>createPageContents()</code> method to populate the preference page with the different {@link AbstractGroup}. </br>
- * Each group added has to be declared through the <code>addAbstractGroup(AbstractGroup fe)</code> method</li>
- * </ul>
- * </p>
- *
- * @deprecated Use the {@link org.eclipse.papyrus.infra.ui.preferences.AbstractPapyrusPreferencePage} API, instead.
- */
-@Deprecated
-public abstract class AbstractPapyrusPreferencePage extends org.eclipse.papyrus.infra.ui.preferences.AbstractPapyrusPreferencePage {
-
- @Override
- public IPreferenceStore getPreferenceStore() {
- return Activator.getDefault().getPreferenceStore();
- }
-
- /**
- * Add the given {@code group} of field editors to the page.
- */
- protected void addAbstractGroup(AbstractGroup fe) {
- addPreferenceGroup(fe);
- }
-}
diff --git a/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.preferences/src/org/eclipse/papyrus/infra/gmfdiag/preferences/pages/PapyrusAllDiagramsPreferencePage.java b/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.preferences/src/org/eclipse/papyrus/infra/gmfdiag/preferences/pages/PapyrusAllDiagramsPreferencePage.java
index ac34173993b..4021a412d9e 100644
--- a/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.preferences/src/org/eclipse/papyrus/infra/gmfdiag/preferences/pages/PapyrusAllDiagramsPreferencePage.java
+++ b/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.preferences/src/org/eclipse/papyrus/infra/gmfdiag/preferences/pages/PapyrusAllDiagramsPreferencePage.java
@@ -38,6 +38,7 @@ import org.eclipse.papyrus.infra.gmfdiag.preferences.ui.editor.EditorFontGroup;
import org.eclipse.papyrus.infra.gmfdiag.preferences.ui.editor.EditorNodeColorGroup;
import org.eclipse.papyrus.infra.gmfdiag.preferences.ui.editor.EditorRulersAndGridGroup;
import org.eclipse.papyrus.infra.gmfdiag.preferences.utils.GradientPreferenceConverter;
+import org.eclipse.papyrus.infra.ui.preferences.AbstractPapyrusPreferencePage;
import org.eclipse.swt.layout.GridLayout;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Display;
@@ -56,31 +57,31 @@ public class PapyrusAllDiagramsPreferencePage extends AbstractPapyrusPreferenceP
// FontGroup
FontGroup fontGroupComposite = new EditorFontGroup(contentGroup, getTitle(), this);
- addAbstractGroup(fontGroupComposite);
+ addPreferenceGroup(fontGroupComposite);
// color
NodeColorGroup colorGroupForNodeComposite = new EditorNodeColorGroup(contentGroup, getTitle(), this);
- addAbstractGroup(colorGroupForNodeComposite);
+ addPreferenceGroup(colorGroupForNodeComposite);
// router for links
ConnectionGroup connectionGroupComposite = new EditorConnectionGroup(contentGroup, getTitle(), this);
- addAbstractGroup(connectionGroupComposite);
+ addPreferenceGroup(connectionGroupComposite);
// background
BackgroundColor backgroundColorGroup = new EditorBackgroundColor(contentGroup, getTitle(), this);
- addAbstractGroup(backgroundColorGroup);
+ addPreferenceGroup(backgroundColorGroup);
DecorationGroup decorationGroupComposite = new EditorDecorationGroup(contentGroup, getTitle(), this);
- addAbstractGroup(decorationGroupComposite);
+ addPreferenceGroup(decorationGroupComposite);
DimensionGroup dimensionGroup = new EditorDimensionGroup(contentGroup, getTitle(), this);
- addAbstractGroup(dimensionGroup);
+ addPreferenceGroup(dimensionGroup);
RulersAndGridGroup viewGroupComposite = new EditorRulersAndGridGroup(parent, getTitle(), this);
- addAbstractGroup(viewGroupComposite);
+ addPreferenceGroup(viewGroupComposite);
final RestoreElementGroup restoreElementGroup = new RestoreElementGroup(parent, getTitle(), this);
- addAbstractGroup(restoreElementGroup);
+ addPreferenceGroup(restoreElementGroup);
}
diff --git a/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.preferences/src/org/eclipse/papyrus/infra/gmfdiag/preferences/pages/internal/PapyrusUML2PreferencePage.java b/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.preferences/src/org/eclipse/papyrus/infra/gmfdiag/preferences/pages/internal/PapyrusUML2PreferencePage.java
index 8f176dfe3cc..cb8c5ee4ff6 100644
--- a/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.preferences/src/org/eclipse/papyrus/infra/gmfdiag/preferences/pages/internal/PapyrusUML2PreferencePage.java
+++ b/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.preferences/src/org/eclipse/papyrus/infra/gmfdiag/preferences/pages/internal/PapyrusUML2PreferencePage.java
@@ -14,7 +14,7 @@ package org.eclipse.papyrus.infra.gmfdiag.preferences.pages.internal;
import org.eclipse.jface.preference.IPreferenceStore;
import org.eclipse.papyrus.infra.gmfdiag.preferences.Activator;
-import org.eclipse.papyrus.infra.gmfdiag.preferences.pages.AbstractPapyrusPreferencePage;
+import org.eclipse.papyrus.infra.ui.preferences.AbstractPapyrusPreferencePage;
import org.eclipse.swt.widgets.Composite;
/**
diff --git a/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.preferences/src/org/eclipse/papyrus/infra/gmfdiag/preferences/pages/internal/VisiblePageSingleton.java b/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.preferences/src/org/eclipse/papyrus/infra/gmfdiag/preferences/pages/internal/VisiblePageSingleton.java
index 8c131f5c7de..0143e9aa9bd 100644
--- a/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.preferences/src/org/eclipse/papyrus/infra/gmfdiag/preferences/pages/internal/VisiblePageSingleton.java
+++ b/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.preferences/src/org/eclipse/papyrus/infra/gmfdiag/preferences/pages/internal/VisiblePageSingleton.java
@@ -14,8 +14,8 @@
package org.eclipse.papyrus.infra.gmfdiag.preferences.pages.internal;
import org.eclipse.jface.preference.IPreferencePage;
-import org.eclipse.papyrus.infra.gmfdiag.preferences.pages.AbstractPapyrusPreferencePage;
import org.eclipse.papyrus.infra.gmfdiag.preferences.pages.DiagramPreferencePage;
+import org.eclipse.papyrus.infra.ui.preferences.AbstractPapyrusPreferencePage;
/**
* This singleton has bee created to manage the button ok and apply of preference page.
diff --git a/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.preferences/src/org/eclipse/papyrus/infra/gmfdiag/preferences/ui/LabelGroup.java b/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.preferences/src/org/eclipse/papyrus/infra/gmfdiag/preferences/ui/LabelGroup.java
index 2a308726297..e7a84af5460 100644
--- a/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.preferences/src/org/eclipse/papyrus/infra/gmfdiag/preferences/ui/LabelGroup.java
+++ b/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.preferences/src/org/eclipse/papyrus/infra/gmfdiag/preferences/ui/LabelGroup.java
@@ -75,7 +75,7 @@ public class LabelGroup extends AbstractGroup {
String key = PreferencesConstantsHelper.getLabelElementConstant(getKey(), role, PreferencesConstantsHelper.LABEL_VISIBILITY);
Image im = null;
String iconPath = myRoles.get(role);
- if (iconPath != null && iconPath != "") { //$NON-NLS-1$
+ if (iconPath != null && !iconPath.isEmpty()) { // $NON-NLS-1$
try {
im = ImageDescriptor.createFromURL(new URL(iconPath)).createImage();
} catch (MalformedURLException e) {
diff --git a/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.preferences/src/org/eclipse/papyrus/infra/gmfdiag/preferences/ui/NodeColorGroup.java b/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.preferences/src/org/eclipse/papyrus/infra/gmfdiag/preferences/ui/NodeColorGroup.java
index 8327041b728..67f13097fa3 100644
--- a/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.preferences/src/org/eclipse/papyrus/infra/gmfdiag/preferences/ui/NodeColorGroup.java
+++ b/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.preferences/src/org/eclipse/papyrus/infra/gmfdiag/preferences/ui/NodeColorGroup.java
@@ -24,11 +24,6 @@ import org.eclipse.swt.widgets.Composite;
*/
public class NodeColorGroup extends LinkColorGroup {
- /** The font color editor. */
- protected ColorFieldEditor fontColorEditor;
-
- /** The line color editor. */
- protected ColorFieldEditor lineColorEditor;
/** The fill color editor. */
protected ColorFieldEditor fillColorEditor;
diff --git a/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.preferences/src/org/eclipse/papyrus/infra/gmfdiag/preferences/ui/OrderedLabelGroup.java b/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.preferences/src/org/eclipse/papyrus/infra/gmfdiag/preferences/ui/OrderedLabelGroup.java
index f8d211f7801..466788328d0 100644
--- a/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.preferences/src/org/eclipse/papyrus/infra/gmfdiag/preferences/ui/OrderedLabelGroup.java
+++ b/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.preferences/src/org/eclipse/papyrus/infra/gmfdiag/preferences/ui/OrderedLabelGroup.java
@@ -95,7 +95,7 @@ public class OrderedLabelGroup extends AbstractGroup {
String key = PreferencesConstantsHelper.getLabelElementConstant(getKey(), role, PreferencesConstantsHelper.LABEL_VISIBILITY);
Image im = null;
String iconPath = myRoles.get(role);
- if (iconPath != null && iconPath != "") { //$NON-NLS-1$
+ if (iconPath != null && !iconPath.isEmpty()) { // $NON-NLS-1$
try {
im = ImageDescriptor.createFromURL(new URL(iconPath)).createImage();
} catch (MalformedURLException e) {
diff --git a/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.properties/META-INF/MANIFEST.MF b/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.properties/META-INF/MANIFEST.MF
index 1f13d1954fa..219350da220 100644
--- a/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.properties/META-INF/MANIFEST.MF
+++ b/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.properties/META-INF/MANIFEST.MF
@@ -1,13 +1,13 @@
Manifest-Version: 1.0
Export-Package: org.eclipse.papyrus.infra.gmfdiag.properties.extension,
org.eclipse.papyrus.infra.gmfdiag.properties.modelelement
-Require-Bundle: org.eclipse.papyrus.infra.properties.ui;bundle-version="[1.3.0,2.0.0)";visibility:=reexport,
+Require-Bundle: org.eclipse.papyrus.infra.properties.ui;bundle-version="[2.0.0,3.0.0)";visibility:=reexport,
org.eclipse.core.databinding.beans;bundle-version="[1.3.0,2.0.0)",
- org.eclipse.papyrus.infra.gmfdiag.preferences;bundle-version="[2.0.0,3.0.0)",
- org.eclipse.papyrus.infra.gmfdiag.canonical;bundle-version="[1.2.0,2.0.0)"
+ org.eclipse.papyrus.infra.gmfdiag.preferences;bundle-version="[3.0.0,4.0.0)",
+ org.eclipse.papyrus.infra.gmfdiag.canonical;bundle-version="[2.0.0,3.0.0)"
Bundle-Vendor: %Bundle-Vendor
Bundle-ActivationPolicy: lazy;exclude:="org.eclipse.papyrus.infra.gmfdiag.properties.constraint"
-Bundle-Version: 2.0.0.qualifier
+Bundle-Version: 3.0.0.qualifier
Bundle-Localization: plugin
Bundle-Name: %Bundle-Name
Bundle-Activator: org.eclipse.papyrus.infra.gmfdiag.properties.Activator
diff --git a/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.properties/pom.xml b/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.properties/pom.xml
index 608d34faf06..5e35cba73b1 100644
--- a/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.properties/pom.xml
+++ b/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.properties/pom.xml
@@ -1,12 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
-<project>
- <modelVersion>4.0.0</modelVersion>
- <parent>
- <groupId>org.eclipse.papyrus</groupId>
- <artifactId>org.eclipse.papyrus.infra-gmfdiag</artifactId>
- <version>0.0.1-SNAPSHOT</version>
- </parent>
- <artifactId>org.eclipse.papyrus.infra.gmfdiag.properties</artifactId>
- <version>2.0.0-SNAPSHOT</version>
- <packaging>eclipse-plugin</packaging>
+<project>
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>org.eclipse.papyrus</groupId>
+ <artifactId>org.eclipse.papyrus.infra-gmfdiag</artifactId>
+ <version>0.0.1-SNAPSHOT</version>
+ </parent>
+ <artifactId>org.eclipse.papyrus.infra.gmfdiag.properties</artifactId>
+ <version>3.0.0-SNAPSHOT</version>
+ <packaging>eclipse-plugin</packaging>
</project> \ No newline at end of file
diff --git a/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.properties/src/org/eclipse/papyrus/infra/gmfdiag/properties/databinding/CanonicalObservableValue.java b/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.properties/src/org/eclipse/papyrus/infra/gmfdiag/properties/databinding/CanonicalObservableValue.java
index 8d105b60478..11e6fa0625d 100644
--- a/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.properties/src/org/eclipse/papyrus/infra/gmfdiag/properties/databinding/CanonicalObservableValue.java
+++ b/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.properties/src/org/eclipse/papyrus/infra/gmfdiag/properties/databinding/CanonicalObservableValue.java
@@ -21,7 +21,7 @@ import org.eclipse.emf.transaction.TransactionalEditingDomain;
import org.eclipse.gef.EditPart;
import org.eclipse.gmf.runtime.diagram.ui.editparts.IGraphicalEditPart;
import org.eclipse.gmf.runtime.notation.CanonicalStyle;
-import org.eclipse.papyrus.commands.wrappers.GMFtoEMFCommandWrapper;
+import org.eclipse.papyrus.infra.emf.gmf.command.GMFtoEMFCommandWrapper;
import org.eclipse.papyrus.infra.gmfdiag.canonical.editpolicy.CanonicalStateListener;
import org.eclipse.papyrus.infra.gmfdiag.common.commands.SetCanonicalCommand;
import org.eclipse.papyrus.infra.gmfdiag.common.helper.NotationHelper;
diff --git a/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.viewersearcher/META-INF/MANIFEST.MF b/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.viewersearcher/META-INF/MANIFEST.MF
index e4fadf4e5f5..5bf9dfe020a 100644
--- a/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.viewersearcher/META-INF/MANIFEST.MF
+++ b/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.viewersearcher/META-INF/MANIFEST.MF
@@ -1,8 +1,8 @@
Manifest-Version: 1.0
Require-Bundle: org.eclipse.papyrus.infra.services.viewersearch;bundle-version="[2.0.0,3.0.0)",
- org.eclipse.papyrus.views.search;bundle-version="[1.2.0,2.0.0)",
+ org.eclipse.papyrus.views.search;bundle-version="[2.0.0,3.0.0)",
org.eclipse.papyrus.infra.emf;bundle-version="[2.0.0,3.0.0)",
- org.eclipse.papyrus.infra.gmfdiag.common;bundle-version="[2.0.0,3.0.0)"
+ org.eclipse.papyrus.infra.gmfdiag.common;bundle-version="[3.0.0,4.0.0)"
Bundle-Vendor: %vendorName
Bundle-ActivationPolicy: lazy
Bundle-Version: 1.2.0.qualifier
diff --git a/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.welcome/META-INF/MANIFEST.MF b/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.welcome/META-INF/MANIFEST.MF
index 9d86b081795..c03af419703 100644
--- a/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.welcome/META-INF/MANIFEST.MF
+++ b/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.welcome/META-INF/MANIFEST.MF
@@ -3,10 +3,10 @@ Export-Package: org.eclipse.papyrus.infra.gmfdiag.welcome.internal;x-internal:=t
org.eclipse.papyrus.infra.gmfdiag.welcome.internal.modelelements;x-internal:=true,
org.eclipse.papyrus.infra.gmfdiag.welcome.internal.widgets;x-internal:=true
Require-Bundle: org.eclipse.papyrus.infra.editor.welcome;bundle-version="[1.2.0,2.0.0)",
- org.eclipse.papyrus.infra.gmfdiag.common;bundle-version="[2.0.0,3.0.0)",
- org.eclipse.papyrus.infra.services.navigation;bundle-version="[2.0.0,3.0.0)",
+ org.eclipse.papyrus.infra.gmfdiag.common;bundle-version="[3.0.0,4.0.0)",
+ org.eclipse.papyrus.infra.services.navigation;bundle-version="[3.0.0,4.0.0)",
org.eclipse.jface.databinding;bundle-version="[1.8.0,2.0.0)",
- org.eclipse.papyrus.infra.editor.welcome.nattable;bundle-version="[1.2.0,2.0.0)",
+ org.eclipse.papyrus.infra.editor.welcome.nattable;bundle-version="[2.0.0,3.0.0)",
org.eclipse.papyrus.infra.nattable.model;bundle-version="[2.0.0,3.0.0)"
Bundle-Vendor: %providerName
Bundle-ActivationPolicy: lazy
diff --git a/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.welcome/src/org/eclipse/papyrus/infra/gmfdiag/welcome/internal/modelelements/NotationObservableProperty.java b/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.welcome/src/org/eclipse/papyrus/infra/gmfdiag/welcome/internal/modelelements/NotationObservableProperty.java
index 17a94ecb16f..c34a3ce1e47 100644
--- a/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.welcome/src/org/eclipse/papyrus/infra/gmfdiag/welcome/internal/modelelements/NotationObservableProperty.java
+++ b/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.welcome/src/org/eclipse/papyrus/infra/gmfdiag/welcome/internal/modelelements/NotationObservableProperty.java
@@ -144,8 +144,12 @@ public class NotationObservableProperty implements Supplier<IObservableList<Nota
if (rset instanceof ModelSet) {
result = ((ModelSet) rset).isUserModelResource(resource.getURI());
} else {
- URI uri = resource.getURI();
- result = uri.isPlatformResource() || uri.isFile();
+ if (resource != null) {
+ URI uri = resource.getURI();
+ result = uri.isPlatformResource() || uri.isFile();
+ } else {
+ result = false;
+ }
}
return result;
diff --git a/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.widgets/META-INF/MANIFEST.MF b/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.widgets/META-INF/MANIFEST.MF
index cef74806ec2..bcc21ca45c6 100644
--- a/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.widgets/META-INF/MANIFEST.MF
+++ b/plugins/infra/gmfdiag/org.eclipse.papyrus.infra.gmfdiag.widgets/META-INF/MANIFEST.MF
@@ -1,13 +1,13 @@
Manifest-Version: 1.0
Require-Bundle: org.eclipse.ui;bundle-version="[3.107.0,4.0.0)",
org.eclipse.core.runtime;bundle-version="[3.12.0,4.0.0)",
- org.eclipse.papyrus.infra.widgets;bundle-version="[2.0.0,3.0.0)",
+ org.eclipse.papyrus.infra.widgets;bundle-version="[3.0.0,4.0.0)",
org.eclipse.gmf.runtime.diagram.ui;bundle-version="[1.5.0,2.0.0)",
org.eclipse.gmf.runtime.diagram.ui.properties;bundle-version="[1.7.0,2.0.0)",
org.eclipse.core.databinding;bundle-version="[1.4.0,2.0.0)",
org.eclipse.jface.databinding;bundle-version="[1.5.0,2.0.0)",
org.eclipse.core.databinding.property;bundle-version="[1.4.0,2.0.0)",
- org.eclipse.papyrus.infra.properties.ui;bundle-version="[1.3.0,2.0.0)",
+ org.eclipse.papyrus.infra.properties.ui;bundle-version="[2.0.0,3.0.0)",
org.eclipse.e4.ui.css.core;bundle-version="[0.11.0,1.0.0)"
Export-Package: org.eclipse.papyrus.infra.gmfdiag.widgets,
org.eclipse.papyrus.infra.gmfdiag.widgets.editors
diff --git a/plugins/infra/misc/org.eclipse.papyrus.infra.hyperlink/META-INF/MANIFEST.MF b/plugins/infra/misc/org.eclipse.papyrus.infra.hyperlink/META-INF/MANIFEST.MF
index 3bc3d9a6715..5714ff9b3ff 100644
--- a/plugins/infra/misc/org.eclipse.papyrus.infra.hyperlink/META-INF/MANIFEST.MF
+++ b/plugins/infra/misc/org.eclipse.papyrus.infra.hyperlink/META-INF/MANIFEST.MF
@@ -10,11 +10,11 @@ Require-Bundle: org.eclipse.papyrus.infra.emf;bundle-version="[2.0.0,3.0.0)";vis
org.eclipse.ui.ide;bundle-version="[3.12.0,4.0.0)";visibility:=reexport,
org.eclipse.papyrus.infra.emf.gmf;bundle-version="[1.2.0,2.0.0)",
org.eclipse.core.filesystem;bundle-version="[1.6.0,2.0.0)",
- org.eclipse.papyrus.infra.services.openelement;bundle-version="[2.0.0,3.0.0)",
- org.eclipse.papyrus.infra.ui.emf;bundle-version="[1.2.0,2.0.0)";visibility:=reexport
+ org.eclipse.papyrus.infra.services.openelement;bundle-version="[3.0.0,4.0.0)",
+ org.eclipse.papyrus.infra.ui.emf;bundle-version="[2.0.0,3.0.0)";visibility:=reexport
Bundle-Vendor: %providerName
Bundle-ActivationPolicy: lazy
-Bundle-Version: 2.0.0.qualifier
+Bundle-Version: 3.0.0.qualifier
Bundle-Name: %pluginName
Bundle-Localization: plugin
Bundle-ManifestVersion: 2
diff --git a/plugins/infra/misc/org.eclipse.papyrus.infra.hyperlink/pom.xml b/plugins/infra/misc/org.eclipse.papyrus.infra.hyperlink/pom.xml
index 40af2f475b4..58d2977792d 100644
--- a/plugins/infra/misc/org.eclipse.papyrus.infra.hyperlink/pom.xml
+++ b/plugins/infra/misc/org.eclipse.papyrus.infra.hyperlink/pom.xml
@@ -1,12 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
-<project>
- <modelVersion>4.0.0</modelVersion>
- <parent>
- <artifactId>org.eclipse.papyrus.infra-misc</artifactId>
- <groupId>org.eclipse.papyrus</groupId>
- <version>0.0.1-SNAPSHOT</version>
- </parent>
- <artifactId>org.eclipse.papyrus.infra.hyperlink</artifactId>
- <version>2.0.0-SNAPSHOT</version>
- <packaging>eclipse-plugin</packaging>
+<project>
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <artifactId>org.eclipse.papyrus.infra-misc</artifactId>
+ <groupId>org.eclipse.papyrus</groupId>
+ <version>0.0.1-SNAPSHOT</version>
+ </parent>
+ <artifactId>org.eclipse.papyrus.infra.hyperlink</artifactId>
+ <version>3.0.0-SNAPSHOT</version>
+ <packaging>eclipse-plugin</packaging>
</project> \ No newline at end of file
diff --git a/plugins/infra/nattable/org.eclipse.papyrus.infra.emf.nattable/META-INF/MANIFEST.MF b/plugins/infra/nattable/org.eclipse.papyrus.infra.emf.nattable/META-INF/MANIFEST.MF
index 438227a32a1..6adf29412ba 100644
--- a/plugins/infra/nattable/org.eclipse.papyrus.infra.emf.nattable/META-INF/MANIFEST.MF
+++ b/plugins/infra/nattable/org.eclipse.papyrus.infra.emf.nattable/META-INF/MANIFEST.MF
@@ -10,13 +10,13 @@ Export-Package: org.eclipse.papyrus.infra.emf.nattable,
org.eclipse.papyrus.infra.emf.nattable.registry,
org.eclipse.papyrus.infra.emf.nattable.selection,
org.eclipse.papyrus.infra.emf.nattable.validator
-Require-Bundle: org.eclipse.papyrus.infra.nattable;bundle-version="[2.1.0,3.0.0)";visibility:=reexport,
+Require-Bundle: org.eclipse.papyrus.infra.nattable;bundle-version="[3.0.0,4.0.0)";visibility:=reexport,
org.eclipse.papyrus.infra.emf;bundle-version="[2.0.0,3.0.0)",
org.eclipse.papyrus.infra.services.edit;bundle-version="[2.0.0,3.0.0)",
org.eclipse.papyrus.infra.emf.gmf;bundle-version="[1.2.0,2.0.0)"
Bundle-Vendor: Eclipse Modeling Project
Bundle-ActivationPolicy: lazy
-Bundle-Version: 2.0.0.qualifier
+Bundle-Version: 3.0.0.qualifier
Bundle-Name: EMF Nattable
Bundle-Activator: org.eclipse.papyrus.infra.emf.nattable.Activator
Bundle-ManifestVersion: 2
diff --git a/plugins/infra/nattable/org.eclipse.papyrus.infra.emf.nattable/pom.xml b/plugins/infra/nattable/org.eclipse.papyrus.infra.emf.nattable/pom.xml
index 98dec14739a..c1811eba5dd 100755
--- a/plugins/infra/nattable/org.eclipse.papyrus.infra.emf.nattable/pom.xml
+++ b/plugins/infra/nattable/org.eclipse.papyrus.infra.emf.nattable/pom.xml
@@ -1,12 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
-<project>
- <modelVersion>4.0.0</modelVersion>
- <parent>
- <artifactId>org.eclipse.papyrus.infra-nattable</artifactId>
- <groupId>org.eclipse.papyrus</groupId>
- <version>0.0.1-SNAPSHOT</version>
- </parent>
- <artifactId>org.eclipse.papyrus.infra.emf.nattable</artifactId>
- <version>2.0.0-SNAPSHOT</version>
- <packaging>eclipse-plugin</packaging>
+<project>
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <artifactId>org.eclipse.papyrus.infra-nattable</artifactId>
+ <groupId>org.eclipse.papyrus</groupId>
+ <version>0.0.1-SNAPSHOT</version>
+ </parent>
+ <artifactId>org.eclipse.papyrus.infra.emf.nattable</artifactId>
+ <version>3.0.0-SNAPSHOT</version>
+ <packaging>eclipse-plugin</packaging>
</project> \ No newline at end of file
diff --git a/plugins/infra/nattable/org.eclipse.papyrus.infra.emf.nattable/src/org/eclipse/papyrus/infra/emf/nattable/manager/cell/EMFFeatureValueCellManager.java b/plugins/infra/nattable/org.eclipse.papyrus.infra.emf.nattable/src/org/eclipse/papyrus/infra/emf/nattable/manager/cell/EMFFeatureValueCellManager.java
index 10d6833a2c3..0e40103f34e 100644
--- a/plugins/infra/nattable/org.eclipse.papyrus.infra.emf.nattable/src/org/eclipse/papyrus/infra/emf/nattable/manager/cell/EMFFeatureValueCellManager.java
+++ b/plugins/infra/nattable/org.eclipse.papyrus.infra.emf.nattable/src/org/eclipse/papyrus/infra/emf/nattable/manager/cell/EMFFeatureValueCellManager.java
@@ -106,7 +106,7 @@ public class EMFFeatureValueCellManager extends AbstractCellManager {
* @param sharedMap
* a map with interesting informations
* @return
- * <code>null</code> or a list of 2 objects.
+ * <code>null</code> or a list of 2 objects.
* <ul>
* <li>the first element is the edited EObject</li>
* <li>the second one is the edited feature</li>
@@ -179,7 +179,7 @@ public class EMFFeatureValueCellManager extends AbstractCellManager {
* @param newValue
* the new value
* @return
- * the command to set the value
+ * the command to set the value
*/
protected Command getSetValueCommand(final TransactionalEditingDomain domain, final EObject elementToEdit, final EStructuralFeature featureToEdit, final Object newValue, final Object columnElement, final Object rowElement,
final INattableModelManager tableManager) {
@@ -194,48 +194,51 @@ public class EMFFeatureValueCellManager extends AbstractCellManager {
final AbstractEditCommandRequest request = new SetRequest(domain, elementToEdit, featureToEdit, newValue);
final IElementEditService provider = ElementEditServiceUtils.getCommandProvider(elementToEdit);
final ICommand cmd = provider.getEditCommand(request);
- ICommand returnedCommand = (cmd != null) ? cmd : org.eclipse.gmf.runtime.common.core.command.UnexecutableCommand.INSTANCE;;
- if (cmd.canExecute() && featureToEdit instanceof EReference) {
- boolean shouldOpenDialog = false;
- final EReference editedReference = (EReference) featureToEdit;
-
- // we are editing a containment feature
- if (editedReference.isContainment()) {
- if (newValue instanceof Collection<?>) {
- if (!editedReference.isMany()) {
- return UnexecutableCommand.INSTANCE;
- } else {
- final Collection<?> currentValues = new ArrayList<Object>((Collection<?>) elementToEdit.eGet(editedReference));
- final Collection<?> addedValues = new ArrayList<Object>((Collection<?>) newValue);
- addedValues.removeAll(currentValues);
- // we need to test the added values
- final Iterator<?> iter = ((Collection<?>) addedValues).iterator();
- while (iter.hasNext() && !shouldOpenDialog) {
- final Object current = iter.next();
- if (current instanceof EObject) {
- if (elementToEdit == current) {
- // an element can be owned by itself
- return UnexecutableCommand.INSTANCE;
- } else {
- shouldOpenDialog = ((EObject) current).eContainer() != elementToEdit;
+ if (cmd != null) {
+ ICommand returnedCommand = cmd;
+ if (cmd.canExecute() && featureToEdit instanceof EReference) {
+ boolean shouldOpenDialog = false;
+ final EReference editedReference = (EReference) featureToEdit;
+
+ // we are editing a containment feature
+ if (editedReference.isContainment()) {
+ if (newValue instanceof Collection<?>) {
+ if (!editedReference.isMany()) {
+ return UnexecutableCommand.INSTANCE;
+ } else {
+ final Collection<?> currentValues = new ArrayList<Object>((Collection<?>) elementToEdit.eGet(editedReference));
+ final Collection<?> addedValues = new ArrayList<Object>((Collection<?>) newValue);
+ addedValues.removeAll(currentValues);
+ // we need to test the added values
+ final Iterator<?> iter = ((Collection<?>) addedValues).iterator();
+ while (iter.hasNext() && !shouldOpenDialog) {
+ final Object current = iter.next();
+ if (current instanceof EObject) {
+ if (elementToEdit == current) {
+ // an element can be owned by itself
+ return UnexecutableCommand.INSTANCE;
+ } else {
+ shouldOpenDialog = ((EObject) current).eContainer() != elementToEdit;
+ }
}
}
}
+ } else if (elementToEdit == newValue) {
+ // an element cannot be owned by itself
+ return UnexecutableCommand.INSTANCE;
+ } else if (newValue instanceof EObject) {
+ shouldOpenDialog = ((EObject) newValue).eContainer() != elementToEdit;
}
- } else if (elementToEdit == newValue) {
- // an element cannot be owned by itself
- return UnexecutableCommand.INSTANCE;
- } else if (newValue instanceof EObject) {
- shouldOpenDialog = ((EObject) newValue).eContainer() != elementToEdit;
- }
- if (shouldOpenDialog) {
- returnedCommand = getOpenConfirmChangeContainmentDialogCommand(domain, returnedCommand, editedReference.isMany());
+ if (shouldOpenDialog) {
+ returnedCommand = getOpenConfirmChangeContainmentDialogCommand(domain, returnedCommand, editedReference.isMany());
+ }
}
-
}
+ result.add(returnedCommand);
+ } else {
+ result.add(org.eclipse.gmf.runtime.common.core.command.UnexecutableCommand.INSTANCE);
}
- result.add(returnedCommand);
}
return result.isEmpty() ? null : new GMFtoEMFCommandWrapper(result);
}
@@ -283,7 +286,7 @@ public class EMFFeatureValueCellManager extends AbstractCellManager {
ConvertedValueContainer<?> solvedValue = valueSolver.deduceValueFromString(editedFeature, newValue);
Object convertedValue = solvedValue.getConvertedValue();
Command setValueCommand = getSetValueCommand(domain, editedObject, editedFeature, convertedValue, columnElement, rowElement, tableManager);
- if(null != setValueCommand && !solvedValue.getStatus().isOK()){
+ if (null != setValueCommand && !solvedValue.getStatus().isOK()) {
setValueCommand = new GMFtoEMFCommandWrapper(new ErrorTransactionalCommand(domain, null, null, solvedValue.getStatus()));
}
return setValueCommand;
@@ -305,7 +308,7 @@ public class EMFFeatureValueCellManager extends AbstractCellManager {
* @param valueContainer
* the converted value
* @return
- * the command to create a String resolution Problem
+ * the command to create a String resolution Problem
*/
@Deprecated
// use CellHelper.getCreateStringResolutionProblemCommand(
@@ -366,7 +369,7 @@ public class EMFFeatureValueCellManager extends AbstractCellManager {
* @param valueContainer
* @param sharedMap
*/
- @Deprecated //problem must no be managed here, since Eclipse Mars
+ @Deprecated // problem must no be managed here, since Eclipse Mars
// use CellHelper.createStringResolutionProblem
protected void createStringResolutionProblem(final INattableModelManager tableManager, final Object columnElement, final Object rowElement, final String pastedText, final ConvertedValueContainer<?> valueContainer, final Map<?, ?> sharedMap) {
CellHelper.createStringResolutionProblem(tableManager, columnElement, rowElement, pastedText, valueContainer, sharedMap);
diff --git a/plugins/infra/nattable/org.eclipse.papyrus.infra.nattable.common/META-INF/MANIFEST.MF b/plugins/infra/nattable/org.eclipse.papyrus.infra.nattable.common/META-INF/MANIFEST.MF
index aae0115c45f..b6aea445f90 100644
--- a/plugins/infra/nattable/org.eclipse.papyrus.infra.nattable.common/META-INF/MANIFEST.MF
+++ b/plugins/infra/nattable/org.eclipse.papyrus.infra.nattable.common/META-INF/MANIFEST.MF
@@ -8,18 +8,18 @@ Export-Package: org.eclipse.papyrus.infra.nattable.common,
org.eclipse.papyrus.infra.nattable.common.utils,
org.eclipse.papyrus.infra.nattable.common.wizards,
org.eclipse.papyrus.infra.nattable.internal.common.commands;x-friends:="org.eclipse.papyrus.infra.nattable.gmfdiag"
-Require-Bundle: org.eclipse.papyrus.infra.nattable;bundle-version="[2.1.0,3.0.0)";visibility:=reexport,
+Require-Bundle: org.eclipse.papyrus.infra.nattable;bundle-version="[3.0.0,4.0.0)";visibility:=reexport,
org.eclipse.papyrus.infra.nattable.model;bundle-version="[2.0.0,3.0.0)";visibility:=reexport,
org.eclipse.papyrus.infra.emf;bundle-version="[2.0.0,3.0.0)",
org.eclipse.papyrus.infra.emf.gmf;bundle-version="[1.2.0,2.0.0)",
org.eclipse.papyrus.infra.viewpoints.policy;bundle-version="[1.2.0,2.0.0)";visibility:=reexport,
- org.eclipse.papyrus.infra.emf.nattable;bundle-version="[2.0.0,3.0.0)",
+ org.eclipse.papyrus.infra.emf.nattable;bundle-version="[3.0.0,4.0.0)",
org.eclipse.papyrus.infra.services.edit;bundle-version="[2.0.0,3.0.0)",
- org.eclipse.papyrus.infra.ui;bundle-version="[1.2.0,2.0.0)";visibility:=reexport,
+ org.eclipse.papyrus.infra.ui;bundle-version="[2.0.0,3.0.0)";visibility:=reexport,
org.eclipse.papyrus.infra.types.core;bundle-version="[3.0.0,4.0.0)"
Bundle-Vendor: %Bundle-Vendor
Bundle-ActivationPolicy: lazy
-Bundle-Version: 2.0.0.qualifier
+Bundle-Version: 3.0.0.qualifier
Bundle-Name: %Bundle-Name
Bundle-Activator: org.eclipse.papyrus.infra.nattable.common.Activator
Bundle-ManifestVersion: 2
diff --git a/plugins/infra/nattable/org.eclipse.papyrus.infra.nattable.common/pom.xml b/plugins/infra/nattable/org.eclipse.papyrus.infra.nattable.common/pom.xml
index 052fe79cc98..d925d431854 100644
--- a/plugins/infra/nattable/org.eclipse.papyrus.infra.nattable.common/pom.xml
+++ b/plugins/infra/nattable/org.eclipse.papyrus.infra.nattable.common/pom.xml
@@ -1,12 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
-<project>
- <modelVersion>4.0.0</modelVersion>
- <parent>
- <artifactId>org.eclipse.papyrus.infra-nattable</artifactId>
- <groupId>org.eclipse.papyrus</groupId>
- <version>0.0.1-SNAPSHOT</version>
- </parent>
- <artifactId>org.eclipse.papyrus.infra.nattable.common</artifactId>
- <version>2.0.0-SNAPSHOT</version>
- <packaging>eclipse-plugin</packaging>
+<project>
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <artifactId>org.eclipse.papyrus.infra-nattable</artifactId>
+ <groupId>org.eclipse.papyrus</groupId>
+ <version>0.0.1-SNAPSHOT</version>
+ </parent>
+ <artifactId>org.eclipse.papyrus.infra.nattable.common</artifactId>
+ <version>3.0.0-SNAPSHOT</version>
+ <packaging>eclipse-plugin</packaging>
</project> \ No newline at end of file
diff --git a/plugins/infra/nattable/org.eclipse.papyrus.infra.nattable.common/src/org/eclipse/papyrus/infra/nattable/common/api/TableEditorCreationHelper.java b/plugins/infra/nattable/org.eclipse.papyrus.infra.nattable.common/src/org/eclipse/papyrus/infra/nattable/common/api/TableEditorCreationHelper.java
index da467d1d38f..4e8f340936a 100644
--- a/plugins/infra/nattable/org.eclipse.papyrus.infra.nattable.common/src/org/eclipse/papyrus/infra/nattable/common/api/TableEditorCreationHelper.java
+++ b/plugins/infra/nattable/org.eclipse.papyrus.infra.nattable.common/src/org/eclipse/papyrus/infra/nattable/common/api/TableEditorCreationHelper.java
@@ -351,11 +351,13 @@ public class TableEditorCreationHelper {
if (this.creationCommand != null && this.creationCommand.canExecute()) {
this.editingDomain.getCommandStack().execute(creationCommand);
}
- Collection<?> result = creationCommand.getResult();
- if (result.size() > 0) {
- Object res = result.iterator().next();
- if (res instanceof Table) {
- return (Table) res;
+ if (this.creationCommand != null) {
+ Collection<?> result = creationCommand.getResult();
+ if (result.size() > 0) {
+ Object res = result.iterator().next();
+ if (res instanceof Table) {
+ return (Table) res;
+ }
}
}
}
diff --git a/plugins/infra/nattable/org.eclipse.papyrus.infra.nattable.controlmode/META-INF/MANIFEST.MF b/plugins/infra/nattable/org.eclipse.papyrus.infra.nattable.controlmode/META-INF/MANIFEST.MF
index 46c55fe3a05..8c228271846 100644
--- a/plugins/infra/nattable/org.eclipse.papyrus.infra.nattable.controlmode/META-INF/MANIFEST.MF
+++ b/plugins/infra/nattable/org.eclipse.papyrus.infra.nattable.controlmode/META-INF/MANIFEST.MF
@@ -5,10 +5,10 @@ Export-Package: org.eclipse.papyrus.infra.nattable.controlmode,
Require-Bundle: org.eclipse.papyrus.infra.services.controlmode;bundle-version="[1.2.0,2.0.0)";visibility:=reexport,
org.eclipse.papyrus.infra.emf;bundle-version="[2.0.0,3.0.0)",
org.eclipse.papyrus.infra.emf.gmf;bundle-version="[1.2.0,2.0.0)",
- org.eclipse.papyrus.infra.nattable.common;bundle-version="[2.0.0,3.0.0)"
+ org.eclipse.papyrus.infra.nattable.common;bundle-version="[3.0.0,4.0.0)"
Bundle-Vendor: %Bundle-Vendor
Bundle-ActivationPolicy: lazy
-Bundle-Version: 1.2.0.qualifier
+Bundle-Version: 2.0.0.qualifier
Bundle-Name: %Bundle-Name
Bundle-Activator: org.eclipse.papyrus.infra.nattable.controlmode.Activator
Bundle-ManifestVersion: 2
diff --git a/plugins/infra/nattable/org.eclipse.papyrus.infra.nattable.controlmode/pom.xml b/plugins/infra/nattable/org.eclipse.papyrus.infra.nattable.controlmode/pom.xml
index d46645fb89e..a613b3ee1d5 100644
--- a/plugins/infra/nattable/org.eclipse.papyrus.infra.nattable.controlmode/pom.xml
+++ b/plugins/infra/nattable/org.eclipse.papyrus.infra.nattable.controlmode/pom.xml
@@ -1,12 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
-<project>
- <modelVersion>4.0.0</modelVersion>
- <parent>
- <artifactId>org.eclipse.papyrus.infra-nattable</artifactId>
- <groupId>org.eclipse.papyrus</groupId>
- <version>0.0.1-SNAPSHOT</version>
- </parent>
- <artifactId>org.eclipse.papyrus.infra.nattable.controlmode</artifactId>
- <version>1.2.0-SNAPSHOT</version>
- <packaging>eclipse-plugin</packaging>
-</project>
+<project>
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <artifactId>org.eclipse.papyrus.infra-nattable</artifactId>
+ <groupId>org.eclipse.papyrus</groupId>
+ <version>0.0.1-SNAPSHOT</version>
+ </parent>
+ <artifactId>org.eclipse.papyrus.infra.nattable.controlmode</artifactId>
+ <version>2.0.0-SNAPSHOT</version>
+ <packaging>eclipse-plugin</packaging>
+</project> \ No newline at end of file
diff --git a/plugins/infra/nattable/org.eclipse.papyrus.infra.nattable.gmfdiag/META-INF/MANIFEST.MF b/plugins/infra/nattable/org.eclipse.papyrus.infra.nattable.gmfdiag/META-INF/MANIFEST.MF
index 89c05558574..9eb8ec1162d 100644
--- a/plugins/infra/nattable/org.eclipse.papyrus.infra.nattable.gmfdiag/META-INF/MANIFEST.MF
+++ b/plugins/infra/nattable/org.eclipse.papyrus.infra.nattable.gmfdiag/META-INF/MANIFEST.MF
@@ -1,8 +1,8 @@
Manifest-Version: 1.0
Require-Bundle: org.eclipse.papyrus.infra.emf;bundle-version="[2.0.0,3.0.0)",
- org.eclipse.papyrus.infra.emf.nattable;bundle-version="[2.0.0,3.0.0)",
- org.eclipse.papyrus.infra.gmfdiag.common;bundle-version="[2.0.0,3.0.0)",
- org.eclipse.papyrus.infra.nattable.common;bundle-version="[2.0.0,3.0.0)"
+ org.eclipse.papyrus.infra.emf.nattable;bundle-version="[3.0.0,4.0.0)",
+ org.eclipse.papyrus.infra.gmfdiag.common;bundle-version="[3.0.0,4.0.0)",
+ org.eclipse.papyrus.infra.nattable.common;bundle-version="[3.0.0,4.0.0)"
Bundle-Vendor: %Bundle-Vendor
Bundle-ActivationPolicy: lazy
Bundle-Version: 1.2.0.qualifier
diff --git a/plugins/infra/nattable/org.eclipse.papyrus.infra.nattable.modelexplorer/META-INF/MANIFEST.MF b/plugins/infra/nattable/org.eclipse.papyrus.infra.nattable.modelexplorer/META-INF/MANIFEST.MF
index 44cb4466d48..157431fc326 100644
--- a/plugins/infra/nattable/org.eclipse.papyrus.infra.nattable.modelexplorer/META-INF/MANIFEST.MF
+++ b/plugins/infra/nattable/org.eclipse.papyrus.infra.nattable.modelexplorer/META-INF/MANIFEST.MF
@@ -14,12 +14,12 @@ Require-Bundle: org.eclipse.papyrus.infra.nattable.model;bundle-version="[2.0.0,
org.eclipse.papyrus.emf.facet.query.java.core;bundle-version="[2.0.0,3.0.0)";visibility:=reexport,
org.eclipse.papyrus.emf.facet.custom.metamodel;bundle-version="[1.2.0,2.0.0)";visibility:=reexport,
org.eclipse.papyrus.emf.facet.custom.ui;bundle-version="[2.0.0,3.0.0)",
- org.eclipse.papyrus.infra.ui;bundle-version="[1.2.0,2.0.0)";visibility:=reexport,
+ org.eclipse.papyrus.infra.ui;bundle-version="[2.0.0,3.0.0)";visibility:=reexport,
org.eclipse.papyrus.infra.emf;bundle-version="[2.0.0,3.0.0)",
- org.eclipse.papyrus.extensionpoints.editors;bundle-version="[1.2.0,2.0.0)",
- org.eclipse.papyrus.views.modelexplorer;bundle-version="[2.0.0,3.0.0)"
+ org.eclipse.papyrus.extensionpoints.editors;bundle-version="[2.0.0,3.0.0)",
+ org.eclipse.papyrus.views.modelexplorer;bundle-version="[3.0.0,4.0.0)"
Bundle-Vendor: %Bundle-Vendor
-Bundle-Version: 2.0.0.qualifier
+Bundle-Version: 3.0.0.qualifier
Bundle-Activator: org.eclipse.papyrus.infra.nattable.modelexplorer.Activator
Bundle-ManifestVersion: 2
Bundle-Description: %pluginDescription
diff --git a/plugins/infra/nattable/org.eclipse.papyrus.infra.nattable.modelexplorer/pom.xml b/plugins/infra/nattable/org.eclipse.papyrus.infra.nattable.modelexplorer/pom.xml
index 01b1bf954af..8dde4cb38ea 100644
--- a/plugins/infra/nattable/org.eclipse.papyrus.infra.nattable.modelexplorer/pom.xml
+++ b/plugins/infra/nattable/org.eclipse.papyrus.infra.nattable.modelexplorer/pom.xml
@@ -1,12 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
-<project>
- <modelVersion>4.0.0</modelVersion>
- <parent>
- <artifactId>org.eclipse.papyrus.infra-nattable</artifactId>
- <groupId>org.eclipse.papyrus</groupId>
- <version>0.0.1-SNAPSHOT</version>
- </parent>
- <artifactId>org.eclipse.papyrus.infra.nattable.modelexplorer</artifactId>
- <version>2.0.0-SNAPSHOT</version>
- <packaging>eclipse-plugin</packaging>
+<project>
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <artifactId>org.eclipse.papyrus.infra-nattable</artifactId>
+ <groupId>org.eclipse.papyrus</groupId>
+ <version>0.0.1-SNAPSHOT</version>
+ </parent>
+ <artifactId>org.eclipse.papyrus.infra.nattable.modelexplorer</artifactId>
+ <version>3.0.0-SNAPSHOT</version>
+ <packaging>eclipse-plugin</packaging>
</project> \ No newline at end of file
diff --git a/plugins/infra/nattable/org.eclipse.papyrus.infra.nattable.properties/META-INF/MANIFEST.MF b/plugins/infra/nattable/org.eclipse.papyrus.infra.nattable.properties/META-INF/MANIFEST.MF
index 8d62f875cf7..66893c61ae5 100644
--- a/plugins/infra/nattable/org.eclipse.papyrus.infra.nattable.properties/META-INF/MANIFEST.MF
+++ b/plugins/infra/nattable/org.eclipse.papyrus.infra.nattable.properties/META-INF/MANIFEST.MF
@@ -1,15 +1,15 @@
Manifest-Version: 1.0
Export-Package: org.eclipse.papyrus.infra.nattable.properties.constraints
-Require-Bundle: org.eclipse.papyrus.infra.properties.ui;bundle-version="[1.3.0,2.0.0)",
+Require-Bundle: org.eclipse.papyrus.infra.properties.ui;bundle-version="[2.0.0,3.0.0)",
org.eclipse.papyrus.infra.emf.gmf;bundle-version="[1.2.0,2.0.0)",
org.eclipse.papyrus.infra.constraints;bundle-version="[2.0.0,3.0.0)";visibility:=reexport,
org.eclipse.papyrus.infra.services.edit;bundle-version="[2.0.0,3.0.0)",
org.eclipse.papyrus.infra.viewpoints.policy;bundle-version="[1.2.0,2.0.0)",
- org.eclipse.papyrus.infra.emf.nattable;bundle-version="[2.0.0,3.0.0)",
- org.eclipse.papyrus.infra.nattable.common;bundle-version="[2.0.0,3.0.0)"
+ org.eclipse.papyrus.infra.emf.nattable;bundle-version="[3.0.0,4.0.0)",
+ org.eclipse.papyrus.infra.nattable.common;bundle-version="[3.0.0,4.0.0)"
Bundle-Vendor: %Bundle-Vendor
Bundle-ActivationPolicy: lazy
-Bundle-Version: 2.1.0.qualifier
+Bundle-Version: 2.2.0.qualifier
Bundle-Name: %Bundle-Name
Bundle-Activator: org.eclipse.papyrus.infra.nattable.properties.Activator
Bundle-ManifestVersion: 2
diff --git a/plugins/infra/nattable/org.eclipse.papyrus.infra.nattable.properties/pom.xml b/plugins/infra/nattable/org.eclipse.papyrus.infra.nattable.properties/pom.xml
index bab927344d0..8141d36f713 100644
--- a/plugins/infra/nattable/org.eclipse.papyrus.infra.nattable.properties/pom.xml
+++ b/plugins/infra/nattable/org.eclipse.papyrus.infra.nattable.properties/pom.xml
@@ -1,12 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
-<project>
- <modelVersion>4.0.0</modelVersion>
- <parent>
- <artifactId>org.eclipse.papyrus.infra-nattable</artifactId>
- <groupId>org.eclipse.papyrus</groupId>
- <version>0.0.1-SNAPSHOT</version>
- </parent>
- <artifactId>org.eclipse.papyrus.infra.nattable.properties</artifactId>
- <version>2.1.0-SNAPSHOT</version>
- <packaging>eclipse-plugin</packaging>
+<project>
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <artifactId>org.eclipse.papyrus.infra-nattable</artifactId>
+ <groupId>org.eclipse.papyrus</groupId>
+ <version>0.0.1-SNAPSHOT</version>
+ </parent>
+ <artifactId>org.eclipse.papyrus.infra.nattable.properties</artifactId>
+ <version>2.2.0-SNAPSHOT</version>
+ <packaging>eclipse-plugin</packaging>
</project> \ No newline at end of file
diff --git a/plugins/infra/nattable/org.eclipse.papyrus.infra.nattable.properties/src/org/eclipse/papyrus/infra/nattable/properties/constraints/EObjectInTableCanCreateColumnElementContraint.java b/plugins/infra/nattable/org.eclipse.papyrus.infra.nattable.properties/src/org/eclipse/papyrus/infra/nattable/properties/constraints/EObjectInTableCanCreateColumnElementContraint.java
index 93e6b5be626..3b6235f7eb1 100644
--- a/plugins/infra/nattable/org.eclipse.papyrus.infra.nattable.properties/src/org/eclipse/papyrus/infra/nattable/properties/constraints/EObjectInTableCanCreateColumnElementContraint.java
+++ b/plugins/infra/nattable/org.eclipse.papyrus.infra.nattable.properties/src/org/eclipse/papyrus/infra/nattable/properties/constraints/EObjectInTableCanCreateColumnElementContraint.java
@@ -19,7 +19,7 @@ import org.eclipse.papyrus.infra.nattable.utils.CreatableEObjectAxisUtils;
/**
* The java constraint to define the constraint to create the paste properties from the active nattable editor.
*
- * @since 2.1
+ * @since 2.2
*/
public class EObjectInTableCanCreateColumnElementContraint extends EObjectInTableJavaConstraint {
diff --git a/plugins/infra/nattable/org.eclipse.papyrus.infra.nattable.properties/src/org/eclipse/papyrus/infra/nattable/properties/constraints/EObjectInTableCanCreateRowElementContraint.java b/plugins/infra/nattable/org.eclipse.papyrus.infra.nattable.properties/src/org/eclipse/papyrus/infra/nattable/properties/constraints/EObjectInTableCanCreateRowElementContraint.java
index 440d3645b3d..cf890afe953 100644
--- a/plugins/infra/nattable/org.eclipse.papyrus.infra.nattable.properties/src/org/eclipse/papyrus/infra/nattable/properties/constraints/EObjectInTableCanCreateRowElementContraint.java
+++ b/plugins/infra/nattable/org.eclipse.papyrus.infra.nattable.properties/src/org/eclipse/papyrus/infra/nattable/properties/constraints/EObjectInTableCanCreateRowElementContraint.java
@@ -19,7 +19,7 @@ import org.eclipse.papyrus.infra.nattable.utils.CreatableEObjectAxisUtils;
/**
* The java constraint to define the constraint to create the paste properties from the active nattable editor.
*
- * @since 2.1
+ * @since 2.2
*/
public class EObjectInTableCanCreateRowElementContraint extends EObjectInTableHasTreeFillingConfigurationConstraint {
diff --git a/plugins/infra/nattable/org.eclipse.papyrus.infra.nattable.properties/src/org/eclipse/papyrus/infra/nattable/properties/constraints/EObjectInTableCantCreateColumnElementContraint.java b/plugins/infra/nattable/org.eclipse.papyrus.infra.nattable.properties/src/org/eclipse/papyrus/infra/nattable/properties/constraints/EObjectInTableCantCreateColumnElementContraint.java
index be7ea221715..d80bc172f40 100644
--- a/plugins/infra/nattable/org.eclipse.papyrus.infra.nattable.properties/src/org/eclipse/papyrus/infra/nattable/properties/constraints/EObjectInTableCantCreateColumnElementContraint.java
+++ b/plugins/infra/nattable/org.eclipse.papyrus.infra.nattable.properties/src/org/eclipse/papyrus/infra/nattable/properties/constraints/EObjectInTableCantCreateColumnElementContraint.java
@@ -18,7 +18,7 @@ import org.eclipse.papyrus.infra.nattable.model.nattable.Table;
/**
* The java constraint to define the constraint to not create the paste properties from the active nattable editor.
*
- * @since 2.1
+ * @since 2.2
*/
public class EObjectInTableCantCreateColumnElementContraint extends EObjectInTableCanCreateColumnElementContraint {
diff --git a/plugins/infra/nattable/org.eclipse.papyrus.infra.nattable.properties/src/org/eclipse/papyrus/infra/nattable/properties/constraints/EObjectInTableCantCreateRowElementContraint.java b/plugins/infra/nattable/org.eclipse.papyrus.infra.nattable.properties/src/org/eclipse/papyrus/infra/nattable/properties/constraints/EObjectInTableCantCreateRowElementContraint.java
index 292f5e35565..1a2df1a7998 100644
--- a/plugins/infra/nattable/org.eclipse.papyrus.infra.nattable.properties/src/org/eclipse/papyrus/infra/nattable/properties/constraints/EObjectInTableCantCreateRowElementContraint.java
+++ b/plugins/infra/nattable/org.eclipse.papyrus.infra.nattable.properties/src/org/eclipse/papyrus/infra/nattable/properties/constraints/EObjectInTableCantCreateRowElementContraint.java
@@ -19,7 +19,7 @@ import org.eclipse.papyrus.infra.nattable.utils.CreatableEObjectAxisUtils;
/**
* The java constraint to define the constraint to not create the paste properties from the active nattable editor.
*
- * @since 2.1
+ * @since 2.2
*/
public class EObjectInTableCantCreateRowElementContraint extends EObjectInTableHasTreeFillingConfigurationConstraint {
diff --git a/plugins/infra/nattable/org.eclipse.papyrus.infra.nattable.properties/src/org/eclipse/papyrus/infra/nattable/properties/constraints/EObjectInTableHasColumnFeatureLabelConfigurationConstraint.java b/plugins/infra/nattable/org.eclipse.papyrus.infra.nattable.properties/src/org/eclipse/papyrus/infra/nattable/properties/constraints/EObjectInTableHasColumnFeatureLabelConfigurationConstraint.java
index b4ef211e0e6..eeaa2de58b1 100644
--- a/plugins/infra/nattable/org.eclipse.papyrus.infra.nattable.properties/src/org/eclipse/papyrus/infra/nattable/properties/constraints/EObjectInTableHasColumnFeatureLabelConfigurationConstraint.java
+++ b/plugins/infra/nattable/org.eclipse.papyrus.infra.nattable.properties/src/org/eclipse/papyrus/infra/nattable/properties/constraints/EObjectInTableHasColumnFeatureLabelConfigurationConstraint.java
@@ -19,7 +19,7 @@ import org.eclipse.papyrus.infra.nattable.utils.LabelConfigurationManagementUtil
/**
* The java constraint to check if the table from the active nattable editor has a feature column label configuration.
*
- * @since 2.1
+ * @since 2.2
*/
public class EObjectInTableHasColumnFeatureLabelConfigurationConstraint extends EObjectInTableJavaConstraint {
diff --git a/plugins/infra/nattable/org.eclipse.papyrus.infra.nattable.properties/src/org/eclipse/papyrus/infra/nattable/properties/constraints/EObjectInTableHasColumnObjectLabelConfigurationConstraint.java b/plugins/infra/nattable/org.eclipse.papyrus.infra.nattable.properties/src/org/eclipse/papyrus/infra/nattable/properties/constraints/EObjectInTableHasColumnObjectLabelConfigurationConstraint.java
index 0a73162733d..d97e10948a4 100644
--- a/plugins/infra/nattable/org.eclipse.papyrus.infra.nattable.properties/src/org/eclipse/papyrus/infra/nattable/properties/constraints/EObjectInTableHasColumnObjectLabelConfigurationConstraint.java
+++ b/plugins/infra/nattable/org.eclipse.papyrus.infra.nattable.properties/src/org/eclipse/papyrus/infra/nattable/properties/constraints/EObjectInTableHasColumnObjectLabelConfigurationConstraint.java
@@ -21,7 +21,7 @@ import org.eclipse.papyrus.infra.nattable.utils.LabelConfigurationManagementUtil
/**
* The java constraint to check if the table from the active nattable editor has an object column label configuration.
*
- * @since 2.1
+ * @since 2.2
*/
public class EObjectInTableHasColumnObjectLabelConfigurationConstraint extends EObjectInTableJavaConstraint {
diff --git a/plugins/infra/nattable/org.eclipse.papyrus.infra.nattable.properties/src/org/eclipse/papyrus/infra/nattable/properties/constraints/EObjectInTableHasRowFeatureLabelConfigurationConstraint.java b/plugins/infra/nattable/org.eclipse.papyrus.infra.nattable.properties/src/org/eclipse/papyrus/infra/nattable/properties/constraints/EObjectInTableHasRowFeatureLabelConfigurationConstraint.java
index 8727dc71a75..c0cc9cca09a 100644
--- a/plugins/infra/nattable/org.eclipse.papyrus.infra.nattable.properties/src/org/eclipse/papyrus/infra/nattable/properties/constraints/EObjectInTableHasRowFeatureLabelConfigurationConstraint.java
+++ b/plugins/infra/nattable/org.eclipse.papyrus.infra.nattable.properties/src/org/eclipse/papyrus/infra/nattable/properties/constraints/EObjectInTableHasRowFeatureLabelConfigurationConstraint.java
@@ -19,7 +19,7 @@ import org.eclipse.papyrus.infra.nattable.utils.LabelConfigurationManagementUtil
/**
* The java constraint to check if the table from the active nattable editor has a feature row label configuration.
*
- * @since 2.1
+ * @since 2.2
*/
public class EObjectInTableHasRowFeatureLabelConfigurationConstraint extends EObjectInTableJavaConstraint {
diff --git a/plugins/infra/nattable/org.eclipse.papyrus.infra.nattable.properties/src/org/eclipse/papyrus/infra/nattable/properties/constraints/EObjectInTableHasRowObjectLabelConfigurationConstraint.java b/plugins/infra/nattable/org.eclipse.papyrus.infra.nattable.properties/src/org/eclipse/papyrus/infra/nattable/properties/constraints/EObjectInTableHasRowObjectLabelConfigurationConstraint.java
index 86a0d2d6552..0c2c1f468ee 100644
--- a/plugins/infra/nattable/org.eclipse.papyrus.infra.nattable.properties/src/org/eclipse/papyrus/infra/nattable/properties/constraints/EObjectInTableHasRowObjectLabelConfigurationConstraint.java
+++ b/plugins/infra/nattable/org.eclipse.papyrus.infra.nattable.properties/src/org/eclipse/papyrus/infra/nattable/properties/constraints/EObjectInTableHasRowObjectLabelConfigurationConstraint.java
@@ -21,7 +21,7 @@ import org.eclipse.papyrus.infra.nattable.utils.LabelConfigurationManagementUtil
/**
* The java constraint to check if the table from the active nattable editor has an object row label configuration.
*
- * @since 2.1
+ * @since 2.2
*/
public class EObjectInTableHasRowObjectLabelConfigurationConstraint extends EObjectInTableJavaConstraint {
diff --git a/plugins/infra/nattable/org.eclipse.papyrus.infra.nattable.properties/src/org/eclipse/papyrus/infra/nattable/properties/constraints/EObjectInTableHasTreeFillingConfigurationConstraint.java b/plugins/infra/nattable/org.eclipse.papyrus.infra.nattable.properties/src/org/eclipse/papyrus/infra/nattable/properties/constraints/EObjectInTableHasTreeFillingConfigurationConstraint.java
index 0d35ac10367..858386f7b07 100644
--- a/plugins/infra/nattable/org.eclipse.papyrus.infra.nattable.properties/src/org/eclipse/papyrus/infra/nattable/properties/constraints/EObjectInTableHasTreeFillingConfigurationConstraint.java
+++ b/plugins/infra/nattable/org.eclipse.papyrus.infra.nattable.properties/src/org/eclipse/papyrus/infra/nattable/properties/constraints/EObjectInTableHasTreeFillingConfigurationConstraint.java
@@ -20,7 +20,7 @@ import org.eclipse.papyrus.infra.nattable.utils.TableHelper;
/**
* The java constraint to check if the table from the active nattable editor has tree filling configuration for the first depth.
*
- * @since 2.1
+ * @since 2.2
*/
public class EObjectInTableHasTreeFillingConfigurationConstraint extends EObjectInTableJavaConstraint {
diff --git a/plugins/infra/nattable/org.eclipse.papyrus.infra.nattable.properties/src/org/eclipse/papyrus/infra/nattable/properties/constraints/EObjectInTableIsFlatTableConstraint.java b/plugins/infra/nattable/org.eclipse.papyrus.infra.nattable.properties/src/org/eclipse/papyrus/infra/nattable/properties/constraints/EObjectInTableIsFlatTableConstraint.java
index 20ffd857336..9c60f052da3 100644
--- a/plugins/infra/nattable/org.eclipse.papyrus.infra.nattable.properties/src/org/eclipse/papyrus/infra/nattable/properties/constraints/EObjectInTableIsFlatTableConstraint.java
+++ b/plugins/infra/nattable/org.eclipse.papyrus.infra.nattable.properties/src/org/eclipse/papyrus/infra/nattable/properties/constraints/EObjectInTableIsFlatTableConstraint.java
@@ -19,7 +19,7 @@ import org.eclipse.papyrus.infra.nattable.utils.TableHelper;
/**
* The java constraint to check if the table from the active nattable editor is a flat table.
*
- * @since 2.1
+ * @since 2.2
*/
public class EObjectInTableIsFlatTableConstraint extends EObjectInTableJavaConstraint {
diff --git a/plugins/infra/nattable/org.eclipse.papyrus.infra.nattable.properties/src/org/eclipse/papyrus/infra/nattable/properties/constraints/EObjectInTableJavaConstraint.java b/plugins/infra/nattable/org.eclipse.papyrus.infra.nattable.properties/src/org/eclipse/papyrus/infra/nattable/properties/constraints/EObjectInTableJavaConstraint.java
index 62e6589921b..c29b1295c27 100644
--- a/plugins/infra/nattable/org.eclipse.papyrus.infra.nattable.properties/src/org/eclipse/papyrus/infra/nattable/properties/constraints/EObjectInTableJavaConstraint.java
+++ b/plugins/infra/nattable/org.eclipse.papyrus.infra.nattable.properties/src/org/eclipse/papyrus/infra/nattable/properties/constraints/EObjectInTableJavaConstraint.java
@@ -23,7 +23,7 @@ import org.eclipse.ui.IEditorPart;
/**
* The java constraint to check if the table from the active nattable editor.
*
- * @since 2.1
+ * @since 2.2
*/
public class EObjectInTableJavaConstraint implements JavaQuery {
@@ -35,31 +35,32 @@ public class EObjectInTableJavaConstraint implements JavaQuery {
@Override
public boolean match(Object selection) {
boolean result = false;
-
+
if (null != EditorHelper.getActivePart()) {
final IEditorPart currentEditor = EditorHelper.getCurrentEditor();
- if (currentEditor instanceof IMultiPageEditorPart && null != ((IMultiPageEditorPart)currentEditor).getActiveEditor()) {
- final IMultiPageEditorPart multiDiagramEditor = (IMultiPageEditorPart)currentEditor;
+ if (currentEditor instanceof IMultiPageEditorPart && null != ((IMultiPageEditorPart) currentEditor).getActiveEditor()) {
+ final IMultiPageEditorPart multiDiagramEditor = (IMultiPageEditorPart) currentEditor;
final Table table = multiDiagramEditor.getActiveEditor().getAdapter(Table.class);
- if(null != table){
+ if (null != table) {
result = checkMoreConstraints(table);
}
- }else if(currentEditor instanceof IAdaptable){
- final Table table = ((IAdaptable)currentEditor).getAdapter(Table.class);
+ } else if (currentEditor instanceof IAdaptable) {
+ final Table table = ((IAdaptable) currentEditor).getAdapter(Table.class);
result = checkMoreConstraints(table);
}
}
-
+
return result;
}
-
+
/**
* This allows to check more constraint for the match.
*
- * @param table the current table.
+ * @param table
+ * the current table.
* @return <code>true</code> if the constraints are correctly managed, <code>false</code> otherwise.
*/
- protected boolean checkMoreConstraints(final Table table){
+ protected boolean checkMoreConstraints(final Table table) {
return true;
}
diff --git a/plugins/infra/nattable/org.eclipse.papyrus.infra.nattable.properties/src/org/eclipse/papyrus/infra/nattable/properties/constraints/IsEObjectInFlatTableConstraint.java b/plugins/infra/nattable/org.eclipse.papyrus.infra.nattable.properties/src/org/eclipse/papyrus/infra/nattable/properties/constraints/IsEObjectInFlatTableConstraint.java
index 58a2ce8db68..7ea1265d292 100644
--- a/plugins/infra/nattable/org.eclipse.papyrus.infra.nattable.properties/src/org/eclipse/papyrus/infra/nattable/properties/constraints/IsEObjectInFlatTableConstraint.java
+++ b/plugins/infra/nattable/org.eclipse.papyrus.infra.nattable.properties/src/org/eclipse/papyrus/infra/nattable/properties/constraints/IsEObjectInFlatTableConstraint.java
@@ -20,7 +20,7 @@ import org.eclipse.papyrus.infra.nattable.utils.TableHelper;
/**
* The constraint which allow to determinate if this is a nattable editor as current editor part and a flat table.
*
- * @since 2.1
+ * @since 2.2
*/
public class IsEObjectInFlatTableConstraint extends IsEObjectInTableConstraint {
diff --git a/plugins/infra/nattable/org.eclipse.papyrus.infra.nattable.properties/src/org/eclipse/papyrus/infra/nattable/properties/constraints/IsEObjectInTableConstraint.java b/plugins/infra/nattable/org.eclipse.papyrus.infra.nattable.properties/src/org/eclipse/papyrus/infra/nattable/properties/constraints/IsEObjectInTableConstraint.java
index 1d466b11f13..ab66a5437c5 100644
--- a/plugins/infra/nattable/org.eclipse.papyrus.infra.nattable.properties/src/org/eclipse/papyrus/infra/nattable/properties/constraints/IsEObjectInTableConstraint.java
+++ b/plugins/infra/nattable/org.eclipse.papyrus.infra.nattable.properties/src/org/eclipse/papyrus/infra/nattable/properties/constraints/IsEObjectInTableConstraint.java
@@ -27,7 +27,7 @@ import org.eclipse.ui.IEditorPart;
/**
* The constraint which allow to determinate if this is a nattable editor as current editor part.
*
- * @since 2.1
+ * @since 2.2
*/
public class IsEObjectInTableConstraint extends AbstractConstraint {
@@ -63,14 +63,14 @@ public class IsEObjectInTableConstraint extends AbstractConstraint {
if (null != EditorHelper.getActivePart()) {
final IEditorPart currentEditor = EditorHelper.getCurrentEditor();
- if (currentEditor instanceof IMultiPageEditorPart && null != ((IMultiPageEditorPart)currentEditor).getActiveEditor()) {
- final IMultiPageEditorPart multiDiagramEditor = (IMultiPageEditorPart)currentEditor;
+ if (currentEditor instanceof IMultiPageEditorPart && null != ((IMultiPageEditorPart) currentEditor).getActiveEditor()) {
+ final IMultiPageEditorPart multiDiagramEditor = (IMultiPageEditorPart) currentEditor;
result = EditorHelper.getActivePart().equals(currentEditor)
&& null != multiDiagramEditor.getActiveEditor().getAdapter(NatTableEditor.class)
- && checkMoreTableConstraint(((NatTableEditor)multiDiagramEditor.getActiveEditor()).getTable());
- }else if(currentEditor instanceof IAdaptable){
- final Table table = ((IAdaptable)currentEditor).getAdapter(Table.class);
- result = null != table
+ && checkMoreTableConstraint(((NatTableEditor) multiDiagramEditor.getActiveEditor()).getTable());
+ } else if (currentEditor instanceof IAdaptable) {
+ final Table table = ((IAdaptable) currentEditor).getAdapter(Table.class);
+ result = null != table
&& EditorHelper.getActivePart().equals(currentEditor)
&& checkMoreTableConstraint(table);
}
@@ -78,14 +78,15 @@ public class IsEObjectInTableConstraint extends AbstractConstraint {
return expectedValue == result;
}
-
+
/**
* This allows to check more constraint for the match.
*
- * @param table the current table.
+ * @param table
+ * the current table.
* @return <code>true</code> if the constraints are correctly managed, <code>false</code> otherwise.
*/
- protected boolean checkMoreTableConstraint(final Table table){
+ protected boolean checkMoreTableConstraint(final Table table) {
return true;
}
diff --git a/plugins/infra/nattable/org.eclipse.papyrus.infra.nattable.properties/src/org/eclipse/papyrus/infra/nattable/properties/constraints/IsEObjectInTreeTableConstraint.java b/plugins/infra/nattable/org.eclipse.papyrus.infra.nattable.properties/src/org/eclipse/papyrus/infra/nattable/properties/constraints/IsEObjectInTreeTableConstraint.java
index aab196058ef..98a484dae8b 100644
--- a/plugins/infra/nattable/org.eclipse.papyrus.infra.nattable.properties/src/org/eclipse/papyrus/infra/nattable/properties/constraints/IsEObjectInTreeTableConstraint.java
+++ b/plugins/infra/nattable/org.eclipse.papyrus.infra.nattable.properties/src/org/eclipse/papyrus/infra/nattable/properties/constraints/IsEObjectInTreeTableConstraint.java
@@ -20,7 +20,7 @@ import org.eclipse.papyrus.infra.nattable.utils.TableHelper;
/**
* The constraint which allow to determinate if this is a nattable editor as current editor part and a tree table.
*
- * @since 2.1
+ * @since 2.2
*/
public class IsEObjectInTreeTableConstraint extends IsEObjectInTableConstraint {
diff --git a/plugins/infra/nattable/org.eclipse.papyrus.infra.nattable.views.config/META-INF/MANIFEST.MF b/plugins/infra/nattable/org.eclipse.papyrus.infra.nattable.views.config/META-INF/MANIFEST.MF
index be2075d042d..9385e32bdd5 100644
--- a/plugins/infra/nattable/org.eclipse.papyrus.infra.nattable.views.config/META-INF/MANIFEST.MF
+++ b/plugins/infra/nattable/org.eclipse.papyrus.infra.nattable.views.config/META-INF/MANIFEST.MF
@@ -7,12 +7,12 @@ Export-Package: org.eclipse.papyrus.infra.nattable.views.config,
org.eclipse.papyrus.infra.nattable.views.config.provider,
org.eclipse.papyrus.infra.nattable.views.config.utils
Require-Bundle: org.eclipse.papyrus.infra.emf;bundle-version="[2.0.0,3.0.0)",
- org.eclipse.papyrus.infra.emf.nattable;bundle-version="[2.0.0,3.0.0)";visibility:=reexport,
+ org.eclipse.papyrus.infra.emf.nattable;bundle-version="[3.0.0,4.0.0)";visibility:=reexport,
org.eclipse.papyrus.infra.emf.gmf;bundle-version="[1.2.0,2.0.0)",
org.eclipse.papyrus.infra.services.edit;bundle-version="[2.0.0,3.0.0)"
Bundle-Vendor: %Bundle-Vendor
Bundle-ActivationPolicy: lazy
-Bundle-Version: 2.0.0.qualifier
+Bundle-Version: 3.0.0.qualifier
Bundle-Name: %Bundle-Name
Bundle-Activator: org.eclipse.papyrus.infra.nattable.views.config.Activator
Bundle-ManifestVersion: 2
diff --git a/plugins/infra/nattable/org.eclipse.papyrus.infra.nattable.views.config/pom.xml b/plugins/infra/nattable/org.eclipse.papyrus.infra.nattable.views.config/pom.xml
index 346230debc0..d4e18be48fb 100644
--- a/plugins/infra/nattable/org.eclipse.papyrus.infra.nattable.views.config/pom.xml
+++ b/plugins/infra/nattable/org.eclipse.papyrus.infra.nattable.views.config/pom.xml
@@ -1,12 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
-<project>
- <modelVersion>4.0.0</modelVersion>
- <parent>
- <artifactId>org.eclipse.papyrus.infra-nattable</artifactId>
- <groupId>org.eclipse.papyrus</groupId>
- <version>0.0.1-SNAPSHOT</version>
- </parent>
- <artifactId>org.eclipse.papyrus.infra.nattable.views.config</artifactId>
- <version>2.0.0-SNAPSHOT</version>
- <packaging>eclipse-plugin</packaging>
+<project>
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <artifactId>org.eclipse.papyrus.infra-nattable</artifactId>
+ <groupId>org.eclipse.papyrus</groupId>
+ <version>0.0.1-SNAPSHOT</version>
+ </parent>
+ <artifactId>org.eclipse.papyrus.infra.nattable.views.config</artifactId>
+ <version>3.0.0-SNAPSHOT</version>
+ <packaging>eclipse-plugin</packaging>
</project> \ No newline at end of file
diff --git a/plugins/infra/nattable/org.eclipse.papyrus.infra.nattable.views.editor/META-INF/MANIFEST.MF b/plugins/infra/nattable/org.eclipse.papyrus.infra.nattable.views.editor/META-INF/MANIFEST.MF
index 51101591acb..4cd05bc6159 100644
--- a/plugins/infra/nattable/org.eclipse.papyrus.infra.nattable.views.editor/META-INF/MANIFEST.MF
+++ b/plugins/infra/nattable/org.eclipse.papyrus.infra.nattable.views.editor/META-INF/MANIFEST.MF
@@ -1,5 +1,5 @@
Manifest-Version: 1.0
-Require-Bundle: org.eclipse.papyrus.infra.nattable.common;bundle-version="[2.0.0,3.0.0)"
+Require-Bundle: org.eclipse.papyrus.infra.nattable.common;bundle-version="[3.0.0,4.0.0)"
Bundle-Vendor: %Bundle-Vendor
Bundle-ActivationPolicy: lazy
Bundle-Version: 1.2.0.qualifier
diff --git a/plugins/infra/nattable/org.eclipse.papyrus.infra.nattable/META-INF/MANIFEST.MF b/plugins/infra/nattable/org.eclipse.papyrus.infra.nattable/META-INF/MANIFEST.MF
index 6e5e64b4939..936fe2d883f 100644
--- a/plugins/infra/nattable/org.eclipse.papyrus.infra.nattable/META-INF/MANIFEST.MF
+++ b/plugins/infra/nattable/org.eclipse.papyrus.infra.nattable/META-INF/MANIFEST.MF
@@ -59,15 +59,15 @@ Require-Bundle: org.eclipse.gmf.runtime.emf.type.core;bundle-version="[1.9.0,2.0
org.eclipse.nebula.widgets.nattable.extension.glazedlists;bundle-version="[1.4.0,2.0.0)",
ca.odell.glazedlists;bundle-version="[1.9.0,2.0.0)";visibility:=reexport,
org.eclipse.papyrus.infra.services.decoration;bundle-version="[1.2.0,2.0.0)";visibility:=reexport,
- org.eclipse.papyrus.infra.ui;bundle-version="[1.2.0,2.0.0)";visibility:=reexport,
- org.eclipse.papyrus.infra.ui.emf;bundle-version="[1.2.0,2.0.0)";visibility:=reexport,
+ org.eclipse.papyrus.infra.ui;bundle-version="[2.0.0,3.0.0)";visibility:=reexport,
+ org.eclipse.papyrus.infra.ui.emf;bundle-version="[2.0.0,3.0.0)";visibility:=reexport,
org.eclipse.papyrus.infra.viewpoints.configuration;bundle-version="[2.0.0,3.0.0)";visibility:=reexport,
org.eclipse.papyrus.infra.viewpoints.policy;bundle-version="[1.2.0,2.0.0)",
org.eclipse.papyrus.infra.types.core;bundle-version="[3.0.0,4.0.0)",
- org.eclipse.papyrus.editor;bundle-version="[1.4.0,2.0.0)"
+ org.eclipse.papyrus.editor;bundle-version="[2.0.0,3.0.0)"
Bundle-Vendor: %Bundle-Vendor
Bundle-ActivationPolicy: lazy
-Bundle-Version: 2.1.0.qualifier
+Bundle-Version: 3.0.0.qualifier
Bundle-Name: %Bundle-Name
Bundle-Activator: org.eclipse.papyrus.infra.nattable.Activator
Bundle-ManifestVersion: 2
diff --git a/plugins/infra/nattable/org.eclipse.papyrus.infra.nattable/pom.xml b/plugins/infra/nattable/org.eclipse.papyrus.infra.nattable/pom.xml
index 1c2698e8f8e..799251ff3ce 100644
--- a/plugins/infra/nattable/org.eclipse.papyrus.infra.nattable/pom.xml
+++ b/plugins/infra/nattable/org.eclipse.papyrus.infra.nattable/pom.xml
@@ -1,12 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
-<project>
- <modelVersion>4.0.0</modelVersion>
- <parent>
- <artifactId>org.eclipse.papyrus.infra-nattable</artifactId>
- <groupId>org.eclipse.papyrus</groupId>
- <version>0.0.1-SNAPSHOT</version>
- </parent>
- <artifactId>org.eclipse.papyrus.infra.nattable</artifactId>
- <version>2.1.0-SNAPSHOT</version>
- <packaging>eclipse-plugin</packaging>
+<project>
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <artifactId>org.eclipse.papyrus.infra-nattable</artifactId>
+ <groupId>org.eclipse.papyrus</groupId>
+ <version>0.0.1-SNAPSHOT</version>
+ </parent>
+ <artifactId>org.eclipse.papyrus.infra.nattable</artifactId>
+ <version>3.0.0-SNAPSHOT</version>
+ <packaging>eclipse-plugin</packaging>
</project> \ No newline at end of file
diff --git a/plugins/infra/nattable/org.eclipse.papyrus.infra.nattable/src/org/eclipse/papyrus/infra/nattable/comparator/DoubleFilterComparator.java b/plugins/infra/nattable/org.eclipse.papyrus.infra.nattable/src/org/eclipse/papyrus/infra/nattable/comparator/DoubleFilterComparator.java
index f78303122a1..adbc33db977 100644
--- a/plugins/infra/nattable/org.eclipse.papyrus.infra.nattable/src/org/eclipse/papyrus/infra/nattable/comparator/DoubleFilterComparator.java
+++ b/plugins/infra/nattable/org.eclipse.papyrus.infra.nattable/src/org/eclipse/papyrus/infra/nattable/comparator/DoubleFilterComparator.java
@@ -1,74 +1,74 @@
-/*****************************************************************************
- * Copyright (c) 2015 CEA LIST and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * CEA LIST - Initial API and implementation
- *
- *****************************************************************************/
-
-package org.eclipse.papyrus.infra.nattable.comparator;
-
-import java.math.BigDecimal;
-import java.util.Comparator;
-
-import org.eclipse.papyrus.infra.nattable.filter.FilterPreferences;
-import org.eclipse.papyrus.infra.tools.util.TypeUtils;
-
-/**
- * @author VL222926
- *
- */
-public class DoubleFilterComparator implements Comparator<Object> {
-
- private static DoubleFilterComparator singleton;
-
- /**
- *
- * @return
- */
- public static final DoubleFilterComparator getInstance() {
- if (singleton == null) {
- singleton = new DoubleFilterComparator();
- }
- return singleton;
- }
-
- /**
- * @see java.util.Comparator#compare(java.lang.Object, java.lang.Object)
- *
- * @param o1
- * @param o2
- * @return
- */
- @Override
- public int compare(Object o1, Object o2) {
- if (o1 instanceof Double && o2 instanceof Double) {
- Double d1 = (Double) o1;
- Double d2 = (Double) o2;
- return d1.compareTo(d2);
- }
- if (!(o1 instanceof Double)) {
- return FilterPreferences.INCONSISTENT_VALUE;
- }
- // o1 is the cell value and o2 the value to match
- if (o1 instanceof Double) {
- Double d1 = (Double) o1;
- Double d2 = null;
- if (o2 instanceof Double) {
- if (TypeUtils.isDoubleValue((String) o2)) {
- // big decimal to avoid to get comma as separator instead of dot
- d2 = new BigDecimal((String) o2).doubleValue();
- return d1.compareTo(d2);
- }
- return FilterPreferences.INCONSISTENT_VALUE;
- }
- }
- return FilterPreferences.INCONSISTENT_VALUE;
- }
-
-}
+/*****************************************************************************
+ * Copyright (c) 2015 CEA LIST and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.infra.nattable.comparator;
+
+import java.math.BigDecimal;
+import java.util.Comparator;
+
+import org.eclipse.papyrus.infra.nattable.filter.FilterPreferences;
+import org.eclipse.papyrus.infra.tools.util.TypeUtils;
+
+/**
+ * @author VL222926
+ *
+ */
+public class DoubleFilterComparator implements Comparator<Object> {
+
+ private static DoubleFilterComparator singleton;
+
+ /**
+ *
+ * @return
+ */
+ public static final DoubleFilterComparator getInstance() {
+ if (singleton == null) {
+ singleton = new DoubleFilterComparator();
+ }
+ return singleton;
+ }
+
+ /**
+ * @see java.util.Comparator#compare(java.lang.Object, java.lang.Object)
+ *
+ * @param o1
+ * @param o2
+ * @return
+ */
+ @Override
+ public int compare(Object o1, Object o2) {
+ if (o1 instanceof Double && o2 instanceof Double) {
+ Double d1 = (Double) o1;
+ Double d2 = (Double) o2;
+ return d1.compareTo(d2);
+ }
+ if (!(o1 instanceof Double)) {
+ return FilterPreferences.INCONSISTENT_VALUE;
+ }
+ // o1 is the cell value and o2 the value to match
+ if (o1 instanceof Double) {
+ Double d1 = (Double) o1;
+ Double d2 = null;
+ if (o2 instanceof Double) {
+ if (TypeUtils.isDoubleValue(o2.toString())) {
+ // big decimal to avoid to get comma as separator instead of dot
+ d2 = new BigDecimal(o2.toString()).doubleValue();
+ return d1.compareTo(d2);
+ }
+ return FilterPreferences.INCONSISTENT_VALUE;
+ }
+ }
+ return FilterPreferences.INCONSISTENT_VALUE;
+ }
+
+}
diff --git a/plugins/infra/nattable/org.eclipse.papyrus.infra.nattable/src/org/eclipse/papyrus/infra/nattable/dataprovider/FilterRowDataProvider.java b/plugins/infra/nattable/org.eclipse.papyrus.infra.nattable/src/org/eclipse/papyrus/infra/nattable/dataprovider/FilterRowDataProvider.java
index 54640513a3b..75ba4fda298 100755
--- a/plugins/infra/nattable/org.eclipse.papyrus.infra.nattable/src/org/eclipse/papyrus/infra/nattable/dataprovider/FilterRowDataProvider.java
+++ b/plugins/infra/nattable/org.eclipse.papyrus.infra.nattable/src/org/eclipse/papyrus/infra/nattable/dataprovider/FilterRowDataProvider.java
@@ -1,579 +1,580 @@
-/*******************************************************************************
- * Copyright (c) 2012, 2013 Original authors and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Original authors and others - initial API and implementation
- ******************************************************************************/
-package org.eclipse.papyrus.infra.nattable.dataprovider;
-
-
-
-import java.util.Collection;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.concurrent.atomic.AtomicBoolean;
-
-import org.eclipse.emf.common.command.Command;
-import org.eclipse.emf.common.command.CompoundCommand;
-import org.eclipse.emf.edit.command.DeleteCommand;
-import org.eclipse.emf.transaction.TransactionalEditingDomain;
-import org.eclipse.nebula.widgets.nattable.NatTable;
-import org.eclipse.nebula.widgets.nattable.config.IConfigRegistry;
-import org.eclipse.nebula.widgets.nattable.data.IDataProvider;
-import org.eclipse.nebula.widgets.nattable.data.convert.IDisplayConverter;
-import org.eclipse.nebula.widgets.nattable.filterrow.FilterRowDataLayer;
-import org.eclipse.nebula.widgets.nattable.filterrow.IFilterStrategy;
-import org.eclipse.nebula.widgets.nattable.filterrow.event.FilterAppliedEvent;
-import org.eclipse.nebula.widgets.nattable.layer.ILayer;
-import org.eclipse.nebula.widgets.nattable.persistence.IPersistable;
-import org.eclipse.nebula.widgets.nattable.style.DisplayMode;
-import org.eclipse.nebula.widgets.nattable.util.ObjectUtils;
-import org.eclipse.papyrus.infra.nattable.filter.IFilterValueToMatchManager;
-import org.eclipse.papyrus.infra.nattable.filter.configuration.IFilterConfiguration;
-import org.eclipse.papyrus.infra.nattable.manager.table.INattableModelManager;
-import org.eclipse.papyrus.infra.nattable.manager.table.NattableModelManager;
-import org.eclipse.papyrus.infra.nattable.model.nattable.nattableaxis.IAxis;
-import org.eclipse.papyrus.infra.nattable.model.nattable.nattablestyle.NattablestylePackage;
-import org.eclipse.papyrus.infra.nattable.model.nattable.nattablestyle.Style;
-import org.eclipse.papyrus.infra.nattable.utils.NattableConfigAttributes;
-import org.eclipse.papyrus.infra.nattable.utils.TableEditingDomainUtils;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Display;
-
-
-/**
- * Data provider for the filter row
- * <ul>
- * <li>Stores filter strings</li>
- * <li>Applies them to the ca.odell.glazedlists.matchers.MatcherEditor on the ca.odell.glazedlists.FilterList</li>
- * </ul>
- *
- * Duplicated and adapted code from nattable
- */
-public class FilterRowDataProvider<T> implements IDataProvider /* , IPersistable */{
-
- /**
- * Replacement for the pipe character | that is used for persistence.
- * If regular expressions are used for filtering, the pipe character can be used
- * in the regular expression to specify alternations. As the persistence
- * mechanism in NatTable uses the pipe character for separation of values,
- * the persistence breaks for such cases.
- * By replacing the pipe in the regular expression with some silly uncommon
- * value specified here, we ensure to be able to also persist pipes in the
- * regular expressions, aswell as being backwards compatible with already
- * saved filter row states.
- */
- public static final String PIPE_REPLACEMENT = "°~°"; //$NON-NLS-1$
-
- /**
- * The prefix String that will be used to mark that the following filter
- * value in the persisted state is a collection.
- */
- public static final String FILTER_COLLECTION_PREFIX = "°coll("; //$NON-NLS-1$
-
- /**
- * The {@link IFilterStrategy} to which the set filter value should be applied.
- */
- private final IFilterStrategy<T> filterStrategy;
- /**
- * The column header layer where this {@link IDataProvider} is used for filtering.
- * Needed for retrieval of column indexes and firing according filter events.
- */
- private final ILayer columnHeaderLayer;
- /**
- * The {@link IDataProvider} of the column header.
- * This is necessary to retrieve the real column count of the column header and not a
- * transformed one. (e.g. hiding a column would change the column count in the column header
- * but not in the column header {@link IDataProvider}).
- */
- private final IDataProvider columnHeaderDataProvider;
-
- // /**
- // * The {@link IConfigRegistry} needed to retrieve the {@link IDisplayConverter} for converting
- // * the values on state save/load operations.
- // */
- // private final IConfigRegistry configRegistry;
-
- private final INattableModelManager manager;
- /**
- * Contains the filter objects mapped to the column index.
- * Basically the data storage for the set filters in the filter row so they are
- * visible to the user who entered them.
- */
- private Map<Integer, Object> filterIndexToObjectMap = new HashMap<Integer, Object>();
-
- private Runnable refreshFilterRunnable;
-
- /* Flag to avoid reentrant call to refresh */
- private AtomicBoolean isFilterRefreshing = new AtomicBoolean(false);
-
-// private ResourceSetListener listener;
-
-
- /**
- *
- * @param filterStrategy
- * The {@link IFilterStrategy} to which the set filter value should be applied.
- * @param columnHeaderLayer
- * The column header layer where this {@link IDataProvider} is used for filtering
- * needed for retrieval of column indexes and firing according filter events..
- * @param columnHeaderDataProvider
- * The {@link IDataProvider} of the column header needed to retrieve the real
- * column count of the column header and not a transformed one.
- * @param tableManager
- * The {@link IConfigRegistry} needed to retrieve the {@link IDisplayConverter} for
- * converting the values on state save/load operations.
- */
- public FilterRowDataProvider(IFilterStrategy<T> filterStrategy, ILayer columnHeaderLayer, IDataProvider columnHeaderDataProvider, INattableModelManager tableManager) {
- this.filterStrategy = filterStrategy;
- this.columnHeaderLayer = columnHeaderLayer;
- this.columnHeaderDataProvider = columnHeaderDataProvider;
- this.manager = tableManager;
-// TransactionalEditingDomain domain = TableEditingDomainUtils.getTableEditingDomain(this.manager.getTable());
-// listener = new ResourceSetListener() {
-//
-// @Override
-// public Command transactionAboutToCommit(ResourceSetChangeEvent event) throws RollbackException {
-// // TODO Auto-generated method stub
-// return null;
-// }
-//
-// @Override
-// public void resourceSetChanged(ResourceSetChangeEvent event) {
-// // TODO Auto-generated method stub
-// for (Notification current : event.getNotifications()) {
-// if (current.getNotifier() instanceof IAxis) {
-// IAxis axis = (IAxis) current.getNotifier();
-// EObject parent = axis.eContainer();
-// if (current.getOldValue() instanceof NamedStyle) {
-// NamedStyle style = (NamedStyle) current.getOldValue();
-// if (style.getName().equals(IFilterConfiguration.FILTER_VALUE_TO_MATCH)) {
-// int index = manager.getColumnElementsList().indexOf(axis);
-// getDataValue(index, 0);
-// applyFilter();
-// }
-// }
-// if (current.getNewValue() instanceof NamedStyle) {
-// NamedStyle style = (NamedStyle) current.getOldValue();
-// if (style.getName().equals(IFilterConfiguration.FILTER_VALUE_TO_MATCH)) {
-// int index = manager.getColumnElementsList().indexOf(axis);
-// getDataValue(index, 0);
-// applyFilter();
-// }
-// }
-// }
-//
-// }
-//
-// }
-//
-// @Override
-// public boolean isPrecommitOnly() {
-// // TODO Auto-generated method stub
-// return false;
-// }
-//
-// @Override
-// public boolean isPostcommitOnly() {
-// // TODO Auto-generated method stub
-// return false;
-// }
-//
-// @Override
-// public boolean isAggregatePrecommitListener() {
-// // TODO Auto-generated method stub
-// return false;
-// }
-//
-// @Override
-// public NotificationFilter getFilter() {
-// // TODO Auto-generated method stub
-// return null;
-// }
-// };
-// domain.addResourceSetListener(listener);
- }
-
- /**
- * Returns the map that contains the filter objects mapped to the column index.
- * It is the data storage for the inserted filters into the filter row by the user.
- * <p>
- * Note: Usually it is not intended to modify this Map directly. You should rather call <code>setDataValue(int, int, Object)</code> or <code>clearAllFilters()</code> to modify this Map to ensure consistency in other framework code. It is made visible
- * because there might be code that needs to modify the Map without index transformations or firing events.
- *
- * @return Map that contains the filter objects mapped to the column index.
- */
- public Map<Integer, Object> getFilterIndexToObjectMap() {
- return this.filterIndexToObjectMap;
- }
-
- /**
- * Set the map that contains the filter objects mapped to the column index to be the
- * data storage for the inserted filters into the filter row by the user.
- * <p>
- * Note: Usually it is not intended to set this Map from the outside as it is created in the constructor. But there might be use cases where you e.g. need to connect filter rows to each other. In this case it might be useful to override the local Map with
- * the one form another FilterRowDataProvider. This is not a typical use case, therefore you should use this method carefully!
- *
- * @param filterIndexToObjectMap
- * Map that contains the filter objects mapped to the column index.
- */
- public void setFilterIndexToObjectMap(Map<Integer, Object> filterIndexToObjectMap) {
- this.filterIndexToObjectMap = filterIndexToObjectMap;
- }
-
- @Override
- public int getColumnCount() {
- return columnHeaderDataProvider.getColumnCount();
- }
-
- public void updateMapValue(int columnIndex) {
- NatTable natTable = (NatTable) manager.getAdapter(NatTable.class);
- IConfigRegistry configRegistry = natTable.getConfigRegistry();
-
- if (manager != null) {
- IFilterValueToMatchManager loader = getFilterValueToMatchManager(columnIndex);
- if (loader != null) {
- Object columnObject = manager.getColumnElement(columnIndex);
- Object savedValue = loader.getValueToMatch(configRegistry, columnObject);
- // to manage undo/redo
- Object mapValue = filterIndexToObjectMap.get(columnIndex);
- if (savedValue != mapValue) {
- if ((mapValue != null && !mapValue.equals(savedValue)) || (savedValue != null && !savedValue.equals(mapValue))) {
- if (savedValue == null) {
- filterIndexToObjectMap.remove(columnIndex);
- } else {
- filterIndexToObjectMap.put(columnIndex, savedValue);
- }
- applyFilter();
- }
- }
- }
- }
- }
-
- @Override
- public Object getDataValue(int columnIndex, int rowIndex) {
-// NatTable natTable = (NatTable) manager.getAdapter(NatTable.class);
-// IConfigRegistry configRegistry = natTable.getConfigRegistry();
-//
-// if (manager != null) {
-// IFilterValueToMatchManager loader = getFilterValueToMatchManager(columnIndex);
-// if (loader != null) {
-// Object columnObject = manager.getColumnElement(columnIndex);
-// Object savedValue = loader.getValueToMatch(configRegistry, columnObject);
-// // to manage undo/redo
-// Object mapValue = filterIndexToObjectMap.get(columnIndex);
-// if (savedValue != mapValue) {
-// if ((mapValue != null && !mapValue.equals(savedValue)) || (savedValue != null && !savedValue.equals(mapValue))) {
-// if (savedValue == null) {
-// filterIndexToObjectMap.remove(columnIndex);
-// } else {
-// filterIndexToObjectMap.put(columnIndex, savedValue);
-// }
-// applyFilter();
-//
-// }
-// }
-// }
-// }
-
- return filterIndexToObjectMap.get(columnIndex);
- }
-
- /**
- * refresh the view.
- */
- protected void refreshFilterInUIThread() {
- NatTable natTable = getNatTable();
- // Need to refresh, even if (temporarily) invisible
- // (Better alternative?: store refresh event and execute once visible again)
- if (natTable != null && natTable.isDisposed()) {
- return;
- }
-
- // avoid reentrant call
- // Refresh only of we are not already refreshing.
- if (isFilterRefreshing.compareAndSet(false, true)) {
- filterStrategy.applyFilter(filterIndexToObjectMap);
- columnHeaderLayer.fireLayerEvent(new FilterAppliedEvent(columnHeaderLayer));
- isFilterRefreshing.set(false);
- }
- }
-
-
-
- /**
- *
- * @return
- * a new runnable for the refreash action
- */
- private Runnable createRefreshFilterRunnable() {
- return new Runnable() {
-
- @Override
- public void run() {
- // Only run if I'm still pending
- synchronized (this) {
- if (refreshFilterRunnable != this) {
- return;
- }
-
- refreshFilterRunnable = null;
- }
- refreshFilterInUIThread();
- ((NattableModelManager) manager).refreshNatTable();
- }
- };
- }
-
- private NatTable getNatTable() {
- return (NatTable) manager.getAdapter(NatTable.class);
- }
-
- public void applyFilter() {
- // This refresh code has been duplicated from the refresh of the ModelExplorer (class ModelExplorerView)
- final Runnable schedule;
- NatTable natTable = getNatTable();
- if (natTable != null && !natTable.isDisposed()) {
- synchronized (this) {
- if (refreshFilterRunnable == null) {
- // No refresh is yet pending. Schedule one
- schedule = createRefreshFilterRunnable();
- refreshFilterRunnable = schedule;
- } else {
- schedule = null;
- }
- }
-
- if (schedule != null) {
- Control control = natTable;
- Display display = ((control == null) || control.isDisposed()) ? null : control.getDisplay();
-
- if (display != null) {
- // Don't need to schedule a refresh if we have no control or it's disposed
- display.asyncExec(schedule);
- }
- }
- }
- }
-
-
-
- @Override
- public int getRowCount() {
- return 1;
- }
-
- @Override
- public void setDataValue(int columnIndex, int rowIndex, Object newValue) {
- columnIndex = columnHeaderLayer.getColumnIndexByPosition(columnIndex);
- // INattableModelManager manager = configRegistry.getConfigAttribute(NattableConfigAttributes.NATTABLE_MODEL_MANAGER_CONFIG_ATTRIBUTE, DisplayMode.NORMAL, NattableConfigAttributes.NATTABLE_MODEL_MANAGER_ID);
-
- NatTable natTable = (NatTable) manager.getAdapter(NatTable.class);
- IConfigRegistry configRegistry = natTable.getConfigRegistry();
- if (manager != null) {
- IFilterValueToMatchManager loader = getFilterValueToMatchManager(columnIndex);
- if (loader != null) {
- Object columnObject = manager.getColumnElement(columnIndex);
- loader.saveValueToMatch(configRegistry, columnObject, newValue);
- }
- }
- if (ObjectUtils.isNotNull(newValue)) {
- filterIndexToObjectMap.put(columnIndex, newValue);
- } else {
- filterIndexToObjectMap.remove(columnIndex);
- }
-
- filterStrategy.applyFilter(filterIndexToObjectMap);
-
- columnHeaderLayer.fireLayerEvent(new FilterAppliedEvent(columnHeaderLayer));
- }
-
- /**
- *
- * @param columnIndex
- * the index of the column
- * @return
- * the filter value to match manager to use
- */
- private IFilterValueToMatchManager getFilterValueToMatchManager(int columnIndex) {
- StringBuilder builder = new StringBuilder();
- builder.append(FilterRowDataLayer.FILTER_ROW_COLUMN_LABEL_PREFIX);
- builder.append(Integer.valueOf(columnIndex));
- return getConfigRegistry().getConfigAttribute(NattableConfigAttributes.FILTER_VALUE_TO_MATCH_MANAGER, DisplayMode.NORMAL, builder.toString());
- }
-
- /**
- *
- * @return
- * the config registry to used by the nattable widget
- */
- private IConfigRegistry getConfigRegistry() {
- NatTable natTable = (NatTable) this.manager.getAdapter(NatTable.class);
- return natTable.getConfigRegistry();
- }
-
- // Load/save state
- //
- // @Override
- // public void saveState(String prefix, Properties properties) {
- // Map<Integer, String> filterTextByIndex = new HashMap<Integer, String>();
- // for(Integer columnIndex : filterIndexToObjectMap.keySet()) {
- // final IDisplayConverter converter = configRegistry.getConfigAttribute(
- // CellConfigAttributes.DISPLAY_CONVERTER,
- // DisplayMode.NORMAL,
- // FilterRowDataLayer.FILTER_ROW_COLUMN_LABEL_PREFIX + columnIndex);
- //
- // String filterText = getFilterStringRepresentation(filterIndexToObjectMap.get(columnIndex), converter);
- // filterText = filterText.replace("|", PIPE_REPLACEMENT); //$NON-NLS-1$
- // filterTextByIndex.put(columnIndex, filterText);
- // }
- //
- // String string = PersistenceUtils.mapAsString(filterTextByIndex);
- //
- // if (!isEmpty(string)) {
- // properties.put(prefix + FilterRowDataLayer.PERSISTENCE_KEY_FILTER_ROW_TOKENS, string);
- // }
- // }
-
- // @Override
- // public void loadState(String prefix, Properties properties) {
- // filterIndexToObjectMap.clear();
- //
- // try {
- // Object property = properties.get(prefix + FilterRowDataLayer.PERSISTENCE_KEY_FILTER_ROW_TOKENS);
- // Map<Integer, String> filterTextByIndex = PersistenceUtils.parseString(property);
- // for (Integer columnIndex : filterTextByIndex.keySet()) {
- // final IDisplayConverter converter = configRegistry.getConfigAttribute(
- // CellConfigAttributes.DISPLAY_CONVERTER,
- // DisplayMode.NORMAL,
- // FilterRowDataLayer.FILTER_ROW_COLUMN_LABEL_PREFIX + columnIndex);
- //
- // String filterText = filterTextByIndex.get(columnIndex);
- // filterText = filterText.replace(PIPE_REPLACEMENT, "|"); //$NON-NLS-1$
- // filterIndexToObjectMap.put(columnIndex, getFilterFromString(filterText, converter));
- // }
- // } catch (Exception e) {
- // log.error("Error while restoring filter row text!", e); //$NON-NLS-1$
- // }
-
- // filterStrategy.applyFilter(filterIndexToObjectMap);
- // }
-
- /**
- * This method is used to support saving of a filter collection, e.g. in the context of the
- * Excel like filter row. In such cases the filter value is not a simple String but a
- * Collection of filter values that need to be converted to a String representation.
- * As the state persistence is encapsulated to be handled here, we need to take care
- * of such states here also.
- *
- * @param filterValue
- * The filter value object that is used for filtering.
- * @param converter
- * The converter that is used to convert the filter value, which is necessary
- * to support filtering of custom types.
- * @return The String representation of the filter value.
- */
- private String getFilterStringRepresentation(Object filterValue, IDisplayConverter converter) {
- // in case the filter value is a collection of values, we need to create a special
- // string representation
- if (filterValue instanceof Collection) {
- String collectionSpec = FILTER_COLLECTION_PREFIX + filterValue.getClass().getName() + ")"; //$NON-NLS-1$
- StringBuilder builder = new StringBuilder(collectionSpec);
- builder.append("["); //$NON-NLS-1$
- Collection<?> filterCollection = (Collection<?>) filterValue;
- for (Iterator<?> iterator = filterCollection.iterator(); iterator.hasNext();) {
- Object filterObject = iterator.next();
- builder.append(converter.canonicalToDisplayValue(filterObject));
- if (iterator.hasNext())
- builder.append(IPersistable.VALUE_SEPARATOR);
- }
-
- builder.append("]"); //$NON-NLS-1$
- return builder.toString();
- }
- return (String) converter.canonicalToDisplayValue(filterValue);
- }
-
- /**
- * This method is used to support loading of a filter collection, e.g. in the context of the
- * Excel like filter row. In such cases the saved filter value is not a simple String but
- * represents a Collection of filter values that need to be converted to the corresponding values.
- * As the state persistence is encapsulated to be handled here, we need to take care
- * of such states here also.
- *
- * @param filterText
- * The String representation of the applied saved filter.
- * @param converter
- * The converter that is used to convert the filter value, which is necessary
- * to support filtering of custom types.
- * @return The filter value that will be used to apply a filter to the IFilterStrategy
- *
- * @throws InstantiationException
- * @throws IllegalAccessException
- * @throws ClassNotFoundException
- */
- @SuppressWarnings({ "rawtypes", "unchecked" })
- private Object getFilterFromString(String filterText, IDisplayConverter converter) throws InstantiationException, IllegalAccessException, ClassNotFoundException {
- if (filterText.startsWith(FILTER_COLLECTION_PREFIX)) {
- // the filter text represents a collection
- int indexEndCollSpec = filterText.indexOf(")"); //$NON-NLS-1$
- String collectionSpec = filterText.substring(filterText.indexOf("(") + 1, indexEndCollSpec); //$NON-NLS-1$
- Collection filterCollection = (Collection) Class.forName(collectionSpec).newInstance();
-
- // also get rid of the collection marks
- filterText = filterText.substring(indexEndCollSpec + 2, filterText.length() - 1);
- String[] filterSplit = filterText.split(IPersistable.VALUE_SEPARATOR);
- for (String filterString : filterSplit) {
- filterCollection.add(converter.displayToCanonicalValue(filterString));
- }
-
- return filterCollection;
- }
- return converter.displayToCanonicalValue(filterText);
- }
-
- /**
- * Clear all filters that are currently applied.
- */
- public void clearAllFilters() {
- filterIndexToObjectMap.clear();
- filterStrategy.applyFilter(filterIndexToObjectMap);
-
- // we clear the filter
- if (manager != null) {
- CompoundCommand cc = new CompoundCommand("Clear All Filter"); //$NON-NLS-1$
- TransactionalEditingDomain domain = TableEditingDomainUtils.getTableEditingDomain(manager.getTable());
- List<?> columnElement = manager.getColumnElementsList();
- for (Object current : columnElement) {
- if (current instanceof IAxis) {
- Style idToDestroy = ((IAxis) current).getNamedStyle(NattablestylePackage.eINSTANCE.getStringValueStyle(), IFilterConfiguration.FILTER_SYSTEM_ID);
- Style keyToDestroy = ((IAxis) current).getNamedStyle(NattablestylePackage.eINSTANCE.getStyle(), IFilterConfiguration.FILTER_FORCED_BY_USER_ID);
-
- if (idToDestroy != null) {
- Command cmd = DeleteCommand.create(domain, idToDestroy);
- if (cmd != null && cmd.canExecute()) {
- cc.append(cmd);
- }
- }
- if (idToDestroy != null) {
- Command cmd = DeleteCommand.create(domain, keyToDestroy);
- if (cmd != null && cmd.canExecute()) {
- cc.append(cmd);
- }
- }
- }
- }
- if (!cc.isEmpty() && cc.canExecute()) {
- domain.getCommandStack().execute(cc);
- }
- }
-
- }
-}
+/*******************************************************************************
+ * Copyright (c) 2012, 2013 Original authors and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Original authors and others - initial API and implementation
+ ******************************************************************************/
+package org.eclipse.papyrus.infra.nattable.dataprovider;
+
+
+
+import java.util.Collection;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+import java.util.concurrent.atomic.AtomicBoolean;
+
+import org.eclipse.emf.common.command.Command;
+import org.eclipse.emf.common.command.CompoundCommand;
+import org.eclipse.emf.edit.command.DeleteCommand;
+import org.eclipse.emf.transaction.TransactionalEditingDomain;
+import org.eclipse.nebula.widgets.nattable.NatTable;
+import org.eclipse.nebula.widgets.nattable.config.IConfigRegistry;
+import org.eclipse.nebula.widgets.nattable.data.IDataProvider;
+import org.eclipse.nebula.widgets.nattable.data.convert.IDisplayConverter;
+import org.eclipse.nebula.widgets.nattable.filterrow.FilterRowDataLayer;
+import org.eclipse.nebula.widgets.nattable.filterrow.IFilterStrategy;
+import org.eclipse.nebula.widgets.nattable.filterrow.event.FilterAppliedEvent;
+import org.eclipse.nebula.widgets.nattable.layer.ILayer;
+import org.eclipse.nebula.widgets.nattable.persistence.IPersistable;
+import org.eclipse.nebula.widgets.nattable.style.DisplayMode;
+import org.eclipse.nebula.widgets.nattable.util.ObjectUtils;
+import org.eclipse.papyrus.infra.nattable.filter.IFilterValueToMatchManager;
+import org.eclipse.papyrus.infra.nattable.filter.configuration.IFilterConfiguration;
+import org.eclipse.papyrus.infra.nattable.manager.table.INattableModelManager;
+import org.eclipse.papyrus.infra.nattable.manager.table.NattableModelManager;
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattableaxis.IAxis;
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattablestyle.NattablestylePackage;
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattablestyle.Style;
+import org.eclipse.papyrus.infra.nattable.utils.NattableConfigAttributes;
+import org.eclipse.papyrus.infra.nattable.utils.TableEditingDomainUtils;
+import org.eclipse.swt.widgets.Control;
+import org.eclipse.swt.widgets.Display;
+
+
+/**
+ * Data provider for the filter row
+ * <ul>
+ * <li>Stores filter strings</li>
+ * <li>Applies them to the ca.odell.glazedlists.matchers.MatcherEditor on the ca.odell.glazedlists.FilterList</li>
+ * </ul>
+ *
+ * Duplicated and adapted code from nattable
+ */
+public class FilterRowDataProvider<T> implements IDataProvider /* , IPersistable */ {
+
+ /**
+ * Replacement for the pipe character | that is used for persistence.
+ * If regular expressions are used for filtering, the pipe character can be used
+ * in the regular expression to specify alternations. As the persistence
+ * mechanism in NatTable uses the pipe character for separation of values,
+ * the persistence breaks for such cases.
+ * By replacing the pipe in the regular expression with some silly uncommon
+ * value specified here, we ensure to be able to also persist pipes in the
+ * regular expressions, aswell as being backwards compatible with already
+ * saved filter row states.
+ */
+ public static final String PIPE_REPLACEMENT = "°~°"; //$NON-NLS-1$
+
+ /**
+ * The prefix String that will be used to mark that the following filter
+ * value in the persisted state is a collection.
+ */
+ public static final String FILTER_COLLECTION_PREFIX = "°coll("; //$NON-NLS-1$
+
+ /**
+ * The {@link IFilterStrategy} to which the set filter value should be applied.
+ */
+ private final IFilterStrategy<T> filterStrategy;
+ /**
+ * The column header layer where this {@link IDataProvider} is used for filtering.
+ * Needed for retrieval of column indexes and firing according filter events.
+ */
+ private final ILayer columnHeaderLayer;
+ /**
+ * The {@link IDataProvider} of the column header.
+ * This is necessary to retrieve the real column count of the column header and not a
+ * transformed one. (e.g. hiding a column would change the column count in the column header
+ * but not in the column header {@link IDataProvider}).
+ */
+ private final IDataProvider columnHeaderDataProvider;
+
+ // /**
+ // * The {@link IConfigRegistry} needed to retrieve the {@link IDisplayConverter} for converting
+ // * the values on state save/load operations.
+ // */
+ // private final IConfigRegistry configRegistry;
+
+ private final INattableModelManager manager;
+ /**
+ * Contains the filter objects mapped to the column index.
+ * Basically the data storage for the set filters in the filter row so they are
+ * visible to the user who entered them.
+ */
+ private Map<Integer, Object> filterIndexToObjectMap = new HashMap<Integer, Object>();
+
+ private Runnable refreshFilterRunnable;
+
+ /* Flag to avoid reentrant call to refresh */
+ private AtomicBoolean isFilterRefreshing = new AtomicBoolean(false);
+
+ // private ResourceSetListener listener;
+
+
+ /**
+ *
+ * @param filterStrategy
+ * The {@link IFilterStrategy} to which the set filter value should be applied.
+ * @param columnHeaderLayer
+ * The column header layer where this {@link IDataProvider} is used for filtering
+ * needed for retrieval of column indexes and firing according filter events..
+ * @param columnHeaderDataProvider
+ * The {@link IDataProvider} of the column header needed to retrieve the real
+ * column count of the column header and not a transformed one.
+ * @param tableManager
+ * The {@link IConfigRegistry} needed to retrieve the {@link IDisplayConverter} for
+ * converting the values on state save/load operations.
+ */
+ public FilterRowDataProvider(IFilterStrategy<T> filterStrategy, ILayer columnHeaderLayer, IDataProvider columnHeaderDataProvider, INattableModelManager tableManager) {
+ this.filterStrategy = filterStrategy;
+ this.columnHeaderLayer = columnHeaderLayer;
+ this.columnHeaderDataProvider = columnHeaderDataProvider;
+ this.manager = tableManager;
+ // TransactionalEditingDomain domain = TableEditingDomainUtils.getTableEditingDomain(this.manager.getTable());
+ // listener = new ResourceSetListener() {
+ //
+ // @Override
+ // public Command transactionAboutToCommit(ResourceSetChangeEvent event) throws RollbackException {
+ // // TODO Auto-generated method stub
+ // return null;
+ // }
+ //
+ // @Override
+ // public void resourceSetChanged(ResourceSetChangeEvent event) {
+ // // TODO Auto-generated method stub
+ // for (Notification current : event.getNotifications()) {
+ // if (current.getNotifier() instanceof IAxis) {
+ // IAxis axis = (IAxis) current.getNotifier();
+ // EObject parent = axis.eContainer();
+ // if (current.getOldValue() instanceof NamedStyle) {
+ // NamedStyle style = (NamedStyle) current.getOldValue();
+ // if (style.getName().equals(IFilterConfiguration.FILTER_VALUE_TO_MATCH)) {
+ // int index = manager.getColumnElementsList().indexOf(axis);
+ // getDataValue(index, 0);
+ // applyFilter();
+ // }
+ // }
+ // if (current.getNewValue() instanceof NamedStyle) {
+ // NamedStyle style = (NamedStyle) current.getOldValue();
+ // if (style.getName().equals(IFilterConfiguration.FILTER_VALUE_TO_MATCH)) {
+ // int index = manager.getColumnElementsList().indexOf(axis);
+ // getDataValue(index, 0);
+ // applyFilter();
+ // }
+ // }
+ // }
+ //
+ // }
+ //
+ // }
+ //
+ // @Override
+ // public boolean isPrecommitOnly() {
+ // // TODO Auto-generated method stub
+ // return false;
+ // }
+ //
+ // @Override
+ // public boolean isPostcommitOnly() {
+ // // TODO Auto-generated method stub
+ // return false;
+ // }
+ //
+ // @Override
+ // public boolean isAggregatePrecommitListener() {
+ // // TODO Auto-generated method stub
+ // return false;
+ // }
+ //
+ // @Override
+ // public NotificationFilter getFilter() {
+ // // TODO Auto-generated method stub
+ // return null;
+ // }
+ // };
+ // domain.addResourceSetListener(listener);
+ }
+
+ /**
+ * Returns the map that contains the filter objects mapped to the column index.
+ * It is the data storage for the inserted filters into the filter row by the user.
+ * <p>
+ * Note: Usually it is not intended to modify this Map directly. You should rather call <code>setDataValue(int, int, Object)</code> or <code>clearAllFilters()</code> to modify this Map to ensure consistency in other framework code. It is made visible
+ * because there might be code that needs to modify the Map without index transformations or firing events.
+ *
+ * @return Map that contains the filter objects mapped to the column index.
+ */
+ public Map<Integer, Object> getFilterIndexToObjectMap() {
+ return this.filterIndexToObjectMap;
+ }
+
+ /**
+ * Set the map that contains the filter objects mapped to the column index to be the
+ * data storage for the inserted filters into the filter row by the user.
+ * <p>
+ * Note: Usually it is not intended to set this Map from the outside as it is created in the constructor. But there might be use cases where you e.g. need to connect filter rows to each other. In this case it might be useful to override the local Map with
+ * the one form another FilterRowDataProvider. This is not a typical use case, therefore you should use this method carefully!
+ *
+ * @param filterIndexToObjectMap
+ * Map that contains the filter objects mapped to the column index.
+ */
+ public void setFilterIndexToObjectMap(Map<Integer, Object> filterIndexToObjectMap) {
+ this.filterIndexToObjectMap = filterIndexToObjectMap;
+ }
+
+ @Override
+ public int getColumnCount() {
+ return columnHeaderDataProvider.getColumnCount();
+ }
+
+ public void updateMapValue(int columnIndex) {
+ if (manager != null) {
+ NatTable natTable = (NatTable) manager.getAdapter(NatTable.class);
+ IConfigRegistry configRegistry = natTable.getConfigRegistry();
+
+
+ IFilterValueToMatchManager loader = getFilterValueToMatchManager(columnIndex);
+ if (loader != null) {
+ Object columnObject = manager.getColumnElement(columnIndex);
+ Object savedValue = loader.getValueToMatch(configRegistry, columnObject);
+ // to manage undo/redo
+ Object mapValue = filterIndexToObjectMap.get(columnIndex);
+ if (savedValue != mapValue) {
+ if ((mapValue != null && !mapValue.equals(savedValue)) || (savedValue != null && !savedValue.equals(mapValue))) {
+ if (savedValue == null) {
+ filterIndexToObjectMap.remove(columnIndex);
+ } else {
+ filterIndexToObjectMap.put(columnIndex, savedValue);
+ }
+ applyFilter();
+ }
+ }
+ }
+ }
+ }
+
+ @Override
+ public Object getDataValue(int columnIndex, int rowIndex) {
+ // NatTable natTable = (NatTable) manager.getAdapter(NatTable.class);
+ // IConfigRegistry configRegistry = natTable.getConfigRegistry();
+ //
+ // if (manager != null) {
+ // IFilterValueToMatchManager loader = getFilterValueToMatchManager(columnIndex);
+ // if (loader != null) {
+ // Object columnObject = manager.getColumnElement(columnIndex);
+ // Object savedValue = loader.getValueToMatch(configRegistry, columnObject);
+ // // to manage undo/redo
+ // Object mapValue = filterIndexToObjectMap.get(columnIndex);
+ // if (savedValue != mapValue) {
+ // if ((mapValue != null && !mapValue.equals(savedValue)) || (savedValue != null && !savedValue.equals(mapValue))) {
+ // if (savedValue == null) {
+ // filterIndexToObjectMap.remove(columnIndex);
+ // } else {
+ // filterIndexToObjectMap.put(columnIndex, savedValue);
+ // }
+ // applyFilter();
+ //
+ // }
+ // }
+ // }
+ // }
+
+ return filterIndexToObjectMap.get(columnIndex);
+ }
+
+ /**
+ * refresh the view.
+ */
+ protected void refreshFilterInUIThread() {
+ NatTable natTable = getNatTable();
+ // Need to refresh, even if (temporarily) invisible
+ // (Better alternative?: store refresh event and execute once visible again)
+ if (natTable != null && natTable.isDisposed()) {
+ return;
+ }
+
+ // avoid reentrant call
+ // Refresh only of we are not already refreshing.
+ if (isFilterRefreshing.compareAndSet(false, true)) {
+ filterStrategy.applyFilter(filterIndexToObjectMap);
+ columnHeaderLayer.fireLayerEvent(new FilterAppliedEvent(columnHeaderLayer));
+ isFilterRefreshing.set(false);
+ }
+ }
+
+
+
+ /**
+ *
+ * @return
+ * a new runnable for the refreash action
+ */
+ private Runnable createRefreshFilterRunnable() {
+ return new Runnable() {
+
+ @Override
+ public void run() {
+ // Only run if I'm still pending
+ synchronized (this) {
+ if (refreshFilterRunnable != this) {
+ return;
+ }
+
+ refreshFilterRunnable = null;
+ }
+ refreshFilterInUIThread();
+ ((NattableModelManager) manager).refreshNatTable();
+ }
+ };
+ }
+
+ private NatTable getNatTable() {
+ return (NatTable) manager.getAdapter(NatTable.class);
+ }
+
+ public void applyFilter() {
+ // This refresh code has been duplicated from the refresh of the ModelExplorer (class ModelExplorerView)
+ final Runnable schedule;
+ NatTable natTable = getNatTable();
+ if (natTable != null && !natTable.isDisposed()) {
+ synchronized (this) {
+ if (refreshFilterRunnable == null) {
+ // No refresh is yet pending. Schedule one
+ schedule = createRefreshFilterRunnable();
+ refreshFilterRunnable = schedule;
+ } else {
+ schedule = null;
+ }
+ }
+
+ if (schedule != null) {
+ Control control = natTable;
+ Display display = ((control == null) || control.isDisposed()) ? null : control.getDisplay();
+
+ if (display != null) {
+ // Don't need to schedule a refresh if we have no control or it's disposed
+ display.asyncExec(schedule);
+ }
+ }
+ }
+ }
+
+
+
+ @Override
+ public int getRowCount() {
+ return 1;
+ }
+
+ @Override
+ public void setDataValue(int columnIndex, int rowIndex, Object newValue) {
+ columnIndex = columnHeaderLayer.getColumnIndexByPosition(columnIndex);
+ // INattableModelManager manager = configRegistry.getConfigAttribute(NattableConfigAttributes.NATTABLE_MODEL_MANAGER_CONFIG_ATTRIBUTE, DisplayMode.NORMAL, NattableConfigAttributes.NATTABLE_MODEL_MANAGER_ID);
+ if (manager != null) {
+ NatTable natTable = (NatTable) manager.getAdapter(NatTable.class);
+ IConfigRegistry configRegistry = natTable.getConfigRegistry();
+
+ IFilterValueToMatchManager loader = getFilterValueToMatchManager(columnIndex);
+ if (loader != null) {
+ Object columnObject = manager.getColumnElement(columnIndex);
+ loader.saveValueToMatch(configRegistry, columnObject, newValue);
+ }
+ }
+ if (ObjectUtils.isNotNull(newValue)) {
+ filterIndexToObjectMap.put(columnIndex, newValue);
+ } else {
+ filterIndexToObjectMap.remove(columnIndex);
+ }
+
+ filterStrategy.applyFilter(filterIndexToObjectMap);
+
+ columnHeaderLayer.fireLayerEvent(new FilterAppliedEvent(columnHeaderLayer));
+ }
+
+ /**
+ *
+ * @param columnIndex
+ * the index of the column
+ * @return
+ * the filter value to match manager to use
+ */
+ private IFilterValueToMatchManager getFilterValueToMatchManager(int columnIndex) {
+ StringBuilder builder = new StringBuilder();
+ builder.append(FilterRowDataLayer.FILTER_ROW_COLUMN_LABEL_PREFIX);
+ builder.append(Integer.valueOf(columnIndex));
+ return getConfigRegistry().getConfigAttribute(NattableConfigAttributes.FILTER_VALUE_TO_MATCH_MANAGER, DisplayMode.NORMAL, builder.toString());
+ }
+
+ /**
+ *
+ * @return
+ * the config registry to used by the nattable widget
+ */
+ private IConfigRegistry getConfigRegistry() {
+ NatTable natTable = (NatTable) this.manager.getAdapter(NatTable.class);
+ return natTable.getConfigRegistry();
+ }
+
+ // Load/save state
+ //
+ // @Override
+ // public void saveState(String prefix, Properties properties) {
+ // Map<Integer, String> filterTextByIndex = new HashMap<Integer, String>();
+ // for(Integer columnIndex : filterIndexToObjectMap.keySet()) {
+ // final IDisplayConverter converter = configRegistry.getConfigAttribute(
+ // CellConfigAttributes.DISPLAY_CONVERTER,
+ // DisplayMode.NORMAL,
+ // FilterRowDataLayer.FILTER_ROW_COLUMN_LABEL_PREFIX + columnIndex);
+ //
+ // String filterText = getFilterStringRepresentation(filterIndexToObjectMap.get(columnIndex), converter);
+ // filterText = filterText.replace("|", PIPE_REPLACEMENT); //$NON-NLS-1$
+ // filterTextByIndex.put(columnIndex, filterText);
+ // }
+ //
+ // String string = PersistenceUtils.mapAsString(filterTextByIndex);
+ //
+ // if (!isEmpty(string)) {
+ // properties.put(prefix + FilterRowDataLayer.PERSISTENCE_KEY_FILTER_ROW_TOKENS, string);
+ // }
+ // }
+
+ // @Override
+ // public void loadState(String prefix, Properties properties) {
+ // filterIndexToObjectMap.clear();
+ //
+ // try {
+ // Object property = properties.get(prefix + FilterRowDataLayer.PERSISTENCE_KEY_FILTER_ROW_TOKENS);
+ // Map<Integer, String> filterTextByIndex = PersistenceUtils.parseString(property);
+ // for (Integer columnIndex : filterTextByIndex.keySet()) {
+ // final IDisplayConverter converter = configRegistry.getConfigAttribute(
+ // CellConfigAttributes.DISPLAY_CONVERTER,
+ // DisplayMode.NORMAL,
+ // FilterRowDataLayer.FILTER_ROW_COLUMN_LABEL_PREFIX + columnIndex);
+ //
+ // String filterText = filterTextByIndex.get(columnIndex);
+ // filterText = filterText.replace(PIPE_REPLACEMENT, "|"); //$NON-NLS-1$
+ // filterIndexToObjectMap.put(columnIndex, getFilterFromString(filterText, converter));
+ // }
+ // } catch (Exception e) {
+ // log.error("Error while restoring filter row text!", e); //$NON-NLS-1$
+ // }
+
+ // filterStrategy.applyFilter(filterIndexToObjectMap);
+ // }
+
+ /**
+ * This method is used to support saving of a filter collection, e.g. in the context of the
+ * Excel like filter row. In such cases the filter value is not a simple String but a
+ * Collection of filter values that need to be converted to a String representation.
+ * As the state persistence is encapsulated to be handled here, we need to take care
+ * of such states here also.
+ *
+ * @param filterValue
+ * The filter value object that is used for filtering.
+ * @param converter
+ * The converter that is used to convert the filter value, which is necessary
+ * to support filtering of custom types.
+ * @return The String representation of the filter value.
+ */
+ private String getFilterStringRepresentation(Object filterValue, IDisplayConverter converter) {
+ // in case the filter value is a collection of values, we need to create a special
+ // string representation
+ if (filterValue instanceof Collection) {
+ String collectionSpec = FILTER_COLLECTION_PREFIX + filterValue.getClass().getName() + ")"; //$NON-NLS-1$
+ StringBuilder builder = new StringBuilder(collectionSpec);
+ builder.append("["); //$NON-NLS-1$
+ Collection<?> filterCollection = (Collection<?>) filterValue;
+ for (Iterator<?> iterator = filterCollection.iterator(); iterator.hasNext();) {
+ Object filterObject = iterator.next();
+ builder.append(converter.canonicalToDisplayValue(filterObject));
+ if (iterator.hasNext())
+ builder.append(IPersistable.VALUE_SEPARATOR);
+ }
+
+ builder.append("]"); //$NON-NLS-1$
+ return builder.toString();
+ }
+ return (String) converter.canonicalToDisplayValue(filterValue);
+ }
+
+ /**
+ * This method is used to support loading of a filter collection, e.g. in the context of the
+ * Excel like filter row. In such cases the saved filter value is not a simple String but
+ * represents a Collection of filter values that need to be converted to the corresponding values.
+ * As the state persistence is encapsulated to be handled here, we need to take care
+ * of such states here also.
+ *
+ * @param filterText
+ * The String representation of the applied saved filter.
+ * @param converter
+ * The converter that is used to convert the filter value, which is necessary
+ * to support filtering of custom types.
+ * @return The filter value that will be used to apply a filter to the IFilterStrategy
+ *
+ * @throws InstantiationException
+ * @throws IllegalAccessException
+ * @throws ClassNotFoundException
+ */
+ @SuppressWarnings({ "rawtypes", "unchecked" })
+ private Object getFilterFromString(String filterText, IDisplayConverter converter) throws InstantiationException, IllegalAccessException, ClassNotFoundException {
+ if (filterText.startsWith(FILTER_COLLECTION_PREFIX)) {
+ // the filter text represents a collection
+ int indexEndCollSpec = filterText.indexOf(")"); //$NON-NLS-1$
+ String collectionSpec = filterText.substring(filterText.indexOf("(") + 1, indexEndCollSpec); //$NON-NLS-1$
+ Collection filterCollection = (Collection) Class.forName(collectionSpec).newInstance();
+
+ // also get rid of the collection marks
+ filterText = filterText.substring(indexEndCollSpec + 2, filterText.length() - 1);
+ String[] filterSplit = filterText.split(IPersistable.VALUE_SEPARATOR);
+ for (String filterString : filterSplit) {
+ filterCollection.add(converter.displayToCanonicalValue(filterString));
+ }
+
+ return filterCollection;
+ }
+ return converter.displayToCanonicalValue(filterText);
+ }
+
+ /**
+ * Clear all filters that are currently applied.
+ */
+ public void clearAllFilters() {
+ filterIndexToObjectMap.clear();
+ filterStrategy.applyFilter(filterIndexToObjectMap);
+
+ // we clear the filter
+ if (manager != null) {
+ CompoundCommand cc = new CompoundCommand("Clear All Filter"); //$NON-NLS-1$
+ TransactionalEditingDomain domain = TableEditingDomainUtils.getTableEditingDomain(manager.getTable());
+ List<?> columnElement = manager.getColumnElementsList();
+ for (Object current : columnElement) {
+ if (current instanceof IAxis) {
+ Style idToDestroy = ((IAxis) current).getNamedStyle(NattablestylePackage.eINSTANCE.getStringValueStyle(), IFilterConfiguration.FILTER_SYSTEM_ID);
+ Style keyToDestroy = ((IAxis) current).getNamedStyle(NattablestylePackage.eINSTANCE.getStyle(), IFilterConfiguration.FILTER_FORCED_BY_USER_ID);
+
+ if (idToDestroy != null) {
+ Command cmd = DeleteCommand.create(domain, idToDestroy);
+ if (cmd != null && cmd.canExecute()) {
+ cc.append(cmd);
+ }
+ }
+ if (idToDestroy != null) {
+ Command cmd = DeleteCommand.create(domain, keyToDestroy);
+ if (cmd != null && cmd.canExecute()) {
+ cc.append(cmd);
+ }
+ }
+ }
+ }
+ if (!cc.isEmpty() && cc.canExecute()) {
+ domain.getCommandStack().execute(cc);
+ }
+ }
+
+ }
+}
diff --git a/plugins/infra/nattable/org.eclipse.papyrus.infra.nattable/src/org/eclipse/papyrus/infra/nattable/filter/AbstractSinglePapyrusMatcher.java b/plugins/infra/nattable/org.eclipse.papyrus.infra.nattable/src/org/eclipse/papyrus/infra/nattable/filter/AbstractSinglePapyrusMatcher.java
index 98996dddf62..0eb7ed2a6e0 100755
--- a/plugins/infra/nattable/org.eclipse.papyrus.infra.nattable/src/org/eclipse/papyrus/infra/nattable/filter/AbstractSinglePapyrusMatcher.java
+++ b/plugins/infra/nattable/org.eclipse.papyrus.infra.nattable/src/org/eclipse/papyrus/infra/nattable/filter/AbstractSinglePapyrusMatcher.java
@@ -1,125 +1,115 @@
-/*****************************************************************************
- * Copyright (c) 2015 CEA LIST and others.
- *
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * CEA LIST - Initial API and implementation
- *
- *****************************************************************************/
-
-package org.eclipse.papyrus.infra.nattable.filter;
-
-import java.util.Collection;
-
-import org.eclipse.core.runtime.Assert;
-import org.eclipse.nebula.widgets.nattable.config.IConfigRegistry;
-import org.eclipse.nebula.widgets.nattable.data.IColumnAccessor;
-
-import ca.odell.glazedlists.matchers.Matcher;
-
-/**
- * Abstract matcher class used by filter
- *
- */
-public abstract class AbstractSinglePapyrusMatcher<E> implements Matcher<E> {
-
- /**
- * the wanted object
- */
- private Object matchOn;
-
- /**
- * the column accesor to use
- */
- private IColumnAccessor<Object> columnAccessor;
-
- /**
- * the index of the column on which we are working
- */
- private int columnIndex;
-
- /**
- * the config registry of the table
- */
- private IConfigRegistry registry;
-
- /**
- *
- * Constructor.
- *
- * @param columnAccessor
- * the accessor to use to get cell value
- * @param columnIndex
- * the index of the column on which we are working
- * @param matchOn
- * the object looked for by the filter, it must not be a collection
- */
- public AbstractSinglePapyrusMatcher(IColumnAccessor<Object> columnAccessor, int columnIndex, Object matchOn) {
- this(columnAccessor, columnIndex, matchOn, null);
- }
-
- /**
- *
- * Constructor.
- *
- * @param columnAccessor
- * the accessor to use to get cell value
- * @param columnIndex
- * the index of the column on which we are working
- * @param matchOn
- * the object looked for by the filter, it must not be a collection
- * @param configRegistry
- * the config registry used by the nattable widget
- */
- public AbstractSinglePapyrusMatcher(IColumnAccessor<Object> columnAccessor, int columnIndex, Object matchOn, IConfigRegistry configRegistry) {
- this.matchOn = matchOn;
- Assert.isTrue(!(matchOn instanceof Collection<?>));
- this.columnAccessor = columnAccessor;
- this.columnIndex = columnIndex;
- }
-
- /**
- * @return the wantedObject
- */
- protected final Object getObjectToMatch() {
- return matchOn;
- }
-
- /**
- * @return the accessor
- */
- protected final IColumnAccessor<Object> getColumnAccessor() {
- return columnAccessor;
- }
-
- /**
- * @return the columnIndex
- */
- protected final int getColumnIndex() {
- return columnIndex;
- }
-
- /**
- * @return the registry
- */
- protected final IConfigRegistry getRegistry() {
- return registry;
- }
-
- /**
- *
- * @param item
- * an object (a row)
- * @return
- * the cell value for this row and the filtered column
- */
- protected Object getCellValueFor(Object item) {
- return getColumnAccessor().getDataValue(item, getColumnIndex());
- }
-
-
-}
+/*****************************************************************************
+ * Copyright (c) 2015 CEA LIST and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * CEA LIST - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.infra.nattable.filter;
+
+import java.util.Collection;
+
+import org.eclipse.core.runtime.Assert;
+import org.eclipse.nebula.widgets.nattable.config.IConfigRegistry;
+import org.eclipse.nebula.widgets.nattable.data.IColumnAccessor;
+
+import ca.odell.glazedlists.matchers.Matcher;
+
+/**
+ * Abstract matcher class used by filter
+ *
+ */
+public abstract class AbstractSinglePapyrusMatcher<E> implements Matcher<E> {
+
+ /**
+ * the wanted object
+ */
+ private Object matchOn;
+
+ /**
+ * the column accesor to use
+ */
+ private IColumnAccessor<Object> columnAccessor;
+
+ /**
+ * the index of the column on which we are working
+ */
+ private int columnIndex;
+
+
+ /**
+ *
+ * Constructor.
+ *
+ * @param columnAccessor
+ * the accessor to use to get cell value
+ * @param columnIndex
+ * the index of the column on which we are working
+ * @param matchOn
+ * the object looked for by the filter, it must not be a collection
+ */
+ public AbstractSinglePapyrusMatcher(IColumnAccessor<Object> columnAccessor, int columnIndex, Object matchOn) {
+ this(columnAccessor, columnIndex, matchOn, null);
+ }
+
+ /**
+ *
+ * Constructor.
+ *
+ * @param columnAccessor
+ * the accessor to use to get cell value
+ * @param columnIndex
+ * the index of the column on which we are working
+ * @param matchOn
+ * the object looked for by the filter, it must not be a collection
+ * @param configRegistry
+ * the config registry used by the nattable widget
+ */
+ public AbstractSinglePapyrusMatcher(IColumnAccessor<Object> columnAccessor, int columnIndex, Object matchOn, IConfigRegistry configRegistry) {
+ this.matchOn = matchOn;
+ Assert.isTrue(!(matchOn instanceof Collection<?>));
+ this.columnAccessor = columnAccessor;
+ this.columnIndex = columnIndex;
+ }
+
+ /**
+ * @return the wantedObject
+ */
+ protected final Object getObjectToMatch() {
+ return matchOn;
+ }
+
+ /**
+ * @return the accessor
+ */
+ protected final IColumnAccessor<Object> getColumnAccessor() {
+ return columnAccessor;
+ }
+
+ /**
+ * @return the columnIndex
+ */
+ protected final int getColumnIndex() {
+ return columnIndex;
+ }
+
+
+ /**
+ *
+ * @param item
+ * an object (a row)
+ * @return
+ * the cell value for this row and the filtered column
+ */
+ protected Object getCellValueFor(Object item) {
+ return getColumnAccessor().getDataValue(item, getColumnIndex());
+ }
+
+
+}
diff --git a/plugins/infra/nattable/org.eclipse.papyrus.infra.nattable/src/org/eclipse/papyrus/infra/nattable/glazedlists/copy/MouseOnlySortingStrategy.java b/plugins/infra/nattable/org.eclipse.papyrus.infra.nattable/src/org/eclipse/papyrus/infra/nattable/glazedlists/copy/MouseOnlySortingStrategy.java
index 92f4a33abcd..b89ceda5751 100644
--- a/plugins/infra/nattable/org.eclipse.papyrus.infra.nattable/src/org/eclipse/papyrus/infra/nattable/glazedlists/copy/MouseOnlySortingStrategy.java
+++ b/plugins/infra/nattable/org.eclipse.papyrus.infra.nattable/src/org/eclipse/papyrus/infra/nattable/glazedlists/copy/MouseOnlySortingStrategy.java
@@ -1,68 +1,68 @@
-/* Glazed Lists (c) 2003-2006 */
-/* http://publicobject.com/glazedlists/ publicobject.com,*/
-/* O'Dell Engineering Ltd.*/
-package org.eclipse.papyrus.infra.nattable.glazedlists.copy;
-
-import java.util.Iterator;
-import java.util.List;
-
-/**
- * @see ca.odell.glazedlists.gui.AbstractTableComparatorChooser#SINGLE_COLUMN
- * @see ca.odell.glazedlists.gui.AbstractTableComparatorChooser#MULTIPLE_COLUMN_MOUSE
- *
- * @author <a href="mailto:jesse@swank.ca">Jesse Wilson</a>
- */
-public final class MouseOnlySortingStrategy implements SortingStrategy {
-
- /** if false, other sorting columns will be cleared before a click takes effect */
- private final boolean multipleColumnSort;
-
- /**
- * Create a new {@link8 ca.odell.glazedlists.impl.gui.MouseOnlySortingStrategy}, sorting multiple
- * columns or not as specified.
- */
- public MouseOnlySortingStrategy(boolean multipleColumnSort) {
- this.multipleColumnSort = multipleColumnSort;
- }
-
- /**
- * Adjust the sorting state based on receiving the specified clicks.
- */
- public void columnClicked(SortingState sortingState, int column, int clicks, boolean shift, boolean control) {
- SortingState.SortingColumn clickedColumn = sortingState.getColumns().get(column);
- if (clickedColumn.getComparators().isEmpty())
- return;
-
- List<SortingState.SortingColumn> recentlyClickedColumns = sortingState.getRecentlyClickedColumns();
-
- // on a double click, clear all click counts
- if (clicks == 2) {
- for (Iterator<SortingState.SortingColumn> i = recentlyClickedColumns.iterator(); i.hasNext();) {
- SortingState.SortingColumn sortingColumn = i.next();
- sortingColumn.clear();
- }
- recentlyClickedColumns.clear();
-
- // if we're only sorting one column at a time, clear other columns
- } else if (!multipleColumnSort) {
- for (Iterator<SortingState.SortingColumn> i = recentlyClickedColumns.iterator(); i.hasNext();) {
- SortingState.SortingColumn sortingColumn = i.next();
- if (sortingColumn != clickedColumn) {
- sortingColumn.clear();
- }
- }
- recentlyClickedColumns.clear();
- }
-
- // add a click to the newly clicked column if it has any comparators
- int netClicks = 1 + clickedColumn.getComparatorIndex() * 2 + (clickedColumn.isReverse() ? 1 : 0);
- clickedColumn.setComparatorIndex((netClicks / 2) % clickedColumn.getComparators().size());
- clickedColumn.setReverse(netClicks % 2 == 1);
- if (!recentlyClickedColumns.contains(clickedColumn)) {
- recentlyClickedColumns.add(clickedColumn);
- }
-
- // rebuild the sorting state
- sortingState.fireSortingChanged();
- }
+/* Glazed Lists (c) 2003-2006 */
+/* http://publicobject.com/glazedlists/ publicobject.com,*/
+/* O'Dell Engineering Ltd.*/
+package org.eclipse.papyrus.infra.nattable.glazedlists.copy;
+
+import java.util.Iterator;
+import java.util.List;
+
+/**
+ * @see ca.odell.glazedlists.gui.AbstractTableComparatorChooser#SINGLE_COLUMN
+ * @see ca.odell.glazedlists.gui.AbstractTableComparatorChooser#MULTIPLE_COLUMN_MOUSE
+ *
+ * @author <a href="mailto:jesse@swank.ca">Jesse Wilson</a>
+ */
+public final class MouseOnlySortingStrategy implements SortingStrategy {
+
+ /** if false, other sorting columns will be cleared before a click takes effect */
+ private final boolean multipleColumnSort;
+
+ /**
+ * Create a new {@link8 ca.odell.glazedlists.impl.gui.MouseOnlySortingStrategy}, sorting multiple
+ * columns or not as specified.
+ */
+ public MouseOnlySortingStrategy(boolean multipleColumnSort) {
+ this.multipleColumnSort = multipleColumnSort;
+ }
+
+ /**
+ * Adjust the sorting state based on receiving the specified clicks.
+ */
+ public void columnClicked(SortingState sortingState, int column, int clicks, boolean shift, boolean control) {
+ SortingState.SortingColumn clickedColumn = sortingState.getColumns().get(column);
+ if (clickedColumn.getComparators().isEmpty())
+ return;
+
+ List<SortingState.SortingColumn> recentlyClickedColumns = sortingState.getRecentlyClickedColumns();
+
+ // on a double click, clear all click counts
+ if (clicks == 2) {
+ for (Iterator<SortingState.SortingColumn> i = recentlyClickedColumns.iterator(); i.hasNext();) {
+ SortingState.SortingColumn sortingColumn = i.next();
+ sortingColumn.clear();
+ }
+ recentlyClickedColumns.clear();
+
+ // if we're only sorting one column at a time, clear other columns
+ } else if (!multipleColumnSort) {
+ for (Iterator<SortingState.SortingColumn> i = recentlyClickedColumns.iterator(); i.hasNext();) {
+ SortingState.SortingColumn sortingColumn = i.next();
+ if (sortingColumn != clickedColumn) {
+ sortingColumn.clear();
+ }
+ }
+ recentlyClickedColumns.clear();
+ }
+
+ // add a click to the newly clicked column if it has any comparators
+ int netClicks = 1 + clickedColumn.getComparatorIndex() * 2 + (clickedColumn.isReverse() ? 1 : 0);
+ clickedColumn.setComparatorIndex((netClicks / 2) % clickedColumn.getComparators().size());
+ clickedColumn.setReverse(netClicks % 2 != 0);
+ if (!recentlyClickedColumns.contains(clickedColumn)) {
+ recentlyClickedColumns.add(clickedColumn);
+ }
+
+ // rebuild the sorting state
+ sortingState.fireSortingChanged();
+ }
} \ No newline at end of file
diff --git a/plugins/infra/nattable/org.eclipse.papyrus.infra.nattable/src/org/eclipse/papyrus/infra/nattable/manager/axis/ITreeItemAxisComparator.java b/plugins/infra/nattable/org.eclipse.papyrus.infra.nattable/src/org/eclipse/papyrus/infra/nattable/manager/axis/ITreeItemAxisComparator.java
index b0fb9ec3f93..4a0a26d276c 100644
--- a/plugins/infra/nattable/org.eclipse.papyrus.infra.nattable/src/org/eclipse/papyrus/infra/nattable/manager/axis/ITreeItemAxisComparator.java
+++ b/plugins/infra/nattable/org.eclipse.papyrus.infra.nattable/src/org/eclipse/papyrus/infra/nattable/manager/axis/ITreeItemAxisComparator.java
@@ -114,7 +114,7 @@ public class ITreeItemAxisComparator implements Comparator<ITreeItemAxis> {
* @param axis1
* @param axis2
* @return
- * the axis manager representation
+ * the axis manager representation
*/
protected AxisManagerRepresentation getAxisManagerRepresentation(ITreeItemAxis axis1, ITreeItemAxis axis2) {
if (this.axisManager != null) {
@@ -128,7 +128,11 @@ public class ITreeItemAxisComparator implements Comparator<ITreeItemAxis> {
if ((subAxisManager1 != null || subAxisManager2 != null) && (subAxisManager1 != subAxisManager2)) {
throw new UnsupportedOperationException("this case is not yet supported"); //$NON-NLS-1$
}
- return subAxisManager1.getAxisManagerRepresentation();
+ if (subAxisManager1 != null) {
+ return subAxisManager1.getAxisManagerRepresentation();
+ } else {
+ throw new UnsupportedOperationException("this case is not yet supported"); //$NON-NLS-1$
+ }
}
/**
@@ -202,7 +206,7 @@ public class ITreeItemAxisComparator implements Comparator<ITreeItemAxis> {
* @param axis2
* the second axis
* @return
- * the axis manager used
+ * the axis manager used
*/
private IAxisManager getAxisManager(ITreeItemAxis axis1, ITreeItemAxis axis2) {
if (this.axisManager != null) {
diff --git a/plugins/infra/nattable/org.eclipse.papyrus.infra.nattable/src/org/eclipse/papyrus/infra/nattable/manager/table/AbstractNattableWidgetManager.java b/plugins/infra/nattable/org.eclipse.papyrus.infra.nattable/src/org/eclipse/papyrus/infra/nattable/manager/table/AbstractNattableWidgetManager.java
index 54f74b7ce37..98eef5214fe 100755
--- a/plugins/infra/nattable/org.eclipse.papyrus.infra.nattable/src/org/eclipse/papyrus/infra/nattable/manager/table/AbstractNattableWidgetManager.java
+++ b/plugins/infra/nattable/org.eclipse.papyrus.infra.nattable/src/org/eclipse/papyrus/infra/nattable/manager/table/AbstractNattableWidgetManager.java
@@ -293,7 +293,7 @@ public abstract class AbstractNattableWidgetManager implements INattableModelMan
* The table popup menu configuration.
*/
private TablePopupMenuConfiguration tablePopupMenuConfiguration;
-
+
/**
* The CTabFolder.
*
@@ -469,10 +469,10 @@ public abstract class AbstractNattableWidgetManager implements INattableModelMan
*
* @return The parent CTabFolder or <code>null</code>.
*
- * @since 2.1
+ * @since 3.0
*/
protected CTabFolder getParentCTabFolder() {
- if(null == cTabFolder){
+ if (null == cTabFolder) {
Control currentControl = natTable.getParent();
while (null != currentControl && !(currentControl instanceof CTabFolder)) {
currentControl = currentControl.getParent();
@@ -489,7 +489,7 @@ public abstract class AbstractNattableWidgetManager implements INattableModelMan
*
* @return The CTabFolder selection listener.
*
- * @since 2.1
+ * @since 3.0
*/
protected SelectionListener getCTabFolderSelectionListener() {
if (null == cTabFolderSelectionListener) {
@@ -508,7 +508,7 @@ public abstract class AbstractNattableWidgetManager implements INattableModelMan
}
if (!hasSelection && null != natTable && null != selectionProvider && null != getTable().getContext()) {
- if(selectionInTable.getFirstElement().equals(getTable().getContext())){
+ if (selectionInTable.getFirstElement().equals(getTable().getContext())) {
// Set the table as selection to force the properties view to refresh it
selectionProvider.setSelection(new TableStructuredSelection(getTable(), new TableSelectionWrapper(Collections.<PositionCoordinate> emptyList())));
}
@@ -527,7 +527,7 @@ public abstract class AbstractNattableWidgetManager implements INattableModelMan
*
* @return The display of the top composite.
*
- * @since 2.1
+ * @since 3.0
*/
protected Control getNattableTopParentComposite() {
Control currentControl = natTable.getParent();
@@ -535,7 +535,7 @@ public abstract class AbstractNattableWidgetManager implements INattableModelMan
while (null != currentControl && !hasToStop) {
if (null == currentControl.getParent() || currentControl.getParent() instanceof CTabFolder) {
hasToStop = true;
- }else{
+ } else {
currentControl = currentControl.getParent();
}
}
@@ -1399,7 +1399,7 @@ public abstract class AbstractNattableWidgetManager implements INattableModelMan
public void exportToXLS() {
this.natTable.doCommand(new ExportCommand(this.natTable.getConfigRegistry(), this.natTable.getShell()));
}
-
+
/**
* {@inheritDoc}
*
diff --git a/plugins/infra/nattable/org.eclipse.papyrus.infra.nattable/src/org/eclipse/papyrus/infra/nattable/manager/table/NattableModelManager.java b/plugins/infra/nattable/org.eclipse.papyrus.infra.nattable/src/org/eclipse/papyrus/infra/nattable/manager/table/NattableModelManager.java
index 1f3c6f55dc8..923314b11e6 100755
--- a/plugins/infra/nattable/org.eclipse.papyrus.infra.nattable/src/org/eclipse/papyrus/infra/nattable/manager/table/NattableModelManager.java
+++ b/plugins/infra/nattable/org.eclipse.papyrus.infra.nattable/src/org/eclipse/papyrus/infra/nattable/manager/table/NattableModelManager.java
@@ -721,11 +721,6 @@ public class NattableModelManager extends AbstractNattableWidgetManager implemen
this.horizontalFilterList = newHorizontalFilterList;
this.verticalFilterList = newVerticalFilterLilst;
- this.rowSortedList = newHorizontalSortedList;
- this.columnSortedList = newVerticalSortedList;
-
-
- NattableModelManager.this.rowManager = newRowManager;
NattableModelManager.this.columnManager = newColumnManager;
this.rowManager.setAxisComparator(null);
this.columnManager.setAxisComparator(null);
@@ -841,17 +836,17 @@ public class NattableModelManager extends AbstractNattableWidgetManager implemen
this.contextEditingDomain.removeResourceSetListener(resourceSetListener);
}
}
-
+
if (this.columnManager != null) {
this.columnManager.dispose();
this.columnManager = null;
}
-
+
if (this.rowManager != null) {
this.rowManager.dispose();
this.rowManager = null;
}
-
+
final Table table = getTable();
if (table != null) {
diff --git a/plugins/infra/nattable/org.eclipse.papyrus.infra.nattable/src/org/eclipse/papyrus/infra/nattable/painter/PapyrusBeveledBorderDecorator.java b/plugins/infra/nattable/org.eclipse.papyrus.infra.nattable/src/org/eclipse/papyrus/infra/nattable/painter/PapyrusBeveledBorderDecorator.java
index 074f68b4768..22457ffc522 100644
--- a/plugins/infra/nattable/org.eclipse.papyrus.infra.nattable/src/org/eclipse/papyrus/infra/nattable/painter/PapyrusBeveledBorderDecorator.java
+++ b/plugins/infra/nattable/org.eclipse.papyrus.infra.nattable/src/org/eclipse/papyrus/infra/nattable/painter/PapyrusBeveledBorderDecorator.java
@@ -64,12 +64,14 @@ public class PapyrusBeveledBorderDecorator extends BeveledBorderDecorator {
if (cell instanceof TranslatedLayerCell) {
labels = cell.getConfigLabels();
}
- if (!labels.hasLabel(TreeLayer.TREE_COLUMN_CELL)) {
- super.paintCell(cell, gc, adjustedCellBounds, configRegistry);
- return;
- } else {
- if (getWrappedPainter() != null) {
- getWrappedPainter().paintCell(cell, gc, adjustedCellBounds, configRegistry);
+ if (labels != null) {
+ if (!labels.hasLabel(TreeLayer.TREE_COLUMN_CELL)) {
+ super.paintCell(cell, gc, adjustedCellBounds, configRegistry);
+ return;
+ } else {
+ if (getWrappedPainter() != null) {
+ getWrappedPainter().paintCell(cell, gc, adjustedCellBounds, configRegistry);
+ }
}
}
}
diff --git a/plugins/infra/nattable/org.eclipse.papyrus.infra.nattable/src/org/eclipse/papyrus/infra/nattable/provider/AbstractPasteInSelectionNattableCommandProvider.java b/plugins/infra/nattable/org.eclipse.papyrus.infra.nattable/src/org/eclipse/papyrus/infra/nattable/provider/AbstractPasteInSelectionNattableCommandProvider.java
index d99684f48ac..c742cc91ac7 100644
--- a/plugins/infra/nattable/org.eclipse.papyrus.infra.nattable/src/org/eclipse/papyrus/infra/nattable/provider/AbstractPasteInSelectionNattableCommandProvider.java
+++ b/plugins/infra/nattable/org.eclipse.papyrus.infra.nattable/src/org/eclipse/papyrus/infra/nattable/provider/AbstractPasteInSelectionNattableCommandProvider.java
@@ -367,9 +367,11 @@ public abstract class AbstractPasteInSelectionNattableCommandProvider implements
referencedPasteConf.add(tmp.getPasteConfiguration());
}
}
- for (final IAxisConfiguration axisConf : conf.getOwnedAxisConfigurations()) {
- if (axisConf instanceof IPasteConfiguration && !referencedPasteConf.contains(axisConf)) {
- return (IPasteConfiguration) axisConf;
+ if (conf != null) {
+ for (final IAxisConfiguration axisConf : conf.getOwnedAxisConfigurations()) {
+ if (axisConf instanceof IPasteConfiguration && !referencedPasteConf.contains(axisConf)) {
+ return (IPasteConfiguration) axisConf;
+ }
}
}
}
@@ -666,11 +668,11 @@ public abstract class AbstractPasteInSelectionNattableCommandProvider implements
// If only one row is pasted in the columns,
// transpose the pastedValues to try to repeat for each row in the table
final Map<Object, List<String>> returnedPastedValues = new LinkedHashMap<Object, List<String>>();
- if(!pastedValues.isEmpty()){
- for(Object o : pastedValues.keySet()){
+ if (!pastedValues.isEmpty()) {
+ for (Object o : pastedValues.keySet()) {
int i = 0;
- for(String s : pastedValues.get(o)){
- if(null == returnedPastedValues.get(i)){
+ for (String s : pastedValues.get(o)) {
+ if (null == returnedPastedValues.get(i)) {
returnedPastedValues.put(i, new ArrayList<String>());
}
returnedPastedValues.get(i).add(s);
@@ -678,17 +680,17 @@ public abstract class AbstractPasteInSelectionNattableCommandProvider implements
}
}
pastedValues = returnedPastedValues;
-
+
// The number of columns must be the same to repeat it
- if(pastedValues.size() == 1 && fullySelectedColumns.size() == pastedValues.get(pastedValues.keySet().iterator().next()).size()){
+ if (pastedValues.size() == 1 && fullySelectedColumns.size() == pastedValues.get(pastedValues.keySet().iterator().next()).size()) {
this.isSingleAxisPasted = true;
this.numberSelectedAxis = tableManager.getBodyLayerStack().getRowHideShowLayer().getRowCount();
resultCommand = getPasteCellsRowFromStringCommand(contextEditingDomain, tableEditingDomain, tableSelectionWrapper.getSelectedCells(), openDialog, progressMonitor, sharedMap, attachedMode);
}
}
-
+
// If we can't repeat (not only one line or not the same number of columns), return the error message
- if(null == resultCommand){
+ if (null == resultCommand) {
resultCommand = new ErrorTransactionalCommand(contextEditingDomain, PASTE_COMMAND_NAME, null, canPasteStatus);
}
}
@@ -932,10 +934,12 @@ public abstract class AbstractPasteInSelectionNattableCommandProvider implements
// - The rows numbers are not equals -> Error
// - The column read is alone -> Continue and repeat the column pasted
// - The columns numbers are not equals -> Error
- /*if (1 == nbRowRead && nbColumnsSelected == nbColumnRead){
- this.isSingleAxisPasted = true;
- this.numberSelectedAxis = nbRowsSelected;
- }else*/ if (nbRowRead != nbRowsSelected) {
+ /*
+ * if (1 == nbRowRead && nbColumnsSelected == nbColumnRead){
+ * this.isSingleAxisPasted = true;
+ * this.numberSelectedAxis = nbRowsSelected;
+ * }else
+ */ if (nbRowRead != nbRowsSelected) {
result = new Status(Status.ERROR, Activator.PLUGIN_ID, Messages.AbstractPasteInSelectionNattableCommandProvider_readrowsexceedsexistingrows);
} else if (1 == nbColumnRead && 1 < nbColumnsSelected) {
this.isSingleAxisPasted = true;
@@ -1043,24 +1047,24 @@ public abstract class AbstractPasteInSelectionNattableCommandProvider implements
int realRowIndex = rowHideShowLayer.getRowIndexByPosition(lastRowPosition);
// Get the row element from its index
final Object rowElement = AxisUtils.getRepresentedElement(tableManager.getRowElement(realRowIndex));
-
+
// check that the row element is not a tree filling configuration and continue the process for others
- if(!(rowElement instanceof TreeFillingConfiguration)){
-
+ if (!(rowElement instanceof TreeFillingConfiguration)) {
+
// Manage the columns of the row
while (cellIter.hasNext() && canContinue(resultStatus)) {
final String valueAsString = cellIter.next();
-
+
// Get the column index from its position
int realColumnIndex = columnHideShowLayer.getColumnIndexByPosition(nbColmnRead);
// Get the column attribute from its index
final Object columnElement = AxisUtils.getRepresentedElement(tableManager.getColumnElement(realColumnIndex));
-
+
// Edit the value if this is editable
final boolean isEditable = CellManagerFactory.INSTANCE.isCellEditable(columnElement, rowElement, sharedMap);
if (isEditable) {
final AbstractStringValueConverter converter = CellManagerFactory.INSTANCE.getOrCreateStringValueConverterClass(columnElement, rowElement, tableManager, existingConverters, pasteHelper.getMultiValueSeparator());
-
+
// Get the converted value (to compare with the new one
final Command command = CellManagerFactory.INSTANCE.getSetStringValueCommand(tableEditingDomain, columnElement, rowElement, valueAsString, converter, tableManager);
final IStatus commandStatus = getStatusCommand(command);
@@ -1077,7 +1081,7 @@ public abstract class AbstractPasteInSelectionNattableCommandProvider implements
}
nbColmnRead++;
}
-
+
if (lastColumnPosition < nbColmnRead) {
lastColumnPosition = nbColmnRead;
}
@@ -1093,7 +1097,7 @@ public abstract class AbstractPasteInSelectionNattableCommandProvider implements
if (canContinue(resultStatus) && null != compoundCommand && !compoundCommand.isEmpty() && compoundCommand.canExecute()) {
// Execute the compound command
tableEditingDomain.getCommandStack().execute(compoundCommand);
-
+
return new CommandResult(resultStatus);
}
if (!resultStatus.isOK()) {
@@ -1320,7 +1324,7 @@ public abstract class AbstractPasteInSelectionNattableCommandProvider implements
Iterator<InsertedElementInNattable> objectsToAddIterator = objectsToAdd.iterator();
while (objectsToAddIterator.hasNext() && null == foundInsertedElement) {
final InsertedElementInNattable insertedElement = objectsToAddIterator.next();
- if (insertedElement.equals(currentContext) && insertedElement.getContainementFeature().equals(containementFeature)) {
+ if (insertedElement.getContext().equals(currentContext) && insertedElement.getContainementFeature().equals(containementFeature)) {
foundInsertedElement = insertedElement;
}
}
@@ -1378,9 +1382,7 @@ public abstract class AbstractPasteInSelectionNattableCommandProvider implements
final Object columnElement = getColumnElement(realColumnIndex);
// Edit the value if this is editable
- final boolean isEditable = null == sharedMap ?
- CellManagerFactory.INSTANCE.isCellEditable(columnElement, rowElement) :
- CellManagerFactory.INSTANCE.isCellEditable(columnElement, rowElement, sharedMap);
+ final boolean isEditable = null == sharedMap ? CellManagerFactory.INSTANCE.isCellEditable(columnElement, rowElement) : CellManagerFactory.INSTANCE.isCellEditable(columnElement, rowElement, sharedMap);
if (isEditable) {
final AbstractStringValueConverter converter = CellManagerFactory.INSTANCE.getOrCreateStringValueConverterClass(columnElement, rowElement, tableManager, existingConverters, pasteHelper.getMultiValueSeparator());
@@ -1431,23 +1433,23 @@ public abstract class AbstractPasteInSelectionNattableCommandProvider implements
createTableRowInAttachedModeCommand(compoundCommand, objectsToAdd);
}
}
-
+
// Execute some actions available in the share map when this is the detached mode
- if(!attachedMode){
+ if (!attachedMode) {
// Manage the reference to set
@SuppressWarnings("unchecked")
final List<IValueSetter> valueToSet = (List<IValueSetter>) sharedMap.get(Constants.REFERENCES_TO_SET_KEY);
-
+
if (valueToSet.size() > 0) {
for (final IValueSetter current : valueToSet) {
current.doSetValue(contextEditingDomain);
}
}
-
+
// Manage the cells problems to add
@SuppressWarnings("unchecked")
final List<Cell> cells = (List<Cell>) sharedMap.get(Constants.CELLS_TO_ADD_KEY);
-
+
// add the created cells to the table
if (null != cells && !cells.isEmpty()) {
compoundCommand.append(AddCommand.create(tableEditingDomain, table, NattablePackage.eINSTANCE.getTable_Cells(), cells));
@@ -1455,13 +1457,18 @@ public abstract class AbstractPasteInSelectionNattableCommandProvider implements
}
}
- if (progressMonitor != null && progressMonitor.isCanceled()) {
+
+ if (progressMonitor != null) {
+ if (progressMonitor.isCanceled()) {
+ progressMonitor.done();
+ localDispose();
+ return CommandResult.newCancelledCommandResult();
+ }
+
progressMonitor.done();
- localDispose();
- return CommandResult.newCancelledCommandResult();
}
-
- progressMonitor.done();
+
+
localDispose();
if (resultStatus.isOK()) {
@@ -1613,13 +1620,13 @@ public abstract class AbstractPasteInSelectionNattableCommandProvider implements
int realRowIndex = rowHideShowLayer.getRowIndexByPosition(nbRowRead);
// Get the row object from its index
final Object rowElement = AxisUtils.getRepresentedElement(tableManager.getRowElement(realRowIndex));
-
- if(!(rowElement instanceof TreeFillingConfiguration)){
+
+ if (!(rowElement instanceof TreeFillingConfiguration)) {
// Edit the value if this is editable
final boolean isEditable = CellManagerFactory.INSTANCE.isCellEditable(columnElement, rowElement, sharedMap);
if (isEditable) {
final AbstractStringValueConverter converter = CellManagerFactory.INSTANCE.getOrCreateStringValueConverterClass(columnElement, rowElement, tableManager, existingConverters, pasteHelper.getMultiValueSeparator());
-
+
// Get the converted value (to compare with the new one
final Command command = CellManagerFactory.INSTANCE.getSetStringValueCommand(tableEditingDomain, columnElement, rowElement, valueAsString, converter, tableManager);
final IStatus commandStatus = getStatusCommand(command);
@@ -1781,7 +1788,7 @@ public abstract class AbstractPasteInSelectionNattableCommandProvider implements
if (isInsert) {
currentUserAction = UserActionConstants.ADD_USER_ACTION;
multiStatus.add(new Status(IStatus.WARNING, Activator.PLUGIN_ID, String.format(Messages.AbstractPasteInSelectionNattableCommandProvider_identifierNotFoundInSelectionSoTheObjectWasCreated, identifierValue)));
- }else{
+ } else {
multiStatus.add(new Status(IStatus.WARNING, Activator.PLUGIN_ID, String.format(Messages.AbstractPasteInSelectionNattableCommandProvider_identifierNotFoundInSelection, identifierValue)));
}
}
@@ -1961,7 +1968,7 @@ public abstract class AbstractPasteInSelectionNattableCommandProvider implements
* @return The depth from the object in parameter.
*/
protected abstract int getDepthFromObject(final Object object);
-
+
/**
* Get the category from the object in parameter.
*
diff --git a/plugins/infra/nattable/org.eclipse.papyrus.infra.nattable/src/org/eclipse/papyrus/infra/nattable/provider/PasteEObjectTreeAxisInNattableCommandProvider.java b/plugins/infra/nattable/org.eclipse.papyrus.infra.nattable/src/org/eclipse/papyrus/infra/nattable/provider/PasteEObjectTreeAxisInNattableCommandProvider.java
index 1711c771270..3879b40e45d 100644
--- a/plugins/infra/nattable/org.eclipse.papyrus.infra.nattable/src/org/eclipse/papyrus/infra/nattable/provider/PasteEObjectTreeAxisInNattableCommandProvider.java
+++ b/plugins/infra/nattable/org.eclipse.papyrus.infra.nattable/src/org/eclipse/papyrus/infra/nattable/provider/PasteEObjectTreeAxisInNattableCommandProvider.java
@@ -194,9 +194,11 @@ public class PasteEObjectTreeAxisInNattableCommandProvider extends AbstractPaste
referencedPasteConf.add(tmp.getPasteConfiguration());
}
}
- for (final IAxisConfiguration axisConf : conf.getOwnedAxisConfigurations()) {
- if (axisConf instanceof IPasteConfiguration && !referencedPasteConf.contains(axisConf)) {
- return (IPasteConfiguration) axisConf;
+ if (conf != null) {
+ for (final IAxisConfiguration axisConf : conf.getOwnedAxisConfigurations()) {
+ if (axisConf instanceof IPasteConfiguration && !referencedPasteConf.contains(axisConf)) {
+ return (IPasteConfiguration) axisConf;
+ }
}
}
}
@@ -547,7 +549,7 @@ public class PasteEObjectTreeAxisInNattableCommandProvider extends AbstractPaste
*/
private Object createElement(final boolean isDetachedMode, final ExtendedCompoundCommand compoundCommand, final Map<Integer, EObject> contextMap, final int depth, final String valueAsString, final PasteEObjectConfiguration pasteConfToUse,
final IProgressMonitor monitor, final IAdaptable info)
- throws ExecutionException {
+ throws ExecutionException {
return isDetachedMode ? createElementInDetachedMode(compoundCommand, contextMap, depth, valueAsString, pasteConfToUse, monitor, info) : createElementInAttachedMode(compoundCommand, contextMap, depth, valueAsString, pasteConfToUse, monitor, info);
}
@@ -631,7 +633,7 @@ public class PasteEObjectTreeAxisInNattableCommandProvider extends AbstractPaste
*/
protected Object createElementInAttachedMode(final ExtendedCompoundCommand compoundCommand, final Map<Integer, EObject> contextMap, final int depth, final String valueAsString, final PasteEObjectConfiguration pasteConfToUse, final IProgressMonitor monitor,
final IAdaptable info)
- throws ExecutionException {
+ throws ExecutionException {
Object createdElement = null;
// get the element type to use to create the element
diff --git a/plugins/infra/nattable/org.eclipse.papyrus.infra.nattable/src/org/eclipse/papyrus/infra/nattable/provider/PasteInSelectionTreeNattableCommandProvider.java b/plugins/infra/nattable/org.eclipse.papyrus.infra.nattable/src/org/eclipse/papyrus/infra/nattable/provider/PasteInSelectionTreeNattableCommandProvider.java
index 1a5bd3f28ef..5d2f14c206e 100644
--- a/plugins/infra/nattable/org.eclipse.papyrus.infra.nattable/src/org/eclipse/papyrus/infra/nattable/provider/PasteInSelectionTreeNattableCommandProvider.java
+++ b/plugins/infra/nattable/org.eclipse.papyrus.infra.nattable/src/org/eclipse/papyrus/infra/nattable/provider/PasteInSelectionTreeNattableCommandProvider.java
@@ -122,9 +122,11 @@ public class PasteInSelectionTreeNattableCommandProvider extends PasteInSelectio
referencedPasteConf.add(tmp.getPasteConfiguration());
}
}
- for (final IAxisConfiguration axisConf : conf.getOwnedAxisConfigurations()) {
- if (axisConf instanceof PasteEObjectConfiguration && !referencedPasteConf.contains(axisConf)) {
- return (PasteEObjectConfiguration) axisConf;
+ if (conf != null) {
+ for (final IAxisConfiguration axisConf : conf.getOwnedAxisConfigurations()) {
+ if (axisConf instanceof PasteEObjectConfiguration && !referencedPasteConf.contains(axisConf)) {
+ return (PasteEObjectConfiguration) axisConf;
+ }
}
}
}
@@ -282,8 +284,8 @@ public class PasteInSelectionTreeNattableCommandProvider extends PasteInSelectio
final InsertedElementInNattable currentInsertedElement = createdElements.get(insertedElementIndex);
if (-1 != currentInsertedElement.getIndexInParent()) {
int addedIndex = 0;
- for(Object createdElement : currentInsertedElement.getCreatedElements()){
- addCommand.append(MoveCommand.create(contextEditingDomain, currentInsertedElement.getContext(), currentInsertedElement.getContainementFeature(), createdElement, currentInsertedElement.getIndexInParent()+addedIndex));
+ for (Object createdElement : currentInsertedElement.getCreatedElements()) {
+ addCommand.append(MoveCommand.create(contextEditingDomain, currentInsertedElement.getContext(), currentInsertedElement.getContainementFeature(), createdElement, currentInsertedElement.getIndexInParent() + addedIndex));
addedIndex++;
}
}
diff --git a/plugins/infra/nattable/org.eclipse.papyrus.infra.nattable/src/org/eclipse/papyrus/infra/nattable/utils/InsertedElementInNattable.java b/plugins/infra/nattable/org.eclipse.papyrus.infra.nattable/src/org/eclipse/papyrus/infra/nattable/utils/InsertedElementInNattable.java
index 27ee85a903b..ced6c0a03fc 100644
--- a/plugins/infra/nattable/org.eclipse.papyrus.infra.nattable/src/org/eclipse/papyrus/infra/nattable/utils/InsertedElementInNattable.java
+++ b/plugins/infra/nattable/org.eclipse.papyrus.infra.nattable/src/org/eclipse/papyrus/infra/nattable/utils/InsertedElementInNattable.java
@@ -54,10 +54,14 @@ public class InsertedElementInNattable {
/**
* Constructor.
*
- * @param context The context of the created elements
- * @param containementFeature The containment feature.
- * @param indexInParent The index where add the created elements in the context.
- * @param indexInTable The index where add the created elements in the table.
+ * @param context
+ * The context of the created elements
+ * @param containementFeature
+ * The containment feature.
+ * @param indexInParent
+ * The index where add the created elements in the context.
+ * @param indexInTable
+ * The index where add the created elements in the table.
*/
public InsertedElementInNattable(EObject context, EStructuralFeature containementFeature, int indexInParent, int indexInTable) {
super();
@@ -67,16 +71,21 @@ public class InsertedElementInNattable {
this.indexInParent = indexInParent;
this.indexInTable = indexInTable;
}
-
+
/**
*
* Constructor.
*
- * @param context The context of the created elements.
- * @param createdElements The created elements to add.
- * @param containementFeature The containment feature.
- * @param indexInParent The index where add the created elements in the context.
- * @param indexInTable The index where add the created elements in the table.
+ * @param context
+ * The context of the created elements.
+ * @param createdElements
+ * The created elements to add.
+ * @param containementFeature
+ * The containment feature.
+ * @param indexInParent
+ * The index where add the created elements in the context.
+ * @param indexInTable
+ * The index where add the created elements in the table.
*/
public InsertedElementInNattable(EObject context, List<Object> createdElements, EStructuralFeature containementFeature, int indexInParent, int indexInTable) {
super();
@@ -100,7 +109,8 @@ public class InsertedElementInNattable {
/**
* This allows to add a created elements.
*
- * @param object the created element to add.
+ * @param object
+ * the created element to add.
*/
public void addCreatedElement(final Object createdElement) {
this.createdElements.add(createdElement);
@@ -162,4 +172,9 @@ public class InsertedElementInNattable {
return result;
}
+
+ @Override
+ public int hashCode() {
+ return super.hashCode();
+ }
}
diff --git a/plugins/infra/newchild/org.eclipse.papyrus.infra.newchild.edit/META-INF/MANIFEST.MF b/plugins/infra/newchild/org.eclipse.papyrus.infra.newchild.edit/META-INF/MANIFEST.MF
index dcd40b46097..fb89fe4aa0b 100644
--- a/plugins/infra/newchild/org.eclipse.papyrus.infra.newchild.edit/META-INF/MANIFEST.MF
+++ b/plugins/infra/newchild/org.eclipse.papyrus.infra.newchild.edit/META-INF/MANIFEST.MF
@@ -1,7 +1,7 @@
Manifest-Version: 1.0
Export-Package: org.eclipse.papyrus.infra.newchild.elementcreationmenumodel.provider
Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.12.0,4.0.0)",
- org.eclipse.papyrus.infra.newchild;bundle-version="[1.2.0,2.0.0)";visibility:=reexport,
+ org.eclipse.papyrus.infra.newchild;bundle-version="[2.0.0,3.0.0)";visibility:=reexport,
org.eclipse.emf.edit;bundle-version="[2.12.0,3.0.0)";visibility:=reexport,
org.eclipse.emf.ecore;bundle-version="[2.12.0,3.0.0)";visibility:=reexport,
org.eclipse.emf.ecore.edit;bundle-version="[2.9.0,3.0.0)";visibility:=reexport,
@@ -10,7 +10,7 @@ Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.12.0,4.0.0)",
Bundle-Vendor: %providerName
Bundle-ActivationPolicy: lazy
Bundle-ClassPath: .
-Bundle-Version: 1.2.0.qualifier
+Bundle-Version: 2.0.0.qualifier
Bundle-Name: %pluginName
Bundle-Localization: plugin
Bundle-ManifestVersion: 2
diff --git a/plugins/infra/newchild/org.eclipse.papyrus.infra.newchild.edit/pom.xml b/plugins/infra/newchild/org.eclipse.papyrus.infra.newchild.edit/pom.xml
index bbc4a766d96..0f5a7dca600 100644
--- a/plugins/infra/newchild/org.eclipse.papyrus.infra.newchild.edit/pom.xml
+++ b/plugins/infra/newchild/org.eclipse.papyrus.infra.newchild.edit/pom.xml
@@ -1,12 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
-<project>
- <modelVersion>4.0.0</modelVersion>
- <parent>
- <artifactId>org.eclipse.papyrus.infra-newchild</artifactId>
- <groupId>org.eclipse.papyrus</groupId>
- <version>0.0.1-SNAPSHOT</version>
- </parent>
- <artifactId>org.eclipse.papyrus.infra.newchild.edit</artifactId>
- <version>1.2.0-SNAPSHOT</version>
- <packaging>eclipse-plugin</packaging>
-</project>
+<project>
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <artifactId>org.eclipse.papyrus.infra-newchild</artifactId>
+ <groupId>org.eclipse.papyrus</groupId>
+ <version>0.0.1-SNAPSHOT</version>
+ </parent>
+ <artifactId>org.eclipse.papyrus.infra.newchild.edit</artifactId>
+ <version>2.0.0-SNAPSHOT</version>
+ <packaging>eclipse-plugin</packaging>
+</project> \ No newline at end of file
diff --git a/plugins/infra/newchild/org.eclipse.papyrus.infra.newchild.editor/META-INF/MANIFEST.MF b/plugins/infra/newchild/org.eclipse.papyrus.infra.newchild.editor/META-INF/MANIFEST.MF
index c096a01e0c5..291f13f9044 100644
--- a/plugins/infra/newchild/org.eclipse.papyrus.infra.newchild.editor/META-INF/MANIFEST.MF
+++ b/plugins/infra/newchild/org.eclipse.papyrus.infra.newchild.editor/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@ Manifest-Version: 1.0
Export-Package: org.eclipse.papyrus.infra.newchild.elementcreationmenumodel.presentation
Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.12.0,4.0.0)",
org.eclipse.core.resources;bundle-version="[3.11.0,4.0.0)";visibility:=reexport,
- org.eclipse.papyrus.infra.newchild.edit;bundle-version="[1.2.0,2.0.0)";visibility:=reexport,
+ org.eclipse.papyrus.infra.newchild.edit;bundle-version="[2.0.0,3.0.0)";visibility:=reexport,
org.eclipse.emf.ecore.xmi;visibility:=reexport,
org.eclipse.emf.edit.ui;visibility:=reexport,
org.eclipse.ui.ide;visibility:=reexport,
diff --git a/plugins/infra/newchild/org.eclipse.papyrus.infra.newchild/META-INF/MANIFEST.MF b/plugins/infra/newchild/org.eclipse.papyrus.infra.newchild/META-INF/MANIFEST.MF
index 90bb571a913..7ea448641ff 100644
--- a/plugins/infra/newchild/org.eclipse.papyrus.infra.newchild/META-INF/MANIFEST.MF
+++ b/plugins/infra/newchild/org.eclipse.papyrus.infra.newchild/META-INF/MANIFEST.MF
@@ -12,13 +12,13 @@ Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.12.0,4.0.0)",
org.eclipse.papyrus.infra.services.edit;bundle-version="[2.0.0,3.0.0)";visibility:=reexport,
org.eclipse.papyrus.infra.emf.gmf;bundle-version="[1.2.0,2.0.0)",
org.eclipse.papyrus.infra.emf;bundle-version="[2.0.0,3.0.0)",
- org.eclipse.papyrus.infra.ui.emf;bundle-version="[1.2.0,2.0.0)",
+ org.eclipse.papyrus.infra.ui.emf;bundle-version="[2.0.0,3.0.0)",
org.eclipse.papyrus.infra.services.semantic;bundle-version="[1.2.0,2.0.0)",
- org.eclipse.papyrus.infra.gmfdiag.commands;bundle-version="[2.0.0,3.0.0)"
+ org.eclipse.papyrus.infra.gmfdiag.commands;bundle-version="[3.0.0,4.0.0)"
Bundle-Vendor: %providerName
Bundle-ActivationPolicy: lazy
Bundle-ClassPath: .
-Bundle-Version: 1.2.0.qualifier
+Bundle-Version: 2.0.0.qualifier
Bundle-Localization: plugin
Bundle-Name: %pluginName
Bundle-ManifestVersion: 2
diff --git a/plugins/infra/newchild/org.eclipse.papyrus.infra.newchild/pom.xml b/plugins/infra/newchild/org.eclipse.papyrus.infra.newchild/pom.xml
index 07c3dbc2571..2cb66d3ccd4 100644
--- a/plugins/infra/newchild/org.eclipse.papyrus.infra.newchild/pom.xml
+++ b/plugins/infra/newchild/org.eclipse.papyrus.infra.newchild/pom.xml
@@ -1,12 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
-<project>
- <modelVersion>4.0.0</modelVersion>
- <parent>
- <artifactId>org.eclipse.papyrus.infra-newchild</artifactId>
- <groupId>org.eclipse.papyrus</groupId>
- <version>0.0.1-SNAPSHOT</version>
- </parent>
- <artifactId>org.eclipse.papyrus.infra.newchild</artifactId>
- <version>1.2.0-SNAPSHOT</version>
- <packaging>eclipse-plugin</packaging>
-</project>
+<project>
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <artifactId>org.eclipse.papyrus.infra-newchild</artifactId>
+ <groupId>org.eclipse.papyrus</groupId>
+ <version>0.0.1-SNAPSHOT</version>
+ </parent>
+ <artifactId>org.eclipse.papyrus.infra.newchild</artifactId>
+ <version>2.0.0-SNAPSHOT</version>
+ <packaging>eclipse-plugin</packaging>
+</project> \ No newline at end of file
diff --git a/plugins/infra/newchild/org.eclipse.papyrus.infra.newchild/src/org/eclipse/papyrus/infra/newchild/CreationMenuRegistry.java b/plugins/infra/newchild/org.eclipse.papyrus.infra.newchild/src/org/eclipse/papyrus/infra/newchild/CreationMenuRegistry.java
index 5dce62326f2..d30ddefaa6f 100644
--- a/plugins/infra/newchild/org.eclipse.papyrus.infra.newchild/src/org/eclipse/papyrus/infra/newchild/CreationMenuRegistry.java
+++ b/plugins/infra/newchild/org.eclipse.papyrus.infra.newchild/src/org/eclipse/papyrus/infra/newchild/CreationMenuRegistry.java
@@ -50,29 +50,27 @@ public class CreationMenuRegistry {
private static final boolean DEFAULT_VISIBILITY = true;
/** The registry. */
- protected static CreationMenuRegistry creationMenuRegistry;
+ protected static volatile CreationMenuRegistry creationMenuRegistry;
/** The extension id. */
- private final String MENU_CREATION_MODEL_EXTENSION_ID = "org.eclipse.papyrus.infra.newchild"; //$NON-NLS-1$
+ private static final String MENU_CREATION_MODEL_EXTENSION_ID = "org.eclipse.papyrus.infra.newchild"; //$NON-NLS-1$
/** The model id. */
- private final String MODEL_ID = "model"; //$NON-NLS-1$
-
- /** The tool id. */
- private final String ID = "id"; //$NON-NLS-1$
+ private static final String MODEL_ID = "model"; //$NON-NLS-1$
/** preferences which contain visible folder */
- private Preferences preferences;
+ private static Preferences preferences;
/** the folders collection. */
- private List<Folder> folders = new ArrayList<>();
+ private static List<Folder> folders = new ArrayList<>();
/** Default values of folder visibilities */
- private Map<String, Boolean> defaultValues = new HashMap<>();
+ private static Map<String, Boolean> defaultValues = new HashMap<>();
/** the resource set. */
private static ResourceSetImpl resourceSet;
+
/**
* returns the singleton instance of this registry
*
@@ -81,7 +79,7 @@ public class CreationMenuRegistry {
public static synchronized CreationMenuRegistry getInstance() {
if (null == creationMenuRegistry) {
creationMenuRegistry = new CreationMenuRegistry();
- creationMenuRegistry.init();
+ init();
}
return creationMenuRegistry;
}
@@ -89,13 +87,13 @@ public class CreationMenuRegistry {
/**
* Constructor.
*/
- public CreationMenuRegistry() {
+ private CreationMenuRegistry() {
}
/**
* this method load the extension points and initialize resource set.
*/
- public void init() {
+ public static void init() {
// Obtain a new resource set
resourceSet = new ResourceSetImpl();
resourceSet.getPackageRegistry().put(ElementCreationMenuModelPackage.eINSTANCE.getNsURI(), ElementCreationMenuModelPackage.eINSTANCE);
@@ -121,7 +119,7 @@ public class CreationMenuRegistry {
/**
* Return the id of the folder if is loaded.
*/
- public String getFolderKey(Folder folder) {
+ public static String getFolderKey(Folder folder) {
return EcoreUtil.getURI(folder).trimFragment().toPlatformString(true);
}
@@ -132,7 +130,7 @@ public class CreationMenuRegistry {
* the extension point
* @return the Folder
*/
- private Folder initializeOneModel(final IConfigurationElement element) {
+ private static Folder initializeOneModel(final IConfigurationElement element) {
Folder folder = null;
try {
folder = createExtension(element, element.getAttribute(MODEL_ID));
@@ -192,7 +190,7 @@ public class CreationMenuRegistry {
* @throws Exception
* if the resource is not loaded
*/
- private Folder createExtension(final IConfigurationElement element, final String classAttribute) throws Exception {
+ private static Folder createExtension(final IConfigurationElement element, final String classAttribute) throws Exception {
Folder folder = null;
try {
Bundle extensionBundle = Platform.getBundle(element.getDeclaringExtension().getNamespaceIdentifier());
@@ -222,7 +220,7 @@ public class CreationMenuRegistry {
* @return the root {@link Folder} from the model CreationMenuModel.
* @throws URISyntaxException
*/
- private Folder getCreationMenuModel(final URI uri) throws URISyntaxException {
+ private static Folder getCreationMenuModel(final URI uri) throws URISyntaxException {
Folder folder = null;
Resource.Factory.Registry.INSTANCE.getExtensionToFactoryMap().put(Resource.Factory.Registry.DEFAULT_EXTENSION, new XMIResourceFactoryImpl());
@@ -280,7 +278,7 @@ public class CreationMenuRegistry {
*/
public boolean getCreationMenuVisibility(final Folder folder) {
String visible = preferences.get(getFolderKey(folder), "");//$NON-NLS-1$
- return "" == visible ? folder.isVisible() : Boolean.valueOf(visible);//$NON-NLS-1$
+ return visible.isEmpty() ? folder.isVisible() : Boolean.valueOf(visible);// $NON-NLS-1$
}
/**
@@ -298,7 +296,7 @@ public class CreationMenuRegistry {
Activator.log.error(e);
}
String visible = preferences.get(uri.toPlatformString(true), "");//$NON-NLS-1$
- return "" == visible ? folder.isVisible() : Boolean.valueOf(visible);//$NON-NLS-1$
+ return visible.isEmpty() ? folder.isVisible() : Boolean.valueOf(visible);// $NON-NLS-1$
}
/**
diff --git a/plugins/infra/onefile/org.eclipse.papyrus.infra.onefile/src/org/eclipse/papyrus/infra/onefile/utils/OneFileUtils.java b/plugins/infra/onefile/org.eclipse.papyrus.infra.onefile/src/org/eclipse/papyrus/infra/onefile/utils/OneFileUtils.java
index 7f83f65c988..9a3ab4ef4bb 100644
--- a/plugins/infra/onefile/org.eclipse.papyrus.infra.onefile/src/org/eclipse/papyrus/infra/onefile/utils/OneFileUtils.java
+++ b/plugins/infra/onefile/org.eclipse.papyrus.infra.onefile/src/org/eclipse/papyrus/infra/onefile/utils/OneFileUtils.java
@@ -117,8 +117,13 @@ public class OneFileUtils {
* @return
*/
public static String withoutFileExtension(IResource res) {
- if (res.getFileExtension() != null && res.getFileExtension().length() > 0) {
- return res.getName().substring(0, res.getName().lastIndexOf('.'));
+ String extension = res.getFileExtension();
+ if (extension != null) {
+ if (extension.length() > 0) {
+ return res.getName().substring(0, res.getName().lastIndexOf('.'));
+ } else {
+ return null;
+ }
} else {
return res.getName();
}
diff --git a/plugins/infra/properties/org.eclipse.papyrus.infra.properties.ui/META-INF/MANIFEST.MF b/plugins/infra/properties/org.eclipse.papyrus.infra.properties.ui/META-INF/MANIFEST.MF
index 9802cebba00..3441b89268d 100644
--- a/plugins/infra/properties/org.eclipse.papyrus.infra.properties.ui/META-INF/MANIFEST.MF
+++ b/plugins/infra/properties/org.eclipse.papyrus.infra.properties.ui/META-INF/MANIFEST.MF
@@ -19,13 +19,13 @@ Bundle-Name: %pluginName
Bundle-Localization: plugin
Bundle-RequiredExecutionEnvironment: JavaSE-1.8
Require-Bundle: org.eclipse.papyrus.infra.properties;bundle-version="[1.2.0,2.0.0)";visibility:=reexport,
- org.eclipse.papyrus.infra.widgets;bundle-version="[2.0.0,3.0.0)";visibility:=reexport,
+ org.eclipse.papyrus.infra.widgets;bundle-version="[3.0.0,4.0.0)";visibility:=reexport,
org.eclipse.papyrus.infra.emf;bundle-version="[2.0.0,3.0.0)";visibility:=reexport,
org.eclipse.papyrus.infra.widgets.toolbox;bundle-version="[1.2.0,2.0.0)",
org.eclipse.xwt;bundle-version="[1.1.0,2.0.0)",
- org.eclipse.papyrus.infra.ui.emf;bundle-version="[1.2.0,2.0.0)";visibility:=reexport
+ org.eclipse.papyrus.infra.ui.emf;bundle-version="[2.0.0,3.0.0)";visibility:=reexport
Bundle-Vendor: %Bundle-Vendor
-Bundle-Version: 1.3.0.qualifier
+Bundle-Version: 2.0.0.qualifier
Eclipse-BuddyPolicy: dependent
Bundle-Activator: org.eclipse.papyrus.infra.properties.internal.ui.Activator
Bundle-ManifestVersion: 2
diff --git a/plugins/infra/properties/org.eclipse.papyrus.infra.properties.ui/pom.xml b/plugins/infra/properties/org.eclipse.papyrus.infra.properties.ui/pom.xml
index 42bea23053d..7b474182ce5 100644
--- a/plugins/infra/properties/org.eclipse.papyrus.infra.properties.ui/pom.xml
+++ b/plugins/infra/properties/org.eclipse.papyrus.infra.properties.ui/pom.xml
@@ -1,12 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
-<project>
- <modelVersion>4.0.0</modelVersion>
- <parent>
- <artifactId>org.eclipse.papyrus.infra-properties</artifactId>
- <groupId>org.eclipse.papyrus</groupId>
- <version>0.0.1-SNAPSHOT</version>
- </parent>
- <artifactId>org.eclipse.papyrus.infra.properties.ui</artifactId>
- <version>1.3.0-SNAPSHOT</version>
- <packaging>eclipse-plugin</packaging>
+<project>
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <artifactId>org.eclipse.papyrus.infra-properties</artifactId>
+ <groupId>org.eclipse.papyrus</groupId>
+ <version>0.0.1-SNAPSHOT</version>
+ </parent>
+ <artifactId>org.eclipse.papyrus.infra.properties.ui</artifactId>
+ <version>2.0.0-SNAPSHOT</version>
+ <packaging>eclipse-plugin</packaging>
</project> \ No newline at end of file
diff --git a/plugins/infra/properties/org.eclipse.papyrus.infra.properties.ui/src/org/eclipse/papyrus/infra/properties/ui/modelelement/AbstractModelElement.java b/plugins/infra/properties/org.eclipse.papyrus.infra.properties.ui/src/org/eclipse/papyrus/infra/properties/ui/modelelement/AbstractModelElement.java
index 59eada00b74..78814eff5f8 100644
--- a/plugins/infra/properties/org.eclipse.papyrus.infra.properties.ui/src/org/eclipse/papyrus/infra/properties/ui/modelelement/AbstractModelElement.java
+++ b/plugins/infra/properties/org.eclipse.papyrus.infra.properties.ui/src/org/eclipse/papyrus/infra/properties/ui/modelelement/AbstractModelElement.java
@@ -170,7 +170,7 @@ public abstract class AbstractModelElement implements ModelElement, IDataSourceL
* @param propertyPath
* The path of the property we want to observe
* @return
- * The new IObservable
+ * The new IObservable
*/
protected abstract IObservable doGetObservable(String propertyPath);
@@ -210,8 +210,8 @@ public abstract class AbstractModelElement implements ModelElement, IDataSourceL
return observableDisposeListener;
}
-
-
+
+
/**
* @see org.eclipse.papyrus.infra.properties.ui.modelelement.ModelElement#getNameResolutionHelper(java.lang.String)
*
@@ -232,13 +232,13 @@ public abstract class AbstractModelElement implements ModelElement, IDataSourceL
public IPapyrusConverter getPapyrusConverter(String propertyPath) {
return null;
}
-
+
/**
* Get the observables map by property path.
*
* @return the observables.
*
- * @since 1.3
+ * @since 2.0
*/
public Map<String, IObservable> getObservables() {
return observables;
diff --git a/plugins/infra/properties/org.eclipse.papyrus.infra.properties.ui/src/org/eclipse/papyrus/infra/properties/ui/util/PropertiesUtil.java b/plugins/infra/properties/org.eclipse.papyrus.infra.properties.ui/src/org/eclipse/papyrus/infra/properties/ui/util/PropertiesUtil.java
index c9147c1045d..d1bdce53b75 100644
--- a/plugins/infra/properties/org.eclipse.papyrus.infra.properties.ui/src/org/eclipse/papyrus/infra/properties/ui/util/PropertiesUtil.java
+++ b/plugins/infra/properties/org.eclipse.papyrus.infra.properties.ui/src/org/eclipse/papyrus/infra/properties/ui/util/PropertiesUtil.java
@@ -36,7 +36,7 @@ public class PropertiesUtil {
/**
* @param source
* @return
- * the given String with the first letter capitalized
+ * the given String with the first letter capitalized
*/
public static String firstToUpper(String source) {
if (source.length() == 0) {
@@ -48,7 +48,7 @@ public class PropertiesUtil {
/**
* @param source
* @return
- * the given String with the first letter lowered
+ * the given String with the first letter lowered
*/
public static String firstToLower(String source) {
if (source.length() == 0) {
@@ -74,7 +74,7 @@ public class PropertiesUtil {
/**
* @param variableName
* @return
- * A formatted version of the given variable name
+ * A formatted version of the given variable name
*/
public static String getLabel(String variableName) {
// "CamelCase" to "Natural case"
@@ -109,7 +109,7 @@ public class PropertiesUtil {
* @param namespace
* @param value
* @return
- * True if they are equal
+ * True if they are equal
*/
public static boolean namespaceEquals(Namespace namespace, String value) {
if (namespace == null) {
@@ -125,7 +125,7 @@ public class PropertiesUtil {
* @param namespace
* @param name
* @return
- * True if they are equal
+ * True if they are equal
*/
public static boolean namespaceEqualsByName(Namespace namespace, String name) {
if (namespace == null) {
@@ -142,7 +142,7 @@ public class PropertiesUtil {
* @param namespace
* The namespace we want to prefix
* @return
- * The prefixed namespace
+ * The prefixed namespace
*/
public static String getPrefixedValue(Namespace namespace) {
String prefixedValue = ""; //$NON-NLS-1$
@@ -161,7 +161,7 @@ public class PropertiesUtil {
* @param namespace
* The namespace for which we want to get the qualified name
* @return
- * The namespace's qualified name
+ * The namespace's qualified name
*/
public static String getQualifiedName(Namespace namespace) {
if (namespace.getName() == null || namespace.getName().trim().equals("")) { //$NON-NLS-1$
@@ -180,7 +180,7 @@ public class PropertiesUtil {
* @param fromContextElements
* The collection of DataContextElements in which the method should look
* @return
- * The matching DataContextElement, or null if none was found
+ * The matching DataContextElement, or null if none was found
*/
public static DataContextElement getContextElementByQualifiedName(String qualifiedName, Collection<? extends DataContextElement> fromContextElements) {
int index = qualifiedName.indexOf(":"); //$NON-NLS-1$
@@ -212,7 +212,7 @@ public class PropertiesUtil {
* @param context
* The context for which we want to retrieve the list of dependencies
* @return
- * The list of Contexts on which the given context depends
+ * The list of Contexts on which the given context depends
*/
public static List<Context> getDependencies(Context context) {
List<Context> result = new LinkedList<Context>();
@@ -241,7 +241,7 @@ public class PropertiesUtil {
* @param source
* The collection of DataContextElements for which we want to retrieve all inherited elements
* @return
- * All DataContextElements inherited (Directly or indirectly) by at least one of the source
+ * All DataContextElements inherited (Directly or indirectly) by at least one of the source
* context elements
*/
public static Set<DataContextElement> getAllContextElements(Collection<DataContextElement> source) {
@@ -269,10 +269,10 @@ public class PropertiesUtil {
* @param maxCharPerLine
* The maximum number of characters per line in the resulting string
* @return
- * The split string
+ * The split string
*/
public static String resizeString(String string, int maxCharPerLine) {
- if (string == null || string.trim().length() <= maxCharPerLine) {
+ if (string.trim().length() <= maxCharPerLine) {
return string.trim();
}
diff --git a/plugins/infra/services/org.eclipse.papyrus.infra.services.controlmode/META-INF/MANIFEST.MF b/plugins/infra/services/org.eclipse.papyrus.infra.services.controlmode/META-INF/MANIFEST.MF
index baca073f4d7..f228409e741 100644
--- a/plugins/infra/services/org.eclipse.papyrus.infra.services.controlmode/META-INF/MANIFEST.MF
+++ b/plugins/infra/services/org.eclipse.papyrus.infra.services.controlmode/META-INF/MANIFEST.MF
@@ -16,7 +16,7 @@ Require-Bundle: org.eclipse.emf.edit.ui;bundle-version="[2.12.0,3.0.0)";visibili
org.eclipse.papyrus.infra.emf.gmf;bundle-version="[1.2.0,2.0.0)",
org.eclipse.papyrus.infra.services.edit;bundle-version="[2.0.0,3.0.0)",
org.eclipse.papyrus.infra.core.sashwindows.di;bundle-version="[1.2.0,2.0.0)";visibility:=reexport,
- org.eclipse.papyrus.infra.ui;bundle-version="[1.2.0,2.0.0)",
+ org.eclipse.papyrus.infra.ui;bundle-version="[2.0.0,3.0.0)",
org.eclipse.papyrus.infra.types.core;bundle-version="[3.0.0,4.0.0)",
org.eclipse.papyrus.infra.onefile;bundle-version="[2.0.0,3.0.0)"
Bundle-Vendor: %providerName
diff --git a/plugins/infra/services/org.eclipse.papyrus.infra.services.controlmode/src/org/eclipse/papyrus/infra/services/controlmode/commands/LoadDiagramCommand.java b/plugins/infra/services/org.eclipse.papyrus.infra.services.controlmode/src/org/eclipse/papyrus/infra/services/controlmode/commands/LoadDiagramCommand.java
index 4288417f4b1..66fd45e1a6e 100644
--- a/plugins/infra/services/org.eclipse.papyrus.infra.services.controlmode/src/org/eclipse/papyrus/infra/services/controlmode/commands/LoadDiagramCommand.java
+++ b/plugins/infra/services/org.eclipse.papyrus.infra.services.controlmode/src/org/eclipse/papyrus/infra/services/controlmode/commands/LoadDiagramCommand.java
@@ -47,7 +47,9 @@ public class LoadDiagramCommand implements Runnable {
* Initializes me as a no-op.
*/
public LoadDiagramCommand() {
- this(null, null);
+ super();
+ this.pageManager = null;
+ this.uri = null;
}
diff --git a/plugins/infra/services/org.eclipse.papyrus.infra.services.decoration/META-INF/MANIFEST.MF b/plugins/infra/services/org.eclipse.papyrus.infra.services.decoration/META-INF/MANIFEST.MF
index c489ed80064..3d9fd7e597b 100644
--- a/plugins/infra/services/org.eclipse.papyrus.infra.services.decoration/META-INF/MANIFEST.MF
+++ b/plugins/infra/services/org.eclipse.papyrus.infra.services.decoration/META-INF/MANIFEST.MF
@@ -4,7 +4,7 @@ Require-Bundle: org.eclipse.ui;bundle-version="[3.107.0,4.0.0)";visibility:=reex
org.eclipse.papyrus.infra.core;bundle-version="[2.0.0,3.0.0)";visibility:=reexport,
org.eclipse.papyrus.infra.services.markerlistener;bundle-version="[1.2.0,2.0.0)";visibility:=reexport,
org.eclipse.papyrus.infra.emf;bundle-version="[2.0.0,3.0.0)",
- org.eclipse.papyrus.infra.widgets;bundle-version="[2.0.0,3.0.0)"
+ org.eclipse.papyrus.infra.widgets;bundle-version="[3.0.0,4.0.0)"
Export-Package: org.eclipse.papyrus.infra.services.decoration,
org.eclipse.papyrus.infra.services.decoration.util
Bundle-Vendor: %providerName
diff --git a/plugins/infra/services/org.eclipse.papyrus.infra.services.edit.ui/META-INF/MANIFEST.MF b/plugins/infra/services/org.eclipse.papyrus.infra.services.edit.ui/META-INF/MANIFEST.MF
index 8aea5047297..f0f0c095e45 100644
--- a/plugins/infra/services/org.eclipse.papyrus.infra.services.edit.ui/META-INF/MANIFEST.MF
+++ b/plugins/infra/services/org.eclipse.papyrus.infra.services.edit.ui/META-INF/MANIFEST.MF
@@ -6,10 +6,10 @@ Export-Package: org.eclipse.papyrus.infra.services.edit.internal.ui;x-internal:=
Require-Bundle: org.eclipse.gmf.runtime.emf.type.core;bundle-version="[1.9.0,2.0.0)";visibility:=reexport,
org.eclipse.papyrus.infra.services.edit;bundle-version="[2.0.0,3.0.0)";visibility:=reexport,
org.eclipse.papyrus.infra.emf;bundle-version="[2.0.0,3.0.0)",
- org.eclipse.papyrus.infra.ui.emf;bundle-version="[1.2.0,2.0.0)";visibility:=reexport
+ org.eclipse.papyrus.infra.ui.emf;bundle-version="[2.0.0,3.0.0)";visibility:=reexport
Bundle-Vendor: %providerName
Bundle-ActivationPolicy: lazy
-Bundle-Version: 2.0.0.qualifier
+Bundle-Version: 3.0.0.qualifier
Bundle-Localization: plugin
Bundle-Name: %pluginName
Bundle-Activator: org.eclipse.papyrus.infra.services.edit.internal.ui.Activator
diff --git a/plugins/infra/services/org.eclipse.papyrus.infra.services.edit.ui/pom.xml b/plugins/infra/services/org.eclipse.papyrus.infra.services.edit.ui/pom.xml
index cb204d1048d..dabd15aefc8 100644
--- a/plugins/infra/services/org.eclipse.papyrus.infra.services.edit.ui/pom.xml
+++ b/plugins/infra/services/org.eclipse.papyrus.infra.services.edit.ui/pom.xml
@@ -1,12 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
-<project>
- <modelVersion>4.0.0</modelVersion>
- <parent>
- <artifactId>org.eclipse.papyrus.infra-services</artifactId>
- <groupId>org.eclipse.papyrus</groupId>
- <version>0.0.1-SNAPSHOT</version>
- </parent>
- <artifactId>org.eclipse.papyrus.infra.services.edit.ui</artifactId>
- <version>2.0.0-SNAPSHOT</version>
- <packaging>eclipse-plugin</packaging>
+<project>
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <artifactId>org.eclipse.papyrus.infra-services</artifactId>
+ <groupId>org.eclipse.papyrus</groupId>
+ <version>0.0.1-SNAPSHOT</version>
+ </parent>
+ <artifactId>org.eclipse.papyrus.infra.services.edit.ui</artifactId>
+ <version>3.0.0-SNAPSHOT</version>
+ <packaging>eclipse-plugin</packaging>
</project> \ No newline at end of file
diff --git a/plugins/infra/services/org.eclipse.papyrus.infra.services.navigation/META-INF/MANIFEST.MF b/plugins/infra/services/org.eclipse.papyrus.infra.services.navigation/META-INF/MANIFEST.MF
index bdc6f60792f..d2ab2e7bd8b 100644
--- a/plugins/infra/services/org.eclipse.papyrus.infra.services.navigation/META-INF/MANIFEST.MF
+++ b/plugins/infra/services/org.eclipse.papyrus.infra.services.navigation/META-INF/MANIFEST.MF
@@ -3,11 +3,11 @@ Export-Package: org.eclipse.papyrus.infra.services.navigation,
org.eclipse.papyrus.infra.services.navigation.provider,
org.eclipse.papyrus.infra.services.navigation.service
Require-Bundle: org.eclipse.papyrus.infra.core;bundle-version="[2.0.0,3.0.0)";visibility:=reexport,
- org.eclipse.papyrus.infra.widgets;bundle-version="[2.0.0,3.0.0)";visibility:=reexport,
- org.eclipse.papyrus.infra.ui;bundle-version="[1.2.0,2.0.0)"
+ org.eclipse.papyrus.infra.widgets;bundle-version="[3.0.0,4.0.0)";visibility:=reexport,
+ org.eclipse.papyrus.infra.ui;bundle-version="[2.0.0,3.0.0)"
Bundle-Vendor: Eclipse Modeling Project
Bundle-ActivationPolicy: lazy
-Bundle-Version: 2.0.0.qualifier
+Bundle-Version: 3.0.0.qualifier
Bundle-Name: Navigation Service
Bundle-Activator: org.eclipse.papyrus.infra.services.navigation.Activator
Bundle-ManifestVersion: 2
diff --git a/plugins/infra/services/org.eclipse.papyrus.infra.services.navigation/pom.xml b/plugins/infra/services/org.eclipse.papyrus.infra.services.navigation/pom.xml
index df231110938..74471ea9774 100644
--- a/plugins/infra/services/org.eclipse.papyrus.infra.services.navigation/pom.xml
+++ b/plugins/infra/services/org.eclipse.papyrus.infra.services.navigation/pom.xml
@@ -1,12 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
-<project>
- <modelVersion>4.0.0</modelVersion>
- <parent>
- <artifactId>org.eclipse.papyrus.infra-services</artifactId>
- <groupId>org.eclipse.papyrus</groupId>
- <version>0.0.1-SNAPSHOT</version>
- </parent>
- <artifactId>org.eclipse.papyrus.infra.services.navigation</artifactId>
- <version>2.0.0-SNAPSHOT</version>
- <packaging>eclipse-plugin</packaging>
+<project>
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <artifactId>org.eclipse.papyrus.infra-services</artifactId>
+ <groupId>org.eclipse.papyrus</groupId>
+ <version>0.0.1-SNAPSHOT</version>
+ </parent>
+ <artifactId>org.eclipse.papyrus.infra.services.navigation</artifactId>
+ <version>3.0.0-SNAPSHOT</version>
+ <packaging>eclipse-plugin</packaging>
</project> \ No newline at end of file
diff --git a/plugins/infra/services/org.eclipse.papyrus.infra.services.openelement/META-INF/MANIFEST.MF b/plugins/infra/services/org.eclipse.papyrus.infra.services.openelement/META-INF/MANIFEST.MF
index 9171a3c60f9..e3ed2456bc6 100644
--- a/plugins/infra/services/org.eclipse.papyrus.infra.services.openelement/META-INF/MANIFEST.MF
+++ b/plugins/infra/services/org.eclipse.papyrus.infra.services.openelement/META-INF/MANIFEST.MF
@@ -4,11 +4,11 @@ Export-Package: org.eclipse.papyrus.infra.services.openelement,
org.eclipse.papyrus.infra.services.openelement.service.impl
Require-Bundle: org.eclipse.ui.ide;bundle-version="[3.12.0,4.0.0)";visibility:=reexport,
org.eclipse.papyrus.infra.emf;bundle-version="[2.0.0,3.0.0)",
- org.eclipse.papyrus.infra.services.navigation;bundle-version="[2.0.0,3.0.0)",
- org.eclipse.papyrus.infra.ui;bundle-version="[1.2.0,2.0.0)";visibility:=reexport
+ org.eclipse.papyrus.infra.services.navigation;bundle-version="[3.0.0,4.0.0)",
+ org.eclipse.papyrus.infra.ui;bundle-version="[2.0.0,3.0.0)";visibility:=reexport
Bundle-Vendor: Eclipse Modeling Project
Bundle-ActivationPolicy: lazy
-Bundle-Version: 2.0.0.qualifier
+Bundle-Version: 3.0.0.qualifier
Bundle-Name: OpenElement Service
Bundle-Activator: org.eclipse.papyrus.infra.services.openelement.Activator
Bundle-ManifestVersion: 2
diff --git a/plugins/infra/services/org.eclipse.papyrus.infra.services.openelement/pom.xml b/plugins/infra/services/org.eclipse.papyrus.infra.services.openelement/pom.xml
index 152e03a8740..5552a67187b 100644
--- a/plugins/infra/services/org.eclipse.papyrus.infra.services.openelement/pom.xml
+++ b/plugins/infra/services/org.eclipse.papyrus.infra.services.openelement/pom.xml
@@ -1,12 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
-<project>
- <modelVersion>4.0.0</modelVersion>
- <parent>
- <artifactId>org.eclipse.papyrus.infra-services</artifactId>
- <groupId>org.eclipse.papyrus</groupId>
- <version>0.0.1-SNAPSHOT</version>
- </parent>
- <artifactId>org.eclipse.papyrus.infra.services.openelement</artifactId>
- <version>2.0.0-SNAPSHOT</version>
- <packaging>eclipse-plugin</packaging>
+<project>
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <artifactId>org.eclipse.papyrus.infra-services</artifactId>
+ <groupId>org.eclipse.papyrus</groupId>
+ <version>0.0.1-SNAPSHOT</version>
+ </parent>
+ <artifactId>org.eclipse.papyrus.infra.services.openelement</artifactId>
+ <version>3.0.0-SNAPSHOT</version>
+ <packaging>eclipse-plugin</packaging>
</project> \ No newline at end of file
diff --git a/plugins/infra/services/org.eclipse.papyrus.infra.services.resourceloading.ui/META-INF/MANIFEST.MF b/plugins/infra/services/org.eclipse.papyrus.infra.services.resourceloading.ui/META-INF/MANIFEST.MF
index 4008fabaf41..d0a798b5123 100644
--- a/plugins/infra/services/org.eclipse.papyrus.infra.services.resourceloading.ui/META-INF/MANIFEST.MF
+++ b/plugins/infra/services/org.eclipse.papyrus.infra.services.resourceloading.ui/META-INF/MANIFEST.MF
@@ -1,7 +1,7 @@
Manifest-Version: 1.0
Require-Bundle: org.eclipse.emf.common.ui;bundle-version="[2.10.0,3.0.0)",
org.eclipse.papyrus.infra.services.resourceloading;bundle-version="[2.0.0,3.0.0)",
- org.eclipse.papyrus.infra.ui;bundle-version="[1.2.0,2.0.0)",
+ org.eclipse.papyrus.infra.ui;bundle-version="[2.0.0,3.0.0)",
org.eclipse.papyrus.infra.widgets.toolbox;bundle-version="[1.2.0,2.0.0)",
org.eclipse.papyrus.infra.emf;bundle-version="[2.0.0,3.0.0)",
org.eclipse.gmf.runtime.notation;bundle-version="[1.8.0,2.0.0)"
diff --git a/plugins/infra/services/org.eclipse.papyrus.infra.services.validation/META-INF/MANIFEST.MF b/plugins/infra/services/org.eclipse.papyrus.infra.services.validation/META-INF/MANIFEST.MF
index 3c8c18c5b05..49c872a8217 100644
--- a/plugins/infra/services/org.eclipse.papyrus.infra.services.validation/META-INF/MANIFEST.MF
+++ b/plugins/infra/services/org.eclipse.papyrus.infra.services.validation/META-INF/MANIFEST.MF
@@ -9,10 +9,10 @@ Require-Bundle: org.eclipse.gmf.runtime.emf.commands.core;bundle-version="[1.7.0
org.eclipse.papyrus.infra.emf.gmf;bundle-version="[1.2.0,2.0.0)",
org.eclipse.papyrus.infra.core;bundle-version="[2.0.0,3.0.0)";visibility:=reexport,
org.eclipse.papyrus.infra.emf;bundle-version="[2.0.0,3.0.0)",
- org.eclipse.papyrus.infra.ui;bundle-version="[1.2.0,2.0.0)"
+ org.eclipse.papyrus.infra.ui;bundle-version="[2.0.0,3.0.0)"
Bundle-Vendor: %pluginProvider
Bundle-ActivationPolicy: lazy
-Bundle-Version: 2.0.100.qualifier
+Bundle-Version: 2.1.0.qualifier
Bundle-Localization: plugin
Bundle-Name: %pluginName
Bundle-Activator: org.eclipse.papyrus.infra.services.validation.Activator
diff --git a/plugins/infra/services/org.eclipse.papyrus.infra.services.validation/pom.xml b/plugins/infra/services/org.eclipse.papyrus.infra.services.validation/pom.xml
index d4cae17b405..101b7e03135 100644
--- a/plugins/infra/services/org.eclipse.papyrus.infra.services.validation/pom.xml
+++ b/plugins/infra/services/org.eclipse.papyrus.infra.services.validation/pom.xml
@@ -1,12 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
-<project>
- <modelVersion>4.0.0</modelVersion>
- <parent>
- <artifactId>org.eclipse.papyrus.infra-services</artifactId>
- <groupId>org.eclipse.papyrus</groupId>
- <version>0.0.1-SNAPSHOT</version>
- </parent>
- <artifactId>org.eclipse.papyrus.infra.services.validation</artifactId>
- <version>2.0.100-SNAPSHOT</version>
- <packaging>eclipse-plugin</packaging>
+<project>
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <artifactId>org.eclipse.papyrus.infra-services</artifactId>
+ <groupId>org.eclipse.papyrus</groupId>
+ <version>0.0.1-SNAPSHOT</version>
+ </parent>
+ <artifactId>org.eclipse.papyrus.infra.services.validation</artifactId>
+ <version>2.1.0-SNAPSHOT</version>
+ <packaging>eclipse-plugin</packaging>
</project> \ No newline at end of file
diff --git a/plugins/infra/types/org.eclipse.papyrus.infra.types.core/src/org/eclipse/papyrus/infra/types/core/registries/AdviceConfigurationTypeRegistry.java b/plugins/infra/types/org.eclipse.papyrus.infra.types.core/src/org/eclipse/papyrus/infra/types/core/registries/AdviceConfigurationTypeRegistry.java
index 73bde8d1152..8634a00e6f2 100644
--- a/plugins/infra/types/org.eclipse.papyrus.infra.types.core/src/org/eclipse/papyrus/infra/types/core/registries/AdviceConfigurationTypeRegistry.java
+++ b/plugins/infra/types/org.eclipse.papyrus.infra.types.core/src/org/eclipse/papyrus/infra/types/core/registries/AdviceConfigurationTypeRegistry.java
@@ -33,10 +33,14 @@ import org.eclipse.papyrus.infra.types.core.factories.impl.DefaultEditHelperAdvi
public class AdviceConfigurationTypeRegistry {
- private static AdviceConfigurationTypeRegistry registry;
+ private volatile static AdviceConfigurationTypeRegistry registry;
protected Map<String, IEditHelperAdviceFactory<? extends AdviceConfiguration>> adviceConfigurationTypeToFactory = null;
+ private AdviceConfigurationTypeRegistry() {
+ super();
+ }
+
/**
* returns the singleton instance of this registry
*
diff --git a/plugins/infra/types/org.eclipse.papyrus.infra.types.core/src/org/eclipse/papyrus/infra/types/core/registries/ContainerConfigurationTypeRegistry.java b/plugins/infra/types/org.eclipse.papyrus.infra.types.core/src/org/eclipse/papyrus/infra/types/core/registries/ContainerConfigurationTypeRegistry.java
index 32159cd95e7..3dae9d34600 100644
--- a/plugins/infra/types/org.eclipse.papyrus.infra.types.core/src/org/eclipse/papyrus/infra/types/core/registries/ContainerConfigurationTypeRegistry.java
+++ b/plugins/infra/types/org.eclipse.papyrus.infra.types.core/src/org/eclipse/papyrus/infra/types/core/registries/ContainerConfigurationTypeRegistry.java
@@ -34,10 +34,14 @@ import org.eclipse.papyrus.infra.types.core.factories.IContainerFactory;
*/
public class ContainerConfigurationTypeRegistry {
- private static ContainerConfigurationTypeRegistry registry;
+ private volatile static ContainerConfigurationTypeRegistry registry;
protected Map<String, IContainerFactory<? extends ContainerConfiguration>> containerConfigurationTypeToFactory = null;
+ private ContainerConfigurationTypeRegistry() {
+ super();
+ }
+
/**
* returns the singleton instance of this registry
*
diff --git a/plugins/infra/types/org.eclipse.papyrus.infra.types.core/src/org/eclipse/papyrus/infra/types/core/registries/ElementTypeConfigurationTypeRegistry.java b/plugins/infra/types/org.eclipse.papyrus.infra.types.core/src/org/eclipse/papyrus/infra/types/core/registries/ElementTypeConfigurationTypeRegistry.java
index b65a2ec732f..0fe5a4764aa 100644
--- a/plugins/infra/types/org.eclipse.papyrus.infra.types.core/src/org/eclipse/papyrus/infra/types/core/registries/ElementTypeConfigurationTypeRegistry.java
+++ b/plugins/infra/types/org.eclipse.papyrus.infra.types.core/src/org/eclipse/papyrus/infra/types/core/registries/ElementTypeConfigurationTypeRegistry.java
@@ -33,10 +33,14 @@ import org.eclipse.papyrus.infra.types.core.factories.impl.SpecializationTypeFac
*/
public class ElementTypeConfigurationTypeRegistry {
- private static ElementTypeConfigurationTypeRegistry registry;
+ private volatile static ElementTypeConfigurationTypeRegistry registry;
protected Map<String, IElementTypeConfigurationFactory<? extends ElementTypeConfiguration>> elementTypeConfigurationTypeToFactory = null;
+ private ElementTypeConfigurationTypeRegistry() {
+ super();
+ }
+
/**
* returns the singleton instance of this registry
*
diff --git a/plugins/infra/types/org.eclipse.papyrus.infra.types.core/src/org/eclipse/papyrus/infra/types/core/registries/ElementTypeSetConfigurationRegistry.java b/plugins/infra/types/org.eclipse.papyrus.infra.types.core/src/org/eclipse/papyrus/infra/types/core/registries/ElementTypeSetConfigurationRegistry.java
index 75358b03489..d9433ad0423 100644
--- a/plugins/infra/types/org.eclipse.papyrus.infra.types.core/src/org/eclipse/papyrus/infra/types/core/registries/ElementTypeSetConfigurationRegistry.java
+++ b/plugins/infra/types/org.eclipse.papyrus.infra.types.core/src/org/eclipse/papyrus/infra/types/core/registries/ElementTypeSetConfigurationRegistry.java
@@ -63,7 +63,7 @@ import org.osgi.framework.Bundle;
*/
public class ElementTypeSetConfigurationRegistry {
- protected static ElementTypeSetConfigurationRegistry elementTypeSetConfigurationRegistry;
+ private volatile static ElementTypeSetConfigurationRegistry elementTypeSetConfigurationRegistry;
/** Map of retrieved elementType sets, key is their identifier */
protected Map<String, Map<String, ElementTypeSetConfiguration>> elementTypeSetConfigurations = null;
@@ -75,6 +75,10 @@ public class ElementTypeSetConfigurationRegistry {
/** unique resource set to load all elementType sets models */
protected ResourceSet elementTypeSetConfigurationResourceSet = null;
+ private ElementTypeSetConfigurationRegistry() {
+ super();
+ }
+
/**
* returns the singleton instance of this registry
*
@@ -130,9 +134,9 @@ public class ElementTypeSetConfigurationRegistry {
}
}
- elementTypeSetConfigurationResourceSet = null;
- elementTypeSetConfigurations = null;
- elementTypeSetConfigurationRegistry = null;
+ elementTypeSetConfigurationResourceSet = createResourceSet();
+ elementTypeSetConfigurations.clear();
+ advicesDeps.clear();
}
/**
@@ -208,9 +212,9 @@ public class ElementTypeSetConfigurationRegistry {
// First, check if dependencies are registered
for (ElementTypeConfiguration specializedTypeConfiguration : ((SpecializationTypeConfiguration) elementTypeConfiguration).getSpecializedTypes()) {
- if (!isAlreadyRegistred(specializedTypeConfiguration.getIdentifier(), context)) {
- // try to register the dependency
- if (specializedTypeConfiguration != null) {
+ // try to register the dependency
+ if (specializedTypeConfiguration != null) {
+ if (!isAlreadyRegistred(specializedTypeConfiguration.getIdentifier(), context)) {
boolean registred = registerElementTypeConfiguration(specializedTypeConfiguration, elementTypeConfigurationsDefinitions, context);
if (!registred) {
Activator.log.info("Failed to register " + specializedTypeConfiguration);
@@ -455,10 +459,10 @@ public class ElementTypeSetConfigurationRegistry {
protected void addElementTypeSetConfigurationToDefinitions(ElementTypeSetConfiguration set, String clientContextId, Map<String, Set<ElementTypeSetConfiguration>> existingDefinitions) {
- if (set.getIdentifier() == null) {
- Activator.log.warn("The following ElementTypesSetConfiguration has ill-defined ID and is therefore ignored: " + set.eResource().getURI());
- } else {
- if (set != null) {
+ if (set != null) {
+ if (set.getIdentifier() == null) {
+ Activator.log.warn("The following ElementTypesSetConfiguration has ill-defined ID and is therefore ignored: " + set.eResource().getURI());
+ } else {
if (existingDefinitions.get(clientContextId) != null && containsElementTypeSet(existingDefinitions.get(clientContextId), set.getIdentifier())) {
Activator.log.warn("The following ElementTypesSetConfiguration has been ignored because the same ID already registreted: " + set.getIdentifier());
} else {
diff --git a/plugins/infra/types/org.eclipse.papyrus.infra.types.core/src/org/eclipse/papyrus/infra/types/core/registries/MatcherConfigurationTypeRegistry.java b/plugins/infra/types/org.eclipse.papyrus.infra.types.core/src/org/eclipse/papyrus/infra/types/core/registries/MatcherConfigurationTypeRegistry.java
index 572a9397348..c73ac29d482 100644
--- a/plugins/infra/types/org.eclipse.papyrus.infra.types.core/src/org/eclipse/papyrus/infra/types/core/registries/MatcherConfigurationTypeRegistry.java
+++ b/plugins/infra/types/org.eclipse.papyrus.infra.types.core/src/org/eclipse/papyrus/infra/types/core/registries/MatcherConfigurationTypeRegistry.java
@@ -29,10 +29,14 @@ import org.eclipse.papyrus.infra.types.core.factories.impl.DefaultMatcherFactory
public class MatcherConfigurationTypeRegistry {
- private static MatcherConfigurationTypeRegistry registry;
+ private volatile static MatcherConfigurationTypeRegistry registry;
protected Map<String, IMatcherFactory<? extends AbstractMatcherConfiguration>> matcherConfigurationTypeToFactory = null;
+ private MatcherConfigurationTypeRegistry() {
+ super();
+ }
+
public static synchronized MatcherConfigurationTypeRegistry getInstance() {
if (registry == null) {
registry = new MatcherConfigurationTypeRegistry();
diff --git a/plugins/infra/ui/org.eclipse.papyrus.infra.newchild.ui/.project b/plugins/infra/ui/org.eclipse.papyrus.infra.newchild.ui/.project
index 254c8d49648..9a7a8c768dc 100644
--- a/plugins/infra/ui/org.eclipse.papyrus.infra.newchild.ui/.project
+++ b/plugins/infra/ui/org.eclipse.papyrus.infra.newchild.ui/.project
@@ -20,6 +20,11 @@
<arguments>
</arguments>
</buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.api.tools.apiAnalysisBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
</buildSpec>
<natures>
<nature>org.eclipse.pde.PluginNature</nature>
diff --git a/plugins/infra/ui/org.eclipse.papyrus.infra.newchild.ui/META-INF/MANIFEST.MF b/plugins/infra/ui/org.eclipse.papyrus.infra.newchild.ui/META-INF/MANIFEST.MF
index ffe4b3c9afd..c9d57ae530d 100644
--- a/plugins/infra/ui/org.eclipse.papyrus.infra.newchild.ui/META-INF/MANIFEST.MF
+++ b/plugins/infra/ui/org.eclipse.papyrus.infra.newchild.ui/META-INF/MANIFEST.MF
@@ -6,8 +6,8 @@ Bundle-Version: 2.0.0.qualifier
Bundle-Activator: org.eclipse.papyrus.infra.newchild.ui.Activator
Require-Bundle: org.eclipse.ui;bundle-version="[3.107.0,4.0.0)",
org.eclipse.core.runtime;bundle-version="[3.12.0,4.0.0)",
- org.eclipse.papyrus.infra.properties.ui;bundle-version="[1.3.0,2.0.0)",
- org.eclipse.papyrus.infra.newchild;bundle-version="[1.2.0,2.0.0)"
+ org.eclipse.papyrus.infra.properties.ui;bundle-version="[2.0.0,3.0.0)",
+ org.eclipse.papyrus.infra.newchild;bundle-version="[2.0.0,3.0.0)"
Bundle-RequiredExecutionEnvironment: JavaSE-1.8
Bundle-ActivationPolicy: lazy
Bundle-Vendor: %providerName
diff --git a/plugins/infra/ui/org.eclipse.papyrus.infra.onefile.ui/META-INF/MANIFEST.MF b/plugins/infra/ui/org.eclipse.papyrus.infra.onefile.ui/META-INF/MANIFEST.MF
index 2778749b3a0..97e65ebedbb 100644
--- a/plugins/infra/ui/org.eclipse.papyrus.infra.onefile.ui/META-INF/MANIFEST.MF
+++ b/plugins/infra/ui/org.eclipse.papyrus.infra.onefile.ui/META-INF/MANIFEST.MF
@@ -16,7 +16,7 @@ Require-Bundle: org.eclipse.ui.navigator;bundle-version="[3.6.0,4.0.0)",
org.eclipse.ltk.ui.refactoring;bundle-version="[3.8.0,4.0.0)",
org.eclipse.core.filesystem;bundle-version="[1.6.0,2.0.0)",
org.eclipse.papyrus.infra.emf;bundle-version="[2.0.0,3.0.0)",
- org.eclipse.papyrus.infra.ui;bundle-version="[1.2.0,2.0.0)",
+ org.eclipse.papyrus.infra.ui;bundle-version="[2.0.0,3.0.0)",
org.eclipse.papyrus.infra.onefile;bundle-version="[2.0.0,3.0.0)"
Bundle-Vendor: %providerName
Bundle-ActivationPolicy: lazy
diff --git a/plugins/infra/ui/org.eclipse.papyrus.infra.onefile.ui/src/org/eclipse/papyrus/infra/onefile/internal/ui/action/CopyFilesAndFoldersOperation.java b/plugins/infra/ui/org.eclipse.papyrus.infra.onefile.ui/src/org/eclipse/papyrus/infra/onefile/internal/ui/action/CopyFilesAndFoldersOperation.java
index aefe0637a67..6638fe73e27 100644
--- a/plugins/infra/ui/org.eclipse.papyrus.infra.onefile.ui/src/org/eclipse/papyrus/infra/onefile/internal/ui/action/CopyFilesAndFoldersOperation.java
+++ b/plugins/infra/ui/org.eclipse.papyrus.infra.onefile.ui/src/org/eclipse/papyrus/infra/onefile/internal/ui/action/CopyFilesAndFoldersOperation.java
@@ -902,7 +902,8 @@ public class CopyFilesAndFoldersOperation {
NLS
.bind(
IDEWorkbenchMessages.CopyFilesAndFoldersOperation_infoNotFound,
- fileName), null);
+ fileName),
+ null);
}
});
}
@@ -1141,9 +1142,11 @@ public class CopyFilesAndFoldersOperation {
NLS
.bind(
IDEWorkbenchMessages.CopyFilesAndFoldersOperation_inputDialogMessage,
- resource.getName()), getAutoNewNameFor(
+ resource.getName()),
+ getAutoNewNameFor(
originalName, workspace).lastSegment()
- .toString(), validator);
+ .toString(),
+ validator);
dialog.setBlockOnOpen(true);
dialog.open();
if (dialog.getReturnCode() == Window.CANCEL) {
@@ -1642,9 +1645,8 @@ public class CopyFilesAndFoldersOperation {
}
for (int i = 0; i < sourceStores.length; i++) {
IFileStore sourceStore = sourceStores[i];
- IFileStore sourceParentStore = sourceStore.getParent();
-
if (sourceStore != null) {
+ IFileStore sourceParentStore = sourceStore.getParent();
if (destinationStore.equals(sourceStore)
|| (sourceParentStore != null && destinationStore
.equals(sourceParentStore))) {
diff --git a/plugins/infra/ui/org.eclipse.papyrus.infra.ui.resources/META-INF/MANIFEST.MF b/plugins/infra/ui/org.eclipse.papyrus.infra.ui.resources/META-INF/MANIFEST.MF
index 7652d13951c..432b6a491d7 100644
--- a/plugins/infra/ui/org.eclipse.papyrus.infra.ui.resources/META-INF/MANIFEST.MF
+++ b/plugins/infra/ui/org.eclipse.papyrus.infra.ui.resources/META-INF/MANIFEST.MF
@@ -1,8 +1,8 @@
Manifest-Version: 1.0
Require-Bundle: org.eclipse.ltk.core.refactoring;bundle-version="[3.7.0,4.0.0)",
org.eclipse.papyrus.infra.services.controlmode.history;bundle-version="[1.2.0,2.0.0)",
- org.eclipse.papyrus.infra.emf.readonly;bundle-version="[2.0.0,3.0.0)",
- org.eclipse.papyrus.infra.ui;bundle-version="[1.2.0,2.0.0)"
+ org.eclipse.papyrus.infra.emf.readonly;bundle-version="[3.0.0,4.0.0)",
+ org.eclipse.papyrus.infra.ui;bundle-version="[2.0.0,3.0.0)"
Bundle-Vendor: %providerName
Bundle-ActivationPolicy: lazy
Bundle-Version: 1.2.0.qualifier
diff --git a/plugins/infra/ui/org.eclipse.papyrus.infra.ui.resources/src/org/eclipse/papyrus/infra/ui/resources/refactoring/ModelParticipantHelpers.java b/plugins/infra/ui/org.eclipse.papyrus.infra.ui.resources/src/org/eclipse/papyrus/infra/ui/resources/refactoring/ModelParticipantHelpers.java
index 865a40d590f..58c6a1c2ea2 100644
--- a/plugins/infra/ui/org.eclipse.papyrus.infra.ui.resources/src/org/eclipse/papyrus/infra/ui/resources/refactoring/ModelParticipantHelpers.java
+++ b/plugins/infra/ui/org.eclipse.papyrus.infra.ui.resources/src/org/eclipse/papyrus/infra/ui/resources/refactoring/ModelParticipantHelpers.java
@@ -69,8 +69,12 @@ public class ModelParticipantHelpers {
IPath diPath = null;
- if (DiModel.DI_FILE_EXTENSION.equalsIgnoreCase(initialPath.getFileExtension())) {
- diPath = initialPath;
+ if (initialPath != null) {
+ if (DiModel.DI_FILE_EXTENSION.equalsIgnoreCase(initialPath.getFileExtension())) {
+ diPath = initialPath;
+ } else {
+ return Collections.<IResource> singleton(initialFile);
+ }
} else {
return Collections.<IResource> singleton(initialFile);
}
diff --git a/plugins/infra/ui/org.eclipse.papyrus.infra.ui.resources/src/org/eclipse/papyrus/infra/ui/resources/refactoring/RenameModelChange.java b/plugins/infra/ui/org.eclipse.papyrus.infra.ui.resources/src/org/eclipse/papyrus/infra/ui/resources/refactoring/RenameModelChange.java
index 423ca667e16..5139aa9b5ae 100644
--- a/plugins/infra/ui/org.eclipse.papyrus.infra.ui.resources/src/org/eclipse/papyrus/infra/ui/resources/refactoring/RenameModelChange.java
+++ b/plugins/infra/ui/org.eclipse.papyrus.infra.ui.resources/src/org/eclipse/papyrus/infra/ui/resources/refactoring/RenameModelChange.java
@@ -287,14 +287,15 @@ public class RenameModelChange extends Change {
try {
SashModel oldSash = SashModelUtils.getSashModel(resourceSet);
- URI oldSashURI = oldSash.getResourceURI();
- Resource resource = oldSash.getResource();
- resourceSet.loadModels(newFile);
- SashModel sashModel = SashModelUtils.getSashModel(resourceSet);
- URI stashNewFile = sashModel.getResourceURI();
- resource.setURI(stashNewFile);
- resource.save(ResourceUtils.getSaveOptions());
- if(oldSash != null) { // delete old stash
+ if (oldSash != null) { // delete old stash
+ URI oldSashURI = oldSash.getResourceURI();
+ Resource resource = oldSash.getResource();
+ resourceSet.loadModels(newFile);
+ SashModel sashModel = SashModelUtils.getSashModel(resourceSet);
+ URI stashNewFile = sashModel.getResourceURI();
+ resource.setURI(stashNewFile);
+ resource.save(ResourceUtils.getSaveOptions());
+
try {
resourceSet.getURIConverter().delete(oldSashURI, null);
} catch (IOException e) {
diff --git a/plugins/infra/ui/org.eclipse.papyrus.infra.ui.resources/src/org/eclipse/papyrus/infra/ui/resources/refactoring/ui/ScopeChooser.java b/plugins/infra/ui/org.eclipse.papyrus.infra.ui.resources/src/org/eclipse/papyrus/infra/ui/resources/refactoring/ui/ScopeChooser.java
index 55cc7aafa08..dbead1d4dab 100644
--- a/plugins/infra/ui/org.eclipse.papyrus.infra.ui.resources/src/org/eclipse/papyrus/infra/ui/resources/refactoring/ui/ScopeChooser.java
+++ b/plugins/infra/ui/org.eclipse.papyrus.infra.ui.resources/src/org/eclipse/papyrus/infra/ui/resources/refactoring/ui/ScopeChooser.java
@@ -73,21 +73,24 @@ public abstract class ScopeChooser implements IScopeChooser {
/**
* Determine if the given file is an XMI some specific code has been set for notation and di
*
- * @param f
+ * @param file
* @return
*/
- public boolean isXMI(IFile f) {
- URI uri = URI.createPlatformResourceURI(f.getFullPath().toString(), true);
- IContentType contentType = IDE.getContentType(f);
- Registry instance = Resource.Factory.Registry.INSTANCE;
- Object old = instance.getContentTypeToFactoryMap().get(Resource.Factory.Registry.DEFAULT_CONTENT_TYPE_IDENTIFIER);
- Object old2 = instance.getExtensionToFactoryMap().get(Resource.Factory.Registry.DEFAULT_EXTENSION);
- instance.getContentTypeToFactoryMap().put(Resource.Factory.Registry.DEFAULT_CONTENT_TYPE_IDENTIFIER, null);
- instance.getExtensionToFactoryMap().put(Resource.Factory.Registry.DEFAULT_EXTENSION, null);
- boolean result = (f != null && contentType != null && (Resource.Factory.Registry.INSTANCE.getFactory(uri, contentType.getId()) != null || "notation".equals(f.getFileExtension()) || "di".equals(f.getFileExtension())));
- instance.getContentTypeToFactoryMap().put(Resource.Factory.Registry.DEFAULT_CONTENT_TYPE_IDENTIFIER, old);
- instance.getExtensionToFactoryMap().put(Resource.Factory.Registry.DEFAULT_EXTENSION, old2);
- return result;
+ public boolean isXMI(IFile file) {
+ if (file != null) {
+ URI uri = URI.createPlatformResourceURI(file.getFullPath().toString(), true);
+ IContentType contentType = IDE.getContentType(file);
+ Registry instance = Resource.Factory.Registry.INSTANCE;
+ Object old = instance.getContentTypeToFactoryMap().get(Resource.Factory.Registry.DEFAULT_CONTENT_TYPE_IDENTIFIER);
+ Object old2 = instance.getExtensionToFactoryMap().get(Resource.Factory.Registry.DEFAULT_EXTENSION);
+ instance.getContentTypeToFactoryMap().put(Resource.Factory.Registry.DEFAULT_CONTENT_TYPE_IDENTIFIER, null);
+ instance.getExtensionToFactoryMap().put(Resource.Factory.Registry.DEFAULT_EXTENSION, null);
+ boolean result = (contentType != null && (Resource.Factory.Registry.INSTANCE.getFactory(uri, contentType.getId()) != null || "notation".equals(file.getFileExtension()) || "di".equals(file.getFileExtension())));
+ instance.getContentTypeToFactoryMap().put(Resource.Factory.Registry.DEFAULT_CONTENT_TYPE_IDENTIFIER, old);
+ instance.getExtensionToFactoryMap().put(Resource.Factory.Registry.DEFAULT_EXTENSION, old2);
+ return result;
+ }
+ return false;
}
public List<IFile> getFiles() {
diff --git a/plugins/infra/ui/org.eclipse.papyrus.infra.ui/META-INF/MANIFEST.MF b/plugins/infra/ui/org.eclipse.papyrus.infra.ui/META-INF/MANIFEST.MF
index d3f993e710c..f38831d1c1d 100644
--- a/plugins/infra/ui/org.eclipse.papyrus.infra.ui/META-INF/MANIFEST.MF
+++ b/plugins/infra/ui/org.eclipse.papyrus.infra.ui/META-INF/MANIFEST.MF
@@ -30,13 +30,13 @@ Require-Bundle: org.eclipse.papyrus.infra.core;bundle-version="[2.0.0,3.0.0)";vi
org.eclipse.ui.ide;bundle-version="[3.12.0,4.0.0)";visibility:=reexport,
org.eclipse.papyrus.infra.core.sasheditor.di;bundle-version="[2.0.0,3.0.0)";visibility:=reexport,
org.eclipse.emf.edit.ui;bundle-version="[2.12.0,3.0.0)",
- org.eclipse.papyrus.infra.widgets;bundle-version="[2.0.0,3.0.0)";visibility:=reexport,
+ org.eclipse.papyrus.infra.widgets;bundle-version="[3.0.0,4.0.0)";visibility:=reexport,
org.eclipse.ui.views;bundle-version="[3.8.0,4.0.0)";visibility:=reexport,
- org.eclipse.papyrus.infra.emf;bundle-version="[2.0.1,3.0.0)",
+ org.eclipse.papyrus.infra.emf;bundle-version="[2.0.0,3.0.0)",
org.eclipse.papyrus.infra.widgets.toolbox;bundle-version="[1.2.0,2.0.0)",
org.eclipse.papyrus.infra.tools;bundle-version="[2.0.1,3.0.0)"
Bundle-Vendor: %providerName
-Bundle-Version: 1.4.0.qualifier
+Bundle-Version: 2.0.0.qualifier
Eclipse-BuddyPolicy: dependent
Bundle-ManifestVersion: 2
Bundle-Activator: org.eclipse.papyrus.infra.ui.Activator
diff --git a/plugins/infra/ui/org.eclipse.papyrus.infra.ui/pom.xml b/plugins/infra/ui/org.eclipse.papyrus.infra.ui/pom.xml
index a4c1a625ebe..271e7c71930 100644
--- a/plugins/infra/ui/org.eclipse.papyrus.infra.ui/pom.xml
+++ b/plugins/infra/ui/org.eclipse.papyrus.infra.ui/pom.xml
@@ -1,13 +1,13 @@
<?xml version="1.0" encoding="UTF-8"?>
-<project>
- <modelVersion>4.0.0</modelVersion>
- <parent>
- <artifactId>org.eclipse.papyrus.infra-ui</artifactId>
- <groupId>org.eclipse.papyrus</groupId>
- <version>0.0.1-SNAPSHOT</version>
- </parent>
- <artifactId>org.eclipse.papyrus.infra.ui</artifactId>
- <version>1.4.0-SNAPSHOT</version>
- <packaging>eclipse-plugin</packaging>
- <description>Plugin dedicated to manage generic menus and actions, linked to EMF but not to UML nor GMF technologies.</description>
-</project>
+<project>
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <artifactId>org.eclipse.papyrus.infra-ui</artifactId>
+ <groupId>org.eclipse.papyrus</groupId>
+ <version>0.0.1-SNAPSHOT</version>
+ </parent>
+ <artifactId>org.eclipse.papyrus.infra.ui</artifactId>
+ <version>2.0.0-SNAPSHOT</version>
+ <packaging>eclipse-plugin</packaging>
+ <description>Plugin dedicated to manage generic menus and actions, linked to EMF but not to UML nor GMF technologies.</description>
+</project> \ No newline at end of file
diff --git a/plugins/infra/ui/org.eclipse.papyrus.infra.ui/src/org/eclipse/papyrus/infra/ui/contentoutline/NestedEditorDelegatedOutlinePage.java b/plugins/infra/ui/org.eclipse.papyrus.infra.ui/src/org/eclipse/papyrus/infra/ui/contentoutline/NestedEditorDelegatedOutlinePage.java
index 9985bb1e393..1132eed1fd5 100644
--- a/plugins/infra/ui/org.eclipse.papyrus.infra.ui/src/org/eclipse/papyrus/infra/ui/contentoutline/NestedEditorDelegatedOutlinePage.java
+++ b/plugins/infra/ui/org.eclipse.papyrus.infra.ui/src/org/eclipse/papyrus/infra/ui/contentoutline/NestedEditorDelegatedOutlinePage.java
@@ -691,6 +691,7 @@ public class NestedEditorDelegatedOutlinePage extends Page implements IPapyrusCo
return;
}
+ if(activeRec!=null){
activeRec = pageRec;
Control pageControl = activeRec.contentOutlinePage.getControl();
if (pageControl != null && !pageControl.isDisposed()) {
@@ -700,6 +701,7 @@ public class NestedEditorDelegatedOutlinePage extends Page implements IPapyrusCo
sashEditorPageBook.showPage(pageControl);
getSite().setActivePageSite(pageSite);
}
+ }
}
diff --git a/plugins/infra/ui/org.eclipse.papyrus.infra.ui/src/org/eclipse/papyrus/infra/ui/editor/CoreMultiDiagramEditor.java b/plugins/infra/ui/org.eclipse.papyrus.infra.ui/src/org/eclipse/papyrus/infra/ui/editor/CoreMultiDiagramEditor.java
index 6c6d7b1f228..e0eff8ff1d4 100644
--- a/plugins/infra/ui/org.eclipse.papyrus.infra.ui/src/org/eclipse/papyrus/infra/ui/editor/CoreMultiDiagramEditor.java
+++ b/plugins/infra/ui/org.eclipse.papyrus.infra.ui/src/org/eclipse/papyrus/infra/ui/editor/CoreMultiDiagramEditor.java
@@ -369,22 +369,23 @@ public class CoreMultiDiagramEditor extends AbstractMultiPageSashEditor implemen
* @return
*/
protected ActionBarContributorRegistry getActionBarContributorRegistry() {
- if (actionBarContributorRegistry != null) {
- return actionBarContributorRegistry;
- }
-
- // Try to got it from CoreComposedActionBarContributor
- // Get it from the contributor.
- IEditorActionBarContributor contributor = getEditorSite().getActionBarContributor();
- if (contributor instanceof CoreComposedActionBarContributor) {
- log.debug(getClass().getSimpleName() + " - ActionBarContributorRegistry loaded from CoreComposedActionBarContributor.");
- return ((CoreComposedActionBarContributor) contributor).getActionBarContributorRegistry();
- } else {
- // Create a registry.
- log.debug(getClass().getSimpleName() + " - create an ActionBarContributorRegistry.");
- return createActionBarContributorRegistry();
+ if (actionBarContributorRegistry == null) {
+
+ // Try to got it from CoreComposedActionBarContributor
+ // Get it from the contributor.
+ IEditorActionBarContributor contributor = getEditorSite().getActionBarContributor();
+ if (contributor instanceof CoreComposedActionBarContributor) {
+ log.debug(getClass().getSimpleName() + " - ActionBarContributorRegistry loaded from CoreComposedActionBarContributor.");
+ actionBarContributorRegistry = ((CoreComposedActionBarContributor) contributor).getActionBarContributorRegistry();
+
+ } else {
+ // Create a registry.
+ log.debug(getClass().getSimpleName() + " - create an ActionBarContributorRegistry.");
+ actionBarContributorRegistry = createActionBarContributorRegistry();
+ }
}
+ return actionBarContributorRegistry;
}
/**
@@ -611,7 +612,7 @@ public class CoreMultiDiagramEditor extends AbstractMultiPageSashEditor implemen
// start remaining services
servicesRegistry.startRegistry();
-
+
// In case of a shard
String name = uri.lastSegment();
if (!name.equals(getPartName())) {
diff --git a/plugins/infra/ui/org.eclipse.papyrus.infra.ui/src/org/eclipse/papyrus/infra/ui/util/PapyrusImageUtils.java b/plugins/infra/ui/org.eclipse.papyrus.infra.ui/src/org/eclipse/papyrus/infra/ui/util/PapyrusImageUtils.java
index f2a2e97666c..2dbbf3fb7bc 100644
--- a/plugins/infra/ui/org.eclipse.papyrus.infra.ui/src/org/eclipse/papyrus/infra/ui/util/PapyrusImageUtils.java
+++ b/plugins/infra/ui/org.eclipse.papyrus.infra.ui/src/org/eclipse/papyrus/infra/ui/util/PapyrusImageUtils.java
@@ -57,10 +57,13 @@ public class PapyrusImageUtils {
Image result = JFaceResources.getImageRegistry().get(key);
if (result == null) {
URL url = Activator.getDefault().getBundle().getEntry(path);
- try {
- result = new Image(Display.getDefault(), url.openStream());
- JFaceResources.getImageRegistry().put(key, result);
- } catch (IOException e) {
+
+ if (url != null) {
+ try {
+ result = new Image(Display.getDefault(), url.openStream());
+ JFaceResources.getImageRegistry().put(key, result);
+ } catch (IOException e) {
+ }
}
}
return result;
diff --git a/plugins/infra/ui/org.eclipse.papyrus.infra.widgets.toolbox/src/org/eclipse/papyrus/infra/widgets/toolbox/notification/builders/CombinedPopupAndViewBuilder.java b/plugins/infra/ui/org.eclipse.papyrus.infra.widgets.toolbox/src/org/eclipse/papyrus/infra/widgets/toolbox/notification/builders/CombinedPopupAndViewBuilder.java
index f6621f36983..9a189e80fb7 100644
--- a/plugins/infra/ui/org.eclipse.papyrus.infra.widgets.toolbox/src/org/eclipse/papyrus/infra/widgets/toolbox/notification/builders/CombinedPopupAndViewBuilder.java
+++ b/plugins/infra/ui/org.eclipse.papyrus.infra.widgets.toolbox/src/org/eclipse/papyrus/infra/widgets/toolbox/notification/builders/CombinedPopupAndViewBuilder.java
@@ -74,10 +74,10 @@ public class CombinedPopupAndViewBuilder implements IBuilder {
// If the Notification view is not visible show temporary notification
if ((notificationView != null) && !(PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().isPartVisible(notificationView))) {
createNotificationPopup(wrapper, toolkit);
+ return createNotificationLog(notificationView, wrapper, toolkit);
}
- // In any case, log the notification in the PapyrusNotificationView so that the user can consult this later.
- return createNotificationLog(notificationView, wrapper, toolkit);
+ return null;
}
/*
diff --git a/plugins/infra/ui/org.eclipse.papyrus.infra.widgets.toolbox/src/org/eclipse/papyrus/infra/widgets/toolbox/notification/builders/ViewBuilder.java b/plugins/infra/ui/org.eclipse.papyrus.infra.widgets.toolbox/src/org/eclipse/papyrus/infra/widgets/toolbox/notification/builders/ViewBuilder.java
index 5ac8faacf14..6c47ba72824 100644
--- a/plugins/infra/ui/org.eclipse.papyrus.infra.widgets.toolbox/src/org/eclipse/papyrus/infra/widgets/toolbox/notification/builders/ViewBuilder.java
+++ b/plugins/infra/ui/org.eclipse.papyrus.infra.widgets.toolbox/src/org/eclipse/papyrus/infra/widgets/toolbox/notification/builders/ViewBuilder.java
@@ -70,9 +70,11 @@ public class ViewBuilder implements IBuilder {
}
}
}
- ViewNotification notification = new ViewNotification(viewCompo);
- viewCompo.setINotification(notification);
- return notification;
+ if (viewCompo != null) {
+ ViewNotification notification = new ViewNotification(viewCompo);
+ viewCompo.setINotification(notification);
+ return notification;
+ }
}
} catch (PartInitException e) {
}
diff --git a/plugins/infra/ui/org.eclipse.papyrus.infra.widgets.toolbox/src/org/eclipse/papyrus/infra/widgets/toolbox/utils/ToolbooxImageUtils.java b/plugins/infra/ui/org.eclipse.papyrus.infra.widgets.toolbox/src/org/eclipse/papyrus/infra/widgets/toolbox/utils/ToolbooxImageUtils.java
index 400bcf5263a..722f6519987 100644
--- a/plugins/infra/ui/org.eclipse.papyrus.infra.widgets.toolbox/src/org/eclipse/papyrus/infra/widgets/toolbox/utils/ToolbooxImageUtils.java
+++ b/plugins/infra/ui/org.eclipse.papyrus.infra.widgets.toolbox/src/org/eclipse/papyrus/infra/widgets/toolbox/utils/ToolbooxImageUtils.java
@@ -56,8 +56,10 @@ public class ToolbooxImageUtils {
if (result == null) {
URL url = Activator.getDefault().getBundle().getEntry(path.toString());
try {
- result = new Image(Display.getDefault(), url.openStream());
- JFaceResources.getImageRegistry().put(key, result);
+ if (url != null) {
+ result = new Image(Display.getDefault(), url.openStream());
+ JFaceResources.getImageRegistry().put(key, result);
+ }
} catch (IOException e) {
}
}
diff --git a/plugins/infra/ui/org.eclipse.papyrus.infra.widgets/META-INF/MANIFEST.MF b/plugins/infra/ui/org.eclipse.papyrus.infra.widgets/META-INF/MANIFEST.MF
index aa58721fba9..7e29d20014d 100644
--- a/plugins/infra/ui/org.eclipse.papyrus.infra.widgets/META-INF/MANIFEST.MF
+++ b/plugins/infra/ui/org.eclipse.papyrus.infra.widgets/META-INF/MANIFEST.MF
@@ -25,7 +25,7 @@ Export-Package: org.eclipse.papyrus.infra.widgets,
org.eclipse.papyrus.infra.widgets.wizard.pages
Bundle-Vendor: %providerName
Bundle-ActivationPolicy: lazy
-Bundle-Version: 2.0.0.qualifier
+Bundle-Version: 3.0.0.qualifier
Bundle-Name: %pluginName
Bundle-Localization: plugin
Bundle-ManifestVersion: 2
diff --git a/plugins/infra/ui/org.eclipse.papyrus.infra.widgets/pom.xml b/plugins/infra/ui/org.eclipse.papyrus.infra.widgets/pom.xml
index c7067be8e76..cd2c0f826ba 100644
--- a/plugins/infra/ui/org.eclipse.papyrus.infra.widgets/pom.xml
+++ b/plugins/infra/ui/org.eclipse.papyrus.infra.widgets/pom.xml
@@ -1,12 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
-<project>
- <modelVersion>4.0.0</modelVersion>
- <parent>
- <artifactId>org.eclipse.papyrus.infra-ui</artifactId>
- <groupId>org.eclipse.papyrus</groupId>
- <version>0.0.1-SNAPSHOT</version>
- </parent>
- <artifactId>org.eclipse.papyrus.infra.widgets</artifactId>
- <version>2.0.0-SNAPSHOT</version>
- <packaging>eclipse-plugin</packaging>
-</project>
+<project>
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <artifactId>org.eclipse.papyrus.infra-ui</artifactId>
+ <groupId>org.eclipse.papyrus</groupId>
+ <version>0.0.1-SNAPSHOT</version>
+ </parent>
+ <artifactId>org.eclipse.papyrus.infra.widgets</artifactId>
+ <version>3.0.0-SNAPSHOT</version>
+ <packaging>eclipse-plugin</packaging>
+</project> \ No newline at end of file
diff --git a/plugins/infra/ui/org.eclipse.papyrus.infra.widgets/src/org/eclipse/papyrus/infra/widgets/editors/MultipleDoubleEditor.java b/plugins/infra/ui/org.eclipse.papyrus.infra.widgets/src/org/eclipse/papyrus/infra/widgets/editors/MultipleDoubleEditor.java
index bae688415de..7629b33e550 100644
--- a/plugins/infra/ui/org.eclipse.papyrus.infra.widgets/src/org/eclipse/papyrus/infra/widgets/editors/MultipleDoubleEditor.java
+++ b/plugins/infra/ui/org.eclipse.papyrus.infra.widgets/src/org/eclipse/papyrus/infra/widgets/editors/MultipleDoubleEditor.java
@@ -15,7 +15,7 @@ import org.eclipse.papyrus.infra.widgets.selectors.RealSelector;
import org.eclipse.swt.widgets.Composite;
-public class MultipleDoubleEditor extends MultipleStringEditor {
+public class MultipleDoubleEditor extends MultipleStringEditor<RealSelector> {
/**
* Constructs an Editor for multiple double values
diff --git a/plugins/infra/ui/org.eclipse.papyrus.infra.widgets/src/org/eclipse/papyrus/infra/widgets/editors/MultipleIntegerEditor.java b/plugins/infra/ui/org.eclipse.papyrus.infra.widgets/src/org/eclipse/papyrus/infra/widgets/editors/MultipleIntegerEditor.java
index 4b3604e4af6..f8bb968caeb 100644
--- a/plugins/infra/ui/org.eclipse.papyrus.infra.widgets/src/org/eclipse/papyrus/infra/widgets/editors/MultipleIntegerEditor.java
+++ b/plugins/infra/ui/org.eclipse.papyrus.infra.widgets/src/org/eclipse/papyrus/infra/widgets/editors/MultipleIntegerEditor.java
@@ -20,7 +20,7 @@ import org.eclipse.swt.widgets.Composite;
* @author Camille Letavernier
*
*/
-public class MultipleIntegerEditor extends MultipleStringEditor {
+public class MultipleIntegerEditor extends MultipleStringEditor<IntegerSelector> {
/**
* Constructs an Editor for multiple Integer values
diff --git a/plugins/infra/ui/org.eclipse.papyrus.infra.widgets/src/org/eclipse/papyrus/infra/widgets/editors/MultipleReferenceEditor.java b/plugins/infra/ui/org.eclipse.papyrus.infra.widgets/src/org/eclipse/papyrus/infra/widgets/editors/MultipleReferenceEditor.java
index 7330d044179..cb25254ee2e 100644
--- a/plugins/infra/ui/org.eclipse.papyrus.infra.widgets/src/org/eclipse/papyrus/infra/widgets/editors/MultipleReferenceEditor.java
+++ b/plugins/infra/ui/org.eclipse.papyrus.infra.widgets/src/org/eclipse/papyrus/infra/widgets/editors/MultipleReferenceEditor.java
@@ -27,12 +27,9 @@ import org.eclipse.swt.widgets.Composite;
* @author Camille Letavernier
*
*/
-public class MultipleReferenceEditor extends MultipleValueEditor {
+public class MultipleReferenceEditor extends MultipleValueEditor<ReferenceSelector> {
+
- /**
- * The element selector for the available values
- */
- protected ReferenceSelector selector;
protected IStaticContentProvider contentProvider;
@@ -53,7 +50,6 @@ public class MultipleReferenceEditor extends MultipleValueEditor {
*/
public MultipleReferenceEditor(Composite parent, int style, boolean ordered, boolean unique, String label) {
super(parent, style, new ReferenceSelector(unique), ordered, unique, label);
- this.selector = (ReferenceSelector) super.selector;
// Default providers
setProviders(EmptyContentProvider.instance, new WrappedLabelProvider());
}
@@ -99,17 +95,23 @@ public class MultipleReferenceEditor extends MultipleValueEditor {
this.contentProvider = contentProvider;
- selector.setContentProvider(contentProvider);
+ if (selector instanceof ReferenceSelector) {
+ selector.setContentProvider(contentProvider);
+ }
if (labelProvider != null) {
+
selector.setLabelProvider(labelProvider);
+
super.setLabelProvider(labelProvider);
}
}
@Override
public void setUnique(boolean unique) {
+
selector.setUnique(unique);
+
super.setUnique(unique);
}
}
diff --git a/plugins/infra/ui/org.eclipse.papyrus.infra.widgets/src/org/eclipse/papyrus/infra/widgets/editors/MultipleStringEditor.java b/plugins/infra/ui/org.eclipse.papyrus.infra.widgets/src/org/eclipse/papyrus/infra/widgets/editors/MultipleStringEditor.java
index ade19dcc579..ca3a652b58e 100644
--- a/plugins/infra/ui/org.eclipse.papyrus.infra.widgets/src/org/eclipse/papyrus/infra/widgets/editors/MultipleStringEditor.java
+++ b/plugins/infra/ui/org.eclipse.papyrus.infra.widgets/src/org/eclipse/papyrus/infra/widgets/editors/MultipleStringEditor.java
@@ -22,9 +22,10 @@ import org.eclipse.swt.widgets.Composite;
* An editor for multivalued String attributes
*
* @author Camille Letavernier
+ * @param <T>
*
*/
-public class MultipleStringEditor extends MultipleValueEditor {
+public class MultipleStringEditor<T extends StringSelector> extends MultipleValueEditor<IElementSelector> {
/**
* Constructs an Editor for multiple String values
@@ -104,7 +105,7 @@ public class MultipleStringEditor extends MultipleValueEditor {
* @param label
* The editor's label
*/
- public MultipleStringEditor(Composite parent, int style, IElementSelector selector, boolean ordered, boolean unique, String label) {
+ public MultipleStringEditor(Composite parent, int style, T selector, boolean ordered, boolean unique, String label) {
super(parent, style, selector, ordered, unique, label);
init();
}
@@ -121,7 +122,7 @@ public class MultipleStringEditor extends MultipleValueEditor {
* @param selector
* The Element selector for the dialog's left-pane. Used to select values or enter new ones.
*/
- public MultipleStringEditor(Composite parent, int style, IElementSelector selector) {
+ public MultipleStringEditor(Composite parent, int style, T selector) {
super(parent, style, selector);
init();
}
@@ -140,7 +141,7 @@ public class MultipleStringEditor extends MultipleValueEditor {
* @param label
* The editor's label
*/
- public MultipleStringEditor(Composite parent, int style, IElementSelector selector, String label) {
+ public MultipleStringEditor(Composite parent, int style, T selector, String label) {
super(parent, style, selector, label);
init();
}
@@ -167,7 +168,7 @@ public class MultipleStringEditor extends MultipleValueEditor {
}
public void setContentProvider(final IStaticContentProvider provider) {
- IElementSelector selector = new StandardSelector(StringCombo.class) {
+ StandardSelector selector = new StandardSelector(StringCombo.class) {
@Override
public void createControls(Composite parent) {
diff --git a/plugins/infra/ui/org.eclipse.papyrus.infra.widgets/src/org/eclipse/papyrus/infra/widgets/editors/MultipleStringFileEditor.java b/plugins/infra/ui/org.eclipse.papyrus.infra.widgets/src/org/eclipse/papyrus/infra/widgets/editors/MultipleStringFileEditor.java
index f69aa41b8ca..e639d9764d0 100644
--- a/plugins/infra/ui/org.eclipse.papyrus.infra.widgets/src/org/eclipse/papyrus/infra/widgets/editors/MultipleStringFileEditor.java
+++ b/plugins/infra/ui/org.eclipse.papyrus.infra.widgets/src/org/eclipse/papyrus/infra/widgets/editors/MultipleStringFileEditor.java
@@ -43,7 +43,7 @@ import org.eclipse.swt.widgets.FileDialog;
*
* @author Camille Letavernier
*/
-public class MultipleStringFileEditor extends MultipleValueEditor {
+public class MultipleStringFileEditor extends MultipleValueEditor<IElementSelector> {
protected boolean allowBrowseWorkspace = true;
diff --git a/plugins/infra/ui/org.eclipse.papyrus.infra.widgets/src/org/eclipse/papyrus/infra/widgets/editors/MultipleValueEditor.java b/plugins/infra/ui/org.eclipse.papyrus.infra.widgets/src/org/eclipse/papyrus/infra/widgets/editors/MultipleValueEditor.java
index 26dce0a5897..669bbe5efce 100644
--- a/plugins/infra/ui/org.eclipse.papyrus.infra.widgets/src/org/eclipse/papyrus/infra/widgets/editors/MultipleValueEditor.java
+++ b/plugins/infra/ui/org.eclipse.papyrus.infra.widgets/src/org/eclipse/papyrus/infra/widgets/editors/MultipleValueEditor.java
@@ -52,9 +52,10 @@ import org.eclipse.swt.widgets.TreeItem;
* An editor for multivalued fields.
*
* @author Camille Letavernier
+ * @param <T>
*
*/
-public class MultipleValueEditor extends AbstractListEditor implements SelectionListener, IChangeListener, DisposeListener {
+public class MultipleValueEditor<T extends IElementSelector> extends AbstractListEditor implements SelectionListener, IChangeListener, DisposeListener {
public static final int MANY = -1;
@@ -103,7 +104,7 @@ public class MultipleValueEditor extends AbstractListEditor implements Selection
/**
* The element selector for this editor's dialog
*/
- protected IElementSelector selector;
+ protected T selector;
/**
* Indicates whether the underlying is ordered
@@ -137,6 +138,8 @@ public class MultipleValueEditor extends AbstractListEditor implements Selection
/**
*
* Constructor.
+ *
+ * @param <T>
*
* @param parent
* The Composite in which this Editor should be displayed
@@ -151,7 +154,7 @@ public class MultipleValueEditor extends AbstractListEditor implements Selection
* @param label
* The label for this editor. If null, the label isn't created.
*/
- public MultipleValueEditor(Composite parent, int style, IElementSelector selector, boolean ordered, boolean unique, String label) {
+ public MultipleValueEditor(Composite parent, int style, T selector, boolean ordered, boolean unique, String label) {
this(parent, style, selector, ordered, unique, label, MANY);
}
@@ -174,7 +177,7 @@ public class MultipleValueEditor extends AbstractListEditor implements Selection
* @param upperBound
* The maximum number of values that must appear.
*/
- public MultipleValueEditor(Composite parent, int style, IElementSelector selector, boolean ordered, boolean unique, String label, int upperBound) {
+ public MultipleValueEditor(Composite parent, int style, T selector, boolean ordered, boolean unique, String label, int upperBound) {
super(parent, label);
Assert.isNotNull(selector, "The Element Selector must be specified for a MultipleValueEditor"); //$NON-NLS-1$
@@ -231,7 +234,7 @@ public class MultipleValueEditor extends AbstractListEditor implements Selection
return data;
}
- public void setSelector(IElementSelector selector) {
+ public void setSelector(T selector) {
this.selector = selector;
}
@@ -274,7 +277,7 @@ public class MultipleValueEditor extends AbstractListEditor implements Selection
* @param ordered
* Specify if the observed collection is ordered. If true, Up and Down controls are displayed
*/
- public MultipleValueEditor(Composite parent, int style, IElementSelector selector, boolean ordered) {
+ public MultipleValueEditor(Composite parent, int style, T selector, boolean ordered) {
this(parent, style, selector, ordered, false, null);
}
@@ -289,7 +292,7 @@ public class MultipleValueEditor extends AbstractListEditor implements Selection
* @param selector
* The element selector for this editor's dialog
*/
- public MultipleValueEditor(Composite parent, int style, IElementSelector selector) {
+ public MultipleValueEditor(Composite parent, int style, T selector) {
this(parent, style, selector, false, false, null);
}
@@ -306,7 +309,7 @@ public class MultipleValueEditor extends AbstractListEditor implements Selection
* @param label
* The label for this Editor
*/
- public MultipleValueEditor(Composite parent, int style, IElementSelector selector, String label) {
+ public MultipleValueEditor(Composite parent, int style, T selector, String label) {
this(parent, style, selector, false, false, label);
}
diff --git a/plugins/infra/ui/org.eclipse.papyrus.infra.widgets/src/org/eclipse/papyrus/infra/widgets/editors/MultiplicityDialog.java b/plugins/infra/ui/org.eclipse.papyrus.infra.widgets/src/org/eclipse/papyrus/infra/widgets/editors/MultiplicityDialog.java
index d110af0edff..1af596b8279 100644
--- a/plugins/infra/ui/org.eclipse.papyrus.infra.widgets/src/org/eclipse/papyrus/infra/widgets/editors/MultiplicityDialog.java
+++ b/plugins/infra/ui/org.eclipse.papyrus.infra.widgets/src/org/eclipse/papyrus/infra/widgets/editors/MultiplicityDialog.java
@@ -252,10 +252,16 @@ public class MultiplicityDialog extends AbstractValueEditor implements Selection
* This allow to manage the stack layout top control displayed.
*/
protected void displayTopControl() {
- final String multiplicityEditorMode = preferenceStore.getString(MultiplicityConstants.MULTIPLICITY_EDITOR_MODE);
- if (null != preferenceStore && null != multiplicityEditorMode) {
- // If the advanced mode is used, display the double editors composite, else use the simple mode with the string combo
- stackLayout.topControl = multiplicityEditorMode.equals(MultiplicityConstants.ADVANCED_MODE) ? doubleEditorsComposite : stringComboEditor;
+ if (null != preferenceStore) {
+ final String multiplicityEditorMode = preferenceStore.getString(MultiplicityConstants.MULTIPLICITY_EDITOR_MODE);
+ if (null != multiplicityEditorMode) {
+ // If the advanced mode is used, display the double editors composite, else use the simple mode with the string combo
+ stackLayout.topControl = multiplicityEditorMode.equals(MultiplicityConstants.ADVANCED_MODE) ? doubleEditorsComposite : stringComboEditor;
+ } else {
+ if (null == stackLayout.topControl) {
+ stackLayout.topControl = stringComboEditor;
+ }
+ }
} else {
if (null == stackLayout.topControl) {
stackLayout.topControl = stringComboEditor;
diff --git a/plugins/infra/ui/org.eclipse.papyrus.infra.widgets/src/org/eclipse/papyrus/infra/widgets/editors/SelectionMenu.java b/plugins/infra/ui/org.eclipse.papyrus.infra.widgets/src/org/eclipse/papyrus/infra/widgets/editors/SelectionMenu.java
index db1d6132146..ad1300a54f9 100644
--- a/plugins/infra/ui/org.eclipse.papyrus.infra.widgets/src/org/eclipse/papyrus/infra/widgets/editors/SelectionMenu.java
+++ b/plugins/infra/ui/org.eclipse.papyrus.infra.widgets/src/org/eclipse/papyrus/infra/widgets/editors/SelectionMenu.java
@@ -80,62 +80,66 @@ public class SelectionMenu {
* @since 2.0
*/
public SelectionMenu(Shell parentShell, Object source) {
- if (source instanceof TableViewer && parentShell != null) {
- TableViewer tableViewer = (TableViewer) source;
-
- // Get the cell's y position (we can't use the getCell(Point location) method)
- int selectionIndex = tableViewer.getTable().getSelectionIndex();
- int cellHeight = tableViewer.getTable().getItem(selectionIndex).getBounds().height;
- int y = tableViewer.getTable().getShell().getLocation().y;
- y += selectionIndex * cellHeight;
-
- // Get the cell's x position and append by the table's width
- // int width= tableViewer.getTable().getSize().x;
- int width = tableViewer.getTable().getShell().getBounds().width;
- int x = tableViewer.getTable().getShell().getLocation().x + width;
-
- Point location = new Point(x, y);
- init(parentShell, location, -1, 0);
- return;
- }
+ if (parentShell != null) {
+ if (source instanceof TableViewer) {
+ TableViewer tableViewer = (TableViewer) source;
+
+ // Get the cell's y position (we can't use the getCell(Point location) method)
+ int selectionIndex = tableViewer.getTable().getSelectionIndex();
+ int cellHeight = tableViewer.getTable().getItem(selectionIndex).getBounds().height;
+ int y = tableViewer.getTable().getShell().getLocation().y;
+ y += selectionIndex * cellHeight;
- init(parentShell, parentShell.getDisplay().getCursorLocation(), 1, 1);
+ // Get the cell's x position and append by the table's width
+ // int width= tableViewer.getTable().getSize().x;
+ int width = tableViewer.getTable().getShell().getBounds().width;
+ int x = tableViewer.getTable().getShell().getLocation().x + width;
+
+ Point location = new Point(x, y);
+ init(parentShell, location, -1, 0);
+ return;
+ }
+
+ init(parentShell, parentShell.getDisplay().getCursorLocation(), 1, 1);
+ }
}
/**
* @since 2.0
*/
public SelectionMenu(Shell parentShell, Object source, Point cursorPosition) {
- if (source instanceof Table && parentShell != null && cursorPosition != null) {
- Table table = (Table) source;
-
- TableItem item = table.getItem(cursorPosition);
-
- if (item != null) {
- int selectionIndex = 0;
- for (Object tableItem : table.getItems()) {
- if (tableItem.equals(item)) {
- break;
+ if (parentShell != null) {
+ if (source instanceof Table && cursorPosition != null) {
+ Table table = (Table) source;
+
+ TableItem item = table.getItem(cursorPosition);
+
+ if (item != null) {
+ int selectionIndex = 0;
+ for (Object tableItem : table.getItems()) {
+ if (tableItem.equals(item)) {
+ break;
+ }
+ selectionIndex++;
}
- selectionIndex++;
- }
- int cellHeight = item.getBounds().height;
- int y = table.getShell().getLocation().y;
- y += selectionIndex * cellHeight;
+ int cellHeight = item.getBounds().height;
+ int y = table.getShell().getLocation().y;
+ y += selectionIndex * cellHeight;
- // Get the cell's x position and append by the table's width
- // int width= tableViewer.getTable().getSize().x;
- int width = table.getShell().getBounds().width;
- int x = table.getShell().getLocation().x + width;
+ // Get the cell's x position and append by the table's width
+ // int width= tableViewer.getTable().getSize().x;
+ int width = table.getShell().getBounds().width;
+ int x = table.getShell().getLocation().x + width;
- Point location = new Point(x, y);
- init(parentShell, location, -1, 0);
- return;
+ Point location = new Point(x, y);
+ init(parentShell, location, -1, 0);
+ return;
+ }
}
- }
- init(parentShell, parentShell.getDisplay().getCursorLocation(), 1, 1);
+ init(parentShell, parentShell.getDisplay().getCursorLocation(), 1, 1);
+ }
}
public SelectionMenu(Shell parentShell, Point location) {
@@ -252,10 +256,10 @@ public class SelectionMenu {
public void dispose() {
if (tableViewer != null) {
tableViewer.removeSelectionChangedListener(selectionChangedListener);
- }
- if (tableViewer.getTable() != null) {
- tableViewer.getTable().removeKeyListener(keyListener);
+ if (tableViewer.getTable() != null) {
+ tableViewer.getTable().removeKeyListener(keyListener);
+ }
}
if (shell != null) {
diff --git a/plugins/infra/ui/org.eclipse.papyrus.infra.widgets/src/org/eclipse/papyrus/infra/widgets/selectors/ReferenceSelector.java b/plugins/infra/ui/org.eclipse.papyrus.infra.widgets/src/org/eclipse/papyrus/infra/widgets/selectors/ReferenceSelector.java
index 9522a9364c0..f1d48aa229b 100644
--- a/plugins/infra/ui/org.eclipse.papyrus.infra.widgets/src/org/eclipse/papyrus/infra/widgets/selectors/ReferenceSelector.java
+++ b/plugins/infra/ui/org.eclipse.papyrus.infra.widgets/src/org/eclipse/papyrus/infra/widgets/selectors/ReferenceSelector.java
@@ -25,6 +25,7 @@ import org.eclipse.jface.viewers.ISelection;
import org.eclipse.jface.viewers.IStructuredSelection;
import org.eclipse.jface.viewers.ITreeContentProvider;
import org.eclipse.jface.viewers.TreeViewer;
+import org.eclipse.jface.viewers.Viewer;
import org.eclipse.jface.viewers.ViewerFilter;
import org.eclipse.papyrus.infra.widgets.editors.ICommitListener;
import org.eclipse.papyrus.infra.widgets.editors.IElementSelectionListener;
@@ -148,7 +149,7 @@ public class ReferenceSelector implements IElementSelector {
* @param containerElements
* The array of elements wrapped in their container
* @return
- * The array of semantic elements to be converted
+ * The array of semantic elements to be converted
*
* @see #getContainerElements(Object[])
* @see org.eclipse.papyrus.infra.widgets.providers.IAdaptableContentProvider
@@ -169,7 +170,7 @@ public class ReferenceSelector implements IElementSelector {
* @param selection
* The input array to filter
* @return
- * The filtered array
+ * The filtered array
*
* @see org.eclipse.papyrus.infra.widgets.providers.IHierarchicContentProvider#isValidValue(Object)
*/
@@ -321,7 +322,7 @@ public class ReferenceSelector implements IElementSelector {
* @author Camille Letavernier
*
*/
- private class SelectionFilteredBrowseStrategy extends ProviderBasedBrowseStrategy {
+ private class SelectionFilteredBrowseStrategy extends ProviderBasedBrowseStrategy<Viewer> {
public SelectionFilteredBrowseStrategy(ITreeContentProvider provider) {
super(provider);
@@ -345,6 +346,12 @@ public class ReferenceSelector implements IElementSelector {
clearCache();
}
}
+
+ @Override
+ public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
+ super.inputChanged(viewer, oldInput, newInput);
+ this.viewer = viewer;
+ }
}
/**
diff --git a/plugins/infra/ui/org.eclipse.papyrus.infra.widgets/src/org/eclipse/papyrus/infra/widgets/strategy/ProviderBasedBrowseStrategy.java b/plugins/infra/ui/org.eclipse.papyrus.infra.widgets/src/org/eclipse/papyrus/infra/widgets/strategy/ProviderBasedBrowseStrategy.java
index 9d2136f32c7..f79d597b14a 100644
--- a/plugins/infra/ui/org.eclipse.papyrus.infra.widgets/src/org/eclipse/papyrus/infra/widgets/strategy/ProviderBasedBrowseStrategy.java
+++ b/plugins/infra/ui/org.eclipse.papyrus.infra.widgets/src/org/eclipse/papyrus/infra/widgets/strategy/ProviderBasedBrowseStrategy.java
@@ -28,7 +28,7 @@ import org.eclipse.papyrus.infra.widgets.providers.EncapsulatedContentProvider;
import org.eclipse.papyrus.infra.widgets.providers.IHierarchicContentProvider;
-public class ProviderBasedBrowseStrategy extends EncapsulatedContentProvider implements TreeBrowseStrategy {
+public class ProviderBasedBrowseStrategy<T extends Viewer> extends EncapsulatedContentProvider implements TreeBrowseStrategy {
protected ITreeContentProvider provider;
@@ -169,11 +169,7 @@ public class ProviderBasedBrowseStrategy extends EncapsulatedContentProvider imp
}
}
- @Override
- public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
- super.inputChanged(viewer, oldInput, newInput);
- this.viewer = viewer;
- }
- protected Viewer viewer;
+
+ protected T viewer;
}
diff --git a/plugins/infra/ui/org.eclipse.papyrus.infra.widgets/src/org/eclipse/papyrus/infra/widgets/strategy/WorkspaceRevealStrategy.java b/plugins/infra/ui/org.eclipse.papyrus.infra.widgets/src/org/eclipse/papyrus/infra/widgets/strategy/WorkspaceRevealStrategy.java
index f08c5a76ddf..d3b5c8ee3bb 100644
--- a/plugins/infra/ui/org.eclipse.papyrus.infra.widgets/src/org/eclipse/papyrus/infra/widgets/strategy/WorkspaceRevealStrategy.java
+++ b/plugins/infra/ui/org.eclipse.papyrus.infra.widgets/src/org/eclipse/papyrus/infra/widgets/strategy/WorkspaceRevealStrategy.java
@@ -20,6 +20,7 @@ import org.eclipse.jface.viewers.ITreeContentProvider;
import org.eclipse.jface.viewers.TreePath;
import org.eclipse.jface.viewers.TreeSelection;
import org.eclipse.jface.viewers.TreeViewer;
+import org.eclipse.jface.viewers.Viewer;
/**
* A Strategy to search for a Resource in the Workspace
@@ -27,7 +28,7 @@ import org.eclipse.jface.viewers.TreeViewer;
* @author Camille Letavernier
*
*/
-public class WorkspaceRevealStrategy extends ProviderBasedBrowseStrategy {
+public class WorkspaceRevealStrategy extends ProviderBasedBrowseStrategy<Viewer> {
public WorkspaceRevealStrategy(ITreeContentProvider provider) {
super(provider);
@@ -38,6 +39,12 @@ public class WorkspaceRevealStrategy extends ProviderBasedBrowseStrategy {
}
@Override
+ public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
+ super.inputChanged(viewer, oldInput, newInput);
+ this.viewer = viewer;
+ }
+
+ @Override
public void revealSemanticElement(List<?> elementsToReveal) {
if (viewer instanceof TreeViewer) {
TreeViewer treeViewer = (TreeViewer) viewer;
diff --git a/plugins/infra/viewpoints/org.eclipse.papyrus.infra.viewpoints.policy/META-INF/MANIFEST.MF b/plugins/infra/viewpoints/org.eclipse.papyrus.infra.viewpoints.policy/META-INF/MANIFEST.MF
index b31f7c19763..eec08634d1f 100755
--- a/plugins/infra/viewpoints/org.eclipse.papyrus.infra.viewpoints.policy/META-INF/MANIFEST.MF
+++ b/plugins/infra/viewpoints/org.eclipse.papyrus.infra.viewpoints.policy/META-INF/MANIFEST.MF
@@ -15,8 +15,8 @@ Require-Bundle: org.eclipse.ui;bundle-version="[3.107.0,4.0.0)";visibility:=reex
org.eclipse.papyrus.infra.viewpoints.iso42010;bundle-version="[1.2.0,2.0.0)";visibility:=reexport,
org.eclipse.papyrus.infra.viewpoints.configuration;bundle-version="[2.0.0,3.0.0)";visibility:=reexport,
org.eclipse.papyrus.infra.constraints;bundle-version="[2.0.0,3.0.0)";visibility:=reexport,
- org.eclipse.papyrus.infra.widgets;bundle-version="[2.0.0,3.0.0)",
- org.eclipse.papyrus.infra.ui.emf;bundle-version="[1.2.0,2.0.0)"
+ org.eclipse.papyrus.infra.widgets;bundle-version="[3.0.0,4.0.0)",
+ org.eclipse.papyrus.infra.ui.emf;bundle-version="[2.0.0,3.0.0)"
Bundle-Vendor: %providerName
Bundle-ActivationPolicy: lazy
Bundle-ClassPath: .
diff --git a/plugins/infra/viewpoints/org.eclipse.papyrus.infra.viewpoints.policy/src/org/eclipse/papyrus/infra/viewpoints/policy/PolicyChecker.java b/plugins/infra/viewpoints/org.eclipse.papyrus.infra.viewpoints.policy/src/org/eclipse/papyrus/infra/viewpoints/policy/PolicyChecker.java
index 432acd71b8d..cc3cc99dba0 100644
--- a/plugins/infra/viewpoints/org.eclipse.papyrus.infra.viewpoints.policy/src/org/eclipse/papyrus/infra/viewpoints/policy/PolicyChecker.java
+++ b/plugins/infra/viewpoints/org.eclipse.papyrus.infra.viewpoints.policy/src/org/eclipse/papyrus/infra/viewpoints/policy/PolicyChecker.java
@@ -279,7 +279,7 @@ public class PolicyChecker {
*
* @return The current policy checker
*/
- public static PolicyChecker getCurrent() {
+ public static synchronized PolicyChecker getCurrent() {
if (currentPolicyChecker == null) {
currentPolicyChecker = new PolicyChecker();
PolicyCheckerNotifier.getInstance().fire(currentPolicyChecker);
@@ -462,14 +462,14 @@ public class PolicyChecker {
if (!applicableViewpoints.contains(vp)) {
// This viewpoint
applicableViewpoints.add(vp);
-
- // Its contributions, recursively. Process these first because they
+
+ // Its contributions, recursively. Process these first because they
// are more likely to be more pertinent to the selected stakeholder
// than the inherited viewpoint(s)
for (PapyrusViewpoint contrib : getContributionsTo(vp)) {
buildApplicableViewpoints(contrib);
}
-
+
// Its parents, recursively
if ((vp.getParent() != null) && !vp.getParent().eIsProxy()) {
buildApplicableViewpoints(vp.getParent());
diff --git a/plugins/infra/viewpoints/org.eclipse.papyrus.infra.viewpoints.policy/src/org/eclipse/papyrus/infra/viewpoints/policy/ViewPrototype.java b/plugins/infra/viewpoints/org.eclipse.papyrus.infra.viewpoints.policy/src/org/eclipse/papyrus/infra/viewpoints/policy/ViewPrototype.java
index 906281ee252..69b0ace8d67 100644
--- a/plugins/infra/viewpoints/org.eclipse.papyrus.infra.viewpoints.policy/src/org/eclipse/papyrus/infra/viewpoints/policy/ViewPrototype.java
+++ b/plugins/infra/viewpoints/org.eclipse.papyrus.infra.viewpoints.policy/src/org/eclipse/papyrus/infra/viewpoints/policy/ViewPrototype.java
@@ -433,7 +433,7 @@ public abstract class ViewPrototype {
public int compare(ViewPrototype proto1, ViewPrototype proto2) {
Integer p1 = getPriority(proto1);
Integer p2 = getPriority(proto2);
- if (p1 == p2) {
+ if (p1.equals(p2)) {
return (proto1.getLabel().compareTo(proto2.getLabel()));
} else {
return p1.compareTo(p2);

Back to the top