Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--doc/org.eclipse.emf.diffmerge.doc/build.properties9
-rw-r--r--doc/org.eclipse.emf.diffmerge.doc/plugin.properties9
-rw-r--r--doc/org.eclipse.emf.diffmerge.doc/plugin.xml2
-rw-r--r--doc/org.eclipse.emf.diffmerge.doc/pom.xml2
-rw-r--r--doc/org.eclipse.emf.diffmerge.doc/toc.xml2
-rw-r--r--features/org.eclipse.emf.diffmerge.egit.feature/build.properties2
-rw-r--r--features/org.eclipse.emf.diffmerge.feature/build.properties2
-rw-r--r--features/org.eclipse.emf.diffmerge.sdk.feature/build.properties2
-rw-r--r--features/org.eclipse.emf.diffmerge.svn.feature/build.properties2
-rw-r--r--features/org.eclipse.emf.diffmerge.tests.feature/build.properties2
-rw-r--r--plugins/org.eclipse.emf.diffmerge.connector.core/build.properties30
-rw-r--r--plugins/org.eclipse.emf.diffmerge.connector.core/plugin.properties2
-rw-r--r--plugins/org.eclipse.emf.diffmerge.connector.core/plugin.xml64
-rw-r--r--plugins/org.eclipse.emf.diffmerge.connector.core/src/org/eclipse/emf/diffmerge/connector/core/EMFDiffMergeCoreConnectorPlugin.java186
-rw-r--r--plugins/org.eclipse.emf.diffmerge.connector.core/src/org/eclipse/emf/diffmerge/connector/core/Messages.java72
-rw-r--r--plugins/org.eclipse.emf.diffmerge.connector.core/src/org/eclipse/emf/diffmerge/connector/core/ext/AbstractRevisionScopeDefinitionFactory.java520
-rw-r--r--plugins/org.eclipse.emf.diffmerge.connector.core/src/org/eclipse/emf/diffmerge/connector/core/ext/AbstractURIConvertingScopeDefinitionFactory.java220
-rw-r--r--plugins/org.eclipse.emf.diffmerge.connector.core/src/org/eclipse/emf/diffmerge/connector/core/ext/EMFDiffMergeCompareViewerCreator.java64
-rw-r--r--plugins/org.eclipse.emf.diffmerge.connector.core/src/org/eclipse/emf/diffmerge/connector/core/ext/LocalHistoryScopeDefinitionFactory.java124
-rw-r--r--plugins/org.eclipse.emf.diffmerge.connector.core/src/org/eclipse/emf/diffmerge/connector/core/ext/LocalHistoryURIConverter.java196
-rw-r--r--plugins/org.eclipse.emf.diffmerge.connector.core/src/org/eclipse/emf/diffmerge/connector/core/ext/TeamComparisonViewer.java2
-rw-r--r--plugins/org.eclipse.emf.diffmerge.connector.core/src/org/eclipse/emf/diffmerge/connector/core/ext/URIConvertingScopeDefinition.java264
-rw-r--r--plugins/org.eclipse.emf.diffmerge.connector.core/src/org/eclipse/emf/diffmerge/connector/core/messages.properties22
-rw-r--r--plugins/org.eclipse.emf.diffmerge.connector.git/build.properties30
-rw-r--r--plugins/org.eclipse.emf.diffmerge.connector.git/plugin.properties2
-rw-r--r--plugins/org.eclipse.emf.diffmerge.connector.git/plugin.xml50
-rw-r--r--plugins/org.eclipse.emf.diffmerge.connector.git/src/org/eclipse/emf/diffmerge/connector/git/EMFDiffMergeGitConnectorPlugin.java136
-rw-r--r--plugins/org.eclipse.emf.diffmerge.connector.git/src/org/eclipse/emf/diffmerge/connector/git/Messages.java86
-rw-r--r--plugins/org.eclipse.emf.diffmerge.connector.git/src/org/eclipse/emf/diffmerge/connector/git/ext/AbstractGitConflictURIConverter.java174
-rw-r--r--plugins/org.eclipse.emf.diffmerge.connector.git/src/org/eclipse/emf/diffmerge/connector/git/ext/AbstractGitURIConverter.java250
-rw-r--r--plugins/org.eclipse.emf.diffmerge.connector.git/src/org/eclipse/emf/diffmerge/connector/git/ext/GitCommitURIConverter.java144
-rw-r--r--plugins/org.eclipse.emf.diffmerge.connector.git/src/org/eclipse/emf/diffmerge/connector/git/ext/GitHelper.java386
-rw-r--r--plugins/org.eclipse.emf.diffmerge.connector.git/src/org/eclipse/emf/diffmerge/connector/git/ext/GitIndexOursURIConverter.java100
-rw-r--r--plugins/org.eclipse.emf.diffmerge.connector.git/src/org/eclipse/emf/diffmerge/connector/git/ext/GitIndexRevisionScopeDefinitionFactory.java334
-rw-r--r--plugins/org.eclipse.emf.diffmerge.connector.git/src/org/eclipse/emf/diffmerge/connector/git/ext/GitIndexTheirsURIConverter.java66
-rw-r--r--plugins/org.eclipse.emf.diffmerge.connector.git/src/org/eclipse/emf/diffmerge/connector/git/ext/GitIndexURIConverter.java112
-rw-r--r--plugins/org.eclipse.emf.diffmerge.connector.git/src/org/eclipse/emf/diffmerge/connector/git/ext/GitRevisionScopeDefinitionFactory.java340
-rw-r--r--plugins/org.eclipse.emf.diffmerge.connector.git/src/org/eclipse/emf/diffmerge/connector/git/messages.properties34
-rw-r--r--plugins/org.eclipse.emf.diffmerge.connector.svn/build.properties30
-rw-r--r--plugins/org.eclipse.emf.diffmerge.connector.svn/plugin.properties2
-rw-r--r--plugins/org.eclipse.emf.diffmerge.connector.svn/plugin.xml60
-rw-r--r--plugins/org.eclipse.emf.diffmerge.connector.svn/src/org/eclipse/emf/diffmerge/connector/svn/EMFDiffMergeSVNConnectorPlugin.java136
-rw-r--r--plugins/org.eclipse.emf.diffmerge.connector.svn/src/org/eclipse/emf/diffmerge/connector/svn/Messages.java76
-rw-r--r--plugins/org.eclipse.emf.diffmerge.connector.svn/src/org/eclipse/emf/diffmerge/connector/svn/ext/SVNHistoryURIConverter.java212
-rw-r--r--plugins/org.eclipse.emf.diffmerge.connector.svn/src/org/eclipse/emf/diffmerge/connector/svn/ext/SVNLocalScopeDefinitionFactory.java134
-rw-r--r--plugins/org.eclipse.emf.diffmerge.connector.svn/src/org/eclipse/emf/diffmerge/connector/svn/ext/SVNRemoteScopeDefinitionFactory.java228
-rw-r--r--plugins/org.eclipse.emf.diffmerge.connector.svn/src/org/eclipse/emf/diffmerge/connector/svn/ext/SVNRevisionScopeDefinitionFactory.java208
-rw-r--r--plugins/org.eclipse.emf.diffmerge.connector.svn/src/org/eclipse/emf/diffmerge/connector/svn/messages.properties26
-rw-r--r--plugins/org.eclipse.emf.diffmerge.gmf/build.properties28
-rw-r--r--plugins/org.eclipse.emf.diffmerge.gmf/src/org/eclipse/emf/diffmerge/gmf/GMFDiffMergePlugin.java144
-rw-r--r--plugins/org.eclipse.emf.diffmerge.gmf/src/org/eclipse/emf/diffmerge/gmf/GMFDiffPolicy.java2
-rw-r--r--plugins/org.eclipse.emf.diffmerge.gmf/src/org/eclipse/emf/diffmerge/gmf/GMFMergePolicy.java262
-rw-r--r--plugins/org.eclipse.emf.diffmerge.gmf/src/org/eclipse/emf/diffmerge/gmf/GMFScope.java222
-rw-r--r--plugins/org.eclipse.emf.diffmerge.ui.gmf/build.properties30
-rw-r--r--plugins/org.eclipse.emf.diffmerge.ui.gmf/plugin.properties18
-rw-r--r--plugins/org.eclipse.emf.diffmerge.ui.gmf/plugin.xml56
-rw-r--r--plugins/org.eclipse.emf.diffmerge.ui.gmf/src/org/eclipse/emf/diffmerge/ui/gmf/GMFComparisonMethod.java154
-rw-r--r--plugins/org.eclipse.emf.diffmerge.ui.gmf/src/org/eclipse/emf/diffmerge/ui/gmf/GMFComparisonMethodFactory.java116
-rw-r--r--plugins/org.eclipse.emf.diffmerge.ui.gmf/src/org/eclipse/emf/diffmerge/ui/gmf/GMFDiffMergeLabelProvider.java558
-rw-r--r--plugins/org.eclipse.emf.diffmerge.ui.gmf/src/org/eclipse/emf/diffmerge/ui/gmf/GMFDiffMergeUIPlugin.java142
-rw-r--r--plugins/org.eclipse.emf.diffmerge.ui.gmf/src/org/eclipse/emf/diffmerge/ui/gmf/GMFScopeDefinitionFactory.java136
-rw-r--r--plugins/org.eclipse.emf.diffmerge.ui.gmf/src/org/eclipse/emf/diffmerge/ui/gmf/Messages.java76
-rw-r--r--plugins/org.eclipse.emf.diffmerge.ui.gmf/src/org/eclipse/emf/diffmerge/ui/gmf/messages.properties2
-rw-r--r--plugins/org.eclipse.emf.diffmerge.ui.sirius/src/org/eclipse/emf/diffmerge/ui/sirius/SiriusTechnicalDifferenceCategory.java2
-rw-r--r--plugins/org.eclipse.emf.diffmerge.ui/build.properties42
-rw-r--r--plugins/org.eclipse.emf.diffmerge.ui/model/DiffUIData.ecore122
-rw-r--r--plugins/org.eclipse.emf.diffmerge.ui/model/DiffUIData.genmodel106
-rw-r--r--plugins/org.eclipse.emf.diffmerge.ui/plugin.properties18
-rw-r--r--plugins/org.eclipse.emf.diffmerge.ui/plugin.xml122
-rw-r--r--plugins/org.eclipse.emf.diffmerge.ui/schema/ModelComparisonContext.exsd290
-rw-r--r--plugins/org.eclipse.emf.diffmerge.ui/src/org/eclipse/emf/diffmerge/ui/EMFDiffMergeUIPlugin.java2
-rw-r--r--plugins/org.eclipse.emf.diffmerge.ui/src/org/eclipse/emf/diffmerge/ui/diffuidata/ComparisonSelection.java352
-rw-r--r--plugins/org.eclipse.emf.diffmerge.ui/src/org/eclipse/emf/diffmerge/ui/diffuidata/DiffuidataFactory.java144
-rw-r--r--plugins/org.eclipse.emf.diffmerge.ui/src/org/eclipse/emf/diffmerge/ui/diffuidata/DiffuidataPackage.java1268
-rw-r--r--plugins/org.eclipse.emf.diffmerge.ui/src/org/eclipse/emf/diffmerge/ui/diffuidata/MatchAndFeature.java128
-rw-r--r--plugins/org.eclipse.emf.diffmerge.ui/src/org/eclipse/emf/diffmerge/ui/diffuidata/UIComparison.java206
-rw-r--r--plugins/org.eclipse.emf.diffmerge.ui/src/org/eclipse/emf/diffmerge/ui/diffuidata/UidiffdataFactory.java144
-rw-r--r--plugins/org.eclipse.emf.diffmerge.ui/src/org/eclipse/emf/diffmerge/ui/diffuidata/UidiffdataPackage.java1268
-rw-r--r--plugins/org.eclipse.emf.diffmerge.ui/src/org/eclipse/emf/diffmerge/ui/diffuidata/impl/ComparisonSelectionImpl.java2
-rw-r--r--plugins/org.eclipse.emf.diffmerge.ui/src/org/eclipse/emf/diffmerge/ui/diffuidata/impl/DiffuidataFactoryImpl.java382
-rw-r--r--plugins/org.eclipse.emf.diffmerge.ui/src/org/eclipse/emf/diffmerge/ui/diffuidata/impl/DiffuidataPackageImpl.java878
-rw-r--r--plugins/org.eclipse.emf.diffmerge.ui/src/org/eclipse/emf/diffmerge/ui/diffuidata/impl/MatchAndFeatureImpl.java358
-rw-r--r--plugins/org.eclipse.emf.diffmerge.ui/src/org/eclipse/emf/diffmerge/ui/diffuidata/impl/MatchToNbEntryImpl.java632
-rw-r--r--plugins/org.eclipse.emf.diffmerge.ui/src/org/eclipse/emf/diffmerge/ui/diffuidata/impl/UIComparisonImpl.java594
-rw-r--r--plugins/org.eclipse.emf.diffmerge.ui/src/org/eclipse/emf/diffmerge/ui/diffuidata/impl/UidiffdataFactoryImpl.java392
-rw-r--r--plugins/org.eclipse.emf.diffmerge.ui/src/org/eclipse/emf/diffmerge/ui/diffuidata/impl/UidiffdataPackageImpl.java872
-rw-r--r--plugins/org.eclipse.emf.diffmerge.ui/src/org/eclipse/emf/diffmerge/ui/diffuidata/util/DiffuidataAdapterFactory.java420
-rw-r--r--plugins/org.eclipse.emf.diffmerge.ui/src/org/eclipse/emf/diffmerge/ui/diffuidata/util/DiffuidataResourceFactoryImpl.java106
-rw-r--r--plugins/org.eclipse.emf.diffmerge.ui/src/org/eclipse/emf/diffmerge/ui/diffuidata/util/DiffuidataResourceImpl.java80
-rw-r--r--plugins/org.eclipse.emf.diffmerge.ui/src/org/eclipse/emf/diffmerge/ui/diffuidata/util/DiffuidataSwitch.java438
-rw-r--r--plugins/org.eclipse.emf.diffmerge.ui/src/org/eclipse/emf/diffmerge/ui/diffuidata/util/UidiffdataAdapterFactory.java420
-rw-r--r--plugins/org.eclipse.emf.diffmerge.ui/src/org/eclipse/emf/diffmerge/ui/diffuidata/util/UidiffdataResourceFactoryImpl.java106
-rw-r--r--plugins/org.eclipse.emf.diffmerge.ui/src/org/eclipse/emf/diffmerge/ui/diffuidata/util/UidiffdataResourceImpl.java80
-rw-r--r--plugins/org.eclipse.emf.diffmerge.ui/src/org/eclipse/emf/diffmerge/ui/diffuidata/util/UidiffdataSwitch.java442
-rw-r--r--plugins/org.eclipse.emf.diffmerge.ui/src/org/eclipse/emf/diffmerge/ui/log/AbstractLogEvent.java176
-rw-r--r--plugins/org.eclipse.emf.diffmerge.ui/src/org/eclipse/emf/diffmerge/ui/log/CompareLogEvent.java170
-rw-r--r--plugins/org.eclipse.emf.diffmerge.ui/src/org/eclipse/emf/diffmerge/ui/log/DiffMergeLogger.java294
-rw-r--r--plugins/org.eclipse.emf.diffmerge.ui/src/org/eclipse/emf/diffmerge/ui/log/MergeLogEvent.java2
-rw-r--r--plugins/org.eclipse.emf.diffmerge.ui/src/org/eclipse/emf/diffmerge/ui/setup/CompareEditorAdapterFactory.java106
-rw-r--r--plugins/org.eclipse.emf.diffmerge.ui/src/org/eclipse/emf/diffmerge/ui/setup/CompareModelsAction.java256
-rw-r--r--plugins/org.eclipse.emf.diffmerge.ui/src/org/eclipse/emf/diffmerge/ui/setup/ComparisonSetup.java2
-rw-r--r--plugins/org.eclipse.emf.diffmerge.ui/src/org/eclipse/emf/diffmerge/ui/setup/ComparisonSetupManager.java728
-rw-r--r--plugins/org.eclipse.emf.diffmerge.ui/src/org/eclipse/emf/diffmerge/ui/setup/ComparisonSetupWizard.java132
-rw-r--r--plugins/org.eclipse.emf.diffmerge.ui/src/org/eclipse/emf/diffmerge/ui/setup/ComparisonSetupWizardPage.java2
-rw-r--r--plugins/org.eclipse.emf.diffmerge.ui/src/org/eclipse/emf/diffmerge/ui/setup/EMFDiffMergeEditorInput.java2
-rw-r--r--plugins/org.eclipse.emf.diffmerge.ui/src/org/eclipse/emf/diffmerge/ui/setup/ModelScopeTypedElement.java160
-rw-r--r--plugins/org.eclipse.emf.diffmerge.ui/src/org/eclipse/emf/diffmerge/ui/specification/AbstractScopeDefinition.java178
-rw-r--r--plugins/org.eclipse.emf.diffmerge.ui/src/org/eclipse/emf/diffmerge/ui/specification/AbstractScopeDefinitionFactory.java96
-rw-r--r--plugins/org.eclipse.emf.diffmerge.ui/src/org/eclipse/emf/diffmerge/ui/specification/IComparisonMethod.java2
-rw-r--r--plugins/org.eclipse.emf.diffmerge.ui/src/org/eclipse/emf/diffmerge/ui/specification/IComparisonMethodFactory.java88
-rw-r--r--plugins/org.eclipse.emf.diffmerge.ui/src/org/eclipse/emf/diffmerge/ui/specification/IModelScopeDefinition.java134
-rw-r--r--plugins/org.eclipse.emf.diffmerge.ui/src/org/eclipse/emf/diffmerge/ui/specification/IModelScopeDefinitionFactory.java82
-rw-r--r--plugins/org.eclipse.emf.diffmerge.ui/src/org/eclipse/emf/diffmerge/ui/specification/IOverridableFactory.java82
-rw-r--r--plugins/org.eclipse.emf.diffmerge.ui/src/org/eclipse/emf/diffmerge/ui/specification/ext/ConfigurableComparisonMethod.java2
-rw-r--r--plugins/org.eclipse.emf.diffmerge.ui/src/org/eclipse/emf/diffmerge/ui/specification/ext/ConfigurableComparisonMethodFactory.java116
-rw-r--r--plugins/org.eclipse.emf.diffmerge.ui/src/org/eclipse/emf/diffmerge/ui/specification/ext/DefaultComparisonMethodFactory.java130
-rw-r--r--plugins/org.eclipse.emf.diffmerge.ui/src/org/eclipse/emf/diffmerge/ui/specification/ext/EObjectScopeDefinition.java164
-rw-r--r--plugins/org.eclipse.emf.diffmerge.ui/src/org/eclipse/emf/diffmerge/ui/specification/ext/EObjectScopeDefinitionFactory.java108
-rw-r--r--plugins/org.eclipse.emf.diffmerge.ui/src/org/eclipse/emf/diffmerge/ui/specification/ext/ResourceScopeDefinition.java140
-rw-r--r--plugins/org.eclipse.emf.diffmerge.ui/src/org/eclipse/emf/diffmerge/ui/specification/ext/ResourceScopeDefinitionFactory.java108
-rw-r--r--plugins/org.eclipse.emf.diffmerge.ui/src/org/eclipse/emf/diffmerge/ui/specification/ext/URIScopeDefinition.java2
-rw-r--r--plugins/org.eclipse.emf.diffmerge.ui/src/org/eclipse/emf/diffmerge/ui/specification/ext/URIScopeDefinitionFactory.java358
-rw-r--r--plugins/org.eclipse.emf.diffmerge.ui/src/org/eclipse/emf/diffmerge/ui/util/DelegatingLabelProvider.java258
-rw-r--r--plugins/org.eclipse.emf.diffmerge.ui/src/org/eclipse/emf/diffmerge/ui/util/DiffMergeDialog.java2
-rw-r--r--plugins/org.eclipse.emf.diffmerge.ui/src/org/eclipse/emf/diffmerge/ui/util/DiffMergeLabelProvider.java2
-rw-r--r--plugins/org.eclipse.emf.diffmerge.ui/src/org/eclipse/emf/diffmerge/ui/util/DifferenceKind.java374
-rw-r--r--plugins/org.eclipse.emf.diffmerge.ui/src/org/eclipse/emf/diffmerge/ui/util/InconsistencyDialog.java2
-rw-r--r--plugins/org.eclipse.emf.diffmerge.ui/src/org/eclipse/emf/diffmerge/ui/util/MiscUtil.java716
-rw-r--r--plugins/org.eclipse.emf.diffmerge.ui/src/org/eclipse/emf/diffmerge/ui/util/UIUtil.java2
-rw-r--r--plugins/org.eclipse.emf.diffmerge.ui/src/org/eclipse/emf/diffmerge/ui/viewers/CategoryDialog.java328
-rw-r--r--plugins/org.eclipse.emf.diffmerge.ui/src/org/eclipse/emf/diffmerge/ui/viewers/CategoryManager.java2
-rw-r--r--plugins/org.eclipse.emf.diffmerge.ui/src/org/eclipse/emf/diffmerge/ui/viewers/CategoryViewer.java2
-rw-r--r--plugins/org.eclipse.emf.diffmerge.ui/src/org/eclipse/emf/diffmerge/ui/viewers/ComparisonResourceManager.java2
-rw-r--r--plugins/org.eclipse.emf.diffmerge.ui/src/org/eclipse/emf/diffmerge/ui/viewers/ComparisonSideViewer.java452
-rw-r--r--plugins/org.eclipse.emf.diffmerge.ui/src/org/eclipse/emf/diffmerge/ui/viewers/ComparisonTreeViewer.java2
-rw-r--r--plugins/org.eclipse.emf.diffmerge.ui/src/org/eclipse/emf/diffmerge/ui/viewers/ComparisonViewer.java2
-rw-r--r--plugins/org.eclipse.emf.diffmerge.ui/src/org/eclipse/emf/diffmerge/ui/viewers/DirectedComparisonViewer.java2
-rw-r--r--plugins/org.eclipse.emf.diffmerge.ui/src/org/eclipse/emf/diffmerge/ui/viewers/EMFDiffNode.java2
-rw-r--r--plugins/org.eclipse.emf.diffmerge.ui/src/org/eclipse/emf/diffmerge/ui/viewers/EnhancedComparisonSideViewer.java248
-rw-r--r--plugins/org.eclipse.emf.diffmerge.ui/src/org/eclipse/emf/diffmerge/ui/viewers/EnhancedComparisonTreeViewer.java184
-rw-r--r--plugins/org.eclipse.emf.diffmerge.ui/src/org/eclipse/emf/diffmerge/ui/viewers/EnhancedFeaturesViewer.java2
-rw-r--r--plugins/org.eclipse.emf.diffmerge.ui/src/org/eclipse/emf/diffmerge/ui/viewers/EnhancedValuesViewer.java170
-rw-r--r--plugins/org.eclipse.emf.diffmerge.ui/src/org/eclipse/emf/diffmerge/ui/viewers/FeaturesViewer.java2
-rw-r--r--plugins/org.eclipse.emf.diffmerge.ui/src/org/eclipse/emf/diffmerge/ui/viewers/HeaderViewer.java2
-rw-r--r--plugins/org.eclipse.emf.diffmerge.ui/src/org/eclipse/emf/diffmerge/ui/viewers/IComparisonSideViewer.java60
-rw-r--r--plugins/org.eclipse.emf.diffmerge.ui/src/org/eclipse/emf/diffmerge/ui/viewers/IDifferenceCategory.java218
-rw-r--r--plugins/org.eclipse.emf.diffmerge.ui/src/org/eclipse/emf/diffmerge/ui/viewers/IDifferenceCategoryItem.java110
-rw-r--r--plugins/org.eclipse.emf.diffmerge.ui/src/org/eclipse/emf/diffmerge/ui/viewers/IDifferenceCategorySet.java62
-rw-r--r--plugins/org.eclipse.emf.diffmerge.ui/src/org/eclipse/emf/diffmerge/ui/viewers/IDifferenceRelatedViewer.java70
-rw-r--r--plugins/org.eclipse.emf.diffmerge.ui/src/org/eclipse/emf/diffmerge/ui/viewers/IgnoreChoiceData.java186
-rw-r--r--plugins/org.eclipse.emf.diffmerge.ui/src/org/eclipse/emf/diffmerge/ui/viewers/IgnoreChoicesDialog.java190
-rw-r--r--plugins/org.eclipse.emf.diffmerge.ui/src/org/eclipse/emf/diffmerge/ui/viewers/MergeChoiceData.java224
-rw-r--r--plugins/org.eclipse.emf.diffmerge.ui/src/org/eclipse/emf/diffmerge/ui/viewers/MergeChoicesDialog.java272
-rw-r--r--plugins/org.eclipse.emf.diffmerge.ui/src/org/eclipse/emf/diffmerge/ui/viewers/MergeImpactMessageDialog.java174
-rw-r--r--plugins/org.eclipse.emf.diffmerge.ui/src/org/eclipse/emf/diffmerge/ui/viewers/MergeImpactViewer.java2
-rw-r--r--plugins/org.eclipse.emf.diffmerge.ui/src/org/eclipse/emf/diffmerge/ui/viewers/ModelScopeViewer.java244
-rw-r--r--plugins/org.eclipse.emf.diffmerge.ui/src/org/eclipse/emf/diffmerge/ui/viewers/SelectionBridge.java2
-rw-r--r--plugins/org.eclipse.emf.diffmerge.ui/src/org/eclipse/emf/diffmerge/ui/viewers/ValuesViewer.java2
-rw-r--r--plugins/org.eclipse.emf.diffmerge.ui/src/org/eclipse/emf/diffmerge/ui/viewers/categories/AbstractDifferenceCategory.java294
-rw-r--r--plugins/org.eclipse.emf.diffmerge.ui/src/org/eclipse/emf/diffmerge/ui/viewers/categories/AbstractDifferenceCategoryItem.java126
-rw-r--r--plugins/org.eclipse.emf.diffmerge.ui/src/org/eclipse/emf/diffmerge/ui/viewers/categories/AbstractSideRelatedDifferenceCategory.java86
-rw-r--r--plugins/org.eclipse.emf.diffmerge.ui/src/org/eclipse/emf/diffmerge/ui/viewers/categories/ConflictCategory.java2
-rw-r--r--plugins/org.eclipse.emf.diffmerge.ui/src/org/eclipse/emf/diffmerge/ui/viewers/categories/DifferenceCategorySet.java276
-rw-r--r--plugins/org.eclipse.emf.diffmerge.ui/src/org/eclipse/emf/diffmerge/ui/viewers/categories/IgnoredDifferenceCategory.java2
-rw-r--r--plugins/org.eclipse.emf.diffmerge.ui/src/org/eclipse/emf/diffmerge/ui/viewers/categories/MergedDifferenceCategory.java2
-rw-r--r--plugins/org.eclipse.emf.diffmerge.ui/src/org/eclipse/emf/diffmerge/ui/viewers/categories/MoveCategory.java2
-rw-r--r--plugins/org.eclipse.emf.diffmerge.ui/src/org/eclipse/emf/diffmerge/ui/viewers/categories/PropertyChangeCategory.java2
-rw-r--r--plugins/org.eclipse.emf.diffmerge.ui/src/org/eclipse/emf/diffmerge/ui/viewers/categories/ThreeWayOriginCategory.java2
-rw-r--r--plugins/org.eclipse.emf.diffmerge.ui/src/org/eclipse/emf/diffmerge/ui/viewers/categories/UnmatchedElementCategory.java2
-rw-r--r--plugins/org.eclipse.emf.diffmerge/build.properties34
-rw-r--r--plugins/org.eclipse.emf.diffmerge/model/DiffData.ecore10
-rw-r--r--plugins/org.eclipse.emf.diffmerge/model/DiffData.genmodel228
-rw-r--r--plugins/org.eclipse.emf.diffmerge/plugin.properties18
-rw-r--r--plugins/org.eclipse.emf.diffmerge/plugin.xml66
-rw-r--r--plugins/org.eclipse.emf.diffmerge/src/org/eclipse/emf/diffmerge/EMFDiffMergePlugin.java2
-rw-r--r--plugins/org.eclipse.emf.diffmerge/src/org/eclipse/emf/diffmerge/api/IComparison.java2
-rw-r--r--plugins/org.eclipse.emf.diffmerge/src/org/eclipse/emf/diffmerge/api/IDiffPolicy.java2
-rw-r--r--plugins/org.eclipse.emf.diffmerge/src/org/eclipse/emf/diffmerge/api/IMapping.java2
-rw-r--r--plugins/org.eclipse.emf.diffmerge/src/org/eclipse/emf/diffmerge/api/IMatch.java2
-rw-r--r--plugins/org.eclipse.emf.diffmerge/src/org/eclipse/emf/diffmerge/api/IMatchPolicy.java198
-rw-r--r--plugins/org.eclipse.emf.diffmerge/src/org/eclipse/emf/diffmerge/api/IMergePolicy.java2
-rw-r--r--plugins/org.eclipse.emf.diffmerge/src/org/eclipse/emf/diffmerge/api/IMergeSelector.java70
-rw-r--r--plugins/org.eclipse.emf.diffmerge/src/org/eclipse/emf/diffmerge/api/IPureMatch.java2
-rw-r--r--plugins/org.eclipse.emf.diffmerge/src/org/eclipse/emf/diffmerge/api/Role.java146
-rw-r--r--plugins/org.eclipse.emf.diffmerge/src/org/eclipse/emf/diffmerge/api/diff/IAttributeValuePresence.java2
-rw-r--r--plugins/org.eclipse.emf.diffmerge/src/org/eclipse/emf/diffmerge/api/diff/IDifference.java2
-rw-r--r--plugins/org.eclipse.emf.diffmerge/src/org/eclipse/emf/diffmerge/api/diff/IElementPresence.java2
-rw-r--r--plugins/org.eclipse.emf.diffmerge/src/org/eclipse/emf/diffmerge/api/diff/IElementRelativeDifference.java78
-rw-r--r--plugins/org.eclipse.emf.diffmerge/src/org/eclipse/emf/diffmerge/api/diff/IElementRelativePresence.java54
-rw-r--r--plugins/org.eclipse.emf.diffmerge/src/org/eclipse/emf/diffmerge/api/diff/IMergeableDifference.java2
-rw-r--r--plugins/org.eclipse.emf.diffmerge/src/org/eclipse/emf/diffmerge/api/diff/IPresenceDifference.java68
-rw-r--r--plugins/org.eclipse.emf.diffmerge/src/org/eclipse/emf/diffmerge/api/diff/IReferenceValuePresence.java2
-rw-r--r--plugins/org.eclipse.emf.diffmerge/src/org/eclipse/emf/diffmerge/api/diff/IValuePresence.java2
-rw-r--r--plugins/org.eclipse.emf.diffmerge/src/org/eclipse/emf/diffmerge/api/scopes/IEditableModelScope.java2
-rw-r--r--plugins/org.eclipse.emf.diffmerge/src/org/eclipse/emf/diffmerge/api/scopes/IFeaturedModelScope.java128
-rw-r--r--plugins/org.eclipse.emf.diffmerge/src/org/eclipse/emf/diffmerge/api/scopes/IFragmentedModelScope.java2
-rw-r--r--plugins/org.eclipse.emf.diffmerge/src/org/eclipse/emf/diffmerge/api/scopes/IModelScope.java2
-rw-r--r--plugins/org.eclipse.emf.diffmerge/src/org/eclipse/emf/diffmerge/api/scopes/IPersistentModelScope.java2
-rw-r--r--plugins/org.eclipse.emf.diffmerge/src/org/eclipse/emf/diffmerge/diffdata/DiffdataFactory.java200
-rw-r--r--plugins/org.eclipse.emf.diffmerge/src/org/eclipse/emf/diffmerge/diffdata/DiffdataPackage.java2
-rw-r--r--plugins/org.eclipse.emf.diffmerge/src/org/eclipse/emf/diffmerge/diffdata/EAttributeValuePresence.java106
-rw-r--r--plugins/org.eclipse.emf.diffmerge/src/org/eclipse/emf/diffmerge/diffdata/EComparison.java458
-rw-r--r--plugins/org.eclipse.emf.diffmerge/src/org/eclipse/emf/diffmerge/diffdata/EElementPresence.java104
-rw-r--r--plugins/org.eclipse.emf.diffmerge/src/org/eclipse/emf/diffmerge/diffdata/EElementRelativePresence.java138
-rw-r--r--plugins/org.eclipse.emf.diffmerge/src/org/eclipse/emf/diffmerge/diffdata/EMapping.java194
-rw-r--r--plugins/org.eclipse.emf.diffmerge/src/org/eclipse/emf/diffmerge/diffdata/EMatch.java2
-rw-r--r--plugins/org.eclipse.emf.diffmerge/src/org/eclipse/emf/diffmerge/diffdata/EMergeableDifference.java448
-rw-r--r--plugins/org.eclipse.emf.diffmerge/src/org/eclipse/emf/diffmerge/diffdata/EReferenceValuePresence.java2
-rw-r--r--plugins/org.eclipse.emf.diffmerge/src/org/eclipse/emf/diffmerge/diffdata/EValuePresence.java140
-rw-r--r--plugins/org.eclipse.emf.diffmerge/src/org/eclipse/emf/diffmerge/diffdata/impl/AttributeToValueToDifferenceEntryImpl.java632
-rw-r--r--plugins/org.eclipse.emf.diffmerge/src/org/eclipse/emf/diffmerge/diffdata/impl/DiffdataFactoryImpl.java2
-rw-r--r--plugins/org.eclipse.emf.diffmerge/src/org/eclipse/emf/diffmerge/diffdata/impl/DiffdataPackageImpl.java2
-rw-r--r--plugins/org.eclipse.emf.diffmerge/src/org/eclipse/emf/diffmerge/diffdata/impl/EAttributeValuePresenceImpl.java468
-rw-r--r--plugins/org.eclipse.emf.diffmerge/src/org/eclipse/emf/diffmerge/diffdata/impl/EComparisonImpl.java2
-rw-r--r--plugins/org.eclipse.emf.diffmerge/src/org/eclipse/emf/diffmerge/diffdata/impl/EElementPresenceImpl.java2
-rw-r--r--plugins/org.eclipse.emf.diffmerge/src/org/eclipse/emf/diffmerge/diffdata/impl/EElementRelativePresenceImpl.java506
-rw-r--r--plugins/org.eclipse.emf.diffmerge/src/org/eclipse/emf/diffmerge/diffdata/impl/EMappingImpl.java2
-rw-r--r--plugins/org.eclipse.emf.diffmerge/src/org/eclipse/emf/diffmerge/diffdata/impl/EMatchImpl.java2
-rw-r--r--plugins/org.eclipse.emf.diffmerge/src/org/eclipse/emf/diffmerge/diffdata/impl/EMergeableDifferenceImpl.java1812
-rw-r--r--plugins/org.eclipse.emf.diffmerge/src/org/eclipse/emf/diffmerge/diffdata/impl/EReferenceValuePresenceImpl.java2
-rw-r--r--plugins/org.eclipse.emf.diffmerge/src/org/eclipse/emf/diffmerge/diffdata/impl/EValuePresenceImpl.java566
-rw-r--r--plugins/org.eclipse.emf.diffmerge/src/org/eclipse/emf/diffmerge/diffdata/impl/ElementToDifferenceEntryImpl.java2
-rw-r--r--plugins/org.eclipse.emf.diffmerge/src/org/eclipse/emf/diffmerge/diffdata/impl/ReferenceToElementToDifferenceEntryImpl.java2
-rw-r--r--plugins/org.eclipse.emf.diffmerge/src/org/eclipse/emf/diffmerge/diffdata/impl/ValueToDifferenceEntryImpl.java644
-rw-r--r--plugins/org.eclipse.emf.diffmerge/src/org/eclipse/emf/diffmerge/diffdata/util/DiffdataAdapterFactory.java2
-rw-r--r--plugins/org.eclipse.emf.diffmerge/src/org/eclipse/emf/diffmerge/diffdata/util/DiffdataResourceFactoryImpl.java106
-rw-r--r--plugins/org.eclipse.emf.diffmerge/src/org/eclipse/emf/diffmerge/diffdata/util/DiffdataResourceImpl.java78
-rw-r--r--plugins/org.eclipse.emf.diffmerge/src/org/eclipse/emf/diffmerge/diffdata/util/DiffdataSwitch.java2
-rw-r--r--plugins/org.eclipse.emf.diffmerge/src/org/eclipse/emf/diffmerge/impl/helpers/AbstractExpensiveOperation.java144
-rw-r--r--plugins/org.eclipse.emf.diffmerge/src/org/eclipse/emf/diffmerge/impl/helpers/BidirectionalComparisonCopier.java202
-rw-r--r--plugins/org.eclipse.emf.diffmerge/src/org/eclipse/emf/diffmerge/impl/helpers/DiffOperation.java2
-rw-r--r--plugins/org.eclipse.emf.diffmerge/src/org/eclipse/emf/diffmerge/impl/helpers/MatchOperation.java2
-rw-r--r--plugins/org.eclipse.emf.diffmerge/src/org/eclipse/emf/diffmerge/impl/helpers/MergeOperation.java390
-rw-r--r--plugins/org.eclipse.emf.diffmerge/src/org/eclipse/emf/diffmerge/impl/helpers/UnidirectionalComparisonCopier.java2
-rw-r--r--plugins/org.eclipse.emf.diffmerge/src/org/eclipse/emf/diffmerge/impl/policies/ConfigurableDiffPolicy.java2
-rw-r--r--plugins/org.eclipse.emf.diffmerge/src/org/eclipse/emf/diffmerge/impl/policies/ConfigurableMatchPolicy.java2
-rw-r--r--plugins/org.eclipse.emf.diffmerge/src/org/eclipse/emf/diffmerge/impl/policies/ConfigurableMergePolicy.java2
-rw-r--r--plugins/org.eclipse.emf.diffmerge/src/org/eclipse/emf/diffmerge/impl/policies/DefaultDiffPolicy.java2
-rw-r--r--plugins/org.eclipse.emf.diffmerge/src/org/eclipse/emf/diffmerge/impl/policies/DefaultMatchPolicy.java2
-rw-r--r--plugins/org.eclipse.emf.diffmerge/src/org/eclipse/emf/diffmerge/impl/policies/DefaultMergePolicy.java2
-rw-r--r--plugins/org.eclipse.emf.diffmerge/src/org/eclipse/emf/diffmerge/impl/policies/MapBasedMatchPolicy.java2
-rw-r--r--plugins/org.eclipse.emf.diffmerge/src/org/eclipse/emf/diffmerge/impl/scopes/AbstractEditableModelScope.java310
-rw-r--r--plugins/org.eclipse.emf.diffmerge/src/org/eclipse/emf/diffmerge/impl/scopes/AbstractModelScope.java2
-rw-r--r--plugins/org.eclipse.emf.diffmerge/src/org/eclipse/emf/diffmerge/impl/scopes/DynamicUniqueListIterator.java188
-rw-r--r--plugins/org.eclipse.emf.diffmerge/src/org/eclipse/emf/diffmerge/impl/scopes/FilteredModelScope.java450
-rw-r--r--plugins/org.eclipse.emf.diffmerge/src/org/eclipse/emf/diffmerge/impl/scopes/FragmentedModelScope.java46
-rw-r--r--plugins/org.eclipse.emf.diffmerge/src/org/eclipse/emf/diffmerge/impl/scopes/ModelScopeIterator.java234
-rw-r--r--plugins/org.eclipse.emf.diffmerge/src/org/eclipse/emf/diffmerge/impl/scopes/MultiResourceTreeIterator.java186
-rw-r--r--plugins/org.eclipse.emf.diffmerge/src/org/eclipse/emf/diffmerge/impl/scopes/RootedModelScope.java244
-rw-r--r--plugins/org.eclipse.emf.diffmerge/src/org/eclipse/emf/diffmerge/impl/scopes/SubtreeModelScope.java364
-rw-r--r--plugins/org.eclipse.emf.diffmerge/src/org/eclipse/emf/diffmerge/util/IExpensiveOperation.java96
-rw-r--r--plugins/org.eclipse.emf.diffmerge/src/org/eclipse/emf/diffmerge/util/ModelImplUtil.java314
-rw-r--r--plugins/org.eclipse.emf.diffmerge/src/org/eclipse/emf/diffmerge/util/ModelsUtil.java632
-rw-r--r--plugins/org.eclipse.emf.diffmerge/src/org/eclipse/emf/diffmerge/util/structures/AbstractBinaryRelation.java122
-rw-r--r--plugins/org.eclipse.emf.diffmerge/src/org/eclipse/emf/diffmerge/util/structures/AbstractEndorelation.java186
-rw-r--r--plugins/org.eclipse.emf.diffmerge/src/org/eclipse/emf/diffmerge/util/structures/FArrayList.java354
-rw-r--r--plugins/org.eclipse.emf.diffmerge/src/org/eclipse/emf/diffmerge/util/structures/FHashMap.java320
-rw-r--r--plugins/org.eclipse.emf.diffmerge/src/org/eclipse/emf/diffmerge/util/structures/FHashSet.java286
-rw-r--r--plugins/org.eclipse.emf.diffmerge/src/org/eclipse/emf/diffmerge/util/structures/FLinkedList.java254
-rw-r--r--plugins/org.eclipse.emf.diffmerge/src/org/eclipse/emf/diffmerge/util/structures/FOrderedSet.java172
-rw-r--r--plugins/org.eclipse.emf.diffmerge/src/org/eclipse/emf/diffmerge/util/structures/HashBinaryRelation.java306
-rw-r--r--plugins/org.eclipse.emf.diffmerge/src/org/eclipse/emf/diffmerge/util/structures/HashInvertibleBinaryRelation.java246
-rw-r--r--plugins/org.eclipse.emf.diffmerge/src/org/eclipse/emf/diffmerge/util/structures/IBinaryRelation.java164
-rw-r--r--plugins/org.eclipse.emf.diffmerge/src/org/eclipse/emf/diffmerge/util/structures/IEndorelation.java92
-rw-r--r--plugins/org.eclipse.emf.diffmerge/src/org/eclipse/emf/diffmerge/util/structures/IEqualityBasedStructure.java72
-rw-r--r--plugins/org.eclipse.emf.diffmerge/src/org/eclipse/emf/diffmerge/util/structures/IEqualityTester.java126
-rw-r--r--plugins/org.eclipse.emf.diffmerge/src/org/eclipse/emf/diffmerge/util/structures/IInvertibleBinaryRelation.java72
-rw-r--r--plugins/org.eclipse.emf.diffmerge/src/org/eclipse/emf/diffmerge/util/structures/IRangedBinaryRelation.java144
-rw-r--r--plugins/org.eclipse.emf.diffmerge/src/org/eclipse/emf/diffmerge/util/structures/StructuresUtil.java246
-rw-r--r--plugins/org.eclipse.emf.diffmerge/src/org/eclipse/emf/diffmerge/util/structures/comparable/ComparableArrayList.java224
-rw-r--r--plugins/org.eclipse.emf.diffmerge/src/org/eclipse/emf/diffmerge/util/structures/comparable/ComparableHashMap.java390
-rw-r--r--plugins/org.eclipse.emf.diffmerge/src/org/eclipse/emf/diffmerge/util/structures/comparable/ComparableLinkedList.java328
-rw-r--r--plugins/org.eclipse.emf.diffmerge/src/org/eclipse/emf/diffmerge/util/structures/comparable/ComparableTreeMap.java218
-rw-r--r--plugins/org.eclipse.emf.diffmerge/src/org/eclipse/emf/diffmerge/util/structures/comparable/ComparableTreeSet.java172
-rw-r--r--plugins/org.eclipse.emf.diffmerge/src/org/eclipse/emf/diffmerge/util/structures/comparable/IComparableStructure.java390
-rw-r--r--tests/org.eclipse.emf.diffmerge.tests.customization/build.properties24
-rw-r--r--tests/org.eclipse.emf.diffmerge.tests.customization/plugin.properties18
-rw-r--r--tests/org.eclipse.emf.diffmerge.tests.customization/plugin.xml48
-rw-r--r--tests/org.eclipse.emf.diffmerge.tests.customization/src/org/eclipse/emf/diffmerge/tests/customization/ElementsScope.java158
-rw-r--r--tests/org.eclipse.emf.diffmerge.tests.customization/src/org/eclipse/emf/diffmerge/tests/customization/ElementsScopeDefinitionFactory.java134
-rw-r--r--tests/org.eclipse.emf.diffmerge.tests.elements.edit/build.properties30
-rw-r--r--tests/org.eclipse.emf.diffmerge.tests.elements.edit/plugin.properties2
-rw-r--r--tests/org.eclipse.emf.diffmerge.tests.elements.edit/plugin.xml62
-rw-r--r--tests/org.eclipse.emf.diffmerge.tests.elements.edit/src/org/eclipse/emf/diffmerge/tests/elements/Elements/provider/EdgeItemProvider.java2
-rw-r--r--tests/org.eclipse.emf.diffmerge.tests.elements.edit/src/org/eclipse/emf/diffmerge/tests/elements/Elements/provider/ElementItemProvider.java2
-rw-r--r--tests/org.eclipse.emf.diffmerge.tests.elements.edit/src/org/eclipse/emf/diffmerge/tests/elements/Elements/provider/ElementsEditPlugin.java202
-rw-r--r--tests/org.eclipse.emf.diffmerge.tests.elements.edit/src/org/eclipse/emf/diffmerge/tests/elements/Elements/provider/ElementsItemProviderAdapterFactory.java662
-rw-r--r--tests/org.eclipse.emf.diffmerge.tests.elements.edit/src/org/eclipse/emf/diffmerge/tests/elements/Elements/provider/IdentifiedElementItemProvider.java316
-rw-r--r--tests/org.eclipse.emf.diffmerge.tests.elements.edit/src/org/eclipse/emf/diffmerge/tests/elements/Elements/provider/NamedElementItemProvider.java2
-rw-r--r--tests/org.eclipse.emf.diffmerge.tests.elements.edit/src/org/eclipse/emf/diffmerge/tests/elements/Elements/provider/NodeItemProvider.java2
-rw-r--r--tests/org.eclipse.emf.diffmerge.tests.elements.edit/src/org/eclipse/emf/diffmerge/tests/elements/Elements/provider/ReferencingNodeItemProvider.java2
-rw-r--r--tests/org.eclipse.emf.diffmerge.tests.elements.edit/src/org/eclipse/emf/diffmerge/tests/elements/Elements/provider/RootItemProvider.java2
-rw-r--r--tests/org.eclipse.emf.diffmerge.tests.elements.edit/src/org/eclipse/emf/diffmerge/tests/elements/Elements/provider/StrictElementItemProvider.java2
-rw-r--r--tests/org.eclipse.emf.diffmerge.tests.elements.editor/build.properties30
-rw-r--r--tests/org.eclipse.emf.diffmerge.tests.elements.editor/plugin.properties116
-rw-r--r--tests/org.eclipse.emf.diffmerge.tests.elements.editor/plugin.xml90
-rw-r--r--tests/org.eclipse.emf.diffmerge.tests.elements/build.properties30
-rw-r--r--tests/org.eclipse.emf.diffmerge.tests.elements/model/Elements.ecore10
-rw-r--r--tests/org.eclipse.emf.diffmerge.tests.elements/model/Elements.genmodel134
-rw-r--r--tests/org.eclipse.emf.diffmerge.tests.elements/plugin.properties18
-rw-r--r--tests/org.eclipse.emf.diffmerge.tests.elements/plugin.xml72
-rw-r--r--tests/org.eclipse.emf.diffmerge.tests.elements/src/org/eclipse/emf/diffmerge/tests/elements/Elements/Edge.java184
-rw-r--r--tests/org.eclipse.emf.diffmerge.tests.elements/src/org/eclipse/emf/diffmerge/tests/elements/Elements/Element.java2
-rw-r--r--tests/org.eclipse.emf.diffmerge.tests.elements/src/org/eclipse/emf/diffmerge/tests/elements/Elements/ElementsFactory.java198
-rw-r--r--tests/org.eclipse.emf.diffmerge.tests.elements/src/org/eclipse/emf/diffmerge/tests/elements/Elements/ElementsPackage.java2
-rw-r--r--tests/org.eclipse.emf.diffmerge.tests.elements/src/org/eclipse/emf/diffmerge/tests/elements/Elements/IdentifiedElement.java124
-rw-r--r--tests/org.eclipse.emf.diffmerge.tests.elements/src/org/eclipse/emf/diffmerge/tests/elements/Elements/NamedElement.java122
-rw-r--r--tests/org.eclipse.emf.diffmerge.tests.elements/src/org/eclipse/emf/diffmerge/tests/elements/Elements/Node.java180
-rw-r--r--tests/org.eclipse.emf.diffmerge.tests.elements/src/org/eclipse/emf/diffmerge/tests/elements/Elements/ReferencingNode.java122
-rw-r--r--tests/org.eclipse.emf.diffmerge.tests.elements/src/org/eclipse/emf/diffmerge/tests/elements/Elements/Root.java158
-rw-r--r--tests/org.eclipse.emf.diffmerge.tests.elements/src/org/eclipse/emf/diffmerge/tests/elements/Elements/StrictElement.java506
-rw-r--r--tests/org.eclipse.emf.diffmerge.tests.elements/src/org/eclipse/emf/diffmerge/tests/elements/Elements/impl/EdgeImpl.java618
-rw-r--r--tests/org.eclipse.emf.diffmerge.tests.elements/src/org/eclipse/emf/diffmerge/tests/elements/Elements/impl/ElementImpl.java2
-rw-r--r--tests/org.eclipse.emf.diffmerge.tests.elements/src/org/eclipse/emf/diffmerge/tests/elements/Elements/impl/ElementsFactoryImpl.java324
-rw-r--r--tests/org.eclipse.emf.diffmerge.tests.elements/src/org/eclipse/emf/diffmerge/tests/elements/Elements/impl/ElementsPackageImpl.java2
-rw-r--r--tests/org.eclipse.emf.diffmerge.tests.elements/src/org/eclipse/emf/diffmerge/tests/elements/Elements/impl/IdentifiedElementImpl.java354
-rw-r--r--tests/org.eclipse.emf.diffmerge.tests.elements/src/org/eclipse/emf/diffmerge/tests/elements/Elements/impl/NamedElementImpl.java348
-rw-r--r--tests/org.eclipse.emf.diffmerge.tests.elements/src/org/eclipse/emf/diffmerge/tests/elements/Elements/impl/NodeImpl.java506
-rw-r--r--tests/org.eclipse.emf.diffmerge.tests.elements/src/org/eclipse/emf/diffmerge/tests/elements/Elements/impl/ReferencingNodeImpl.java336
-rw-r--r--tests/org.eclipse.emf.diffmerge.tests.elements/src/org/eclipse/emf/diffmerge/tests/elements/Elements/impl/RootImpl.java466
-rw-r--r--tests/org.eclipse.emf.diffmerge.tests.elements/src/org/eclipse/emf/diffmerge/tests/elements/Elements/impl/StrictElementImpl.java1294
-rw-r--r--tests/org.eclipse.emf.diffmerge.tests.elements/src/org/eclipse/emf/diffmerge/tests/elements/Elements/util/ElementsAdapterFactory.java516
-rw-r--r--tests/org.eclipse.emf.diffmerge.tests.elements/src/org/eclipse/emf/diffmerge/tests/elements/Elements/util/ElementsSwitch.java598
323 files changed, 26160 insertions, 26146 deletions
diff --git a/doc/org.eclipse.emf.diffmerge.doc/build.properties b/doc/org.eclipse.emf.diffmerge.doc/build.properties
index 2245b238..ae5ae4ba 100644
--- a/doc/org.eclipse.emf.diffmerge.doc/build.properties
+++ b/doc/org.eclipse.emf.diffmerge.doc/build.properties
@@ -1,13 +1,10 @@
-# ====================================================================
-# Copyright (c) 2006, 2015 THALES GLOBAL SERVICES.
+###############################################################################
+# Copyright (c) 2006-2017 Thales Global Services S.A.S.
# 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:
-# Thales - initial API and implementation
-# ====================================================================
+###############################################################################
#Properties file for org.eclipse.emf.diffmerge.doc
source.. = src/
output.. = bin/
diff --git a/doc/org.eclipse.emf.diffmerge.doc/plugin.properties b/doc/org.eclipse.emf.diffmerge.doc/plugin.properties
index 21eaccae..c1c9080e 100644
--- a/doc/org.eclipse.emf.diffmerge.doc/plugin.properties
+++ b/doc/org.eclipse.emf.diffmerge.doc/plugin.properties
@@ -1,13 +1,10 @@
-# ====================================================================
-# Copyright (c) 2006, 2015 THALES GLOBAL SERVICES.
+###############################################################################
+# Copyright (c) 2006-2017 Thales Global Services S.A.S.
# 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:
-# Thales - initial API and implementation
-# ====================================================================
+###############################################################################
#Properties file for org.polarsys.capella.diffmerge.doc
providerName = Eclipse Modeling Project
pluginName = EMF Diff/Merge Documentation \ No newline at end of file
diff --git a/doc/org.eclipse.emf.diffmerge.doc/plugin.xml b/doc/org.eclipse.emf.diffmerge.doc/plugin.xml
index d97992bc..414eda56 100644
--- a/doc/org.eclipse.emf.diffmerge.doc/plugin.xml
+++ b/doc/org.eclipse.emf.diffmerge.doc/plugin.xml
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<?eclipse version="3.4"?>
<!--
- Copyright (c) 2006, 2016 THALES GLOBAL SERVICES.
+ Copyright (c) 2006-2017 THALES GLOBAL SERVICES.
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
diff --git a/doc/org.eclipse.emf.diffmerge.doc/pom.xml b/doc/org.eclipse.emf.diffmerge.doc/pom.xml
index abcbf77a..a7a3e8bf 100644
--- a/doc/org.eclipse.emf.diffmerge.doc/pom.xml
+++ b/doc/org.eclipse.emf.diffmerge.doc/pom.xml
@@ -11,7 +11,7 @@
<properties>
<help.copyrightNotice>
- Copyright (c) 2006, 2016 THALES GLOBAL SERVICES.
+ Copyright (c) 2006-2017 THALES GLOBAL SERVICES.
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
diff --git a/doc/org.eclipse.emf.diffmerge.doc/toc.xml b/doc/org.eclipse.emf.diffmerge.doc/toc.xml
index 3b41b8ad..f8962d13 100644
--- a/doc/org.eclipse.emf.diffmerge.doc/toc.xml
+++ b/doc/org.eclipse.emf.diffmerge.doc/toc.xml
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<?NLS TYPE="org.eclipse.help.toc"?>
<!--
- Copyright (c) 2006, 2016 THALES GLOBAL SERVICES.
+ Copyright (c) 2006-2017 THALES GLOBAL SERVICES.
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
diff --git a/features/org.eclipse.emf.diffmerge.egit.feature/build.properties b/features/org.eclipse.emf.diffmerge.egit.feature/build.properties
index 26130ce6..e6f773a4 100644
--- a/features/org.eclipse.emf.diffmerge.egit.feature/build.properties
+++ b/features/org.eclipse.emf.diffmerge.egit.feature/build.properties
@@ -1,5 +1,5 @@
###############################################################################
-# Copyright (c) 2016 Thales Global Services S.A.S. and others.
+# Copyright (c) 2016-2017 Thales Global Services S.A.S. 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
diff --git a/features/org.eclipse.emf.diffmerge.feature/build.properties b/features/org.eclipse.emf.diffmerge.feature/build.properties
index a2a7b887..edbb5293 100644
--- a/features/org.eclipse.emf.diffmerge.feature/build.properties
+++ b/features/org.eclipse.emf.diffmerge.feature/build.properties
@@ -1,5 +1,5 @@
###############################################################################
-# Copyright (c) 2010-2016 Thales Global Services S.A.S.
+# Copyright (c) 2010-2017 Thales Global Services S.A.S.
# 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
diff --git a/features/org.eclipse.emf.diffmerge.sdk.feature/build.properties b/features/org.eclipse.emf.diffmerge.sdk.feature/build.properties
index a2a7b887..edbb5293 100644
--- a/features/org.eclipse.emf.diffmerge.sdk.feature/build.properties
+++ b/features/org.eclipse.emf.diffmerge.sdk.feature/build.properties
@@ -1,5 +1,5 @@
###############################################################################
-# Copyright (c) 2010-2016 Thales Global Services S.A.S.
+# Copyright (c) 2010-2017 Thales Global Services S.A.S.
# 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
diff --git a/features/org.eclipse.emf.diffmerge.svn.feature/build.properties b/features/org.eclipse.emf.diffmerge.svn.feature/build.properties
index 26130ce6..e6f773a4 100644
--- a/features/org.eclipse.emf.diffmerge.svn.feature/build.properties
+++ b/features/org.eclipse.emf.diffmerge.svn.feature/build.properties
@@ -1,5 +1,5 @@
###############################################################################
-# Copyright (c) 2016 Thales Global Services S.A.S. and others.
+# Copyright (c) 2016-2017 Thales Global Services S.A.S. 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
diff --git a/features/org.eclipse.emf.diffmerge.tests.feature/build.properties b/features/org.eclipse.emf.diffmerge.tests.feature/build.properties
index 3220299b..20393a24 100644
--- a/features/org.eclipse.emf.diffmerge.tests.feature/build.properties
+++ b/features/org.eclipse.emf.diffmerge.tests.feature/build.properties
@@ -1,5 +1,5 @@
###############################################################################
-# Copyright (c) 2010-2016 Thales Global Services S.A.S.
+# Copyright (c) 2010-2017 Thales Global Services S.A.S.
# 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
diff --git a/plugins/org.eclipse.emf.diffmerge.connector.core/build.properties b/plugins/org.eclipse.emf.diffmerge.connector.core/build.properties
index 6f76a7e1..f9fd2458 100644
--- a/plugins/org.eclipse.emf.diffmerge.connector.core/build.properties
+++ b/plugins/org.eclipse.emf.diffmerge.connector.core/build.properties
@@ -1,15 +1,15 @@
-###############################################################################
-# Copyright (c) 2015-2016 Intel Corporation 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
-###############################################################################
-source.. = src/
-output.. = bin/
-bin.includes = META-INF/,\
- .,\
- plugin.xml,\
- plugin.properties,\
- about.html
-src.includes = about.html
+###############################################################################
+# Copyright (c) 2015-2017 Intel Corporation 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
+###############################################################################
+source.. = src/
+output.. = bin/
+bin.includes = META-INF/,\
+ .,\
+ plugin.xml,\
+ plugin.properties,\
+ about.html
+src.includes = about.html
diff --git a/plugins/org.eclipse.emf.diffmerge.connector.core/plugin.properties b/plugins/org.eclipse.emf.diffmerge.connector.core/plugin.properties
index 609b0c55..739f9b7d 100644
--- a/plugins/org.eclipse.emf.diffmerge.connector.core/plugin.properties
+++ b/plugins/org.eclipse.emf.diffmerge.connector.core/plugin.properties
@@ -1,5 +1,5 @@
###############################################################################
-# Copyright (c) 2015-2016 Intel Corporation and others.
+# Copyright (c) 2015-2017 Intel Corporation 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
diff --git a/plugins/org.eclipse.emf.diffmerge.connector.core/plugin.xml b/plugins/org.eclipse.emf.diffmerge.connector.core/plugin.xml
index 5d12050d..e385b5e9 100644
--- a/plugins/org.eclipse.emf.diffmerge.connector.core/plugin.xml
+++ b/plugins/org.eclipse.emf.diffmerge.connector.core/plugin.xml
@@ -1,32 +1,32 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.4"?>
-<!--
- Copyright (c) 2015-2016 Intel Corporation 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:
- Stephane Bouchet (Intel Corporation) - initial API and implementation
- Olivier Constant (Thales Global Services) - tight integration
--->
-<plugin>
- <!-- Viewer for diffmerge to be usable with Team compare editor -->
- <extension point="org.eclipse.compare.contentMergeViewers">
- <viewer
- class="org.eclipse.emf.diffmerge.connector.core.ext.EMFDiffMergeCompareViewerCreator"
- id="org.eclipse.emf.diffmerge.compareviewer"
- label="%viewerLabel">
- </viewer>
- <contentTypeBinding
- contentTypeId="org.eclipse.emf.ecore.xmi" contentMergeViewerId="org.eclipse.emf.diffmerge.compareviewer">
- </contentTypeBinding>
- </extension>
- <!-- Support for revisions in local history -->
- <extension point="org.eclipse.emf.diffmerge.ui.modelComparisonContext">
- <scopeDefinition
- factory="org.eclipse.emf.diffmerge.connector.core.ext.LocalHistoryScopeDefinitionFactory">
- </scopeDefinition>
- </extension>
-</plugin>
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.4"?>
+<!--
+ Copyright (c) 2015-2017 Intel Corporation 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:
+ Stephane Bouchet (Intel Corporation) - initial API and implementation
+ Olivier Constant (Thales Global Services) - tight integration
+-->
+<plugin>
+ <!-- Viewer for diffmerge to be usable with Team compare editor -->
+ <extension point="org.eclipse.compare.contentMergeViewers">
+ <viewer
+ class="org.eclipse.emf.diffmerge.connector.core.ext.EMFDiffMergeCompareViewerCreator"
+ id="org.eclipse.emf.diffmerge.compareviewer"
+ label="%viewerLabel">
+ </viewer>
+ <contentTypeBinding
+ contentTypeId="org.eclipse.emf.ecore.xmi" contentMergeViewerId="org.eclipse.emf.diffmerge.compareviewer">
+ </contentTypeBinding>
+ </extension>
+ <!-- Support for revisions in local history -->
+ <extension point="org.eclipse.emf.diffmerge.ui.modelComparisonContext">
+ <scopeDefinition
+ factory="org.eclipse.emf.diffmerge.connector.core.ext.LocalHistoryScopeDefinitionFactory">
+ </scopeDefinition>
+ </extension>
+</plugin>
diff --git a/plugins/org.eclipse.emf.diffmerge.connector.core/src/org/eclipse/emf/diffmerge/connector/core/EMFDiffMergeCoreConnectorPlugin.java b/plugins/org.eclipse.emf.diffmerge.connector.core/src/org/eclipse/emf/diffmerge/connector/core/EMFDiffMergeCoreConnectorPlugin.java
index 8cd82af2..97ee1c03 100644
--- a/plugins/org.eclipse.emf.diffmerge.connector.core/src/org/eclipse/emf/diffmerge/connector/core/EMFDiffMergeCoreConnectorPlugin.java
+++ b/plugins/org.eclipse.emf.diffmerge.connector.core/src/org/eclipse/emf/diffmerge/connector/core/EMFDiffMergeCoreConnectorPlugin.java
@@ -1,93 +1,93 @@
-/*******************************************************************************
- * Copyright (c) 2015-2016 Intel Corporation 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:
- * Stephane Bouchet (Intel Corporation) - initial API and implementation
- * Olivier Constant (Thales Global Services) - tight integration
- *******************************************************************************/
-package org.eclipse.emf.diffmerge.connector.core;
-
-import org.eclipse.core.runtime.ILog;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.ui.plugin.AbstractUIPlugin;
-import org.osgi.framework.BundleContext;
-
-
-/**
- * The activator class for this plug-in.
- */
-public class EMFDiffMergeCoreConnectorPlugin extends AbstractUIPlugin {
-
- /** The key for retrieving the viewer label that is contributed by this plug-in,
- * as defined in __plugin.properties */
- private static final String VIEWER_LABEL_KEY = "%viewerLabel"; //$NON-NLS-1$
-
- /** The shared instance */
- private static EMFDiffMergeCoreConnectorPlugin __plugin;
-
-
- /**
- * Constructor
- */
- public EMFDiffMergeCoreConnectorPlugin() {
- // Nothing needed
- }
-
- /**
- * Return the shared instance of this activator
- * @return a non-null object
- */
- public static EMFDiffMergeCoreConnectorPlugin getDefault() {
- return __plugin;
- }
-
- /**
- * Return the ID of this plug-in according to MANIFEST.MF
- * @return a non-null string
- */
- public String getPluginId() {
- return getBundle().getSymbolicName();
- }
-
- /**
- * Return the viewer label that is contributed by the plug-in
- * @return a non-null string
- */
- public String getViewerLabel() {
- return Platform.getResourceString(getBundle(), VIEWER_LABEL_KEY);
- }
-
- /**
- * Log the given exception as an error
- * @param e_p a non-null exception
- */
- public void logError(Exception e_p) {
- ILog logger = getLog();
- logger.log(new Status(IStatus.ERROR, getBundle().getSymbolicName(), e_p.getMessage()));
- }
-
- /**
- * @see org.eclipse.ui.plugin.AbstractUIPlugin#start(org.osgi.framework.BundleContext)
- */
- @Override
- public void start(BundleContext context_p) throws Exception {
- super.start(context_p);
- __plugin = this;
- }
-
- /**
- * @see org.eclipse.ui.plugin.AbstractUIPlugin#stop(org.osgi.framework.BundleContext)
- */
- @Override
- public void stop(BundleContext context_p) throws Exception {
- __plugin = null;
- super.stop(context_p);
- }
-
-}
+/*******************************************************************************
+ * Copyright (c) 2015-2017 Intel Corporation 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:
+ * Stephane Bouchet (Intel Corporation) - initial API and implementation
+ * Olivier Constant (Thales Global Services) - tight integration
+ *******************************************************************************/
+package org.eclipse.emf.diffmerge.connector.core;
+
+import org.eclipse.core.runtime.ILog;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Platform;
+import org.eclipse.core.runtime.Status;
+import org.eclipse.ui.plugin.AbstractUIPlugin;
+import org.osgi.framework.BundleContext;
+
+
+/**
+ * The activator class for this plug-in.
+ */
+public class EMFDiffMergeCoreConnectorPlugin extends AbstractUIPlugin {
+
+ /** The key for retrieving the viewer label that is contributed by this plug-in,
+ * as defined in __plugin.properties */
+ private static final String VIEWER_LABEL_KEY = "%viewerLabel"; //$NON-NLS-1$
+
+ /** The shared instance */
+ private static EMFDiffMergeCoreConnectorPlugin __plugin;
+
+
+ /**
+ * Constructor
+ */
+ public EMFDiffMergeCoreConnectorPlugin() {
+ // Nothing needed
+ }
+
+ /**
+ * Return the shared instance of this activator
+ * @return a non-null object
+ */
+ public static EMFDiffMergeCoreConnectorPlugin getDefault() {
+ return __plugin;
+ }
+
+ /**
+ * Return the ID of this plug-in according to MANIFEST.MF
+ * @return a non-null string
+ */
+ public String getPluginId() {
+ return getBundle().getSymbolicName();
+ }
+
+ /**
+ * Return the viewer label that is contributed by the plug-in
+ * @return a non-null string
+ */
+ public String getViewerLabel() {
+ return Platform.getResourceString(getBundle(), VIEWER_LABEL_KEY);
+ }
+
+ /**
+ * Log the given exception as an error
+ * @param e_p a non-null exception
+ */
+ public void logError(Exception e_p) {
+ ILog logger = getLog();
+ logger.log(new Status(IStatus.ERROR, getBundle().getSymbolicName(), e_p.getMessage()));
+ }
+
+ /**
+ * @see org.eclipse.ui.plugin.AbstractUIPlugin#start(org.osgi.framework.BundleContext)
+ */
+ @Override
+ public void start(BundleContext context_p) throws Exception {
+ super.start(context_p);
+ __plugin = this;
+ }
+
+ /**
+ * @see org.eclipse.ui.plugin.AbstractUIPlugin#stop(org.osgi.framework.BundleContext)
+ */
+ @Override
+ public void stop(BundleContext context_p) throws Exception {
+ __plugin = null;
+ super.stop(context_p);
+ }
+
+}
diff --git a/plugins/org.eclipse.emf.diffmerge.connector.core/src/org/eclipse/emf/diffmerge/connector/core/Messages.java b/plugins/org.eclipse.emf.diffmerge.connector.core/src/org/eclipse/emf/diffmerge/connector/core/Messages.java
index 6393034d..467cf730 100644
--- a/plugins/org.eclipse.emf.diffmerge.connector.core/src/org/eclipse/emf/diffmerge/connector/core/Messages.java
+++ b/plugins/org.eclipse.emf.diffmerge.connector.core/src/org/eclipse/emf/diffmerge/connector/core/Messages.java
@@ -1,36 +1,36 @@
-/*******************************************************************************
- * Copyright (c) 2015-2016 Intel Corporation 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:
- * Stephane Bouchet (Intel Corporation) - initial API and implementation
- * Olivier Constant (Thales Global Services) - tight integration
- *******************************************************************************/
-package org.eclipse.emf.diffmerge.connector.core;
-
-import org.eclipse.osgi.util.NLS;
-
-
-/**
- * String management.
- */
-@SuppressWarnings("javadoc")
-public class Messages extends NLS {
- private static final String BUNDLE_NAME = "org.eclipse.emf.diffmerge.connector.core.messages"; //$NON-NLS-1$
- public static String LocalHistoryModelScopeDefinitionFactory_RevisionLabel;
- public static String AbstractRevisionScopeDefinitionFactory_Label;
- public static String TeamComparisonViewer_NoDiff_Message;
- public static String TeamComparisonViewer_NoDiff_Title;
-
- static {
- // initialize resource bundle
- NLS.initializeMessages(BUNDLE_NAME, Messages.class);
- }
-
- private Messages() {
- // Nothing needed
- }
-}
+/*******************************************************************************
+ * Copyright (c) 2015-2017 Intel Corporation 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:
+ * Stephane Bouchet (Intel Corporation) - initial API and implementation
+ * Olivier Constant (Thales Global Services) - tight integration
+ *******************************************************************************/
+package org.eclipse.emf.diffmerge.connector.core;
+
+import org.eclipse.osgi.util.NLS;
+
+
+/**
+ * String management.
+ */
+@SuppressWarnings("javadoc")
+public class Messages extends NLS {
+ private static final String BUNDLE_NAME = "org.eclipse.emf.diffmerge.connector.core.messages"; //$NON-NLS-1$
+ public static String LocalHistoryModelScopeDefinitionFactory_RevisionLabel;
+ public static String AbstractRevisionScopeDefinitionFactory_Label;
+ public static String TeamComparisonViewer_NoDiff_Message;
+ public static String TeamComparisonViewer_NoDiff_Title;
+
+ static {
+ // initialize resource bundle
+ NLS.initializeMessages(BUNDLE_NAME, Messages.class);
+ }
+
+ private Messages() {
+ // Nothing needed
+ }
+}
diff --git a/plugins/org.eclipse.emf.diffmerge.connector.core/src/org/eclipse/emf/diffmerge/connector/core/ext/AbstractRevisionScopeDefinitionFactory.java b/plugins/org.eclipse.emf.diffmerge.connector.core/src/org/eclipse/emf/diffmerge/connector/core/ext/AbstractRevisionScopeDefinitionFactory.java
index b3fc309d..090b8d96 100644
--- a/plugins/org.eclipse.emf.diffmerge.connector.core/src/org/eclipse/emf/diffmerge/connector/core/ext/AbstractRevisionScopeDefinitionFactory.java
+++ b/plugins/org.eclipse.emf.diffmerge.connector.core/src/org/eclipse/emf/diffmerge/connector/core/ext/AbstractRevisionScopeDefinitionFactory.java
@@ -1,261 +1,261 @@
-/**
- * Copyright (c) 2015-2016 Intel Corporation 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:
- * Stephane Bouchet (Intel Corporation) - initial API and implementation
- * Olivier Constant (Thales Global Services) - tight integration
- */
-package org.eclipse.emf.diffmerge.connector.core.ext;
-
-import java.io.InputStream;
-
-import org.eclipse.compare.ISharedDocumentAdapter;
-import org.eclipse.compare.ITypedElement;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IFileState;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.IStorage;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.emf.common.util.URI;
-import org.eclipse.emf.diffmerge.connector.core.EMFDiffMergeCoreConnectorPlugin;
-import org.eclipse.emf.diffmerge.connector.core.Messages;
-import org.eclipse.emf.ecore.resource.URIConverter;
-import org.eclipse.emf.ecore.resource.impl.ExtensibleURIConverterImpl;
-import org.eclipse.team.core.history.IFileRevision;
-import org.eclipse.team.core.variants.IResourceVariant;
-import org.eclipse.ui.IEditorInput;
-
-
-/**
- * A base scope definition factory for file revisions in histories.
- */
-public abstract class AbstractRevisionScopeDefinitionFactory
-extends AbstractURIConvertingScopeDefinitionFactory {
-
- /**
- * @see org.eclipse.emf.diffmerge.ui.specification.ext.URIScopeDefinitionFactory#convertToURI(java.lang.Object)
- */
- @Override
- protected URI convertToURI(Object entrypoint_p) {
- URI result = null;
- if (entrypoint_p instanceof ITypedElement) {
- IFileRevision revision = getRevision((ITypedElement)entrypoint_p);
- if (revision != null)
- try {
- result = getURIForRevision(revision);
- } catch (CoreException e) {
- EMFDiffMergeCoreConnectorPlugin.getDefault().getLog().log(
- new Status(IStatus.ERROR, EMFDiffMergeCoreConnectorPlugin.getDefault().getPluginId(),
- e.getMessage(), e));
- }
- }
- if (result == null)
- result = super.convertToURI(entrypoint_p);
- return result;
- }
-
- /**
- * @see org.eclipse.emf.diffmerge.ui.specification.ext.URIScopeDefinitionFactory#getLabel()
- */
- @Override
- public String getLabel() {
- return Messages.AbstractRevisionScopeDefinitionFactory_Label;
- }
-
- /**
- * @see org.eclipse.emf.diffmerge.ui.specification.ext.URIScopeDefinitionFactory#getLabelFor(java.lang.Object)
- */
- @Override
- protected String getLabelFor(Object entrypoint_p) {
- String result = null;
- if (entrypoint_p instanceof ITypedElement) {
- ITypedElement typedElement = (ITypedElement)entrypoint_p;
- IFileRevision revision = getRevision(typedElement);
- if (revision != null)
- result = getLabelForRevision(revision, typedElement);
- }
- if (result == null)
- result = super.getLabelFor(entrypoint_p);
- return result;
- }
-
- /**
- * Return a a user-friendly label for the given revision extracted from the given
- * typed element, if applicable
- * @param revision_p a non-null revision
- * @param entrypoint_p a non-null typed element
- * @return a potentially null string
- */
- protected String getLabelForRevision(IFileRevision revision_p, ITypedElement entrypoint_p) {
- return revision_p.getContentIdentifier();
- }
-
- /**
- * Return the file revision associated to the given typed element, if any
- * @param entrypoint_p a non-null typed element
- * @return a potentially null object
- */
- @SuppressWarnings("cast") // Compatibility with old versions of Eclipse
- protected IFileRevision getRevision(ITypedElement entrypoint_p) {
- IFileRevision result = null;
- // The Adapter pattern allows avoiding internal APIs
- if (entrypoint_p instanceof IAdaptable) {
- IAdaptable adaptable = (IAdaptable)entrypoint_p;
- ISharedDocumentAdapter adapter =
- (ISharedDocumentAdapter)adaptable.getAdapter(ISharedDocumentAdapter.class);
- if (adapter != null) {
- IEditorInput input = adapter.getDocumentKey(entrypoint_p);
- if (input != null)
- result = (IFileRevision)input.getAdapter(IFileRevision.class);
- }
- }
- return result;
- }
-
- /**
- * Return the storage associated to the given file revision, if any
- * @param revision_p a non-null revision
- * @return a potentially null object
- * @throws CoreException if an error occurs
- */
- protected IStorage getStorage(IFileRevision revision_p) throws CoreException {
- return revision_p.getStorage(new NullProgressMonitor());
- }
-
- /**
- * @see org.eclipse.emf.diffmerge.connector.core.ext.AbstractURIConvertingScopeDefinitionFactory#getStream(java.lang.Object)
- */
- @Override
- @SuppressWarnings("resource")
- protected InputStream getStream(Object entrypoint_p) throws CoreException {
- InputStream result = null;
- if (entrypoint_p instanceof ITypedElement) {
- ITypedElement typedElement = (ITypedElement)entrypoint_p;
- IFileRevision revision = getRevision(typedElement);
- if (revision != null) {
- IStorage storage = getStorage(revision);
- if (storage != null)
- result = storage.getContents();
- }
- }
- if (result == null)
- result = super.getStream(entrypoint_p);
- return result;
- }
-
- /**
- * @see org.eclipse.emf.diffmerge.connector.core.ext.AbstractURIConvertingScopeDefinitionFactory#getURIConverter(java.lang.Object)
- */
- @Override
- protected URIConverter getURIConverter(Object entrypoint_p) {
- URIConverter result = null;
- if (entrypoint_p instanceof ITypedElement) {
- IFileRevision revision = getRevision((ITypedElement)entrypoint_p);
- if (revision != null) {
- try {
- result = getURIConverterForRevision(revision);
- } catch (CoreException e) {
- EMFDiffMergeCoreConnectorPlugin.getDefault().logError(e);
- }
- }
- }
- return result;
- }
-
- /**
- * Return a URI converter for the given file revision, if possible.
- * Precondition: isApplicableToRevision(revision_p)
- * @param revision_p a non-null revision
- * @return a potentially null object
- * @throws CoreException if an error occurs
- */
- protected URIConverter getURIConverterForRevision(IFileRevision revision_p)
- throws CoreException {
- URIConverter result = null;
- URI uri = getURIForRevision(revision_p);
- if (uri != null) {
- String fullPath = uri.trimSegments(1).toString();
- final long timestamp = revision_p.getTimestamp();
- // Local history or current revision
- if (timestamp != -1)
- result = new LocalHistoryURIConverter(timestamp, fullPath);
- else
- result = new ExtensibleURIConverterImpl();
- }
- return result;
- }
-
- /**
- * Return a URI for the given file revision
- * @param revision_p a non-null file revision
- * @return a potentially null URI
- * @throws CoreException if an error occurs
- */
- protected URI getURIForRevision(IFileRevision revision_p)
- throws CoreException {
- URI result = null;
- IStorage storage = getStorage(revision_p);
- if (storage instanceof IFile) {
- // Local resource
- result = toPlatformURI((IFile) storage);
- } else if (storage instanceof IFileState) {
- // Local file revision (local history)
- IPath fullPath = storage.getFullPath();
- IResource res = ResourcesPlugin.getWorkspace().getRoot()
- .findMember(fullPath);
- if (res.exists() && res instanceof IFile)
- result = toPlatformURI((IFile) res);
- } else if (storage != null) {
- result = toFileURI(storage.getFullPath().toString());
- }
- return result;
- }
-
- /**
- * Return the resource variant associated with the given file revision, if any
- * @param revision_p a non-null revision
- * @return a potentially null object
- */
- @SuppressWarnings("cast") // Compatibility with old versions of Eclipse
- protected IResourceVariant getVariant(IFileRevision revision_p) {
- IResourceVariant result = null;
- if (revision_p instanceof IAdaptable)
- result = (IResourceVariant)((IAdaptable)revision_p).getAdapter(IResourceVariant.class);
- return result;
- }
-
- /**
- * @see org.eclipse.emf.diffmerge.ui.specification.ext.URIScopeDefinitionFactory#isApplicableTo(java.lang.Object)
- */
- @Override
- public boolean isApplicableTo(Object entrypoint_p) {
- boolean result = false;
- if (entrypoint_p instanceof ITypedElement) {
- ITypedElement typedElement = (ITypedElement)entrypoint_p;
- IFileRevision revision = getRevision(typedElement);
- if (revision != null)
- result = isApplicableToRevision(revision, typedElement);
- }
- return result;
- }
-
- /**
- * Return whether this scope definition factory is applicable to the given revision
- * extracted from the given typed element
- * @param revision_p a non-null revision
- * @param entrypoint_p a non-null typed element
- */
- protected abstract boolean isApplicableToRevision(IFileRevision revision_p,
- ITypedElement entrypoint_p);
-
+/**
+ * Copyright (c) 2015-2017 Intel Corporation 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:
+ * Stephane Bouchet (Intel Corporation) - initial API and implementation
+ * Olivier Constant (Thales Global Services) - tight integration
+ */
+package org.eclipse.emf.diffmerge.connector.core.ext;
+
+import java.io.InputStream;
+
+import org.eclipse.compare.ISharedDocumentAdapter;
+import org.eclipse.compare.ITypedElement;
+import org.eclipse.core.resources.IFile;
+import org.eclipse.core.resources.IFileState;
+import org.eclipse.core.resources.IResource;
+import org.eclipse.core.resources.IStorage;
+import org.eclipse.core.resources.ResourcesPlugin;
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.IAdaptable;
+import org.eclipse.core.runtime.IPath;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.NullProgressMonitor;
+import org.eclipse.core.runtime.Status;
+import org.eclipse.emf.common.util.URI;
+import org.eclipse.emf.diffmerge.connector.core.EMFDiffMergeCoreConnectorPlugin;
+import org.eclipse.emf.diffmerge.connector.core.Messages;
+import org.eclipse.emf.ecore.resource.URIConverter;
+import org.eclipse.emf.ecore.resource.impl.ExtensibleURIConverterImpl;
+import org.eclipse.team.core.history.IFileRevision;
+import org.eclipse.team.core.variants.IResourceVariant;
+import org.eclipse.ui.IEditorInput;
+
+
+/**
+ * A base scope definition factory for file revisions in histories.
+ */
+public abstract class AbstractRevisionScopeDefinitionFactory
+extends AbstractURIConvertingScopeDefinitionFactory {
+
+ /**
+ * @see org.eclipse.emf.diffmerge.ui.specification.ext.URIScopeDefinitionFactory#convertToURI(java.lang.Object)
+ */
+ @Override
+ protected URI convertToURI(Object entrypoint_p) {
+ URI result = null;
+ if (entrypoint_p instanceof ITypedElement) {
+ IFileRevision revision = getRevision((ITypedElement)entrypoint_p);
+ if (revision != null)
+ try {
+ result = getURIForRevision(revision);
+ } catch (CoreException e) {
+ EMFDiffMergeCoreConnectorPlugin.getDefault().getLog().log(
+ new Status(IStatus.ERROR, EMFDiffMergeCoreConnectorPlugin.getDefault().getPluginId(),
+ e.getMessage(), e));
+ }
+ }
+ if (result == null)
+ result = super.convertToURI(entrypoint_p);
+ return result;
+ }
+
+ /**
+ * @see org.eclipse.emf.diffmerge.ui.specification.ext.URIScopeDefinitionFactory#getLabel()
+ */
+ @Override
+ public String getLabel() {
+ return Messages.AbstractRevisionScopeDefinitionFactory_Label;
+ }
+
+ /**
+ * @see org.eclipse.emf.diffmerge.ui.specification.ext.URIScopeDefinitionFactory#getLabelFor(java.lang.Object)
+ */
+ @Override
+ protected String getLabelFor(Object entrypoint_p) {
+ String result = null;
+ if (entrypoint_p instanceof ITypedElement) {
+ ITypedElement typedElement = (ITypedElement)entrypoint_p;
+ IFileRevision revision = getRevision(typedElement);
+ if (revision != null)
+ result = getLabelForRevision(revision, typedElement);
+ }
+ if (result == null)
+ result = super.getLabelFor(entrypoint_p);
+ return result;
+ }
+
+ /**
+ * Return a a user-friendly label for the given revision extracted from the given
+ * typed element, if applicable
+ * @param revision_p a non-null revision
+ * @param entrypoint_p a non-null typed element
+ * @return a potentially null string
+ */
+ protected String getLabelForRevision(IFileRevision revision_p, ITypedElement entrypoint_p) {
+ return revision_p.getContentIdentifier();
+ }
+
+ /**
+ * Return the file revision associated to the given typed element, if any
+ * @param entrypoint_p a non-null typed element
+ * @return a potentially null object
+ */
+ @SuppressWarnings("cast") // Compatibility with old versions of Eclipse
+ protected IFileRevision getRevision(ITypedElement entrypoint_p) {
+ IFileRevision result = null;
+ // The Adapter pattern allows avoiding internal APIs
+ if (entrypoint_p instanceof IAdaptable) {
+ IAdaptable adaptable = (IAdaptable)entrypoint_p;
+ ISharedDocumentAdapter adapter =
+ (ISharedDocumentAdapter)adaptable.getAdapter(ISharedDocumentAdapter.class);
+ if (adapter != null) {
+ IEditorInput input = adapter.getDocumentKey(entrypoint_p);
+ if (input != null)
+ result = (IFileRevision)input.getAdapter(IFileRevision.class);
+ }
+ }
+ return result;
+ }
+
+ /**
+ * Return the storage associated to the given file revision, if any
+ * @param revision_p a non-null revision
+ * @return a potentially null object
+ * @throws CoreException if an error occurs
+ */
+ protected IStorage getStorage(IFileRevision revision_p) throws CoreException {
+ return revision_p.getStorage(new NullProgressMonitor());
+ }
+
+ /**
+ * @see org.eclipse.emf.diffmerge.connector.core.ext.AbstractURIConvertingScopeDefinitionFactory#getStream(java.lang.Object)
+ */
+ @Override
+ @SuppressWarnings("resource")
+ protected InputStream getStream(Object entrypoint_p) throws CoreException {
+ InputStream result = null;
+ if (entrypoint_p instanceof ITypedElement) {
+ ITypedElement typedElement = (ITypedElement)entrypoint_p;
+ IFileRevision revision = getRevision(typedElement);
+ if (revision != null) {
+ IStorage storage = getStorage(revision);
+ if (storage != null)
+ result = storage.getContents();
+ }
+ }
+ if (result == null)
+ result = super.getStream(entrypoint_p);
+ return result;
+ }
+
+ /**
+ * @see org.eclipse.emf.diffmerge.connector.core.ext.AbstractURIConvertingScopeDefinitionFactory#getURIConverter(java.lang.Object)
+ */
+ @Override
+ protected URIConverter getURIConverter(Object entrypoint_p) {
+ URIConverter result = null;
+ if (entrypoint_p instanceof ITypedElement) {
+ IFileRevision revision = getRevision((ITypedElement)entrypoint_p);
+ if (revision != null) {
+ try {
+ result = getURIConverterForRevision(revision);
+ } catch (CoreException e) {
+ EMFDiffMergeCoreConnectorPlugin.getDefault().logError(e);
+ }
+ }
+ }
+ return result;
+ }
+
+ /**
+ * Return a URI converter for the given file revision, if possible.
+ * Precondition: isApplicableToRevision(revision_p)
+ * @param revision_p a non-null revision
+ * @return a potentially null object
+ * @throws CoreException if an error occurs
+ */
+ protected URIConverter getURIConverterForRevision(IFileRevision revision_p)
+ throws CoreException {
+ URIConverter result = null;
+ URI uri = getURIForRevision(revision_p);
+ if (uri != null) {
+ String fullPath = uri.trimSegments(1).toString();
+ final long timestamp = revision_p.getTimestamp();
+ // Local history or current revision
+ if (timestamp != -1)
+ result = new LocalHistoryURIConverter(timestamp, fullPath);
+ else
+ result = new ExtensibleURIConverterImpl();
+ }
+ return result;
+ }
+
+ /**
+ * Return a URI for the given file revision
+ * @param revision_p a non-null file revision
+ * @return a potentially null URI
+ * @throws CoreException if an error occurs
+ */
+ protected URI getURIForRevision(IFileRevision revision_p)
+ throws CoreException {
+ URI result = null;
+ IStorage storage = getStorage(revision_p);
+ if (storage instanceof IFile) {
+ // Local resource
+ result = toPlatformURI((IFile) storage);
+ } else if (storage instanceof IFileState) {
+ // Local file revision (local history)
+ IPath fullPath = storage.getFullPath();
+ IResource res = ResourcesPlugin.getWorkspace().getRoot()
+ .findMember(fullPath);
+ if (res.exists() && res instanceof IFile)
+ result = toPlatformURI((IFile) res);
+ } else if (storage != null) {
+ result = toFileURI(storage.getFullPath().toString());
+ }
+ return result;
+ }
+
+ /**
+ * Return the resource variant associated with the given file revision, if any
+ * @param revision_p a non-null revision
+ * @return a potentially null object
+ */
+ @SuppressWarnings("cast") // Compatibility with old versions of Eclipse
+ protected IResourceVariant getVariant(IFileRevision revision_p) {
+ IResourceVariant result = null;
+ if (revision_p instanceof IAdaptable)
+ result = (IResourceVariant)((IAdaptable)revision_p).getAdapter(IResourceVariant.class);
+ return result;
+ }
+
+ /**
+ * @see org.eclipse.emf.diffmerge.ui.specification.ext.URIScopeDefinitionFactory#isApplicableTo(java.lang.Object)
+ */
+ @Override
+ public boolean isApplicableTo(Object entrypoint_p) {
+ boolean result = false;
+ if (entrypoint_p instanceof ITypedElement) {
+ ITypedElement typedElement = (ITypedElement)entrypoint_p;
+ IFileRevision revision = getRevision(typedElement);
+ if (revision != null)
+ result = isApplicableToRevision(revision, typedElement);
+ }
+ return result;
+ }
+
+ /**
+ * Return whether this scope definition factory is applicable to the given revision
+ * extracted from the given typed element
+ * @param revision_p a non-null revision
+ * @param entrypoint_p a non-null typed element
+ */
+ protected abstract boolean isApplicableToRevision(IFileRevision revision_p,
+ ITypedElement entrypoint_p);
+
} \ No newline at end of file
diff --git a/plugins/org.eclipse.emf.diffmerge.connector.core/src/org/eclipse/emf/diffmerge/connector/core/ext/AbstractURIConvertingScopeDefinitionFactory.java b/plugins/org.eclipse.emf.diffmerge.connector.core/src/org/eclipse/emf/diffmerge/connector/core/ext/AbstractURIConvertingScopeDefinitionFactory.java
index 4032e880..95ce3190 100644
--- a/plugins/org.eclipse.emf.diffmerge.connector.core/src/org/eclipse/emf/diffmerge/connector/core/ext/AbstractURIConvertingScopeDefinitionFactory.java
+++ b/plugins/org.eclipse.emf.diffmerge.connector.core/src/org/eclipse/emf/diffmerge/connector/core/ext/AbstractURIConvertingScopeDefinitionFactory.java
@@ -1,111 +1,111 @@
-/**
- * Copyright (c) 2015-2016 Intel Corporation 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:
- * Stephane Bouchet (Intel Corporation) - initial API and implementation
- * Olivier Constant (Thales Global Services) - tight integration
- */
-package org.eclipse.emf.diffmerge.connector.core.ext;
-
-import java.io.InputStream;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.List;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.emf.common.util.URI;
-import org.eclipse.emf.diffmerge.connector.core.EMFDiffMergeCoreConnectorPlugin;
-import org.eclipse.emf.diffmerge.ui.EMFDiffMergeUIPlugin;
-import org.eclipse.emf.diffmerge.ui.setup.ComparisonSetupManager;
-import org.eclipse.emf.diffmerge.ui.specification.IModelScopeDefinition;
-import org.eclipse.emf.diffmerge.ui.specification.IModelScopeDefinitionFactory;
-import org.eclipse.emf.diffmerge.ui.specification.ext.URIScopeDefinitionFactory;
-import org.eclipse.emf.ecore.resource.URIConverter;
-
-
-/**
- * A base scope definition factory for scopes that require a URIConverter.
- * It converts the scope entry point into a URI and looks for another factory that can handle
- * the URI. The scope definition obtained through that factory is wrapped into a dedicated
- * scope definition that alters its behavior through a URIConverter.
- */
-public abstract class AbstractURIConvertingScopeDefinitionFactory extends URIScopeDefinitionFactory {
-
- /**
- * @see org.eclipse.emf.diffmerge.ui.specification.ext.URIScopeDefinitionFactory#createScopeDefinition(java.lang.Object, java.lang.String, boolean)
- */
- @Override
- public IModelScopeDefinition createScopeDefinition(
- Object entrypoint_p, String label_p, boolean editable_p) {
- URIConvertingScopeDefinition result = null;
- try {
- URI uri = convertToURI(entrypoint_p);
- URIConverter uriConverter = getURIConverter(entrypoint_p);
- if (uri != null && uriConverter != null) {
- // Get scope definition factory for refined URI
- ComparisonSetupManager setupManager = EMFDiffMergeUIPlugin.getDefault().getSetupManager();
- List<IModelScopeDefinitionFactory> factories = setupManager.getApplicableModelScopeFactories(uri);
- factories = new ArrayList<IModelScopeDefinitionFactory>(factories);
- factories.remove(this); // The factory must be different from this one (the receiver)
- if (!factories.isEmpty()) {
- IModelScopeDefinitionFactory factory = factories.get(0);
- // Create scope definition and wrap it in a revision scope definition
- String label = (label_p != null) ? label_p : getLabelFor(entrypoint_p);
- if (label == null)
- label = uri.toString();
- IModelScopeDefinition scopeDefinition = factory.createScopeDefinition(uri, label, editable_p);
- if (scopeDefinition != null) {
- boolean editable = isScopeEditable(entrypoint_p);
- result = new URIConvertingScopeDefinition(scopeDefinition, uriConverter, editable);
- result.setStream(getStream(entrypoint_p));
- }
- }
- }
- } catch (Exception e) {
- EMFDiffMergeCoreConnectorPlugin.getDefault().logError(e);
- }
- return result;
- }
-
- /**
- * @see org.eclipse.emf.diffmerge.ui.specification.AbstractScopeDefinitionFactory#getOverridenClasses()
- */
- @Override
- public Collection<? extends Class<?>> getOverridenClasses() {
- return Collections.singleton(URIScopeDefinitionFactory.class);
- }
-
- /**
- * Return an input stream for the given scope entry point, if applicable and relevant.
- * This is relevant in the case where the returned input stream is not equivalent to
- * the one that would be created via the URI Converter when loading resources.
- * @param entrypoint_p a potentially null object
- * @return a potentially null stream
- * @throws CoreException if the stream could not be retrieved
- */
- protected InputStream getStream(Object entrypoint_p) throws CoreException {
- return null;
- }
-
- /**
- * Return a URI converter for the given scope entry point, if possible.
- * Precondition: isApplicableTo(entrypoint_p)
- * @param entrypoint_p a non-null object
- * @return a potentially null object
- */
- protected abstract URIConverter getURIConverter(Object entrypoint_p);
-
- /**
- * Return whether the scope generated for the given entry point will be editable
- * @param entrypoint_p a non-null object
- */
- protected boolean isScopeEditable(Object entrypoint_p) {
- return false;
- }
-
+/**
+ * Copyright (c) 2015-2017 Intel Corporation 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:
+ * Stephane Bouchet (Intel Corporation) - initial API and implementation
+ * Olivier Constant (Thales Global Services) - tight integration
+ */
+package org.eclipse.emf.diffmerge.connector.core.ext;
+
+import java.io.InputStream;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.List;
+
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.emf.common.util.URI;
+import org.eclipse.emf.diffmerge.connector.core.EMFDiffMergeCoreConnectorPlugin;
+import org.eclipse.emf.diffmerge.ui.EMFDiffMergeUIPlugin;
+import org.eclipse.emf.diffmerge.ui.setup.ComparisonSetupManager;
+import org.eclipse.emf.diffmerge.ui.specification.IModelScopeDefinition;
+import org.eclipse.emf.diffmerge.ui.specification.IModelScopeDefinitionFactory;
+import org.eclipse.emf.diffmerge.ui.specification.ext.URIScopeDefinitionFactory;
+import org.eclipse.emf.ecore.resource.URIConverter;
+
+
+/**
+ * A base scope definition factory for scopes that require a URIConverter.
+ * It converts the scope entry point into a URI and looks for another factory that can handle
+ * the URI. The scope definition obtained through that factory is wrapped into a dedicated
+ * scope definition that alters its behavior through a URIConverter.
+ */
+public abstract class AbstractURIConvertingScopeDefinitionFactory extends URIScopeDefinitionFactory {
+
+ /**
+ * @see org.eclipse.emf.diffmerge.ui.specification.ext.URIScopeDefinitionFactory#createScopeDefinition(java.lang.Object, java.lang.String, boolean)
+ */
+ @Override
+ public IModelScopeDefinition createScopeDefinition(
+ Object entrypoint_p, String label_p, boolean editable_p) {
+ URIConvertingScopeDefinition result = null;
+ try {
+ URI uri = convertToURI(entrypoint_p);
+ URIConverter uriConverter = getURIConverter(entrypoint_p);
+ if (uri != null && uriConverter != null) {
+ // Get scope definition factory for refined URI
+ ComparisonSetupManager setupManager = EMFDiffMergeUIPlugin.getDefault().getSetupManager();
+ List<IModelScopeDefinitionFactory> factories = setupManager.getApplicableModelScopeFactories(uri);
+ factories = new ArrayList<IModelScopeDefinitionFactory>(factories);
+ factories.remove(this); // The factory must be different from this one (the receiver)
+ if (!factories.isEmpty()) {
+ IModelScopeDefinitionFactory factory = factories.get(0);
+ // Create scope definition and wrap it in a revision scope definition
+ String label = (label_p != null) ? label_p : getLabelFor(entrypoint_p);
+ if (label == null)
+ label = uri.toString();
+ IModelScopeDefinition scopeDefinition = factory.createScopeDefinition(uri, label, editable_p);
+ if (scopeDefinition != null) {
+ boolean editable = isScopeEditable(entrypoint_p);
+ result = new URIConvertingScopeDefinition(scopeDefinition, uriConverter, editable);
+ result.setStream(getStream(entrypoint_p));
+ }
+ }
+ }
+ } catch (Exception e) {
+ EMFDiffMergeCoreConnectorPlugin.getDefault().logError(e);
+ }
+ return result;
+ }
+
+ /**
+ * @see org.eclipse.emf.diffmerge.ui.specification.AbstractScopeDefinitionFactory#getOverridenClasses()
+ */
+ @Override
+ public Collection<? extends Class<?>> getOverridenClasses() {
+ return Collections.singleton(URIScopeDefinitionFactory.class);
+ }
+
+ /**
+ * Return an input stream for the given scope entry point, if applicable and relevant.
+ * This is relevant in the case where the returned input stream is not equivalent to
+ * the one that would be created via the URI Converter when loading resources.
+ * @param entrypoint_p a potentially null object
+ * @return a potentially null stream
+ * @throws CoreException if the stream could not be retrieved
+ */
+ protected InputStream getStream(Object entrypoint_p) throws CoreException {
+ return null;
+ }
+
+ /**
+ * Return a URI converter for the given scope entry point, if possible.
+ * Precondition: isApplicableTo(entrypoint_p)
+ * @param entrypoint_p a non-null object
+ * @return a potentially null object
+ */
+ protected abstract URIConverter getURIConverter(Object entrypoint_p);
+
+ /**
+ * Return whether the scope generated for the given entry point will be editable
+ * @param entrypoint_p a non-null object
+ */
+ protected boolean isScopeEditable(Object entrypoint_p) {
+ return false;
+ }
+
} \ No newline at end of file
diff --git a/plugins/org.eclipse.emf.diffmerge.connector.core/src/org/eclipse/emf/diffmerge/connector/core/ext/EMFDiffMergeCompareViewerCreator.java b/plugins/org.eclipse.emf.diffmerge.connector.core/src/org/eclipse/emf/diffmerge/connector/core/ext/EMFDiffMergeCompareViewerCreator.java
index 247d92ae..9d8e2ce1 100644
--- a/plugins/org.eclipse.emf.diffmerge.connector.core/src/org/eclipse/emf/diffmerge/connector/core/ext/EMFDiffMergeCompareViewerCreator.java
+++ b/plugins/org.eclipse.emf.diffmerge.connector.core/src/org/eclipse/emf/diffmerge/connector/core/ext/EMFDiffMergeCompareViewerCreator.java
@@ -1,32 +1,32 @@
-/**
- * Copyright (c) 2015-2016 Intel Corporation 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:
- * Stephane Bouchet (Intel Corporation) - initial API and implementation
- * Olivier Constant (Thales Global Services) - tight integration
- */
-package org.eclipse.emf.diffmerge.connector.core.ext;
-
-import org.eclipse.compare.CompareConfiguration;
-import org.eclipse.compare.IViewerCreator;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.swt.widgets.Composite;
-
-
-/**
- * A factory for model comparison viewers used by the Team mechanism through an extension point.
- */
-public class EMFDiffMergeCompareViewerCreator implements IViewerCreator {
-
- /**
- * @see org.eclipse.compare.IViewerCreator#createViewer(org.eclipse.swt.widgets.Composite, org.eclipse.compare.CompareConfiguration)
- */
- public Viewer createViewer(Composite parent_p, CompareConfiguration configuration_p) {
- return new TeamComparisonViewer(parent_p, configuration_p);
- }
-
-}
+/**
+ * Copyright (c) 2015-2017 Intel Corporation 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:
+ * Stephane Bouchet (Intel Corporation) - initial API and implementation
+ * Olivier Constant (Thales Global Services) - tight integration
+ */
+package org.eclipse.emf.diffmerge.connector.core.ext;
+
+import org.eclipse.compare.CompareConfiguration;
+import org.eclipse.compare.IViewerCreator;
+import org.eclipse.jface.viewers.Viewer;
+import org.eclipse.swt.widgets.Composite;
+
+
+/**
+ * A factory for model comparison viewers used by the Team mechanism through an extension point.
+ */
+public class EMFDiffMergeCompareViewerCreator implements IViewerCreator {
+
+ /**
+ * @see org.eclipse.compare.IViewerCreator#createViewer(org.eclipse.swt.widgets.Composite, org.eclipse.compare.CompareConfiguration)
+ */
+ public Viewer createViewer(Composite parent_p, CompareConfiguration configuration_p) {
+ return new TeamComparisonViewer(parent_p, configuration_p);
+ }
+
+}
diff --git a/plugins/org.eclipse.emf.diffmerge.connector.core/src/org/eclipse/emf/diffmerge/connector/core/ext/LocalHistoryScopeDefinitionFactory.java b/plugins/org.eclipse.emf.diffmerge.connector.core/src/org/eclipse/emf/diffmerge/connector/core/ext/LocalHistoryScopeDefinitionFactory.java
index aa4053ef..62cd5494 100644
--- a/plugins/org.eclipse.emf.diffmerge.connector.core/src/org/eclipse/emf/diffmerge/connector/core/ext/LocalHistoryScopeDefinitionFactory.java
+++ b/plugins/org.eclipse.emf.diffmerge.connector.core/src/org/eclipse/emf/diffmerge/connector/core/ext/LocalHistoryScopeDefinitionFactory.java
@@ -1,63 +1,63 @@
-/**
- * Copyright (c) 2015-2016 Intel Corporation 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:
- * Stephane Bouchet (Intel Corporation) - initial API and implementation
- * Olivier Constant (Thales Global Services) - tight integration
- */
-package org.eclipse.emf.diffmerge.connector.core.ext;
-
-import java.text.DateFormat;
-import java.util.Calendar;
-
-import org.eclipse.compare.ITypedElement;
-import org.eclipse.emf.diffmerge.connector.core.Messages;
-import org.eclipse.team.core.history.IFileRevision;
-import org.eclipse.team.core.variants.IResourceVariant;
-import org.eclipse.team.internal.core.history.LocalFileRevision;
-
-
-/**
- * A scope definition factory for file revisions in the Eclipse local history.
- */
-@SuppressWarnings("restriction") // Specific IFileRevision sub-types
-public class LocalHistoryScopeDefinitionFactory extends AbstractRevisionScopeDefinitionFactory {
-
- /**
- * @see org.eclipse.emf.diffmerge.connector.core.ext.AbstractRevisionScopeDefinitionFactory#getLabelForRevision(org.eclipse.team.core.history.IFileRevision, org.eclipse.compare.ITypedElement)
- */
- @Override
- protected String getLabelForRevision(IFileRevision revision_p, ITypedElement entrypoint_p) {
- String result;
- IResourceVariant variant = getVariant(revision_p);
- if (variant != null) {
- // Known variant
- result = variant.getContentIdentifier();
- } else if (revision_p.getTimestamp() != -1) {
- // Known time stamp
- Calendar fileRevDate = Calendar.getInstance();
- fileRevDate.setTimeInMillis(revision_p.getTimestamp());
- result = String.format(
- Messages.LocalHistoryModelScopeDefinitionFactory_RevisionLabel,
- revision_p.getName(),
- DateFormat.getInstance().format(fileRevDate.getTime()));
- } else {
- // No variant and unknown time stamp
- result = super.getLabelForRevision(revision_p, entrypoint_p);
- }
- return result;
- }
-
- /**
- * @see org.eclipse.emf.diffmerge.connector.core.ext.AbstractRevisionScopeDefinitionFactory#isApplicableToRevision(org.eclipse.team.core.history.IFileRevision, org.eclipse.compare.ITypedElement)
- */
- @Override
- protected boolean isApplicableToRevision(IFileRevision revision_p, ITypedElement entrypoint_p) {
- return revision_p instanceof LocalFileRevision;
- }
-
+/**
+ * Copyright (c) 2015-2017 Intel Corporation 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:
+ * Stephane Bouchet (Intel Corporation) - initial API and implementation
+ * Olivier Constant (Thales Global Services) - tight integration
+ */
+package org.eclipse.emf.diffmerge.connector.core.ext;
+
+import java.text.DateFormat;
+import java.util.Calendar;
+
+import org.eclipse.compare.ITypedElement;
+import org.eclipse.emf.diffmerge.connector.core.Messages;
+import org.eclipse.team.core.history.IFileRevision;
+import org.eclipse.team.core.variants.IResourceVariant;
+import org.eclipse.team.internal.core.history.LocalFileRevision;
+
+
+/**
+ * A scope definition factory for file revisions in the Eclipse local history.
+ */
+@SuppressWarnings("restriction") // Specific IFileRevision sub-types
+public class LocalHistoryScopeDefinitionFactory extends AbstractRevisionScopeDefinitionFactory {
+
+ /**
+ * @see org.eclipse.emf.diffmerge.connector.core.ext.AbstractRevisionScopeDefinitionFactory#getLabelForRevision(org.eclipse.team.core.history.IFileRevision, org.eclipse.compare.ITypedElement)
+ */
+ @Override
+ protected String getLabelForRevision(IFileRevision revision_p, ITypedElement entrypoint_p) {
+ String result;
+ IResourceVariant variant = getVariant(revision_p);
+ if (variant != null) {
+ // Known variant
+ result = variant.getContentIdentifier();
+ } else if (revision_p.getTimestamp() != -1) {
+ // Known time stamp
+ Calendar fileRevDate = Calendar.getInstance();
+ fileRevDate.setTimeInMillis(revision_p.getTimestamp());
+ result = String.format(
+ Messages.LocalHistoryModelScopeDefinitionFactory_RevisionLabel,
+ revision_p.getName(),
+ DateFormat.getInstance().format(fileRevDate.getTime()));
+ } else {
+ // No variant and unknown time stamp
+ result = super.getLabelForRevision(revision_p, entrypoint_p);
+ }
+ return result;
+ }
+
+ /**
+ * @see org.eclipse.emf.diffmerge.connector.core.ext.AbstractRevisionScopeDefinitionFactory#isApplicableToRevision(org.eclipse.team.core.history.IFileRevision, org.eclipse.compare.ITypedElement)
+ */
+ @Override
+ protected boolean isApplicableToRevision(IFileRevision revision_p, ITypedElement entrypoint_p) {
+ return revision_p instanceof LocalFileRevision;
+ }
+
} \ No newline at end of file
diff --git a/plugins/org.eclipse.emf.diffmerge.connector.core/src/org/eclipse/emf/diffmerge/connector/core/ext/LocalHistoryURIConverter.java b/plugins/org.eclipse.emf.diffmerge.connector.core/src/org/eclipse/emf/diffmerge/connector/core/ext/LocalHistoryURIConverter.java
index db8359f1..baffd632 100644
--- a/plugins/org.eclipse.emf.diffmerge.connector.core/src/org/eclipse/emf/diffmerge/connector/core/ext/LocalHistoryURIConverter.java
+++ b/plugins/org.eclipse.emf.diffmerge.connector.core/src/org/eclipse/emf/diffmerge/connector/core/ext/LocalHistoryURIConverter.java
@@ -1,99 +1,99 @@
-/**
- * Copyright (c) 2015-2016 Intel Corporation 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:
- * Stephane Bouchet (Intel Corporation) - initial API and implementation
- * Olivier Constant (Thales Global Services) - tight integration
- */
-package org.eclipse.emf.diffmerge.connector.core.ext;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.util.Map;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IFileState;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.emf.common.util.URI;
-import org.eclipse.emf.diffmerge.connector.core.EMFDiffMergeCoreConnectorPlugin;
-import org.eclipse.emf.ecore.resource.impl.ExtensibleURIConverterImpl;
-
-
-/**
- * A URI Converter for file revisions in the local history.
- */
-public class LocalHistoryURIConverter extends ExtensibleURIConverterImpl {
-
- /** The time stamp of the revision, >= 0 */
- private final long _timestamp;
-
- /** The non-null base path for URIs */
- private final String _basePath;
-
-
- /**
- * Constructor
- * @param timestamp_p a positive long defining the time stamp of the revision
- * @param basePath_p a non-null string representing the base path for URIs
- */
- public LocalHistoryURIConverter(long timestamp_p, String basePath_p) {
- _timestamp = timestamp_p;
- _basePath = basePath_p;
- }
-
- /**
- * @see org.eclipse.emf.ecore.resource.impl.ExtensibleURIConverterImpl#createInputStream(org.eclipse.emf.common.util.URI, java.util.Map)
- */
- @Override
- public InputStream createInputStream(URI uri_p, Map<?, ?> options_p) throws IOException {
- IPath fullPath;
- if (uri_p.isPlatform()) {
- fullPath = new Path(uri_p.toPlatformString(true));
- } else {
- fullPath = new Path(_basePath).append(uri_p.toString());
- }
- IFile targetFile = ResourcesPlugin.getWorkspace().getRoot().getFile(fullPath);
- if (targetFile != null && targetFile.exists()) {
- try {
- if (targetFile.getLocalTimeStamp() <= _timestamp)
- return targetFile.getContents();
- IFileState[] states = targetFile.getHistory(new NullProgressMonitor());
- for (IFileState iFileState: states) {
- if (iFileState.getModificationTime() <= _timestamp)
- return iFileState.getContents();
- }
- } catch (CoreException e) {
- EMFDiffMergeCoreConnectorPlugin.getDefault().getLog().log(new Status(
- IStatus.ERROR, EMFDiffMergeCoreConnectorPlugin.getDefault().getPluginId(), e.getMessage(), e));
- }
- }
- return super.createInputStream(uri_p, options_p);
- }
-
- /**
- * Return the base path for URIs
- * @return a non-null string
- */
- public String getBasePath() {
- return _basePath;
- }
-
- /**
- * Return the time stamp of the revision
- * @return a positive long
- */
- public long getTimestamp() {
- return _timestamp;
- }
-
+/**
+ * Copyright (c) 2015-2017 Intel Corporation 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:
+ * Stephane Bouchet (Intel Corporation) - initial API and implementation
+ * Olivier Constant (Thales Global Services) - tight integration
+ */
+package org.eclipse.emf.diffmerge.connector.core.ext;
+
+import java.io.IOException;
+import java.io.InputStream;
+import java.util.Map;
+
+import org.eclipse.core.resources.IFile;
+import org.eclipse.core.resources.IFileState;
+import org.eclipse.core.resources.ResourcesPlugin;
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.IPath;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.NullProgressMonitor;
+import org.eclipse.core.runtime.Path;
+import org.eclipse.core.runtime.Status;
+import org.eclipse.emf.common.util.URI;
+import org.eclipse.emf.diffmerge.connector.core.EMFDiffMergeCoreConnectorPlugin;
+import org.eclipse.emf.ecore.resource.impl.ExtensibleURIConverterImpl;
+
+
+/**
+ * A URI Converter for file revisions in the local history.
+ */
+public class LocalHistoryURIConverter extends ExtensibleURIConverterImpl {
+
+ /** The time stamp of the revision, >= 0 */
+ private final long _timestamp;
+
+ /** The non-null base path for URIs */
+ private final String _basePath;
+
+
+ /**
+ * Constructor
+ * @param timestamp_p a positive long defining the time stamp of the revision
+ * @param basePath_p a non-null string representing the base path for URIs
+ */
+ public LocalHistoryURIConverter(long timestamp_p, String basePath_p) {
+ _timestamp = timestamp_p;
+ _basePath = basePath_p;
+ }
+
+ /**
+ * @see org.eclipse.emf.ecore.resource.impl.ExtensibleURIConverterImpl#createInputStream(org.eclipse.emf.common.util.URI, java.util.Map)
+ */
+ @Override
+ public InputStream createInputStream(URI uri_p, Map<?, ?> options_p) throws IOException {
+ IPath fullPath;
+ if (uri_p.isPlatform()) {
+ fullPath = new Path(uri_p.toPlatformString(true));
+ } else {
+ fullPath = new Path(_basePath).append(uri_p.toString());
+ }
+ IFile targetFile = ResourcesPlugin.getWorkspace().getRoot().getFile(fullPath);
+ if (targetFile != null && targetFile.exists()) {
+ try {
+ if (targetFile.getLocalTimeStamp() <= _timestamp)
+ return targetFile.getContents();
+ IFileState[] states = targetFile.getHistory(new NullProgressMonitor());
+ for (IFileState iFileState: states) {
+ if (iFileState.getModificationTime() <= _timestamp)
+ return iFileState.getContents();
+ }
+ } catch (CoreException e) {
+ EMFDiffMergeCoreConnectorPlugin.getDefault().getLog().log(new Status(
+ IStatus.ERROR, EMFDiffMergeCoreConnectorPlugin.getDefault().getPluginId(), e.getMessage(), e));
+ }
+ }
+ return super.createInputStream(uri_p, options_p);
+ }
+
+ /**
+ * Return the base path for URIs
+ * @return a non-null string
+ */
+ public String getBasePath() {
+ return _basePath;
+ }
+
+ /**
+ * Return the time stamp of the revision
+ * @return a positive long
+ */
+ public long getTimestamp() {
+ return _timestamp;
+ }
+
} \ No newline at end of file
diff --git a/plugins/org.eclipse.emf.diffmerge.connector.core/src/org/eclipse/emf/diffmerge/connector/core/ext/TeamComparisonViewer.java b/plugins/org.eclipse.emf.diffmerge.connector.core/src/org/eclipse/emf/diffmerge/connector/core/ext/TeamComparisonViewer.java
index 9bd88d6b..fc91ee57 100644
--- a/plugins/org.eclipse.emf.diffmerge.connector.core/src/org/eclipse/emf/diffmerge/connector/core/ext/TeamComparisonViewer.java
+++ b/plugins/org.eclipse.emf.diffmerge.connector.core/src/org/eclipse/emf/diffmerge/connector/core/ext/TeamComparisonViewer.java
@@ -1,5 +1,5 @@
/**
- * Copyright (c) 2015-2016 Intel Corporation and others.
+ * Copyright (c) 2015-2017 Intel Corporation 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
diff --git a/plugins/org.eclipse.emf.diffmerge.connector.core/src/org/eclipse/emf/diffmerge/connector/core/ext/URIConvertingScopeDefinition.java b/plugins/org.eclipse.emf.diffmerge.connector.core/src/org/eclipse/emf/diffmerge/connector/core/ext/URIConvertingScopeDefinition.java
index 61db8e98..96665168 100644
--- a/plugins/org.eclipse.emf.diffmerge.connector.core/src/org/eclipse/emf/diffmerge/connector/core/ext/URIConvertingScopeDefinition.java
+++ b/plugins/org.eclipse.emf.diffmerge.connector.core/src/org/eclipse/emf/diffmerge/connector/core/ext/URIConvertingScopeDefinition.java
@@ -1,132 +1,132 @@
-/**
- * Copyright (c) 2015-2016 Intel Corporation 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:
- * Stephane Bouchet (Intel Corporation) - initial API and implementation
- * Olivier Constant (Thales Global Services) - tight integration
- */
-package org.eclipse.emf.diffmerge.connector.core.ext;
-
-import java.io.InputStream;
-
-import org.eclipse.emf.diffmerge.api.scopes.IEditableModelScope;
-import org.eclipse.emf.diffmerge.api.scopes.IPersistentModelScope;
-import org.eclipse.emf.diffmerge.impl.scopes.AbstractModelScope;
-import org.eclipse.emf.diffmerge.ui.specification.IModelScopeDefinition;
-import org.eclipse.emf.ecore.resource.Resource;
-import org.eclipse.emf.ecore.resource.ResourceSet;
-import org.eclipse.emf.ecore.resource.URIConverter;
-
-
-/**
- * A model scope definition that wraps a regular model scope definition and alters
- * its behavior through a given URI Converter.
- */
-public class URIConvertingScopeDefinition implements IModelScopeDefinition {
-
- /** The non-null wrapped model scope definition */
- protected final IModelScopeDefinition _wrapped;
-
- /** Whether the scope can be edited */
- private boolean _editable;
-
- /** The non-null URI converter */
- protected final URIConverter _uriConverter;
-
- /** The optional input stream for loading the scope */
- protected InputStream _loadingStream;
-
-
- /**
- * Constructor
- * @param wrapped_p a non-null model scope definition wrapped by this one
- * @param uriConverter_p a non-null URI converter for the resource set of the scope
- * @param isEditable_p whether the scope can be edited
- */
- public URIConvertingScopeDefinition(IModelScopeDefinition wrapped_p, URIConverter uriConverter_p,
- boolean isEditable_p) {
- _wrapped = wrapped_p;
- _uriConverter = uriConverter_p;
- _editable = isEditable_p;
- }
-
- /**
- * @see org.eclipse.emf.diffmerge.ui.specification.IModelScopeDefinition#createScope(java.lang.Object)
- */
- public IEditableModelScope createScope(Object context_p) {
- IEditableModelScope result;
- if (_editable)
- result = _wrapped.createScope(context_p); // Use the same context for editable contents
- else
- result = _wrapped.createScope(null); // Ignore context for a fresh resource set
- if (result instanceof AbstractModelScope)
- ((AbstractModelScope)result).setOriginator(_wrapped.getLabel());
- if (result instanceof IPersistentModelScope) {
- IPersistentModelScope casted = (IPersistentModelScope)result;
- if (_loadingStream != null && casted instanceof IPersistentModelScope.Editable)
- ((IPersistentModelScope.Editable)casted).setStream(_loadingStream);
- Resource holdingResource = casted.getHoldingResource();
- if (holdingResource != null) {
- ResourceSet rs = holdingResource.getResourceSet();
- if (rs != null)
- rs.setURIConverter(_uriConverter);
- }
- }
- return result;
- }
-
- /**
- * @see org.eclipse.emf.diffmerge.ui.specification.IModelScopeDefinition#getEntrypoint()
- */
- public Object getEntrypoint() {
- return _wrapped.getEntrypoint();
- }
-
- /**
- * @see org.eclipse.emf.diffmerge.ui.specification.IModelScopeDefinition#getLabel()
- */
- public String getLabel() {
- return _wrapped.getLabel();
- }
-
- /**
- * @see org.eclipse.emf.diffmerge.ui.specification.IModelScopeDefinition#getShortLabel()
- */
- public String getShortLabel() {
- return _wrapped.getShortLabel();
- }
-
- /**
- * @see org.eclipse.emf.diffmerge.ui.specification.IModelScopeDefinition#isEditable()
- */
- public boolean isEditable() {
- return _editable;
- }
-
- /**
- * @see org.eclipse.emf.diffmerge.ui.specification.IModelScopeDefinition#isEditableSettable()
- */
- public boolean isEditableSettable() {
- return false; // Imposed by SCM constraints
- }
-
- /**
- * @see org.eclipse.emf.diffmerge.ui.specification.IModelScopeDefinition#setEditable(boolean)
- */
- public void setEditable(boolean editable_p) {
- _editable = editable_p;
- }
-
- /**
- * Set an input stream for scope loading
- * @param stream_p a potentially null stream
- */
- public void setStream(InputStream stream_p) {
- _loadingStream = stream_p;
- }
-
-}
+/**
+ * Copyright (c) 2015-2017 Intel Corporation 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:
+ * Stephane Bouchet (Intel Corporation) - initial API and implementation
+ * Olivier Constant (Thales Global Services) - tight integration
+ */
+package org.eclipse.emf.diffmerge.connector.core.ext;
+
+import java.io.InputStream;
+
+import org.eclipse.emf.diffmerge.api.scopes.IEditableModelScope;
+import org.eclipse.emf.diffmerge.api.scopes.IPersistentModelScope;
+import org.eclipse.emf.diffmerge.impl.scopes.AbstractModelScope;
+import org.eclipse.emf.diffmerge.ui.specification.IModelScopeDefinition;
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.emf.ecore.resource.ResourceSet;
+import org.eclipse.emf.ecore.resource.URIConverter;
+
+
+/**
+ * A model scope definition that wraps a regular model scope definition and alters
+ * its behavior through a given URI Converter.
+ */
+public class URIConvertingScopeDefinition implements IModelScopeDefinition {
+
+ /** The non-null wrapped model scope definition */
+ protected final IModelScopeDefinition _wrapped;
+
+ /** Whether the scope can be edited */
+ private boolean _editable;
+
+ /** The non-null URI converter */
+ protected final URIConverter _uriConverter;
+
+ /** The optional input stream for loading the scope */
+ protected InputStream _loadingStream;
+
+
+ /**
+ * Constructor
+ * @param wrapped_p a non-null model scope definition wrapped by this one
+ * @param uriConverter_p a non-null URI converter for the resource set of the scope
+ * @param isEditable_p whether the scope can be edited
+ */
+ public URIConvertingScopeDefinition(IModelScopeDefinition wrapped_p, URIConverter uriConverter_p,
+ boolean isEditable_p) {
+ _wrapped = wrapped_p;
+ _uriConverter = uriConverter_p;
+ _editable = isEditable_p;
+ }
+
+ /**
+ * @see org.eclipse.emf.diffmerge.ui.specification.IModelScopeDefinition#createScope(java.lang.Object)
+ */
+ public IEditableModelScope createScope(Object context_p) {
+ IEditableModelScope result;
+ if (_editable)
+ result = _wrapped.createScope(context_p); // Use the same context for editable contents
+ else
+ result = _wrapped.createScope(null); // Ignore context for a fresh resource set
+ if (result instanceof AbstractModelScope)
+ ((AbstractModelScope)result).setOriginator(_wrapped.getLabel());
+ if (result instanceof IPersistentModelScope) {
+ IPersistentModelScope casted = (IPersistentModelScope)result;
+ if (_loadingStream != null && casted instanceof IPersistentModelScope.Editable)
+ ((IPersistentModelScope.Editable)casted).setStream(_loadingStream);
+ Resource holdingResource = casted.getHoldingResource();
+ if (holdingResource != null) {
+ ResourceSet rs = holdingResource.getResourceSet();
+ if (rs != null)
+ rs.setURIConverter(_uriConverter);
+ }
+ }
+ return result;
+ }
+
+ /**
+ * @see org.eclipse.emf.diffmerge.ui.specification.IModelScopeDefinition#getEntrypoint()
+ */
+ public Object getEntrypoint() {
+ return _wrapped.getEntrypoint();
+ }
+
+ /**
+ * @see org.eclipse.emf.diffmerge.ui.specification.IModelScopeDefinition#getLabel()
+ */
+ public String getLabel() {
+ return _wrapped.getLabel();
+ }
+
+ /**
+ * @see org.eclipse.emf.diffmerge.ui.specification.IModelScopeDefinition#getShortLabel()
+ */
+ public String getShortLabel() {
+ return _wrapped.getShortLabel();
+ }
+
+ /**
+ * @see org.eclipse.emf.diffmerge.ui.specification.IModelScopeDefinition#isEditable()
+ */
+ public boolean isEditable() {
+ return _editable;
+ }
+
+ /**
+ * @see org.eclipse.emf.diffmerge.ui.specification.IModelScopeDefinition#isEditableSettable()
+ */
+ public boolean isEditableSettable() {
+ return false; // Imposed by SCM constraints
+ }
+
+ /**
+ * @see org.eclipse.emf.diffmerge.ui.specification.IModelScopeDefinition#setEditable(boolean)
+ */
+ public void setEditable(boolean editable_p) {
+ _editable = editable_p;
+ }
+
+ /**
+ * Set an input stream for scope loading
+ * @param stream_p a potentially null stream
+ */
+ public void setStream(InputStream stream_p) {
+ _loadingStream = stream_p;
+ }
+
+}
diff --git a/plugins/org.eclipse.emf.diffmerge.connector.core/src/org/eclipse/emf/diffmerge/connector/core/messages.properties b/plugins/org.eclipse.emf.diffmerge.connector.core/src/org/eclipse/emf/diffmerge/connector/core/messages.properties
index 4bc73174..ecfc180e 100644
--- a/plugins/org.eclipse.emf.diffmerge.connector.core/src/org/eclipse/emf/diffmerge/connector/core/messages.properties
+++ b/plugins/org.eclipse.emf.diffmerge.connector.core/src/org/eclipse/emf/diffmerge/connector/core/messages.properties
@@ -1,11 +1,11 @@
-###############################################################################
-# Copyright (c) 2015-2016 Intel Corporation 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
-###############################################################################
-LocalHistoryModelScopeDefinitionFactory_RevisionLabel=Local history: %1$s %2$s
-AbstractRevisionScopeDefinitionFactory_Label=File revision in history
-TeamComparisonViewer_NoDiff_Message=There are no differences between the selected inputs.
-TeamComparisonViewer_NoDiff_Title=Compare
+###############################################################################
+# Copyright (c) 2015-2017 Intel Corporation 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
+###############################################################################
+LocalHistoryModelScopeDefinitionFactory_RevisionLabel=Local history: %1$s %2$s
+AbstractRevisionScopeDefinitionFactory_Label=File revision in history
+TeamComparisonViewer_NoDiff_Message=There are no differences between the selected inputs.
+TeamComparisonViewer_NoDiff_Title=Compare
diff --git a/plugins/org.eclipse.emf.diffmerge.connector.git/build.properties b/plugins/org.eclipse.emf.diffmerge.connector.git/build.properties
index 6f76a7e1..f9fd2458 100644
--- a/plugins/org.eclipse.emf.diffmerge.connector.git/build.properties
+++ b/plugins/org.eclipse.emf.diffmerge.connector.git/build.properties
@@ -1,15 +1,15 @@
-###############################################################################
-# Copyright (c) 2015-2016 Intel Corporation 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
-###############################################################################
-source.. = src/
-output.. = bin/
-bin.includes = META-INF/,\
- .,\
- plugin.xml,\
- plugin.properties,\
- about.html
-src.includes = about.html
+###############################################################################
+# Copyright (c) 2015-2017 Intel Corporation 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
+###############################################################################
+source.. = src/
+output.. = bin/
+bin.includes = META-INF/,\
+ .,\
+ plugin.xml,\
+ plugin.properties,\
+ about.html
+src.includes = about.html
diff --git a/plugins/org.eclipse.emf.diffmerge.connector.git/plugin.properties b/plugins/org.eclipse.emf.diffmerge.connector.git/plugin.properties
index 8dc1abb3..67689c50 100644
--- a/plugins/org.eclipse.emf.diffmerge.connector.git/plugin.properties
+++ b/plugins/org.eclipse.emf.diffmerge.connector.git/plugin.properties
@@ -1,5 +1,5 @@
###############################################################################
-# Copyright (c) 2015-2016 Intel Corporation and others.
+# Copyright (c) 2015-2017 Intel Corporation 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
diff --git a/plugins/org.eclipse.emf.diffmerge.connector.git/plugin.xml b/plugins/org.eclipse.emf.diffmerge.connector.git/plugin.xml
index d13c833f..2b40cd9c 100644
--- a/plugins/org.eclipse.emf.diffmerge.connector.git/plugin.xml
+++ b/plugins/org.eclipse.emf.diffmerge.connector.git/plugin.xml
@@ -1,25 +1,25 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.4"?>
-<!--
- Copyright (c) 2015-2016 Intel Corporation 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:
- Stephane Bouchet (Intel Corporation) - initial API and implementation
- Olivier Constant (Thales Global Services) - tight integration
--->
-<plugin>
- <extension point="org.eclipse.emf.diffmerge.ui.modelComparisonContext">
- <scopeDefinition
- factory="org.eclipse.emf.diffmerge.connector.git.ext.GitRevisionScopeDefinitionFactory">
- </scopeDefinition>
- </extension>
- <extension point="org.eclipse.emf.diffmerge.ui.modelComparisonContext">
- <scopeDefinition
- factory="org.eclipse.emf.diffmerge.connector.git.ext.GitIndexRevisionScopeDefinitionFactory">
- </scopeDefinition>
- </extension>
-</plugin>
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.4"?>
+<!--
+ Copyright (c) 2015-2017 Intel Corporation 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:
+ Stephane Bouchet (Intel Corporation) - initial API and implementation
+ Olivier Constant (Thales Global Services) - tight integration
+-->
+<plugin>
+ <extension point="org.eclipse.emf.diffmerge.ui.modelComparisonContext">
+ <scopeDefinition
+ factory="org.eclipse.emf.diffmerge.connector.git.ext.GitRevisionScopeDefinitionFactory">
+ </scopeDefinition>
+ </extension>
+ <extension point="org.eclipse.emf.diffmerge.ui.modelComparisonContext">
+ <scopeDefinition
+ factory="org.eclipse.emf.diffmerge.connector.git.ext.GitIndexRevisionScopeDefinitionFactory">
+ </scopeDefinition>
+ </extension>
+</plugin>
diff --git a/plugins/org.eclipse.emf.diffmerge.connector.git/src/org/eclipse/emf/diffmerge/connector/git/EMFDiffMergeGitConnectorPlugin.java b/plugins/org.eclipse.emf.diffmerge.connector.git/src/org/eclipse/emf/diffmerge/connector/git/EMFDiffMergeGitConnectorPlugin.java
index ecbf9cc4..b3766a17 100644
--- a/plugins/org.eclipse.emf.diffmerge.connector.git/src/org/eclipse/emf/diffmerge/connector/git/EMFDiffMergeGitConnectorPlugin.java
+++ b/plugins/org.eclipse.emf.diffmerge.connector.git/src/org/eclipse/emf/diffmerge/connector/git/EMFDiffMergeGitConnectorPlugin.java
@@ -1,68 +1,68 @@
-/*******************************************************************************
- * Copyright (c) 2015-2016 Intel Corporation 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:
- * Stephane Bouchet (Intel Corporation) - initial API and implementation
- * Olivier Constant (Thales Global Services) - tight integration
- *******************************************************************************/
-package org.eclipse.emf.diffmerge.connector.git;
-
-import org.eclipse.ui.plugin.AbstractUIPlugin;
-import org.osgi.framework.BundleContext;
-
-
-/**
- * The activator class for this plug-in.
- */
-public class EMFDiffMergeGitConnectorPlugin extends AbstractUIPlugin {
-
- /** The shared instance */
- private static EMFDiffMergeGitConnectorPlugin __plugin;
-
-
- /**
- * Constructor
- */
- public EMFDiffMergeGitConnectorPlugin() {
- // Nothing needed
- }
-
- /**
- * Return the shared instance of this activator
- * @return a non-null object
- */
- public static EMFDiffMergeGitConnectorPlugin getDefault() {
- return __plugin;
- }
-
- /**
- * Return the ID of this plug-in according to MANIFEST.MF
- * @return a non-null string
- */
- public String getPluginId() {
- return getBundle().getSymbolicName();
- }
-
- /**
- * @see org.eclipse.ui.plugin.AbstractUIPlugin#start(org.osgi.framework.BundleContext)
- */
- @Override
- public void start(BundleContext context_p) throws Exception {
- super.start(context_p);
- __plugin = this;
- }
-
- /**
- * @see org.eclipse.ui.plugin.AbstractUIPlugin#stop(org.osgi.framework.BundleContext)
- */
- @Override
- public void stop(BundleContext context_p) throws Exception {
- __plugin = null;
- super.stop(context_p);
- }
-
-}
+/*******************************************************************************
+ * Copyright (c) 2015-2017 Intel Corporation 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:
+ * Stephane Bouchet (Intel Corporation) - initial API and implementation
+ * Olivier Constant (Thales Global Services) - tight integration
+ *******************************************************************************/
+package org.eclipse.emf.diffmerge.connector.git;
+
+import org.eclipse.ui.plugin.AbstractUIPlugin;
+import org.osgi.framework.BundleContext;
+
+
+/**
+ * The activator class for this plug-in.
+ */
+public class EMFDiffMergeGitConnectorPlugin extends AbstractUIPlugin {
+
+ /** The shared instance */
+ private static EMFDiffMergeGitConnectorPlugin __plugin;
+
+
+ /**
+ * Constructor
+ */
+ public EMFDiffMergeGitConnectorPlugin() {
+ // Nothing needed
+ }
+
+ /**
+ * Return the shared instance of this activator
+ * @return a non-null object
+ */
+ public static EMFDiffMergeGitConnectorPlugin getDefault() {
+ return __plugin;
+ }
+
+ /**
+ * Return the ID of this plug-in according to MANIFEST.MF
+ * @return a non-null string
+ */
+ public String getPluginId() {
+ return getBundle().getSymbolicName();
+ }
+
+ /**
+ * @see org.eclipse.ui.plugin.AbstractUIPlugin#start(org.osgi.framework.BundleContext)
+ */
+ @Override
+ public void start(BundleContext context_p) throws Exception {
+ super.start(context_p);
+ __plugin = this;
+ }
+
+ /**
+ * @see org.eclipse.ui.plugin.AbstractUIPlugin#stop(org.osgi.framework.BundleContext)
+ */
+ @Override
+ public void stop(BundleContext context_p) throws Exception {
+ __plugin = null;
+ super.stop(context_p);
+ }
+
+}
diff --git a/plugins/org.eclipse.emf.diffmerge.connector.git/src/org/eclipse/emf/diffmerge/connector/git/Messages.java b/plugins/org.eclipse.emf.diffmerge.connector.git/src/org/eclipse/emf/diffmerge/connector/git/Messages.java
index 4f78c62f..d3c21169 100644
--- a/plugins/org.eclipse.emf.diffmerge.connector.git/src/org/eclipse/emf/diffmerge/connector/git/Messages.java
+++ b/plugins/org.eclipse.emf.diffmerge.connector.git/src/org/eclipse/emf/diffmerge/connector/git/Messages.java
@@ -1,43 +1,43 @@
-/*******************************************************************************
- * Copyright (c) 2015-2016 Intel Corporation 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:
- * Stephane Bouchet (Intel Corporation) - initial API and implementation
- * Olivier Constant (Thales Global Services) - tight integration
- *******************************************************************************/
-package org.eclipse.emf.diffmerge.connector.git;
-
-import org.eclipse.osgi.util.NLS;
-
-
-/**
- * String management.
- */
-@SuppressWarnings("javadoc")
-public class Messages extends NLS {
- private static final String BUNDLE_NAME = "org.eclipse.emf.diffmerge.connector.git.messages"; //$NON-NLS-1$
- public static String AbstractGitURIConverter_CannotFindResource;
- public static String GitHelper_NoConflictInfoFound;
- public static String GitHelper_NoRepoFound;
- public static String GitIndexRevisionScopeDefinitionFactory_LabelIndexEditable;
- public static String GitIndexRevisionScopeDefinitionFactory_LabelIndexReadOnly;
- public static String GitIndexRevisionScopeDefinitionFactory_LabelLocal;
-
- public static String GitRevisionScopeDefinitionFactory_LabelCommit;
- public static String GitRevisionScopeDefinitionFactory_LabelIndex;
- public static String GitRevisionScopeDefinitionFactory_LabelRemote;
- public static String GitRevisionScopeDefinitionFactory_LabelWorkspace;
-
- static {
- // initialize resource bundle
- NLS.initializeMessages(BUNDLE_NAME, Messages.class);
- }
-
- private Messages() {
- // Nothing needed
- }
-}
+/*******************************************************************************
+ * Copyright (c) 2015-2017 Intel Corporation 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:
+ * Stephane Bouchet (Intel Corporation) - initial API and implementation
+ * Olivier Constant (Thales Global Services) - tight integration
+ *******************************************************************************/
+package org.eclipse.emf.diffmerge.connector.git;
+
+import org.eclipse.osgi.util.NLS;
+
+
+/**
+ * String management.
+ */
+@SuppressWarnings("javadoc")
+public class Messages extends NLS {
+ private static final String BUNDLE_NAME = "org.eclipse.emf.diffmerge.connector.git.messages"; //$NON-NLS-1$
+ public static String AbstractGitURIConverter_CannotFindResource;
+ public static String GitHelper_NoConflictInfoFound;
+ public static String GitHelper_NoRepoFound;
+ public static String GitIndexRevisionScopeDefinitionFactory_LabelIndexEditable;
+ public static String GitIndexRevisionScopeDefinitionFactory_LabelIndexReadOnly;
+ public static String GitIndexRevisionScopeDefinitionFactory_LabelLocal;
+
+ public static String GitRevisionScopeDefinitionFactory_LabelCommit;
+ public static String GitRevisionScopeDefinitionFactory_LabelIndex;
+ public static String GitRevisionScopeDefinitionFactory_LabelRemote;
+ public static String GitRevisionScopeDefinitionFactory_LabelWorkspace;
+
+ static {
+ // initialize resource bundle
+ NLS.initializeMessages(BUNDLE_NAME, Messages.class);
+ }
+
+ private Messages() {
+ // Nothing needed
+ }
+}
diff --git a/plugins/org.eclipse.emf.diffmerge.connector.git/src/org/eclipse/emf/diffmerge/connector/git/ext/AbstractGitConflictURIConverter.java b/plugins/org.eclipse.emf.diffmerge.connector.git/src/org/eclipse/emf/diffmerge/connector/git/ext/AbstractGitConflictURIConverter.java
index c987d272..90854ec0 100644
--- a/plugins/org.eclipse.emf.diffmerge.connector.git/src/org/eclipse/emf/diffmerge/connector/git/ext/AbstractGitConflictURIConverter.java
+++ b/plugins/org.eclipse.emf.diffmerge.connector.git/src/org/eclipse/emf/diffmerge/connector/git/ext/AbstractGitConflictURIConverter.java
@@ -1,88 +1,88 @@
-/*******************************************************************************
- * Copyright (c) 2015-2016 Intel Corporation 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:
- * Stephane Bouchet (Intel Corporation) - initial API and implementation
- * Olivier Constant (Thales Global Services) - tight integration
- * Stephane Bouchet (Intel Corporation) - bug #496397
- *******************************************************************************/
-package org.eclipse.emf.diffmerge.connector.git.ext;
-
-import static org.eclipse.egit.core.internal.storage.GitFileRevision.inCommit;
-import static org.eclipse.egit.core.internal.storage.GitFileRevision.inIndex;
-
-import java.io.IOException;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.egit.core.RevUtils;
-import org.eclipse.egit.core.RevUtils.ConflictCommits;
-import org.eclipse.emf.diffmerge.connector.git.EMFDiffMergeGitConnectorPlugin;
-import org.eclipse.jgit.dircache.DirCacheEntry;
-import org.eclipse.jgit.lib.Repository;
-import org.eclipse.team.core.history.IFileRevision;
-
-
-/**
- * A URI Converter for file revisions in the Git index that can be used for conflict resolution.
- */
-@SuppressWarnings("restriction") // Specific EGit behaviors
-public abstract class AbstractGitConflictURIConverter extends AbstractGitURIConverter {
-
- /** One of (STAGE_2, STAGE_3) in DirCacheEntry that defines the role held in conflict resolution */
- protected final int _conflictRole;
-
- /** The path of the holding resource in conflict */
- protected final String _holdingResourcePath;
-
-
- /**
- * Constructor
- * @param repository_p a non-null Git repository
- * @param conflictRole_p one of (STAGE_2: "Ours", STAGE_3: "Theirs") in DirCacheEntry
- * that defines the role held in conflict resolution
- * @param holdingResourcePath_p the non-null path of the holding resource in conflict
- */
- public AbstractGitConflictURIConverter(Repository repository_p,
- int conflictRole_p, String holdingResourcePath_p) {
- super(repository_p);
- _conflictRole = conflictRole_p;
- _holdingResourcePath = holdingResourcePath_p;
- }
-
- /**
- * @see org.eclipse.emf.diffmerge.connector.git.ext.AbstractGitURIConverter#getGitFileRevision(java.lang.String)
- */
- @Override
- protected IFileRevision getGitFileRevision(String gitPath) {
- // Check if the file being loaded is conflicting locally and return the
- // expected version from the index
- try {
- if (GitHelper.INSTANCE.isConflicting(getRepository(), gitPath))
- return inIndex(getRepository(), gitPath, _conflictRole);
- ConflictCommits conflictCommits = RevUtils.getConflictCommits(
- getRepository(), _holdingResourcePath);
- // Current file not conflicting, but root resource is.
- if (DirCacheEntry.STAGE_2 == _conflictRole) {
- return inCommit(
- getRepository(), conflictCommits.getOurCommit(),gitPath, null);
- }
- // If Theirs, pick the git ancestor commitid for the current file.
- else if (DirCacheEntry.STAGE_3 == _conflictRole) {
- return inCommit(
- getRepository(), conflictCommits.getTheirCommit(), gitPath, null);
- }
- } catch (IOException e) {
- EMFDiffMergeGitConnectorPlugin.getDefault().getLog().log(new Status(
- IStatus.ERROR, EMFDiffMergeGitConnectorPlugin.getDefault().getPluginId(),
- e.getMessage(), e));
- }
- // Default goes to index
- return inIndex(getRepository(), gitPath);
- }
-
+/*******************************************************************************
+ * Copyright (c) 2015-2017 Intel Corporation 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:
+ * Stephane Bouchet (Intel Corporation) - initial API and implementation
+ * Olivier Constant (Thales Global Services) - tight integration
+ * Stephane Bouchet (Intel Corporation) - bug #496397
+ *******************************************************************************/
+package org.eclipse.emf.diffmerge.connector.git.ext;
+
+import static org.eclipse.egit.core.internal.storage.GitFileRevision.inCommit;
+import static org.eclipse.egit.core.internal.storage.GitFileRevision.inIndex;
+
+import java.io.IOException;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Status;
+import org.eclipse.egit.core.RevUtils;
+import org.eclipse.egit.core.RevUtils.ConflictCommits;
+import org.eclipse.emf.diffmerge.connector.git.EMFDiffMergeGitConnectorPlugin;
+import org.eclipse.jgit.dircache.DirCacheEntry;
+import org.eclipse.jgit.lib.Repository;
+import org.eclipse.team.core.history.IFileRevision;
+
+
+/**
+ * A URI Converter for file revisions in the Git index that can be used for conflict resolution.
+ */
+@SuppressWarnings("restriction") // Specific EGit behaviors
+public abstract class AbstractGitConflictURIConverter extends AbstractGitURIConverter {
+
+ /** One of (STAGE_2, STAGE_3) in DirCacheEntry that defines the role held in conflict resolution */
+ protected final int _conflictRole;
+
+ /** The path of the holding resource in conflict */
+ protected final String _holdingResourcePath;
+
+
+ /**
+ * Constructor
+ * @param repository_p a non-null Git repository
+ * @param conflictRole_p one of (STAGE_2: "Ours", STAGE_3: "Theirs") in DirCacheEntry
+ * that defines the role held in conflict resolution
+ * @param holdingResourcePath_p the non-null path of the holding resource in conflict
+ */
+ public AbstractGitConflictURIConverter(Repository repository_p,
+ int conflictRole_p, String holdingResourcePath_p) {
+ super(repository_p);
+ _conflictRole = conflictRole_p;
+ _holdingResourcePath = holdingResourcePath_p;
+ }
+
+ /**
+ * @see org.eclipse.emf.diffmerge.connector.git.ext.AbstractGitURIConverter#getGitFileRevision(java.lang.String)
+ */
+ @Override
+ protected IFileRevision getGitFileRevision(String gitPath) {
+ // Check if the file being loaded is conflicting locally and return the
+ // expected version from the index
+ try {
+ if (GitHelper.INSTANCE.isConflicting(getRepository(), gitPath))
+ return inIndex(getRepository(), gitPath, _conflictRole);
+ ConflictCommits conflictCommits = RevUtils.getConflictCommits(
+ getRepository(), _holdingResourcePath);
+ // Current file not conflicting, but root resource is.
+ if (DirCacheEntry.STAGE_2 == _conflictRole) {
+ return inCommit(
+ getRepository(), conflictCommits.getOurCommit(),gitPath, null);
+ }
+ // If Theirs, pick the git ancestor commitid for the current file.
+ else if (DirCacheEntry.STAGE_3 == _conflictRole) {
+ return inCommit(
+ getRepository(), conflictCommits.getTheirCommit(), gitPath, null);
+ }
+ } catch (IOException e) {
+ EMFDiffMergeGitConnectorPlugin.getDefault().getLog().log(new Status(
+ IStatus.ERROR, EMFDiffMergeGitConnectorPlugin.getDefault().getPluginId(),
+ e.getMessage(), e));
+ }
+ // Default goes to index
+ return inIndex(getRepository(), gitPath);
+ }
+
} \ No newline at end of file
diff --git a/plugins/org.eclipse.emf.diffmerge.connector.git/src/org/eclipse/emf/diffmerge/connector/git/ext/AbstractGitURIConverter.java b/plugins/org.eclipse.emf.diffmerge.connector.git/src/org/eclipse/emf/diffmerge/connector/git/ext/AbstractGitURIConverter.java
index f4454503..c622588e 100644
--- a/plugins/org.eclipse.emf.diffmerge.connector.git/src/org/eclipse/emf/diffmerge/connector/git/ext/AbstractGitURIConverter.java
+++ b/plugins/org.eclipse.emf.diffmerge.connector.git/src/org/eclipse/emf/diffmerge/connector/git/ext/AbstractGitURIConverter.java
@@ -1,126 +1,126 @@
-/*******************************************************************************
- * Copyright (c) 2015-2016 Intel Corporation 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:
- * Stephane Bouchet (Intel Corporation) - initial API and implementation
- * Olivier Constant (Thales Global Services) - tight integration
- *******************************************************************************/
-package org.eclipse.emf.diffmerge.connector.git.ext;
-
-import java.io.File;
-import java.io.IOException;
-import java.io.InputStream;
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.emf.common.util.URI;
-import org.eclipse.emf.diffmerge.connector.git.EMFDiffMergeGitConnectorPlugin;
-import org.eclipse.emf.diffmerge.connector.git.Messages;
-import org.eclipse.emf.ecore.resource.ContentHandler;
-import org.eclipse.emf.ecore.resource.URIHandler;
-import org.eclipse.emf.ecore.resource.impl.ExtensibleURIConverterImpl;
-import org.eclipse.jgit.lib.Repository;
-import org.eclipse.team.core.history.IFileRevision;
-
-
-/**
- * A base URI Converter for Git.
- */
-public abstract class AbstractGitURIConverter extends ExtensibleURIConverterImpl {
-
- /** The non-null Git repository */
- private final Repository _repository;
-
-
- /**
- * Constructor
- * @param repository_p a non-null Git repository
- */
- public AbstractGitURIConverter(Repository repository_p){
- super();
- _repository = repository_p;
- }
-
- /**
- * Constructor
- * @param uriHandlers_p a non-null list
- * @param contentHandlers_p a non-null list
- * @param repository_p a non-null Git repository
- */
- public AbstractGitURIConverter(List<URIHandler> uriHandlers_p,
- List<ContentHandler> contentHandlers_p, Repository repository_p) {
- super(uriHandlers_p, contentHandlers_p);
- _repository = repository_p;
- }
-
- /**
- * @see org.eclipse.emf.ecore.resource.impl.ExtensibleURIConverterImpl#createInputStream(org.eclipse.emf.common.util.URI, java.util.Map)
- */
- @Override
- public InputStream createInputStream(URI uri_p, Map<?, ?> options_p) throws IOException {
- Repository repo = _repository;
- if (repo != null && isSupportedURI(uri_p)) {
- // Try to locate the file locally
- String pathRepresentation = getURIPathRepresentation(uri_p);
- IPath newPath = new Path(repo.getWorkTree().getAbsolutePath()).append(pathRepresentation);
- File target = newPath.toFile();
- if (target != null && target.exists()) {
- try {
- String gitPath = pathRepresentation.substring(1);
- return getGitFileRevision(gitPath).getStorage(new NullProgressMonitor()).getContents();
- } catch (CoreException e) {
- EMFDiffMergeGitConnectorPlugin.getDefault().getLog().log(new Status(IStatus.ERROR,
- EMFDiffMergeGitConnectorPlugin.getDefault().getPluginId(), e.getMessage(), e));
- }
- } else {
- EMFDiffMergeGitConnectorPlugin.getDefault().getLog().log(new Status(IStatus.ERROR,
- EMFDiffMergeGitConnectorPlugin.getDefault().getPluginId(),
- String.format(Messages.AbstractGitURIConverter_CannotFindResource, newPath)));
- }
- }
- return super.createInputStream(uri_p, options_p);
- }
-
- /**
- * Return the file revision for the given path
- * @param gitPath_p a non-null string
- * @return a potentially null object
- */
- protected abstract IFileRevision getGitFileRevision(String gitPath_p);
-
- /**
- * Return the Git repository for this URIConverter
- * @return a non-null object
- */
- protected Repository getRepository() {
- return _repository;
- }
-
- /**
- * Return a representation of the given URI as a usable path
- * @param uri_p a non-null URI
- * @return a non-null string
- */
- protected String getURIPathRepresentation(URI uri_p) {
- return uri_p.devicePath();
- }
-
- /**
- * Return whether the given URI us supported
- * @param uri_p a non-null URI
- */
- protected boolean isSupportedURI(URI uri_p) {
- return GitHelper.INSTANCE.getGitSchemes().contains(uri_p.scheme());
- }
-
+/*******************************************************************************
+ * Copyright (c) 2015-2017 Intel Corporation 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:
+ * Stephane Bouchet (Intel Corporation) - initial API and implementation
+ * Olivier Constant (Thales Global Services) - tight integration
+ *******************************************************************************/
+package org.eclipse.emf.diffmerge.connector.git.ext;
+
+import java.io.File;
+import java.io.IOException;
+import java.io.InputStream;
+import java.util.List;
+import java.util.Map;
+
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.IPath;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.NullProgressMonitor;
+import org.eclipse.core.runtime.Path;
+import org.eclipse.core.runtime.Status;
+import org.eclipse.emf.common.util.URI;
+import org.eclipse.emf.diffmerge.connector.git.EMFDiffMergeGitConnectorPlugin;
+import org.eclipse.emf.diffmerge.connector.git.Messages;
+import org.eclipse.emf.ecore.resource.ContentHandler;
+import org.eclipse.emf.ecore.resource.URIHandler;
+import org.eclipse.emf.ecore.resource.impl.ExtensibleURIConverterImpl;
+import org.eclipse.jgit.lib.Repository;
+import org.eclipse.team.core.history.IFileRevision;
+
+
+/**
+ * A base URI Converter for Git.
+ */
+public abstract class AbstractGitURIConverter extends ExtensibleURIConverterImpl {
+
+ /** The non-null Git repository */
+ private final Repository _repository;
+
+
+ /**
+ * Constructor
+ * @param repository_p a non-null Git repository
+ */
+ public AbstractGitURIConverter(Repository repository_p){
+ super();
+ _repository = repository_p;
+ }
+
+ /**
+ * Constructor
+ * @param uriHandlers_p a non-null list
+ * @param contentHandlers_p a non-null list
+ * @param repository_p a non-null Git repository
+ */
+ public AbstractGitURIConverter(List<URIHandler> uriHandlers_p,
+ List<ContentHandler> contentHandlers_p, Repository repository_p) {
+ super(uriHandlers_p, contentHandlers_p);
+ _repository = repository_p;
+ }
+
+ /**
+ * @see org.eclipse.emf.ecore.resource.impl.ExtensibleURIConverterImpl#createInputStream(org.eclipse.emf.common.util.URI, java.util.Map)
+ */
+ @Override
+ public InputStream createInputStream(URI uri_p, Map<?, ?> options_p) throws IOException {
+ Repository repo = _repository;
+ if (repo != null && isSupportedURI(uri_p)) {
+ // Try to locate the file locally
+ String pathRepresentation = getURIPathRepresentation(uri_p);
+ IPath newPath = new Path(repo.getWorkTree().getAbsolutePath()).append(pathRepresentation);
+ File target = newPath.toFile();
+ if (target != null && target.exists()) {
+ try {
+ String gitPath = pathRepresentation.substring(1);
+ return getGitFileRevision(gitPath).getStorage(new NullProgressMonitor()).getContents();
+ } catch (CoreException e) {
+ EMFDiffMergeGitConnectorPlugin.getDefault().getLog().log(new Status(IStatus.ERROR,
+ EMFDiffMergeGitConnectorPlugin.getDefault().getPluginId(), e.getMessage(), e));
+ }
+ } else {
+ EMFDiffMergeGitConnectorPlugin.getDefault().getLog().log(new Status(IStatus.ERROR,
+ EMFDiffMergeGitConnectorPlugin.getDefault().getPluginId(),
+ String.format(Messages.AbstractGitURIConverter_CannotFindResource, newPath)));
+ }
+ }
+ return super.createInputStream(uri_p, options_p);
+ }
+
+ /**
+ * Return the file revision for the given path
+ * @param gitPath_p a non-null string
+ * @return a potentially null object
+ */
+ protected abstract IFileRevision getGitFileRevision(String gitPath_p);
+
+ /**
+ * Return the Git repository for this URIConverter
+ * @return a non-null object
+ */
+ protected Repository getRepository() {
+ return _repository;
+ }
+
+ /**
+ * Return a representation of the given URI as a usable path
+ * @param uri_p a non-null URI
+ * @return a non-null string
+ */
+ protected String getURIPathRepresentation(URI uri_p) {
+ return uri_p.devicePath();
+ }
+
+ /**
+ * Return whether the given URI us supported
+ * @param uri_p a non-null URI
+ */
+ protected boolean isSupportedURI(URI uri_p) {
+ return GitHelper.INSTANCE.getGitSchemes().contains(uri_p.scheme());
+ }
+
} \ No newline at end of file
diff --git a/plugins/org.eclipse.emf.diffmerge.connector.git/src/org/eclipse/emf/diffmerge/connector/git/ext/GitCommitURIConverter.java b/plugins/org.eclipse.emf.diffmerge.connector.git/src/org/eclipse/emf/diffmerge/connector/git/ext/GitCommitURIConverter.java
index 00358be2..02dbc027 100644
--- a/plugins/org.eclipse.emf.diffmerge.connector.git/src/org/eclipse/emf/diffmerge/connector/git/ext/GitCommitURIConverter.java
+++ b/plugins/org.eclipse.emf.diffmerge.connector.git/src/org/eclipse/emf/diffmerge/connector/git/ext/GitCommitURIConverter.java
@@ -1,73 +1,73 @@
-/*******************************************************************************
- * Copyright (c) 2015-2016 Intel Corporation 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:
- * Stephane Bouchet (Intel Corporation) - initial API and implementation
- * Olivier Constant (Thales Global Services) - tight integration
- *******************************************************************************/
-package org.eclipse.emf.diffmerge.connector.git.ext;
-
-import static org.eclipse.egit.core.internal.storage.GitFileRevision.inCommit;
-
-import java.util.List;
-
-import org.eclipse.emf.ecore.resource.ContentHandler;
-import org.eclipse.emf.ecore.resource.URIHandler;
-import org.eclipse.jgit.lib.Repository;
-import org.eclipse.jgit.revwalk.RevCommit;
-import org.eclipse.team.core.history.IFileRevision;
-
-
-/**
- * A URI Converter for file revisions in a given Git commit.
- */
-public class GitCommitURIConverter extends AbstractGitURIConverter {
-
- /** The non-null commit ID */
- private final RevCommit _commitId;
-
-
- /**
- * Constructor
- * @param commitId_p a non-null commit ID
- * @param repository_p a non-null Git repository
- */
- public GitCommitURIConverter(RevCommit commitId_p, Repository repository_p) {
- super(repository_p);
- _commitId = commitId_p;
- }
-
- /**
- * Constructor
- * @param uriHandlers_p a non-null list
- * @param contentHandlers_p a non-null list
- * @param commitId_p a non-null commit ID
- * @param repository_p a non-null Git repository
- */
- public GitCommitURIConverter(List<URIHandler> uriHandlers_p, List<ContentHandler> contentHandlers_p, RevCommit commitId_p, Repository repository_p) {
- super(uriHandlers_p, contentHandlers_p, repository_p);
- _commitId = commitId_p;
- }
-
- /**
- * Return the commit ID for this URI Converter
- * @return a non-null object
- */
- public RevCommit getCommitId() {
- return _commitId;
- }
-
- /**
- * @see org.eclipse.emf.diffmerge.connector.git.ext.AbstractGitURIConverter#getGitFileRevision(java.lang.String)
- */
- @Override
- @SuppressWarnings("restriction")
- protected IFileRevision getGitFileRevision(String gitPath_p) {
- return inCommit(getRepository(), _commitId, gitPath_p, null);
- }
-
+/*******************************************************************************
+ * Copyright (c) 2015-2017 Intel Corporation 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:
+ * Stephane Bouchet (Intel Corporation) - initial API and implementation
+ * Olivier Constant (Thales Global Services) - tight integration
+ *******************************************************************************/
+package org.eclipse.emf.diffmerge.connector.git.ext;
+
+import static org.eclipse.egit.core.internal.storage.GitFileRevision.inCommit;
+
+import java.util.List;
+
+import org.eclipse.emf.ecore.resource.ContentHandler;
+import org.eclipse.emf.ecore.resource.URIHandler;
+import org.eclipse.jgit.lib.Repository;
+import org.eclipse.jgit.revwalk.RevCommit;
+import org.eclipse.team.core.history.IFileRevision;
+
+
+/**
+ * A URI Converter for file revisions in a given Git commit.
+ */
+public class GitCommitURIConverter extends AbstractGitURIConverter {
+
+ /** The non-null commit ID */
+ private final RevCommit _commitId;
+
+
+ /**
+ * Constructor
+ * @param commitId_p a non-null commit ID
+ * @param repository_p a non-null Git repository
+ */
+ public GitCommitURIConverter(RevCommit commitId_p, Repository repository_p) {
+ super(repository_p);
+ _commitId = commitId_p;
+ }
+
+ /**
+ * Constructor
+ * @param uriHandlers_p a non-null list
+ * @param contentHandlers_p a non-null list
+ * @param commitId_p a non-null commit ID
+ * @param repository_p a non-null Git repository
+ */
+ public GitCommitURIConverter(List<URIHandler> uriHandlers_p, List<ContentHandler> contentHandlers_p, RevCommit commitId_p, Repository repository_p) {
+ super(uriHandlers_p, contentHandlers_p, repository_p);
+ _commitId = commitId_p;
+ }
+
+ /**
+ * Return the commit ID for this URI Converter
+ * @return a non-null object
+ */
+ public RevCommit getCommitId() {
+ return _commitId;
+ }
+
+ /**
+ * @see org.eclipse.emf.diffmerge.connector.git.ext.AbstractGitURIConverter#getGitFileRevision(java.lang.String)
+ */
+ @Override
+ @SuppressWarnings("restriction")
+ protected IFileRevision getGitFileRevision(String gitPath_p) {
+ return inCommit(getRepository(), _commitId, gitPath_p, null);
+ }
+
} \ No newline at end of file
diff --git a/plugins/org.eclipse.emf.diffmerge.connector.git/src/org/eclipse/emf/diffmerge/connector/git/ext/GitHelper.java b/plugins/org.eclipse.emf.diffmerge.connector.git/src/org/eclipse/emf/diffmerge/connector/git/ext/GitHelper.java
index 4c7a9603..29aa7ae6 100644
--- a/plugins/org.eclipse.emf.diffmerge.connector.git/src/org/eclipse/emf/diffmerge/connector/git/ext/GitHelper.java
+++ b/plugins/org.eclipse.emf.diffmerge.connector.git/src/org/eclipse/emf/diffmerge/connector/git/ext/GitHelper.java
@@ -1,193 +1,193 @@
-/*******************************************************************************
- * Copyright (c) 2015-2016 Intel Corporation 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:
- * Stephane Bouchet (Intel Corporation) - initial API and implementation
- * Olivier Constant (Thales Global Services) - tight integration
- * Stephane Bouchet (Intel Corporation) - bug #496397
- *******************************************************************************/
-package org.eclipse.emf.diffmerge.connector.git.ext;
-
-import java.io.IOException;
-import java.util.Arrays;
-import java.util.Collection;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.egit.core.Activator;
-import org.eclipse.egit.core.project.RepositoryMapping;
-import org.eclipse.egit.ui.internal.revision.LocalFileRevision;
-import org.eclipse.emf.diffmerge.connector.git.EMFDiffMergeGitConnectorPlugin;
-import org.eclipse.emf.diffmerge.connector.git.Messages;
-import org.eclipse.jgit.errors.NoWorkTreeException;
-import org.eclipse.jgit.lib.Repository;
-import org.eclipse.team.core.history.IFileRevision;
-
-
-/**
- * A helper for Git behaviors.
- */
-@SuppressWarnings("restriction") // Specific EGit behaviors
-public final class GitHelper {
-
- /** The singleton instance */
- public static final GitHelper INSTANCE = new GitHelper();
-
- /** Scheme for remote resources */
- private static final String REMOTE_SCHEME = "remote"; //$NON-NLS-1$
-
- /** Scheme for index revisions */
- private static final String INDEX_SCHEME = "index"; //$NON-NLS-1$
-
- /** Scheme for commit revisions */
- private static final String COMMIT_SCHEME = "commit"; //$NON-NLS-1$
-
- /** Post-scheme separator */
- private static final String SCHEME_SEP = ":/"; //$NON-NLS-1$
-
-
- /**
- * Constructor
- */
- protected GitHelper() {
- // Nothing needed
- }
-
- /**
- * Return all supported Git schemes
- * @return a non-null set
- */
- public Collection<String> getGitSchemes() {
- return Arrays.asList(getSchemeCommit(), getSchemeIndex(), getSchemeRemote());
- }
-
- /**
- * Return the Git repository for the given resource path, if any
- * @param path_p a non-null path
- * @return a potentially null object
- */
- public Repository getRepository(IPath path_p) {
- // First look directly for connected projects using the repository mapping
- if (RepositoryMapping.getMapping(path_p) != null)
- return RepositoryMapping.getMapping(path_p).getRepository();
- // Then iterate over known repositories.
- for (Repository repo: Activator.getDefault().getRepositoryCache().getAllRepositories()) {
- Path fullPath=new Path(repo.getWorkTree().toString().concat(path_p.makeAbsolute().toString()));
- if (fullPath.toFile().exists())
- return repo;
- }
- EMFDiffMergeGitConnectorPlugin.getDefault().getLog().log(new Status(IStatus.ERROR,
- EMFDiffMergeGitConnectorPlugin.getDefault().getPluginId(),
- "Cannot find Git repository for resource at: " + path_p)); //$NON-NLS-1$
- return null;
- }
-
- /**
- * Return the Git repository for the given revision
- * @param revision_p a potentially null revision
- * @return a potentially null object
- */
- public Repository getRepository(IFileRevision revision_p) {
- if (revision_p != null) {
- IPath revisionPath = new Path(revision_p.getURI().toString());
- if (!revisionPath.isAbsolute())
- return getRepository(revisionPath);
- else if (revision_p instanceof LocalFileRevision) {
- IFile file = ((LocalFileRevision)revision_p).getFile();
- return getRepository(file.getFullPath());
- }
- EMFDiffMergeGitConnectorPlugin.getDefault().getLog().log(new Status(IStatus.ERROR,
- EMFDiffMergeGitConnectorPlugin.getDefault().getPluginId(),
- String.format(Messages.GitHelper_NoRepoFound, revisionPath)));
- }
- return null;
- }
-
- /**
- * Return the scheme for commit revisions
- * @return a non-null string
- */
- public String getSchemeCommit() {
- return COMMIT_SCHEME;
- }
-
- /**
- * Return the scheme for index revisions
- * @return a non-null string
- */
- public String getSchemeIndex() {
- return INDEX_SCHEME;
- }
-
- /**
- * Return the scheme for remote revisions
- * @return a non-null string
- */
- public String getSchemeRemote() {
- return REMOTE_SCHEME;
- }
-
- /**
- * Return the separator that follows the scheme
- * @return a non-null string
- */
- public String getSchemeSeparator() {
- return SCHEME_SEP;
- }
-
- /**
- * Return whether there is a conflict on the given revision
- * @param revision_p a non-null revision
- */
- @SuppressWarnings("resource")
- public boolean isConflicting(IFileRevision revision_p)
- throws NoWorkTreeException, IOException {
- boolean result = false;
- Repository repo = getRepository(revision_p);
- if (repo != null)
- result = isConflicting(repo, revision_p);
- return result;
- }
-
- /**
- * Return whether there is a conflict on the given revision in the given repository
- * @param repository_p a non-null repository
- * @param revision_p a non-null file revision
- * @throws NoWorkTreeException if repository is bare
- * @throws IOException if a low-level reading problem occurred
- */
- public boolean isConflicting(Repository repository_p,
- IFileRevision revision_p) throws NoWorkTreeException, IOException {
- IPath revisionPath = new Path(revision_p.getURI().toString());
- if (!revisionPath.isAbsolute())
- return isConflicting(repository_p, revisionPath.toString());
- else if (revision_p instanceof LocalFileRevision) {
- IFile file = ((LocalFileRevision)revision_p).getFile();
- return isConflicting(repository_p, file.getFullPath().makeRelative().toString());
- }
- EMFDiffMergeGitConnectorPlugin.getDefault().getLog().log(new Status(IStatus.ERROR,
- EMFDiffMergeGitConnectorPlugin.getDefault().getPluginId(),
- String.format(Messages.GitHelper_NoConflictInfoFound, revisionPath)));
- return false;
- }
-
- /**
- * Return whether there is a conflict on the given path in the given repository
- * @param repository_p a non-null repository
- * @param path_p a non-null string
- * @throws NoWorkTreeException if repository is bare
- * @throws IOException if a low-level reading problem occurred
- */
- public boolean isConflicting(Repository repository_p, String path_p)
- throws NoWorkTreeException, IOException {
- return repository_p.readDirCache().getEntry(path_p).getStage() > 0;
- }
-
-}
+/*******************************************************************************
+ * Copyright (c) 2015-2017 Intel Corporation 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:
+ * Stephane Bouchet (Intel Corporation) - initial API and implementation
+ * Olivier Constant (Thales Global Services) - tight integration
+ * Stephane Bouchet (Intel Corporation) - bug #496397
+ *******************************************************************************/
+package org.eclipse.emf.diffmerge.connector.git.ext;
+
+import java.io.IOException;
+import java.util.Arrays;
+import java.util.Collection;
+
+import org.eclipse.core.resources.IFile;
+import org.eclipse.core.runtime.IPath;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Path;
+import org.eclipse.core.runtime.Status;
+import org.eclipse.egit.core.Activator;
+import org.eclipse.egit.core.project.RepositoryMapping;
+import org.eclipse.egit.ui.internal.revision.LocalFileRevision;
+import org.eclipse.emf.diffmerge.connector.git.EMFDiffMergeGitConnectorPlugin;
+import org.eclipse.emf.diffmerge.connector.git.Messages;
+import org.eclipse.jgit.errors.NoWorkTreeException;
+import org.eclipse.jgit.lib.Repository;
+import org.eclipse.team.core.history.IFileRevision;
+
+
+/**
+ * A helper for Git behaviors.
+ */
+@SuppressWarnings("restriction") // Specific EGit behaviors
+public final class GitHelper {
+
+ /** The singleton instance */
+ public static final GitHelper INSTANCE = new GitHelper();
+
+ /** Scheme for remote resources */
+ private static final String REMOTE_SCHEME = "remote"; //$NON-NLS-1$
+
+ /** Scheme for index revisions */
+ private static final String INDEX_SCHEME = "index"; //$NON-NLS-1$
+
+ /** Scheme for commit revisions */
+ private static final String COMMIT_SCHEME = "commit"; //$NON-NLS-1$
+
+ /** Post-scheme separator */
+ private static final String SCHEME_SEP = ":/"; //$NON-NLS-1$
+
+
+ /**
+ * Constructor
+ */
+ protected GitHelper() {
+ // Nothing needed
+ }
+
+ /**
+ * Return all supported Git schemes
+ * @return a non-null set
+ */
+ public Collection<String> getGitSchemes() {
+ return Arrays.asList(getSchemeCommit(), getSchemeIndex(), getSchemeRemote());
+ }
+
+ /**
+ * Return the Git repository for the given resource path, if any
+ * @param path_p a non-null path
+ * @return a potentially null object
+ */
+ public Repository getRepository(IPath path_p) {
+ // First look directly for connected projects using the repository mapping
+ if (RepositoryMapping.getMapping(path_p) != null)
+ return RepositoryMapping.getMapping(path_p).getRepository();
+ // Then iterate over known repositories.
+ for (Repository repo: Activator.getDefault().getRepositoryCache().getAllRepositories()) {
+ Path fullPath=new Path(repo.getWorkTree().toString().concat(path_p.makeAbsolute().toString()));
+ if (fullPath.toFile().exists())
+ return repo;
+ }
+ EMFDiffMergeGitConnectorPlugin.getDefault().getLog().log(new Status(IStatus.ERROR,
+ EMFDiffMergeGitConnectorPlugin.getDefault().getPluginId(),
+ "Cannot find Git repository for resource at: " + path_p)); //$NON-NLS-1$
+ return null;
+ }
+
+ /**
+ * Return the Git repository for the given revision
+ * @param revision_p a potentially null revision
+ * @return a potentially null object
+ */
+ public Repository getRepository(IFileRevision revision_p) {
+ if (revision_p != null) {
+ IPath revisionPath = new Path(revision_p.getURI().toString());
+ if (!revisionPath.isAbsolute())
+ return getRepository(revisionPath);
+ else if (revision_p instanceof LocalFileRevision) {
+ IFile file = ((LocalFileRevision)revision_p).getFile();
+ return getRepository(file.getFullPath());
+ }
+ EMFDiffMergeGitConnectorPlugin.getDefault().getLog().log(new Status(IStatus.ERROR,
+ EMFDiffMergeGitConnectorPlugin.getDefault().getPluginId(),
+ String.format(Messages.GitHelper_NoRepoFound, revisionPath)));
+ }
+ return null;
+ }
+
+ /**
+ * Return the scheme for commit revisions
+ * @return a non-null string
+ */
+ public String getSchemeCommit() {
+ return COMMIT_SCHEME;
+ }
+
+ /**
+ * Return the scheme for index revisions
+ * @return a non-null string
+ */
+ public String getSchemeIndex() {
+ return INDEX_SCHEME;
+ }
+
+ /**
+ * Return the scheme for remote revisions
+ * @return a non-null string
+ */
+ public String getSchemeRemote() {
+ return REMOTE_SCHEME;
+ }
+
+ /**
+ * Return the separator that follows the scheme
+ * @return a non-null string
+ */
+ public String getSchemeSeparator() {
+ return SCHEME_SEP;
+ }
+
+ /**
+ * Return whether there is a conflict on the given revision
+ * @param revision_p a non-null revision
+ */
+ @SuppressWarnings("resource")
+ public boolean isConflicting(IFileRevision revision_p)
+ throws NoWorkTreeException, IOException {
+ boolean result = false;
+ Repository repo = getRepository(revision_p);
+ if (repo != null)
+ result = isConflicting(repo, revision_p);
+ return result;
+ }
+
+ /**
+ * Return whether there is a conflict on the given revision in the given repository
+ * @param repository_p a non-null repository
+ * @param revision_p a non-null file revision
+ * @throws NoWorkTreeException if repository is bare
+ * @throws IOException if a low-level reading problem occurred
+ */
+ public boolean isConflicting(Repository repository_p,
+ IFileRevision revision_p) throws NoWorkTreeException, IOException {
+ IPath revisionPath = new Path(revision_p.getURI().toString());
+ if (!revisionPath.isAbsolute())
+ return isConflicting(repository_p, revisionPath.toString());
+ else if (revision_p instanceof LocalFileRevision) {
+ IFile file = ((LocalFileRevision)revision_p).getFile();
+ return isConflicting(repository_p, file.getFullPath().makeRelative().toString());
+ }
+ EMFDiffMergeGitConnectorPlugin.getDefault().getLog().log(new Status(IStatus.ERROR,
+ EMFDiffMergeGitConnectorPlugin.getDefault().getPluginId(),
+ String.format(Messages.GitHelper_NoConflictInfoFound, revisionPath)));
+ return false;
+ }
+
+ /**
+ * Return whether there is a conflict on the given path in the given repository
+ * @param repository_p a non-null repository
+ * @param path_p a non-null string
+ * @throws NoWorkTreeException if repository is bare
+ * @throws IOException if a low-level reading problem occurred
+ */
+ public boolean isConflicting(Repository repository_p, String path_p)
+ throws NoWorkTreeException, IOException {
+ return repository_p.readDirCache().getEntry(path_p).getStage() > 0;
+ }
+
+}
diff --git a/plugins/org.eclipse.emf.diffmerge.connector.git/src/org/eclipse/emf/diffmerge/connector/git/ext/GitIndexOursURIConverter.java b/plugins/org.eclipse.emf.diffmerge.connector.git/src/org/eclipse/emf/diffmerge/connector/git/ext/GitIndexOursURIConverter.java
index 47a6d911..d93a663c 100644
--- a/plugins/org.eclipse.emf.diffmerge.connector.git/src/org/eclipse/emf/diffmerge/connector/git/ext/GitIndexOursURIConverter.java
+++ b/plugins/org.eclipse.emf.diffmerge.connector.git/src/org/eclipse/emf/diffmerge/connector/git/ext/GitIndexOursURIConverter.java
@@ -1,51 +1,51 @@
-/*******************************************************************************
- * Copyright (c) 2015-2016 Intel Corporation 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:
- * Stephane Bouchet (Intel Corporation) - initial API and implementation
- * Olivier Constant (Thales Global Services) - tight integration
- * Stephane Bouchet (Intel Corporation) - bug #496397
- *******************************************************************************/
-package org.eclipse.emf.diffmerge.connector.git.ext;
-
-import org.eclipse.emf.common.util.URI;
-import org.eclipse.jgit.dircache.DirCacheEntry;
-import org.eclipse.jgit.lib.Repository;
-
-
-/**
- * A URI Converter for file revisions in the Git index (staging area), holding role "Ours"
- * in the case of conflicts.
- */
-public class GitIndexOursURIConverter extends AbstractGitConflictURIConverter {
-
- /**
- * Constructor
- * @param repository_p a non-null Git repository
- * @param holdingResourcePath_p the non-null path of the holding resource in conflict
- */
- public GitIndexOursURIConverter(Repository repository_p,String holdingResourcePath_p) {
- super(repository_p, DirCacheEntry.STAGE_2, holdingResourcePath_p); // "Ours" in conflict resolution
- }
-
- /**
- * @see org.eclipse.emf.diffmerge.connector.git.ext.AbstractGitURIConverter#getURIPathRepresentation(org.eclipse.emf.common.util.URI)
- */
- @Override
- protected String getURIPathRepresentation(URI uri_p) {
- return uri_p.toPlatformString(true);
- }
-
- /**
- * @see org.eclipse.emf.diffmerge.connector.git.ext.AbstractGitURIConverter#isSupportedURI(org.eclipse.emf.common.util.URI)
- */
- @Override
- protected boolean isSupportedURI(URI uri_p) {
- return uri_p.isPlatformResource();
- }
-
+/*******************************************************************************
+ * Copyright (c) 2015-2017 Intel Corporation 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:
+ * Stephane Bouchet (Intel Corporation) - initial API and implementation
+ * Olivier Constant (Thales Global Services) - tight integration
+ * Stephane Bouchet (Intel Corporation) - bug #496397
+ *******************************************************************************/
+package org.eclipse.emf.diffmerge.connector.git.ext;
+
+import org.eclipse.emf.common.util.URI;
+import org.eclipse.jgit.dircache.DirCacheEntry;
+import org.eclipse.jgit.lib.Repository;
+
+
+/**
+ * A URI Converter for file revisions in the Git index (staging area), holding role "Ours"
+ * in the case of conflicts.
+ */
+public class GitIndexOursURIConverter extends AbstractGitConflictURIConverter {
+
+ /**
+ * Constructor
+ * @param repository_p a non-null Git repository
+ * @param holdingResourcePath_p the non-null path of the holding resource in conflict
+ */
+ public GitIndexOursURIConverter(Repository repository_p,String holdingResourcePath_p) {
+ super(repository_p, DirCacheEntry.STAGE_2, holdingResourcePath_p); // "Ours" in conflict resolution
+ }
+
+ /**
+ * @see org.eclipse.emf.diffmerge.connector.git.ext.AbstractGitURIConverter#getURIPathRepresentation(org.eclipse.emf.common.util.URI)
+ */
+ @Override
+ protected String getURIPathRepresentation(URI uri_p) {
+ return uri_p.toPlatformString(true);
+ }
+
+ /**
+ * @see org.eclipse.emf.diffmerge.connector.git.ext.AbstractGitURIConverter#isSupportedURI(org.eclipse.emf.common.util.URI)
+ */
+ @Override
+ protected boolean isSupportedURI(URI uri_p) {
+ return uri_p.isPlatformResource();
+ }
+
} \ No newline at end of file
diff --git a/plugins/org.eclipse.emf.diffmerge.connector.git/src/org/eclipse/emf/diffmerge/connector/git/ext/GitIndexRevisionScopeDefinitionFactory.java b/plugins/org.eclipse.emf.diffmerge.connector.git/src/org/eclipse/emf/diffmerge/connector/git/ext/GitIndexRevisionScopeDefinitionFactory.java
index f6595c84..8f01e838 100644
--- a/plugins/org.eclipse.emf.diffmerge.connector.git/src/org/eclipse/emf/diffmerge/connector/git/ext/GitIndexRevisionScopeDefinitionFactory.java
+++ b/plugins/org.eclipse.emf.diffmerge.connector.git/src/org/eclipse/emf/diffmerge/connector/git/ext/GitIndexRevisionScopeDefinitionFactory.java
@@ -1,167 +1,167 @@
-/*******************************************************************************
- * Copyright (c) 2015-2016 Intel Corporation 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:
- * Stephane Bouchet (Intel Corporation) - initial API and implementation
- * Olivier Constant (Thales Global Services) - tight integration
- * Stephane Bouchet (Intel Corporation) - bug #496397
- *******************************************************************************/
-package org.eclipse.emf.diffmerge.connector.git.ext;
-
-import java.io.IOException;
-
-import org.eclipse.compare.IEditableContent;
-import org.eclipse.compare.ITypedElement;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.egit.core.internal.storage.IndexFileRevision;
-import org.eclipse.egit.ui.internal.revision.EditableRevision;
-import org.eclipse.egit.ui.internal.revision.LocalFileRevision;
-import org.eclipse.emf.common.util.URI;
-import org.eclipse.emf.diffmerge.connector.core.ext.AbstractRevisionScopeDefinitionFactory;
-import org.eclipse.emf.diffmerge.connector.core.ext.LocalHistoryURIConverter;
-import org.eclipse.emf.diffmerge.connector.git.EMFDiffMergeGitConnectorPlugin;
-import org.eclipse.emf.diffmerge.connector.git.Messages;
-import org.eclipse.emf.ecore.resource.URIConverter;
-import org.eclipse.jgit.errors.NoWorkTreeException;
-import org.eclipse.team.core.history.IFileRevision;
-
-
-/**
- * A scope definition factory for file revisions in the Git index (staging area),
- * also used for handling conflicts (role "Ours").
- */
-@SuppressWarnings("restriction") // Specific EGit types
-public class GitIndexRevisionScopeDefinitionFactory extends AbstractRevisionScopeDefinitionFactory {
-
- /**
- * @see org.eclipse.emf.diffmerge.connector.core.ext.AbstractRevisionScopeDefinitionFactory#getLabelForRevision(org.eclipse.team.core.history.IFileRevision, org.eclipse.compare.ITypedElement)
- */
- @Override
- protected String getLabelForRevision(IFileRevision revision_p, ITypedElement entrypoint_p) {
- String result = null;
- if (entrypoint_p instanceof EditableRevision) {
- if (revision_p instanceof IndexFileRevision) {
- if (isScopeEditable(entrypoint_p)) {
- result = String.format(
- Messages.GitIndexRevisionScopeDefinitionFactory_LabelIndexEditable,
- revision_p.getName());
- } else {
- result = String.format(
- Messages.GitIndexRevisionScopeDefinitionFactory_LabelIndexReadOnly,
- revision_p.getName());
- }
- } else if (revision_p instanceof LocalFileRevision) {
- result = String.format(
- Messages.GitIndexRevisionScopeDefinitionFactory_LabelLocal,
- getLocalFileRevisionPath((LocalFileRevision)revision_p));
- }
- }
- if (result == null)
- result = super.getLabelForRevision(revision_p, entrypoint_p);
- return result;
- }
-
- /**
- * Return the path of the given local file revision
- * @param revision_p a non-null object
- * @return a non-null object
- */
- protected String getLocalFileRevisionPath(LocalFileRevision revision_p) {
- return revision_p.getFile().getFullPath().toString();
- }
-
- /**
- * @see org.eclipse.emf.diffmerge.connector.core.ext.AbstractRevisionScopeDefinitionFactory#getRevision(org.eclipse.compare.ITypedElement)
- */
- @Override
- protected IFileRevision getRevision(ITypedElement typedElement_p) {
- IFileRevision result;
- if (typedElement_p instanceof EditableRevision)
- result = ((EditableRevision)typedElement_p).getFileRevision();
- else
- result = super.getRevision(typedElement_p);
- return result;
- }
-
- /**
- * @see org.eclipse.emf.diffmerge.connector.core.ext.AbstractRevisionScopeDefinitionFactory#getURIConverterForRevision(org.eclipse.team.core.history.IFileRevision)
- */
- @Override
- protected URIConverter getURIConverterForRevision(IFileRevision revision_p)
- throws CoreException {
- if (revision_p instanceof IndexFileRevision) {
- try {
- if (GitHelper.INSTANCE.isConflicting(revision_p)) {
- return new GitIndexOursURIConverter(
- GitHelper.INSTANCE.getRepository(revision_p),
- ((IndexFileRevision)revision_p).getGitPath());
- }
- return new GitIndexURIConverter(GitHelper.INSTANCE.getRepository(revision_p));
- } catch (IOException e) {
- EMFDiffMergeGitConnectorPlugin.getDefault().getLog().log(new Status(IStatus.ERROR,
- EMFDiffMergeGitConnectorPlugin.getDefault().getPluginId(), e.getMessage(), e));
- } catch (NoWorkTreeException e) {
- EMFDiffMergeGitConnectorPlugin.getDefault().getLog().log(new Status(IStatus.ERROR,
- EMFDiffMergeGitConnectorPlugin.getDefault().getPluginId(), e.getMessage(), e));
- }
- }
- if (revision_p instanceof LocalFileRevision) {
- String fullPath = getLocalFileRevisionPath((LocalFileRevision)revision_p);
- // Local history or current
- final long timestamp = revision_p.getTimestamp();
- if (timestamp != -1) {
- return new LocalHistoryURIConverter(timestamp, fullPath);
- }
- }
- return null;
- }
-
- /**
- * @see org.eclipse.emf.diffmerge.connector.core.ext.AbstractRevisionScopeDefinitionFactory#getURIForRevision(org.eclipse.team.core.history.IFileRevision)
- */
- @Override
- protected URI getURIForRevision(IFileRevision revision_p) throws CoreException {
- URI result = null;
- if (revision_p instanceof IndexFileRevision) {
- boolean conflicting;
- try {
- conflicting = GitHelper.INSTANCE.isConflicting(revision_p);
- if (conflicting)
- result = URI.createPlatformResourceURI(revision_p.getURI().toString(), true);
- else
- result = URI.createURI(
- GitHelper.INSTANCE.getSchemeIndex() + GitHelper.INSTANCE.getSchemeSeparator() +
- revision_p.getURI().toString());
- } catch (Exception e) {
- EMFDiffMergeGitConnectorPlugin.getDefault().getLog().log(new Status(IStatus.ERROR,
- EMFDiffMergeGitConnectorPlugin.getDefault().getPluginId(), e.getMessage(), e));
- }
- } else if (revision_p instanceof LocalFileRevision) {
- result = URI.createPlatformResourceURI(getLocalFileRevisionPath((LocalFileRevision)revision_p), true);
- }
- return result;
- }
-
- /**
- * @see org.eclipse.emf.diffmerge.connector.core.ext.AbstractRevisionScopeDefinitionFactory#isApplicableToRevision(org.eclipse.team.core.history.IFileRevision, org.eclipse.compare.ITypedElement)
- */
- @Override
- protected boolean isApplicableToRevision(IFileRevision revision_p, ITypedElement entrypoint_p) {
- return entrypoint_p instanceof EditableRevision;
- }
-
- /**
- * @see org.eclipse.emf.diffmerge.connector.core.ext.AbstractURIConvertingScopeDefinitionFactory#isScopeEditable(java.lang.Object)
- */
- @Override
- protected boolean isScopeEditable(Object entrypoint_p) {
- return entrypoint_p instanceof IEditableContent;
- }
-
-}
+/*******************************************************************************
+ * Copyright (c) 2015-2017 Intel Corporation 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:
+ * Stephane Bouchet (Intel Corporation) - initial API and implementation
+ * Olivier Constant (Thales Global Services) - tight integration
+ * Stephane Bouchet (Intel Corporation) - bug #496397
+ *******************************************************************************/
+package org.eclipse.emf.diffmerge.connector.git.ext;
+
+import java.io.IOException;
+
+import org.eclipse.compare.IEditableContent;
+import org.eclipse.compare.ITypedElement;
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Status;
+import org.eclipse.egit.core.internal.storage.IndexFileRevision;
+import org.eclipse.egit.ui.internal.revision.EditableRevision;
+import org.eclipse.egit.ui.internal.revision.LocalFileRevision;
+import org.eclipse.emf.common.util.URI;
+import org.eclipse.emf.diffmerge.connector.core.ext.AbstractRevisionScopeDefinitionFactory;
+import org.eclipse.emf.diffmerge.connector.core.ext.LocalHistoryURIConverter;
+import org.eclipse.emf.diffmerge.connector.git.EMFDiffMergeGitConnectorPlugin;
+import org.eclipse.emf.diffmerge.connector.git.Messages;
+import org.eclipse.emf.ecore.resource.URIConverter;
+import org.eclipse.jgit.errors.NoWorkTreeException;
+import org.eclipse.team.core.history.IFileRevision;
+
+
+/**
+ * A scope definition factory for file revisions in the Git index (staging area),
+ * also used for handling conflicts (role "Ours").
+ */
+@SuppressWarnings("restriction") // Specific EGit types
+public class GitIndexRevisionScopeDefinitionFactory extends AbstractRevisionScopeDefinitionFactory {
+
+ /**
+ * @see org.eclipse.emf.diffmerge.connector.core.ext.AbstractRevisionScopeDefinitionFactory#getLabelForRevision(org.eclipse.team.core.history.IFileRevision, org.eclipse.compare.ITypedElement)
+ */
+ @Override
+ protected String getLabelForRevision(IFileRevision revision_p, ITypedElement entrypoint_p) {
+ String result = null;
+ if (entrypoint_p instanceof EditableRevision) {
+ if (revision_p instanceof IndexFileRevision) {
+ if (isScopeEditable(entrypoint_p)) {
+ result = String.format(
+ Messages.GitIndexRevisionScopeDefinitionFactory_LabelIndexEditable,
+ revision_p.getName());
+ } else {
+ result = String.format(
+ Messages.GitIndexRevisionScopeDefinitionFactory_LabelIndexReadOnly,
+ revision_p.getName());
+ }
+ } else if (revision_p instanceof LocalFileRevision) {
+ result = String.format(
+ Messages.GitIndexRevisionScopeDefinitionFactory_LabelLocal,
+ getLocalFileRevisionPath((LocalFileRevision)revision_p));
+ }
+ }
+ if (result == null)
+ result = super.getLabelForRevision(revision_p, entrypoint_p);
+ return result;
+ }
+
+ /**
+ * Return the path of the given local file revision
+ * @param revision_p a non-null object
+ * @return a non-null object
+ */
+ protected String getLocalFileRevisionPath(LocalFileRevision revision_p) {
+ return revision_p.getFile().getFullPath().toString();
+ }
+
+ /**
+ * @see org.eclipse.emf.diffmerge.connector.core.ext.AbstractRevisionScopeDefinitionFactory#getRevision(org.eclipse.compare.ITypedElement)
+ */
+ @Override
+ protected IFileRevision getRevision(ITypedElement typedElement_p) {
+ IFileRevision result;
+ if (typedElement_p instanceof EditableRevision)
+ result = ((EditableRevision)typedElement_p).getFileRevision();
+ else
+ result = super.getRevision(typedElement_p);
+ return result;
+ }
+
+ /**
+ * @see org.eclipse.emf.diffmerge.connector.core.ext.AbstractRevisionScopeDefinitionFactory#getURIConverterForRevision(org.eclipse.team.core.history.IFileRevision)
+ */
+ @Override
+ protected URIConverter getURIConverterForRevision(IFileRevision revision_p)
+ throws CoreException {
+ if (revision_p instanceof IndexFileRevision) {
+ try {
+ if (GitHelper.INSTANCE.isConflicting(revision_p)) {
+ return new GitIndexOursURIConverter(
+ GitHelper.INSTANCE.getRepository(revision_p),
+ ((IndexFileRevision)revision_p).getGitPath());
+ }
+ return new GitIndexURIConverter(GitHelper.INSTANCE.getRepository(revision_p));
+ } catch (IOException e) {
+ EMFDiffMergeGitConnectorPlugin.getDefault().getLog().log(new Status(IStatus.ERROR,
+ EMFDiffMergeGitConnectorPlugin.getDefault().getPluginId(), e.getMessage(), e));
+ } catch (NoWorkTreeException e) {
+ EMFDiffMergeGitConnectorPlugin.getDefault().getLog().log(new Status(IStatus.ERROR,
+ EMFDiffMergeGitConnectorPlugin.getDefault().getPluginId(), e.getMessage(), e));
+ }
+ }
+ if (revision_p instanceof LocalFileRevision) {
+ String fullPath = getLocalFileRevisionPath((LocalFileRevision)revision_p);
+ // Local history or current
+ final long timestamp = revision_p.getTimestamp();
+ if (timestamp != -1) {
+ return new LocalHistoryURIConverter(timestamp, fullPath);
+ }
+ }
+ return null;
+ }
+
+ /**
+ * @see org.eclipse.emf.diffmerge.connector.core.ext.AbstractRevisionScopeDefinitionFactory#getURIForRevision(org.eclipse.team.core.history.IFileRevision)
+ */
+ @Override
+ protected URI getURIForRevision(IFileRevision revision_p) throws CoreException {
+ URI result = null;
+ if (revision_p instanceof IndexFileRevision) {
+ boolean conflicting;
+ try {
+ conflicting = GitHelper.INSTANCE.isConflicting(revision_p);
+ if (conflicting)
+ result = URI.createPlatformResourceURI(revision_p.getURI().toString(), true);
+ else
+ result = URI.createURI(
+ GitHelper.INSTANCE.getSchemeIndex() + GitHelper.INSTANCE.getSchemeSeparator() +
+ revision_p.getURI().toString());
+ } catch (Exception e) {
+ EMFDiffMergeGitConnectorPlugin.getDefault().getLog().log(new Status(IStatus.ERROR,
+ EMFDiffMergeGitConnectorPlugin.getDefault().getPluginId(), e.getMessage(), e));
+ }
+ } else if (revision_p instanceof LocalFileRevision) {
+ result = URI.createPlatformResourceURI(getLocalFileRevisionPath((LocalFileRevision)revision_p), true);
+ }
+ return result;
+ }
+
+ /**
+ * @see org.eclipse.emf.diffmerge.connector.core.ext.AbstractRevisionScopeDefinitionFactory#isApplicableToRevision(org.eclipse.team.core.history.IFileRevision, org.eclipse.compare.ITypedElement)
+ */
+ @Override
+ protected boolean isApplicableToRevision(IFileRevision revision_p, ITypedElement entrypoint_p) {
+ return entrypoint_p instanceof EditableRevision;
+ }
+
+ /**
+ * @see org.eclipse.emf.diffmerge.connector.core.ext.AbstractURIConvertingScopeDefinitionFactory#isScopeEditable(java.lang.Object)
+ */
+ @Override
+ protected boolean isScopeEditable(Object entrypoint_p) {
+ return entrypoint_p instanceof IEditableContent;
+ }
+
+}
diff --git a/plugins/org.eclipse.emf.diffmerge.connector.git/src/org/eclipse/emf/diffmerge/connector/git/ext/GitIndexTheirsURIConverter.java b/plugins/org.eclipse.emf.diffmerge.connector.git/src/org/eclipse/emf/diffmerge/connector/git/ext/GitIndexTheirsURIConverter.java
index f5647482..c73ca385 100644
--- a/plugins/org.eclipse.emf.diffmerge.connector.git/src/org/eclipse/emf/diffmerge/connector/git/ext/GitIndexTheirsURIConverter.java
+++ b/plugins/org.eclipse.emf.diffmerge.connector.git/src/org/eclipse/emf/diffmerge/connector/git/ext/GitIndexTheirsURIConverter.java
@@ -1,34 +1,34 @@
-/*******************************************************************************
- * Copyright (c) 2015-2016 Intel Corporation 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:
- * Stephane Bouchet (Intel Corporation) - initial API and implementation
- * Olivier Constant (Thales Global Services) - tight integration
- * Stephane Bouchet (Intel Corporation) - bug #496397
- *******************************************************************************/
-package org.eclipse.emf.diffmerge.connector.git.ext;
-
-import org.eclipse.jgit.dircache.DirCacheEntry;
-import org.eclipse.jgit.lib.Repository;
-
-
-/**
- * A URI Converter for file revisions in the Git index (staging area), holding role "Theirs"
- * in the case of conflicts.
- */
-public class GitIndexTheirsURIConverter extends AbstractGitConflictURIConverter {
-
- /**
- * Constructor
- * @param repository_p a non-null Git repository
- * @param holdingResourcePath_p the non-null path of the holding resource in conflict
- */
- public GitIndexTheirsURIConverter(Repository repository_p,String holdingResourcePath_p) {
- super(repository_p, DirCacheEntry.STAGE_3, holdingResourcePath_p); // "Theirs" in conflict resolution
- }
-
+/*******************************************************************************
+ * Copyright (c) 2015-2017 Intel Corporation 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:
+ * Stephane Bouchet (Intel Corporation) - initial API and implementation
+ * Olivier Constant (Thales Global Services) - tight integration
+ * Stephane Bouchet (Intel Corporation) - bug #496397
+ *******************************************************************************/
+package org.eclipse.emf.diffmerge.connector.git.ext;
+
+import org.eclipse.jgit.dircache.DirCacheEntry;
+import org.eclipse.jgit.lib.Repository;
+
+
+/**
+ * A URI Converter for file revisions in the Git index (staging area), holding role "Theirs"
+ * in the case of conflicts.
+ */
+public class GitIndexTheirsURIConverter extends AbstractGitConflictURIConverter {
+
+ /**
+ * Constructor
+ * @param repository_p a non-null Git repository
+ * @param holdingResourcePath_p the non-null path of the holding resource in conflict
+ */
+ public GitIndexTheirsURIConverter(Repository repository_p,String holdingResourcePath_p) {
+ super(repository_p, DirCacheEntry.STAGE_3, holdingResourcePath_p); // "Theirs" in conflict resolution
+ }
+
} \ No newline at end of file
diff --git a/plugins/org.eclipse.emf.diffmerge.connector.git/src/org/eclipse/emf/diffmerge/connector/git/ext/GitIndexURIConverter.java b/plugins/org.eclipse.emf.diffmerge.connector.git/src/org/eclipse/emf/diffmerge/connector/git/ext/GitIndexURIConverter.java
index f0dde7cd..d7a39c12 100644
--- a/plugins/org.eclipse.emf.diffmerge.connector.git/src/org/eclipse/emf/diffmerge/connector/git/ext/GitIndexURIConverter.java
+++ b/plugins/org.eclipse.emf.diffmerge.connector.git/src/org/eclipse/emf/diffmerge/connector/git/ext/GitIndexURIConverter.java
@@ -1,57 +1,57 @@
-/*******************************************************************************
- * Copyright (c) 2016 Intel Corporation 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:
- * Stephane Bouchet (Intel Corporation) - initial API and implementation
- *******************************************************************************/
-package org.eclipse.emf.diffmerge.connector.git.ext;
-
-import static org.eclipse.egit.core.internal.storage.GitFileRevision.inIndex;
-
-import java.util.List;
-
-import org.eclipse.emf.ecore.resource.ContentHandler;
-import org.eclipse.emf.ecore.resource.URIHandler;
-import org.eclipse.jgit.lib.Repository;
-import org.eclipse.team.core.history.IFileRevision;
-
-
-/**
- * A URI Converter for file revisions in the Git index (staging area), for no
- * conflicting cases.
- */
-public class GitIndexURIConverter extends AbstractGitURIConverter {
-
- /**
- * Constructor
- * @param repository_p a non-null Git repository
- */
- public GitIndexURIConverter(Repository repository_p) {
- super(repository_p);
- }
-
- /**
- * Constructor
- * @param uriHandlers_p a non-null list
- * @param contentHandlers_p a non-null list
- * @param repository_p a non-null Git repository
- */
- public GitIndexURIConverter(List<URIHandler> uriHandlers_p,
- List<ContentHandler> contentHandlers_p, Repository repository_p) {
- super(uriHandlers_p, contentHandlers_p, repository_p);
- }
-
- /**
- * @see org.eclipse.emf.diffmerge.connector.git.ext.AbstractGitURIConverter#getGitFileRevision(java.lang.String)
- */
- @Override
- @SuppressWarnings("restriction")
- protected IFileRevision getGitFileRevision(String gitPath_p) {
- return inIndex(getRepository(), gitPath_p);
- }
-
+/*******************************************************************************
+ * Copyright (c) 2016-2017 Intel Corporation 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:
+ * Stephane Bouchet (Intel Corporation) - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.emf.diffmerge.connector.git.ext;
+
+import static org.eclipse.egit.core.internal.storage.GitFileRevision.inIndex;
+
+import java.util.List;
+
+import org.eclipse.emf.ecore.resource.ContentHandler;
+import org.eclipse.emf.ecore.resource.URIHandler;
+import org.eclipse.jgit.lib.Repository;
+import org.eclipse.team.core.history.IFileRevision;
+
+
+/**
+ * A URI Converter for file revisions in the Git index (staging area), for no
+ * conflicting cases.
+ */
+public class GitIndexURIConverter extends AbstractGitURIConverter {
+
+ /**
+ * Constructor
+ * @param repository_p a non-null Git repository
+ */
+ public GitIndexURIConverter(Repository repository_p) {
+ super(repository_p);
+ }
+
+ /**
+ * Constructor
+ * @param uriHandlers_p a non-null list
+ * @param contentHandlers_p a non-null list
+ * @param repository_p a non-null Git repository
+ */
+ public GitIndexURIConverter(List<URIHandler> uriHandlers_p,
+ List<ContentHandler> contentHandlers_p, Repository repository_p) {
+ super(uriHandlers_p, contentHandlers_p, repository_p);
+ }
+
+ /**
+ * @see org.eclipse.emf.diffmerge.connector.git.ext.AbstractGitURIConverter#getGitFileRevision(java.lang.String)
+ */
+ @Override
+ @SuppressWarnings("restriction")
+ protected IFileRevision getGitFileRevision(String gitPath_p) {
+ return inIndex(getRepository(), gitPath_p);
+ }
+
} \ No newline at end of file
diff --git a/plugins/org.eclipse.emf.diffmerge.connector.git/src/org/eclipse/emf/diffmerge/connector/git/ext/GitRevisionScopeDefinitionFactory.java b/plugins/org.eclipse.emf.diffmerge.connector.git/src/org/eclipse/emf/diffmerge/connector/git/ext/GitRevisionScopeDefinitionFactory.java
index 6c589c9a..a00d3a6a 100644
--- a/plugins/org.eclipse.emf.diffmerge.connector.git/src/org/eclipse/emf/diffmerge/connector/git/ext/GitRevisionScopeDefinitionFactory.java
+++ b/plugins/org.eclipse.emf.diffmerge.connector.git/src/org/eclipse/emf/diffmerge/connector/git/ext/GitRevisionScopeDefinitionFactory.java
@@ -1,171 +1,171 @@
-/*******************************************************************************
- * Copyright (c) 2015-2016 Intel Corporation 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:
- * Stephane Bouchet (Intel Corporation) - initial API and implementation
- * Olivier Constant (Thales Global Services) - tight integration
- * Stephane Bouchet (Intel Corporation) - bug #496397
- *******************************************************************************/
-package org.eclipse.emf.diffmerge.connector.git.ext;
-
-import java.io.IOException;
-
-import org.eclipse.compare.ITypedElement;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.egit.core.internal.storage.CommitFileRevision;
-import org.eclipse.egit.core.internal.storage.GitFileRevision;
-import org.eclipse.egit.core.internal.storage.IndexFileRevision;
-import org.eclipse.egit.core.internal.storage.WorkspaceFileRevision;
-import org.eclipse.egit.core.synchronize.GitRemoteResource;
-import org.eclipse.emf.common.util.URI;
-import org.eclipse.emf.diffmerge.connector.core.ext.AbstractRevisionScopeDefinitionFactory;
-import org.eclipse.emf.diffmerge.connector.git.EMFDiffMergeGitConnectorPlugin;
-import org.eclipse.emf.diffmerge.connector.git.Messages;
-import org.eclipse.emf.ecore.resource.URIConverter;
-import org.eclipse.jgit.errors.NoWorkTreeException;
-import org.eclipse.jgit.lib.PersonIdent;
-import org.eclipse.jgit.lib.Repository;
-import org.eclipse.jgit.revwalk.RevCommit;
-import org.eclipse.team.core.history.IFileRevision;
-import org.eclipse.team.core.variants.IResourceVariant;
-
-
-/**
- * A scope definition factory for file revisions in Git repositories,
- * index (staging area) excluded.
- */
-@SuppressWarnings("restriction") // Specific EGit types
-public class GitRevisionScopeDefinitionFactory extends AbstractRevisionScopeDefinitionFactory {
-
- /** The minimal size of commit labels that requires abbreviation */
- protected static final int ABBREVIATE_COMMIT_LABEL_SIZE = 7;
-
-
- /**
- * Return an identifier for the given commit ID
- * @param revCommit_p a non-null commit ID
- * @return a non-null string
- */
- protected String getContentIdentifier(RevCommit revCommit_p) {
- StringBuilder s = new StringBuilder();
- if (revCommit_p != null) {
- s.append(revCommit_p.abbreviate(ABBREVIATE_COMMIT_LABEL_SIZE).name());
- s.append("..."); //$NON-NLS-1$
- PersonIdent authorIdent = revCommit_p.getAuthorIdent();
- if (authorIdent != null) {
- s.append(" ("); //$NON-NLS-1$
- s.append(authorIdent.getName());
- s.append(')');
- }
- }
- return s.toString();
- }
-
- /**
- * @see org.eclipse.emf.diffmerge.connector.core.ext.AbstractRevisionScopeDefinitionFactory#getURIConverterForRevision(org.eclipse.team.core.history.IFileRevision)
- */
- @Override
- @SuppressWarnings("resource")
- protected URIConverter getURIConverterForRevision(IFileRevision revision) throws CoreException {
- URIConverter result = null;
- IResourceVariant variant = getVariant(revision);
- if (variant instanceof GitRemoteResource) {
- // Git remote
- IPath path = ((GitRemoteResource)variant).getDisplayPath();
- Repository repo = GitHelper.INSTANCE.getRepository(path);
- if (repo != null)
- result = new GitCommitURIConverter(((GitRemoteResource)variant).getCommitId(), repo);
- }
- if (result == null) {
- Repository repo = GitHelper.INSTANCE.getRepository(revision);
- if (repo != null) {
- if (revision instanceof IndexFileRevision) {
- // Git index
- try {
- if (GitHelper.INSTANCE.isConflicting(revision))
- result = new GitIndexTheirsURIConverter(
- GitHelper.INSTANCE.getRepository(revision),
- ((IndexFileRevision)revision).getGitPath());
- else
- result = new GitIndexURIConverter(GitHelper.INSTANCE.getRepository(revision));
- } catch (IOException e) {
- EMFDiffMergeGitConnectorPlugin.getDefault().getLog().log(new Status(
- IStatus.ERROR, EMFDiffMergeGitConnectorPlugin.getDefault().getPluginId(), e.getMessage(), e));
- } catch (NoWorkTreeException e) {
- EMFDiffMergeGitConnectorPlugin.getDefault().getLog().log(new Status(
- IStatus.ERROR, EMFDiffMergeGitConnectorPlugin.getDefault().getPluginId(), e.getMessage(), e));
- }
- } else if (revision instanceof CommitFileRevision) {
- // Git commit
- result = new GitCommitURIConverter(((CommitFileRevision)revision).getRevCommit(), repo);
- }
- }
- }
- if (result == null)
- result = super.getURIConverterForRevision(revision);
- return result;
- }
-
- /**
- * @see org.eclipse.emf.diffmerge.connector.core.ext.AbstractRevisionScopeDefinitionFactory#getURIForRevision(org.eclipse.team.core.history.IFileRevision)
- */
- @Override
- protected URI getURIForRevision(IFileRevision revision) throws CoreException {
- IResourceVariant variant = getVariant(revision);
- final String SCHEME_SEP = ":/"; //$NON-NLS-1$
- URI result;
- if (variant instanceof GitRemoteResource) {
- result = URI.createURI(
- GitHelper.INSTANCE.getSchemeRemote() + SCHEME_SEP + ((GitRemoteResource)variant).getPath());
- } else if (revision instanceof IndexFileRevision) {
- result = URI.createURI(
- GitHelper.INSTANCE.getSchemeIndex() + SCHEME_SEP + revision.getURI().toString());
- } else if (revision instanceof CommitFileRevision) {
- result = URI.createURI(
- GitHelper.INSTANCE.getSchemeCommit() + SCHEME_SEP + revision.getURI().toString());
- } else {
- result = super.getURIForRevision(revision);
- }
- return result;
- }
-
- /**
- * @see org.eclipse.emf.diffmerge.connector.core.ext.AbstractRevisionScopeDefinitionFactory#getLabelForRevision(org.eclipse.team.core.history.IFileRevision, org.eclipse.compare.ITypedElement)
- */
- @Override
- protected String getLabelForRevision(IFileRevision revision_p, ITypedElement entrypoint_p) {
- String result;
- IResourceVariant variant = getVariant(revision_p);
- if (variant instanceof GitRemoteResource) {
- result = String.format(Messages.GitRevisionScopeDefinitionFactory_LabelRemote,
- revision_p.getName(), variant.getContentIdentifier());
- } else if (revision_p instanceof IndexFileRevision) {
- result = String.format(Messages.GitRevisionScopeDefinitionFactory_LabelIndex, revision_p.getName());
- } else if (revision_p instanceof CommitFileRevision) {
- result = String.format(Messages.GitRevisionScopeDefinitionFactory_LabelCommit, revision_p.getName(),
- getContentIdentifier(((CommitFileRevision)revision_p).getRevCommit()));
- } else if (revision_p instanceof WorkspaceFileRevision) {
- result = String.format(Messages.GitRevisionScopeDefinitionFactory_LabelWorkspace, revision_p.getName());
- } else {
- result = super.getLabelForRevision(revision_p, entrypoint_p);
- }
- return result;
- }
-
- /**
- * @see org.eclipse.emf.diffmerge.connector.core.ext.AbstractRevisionScopeDefinitionFactory#isApplicableToRevision(org.eclipse.team.core.history.IFileRevision, org.eclipse.compare.ITypedElement)
- */
- @Override
- protected boolean isApplicableToRevision(IFileRevision revision_p, ITypedElement entrypoint_p) {
- return revision_p instanceof GitFileRevision ||
- getVariant(revision_p) instanceof GitRemoteResource;
- }
-
+/*******************************************************************************
+ * Copyright (c) 2015-2017 Intel Corporation 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:
+ * Stephane Bouchet (Intel Corporation) - initial API and implementation
+ * Olivier Constant (Thales Global Services) - tight integration
+ * Stephane Bouchet (Intel Corporation) - bug #496397
+ *******************************************************************************/
+package org.eclipse.emf.diffmerge.connector.git.ext;
+
+import java.io.IOException;
+
+import org.eclipse.compare.ITypedElement;
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.IPath;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Status;
+import org.eclipse.egit.core.internal.storage.CommitFileRevision;
+import org.eclipse.egit.core.internal.storage.GitFileRevision;
+import org.eclipse.egit.core.internal.storage.IndexFileRevision;
+import org.eclipse.egit.core.internal.storage.WorkspaceFileRevision;
+import org.eclipse.egit.core.synchronize.GitRemoteResource;
+import org.eclipse.emf.common.util.URI;
+import org.eclipse.emf.diffmerge.connector.core.ext.AbstractRevisionScopeDefinitionFactory;
+import org.eclipse.emf.diffmerge.connector.git.EMFDiffMergeGitConnectorPlugin;
+import org.eclipse.emf.diffmerge.connector.git.Messages;
+import org.eclipse.emf.ecore.resource.URIConverter;
+import org.eclipse.jgit.errors.NoWorkTreeException;
+import org.eclipse.jgit.lib.PersonIdent;
+import org.eclipse.jgit.lib.Repository;
+import org.eclipse.jgit.revwalk.RevCommit;
+import org.eclipse.team.core.history.IFileRevision;
+import org.eclipse.team.core.variants.IResourceVariant;
+
+
+/**
+ * A scope definition factory for file revisions in Git repositories,
+ * index (staging area) excluded.
+ */
+@SuppressWarnings("restriction") // Specific EGit types
+public class GitRevisionScopeDefinitionFactory extends AbstractRevisionScopeDefinitionFactory {
+
+ /** The minimal size of commit labels that requires abbreviation */
+ protected static final int ABBREVIATE_COMMIT_LABEL_SIZE = 7;
+
+
+ /**
+ * Return an identifier for the given commit ID
+ * @param revCommit_p a non-null commit ID
+ * @return a non-null string
+ */
+ protected String getContentIdentifier(RevCommit revCommit_p) {
+ StringBuilder s = new StringBuilder();
+ if (revCommit_p != null) {
+ s.append(revCommit_p.abbreviate(ABBREVIATE_COMMIT_LABEL_SIZE).name());
+ s.append("..."); //$NON-NLS-1$
+ PersonIdent authorIdent = revCommit_p.getAuthorIdent();
+ if (authorIdent != null) {
+ s.append(" ("); //$NON-NLS-1$
+ s.append(authorIdent.getName());
+ s.append(')');
+ }
+ }
+ return s.toString();
+ }
+
+ /**
+ * @see org.eclipse.emf.diffmerge.connector.core.ext.AbstractRevisionScopeDefinitionFactory#getURIConverterForRevision(org.eclipse.team.core.history.IFileRevision)
+ */
+ @Override
+ @SuppressWarnings("resource")
+ protected URIConverter getURIConverterForRevision(IFileRevision revision) throws CoreException {
+ URIConverter result = null;
+ IResourceVariant variant = getVariant(revision);
+ if (variant instanceof GitRemoteResource) {
+ // Git remote
+ IPath path = ((GitRemoteResource)variant).getDisplayPath();
+ Repository repo = GitHelper.INSTANCE.getRepository(path);
+ if (repo != null)
+ result = new GitCommitURIConverter(((GitRemoteResource)variant).getCommitId(), repo);
+ }
+ if (result == null) {
+ Repository repo = GitHelper.INSTANCE.getRepository(revision);
+ if (repo != null) {
+ if (revision instanceof IndexFileRevision) {
+ // Git index
+ try {
+ if (GitHelper.INSTANCE.isConflicting(revision))
+ result = new GitIndexTheirsURIConverter(
+ GitHelper.INSTANCE.getRepository(revision),
+ ((IndexFileRevision)revision).getGitPath());
+ else
+ result = new GitIndexURIConverter(GitHelper.INSTANCE.getRepository(revision));
+ } catch (IOException e) {
+ EMFDiffMergeGitConnectorPlugin.getDefault().getLog().log(new Status(
+ IStatus.ERROR, EMFDiffMergeGitConnectorPlugin.getDefault().getPluginId(), e.getMessage(), e));
+ } catch (NoWorkTreeException e) {
+ EMFDiffMergeGitConnectorPlugin.getDefault().getLog().log(new Status(
+ IStatus.ERROR, EMFDiffMergeGitConnectorPlugin.getDefault().getPluginId(), e.getMessage(), e));
+ }
+ } else if (revision instanceof CommitFileRevision) {
+ // Git commit
+ result = new GitCommitURIConverter(((CommitFileRevision)revision).getRevCommit(), repo);
+ }
+ }
+ }
+ if (result == null)
+ result = super.getURIConverterForRevision(revision);
+ return result;
+ }
+
+ /**
+ * @see org.eclipse.emf.diffmerge.connector.core.ext.AbstractRevisionScopeDefinitionFactory#getURIForRevision(org.eclipse.team.core.history.IFileRevision)
+ */
+ @Override
+ protected URI getURIForRevision(IFileRevision revision) throws CoreException {
+ IResourceVariant variant = getVariant(revision);
+ final String SCHEME_SEP = ":/"; //$NON-NLS-1$
+ URI result;
+ if (variant instanceof GitRemoteResource) {
+ result = URI.createURI(
+ GitHelper.INSTANCE.getSchemeRemote() + SCHEME_SEP + ((GitRemoteResource)variant).getPath());
+ } else if (revision instanceof IndexFileRevision) {
+ result = URI.createURI(
+ GitHelper.INSTANCE.getSchemeIndex() + SCHEME_SEP + revision.getURI().toString());
+ } else if (revision instanceof CommitFileRevision) {
+ result = URI.createURI(
+ GitHelper.INSTANCE.getSchemeCommit() + SCHEME_SEP + revision.getURI().toString());
+ } else {
+ result = super.getURIForRevision(revision);
+ }
+ return result;
+ }
+
+ /**
+ * @see org.eclipse.emf.diffmerge.connector.core.ext.AbstractRevisionScopeDefinitionFactory#getLabelForRevision(org.eclipse.team.core.history.IFileRevision, org.eclipse.compare.ITypedElement)
+ */
+ @Override
+ protected String getLabelForRevision(IFileRevision revision_p, ITypedElement entrypoint_p) {
+ String result;
+ IResourceVariant variant = getVariant(revision_p);
+ if (variant instanceof GitRemoteResource) {
+ result = String.format(Messages.GitRevisionScopeDefinitionFactory_LabelRemote,
+ revision_p.getName(), variant.getContentIdentifier());
+ } else if (revision_p instanceof IndexFileRevision) {
+ result = String.format(Messages.GitRevisionScopeDefinitionFactory_LabelIndex, revision_p.getName());
+ } else if (revision_p instanceof CommitFileRevision) {
+ result = String.format(Messages.GitRevisionScopeDefinitionFactory_LabelCommit, revision_p.getName(),
+ getContentIdentifier(((CommitFileRevision)revision_p).getRevCommit()));
+ } else if (revision_p instanceof WorkspaceFileRevision) {
+ result = String.format(Messages.GitRevisionScopeDefinitionFactory_LabelWorkspace, revision_p.getName());
+ } else {
+ result = super.getLabelForRevision(revision_p, entrypoint_p);
+ }
+ return result;
+ }
+
+ /**
+ * @see org.eclipse.emf.diffmerge.connector.core.ext.AbstractRevisionScopeDefinitionFactory#isApplicableToRevision(org.eclipse.team.core.history.IFileRevision, org.eclipse.compare.ITypedElement)
+ */
+ @Override
+ protected boolean isApplicableToRevision(IFileRevision revision_p, ITypedElement entrypoint_p) {
+ return revision_p instanceof GitFileRevision ||
+ getVariant(revision_p) instanceof GitRemoteResource;
+ }
+
} \ No newline at end of file
diff --git a/plugins/org.eclipse.emf.diffmerge.connector.git/src/org/eclipse/emf/diffmerge/connector/git/messages.properties b/plugins/org.eclipse.emf.diffmerge.connector.git/src/org/eclipse/emf/diffmerge/connector/git/messages.properties
index c98b396e..66157150 100644
--- a/plugins/org.eclipse.emf.diffmerge.connector.git/src/org/eclipse/emf/diffmerge/connector/git/messages.properties
+++ b/plugins/org.eclipse.emf.diffmerge.connector.git/src/org/eclipse/emf/diffmerge/connector/git/messages.properties
@@ -1,17 +1,17 @@
-###############################################################################
-# Copyright (c) 2015-2016 Intel Corporation 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
-###############################################################################
-AbstractGitURIConverter_CannotFindResource=Cannot find IResource at: %s
-GitHelper_NoConflictInfoFound=Cannot find conflict information for resource at: %s
-GitHelper_NoRepoFound=Cannot find Git repository for resource at: %s
-GitIndexRevisionScopeDefinitionFactory_LabelIndexEditable=Index (editable): %s
-GitIndexRevisionScopeDefinitionFactory_LabelIndexReadOnly=Index: %s
-GitIndexRevisionScopeDefinitionFactory_LabelLocal=Local: %s
-GitRevisionScopeDefinitionFactory_LabelCommit=Commit: %1$s %2$s
-GitRevisionScopeDefinitionFactory_LabelIndex=Index: %1$s
-GitRevisionScopeDefinitionFactory_LabelRemote=%1$s %2$s
-GitRevisionScopeDefinitionFactory_LabelWorkspace=Workspace: %1$s
+###############################################################################
+# Copyright (c) 2015-2017 Intel Corporation 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
+###############################################################################
+AbstractGitURIConverter_CannotFindResource=Cannot find IResource at: %s
+GitHelper_NoConflictInfoFound=Cannot find conflict information for resource at: %s
+GitHelper_NoRepoFound=Cannot find Git repository for resource at: %s
+GitIndexRevisionScopeDefinitionFactory_LabelIndexEditable=Index (editable): %s
+GitIndexRevisionScopeDefinitionFactory_LabelIndexReadOnly=Index: %s
+GitIndexRevisionScopeDefinitionFactory_LabelLocal=Local: %s
+GitRevisionScopeDefinitionFactory_LabelCommit=Commit: %1$s %2$s
+GitRevisionScopeDefinitionFactory_LabelIndex=Index: %1$s
+GitRevisionScopeDefinitionFactory_LabelRemote=%1$s %2$s
+GitRevisionScopeDefinitionFactory_LabelWorkspace=Workspace: %1$s
diff --git a/plugins/org.eclipse.emf.diffmerge.connector.svn/build.properties b/plugins/org.eclipse.emf.diffmerge.connector.svn/build.properties
index 6f76a7e1..f9fd2458 100644
--- a/plugins/org.eclipse.emf.diffmerge.connector.svn/build.properties
+++ b/plugins/org.eclipse.emf.diffmerge.connector.svn/build.properties
@@ -1,15 +1,15 @@
-###############################################################################
-# Copyright (c) 2015-2016 Intel Corporation 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
-###############################################################################
-source.. = src/
-output.. = bin/
-bin.includes = META-INF/,\
- .,\
- plugin.xml,\
- plugin.properties,\
- about.html
-src.includes = about.html
+###############################################################################
+# Copyright (c) 2015-2017 Intel Corporation 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
+###############################################################################
+source.. = src/
+output.. = bin/
+bin.includes = META-INF/,\
+ .,\
+ plugin.xml,\
+ plugin.properties,\
+ about.html
+src.includes = about.html
diff --git a/plugins/org.eclipse.emf.diffmerge.connector.svn/plugin.properties b/plugins/org.eclipse.emf.diffmerge.connector.svn/plugin.properties
index 96cb864c..f96bd214 100644
--- a/plugins/org.eclipse.emf.diffmerge.connector.svn/plugin.properties
+++ b/plugins/org.eclipse.emf.diffmerge.connector.svn/plugin.properties
@@ -1,5 +1,5 @@
###############################################################################
-# Copyright (c) 2015-2016 Intel Corporation and others.
+# Copyright (c) 2015-2017 Intel Corporation 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
diff --git a/plugins/org.eclipse.emf.diffmerge.connector.svn/plugin.xml b/plugins/org.eclipse.emf.diffmerge.connector.svn/plugin.xml
index d004aed7..72b283a9 100644
--- a/plugins/org.eclipse.emf.diffmerge.connector.svn/plugin.xml
+++ b/plugins/org.eclipse.emf.diffmerge.connector.svn/plugin.xml
@@ -1,30 +1,30 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.4"?>
-<!--
- Copyright (c) 2015-2016 Intel Corporation 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:
- Stephane Bouchet (Intel Corporation) - initial API and implementation
- Olivier Constant (Thales Global Services) - tight integration
--->
-<plugin>
- <extension point="org.eclipse.emf.diffmerge.ui.modelComparisonContext">
- <scopeDefinition
- factory="org.eclipse.emf.diffmerge.connector.svn.ext.SVNLocalScopeDefinitionFactory">
- </scopeDefinition>
- </extension>
- <extension point="org.eclipse.emf.diffmerge.ui.modelComparisonContext">
- <scopeDefinition
- factory="org.eclipse.emf.diffmerge.connector.svn.ext.SVNRemoteScopeDefinitionFactory">
- </scopeDefinition>
- </extension>
- <extension point="org.eclipse.emf.diffmerge.ui.modelComparisonContext">
- <scopeDefinition
- factory="org.eclipse.emf.diffmerge.connector.svn.ext.SVNRevisionScopeDefinitionFactory">
- </scopeDefinition>
- </extension>
-</plugin>
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.4"?>
+<!--
+ Copyright (c) 2015-2017 Intel Corporation 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:
+ Stephane Bouchet (Intel Corporation) - initial API and implementation
+ Olivier Constant (Thales Global Services) - tight integration
+-->
+<plugin>
+ <extension point="org.eclipse.emf.diffmerge.ui.modelComparisonContext">
+ <scopeDefinition
+ factory="org.eclipse.emf.diffmerge.connector.svn.ext.SVNLocalScopeDefinitionFactory">
+ </scopeDefinition>
+ </extension>
+ <extension point="org.eclipse.emf.diffmerge.ui.modelComparisonContext">
+ <scopeDefinition
+ factory="org.eclipse.emf.diffmerge.connector.svn.ext.SVNRemoteScopeDefinitionFactory">
+ </scopeDefinition>
+ </extension>
+ <extension point="org.eclipse.emf.diffmerge.ui.modelComparisonContext">
+ <scopeDefinition
+ factory="org.eclipse.emf.diffmerge.connector.svn.ext.SVNRevisionScopeDefinitionFactory">
+ </scopeDefinition>
+ </extension>
+</plugin>
diff --git a/plugins/org.eclipse.emf.diffmerge.connector.svn/src/org/eclipse/emf/diffmerge/connector/svn/EMFDiffMergeSVNConnectorPlugin.java b/plugins/org.eclipse.emf.diffmerge.connector.svn/src/org/eclipse/emf/diffmerge/connector/svn/EMFDiffMergeSVNConnectorPlugin.java
index 249206c3..1597268b 100644
--- a/plugins/org.eclipse.emf.diffmerge.connector.svn/src/org/eclipse/emf/diffmerge/connector/svn/EMFDiffMergeSVNConnectorPlugin.java
+++ b/plugins/org.eclipse.emf.diffmerge.connector.svn/src/org/eclipse/emf/diffmerge/connector/svn/EMFDiffMergeSVNConnectorPlugin.java
@@ -1,68 +1,68 @@
-/*******************************************************************************
- * Copyright (c) 2015-2016 Intel Corporation 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:
- * Stephane Bouchet (Intel Corporation) - initial API and implementation
- * Olivier Constant (Thales Global Services) - tight integration
- *******************************************************************************/
-package org.eclipse.emf.diffmerge.connector.svn;
-
-import org.eclipse.ui.plugin.AbstractUIPlugin;
-import org.osgi.framework.BundleContext;
-
-
-/**
- * The activator class for this plug-in.
- */
-public class EMFDiffMergeSVNConnectorPlugin extends AbstractUIPlugin {
-
- /** The shared instance */
- private static EMFDiffMergeSVNConnectorPlugin __plugin;
-
-
- /**
- * Constructor
- */
- public EMFDiffMergeSVNConnectorPlugin() {
- // Nothing needed
- }
-
- /**
- * Return the shared instance of this activator
- * @return a non-null object
- */
- public static EMFDiffMergeSVNConnectorPlugin getDefault() {
- return __plugin;
- }
-
- /**
- * Return the ID of this plug-in according to MANIFEST.MF
- * @return a non-null string
- */
- public String getPluginId() {
- return getBundle().getSymbolicName();
- }
-
- /**
- * @see org.eclipse.ui.plugin.AbstractUIPlugin#start(org.osgi.framework.BundleContext)
- */
- @Override
- public void start(BundleContext context_p) throws Exception {
- super.start(context_p);
- __plugin = this;
- }
-
- /**
- * @see org.eclipse.ui.plugin.AbstractUIPlugin#stop(org.osgi.framework.BundleContext)
- */
- @Override
- public void stop(BundleContext context_p) throws Exception {
- __plugin = null;
- super.stop(context_p);
- }
-
-}
+/*******************************************************************************
+ * Copyright (c) 2015-2017 Intel Corporation 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:
+ * Stephane Bouchet (Intel Corporation) - initial API and implementation
+ * Olivier Constant (Thales Global Services) - tight integration
+ *******************************************************************************/
+package org.eclipse.emf.diffmerge.connector.svn;
+
+import org.eclipse.ui.plugin.AbstractUIPlugin;
+import org.osgi.framework.BundleContext;
+
+
+/**
+ * The activator class for this plug-in.
+ */
+public class EMFDiffMergeSVNConnectorPlugin extends AbstractUIPlugin {
+
+ /** The shared instance */
+ private static EMFDiffMergeSVNConnectorPlugin __plugin;
+
+
+ /**
+ * Constructor
+ */
+ public EMFDiffMergeSVNConnectorPlugin() {
+ // Nothing needed
+ }
+
+ /**
+ * Return the shared instance of this activator
+ * @return a non-null object
+ */
+ public static EMFDiffMergeSVNConnectorPlugin getDefault() {
+ return __plugin;
+ }
+
+ /**
+ * Return the ID of this plug-in according to MANIFEST.MF
+ * @return a non-null string
+ */
+ public String getPluginId() {
+ return getBundle().getSymbolicName();
+ }
+
+ /**
+ * @see org.eclipse.ui.plugin.AbstractUIPlugin#start(org.osgi.framework.BundleContext)
+ */
+ @Override
+ public void start(BundleContext context_p) throws Exception {
+ super.start(context_p);
+ __plugin = this;
+ }
+
+ /**
+ * @see org.eclipse.ui.plugin.AbstractUIPlugin#stop(org.osgi.framework.BundleContext)
+ */
+ @Override
+ public void stop(BundleContext context_p) throws Exception {
+ __plugin = null;
+ super.stop(context_p);
+ }
+
+}
diff --git a/plugins/org.eclipse.emf.diffmerge.connector.svn/src/org/eclipse/emf/diffmerge/connector/svn/Messages.java b/plugins/org.eclipse.emf.diffmerge.connector.svn/src/org/eclipse/emf/diffmerge/connector/svn/Messages.java
index 0599e4bc..73dbc37b 100644
--- a/plugins/org.eclipse.emf.diffmerge.connector.svn/src/org/eclipse/emf/diffmerge/connector/svn/Messages.java
+++ b/plugins/org.eclipse.emf.diffmerge.connector.svn/src/org/eclipse/emf/diffmerge/connector/svn/Messages.java
@@ -1,38 +1,38 @@
-/*******************************************************************************
- * Copyright (c) 2015-2016 Intel Corporation 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:
- * Stephane Bouchet (Intel Corporation) - initial API and implementation
- * Olivier Constant (Thales Global Services) - tight integration
- *******************************************************************************/
-package org.eclipse.emf.diffmerge.connector.svn;
-
-import org.eclipse.osgi.util.NLS;
-
-
-/**
- * String management.
- */
-@SuppressWarnings("javadoc")
-public class Messages extends NLS {
- private static final String BUNDLE_NAME = "org.eclipse.emf.diffmerge.connector.svn.messages"; //$NON-NLS-1$
- public static String SVNHistoryURIConverter_CannotLoad;
- public static String SVNHistoryURIConverter_CannotLoad_Located;
- public static String SVNRemoteScopeDefinitionFactory_LabelBase;
- public static String SVNRemoteScopeDefinitionFactory_LabelHead;
- public static String SVNRemoteScopeDefinitionFactory_LabelRev;
- public static String SVNRevisionScopeDefinitionFactory_LabelRevision;
-
- static {
- // initialize resource bundle
- NLS.initializeMessages(BUNDLE_NAME, Messages.class);
- }
-
- private Messages() {
- // Nothing needed
- }
-}
+/*******************************************************************************
+ * Copyright (c) 2015-2017 Intel Corporation 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:
+ * Stephane Bouchet (Intel Corporation) - initial API and implementation
+ * Olivier Constant (Thales Global Services) - tight integration
+ *******************************************************************************/
+package org.eclipse.emf.diffmerge.connector.svn;
+
+import org.eclipse.osgi.util.NLS;
+
+
+/**
+ * String management.
+ */
+@SuppressWarnings("javadoc")
+public class Messages extends NLS {
+ private static final String BUNDLE_NAME = "org.eclipse.emf.diffmerge.connector.svn.messages"; //$NON-NLS-1$
+ public static String SVNHistoryURIConverter_CannotLoad;
+ public static String SVNHistoryURIConverter_CannotLoad_Located;
+ public static String SVNRemoteScopeDefinitionFactory_LabelBase;
+ public static String SVNRemoteScopeDefinitionFactory_LabelHead;
+ public static String SVNRemoteScopeDefinitionFactory_LabelRev;
+ public static String SVNRevisionScopeDefinitionFactory_LabelRevision;
+
+ static {
+ // initialize resource bundle
+ NLS.initializeMessages(BUNDLE_NAME, Messages.class);
+ }
+
+ private Messages() {
+ // Nothing needed
+ }
+}
diff --git a/plugins/org.eclipse.emf.diffmerge.connector.svn/src/org/eclipse/emf/diffmerge/connector/svn/ext/SVNHistoryURIConverter.java b/plugins/org.eclipse.emf.diffmerge.connector.svn/src/org/eclipse/emf/diffmerge/connector/svn/ext/SVNHistoryURIConverter.java
index 3aacbb3c..db7c401c 100644
--- a/plugins/org.eclipse.emf.diffmerge.connector.svn/src/org/eclipse/emf/diffmerge/connector/svn/ext/SVNHistoryURIConverter.java
+++ b/plugins/org.eclipse.emf.diffmerge.connector.svn/src/org/eclipse/emf/diffmerge/connector/svn/ext/SVNHistoryURIConverter.java
@@ -1,107 +1,107 @@
-/*******************************************************************************
- * Copyright (c) 2015-2016 Intel Corporation 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:
- * Stephane Bouchet (Intel Corporation) - initial API and implementation
- * Olivier Constant (Thales Global Services) - tight integration
- *******************************************************************************/
-package org.eclipse.emf.diffmerge.connector.svn.ext;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.NullProgressMonitor;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.emf.common.util.URI;
-import org.eclipse.emf.diffmerge.connector.svn.EMFDiffMergeSVNConnectorPlugin;
-import org.eclipse.emf.diffmerge.connector.svn.Messages;
-import org.eclipse.emf.ecore.resource.impl.ExtensibleURIConverterImpl;
-import org.eclipse.team.svn.core.connector.SVNRevision;
-import org.eclipse.team.svn.core.operation.AbstractGetFileContentOperation;
-import org.eclipse.team.svn.core.operation.IActionOperation;
-import org.eclipse.team.svn.core.operation.local.GetLocalFileContentOperation;
-import org.eclipse.team.svn.core.operation.remote.GetFileContentOperation;
-import org.eclipse.team.svn.core.resource.IRepositoryLocation;
-import org.eclipse.team.svn.core.resource.IRepositoryResource;
-import org.eclipse.team.svn.core.svnstorage.SVNRemoteStorage;
-
-
-/**
- * A URI Converter for file revisions in the SVN history.
- */
-public class SVNHistoryURIConverter extends ExtensibleURIConverterImpl {
-
- /** The scheme for SVN repo locations */
- protected static final String SVN_SCHEME = "svn"; //$NON-NLS-1$
-
- /** The non-null repository location */
- protected final IRepositoryLocation _repoLocation;
-
- /** The non-null SVN revision */
- protected final SVNRevision _revision;
-
-
- /**
- * Constructor
- * @param repositoryLocation_p a non-null repository location
- * @param revision_p a non-null SVN revision
- */
- public SVNHistoryURIConverter(IRepositoryLocation repositoryLocation_p, SVNRevision revision_p) {
- _repoLocation = repositoryLocation_p;
- _revision = revision_p;
- }
-
- /**
- * @see org.eclipse.emf.ecore.resource.impl.ExtensibleURIConverterImpl#createInputStream(org.eclipse.emf.common.util.URI, java.util.Map)
- */
- @Override
- public InputStream createInputStream(URI uri_p, Map<?, ?> options_p) throws IOException {
- // Strip the URI that contains the repo location
- String scheme = uri_p.scheme();
- if (scheme != null && scheme.startsWith(SVN_SCHEME)) {
- // Try to locate the file locally
- String basepath = _repoLocation.getRepositoryRootUrl();
- List<String> basePathSegmentsList = URI.createURI(basepath).segmentsList();
- List<String> newPathList = new ArrayList<String>(uri_p.segmentsList());
- newPathList.removeAll(basePathSegmentsList);
- IPath newPath = new Path(
- URI.createHierarchicalURI(newPathList.toArray(new String[] {}), uri_p.query(),
- uri_p.fragment()).devicePath());
- IResource target = ResourcesPlugin.getWorkspace().getRoot().getFile(newPath);
- if (target.exists()) {
- AbstractGetFileContentOperation op;
- if (_revision.equals(SVNRevision.BASE)) {
- op = new GetLocalFileContentOperation(target, SVNRevision.BASE.getKind());
- } else {
- IRepositoryResource res = SVNRemoteStorage.instance().asRepositoryResource(target);
- // Get the remote contents associated with the revision ID
- res.setSelectedRevision(_revision);
- op=new GetFileContentOperation(res);
- }
- op.run(new NullProgressMonitor());
- if (op.getExecutionState() != IActionOperation.OK)
- EMFDiffMergeSVNConnectorPlugin.getDefault().getLog().log(
- new Status(IStatus.ERROR, EMFDiffMergeSVNConnectorPlugin.getDefault().getPluginId(),
- String.format(Messages.SVNHistoryURIConverter_CannotLoad, op.getStatus().getMessage())));
- return op.getContent();
- }
- EMFDiffMergeSVNConnectorPlugin.getDefault().getLog().log(
- new Status(IStatus.ERROR, EMFDiffMergeSVNConnectorPlugin.getDefault().getPluginId(),
- String.format(Messages.SVNHistoryURIConverter_CannotLoad_Located, uri_p)));
- }
- return super.createInputStream(uri_p, options_p);
- }
-
+/*******************************************************************************
+ * Copyright (c) 2015-2017 Intel Corporation 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:
+ * Stephane Bouchet (Intel Corporation) - initial API and implementation
+ * Olivier Constant (Thales Global Services) - tight integration
+ *******************************************************************************/
+package org.eclipse.emf.diffmerge.connector.svn.ext;
+
+import java.io.IOException;
+import java.io.InputStream;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
+
+import org.eclipse.core.resources.IResource;
+import org.eclipse.core.resources.ResourcesPlugin;
+import org.eclipse.core.runtime.IPath;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.NullProgressMonitor;
+import org.eclipse.core.runtime.Path;
+import org.eclipse.core.runtime.Status;
+import org.eclipse.emf.common.util.URI;
+import org.eclipse.emf.diffmerge.connector.svn.EMFDiffMergeSVNConnectorPlugin;
+import org.eclipse.emf.diffmerge.connector.svn.Messages;
+import org.eclipse.emf.ecore.resource.impl.ExtensibleURIConverterImpl;
+import org.eclipse.team.svn.core.connector.SVNRevision;
+import org.eclipse.team.svn.core.operation.AbstractGetFileContentOperation;
+import org.eclipse.team.svn.core.operation.IActionOperation;
+import org.eclipse.team.svn.core.operation.local.GetLocalFileContentOperation;
+import org.eclipse.team.svn.core.operation.remote.GetFileContentOperation;
+import org.eclipse.team.svn.core.resource.IRepositoryLocation;
+import org.eclipse.team.svn.core.resource.IRepositoryResource;
+import org.eclipse.team.svn.core.svnstorage.SVNRemoteStorage;
+
+
+/**
+ * A URI Converter for file revisions in the SVN history.
+ */
+public class SVNHistoryURIConverter extends ExtensibleURIConverterImpl {
+
+ /** The scheme for SVN repo locations */
+ protected static final String SVN_SCHEME = "svn"; //$NON-NLS-1$
+
+ /** The non-null repository location */
+ protected final IRepositoryLocation _repoLocation;
+
+ /** The non-null SVN revision */
+ protected final SVNRevision _revision;
+
+
+ /**
+ * Constructor
+ * @param repositoryLocation_p a non-null repository location
+ * @param revision_p a non-null SVN revision
+ */
+ public SVNHistoryURIConverter(IRepositoryLocation repositoryLocation_p, SVNRevision revision_p) {
+ _repoLocation = repositoryLocation_p;
+ _revision = revision_p;
+ }
+
+ /**
+ * @see org.eclipse.emf.ecore.resource.impl.ExtensibleURIConverterImpl#createInputStream(org.eclipse.emf.common.util.URI, java.util.Map)
+ */
+ @Override
+ public InputStream createInputStream(URI uri_p, Map<?, ?> options_p) throws IOException {
+ // Strip the URI that contains the repo location
+ String scheme = uri_p.scheme();
+ if (scheme != null && scheme.startsWith(SVN_SCHEME)) {
+ // Try to locate the file locally
+ String basepath = _repoLocation.getRepositoryRootUrl();
+ List<String> basePathSegmentsList = URI.createURI(basepath).segmentsList();
+ List<String> newPathList = new ArrayList<String>(uri_p.segmentsList());
+ newPathList.removeAll(basePathSegmentsList);
+ IPath newPath = new Path(
+ URI.createHierarchicalURI(newPathList.toArray(new String[] {}), uri_p.query(),
+ uri_p.fragment()).devicePath());
+ IResource target = ResourcesPlugin.getWorkspace().getRoot().getFile(newPath);
+ if (target.exists()) {
+ AbstractGetFileContentOperation op;
+ if (_revision.equals(SVNRevision.BASE)) {
+ op = new GetLocalFileContentOperation(target, SVNRevision.BASE.getKind());
+ } else {
+ IRepositoryResource res = SVNRemoteStorage.instance().asRepositoryResource(target);
+ // Get the remote contents associated with the revision ID
+ res.setSelectedRevision(_revision);
+ op=new GetFileContentOperation(res);
+ }
+ op.run(new NullProgressMonitor());
+ if (op.getExecutionState() != IActionOperation.OK)
+ EMFDiffMergeSVNConnectorPlugin.getDefault().getLog().log(
+ new Status(IStatus.ERROR, EMFDiffMergeSVNConnectorPlugin.getDefault().getPluginId(),
+ String.format(Messages.SVNHistoryURIConverter_CannotLoad, op.getStatus().getMessage())));
+ return op.getContent();
+ }
+ EMFDiffMergeSVNConnectorPlugin.getDefault().getLog().log(
+ new Status(IStatus.ERROR, EMFDiffMergeSVNConnectorPlugin.getDefault().getPluginId(),
+ String.format(Messages.SVNHistoryURIConverter_CannotLoad_Located, uri_p)));
+ }
+ return super.createInputStream(uri_p, options_p);
+ }
+
} \ No newline at end of file
diff --git a/plugins/org.eclipse.emf.diffmerge.connector.svn/src/org/eclipse/emf/diffmerge/connector/svn/ext/SVNLocalScopeDefinitionFactory.java b/plugins/org.eclipse.emf.diffmerge.connector.svn/src/org/eclipse/emf/diffmerge/connector/svn/ext/SVNLocalScopeDefinitionFactory.java
index 73050d19..c2f04460 100644
--- a/plugins/org.eclipse.emf.diffmerge.connector.svn/src/org/eclipse/emf/diffmerge/connector/svn/ext/SVNLocalScopeDefinitionFactory.java
+++ b/plugins/org.eclipse.emf.diffmerge.connector.svn/src/org/eclipse/emf/diffmerge/connector/svn/ext/SVNLocalScopeDefinitionFactory.java
@@ -1,67 +1,67 @@
-/*******************************************************************************
- * Copyright (c) 2015-2016 Intel Corporation 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:
- * Stephane Bouchet (Intel Corporation) - initial API and implementation
- * Olivier Constant (Thales Global Services) - tight integration
- *******************************************************************************/
-package org.eclipse.emf.diffmerge.connector.svn.ext;
-
-import java.util.Collection;
-import java.util.Collections;
-
-import org.eclipse.emf.common.util.URI;
-import org.eclipse.emf.diffmerge.ui.specification.ext.URIScopeDefinitionFactory;
-import org.eclipse.team.svn.ui.compare.ResourceCompareInput.ResourceElement;
-
-
-/**
- * A scope definition factory for local SVN files.
- */
-public class SVNLocalScopeDefinitionFactory extends URIScopeDefinitionFactory {
-
- /**
- * @see org.eclipse.emf.diffmerge.ui.specification.ext.URIScopeDefinitionFactory#convertToURI(java.lang.Object)
- */
- @Override
- protected URI convertToURI(Object entrypoint_p) {
- URI result;
- if (entrypoint_p instanceof ResourceElement)
- result = getResourceElementURI((ResourceElement)entrypoint_p);
- else
- result = super.convertToURI(entrypoint_p);
- return result;
- }
-
- /**
- * @see org.eclipse.emf.diffmerge.ui.specification.AbstractScopeDefinitionFactory#getOverridenClasses()
- */
- @Override
- public Collection<? extends Class<?>> getOverridenClasses() {
- return Collections.<Class<?>> singleton(URIScopeDefinitionFactory.class);
- }
-
- /**
- * Return a URI for the given ResourceElement
- * @param resourceElement_p a non-null object
- * @return a non-null URI
- */
- protected URI getResourceElementURI(ResourceElement resourceElement_p) {
- return URI.createPlatformResourceURI(
- resourceElement_p.getLocalResource().getResource().getFullPath().toOSString(), true);
- }
-
- /**
- * @see org.eclipse.emf.diffmerge.ui.specification.ext.URIScopeDefinitionFactory#isApplicableTo(java.lang.Object)
- */
- @Override
- public boolean isApplicableTo(Object entrypoint_p) {
- return entrypoint_p instanceof ResourceElement &&
- ((ResourceElement)entrypoint_p).isEditable();
- }
-
-}
+/*******************************************************************************
+ * Copyright (c) 2015-2017 Intel Corporation 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:
+ * Stephane Bouchet (Intel Corporation) - initial API and implementation
+ * Olivier Constant (Thales Global Services) - tight integration
+ *******************************************************************************/
+package org.eclipse.emf.diffmerge.connector.svn.ext;
+
+import java.util.Collection;
+import java.util.Collections;
+
+import org.eclipse.emf.common.util.URI;
+import org.eclipse.emf.diffmerge.ui.specification.ext.URIScopeDefinitionFactory;
+import org.eclipse.team.svn.ui.compare.ResourceCompareInput.ResourceElement;
+
+
+/**
+ * A scope definition factory for local SVN files.
+ */
+public class SVNLocalScopeDefinitionFactory extends URIScopeDefinitionFactory {
+
+ /**
+ * @see org.eclipse.emf.diffmerge.ui.specification.ext.URIScopeDefinitionFactory#convertToURI(java.lang.Object)
+ */
+ @Override
+ protected URI convertToURI(Object entrypoint_p) {
+ URI result;
+ if (entrypoint_p instanceof ResourceElement)
+ result = getResourceElementURI((ResourceElement)entrypoint_p);
+ else
+ result = super.convertToURI(entrypoint_p);
+ return result;
+ }
+
+ /**
+ * @see org.eclipse.emf.diffmerge.ui.specification.AbstractScopeDefinitionFactory#getOverridenClasses()
+ */
+ @Override
+ public Collection<? extends Class<?>> getOverridenClasses() {
+ return Collections.<Class<?>> singleton(URIScopeDefinitionFactory.class);
+ }
+
+ /**
+ * Return a URI for the given ResourceElement
+ * @param resourceElement_p a non-null object
+ * @return a non-null URI
+ */
+ protected URI getResourceElementURI(ResourceElement resourceElement_p) {
+ return URI.createPlatformResourceURI(
+ resourceElement_p.getLocalResource().getResource().getFullPath().toOSString(), true);
+ }
+
+ /**
+ * @see org.eclipse.emf.diffmerge.ui.specification.ext.URIScopeDefinitionFactory#isApplicableTo(java.lang.Object)
+ */
+ @Override
+ public boolean isApplicableTo(Object entrypoint_p) {
+ return entrypoint_p instanceof ResourceElement &&
+ ((ResourceElement)entrypoint_p).isEditable();
+ }
+
+}
diff --git a/plugins/org.eclipse.emf.diffmerge.connector.svn/src/org/eclipse/emf/diffmerge/connector/svn/ext/SVNRemoteScopeDefinitionFactory.java b/plugins/org.eclipse.emf.diffmerge.connector.svn/src/org/eclipse/emf/diffmerge/connector/svn/ext/SVNRemoteScopeDefinitionFactory.java
index ed5df18a..ba6bc9bc 100644
--- a/plugins/org.eclipse.emf.diffmerge.connector.svn/src/org/eclipse/emf/diffmerge/connector/svn/ext/SVNRemoteScopeDefinitionFactory.java
+++ b/plugins/org.eclipse.emf.diffmerge.connector.svn/src/org/eclipse/emf/diffmerge/connector/svn/ext/SVNRemoteScopeDefinitionFactory.java
@@ -1,114 +1,114 @@
-/*******************************************************************************
- * Copyright (c) 2015-2016 Intel Corporation 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:
- * Stephane Bouchet (Intel Corporation) - initial API and implementation
- * Olivier Constant (Thales Global Services) - tight integration
- *******************************************************************************/
-package org.eclipse.emf.diffmerge.connector.svn.ext;
-
-import java.io.InputStream;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.emf.common.util.URI;
-import org.eclipse.emf.diffmerge.connector.core.EMFDiffMergeCoreConnectorPlugin;
-import org.eclipse.emf.diffmerge.connector.core.ext.AbstractURIConvertingScopeDefinitionFactory;
-import org.eclipse.emf.diffmerge.connector.svn.Messages;
-import org.eclipse.emf.ecore.resource.URIConverter;
-import org.eclipse.team.svn.core.connector.SVNConnectorException;
-import org.eclipse.team.svn.core.connector.SVNRevision;
-import org.eclipse.team.svn.ui.compare.ResourceCompareInput.ResourceElement;
-
-
-/**
- * A scope definition factory for remote SVN files.
- */
-public class SVNRemoteScopeDefinitionFactory extends AbstractURIConvertingScopeDefinitionFactory {
-
- /**
- * @see org.eclipse.emf.diffmerge.ui.specification.ext.URIScopeDefinitionFactory#convertToURI(java.lang.Object)
- */
- @Override
- protected URI convertToURI(Object entrypoint_p) {
- URI result;
- if (entrypoint_p instanceof ResourceElement)
- result = getResourceElementURI((ResourceElement)entrypoint_p);
- else
- result = super.convertToURI(entrypoint_p);
- return result;
- }
-
- /**
- * @see org.eclipse.emf.diffmerge.ui.specification.ext.URIScopeDefinitionFactory#getLabelFor(java.lang.Object)
- */
- @Override
- protected String getLabelFor(Object entrypoint_p) {
- final ResourceElement res = (ResourceElement) entrypoint_p;
- SVNRevision rev = res.getRepositoryResource().getSelectedRevision();
- String result = null;
- try {
- String url = res.getRepositoryResource().getUrl();
- if (SVNRevision.BASE.equals(rev))
- result = String.format(Messages.SVNRemoteScopeDefinitionFactory_LabelBase, url);
- else if (SVNRevision.HEAD.equals(rev))
- result = String.format(Messages.SVNRemoteScopeDefinitionFactory_LabelHead, url);
- else
- result = String.format(Messages.SVNRemoteScopeDefinitionFactory_LabelRev,
- url, Long.toString(res.getRepositoryResource().getRevision()));
- } catch (SVNConnectorException e) {
- EMFDiffMergeCoreConnectorPlugin.getDefault().logError(e);
- }
- if (result == null)
- result = res.getName();
- return result;
- }
-
- /**
- * Return a URI for the given ResourceElement
- * @param resourceElement_p a non-null object
- * @return a non-null URI
- */
- protected URI getResourceElementURI(ResourceElement resourceElement_p) {
- return URI.createURI(resourceElement_p.getRepositoryResource().getUrl());
- }
-
- /**
- * @see org.eclipse.emf.diffmerge.connector.core.ext.AbstractURIConvertingScopeDefinitionFactory#getStream(java.lang.Object)
- */
- @Override
- protected InputStream getStream(Object entrypoint_p) throws CoreException {
- InputStream result;
- if (entrypoint_p instanceof ResourceElement)
- result = ((ResourceElement)entrypoint_p).getContents();
- else
- result = super.getStream(entrypoint_p);
- return result;
- }
-
- /**
- * @see org.eclipse.emf.diffmerge.connector.core.ext.AbstractURIConvertingScopeDefinitionFactory#getURIConverter(java.lang.Object)
- */
- @Override
- protected URIConverter getURIConverter(Object entrypoint_p) {
- URIConverter result = null;
- if (entrypoint_p instanceof ResourceElement) {
- ResourceElement res = (ResourceElement)entrypoint_p;
- result = new SVNHistoryURIConverter(res.getRepositoryResource().getRepositoryLocation(),
- res.getRepositoryResource().getSelectedRevision());
- }
- return result;
- }
-
- /**
- * @see org.eclipse.emf.diffmerge.ui.specification.ext.URIScopeDefinitionFactory#isApplicableTo(java.lang.Object)
- */
- @Override
- public boolean isApplicableTo(Object entrypoint_p) {
- return entrypoint_p instanceof ResourceElement && !((ResourceElement)entrypoint_p).isEditable();
- }
-
-}
+/*******************************************************************************
+ * Copyright (c) 2015-2017 Intel Corporation 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:
+ * Stephane Bouchet (Intel Corporation) - initial API and implementation
+ * Olivier Constant (Thales Global Services) - tight integration
+ *******************************************************************************/
+package org.eclipse.emf.diffmerge.connector.svn.ext;
+
+import java.io.InputStream;
+
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.emf.common.util.URI;
+import org.eclipse.emf.diffmerge.connector.core.EMFDiffMergeCoreConnectorPlugin;
+import org.eclipse.emf.diffmerge.connector.core.ext.AbstractURIConvertingScopeDefinitionFactory;
+import org.eclipse.emf.diffmerge.connector.svn.Messages;
+import org.eclipse.emf.ecore.resource.URIConverter;
+import org.eclipse.team.svn.core.connector.SVNConnectorException;
+import org.eclipse.team.svn.core.connector.SVNRevision;
+import org.eclipse.team.svn.ui.compare.ResourceCompareInput.ResourceElement;
+
+
+/**
+ * A scope definition factory for remote SVN files.
+ */
+public class SVNRemoteScopeDefinitionFactory extends AbstractURIConvertingScopeDefinitionFactory {
+
+ /**
+ * @see org.eclipse.emf.diffmerge.ui.specification.ext.URIScopeDefinitionFactory#convertToURI(java.lang.Object)
+ */
+ @Override
+ protected URI convertToURI(Object entrypoint_p) {
+ URI result;
+ if (entrypoint_p instanceof ResourceElement)
+ result = getResourceElementURI((ResourceElement)entrypoint_p);
+ else
+ result = super.convertToURI(entrypoint_p);
+ return result;
+ }
+
+ /**
+ * @see org.eclipse.emf.diffmerge.ui.specification.ext.URIScopeDefinitionFactory#getLabelFor(java.lang.Object)
+ */
+ @Override
+ protected String getLabelFor(Object entrypoint_p) {
+ final ResourceElement res = (ResourceElement) entrypoint_p;
+ SVNRevision rev = res.getRepositoryResource().getSelectedRevision();
+ String result = null;
+ try {
+ String url = res.getRepositoryResource().getUrl();
+ if (SVNRevision.BASE.equals(rev))
+ result = String.format(Messages.SVNRemoteScopeDefinitionFactory_LabelBase, url);
+ else if (SVNRevision.HEAD.equals(rev))
+ result = String.format(Messages.SVNRemoteScopeDefinitionFactory_LabelHead, url);
+ else
+ result = String.format(Messages.SVNRemoteScopeDefinitionFactory_LabelRev,
+ url, Long.toString(res.getRepositoryResource().getRevision()));
+ } catch (SVNConnectorException e) {
+ EMFDiffMergeCoreConnectorPlugin.getDefault().logError(e);
+ }
+ if (result == null)
+ result = res.getName();
+ return result;
+ }
+
+ /**
+ * Return a URI for the given ResourceElement
+ * @param resourceElement_p a non-null object
+ * @return a non-null URI
+ */
+ protected URI getResourceElementURI(ResourceElement resourceElement_p) {
+ return URI.createURI(resourceElement_p.getRepositoryResource().getUrl());
+ }
+
+ /**
+ * @see org.eclipse.emf.diffmerge.connector.core.ext.AbstractURIConvertingScopeDefinitionFactory#getStream(java.lang.Object)
+ */
+ @Override
+ protected InputStream getStream(Object entrypoint_p) throws CoreException {
+ InputStream result;
+ if (entrypoint_p instanceof ResourceElement)
+ result = ((ResourceElement)entrypoint_p).getContents();
+ else
+ result = super.getStream(entrypoint_p);
+ return result;
+ }
+
+ /**
+ * @see org.eclipse.emf.diffmerge.connector.core.ext.AbstractURIConvertingScopeDefinitionFactory#getURIConverter(java.lang.Object)
+ */
+ @Override
+ protected URIConverter getURIConverter(Object entrypoint_p) {
+ URIConverter result = null;
+ if (entrypoint_p instanceof ResourceElement) {
+ ResourceElement res = (ResourceElement)entrypoint_p;
+ result = new SVNHistoryURIConverter(res.getRepositoryResource().getRepositoryLocation(),
+ res.getRepositoryResource().getSelectedRevision());
+ }
+ return result;
+ }
+
+ /**
+ * @see org.eclipse.emf.diffmerge.ui.specification.ext.URIScopeDefinitionFactory#isApplicableTo(java.lang.Object)
+ */
+ @Override
+ public boolean isApplicableTo(Object entrypoint_p) {
+ return entrypoint_p instanceof ResourceElement && !((ResourceElement)entrypoint_p).isEditable();
+ }
+
+}
diff --git a/plugins/org.eclipse.emf.diffmerge.connector.svn/src/org/eclipse/emf/diffmerge/connector/svn/ext/SVNRevisionScopeDefinitionFactory.java b/plugins/org.eclipse.emf.diffmerge.connector.svn/src/org/eclipse/emf/diffmerge/connector/svn/ext/SVNRevisionScopeDefinitionFactory.java
index d4cc071a..7de04c35 100644
--- a/plugins/org.eclipse.emf.diffmerge.connector.svn/src/org/eclipse/emf/diffmerge/connector/svn/ext/SVNRevisionScopeDefinitionFactory.java
+++ b/plugins/org.eclipse.emf.diffmerge.connector.svn/src/org/eclipse/emf/diffmerge/connector/svn/ext/SVNRevisionScopeDefinitionFactory.java
@@ -1,104 +1,104 @@
-/*******************************************************************************
- * Copyright (c) 2015-2016 Intel Corporation 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:
- * Stephane Bouchet (Intel Corporation) - initial API and implementation
- * Olivier Constant (Thales Global Services) - tight integration
- *******************************************************************************/
-package org.eclipse.emf.diffmerge.connector.svn.ext;
-
-import org.eclipse.compare.ITypedElement;
-import org.eclipse.core.resources.IStorage;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.emf.common.util.URI;
-import org.eclipse.emf.diffmerge.connector.core.ext.AbstractRevisionScopeDefinitionFactory;
-import org.eclipse.emf.diffmerge.connector.svn.Messages;
-import org.eclipse.emf.ecore.resource.URIConverter;
-import org.eclipse.emf.ecore.resource.impl.ExtensibleURIConverterImpl;
-import org.eclipse.team.core.history.IFileRevision;
-import org.eclipse.team.core.variants.IResourceVariant;
-import org.eclipse.team.svn.core.connector.SVNRevision;
-import org.eclipse.team.svn.core.resource.ILocalResource;
-import org.eclipse.team.svn.core.resource.IRepositoryLocation;
-import org.eclipse.team.svn.core.svnstorage.SVNRemoteStorage;
-import org.eclipse.team.svn.core.synchronize.variant.BaseFileVariant;
-import org.eclipse.team.svn.core.synchronize.variant.RemoteFileVariant;
-
-
-/**
- * A scope definition factory for file revisions in SVN history.
- * It is used in the Team Synchronizing perspective for the ancestor and remote scopes.
- */
-public class SVNRevisionScopeDefinitionFactory extends AbstractRevisionScopeDefinitionFactory {
-
- /**
- * @see org.eclipse.emf.diffmerge.connector.core.ext.AbstractRevisionScopeDefinitionFactory#getLabelForRevision(org.eclipse.team.core.history.IFileRevision, org.eclipse.compare.ITypedElement)
- */
- @Override
- protected String getLabelForRevision(IFileRevision revision_p, ITypedElement entrypoint_p) {
- String result = null;
- IResourceVariant variant = getVariant(revision_p);
- if (variant != null) {
- // Ancestor or remote
- result = String.format(
- Messages.SVNRevisionScopeDefinitionFactory_LabelRevision, variant.getContentIdentifier());
- }
- return result;
- }
-
- /**
- * @see org.eclipse.emf.diffmerge.connector.core.ext.AbstractRevisionScopeDefinitionFactory#getURIConverterForRevision(org.eclipse.team.core.history.IFileRevision)
- */
- @Override
- protected URIConverter getURIConverterForRevision(IFileRevision revision_p) throws CoreException {
- URIConverter result = null;
- IResourceVariant variant = getVariant(revision_p);
- if (variant instanceof BaseFileVariant) {
- // Ancestor
- ILocalResource res =((BaseFileVariant)variant).getResource();
- IRepositoryLocation location = SVNRemoteStorage.instance().getRepositoryLocation(res.getResource());
- result = new SVNHistoryURIConverter(location, SVNRevision.fromString(variant.getContentIdentifier()));
- } else {
- // Remote
- result = new ExtensibleURIConverterImpl();
- }
- return result;
- }
-
- /**
- * @see org.eclipse.emf.diffmerge.connector.core.ext.AbstractRevisionScopeDefinitionFactory#getURIForRevision(org.eclipse.team.core.history.IFileRevision)
- */
- @Override
- protected URI getURIForRevision(IFileRevision revision_p) throws CoreException {
- URI result = null;
- IResourceVariant variant = getVariant(revision_p);
- if (variant instanceof BaseFileVariant) {
- // Ancestor
- ILocalResource res = ((BaseFileVariant)variant).getResource();
- IRepositoryLocation location = SVNRemoteStorage.instance().getRepositoryLocation(res.getResource());
- result = URI.createURI(location.getRepositoryRootUrl() +
- ((BaseFileVariant)variant).getResource().getResource().getFullPath(), true);
- } else {
- // Remote
- IStorage storage = getStorage(revision_p);
- if (storage != null)
- result = toFileURI(storage.getFullPath().toString());
- }
- return result;
- }
-
- /**
- * @see org.eclipse.emf.diffmerge.connector.core.ext.AbstractRevisionScopeDefinitionFactory#isApplicableToRevision(org.eclipse.team.core.history.IFileRevision, org.eclipse.compare.ITypedElement)
- */
- @Override
- protected boolean isApplicableToRevision(IFileRevision revision_p, ITypedElement entrypoint_p) {
- IResourceVariant variant = getVariant(revision_p);
- // Ancestor and remote
- return variant instanceof BaseFileVariant || variant instanceof RemoteFileVariant;
- }
-
-}
+/*******************************************************************************
+ * Copyright (c) 2015-2017 Intel Corporation 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:
+ * Stephane Bouchet (Intel Corporation) - initial API and implementation
+ * Olivier Constant (Thales Global Services) - tight integration
+ *******************************************************************************/
+package org.eclipse.emf.diffmerge.connector.svn.ext;
+
+import org.eclipse.compare.ITypedElement;
+import org.eclipse.core.resources.IStorage;
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.emf.common.util.URI;
+import org.eclipse.emf.diffmerge.connector.core.ext.AbstractRevisionScopeDefinitionFactory;
+import org.eclipse.emf.diffmerge.connector.svn.Messages;
+import org.eclipse.emf.ecore.resource.URIConverter;
+import org.eclipse.emf.ecore.resource.impl.ExtensibleURIConverterImpl;
+import org.eclipse.team.core.history.IFileRevision;
+import org.eclipse.team.core.variants.IResourceVariant;
+import org.eclipse.team.svn.core.connector.SVNRevision;
+import org.eclipse.team.svn.core.resource.ILocalResource;
+import org.eclipse.team.svn.core.resource.IRepositoryLocation;
+import org.eclipse.team.svn.core.svnstorage.SVNRemoteStorage;
+import org.eclipse.team.svn.core.synchronize.variant.BaseFileVariant;
+import org.eclipse.team.svn.core.synchronize.variant.RemoteFileVariant;
+
+
+/**
+ * A scope definition factory for file revisions in SVN history.
+ * It is used in the Team Synchronizing perspective for the ancestor and remote scopes.
+ */
+public class SVNRevisionScopeDefinitionFactory extends AbstractRevisionScopeDefinitionFactory {
+
+ /**
+ * @see org.eclipse.emf.diffmerge.connector.core.ext.AbstractRevisionScopeDefinitionFactory#getLabelForRevision(org.eclipse.team.core.history.IFileRevision, org.eclipse.compare.ITypedElement)
+ */
+ @Override
+ protected String getLabelForRevision(IFileRevision revision_p, ITypedElement entrypoint_p) {
+ String result = null;
+ IResourceVariant variant = getVariant(revision_p);
+ if (variant != null) {
+ // Ancestor or remote
+ result = String.format(
+ Messages.SVNRevisionScopeDefinitionFactory_LabelRevision, variant.getContentIdentifier());
+ }
+ return result;
+ }
+
+ /**
+ * @see org.eclipse.emf.diffmerge.connector.core.ext.AbstractRevisionScopeDefinitionFactory#getURIConverterForRevision(org.eclipse.team.core.history.IFileRevision)
+ */
+ @Override
+ protected URIConverter getURIConverterForRevision(IFileRevision revision_p) throws CoreException {
+ URIConverter result = null;
+ IResourceVariant variant = getVariant(revision_p);
+ if (variant instanceof BaseFileVariant) {
+ // Ancestor
+ ILocalResource res =((BaseFileVariant)variant).getResource();
+ IRepositoryLocation location = SVNRemoteStorage.instance().getRepositoryLocation(res.getResource());
+ result = new SVNHistoryURIConverter(location, SVNRevision.fromString(variant.getContentIdentifier()));
+ } else {
+ // Remote
+ result = new ExtensibleURIConverterImpl();
+ }
+ return result;
+ }
+
+ /**
+ * @see org.eclipse.emf.diffmerge.connector.core.ext.AbstractRevisionScopeDefinitionFactory#getURIForRevision(org.eclipse.team.core.history.IFileRevision)
+ */
+ @Override
+ protected URI getURIForRevision(IFileRevision revision_p) throws CoreException {
+ URI result = null;
+ IResourceVariant variant = getVariant(revision_p);
+ if (variant instanceof BaseFileVariant) {
+ // Ancestor
+ ILocalResource res = ((BaseFileVariant)variant).getResource();
+ IRepositoryLocation location = SVNRemoteStorage.instance().getRepositoryLocation(res.getResource());
+ result = URI.createURI(location.getRepositoryRootUrl() +
+ ((BaseFileVariant)variant).getResource().getResource().getFullPath(), true);
+ } else {
+ // Remote
+ IStorage storage = getStorage(revision_p);
+ if (storage != null)
+ result = toFileURI(storage.getFullPath().toString());
+ }
+ return result;
+ }
+
+ /**
+ * @see org.eclipse.emf.diffmerge.connector.core.ext.AbstractRevisionScopeDefinitionFactory#isApplicableToRevision(org.eclipse.team.core.history.IFileRevision, org.eclipse.compare.ITypedElement)
+ */
+ @Override
+ protected boolean isApplicableToRevision(IFileRevision revision_p, ITypedElement entrypoint_p) {
+ IResourceVariant variant = getVariant(revision_p);
+ // Ancestor and remote
+ return variant instanceof BaseFileVariant || variant instanceof RemoteFileVariant;
+ }
+
+}
diff --git a/plugins/org.eclipse.emf.diffmerge.connector.svn/src/org/eclipse/emf/diffmerge/connector/svn/messages.properties b/plugins/org.eclipse.emf.diffmerge.connector.svn/src/org/eclipse/emf/diffmerge/connector/svn/messages.properties
index ea34885f..20c4c28e 100644
--- a/plugins/org.eclipse.emf.diffmerge.connector.svn/src/org/eclipse/emf/diffmerge/connector/svn/messages.properties
+++ b/plugins/org.eclipse.emf.diffmerge.connector.svn/src/org/eclipse/emf/diffmerge/connector/svn/messages.properties
@@ -1,13 +1,13 @@
-###############################################################################
-# Copyright (c) 2015-2016 Intel Corporation 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
-###############################################################################
-SVNHistoryURIConverter_CannotLoad=Cannot load resource: %s
-SVNHistoryURIConverter_CannotLoad_Located=Cannot load resource at: %s
-SVNRemoteScopeDefinitionFactory_LabelBase=%1$s [BASE]
-SVNRemoteScopeDefinitionFactory_LabelHead=%1$s [HEAD]
-SVNRemoteScopeDefinitionFactory_LabelRev=%1$s [Rev:%2$s]
-SVNRevisionScopeDefinitionFactory_LabelRevision=Remote File [Rev:%s]
+###############################################################################
+# Copyright (c) 2015-2017 Intel Corporation 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
+###############################################################################
+SVNHistoryURIConverter_CannotLoad=Cannot load resource: %s
+SVNHistoryURIConverter_CannotLoad_Located=Cannot load resource at: %s
+SVNRemoteScopeDefinitionFactory_LabelBase=%1$s [BASE]
+SVNRemoteScopeDefinitionFactory_LabelHead=%1$s [HEAD]
+SVNRemoteScopeDefinitionFactory_LabelRev=%1$s [Rev:%2$s]
+SVNRevisionScopeDefinitionFactory_LabelRevision=Remote File [Rev:%s]
diff --git a/plugins/org.eclipse.emf.diffmerge.gmf/build.properties b/plugins/org.eclipse.emf.diffmerge.gmf/build.properties
index 71bbfb3c..ad093bb3 100644
--- a/plugins/org.eclipse.emf.diffmerge.gmf/build.properties
+++ b/plugins/org.eclipse.emf.diffmerge.gmf/build.properties
@@ -1,14 +1,14 @@
-###############################################################################
-# Copyright (c) 2010-2016 Thales Global Services S.A.S.
-# 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
-###############################################################################
-source.. = src/
-output.. = bin/
-bin.includes = META-INF/,\
- .,\
- plugin.properties,\
- about.html
-src.includes = about.html
+###############################################################################
+# Copyright (c) 2010-2017 Thales Global Services S.A.S.
+# 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
+###############################################################################
+source.. = src/
+output.. = bin/
+bin.includes = META-INF/,\
+ .,\
+ plugin.properties,\
+ about.html
+src.includes = about.html
diff --git a/plugins/org.eclipse.emf.diffmerge.gmf/src/org/eclipse/emf/diffmerge/gmf/GMFDiffMergePlugin.java b/plugins/org.eclipse.emf.diffmerge.gmf/src/org/eclipse/emf/diffmerge/gmf/GMFDiffMergePlugin.java
index 5e5684fd..81dfdaf1 100644
--- a/plugins/org.eclipse.emf.diffmerge.gmf/src/org/eclipse/emf/diffmerge/gmf/GMFDiffMergePlugin.java
+++ b/plugins/org.eclipse.emf.diffmerge.gmf/src/org/eclipse/emf/diffmerge/gmf/GMFDiffMergePlugin.java
@@ -1,72 +1,72 @@
-/**
- * <copyright>
- *
- * Copyright (c) 2010-2016 Thales Global Services S.A.S.
- * 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:
- * Thales Global Services S.A.S. - initial API and implementation
- *
- * </copyright>
- */
-package org.eclipse.emf.diffmerge.gmf;
-
-import org.eclipse.core.runtime.Plugin;
-import org.osgi.framework.BundleContext;
-
-
-/**
- * The activator class for this plug-in.
- * @author Olivier Constant
- */
-public class GMFDiffMergePlugin extends Plugin {
-
- /** The shared instance */
- private static GMFDiffMergePlugin __plugin;
-
-
- /**
- * Constructor
- */
- public GMFDiffMergePlugin() {
- // Nothing needed
- }
-
- /**
- * Return the shared instance of the activator
- * @return a non-null instance
- */
- public static GMFDiffMergePlugin getDefault() {
- return __plugin;
- }
-
- /**
- * Return the ID of this plug-in according to MANIFEST.MF
- * @return a non-null string
- */
- public String getPluginId() {
- return getBundle().getSymbolicName();
- }
-
- /**
- * @see org.eclipse.core.runtime.Plugin#start(org.osgi.framework.BundleContext)
- */
- @Override
- public void start(BundleContext context_p) throws Exception {
- super.start(context_p);
- __plugin = this;
- }
-
- /**
- * @see org.eclipse.core.runtime.Plugin#stop(org.osgi.framework.BundleContext)
- */
- @Override
- public void stop(BundleContext context_p) throws Exception {
- __plugin = null;
- super.stop(context_p);
- }
-
-}
+/**
+ * <copyright>
+ *
+ * Copyright (c) 2010-2017 Thales Global Services S.A.S.
+ * 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:
+ * Thales Global Services S.A.S. - initial API and implementation
+ *
+ * </copyright>
+ */
+package org.eclipse.emf.diffmerge.gmf;
+
+import org.eclipse.core.runtime.Plugin;
+import org.osgi.framework.BundleContext;
+
+
+/**
+ * The activator class for this plug-in.
+ * @author Olivier Constant
+ */
+public class GMFDiffMergePlugin extends Plugin {
+
+ /** The shared instance */
+ private static GMFDiffMergePlugin __plugin;
+
+
+ /**
+ * Constructor
+ */
+ public GMFDiffMergePlugin() {
+ // Nothing needed
+ }
+
+ /**
+ * Return the shared instance of the activator
+ * @return a non-null instance
+ */
+ public static GMFDiffMergePlugin getDefault() {
+ return __plugin;
+ }
+
+ /**
+ * Return the ID of this plug-in according to MANIFEST.MF
+ * @return a non-null string
+ */
+ public String getPluginId() {
+ return getBundle().getSymbolicName();
+ }
+
+ /**
+ * @see org.eclipse.core.runtime.Plugin#start(org.osgi.framework.BundleContext)
+ */
+ @Override
+ public void start(BundleContext context_p) throws Exception {
+ super.start(context_p);
+ __plugin = this;
+ }
+
+ /**
+ * @see org.eclipse.core.runtime.Plugin#stop(org.osgi.framework.BundleContext)
+ */
+ @Override
+ public void stop(BundleContext context_p) throws Exception {
+ __plugin = null;
+ super.stop(context_p);
+ }
+
+}
diff --git a/plugins/org.eclipse.emf.diffmerge.gmf/src/org/eclipse/emf/diffmerge/gmf/GMFDiffPolicy.java b/plugins/org.eclipse.emf.diffmerge.gmf/src/org/eclipse/emf/diffmerge/gmf/GMFDiffPolicy.java
index d57550d7..e9f2b84e 100644
--- a/plugins/org.eclipse.emf.diffmerge.gmf/src/org/eclipse/emf/diffmerge/gmf/GMFDiffPolicy.java
+++ b/plugins/org.eclipse.emf.diffmerge.gmf/src/org/eclipse/emf/diffmerge/gmf/GMFDiffPolicy.java
@@ -1,7 +1,7 @@
/**
* <copyright>
*
- * Copyright (c) 2010-2016 Thales Global Services S.A.S.
+ * Copyright (c) 2010-2017 Thales Global Services S.A.S.
* 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
diff --git a/plugins/org.eclipse.emf.diffmerge.gmf/src/org/eclipse/emf/diffmerge/gmf/GMFMergePolicy.java b/plugins/org.eclipse.emf.diffmerge.gmf/src/org/eclipse/emf/diffmerge/gmf/GMFMergePolicy.java
index 2f2710f3..828be084 100644
--- a/plugins/org.eclipse.emf.diffmerge.gmf/src/org/eclipse/emf/diffmerge/gmf/GMFMergePolicy.java
+++ b/plugins/org.eclipse.emf.diffmerge.gmf/src/org/eclipse/emf/diffmerge/gmf/GMFMergePolicy.java
@@ -1,131 +1,131 @@
-/**
- * <copyright>
- *
- * Copyright (c) 2010-2016 Thales Global Services S.A.S.
- * 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:
- * Thales Global Services S.A.S. - initial API and implementation
- *
- * </copyright>
- */
-package org.eclipse.emf.diffmerge.gmf;
-
-import java.util.Set;
-
-import org.eclipse.emf.diffmerge.api.scopes.IFeaturedModelScope;
-import org.eclipse.emf.diffmerge.impl.policies.DefaultMergePolicy;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.EReference;
-import org.eclipse.emf.ecore.EStructuralFeature;
-import org.eclipse.emf.ecore.util.ECrossReferenceAdapter;
-import org.eclipse.gmf.runtime.notation.Edge;
-import org.eclipse.gmf.runtime.notation.Node;
-import org.eclipse.gmf.runtime.notation.NotationPackage;
-import org.eclipse.gmf.runtime.notation.View;
-
-
-/**
- * A merge policy for GMF elements.
- * @author Olivier Constant
- */
-public class GMFMergePolicy extends DefaultMergePolicy {
-
- /** Whether graphical elements must be merged when semantic elements are merged */
- private boolean _graphicalFromSemantic;
-
-
- /**
- * Constructor
- */
- public GMFMergePolicy() {
- _graphicalFromSemantic = false;
- }
-
- /**
- * @see org.eclipse.emf.diffmerge.impl.policies.DefaultMergePolicy#isSingleMandatory(org.eclipse.emf.ecore.EReference)
- */
- @Override
- protected boolean isSingleMandatory(EReference reference_p) {
- return super.isSingleMandatory(reference_p) ||
- reference_p == NotationPackage.eINSTANCE.getView_Element();
- }
-
- /**
- * Extend the given addition group for the given element within the given scope
- * based on GMF peculiarities
- * @param group_p a non-null, modifiable collection
- * @param element_p a non-null element
- * @param scope_p a non-null scope
- */
- protected void extendGMFAdditionGroup(Set<EObject> group_p, EObject element_p,
- IFeaturedModelScope scope_p) {
- // Node -> Node content
- if (element_p instanceof Node) {
- Node elementNode = (Node)element_p;
- EObject representedElement = elementNode.getElement();
- for (EObject child : element_p.eContents()) {
- boolean addChild = true;
- if (child instanceof View) {
- View childView = (View)child;
- EObject childRepresentedElement = childView.getElement();
- addChild = childRepresentedElement == null || childRepresentedElement == representedElement;
- }
- if (addChild)
- group_p.add(child);
- }
- }
- // Edge -> Edge content
- if (element_p instanceof Edge)
- group_p.addAll(element_p.eContents());
- // Semantic element -> Views
- if (isGraphicalFromSemantic())
- extendGMFAdditionGroupSemanticTarget(group_p, element_p, scope_p);
- }
-
- /**
- * Extend the given addition group for the given element within the given scope
- * so that GMF elements are bound to their semantic elements
- * @param group_p a non-null, modifiable collection
- * @param element_p a non-null element
- * @param scope_p a non-null scope
- */
- protected void extendGMFAdditionGroupSemanticTarget(Set<EObject> group_p, EObject element_p,
- IFeaturedModelScope scope_p) {
- ECrossReferenceAdapter crAdapter = ECrossReferenceAdapter.getCrossReferenceAdapter(element_p);
- if (crAdapter != null) {
- for (EStructuralFeature.Setting setting : crAdapter.getNonNavigableInverseReferences(element_p, false)) {
- if (setting.getEStructuralFeature() == NotationPackage.eINSTANCE.getView_Element())
- group_p.add(setting.getEObject());
- }
- }
- }
-
- /**
- * @see org.eclipse.emf.diffmerge.impl.policies.DefaultMergePolicy#getAdditionGroup(org.eclipse.emf.ecore.EObject, org.eclipse.emf.diffmerge.api.scopes.IFeaturedModelScope)
- */
- @Override
- public Set<EObject> getAdditionGroup(EObject element_p, IFeaturedModelScope scope_p) {
- Set<EObject> result = super.getAdditionGroup(element_p, scope_p);
- extendGMFAdditionGroup(result, element_p, scope_p);
- return result;
- }
-
- /**
- * Return whether graphical elements must be merged when semantic elements are merged
- */
- public boolean isGraphicalFromSemantic() {
- return _graphicalFromSemantic;
- }
-
- /**
- * Set whether graphical elements must be merged when semantic elements are merged
- */
- public void setGraphicalFromSemantic(boolean graphicalFromSemantic_p) {
- _graphicalFromSemantic = graphicalFromSemantic_p;
- }
-
-}
+/**
+ * <copyright>
+ *
+ * Copyright (c) 2010-2017 Thales Global Services S.A.S.
+ * 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:
+ * Thales Global Services S.A.S. - initial API and implementation
+ *
+ * </copyright>
+ */
+package org.eclipse.emf.diffmerge.gmf;
+
+import java.util.Set;
+
+import org.eclipse.emf.diffmerge.api.scopes.IFeaturedModelScope;
+import org.eclipse.emf.diffmerge.impl.policies.DefaultMergePolicy;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EReference;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.emf.ecore.util.ECrossReferenceAdapter;
+import org.eclipse.gmf.runtime.notation.Edge;
+import org.eclipse.gmf.runtime.notation.Node;
+import org.eclipse.gmf.runtime.notation.NotationPackage;
+import org.eclipse.gmf.runtime.notation.View;
+
+
+/**
+ * A merge policy for GMF elements.
+ * @author Olivier Constant
+ */
+public class GMFMergePolicy extends DefaultMergePolicy {
+
+ /** Whether graphical elements must be merged when semantic elements are merged */
+ private boolean _graphicalFromSemantic;
+
+
+ /**
+ * Constructor
+ */
+ public GMFMergePolicy() {
+ _graphicalFromSemantic = false;
+ }
+
+ /**
+ * @see org.eclipse.emf.diffmerge.impl.policies.DefaultMergePolicy#isSingleMandatory(org.eclipse.emf.ecore.EReference)
+ */
+ @Override
+ protected boolean isSingleMandatory(EReference reference_p) {
+ return super.isSingleMandatory(reference_p) ||
+ reference_p == NotationPackage.eINSTANCE.getView_Element();
+ }
+
+ /**
+ * Extend the given addition group for the given element within the given scope
+ * based on GMF peculiarities
+ * @param group_p a non-null, modifiable collection
+ * @param element_p a non-null element
+ * @param scope_p a non-null scope
+ */
+ protected void extendGMFAdditionGroup(Set<EObject> group_p, EObject element_p,
+ IFeaturedModelScope scope_p) {
+ // Node -> Node content
+ if (element_p instanceof Node) {
+ Node elementNode = (Node)element_p;
+ EObject representedElement = elementNode.getElement();
+ for (EObject child : element_p.eContents()) {
+ boolean addChild = true;
+ if (child instanceof View) {
+ View childView = (View)child;
+ EObject childRepresentedElement = childView.getElement();
+ addChild = childRepresentedElement == null || childRepresentedElement == representedElement;
+ }
+ if (addChild)
+ group_p.add(child);
+ }
+ }
+ // Edge -> Edge content
+ if (element_p instanceof Edge)
+ group_p.addAll(element_p.eContents());
+ // Semantic element -> Views
+ if (isGraphicalFromSemantic())
+ extendGMFAdditionGroupSemanticTarget(group_p, element_p, scope_p);
+ }
+
+ /**
+ * Extend the given addition group for the given element within the given scope
+ * so that GMF elements are bound to their semantic elements
+ * @param group_p a non-null, modifiable collection
+ * @param element_p a non-null element
+ * @param scope_p a non-null scope
+ */
+ protected void extendGMFAdditionGroupSemanticTarget(Set<EObject> group_p, EObject element_p,
+ IFeaturedModelScope scope_p) {
+ ECrossReferenceAdapter crAdapter = ECrossReferenceAdapter.getCrossReferenceAdapter(element_p);
+ if (crAdapter != null) {
+ for (EStructuralFeature.Setting setting : crAdapter.getNonNavigableInverseReferences(element_p, false)) {
+ if (setting.getEStructuralFeature() == NotationPackage.eINSTANCE.getView_Element())
+ group_p.add(setting.getEObject());
+ }
+ }
+ }
+
+ /**
+ * @see org.eclipse.emf.diffmerge.impl.policies.DefaultMergePolicy#getAdditionGroup(org.eclipse.emf.ecore.EObject, org.eclipse.emf.diffmerge.api.scopes.IFeaturedModelScope)
+ */
+ @Override
+ public Set<EObject> getAdditionGroup(EObject element_p, IFeaturedModelScope scope_p) {
+ Set<EObject> result = super.getAdditionGroup(element_p, scope_p);
+ extendGMFAdditionGroup(result, element_p, scope_p);
+ return result;
+ }
+
+ /**
+ * Return whether graphical elements must be merged when semantic elements are merged
+ */
+ public boolean isGraphicalFromSemantic() {
+ return _graphicalFromSemantic;
+ }
+
+ /**
+ * Set whether graphical elements must be merged when semantic elements are merged
+ */
+ public void setGraphicalFromSemantic(boolean graphicalFromSemantic_p) {
+ _graphicalFromSemantic = graphicalFromSemantic_p;
+ }
+
+}
diff --git a/plugins/org.eclipse.emf.diffmerge.gmf/src/org/eclipse/emf/diffmerge/gmf/GMFScope.java b/plugins/org.eclipse.emf.diffmerge.gmf/src/org/eclipse/emf/diffmerge/gmf/GMFScope.java
index 13b426e3..dec72390 100644
--- a/plugins/org.eclipse.emf.diffmerge.gmf/src/org/eclipse/emf/diffmerge/gmf/GMFScope.java
+++ b/plugins/org.eclipse.emf.diffmerge.gmf/src/org/eclipse/emf/diffmerge/gmf/GMFScope.java
@@ -1,111 +1,111 @@
-/**
- * <copyright>
- *
- * Copyright (c) 2010-2016 Thales Global Services S.A.S.
- * 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:
- * Thales Global Services S.A.S. - initial API and implementation
- *
- * </copyright>
- */
-package org.eclipse.emf.diffmerge.gmf;
-
-import java.util.Collection;
-import java.util.Collections;
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.emf.common.util.URI;
-import org.eclipse.emf.diffmerge.impl.scopes.FragmentedModelScope;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.EReference;
-import org.eclipse.emf.ecore.EcoreFactory;
-import org.eclipse.emf.ecore.resource.Resource;
-import org.eclipse.emf.ecore.resource.ResourceSet;
-import org.eclipse.emf.edit.domain.EditingDomain;
-import org.eclipse.gmf.runtime.emf.core.resources.GMFResource;
-import org.eclipse.gmf.runtime.notation.NotationPackage;
-import org.eclipse.gmf.runtime.notation.View;
-
-
-/**
- * A scope for fragmented GMF models which covers the semantic elements of GMF Views.
- * @author Olivier Constant
- */
-public class GMFScope extends FragmentedModelScope {
-
- /** A representation of the NULL value for the 'element' reference of Views (null vs. UNSET) */
- protected static final EObject NULL_ELEMENT = EcoreFactory.eINSTANCE.createEObject();
-
-
- /**
- * Constructor
- * @param uri_p a non-null URI of the resource to load as root
- * @param editingDomain_p a non-null editing domain that encompasses the scope
- * @param readOnly_p whether the scope should be read-only, if supported
- */
- public GMFScope(URI uri_p, EditingDomain editingDomain_p, boolean readOnly_p) {
- super(uri_p, editingDomain_p, readOnly_p);
- }
-
- /**
- * Constructor
- * @param uri_p a non-null resource URI
- * @param resourceSet_p a non-null resource set
- * @param readOnly_p whether the scope is in read-only mode, if applicable
- */
- public GMFScope(URI uri_p, ResourceSet resourceSet_p, boolean readOnly_p) {
- super(uri_p, resourceSet_p, readOnly_p);
- }
-
- /**
- * @see org.eclipse.emf.diffmerge.impl.scopes.FragmentedModelScope#add(org.eclipse.emf.ecore.EObject, org.eclipse.emf.ecore.EReference, org.eclipse.emf.ecore.EObject)
- */
- @Override
- public boolean add(EObject source_p, EReference reference_p, EObject value_p) {
- boolean result = true;
- if (value_p == NULL_ELEMENT)
- source_p.eSet(reference_p, null);
- else
- result = super.add(source_p, reference_p, value_p);
- return result;
- }
-
- /**
- * @see org.eclipse.emf.diffmerge.impl.scopes.FragmentedModelScope#get(org.eclipse.emf.ecore.EObject, org.eclipse.emf.ecore.EReference)
- */
- @Override
- public List<EObject> get(EObject source_p, EReference reference_p) {
- List<EObject> result = super.get(source_p, reference_p);
- if (result.isEmpty() && reference_p == NotationPackage.eINSTANCE.getView_Element() &&
- source_p.eIsSet(reference_p))
- result = Collections.singletonList(NULL_ELEMENT);
- return result;
- }
-
- /**
- * @see org.eclipse.emf.diffmerge.impl.scopes.FragmentedModelScope#getCrossReferencesInScope(org.eclipse.emf.ecore.EObject)
- */
- @Override
- protected Collection<EReference> getCrossReferencesInScope(EObject element_p) {
- Collection<EReference> result = super.getCrossReferencesInScope(element_p);
- if (element_p instanceof View)
- result.add(NotationPackage.eINSTANCE.getView_Element());
- return result;
- }
-
- /**
- * @see org.eclipse.emf.diffmerge.impl.scopes.FragmentedModelScope#getLoadOptions(org.eclipse.emf.ecore.resource.Resource)
- */
- @Override
- protected Map<Object, Object> getLoadOptions(Resource resource_p) {
- Map<Object, Object> result = super.getLoadOptions(resource_p);
- result.put(GMFResource.OPTION_ABORT_ON_ERROR, Boolean.TRUE);
- return result;
- }
-
-}
+/**
+ * <copyright>
+ *
+ * Copyright (c) 2010-2017 Thales Global Services S.A.S.
+ * 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:
+ * Thales Global Services S.A.S. - initial API and implementation
+ *
+ * </copyright>
+ */
+package org.eclipse.emf.diffmerge.gmf;
+
+import java.util.Collection;
+import java.util.Collections;
+import java.util.List;
+import java.util.Map;
+
+import org.eclipse.emf.common.util.URI;
+import org.eclipse.emf.diffmerge.impl.scopes.FragmentedModelScope;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EReference;
+import org.eclipse.emf.ecore.EcoreFactory;
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.emf.ecore.resource.ResourceSet;
+import org.eclipse.emf.edit.domain.EditingDomain;
+import org.eclipse.gmf.runtime.emf.core.resources.GMFResource;
+import org.eclipse.gmf.runtime.notation.NotationPackage;
+import org.eclipse.gmf.runtime.notation.View;
+
+
+/**
+ * A scope for fragmented GMF models which covers the semantic elements of GMF Views.
+ * @author Olivier Constant
+ */
+public class GMFScope extends FragmentedModelScope {
+
+ /** A representation of the NULL value for the 'element' reference of Views (null vs. UNSET) */
+ protected static final EObject NULL_ELEMENT = EcoreFactory.eINSTANCE.createEObject();
+
+
+ /**
+ * Constructor
+ * @param uri_p a non-null URI of the resource to load as root
+ * @param editingDomain_p a non-null editing domain that encompasses the scope
+ * @param readOnly_p whether the scope should be read-only, if supported
+ */
+ public GMFScope(URI uri_p, EditingDomain editingDomain_p, boolean readOnly_p) {
+ super(uri_p, editingDomain_p, readOnly_p);
+ }
+
+ /**
+ * Constructor
+ * @param uri_p a non-null resource URI
+ * @param resourceSet_p a non-null resource set
+ * @param readOnly_p whether the scope is in read-only mode, if applicable
+ */
+ public GMFScope(URI uri_p, ResourceSet resourceSet_p, boolean readOnly_p) {
+ super(uri_p, resourceSet_p, readOnly_p);
+ }
+
+ /**
+ * @see org.eclipse.emf.diffmerge.impl.scopes.FragmentedModelScope#add(org.eclipse.emf.ecore.EObject, org.eclipse.emf.ecore.EReference, org.eclipse.emf.ecore.EObject)
+ */
+ @Override
+ public boolean add(EObject source_p, EReference reference_p, EObject value_p) {
+ boolean result = true;
+ if (value_p == NULL_ELEMENT)
+ source_p.eSet(reference_p, null);
+ else
+ result = super.add(source_p, reference_p, value_p);
+ return result;
+ }
+
+ /**
+ * @see org.eclipse.emf.diffmerge.impl.scopes.FragmentedModelScope#get(org.eclipse.emf.ecore.EObject, org.eclipse.emf.ecore.EReference)
+ */
+ @Override
+ public List<EObject> get(EObject source_p, EReference reference_p) {
+ List<EObject> result = super.get(source_p, reference_p);
+ if (result.isEmpty() && reference_p == NotationPackage.eINSTANCE.getView_Element() &&
+ source_p.eIsSet(reference_p))
+ result = Collections.singletonList(NULL_ELEMENT);
+ return result;
+ }
+
+ /**
+ * @see org.eclipse.emf.diffmerge.impl.scopes.FragmentedModelScope#getCrossReferencesInScope(org.eclipse.emf.ecore.EObject)
+ */
+ @Override
+ protected Collection<EReference> getCrossReferencesInScope(EObject element_p) {
+ Collection<EReference> result = super.getCrossReferencesInScope(element_p);
+ if (element_p instanceof View)
+ result.add(NotationPackage.eINSTANCE.getView_Element());
+ return result;
+ }
+
+ /**
+ * @see org.eclipse.emf.diffmerge.impl.scopes.FragmentedModelScope#getLoadOptions(org.eclipse.emf.ecore.resource.Resource)
+ */
+ @Override
+ protected Map<Object, Object> getLoadOptions(Resource resource_p) {
+ Map<Object, Object> result = super.getLoadOptions(resource_p);
+ result.put(GMFResource.OPTION_ABORT_ON_ERROR, Boolean.TRUE);
+ return result;
+ }
+
+}
diff --git a/plugins/org.eclipse.emf.diffmerge.ui.gmf/build.properties b/plugins/org.eclipse.emf.diffmerge.ui.gmf/build.properties
index c7d350ac..f0973a4b 100644
--- a/plugins/org.eclipse.emf.diffmerge.ui.gmf/build.properties
+++ b/plugins/org.eclipse.emf.diffmerge.ui.gmf/build.properties
@@ -1,15 +1,15 @@
-###############################################################################
-# Copyright (c) 2010-2016 Thales Global Services S.A.S.
-# 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
-###############################################################################
-source.. = src/
-output.. = bin/
-bin.includes = plugin.xml,\
- META-INF/,\
- .,\
- plugin.properties,\
- about.html
-src.includes = about.html
+###############################################################################
+# Copyright (c) 2010-2017 Thales Global Services S.A.S.
+# 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
+###############################################################################
+source.. = src/
+output.. = bin/
+bin.includes = plugin.xml,\
+ META-INF/,\
+ .,\
+ plugin.properties,\
+ about.html
+src.includes = about.html
diff --git a/plugins/org.eclipse.emf.diffmerge.ui.gmf/plugin.properties b/plugins/org.eclipse.emf.diffmerge.ui.gmf/plugin.properties
index 9e958bc4..cd7a59ad 100644
--- a/plugins/org.eclipse.emf.diffmerge.ui.gmf/plugin.properties
+++ b/plugins/org.eclipse.emf.diffmerge.ui.gmf/plugin.properties
@@ -1,9 +1,9 @@
-###############################################################################
-# Copyright (c) 2010-2016 Thales Global Services S.A.S.
-# 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
-###############################################################################
-pluginName = GMF Diff/Merge Sample UI Plug-In (Incubation)
-providerName = Eclipse Modeling Project
+###############################################################################
+# Copyright (c) 2010-2017 Thales Global Services S.A.S.
+# 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
+###############################################################################
+pluginName = GMF Diff/Merge Sample UI Plug-In (Incubation)
+providerName = Eclipse Modeling Project
diff --git a/plugins/org.eclipse.emf.diffmerge.ui.gmf/plugin.xml b/plugins/org.eclipse.emf.diffmerge.ui.gmf/plugin.xml
index 7876a22f..1cf52b02 100644
--- a/plugins/org.eclipse.emf.diffmerge.ui.gmf/plugin.xml
+++ b/plugins/org.eclipse.emf.diffmerge.ui.gmf/plugin.xml
@@ -1,28 +1,28 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.4"?>
-<!--
- <copyright>
-
- Copyright (c) 2010-2016 Thales Global Services S.A.S.
- 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:
- Thales Global Services S.A.S - initial API and implementation
-
- </copyright>
--->
-<plugin>
- <extension
- point="org.eclipse.emf.diffmerge.ui.modelComparisonContext">
- <scopeDefinition
- factory="org.eclipse.emf.diffmerge.ui.gmf.GMFScopeDefinitionFactory">
- </scopeDefinition>
- <comparisonMethod
- factory="org.eclipse.emf.diffmerge.ui.gmf.GMFComparisonMethodFactory">
- </comparisonMethod>
- </extension>
-
-</plugin>
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.4"?>
+<!--
+ <copyright>
+
+ Copyright (c) 2010-2017 Thales Global Services S.A.S.
+ 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:
+ Thales Global Services S.A.S - initial API and implementation
+
+ </copyright>
+-->
+<plugin>
+ <extension
+ point="org.eclipse.emf.diffmerge.ui.modelComparisonContext">
+ <scopeDefinition
+ factory="org.eclipse.emf.diffmerge.ui.gmf.GMFScopeDefinitionFactory">
+ </scopeDefinition>
+ <comparisonMethod
+ factory="org.eclipse.emf.diffmerge.ui.gmf.GMFComparisonMethodFactory">
+ </comparisonMethod>
+ </extension>
+
+</plugin>
diff --git a/plugins/org.eclipse.emf.diffmerge.ui.gmf/src/org/eclipse/emf/diffmerge/ui/gmf/GMFComparisonMethod.java b/plugins/org.eclipse.emf.diffmerge.ui.gmf/src/org/eclipse/emf/diffmerge/ui/gmf/GMFComparisonMethod.java
index d3a5d906..4052a061 100644
--- a/plugins/org.eclipse.emf.diffmerge.ui.gmf/src/org/eclipse/emf/diffmerge/ui/gmf/GMFComparisonMethod.java
+++ b/plugins/org.eclipse.emf.diffmerge.ui.gmf/src/org/eclipse/emf/diffmerge/ui/gmf/GMFComparisonMethod.java
@@ -1,77 +1,77 @@
-/**
- * <copyright>
- *
- * Copyright (c) 2010-2016 Thales Global Services S.A.S.
- * 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:
- * Thales Global Services S.A.S. - initial API and implementation
- *
- * </copyright>
- */
-package org.eclipse.emf.diffmerge.ui.gmf;
-
-import org.eclipse.emf.diffmerge.api.IDiffPolicy;
-import org.eclipse.emf.diffmerge.api.IMatchPolicy;
-import org.eclipse.emf.diffmerge.api.IMergePolicy;
-import org.eclipse.emf.diffmerge.gmf.GMFDiffPolicy;
-import org.eclipse.emf.diffmerge.gmf.GMFMergePolicy;
-import org.eclipse.emf.diffmerge.impl.policies.DefaultMatchPolicy;
-import org.eclipse.emf.diffmerge.ui.specification.IModelScopeDefinition;
-import org.eclipse.emf.diffmerge.ui.specification.ext.ConfigurableComparisonMethod;
-import org.eclipse.jface.viewers.ILabelProvider;
-
-
-/**
- * A definition of GMF-specific comparisons.
- * @author Olivier Constant
- */
-public class GMFComparisonMethod extends ConfigurableComparisonMethod {
-
- /**
- * Constructor
- * @param leftScopeSpec_p a non-null scope specification
- * @param rightScopeSpec_p a non-null scope specification
- * @param ancestorScopeSpec_p an optional scope specification
- */
- public GMFComparisonMethod(IModelScopeDefinition leftScopeSpec_p,
- IModelScopeDefinition rightScopeSpec_p, IModelScopeDefinition ancestorScopeSpec_p) {
- super(leftScopeSpec_p, rightScopeSpec_p, ancestorScopeSpec_p);
- }
-
- /**
- * @see org.eclipse.emf.diffmerge.ui.specification.ext.DefaultComparisonMethod#createDiffPolicy()
- */
- @Override
- protected IDiffPolicy createDiffPolicy() {
- return new GMFDiffPolicy();
- }
-
- /**
- * @see org.eclipse.emf.diffmerge.ui.specification.ext.ConfigurableComparisonMethod#createMatchPolicy()
- */
- @Override
- protected IMatchPolicy createMatchPolicy() {
- return new DefaultMatchPolicy();
- }
-
- /**
- * @see org.eclipse.emf.diffmerge.ui.specification.ext.DefaultComparisonMethod#createMergePolicy()
- */
- @Override
- protected IMergePolicy createMergePolicy() {
- return new GMFMergePolicy();
- }
-
- /**
- * @see org.eclipse.emf.diffmerge.ui.specification.ext.DefaultComparisonMethod#getCustomLabelProvider()
- */
- @Override
- protected ILabelProvider getCustomLabelProvider() {
- return GMFDiffMergeLabelProvider.getInstance();
- }
-
-}
+/**
+ * <copyright>
+ *
+ * Copyright (c) 2010-2017 Thales Global Services S.A.S.
+ * 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:
+ * Thales Global Services S.A.S. - initial API and implementation
+ *
+ * </copyright>
+ */
+package org.eclipse.emf.diffmerge.ui.gmf;
+
+import org.eclipse.emf.diffmerge.api.IDiffPolicy;
+import org.eclipse.emf.diffmerge.api.IMatchPolicy;
+import org.eclipse.emf.diffmerge.api.IMergePolicy;
+import org.eclipse.emf.diffmerge.gmf.GMFDiffPolicy;
+import org.eclipse.emf.diffmerge.gmf.GMFMergePolicy;
+import org.eclipse.emf.diffmerge.impl.policies.DefaultMatchPolicy;
+import org.eclipse.emf.diffmerge.ui.specification.IModelScopeDefinition;
+import org.eclipse.emf.diffmerge.ui.specification.ext.ConfigurableComparisonMethod;
+import org.eclipse.jface.viewers.ILabelProvider;
+
+
+/**
+ * A definition of GMF-specific comparisons.
+ * @author Olivier Constant
+ */
+public class GMFComparisonMethod extends ConfigurableComparisonMethod {
+
+ /**
+ * Constructor
+ * @param leftScopeSpec_p a non-null scope specification
+ * @param rightScopeSpec_p a non-null scope specification
+ * @param ancestorScopeSpec_p an optional scope specification
+ */
+ public GMFComparisonMethod(IModelScopeDefinition leftScopeSpec_p,
+ IModelScopeDefinition rightScopeSpec_p, IModelScopeDefinition ancestorScopeSpec_p) {
+ super(leftScopeSpec_p, rightScopeSpec_p, ancestorScopeSpec_p);
+ }
+
+ /**
+ * @see org.eclipse.emf.diffmerge.ui.specification.ext.DefaultComparisonMethod#createDiffPolicy()
+ */
+ @Override
+ protected IDiffPolicy createDiffPolicy() {
+ return new GMFDiffPolicy();
+ }
+
+ /**
+ * @see org.eclipse.emf.diffmerge.ui.specification.ext.ConfigurableComparisonMethod#createMatchPolicy()
+ */
+ @Override
+ protected IMatchPolicy createMatchPolicy() {
+ return new DefaultMatchPolicy();
+ }
+
+ /**
+ * @see org.eclipse.emf.diffmerge.ui.specification.ext.DefaultComparisonMethod#createMergePolicy()
+ */
+ @Override
+ protected IMergePolicy createMergePolicy() {
+ return new GMFMergePolicy();
+ }
+
+ /**
+ * @see org.eclipse.emf.diffmerge.ui.specification.ext.DefaultComparisonMethod#getCustomLabelProvider()
+ */
+ @Override
+ protected ILabelProvider getCustomLabelProvider() {
+ return GMFDiffMergeLabelProvider.getInstance();
+ }
+
+}
diff --git a/plugins/org.eclipse.emf.diffmerge.ui.gmf/src/org/eclipse/emf/diffmerge/ui/gmf/GMFComparisonMethodFactory.java b/plugins/org.eclipse.emf.diffmerge.ui.gmf/src/org/eclipse/emf/diffmerge/ui/gmf/GMFComparisonMethodFactory.java
index 0d581997..55564c54 100644
--- a/plugins/org.eclipse.emf.diffmerge.ui.gmf/src/org/eclipse/emf/diffmerge/ui/gmf/GMFComparisonMethodFactory.java
+++ b/plugins/org.eclipse.emf.diffmerge.ui.gmf/src/org/eclipse/emf/diffmerge/ui/gmf/GMFComparisonMethodFactory.java
@@ -1,58 +1,58 @@
-/**
- * <copyright>
- *
- * Copyright (c) 2010-2016 Thales Global Services S.A.S.
- * 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:
- * Thales Global Services S.A.S. - initial API and implementation
- *
- * </copyright>
- */
-package org.eclipse.emf.diffmerge.ui.gmf;
-
-import java.util.Collection;
-import java.util.Collections;
-
-import org.eclipse.emf.diffmerge.ui.specification.IComparisonMethod;
-import org.eclipse.emf.diffmerge.ui.specification.IModelScopeDefinition;
-import org.eclipse.emf.diffmerge.ui.specification.ext.ConfigurableComparisonMethodFactory;
-
-
-/**
- * A ComparisonConfigurationFactory with GMF-specific features.
- * @author Olivier Constant
- */
-public class GMFComparisonMethodFactory extends ConfigurableComparisonMethodFactory {
-
- /**
- * @see org.eclipse.emf.diffmerge.ui.specification.ext.ConfigurableComparisonMethodFactory#getLabel()
- */
- @Override
- public String getLabel() {
- return Messages.GmfComparisonFactory_Label;
- }
-
- /**
- * @see org.eclipse.emf.diffmerge.ui.specification.ext.ConfigurableComparisonMethodFactory#getOverridenClasses()
- */
- @Override
- public Collection<Class<?>> getOverridenClasses() {
- return Collections.<Class<?>>singleton(ConfigurableComparisonMethodFactory.class);
- }
-
- /**
- * @see org.eclipse.emf.diffmerge.ui.specification.ext.ConfigurableComparisonMethodFactory#createComparisonMethod(org.eclipse.emf.diffmerge.ui.specification.IModelScopeDefinition, org.eclipse.emf.diffmerge.ui.specification.IModelScopeDefinition, org.eclipse.emf.diffmerge.ui.specification.IModelScopeDefinition)
- */
- @Override
- public IComparisonMethod createComparisonMethod(
- IModelScopeDefinition leftScopeSpec_p,
- IModelScopeDefinition rightScopeSpec_p,
- IModelScopeDefinition ancestorScopeSpec_p) {
- return new GMFComparisonMethod(leftScopeSpec_p, rightScopeSpec_p, ancestorScopeSpec_p);
- }
-
-}
+/**
+ * <copyright>
+ *
+ * Copyright (c) 2010-2017 Thales Global Services S.A.S.
+ * 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:
+ * Thales Global Services S.A.S. - initial API and implementation
+ *
+ * </copyright>
+ */
+package org.eclipse.emf.diffmerge.ui.gmf;
+
+import java.util.Collection;
+import java.util.Collections;
+
+import org.eclipse.emf.diffmerge.ui.specification.IComparisonMethod;
+import org.eclipse.emf.diffmerge.ui.specification.IModelScopeDefinition;
+import org.eclipse.emf.diffmerge.ui.specification.ext.ConfigurableComparisonMethodFactory;
+
+
+/**
+ * A ComparisonConfigurationFactory with GMF-specific features.
+ * @author Olivier Constant
+ */
+public class GMFComparisonMethodFactory extends ConfigurableComparisonMethodFactory {
+
+ /**
+ * @see org.eclipse.emf.diffmerge.ui.specification.ext.ConfigurableComparisonMethodFactory#getLabel()
+ */
+ @Override
+ public String getLabel() {
+ return Messages.GmfComparisonFactory_Label;
+ }
+
+ /**
+ * @see org.eclipse.emf.diffmerge.ui.specification.ext.ConfigurableComparisonMethodFactory#getOverridenClasses()
+ */
+ @Override
+ public Collection<Class<?>> getOverridenClasses() {
+ return Collections.<Class<?>>singleton(ConfigurableComparisonMethodFactory.class);
+ }
+
+ /**
+ * @see org.eclipse.emf.diffmerge.ui.specification.ext.ConfigurableComparisonMethodFactory#createComparisonMethod(org.eclipse.emf.diffmerge.ui.specification.IModelScopeDefinition, org.eclipse.emf.diffmerge.ui.specification.IModelScopeDefinition, org.eclipse.emf.diffmerge.ui.specification.IModelScopeDefinition)
+ */
+ @Override
+ public IComparisonMethod createComparisonMethod(
+ IModelScopeDefinition leftScopeSpec_p,
+ IModelScopeDefinition rightScopeSpec_p,
+ IModelScopeDefinition ancestorScopeSpec_p) {
+ return new GMFComparisonMethod(leftScopeSpec_p, rightScopeSpec_p, ancestorScopeSpec_p);
+ }
+
+}
diff --git a/plugins/org.eclipse.emf.diffmerge.ui.gmf/src/org/eclipse/emf/diffmerge/ui/gmf/GMFDiffMergeLabelProvider.java b/plugins/org.eclipse.emf.diffmerge.ui.gmf/src/org/eclipse/emf/diffmerge/ui/gmf/GMFDiffMergeLabelProvider.java
index 14dc94e4..371b8cae 100644
--- a/plugins/org.eclipse.emf.diffmerge.ui.gmf/src/org/eclipse/emf/diffmerge/ui/gmf/GMFDiffMergeLabelProvider.java
+++ b/plugins/org.eclipse.emf.diffmerge.ui.gmf/src/org/eclipse/emf/diffmerge/ui/gmf/GMFDiffMergeLabelProvider.java
@@ -1,279 +1,279 @@
-/**
- * <copyright>
- *
- * Copyright (c) 2010-2016 Thales Global Services S.A.S.
- * 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:
- * Thales Global Services S.A.S. - initial API and implementation
- *
- * </copyright>
- */
-package org.eclipse.emf.diffmerge.ui.gmf;
-
-import java.util.Collection;
-
-import org.eclipse.emf.diffmerge.ui.util.DiffMergeLabelProvider;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.EReference;
-import org.eclipse.gmf.runtime.notation.Anchor;
-import org.eclipse.gmf.runtime.notation.Diagram;
-import org.eclipse.gmf.runtime.notation.NotationPackage;
-import org.eclipse.gmf.runtime.notation.Style;
-import org.eclipse.gmf.runtime.notation.View;
-import org.eclipse.gmf.runtime.notation.datatype.RelativeBendpoint;
-
-
-/**
- * A custom label provider for comparisons encompassing GMF elements.
- * @author Olivier Constant
- */
-public class GMFDiffMergeLabelProvider extends DiffMergeLabelProvider {
-
- /** The instance of this class (singleton pattern) */
- private static GMFDiffMergeLabelProvider __instance = null;
-
- /**
- * Return the instance of this class (singleton pattern)
- * @return a non-null object
- */
- public static GMFDiffMergeLabelProvider getInstance() {
- if (__instance == null)
- __instance = new GMFDiffMergeLabelProvider();
- return __instance;
- }
-
-
- /**
- * Constructor
- */
- public GMFDiffMergeLabelProvider() {
- // Nothing needed
- }
-
- /**
- * Return a user-friendly variant of the given string using upper case
- * characters and spaces
- * @param string_p a non-null string
- * @return a non-null string
- */
- protected String formatTechnicalName(String string_p) {
- StringBuilder builder = new StringBuilder();
- boolean first = true;
- char lastChar = ' ';
- for (char aChar : string_p.toCharArray()) {
- if (first) {
- builder.append(Character.toUpperCase(aChar));
- first = false;
- } else {
- if (Character.isUpperCase(aChar) && Character.isLowerCase(lastChar))
- builder.append(' ');
- builder.append(aChar);
- }
- lastChar = aChar;
- }
- return builder.toString();
- }
-
- /**
- * Return a label for the given element which is solely derived from its
- * containment reference
- * @param element_p a non-null element
- * @return a potentially null string
- */
- protected String getContainmentText(EObject element_p) {
- String result = null;
- EReference containment = element_p.eContainmentFeature();
- if (containment != null && isSignificant(containment.getName()))
- result = formatTechnicalName(containment.getName());
- return result;
- }
-
- /**
- * Return a label for the given object which is further characterized by the given object
- * as its "type".
- * Warning: This operation calls the getText operation on both elements.
- * @param element_p a potentially null element
- * @param type_p a non-null element
- * @return a non-null string
- */
- protected String getExplicitlyTypedElementText(Object element_p, Object type_p) {
- StringBuilder builder = new StringBuilder();
- boolean elementLabelOK = false;
- if (element_p != null) {
- String innerLabel = getText(element_p);
- if (isSignificant(innerLabel)) {
- builder.append(innerLabel);
- elementLabelOK = true;
- }
- }
- if (!elementLabelOK) {
- builder.append('<');
- builder.append(Messages.GMFDiffMergeLabelProvider_Unnamed);
- builder.append('>');
- }
- builder.append(" "); //$NON-NLS-1$
- builder.append('[');
- builder.append(formatTechnicalName(getText(type_p)));
- builder.append(']');
- return builder.toString();
- }
-
- /**
- * Return a label for the given element that represents a layout
- * @param element_p a non-null element
- * @return a non-null string
- */
- protected String getLayoutText(EObject element_p) {
- return Messages.GMFDiffMergeLabelProvider_Layout;
- }
-
- /**
- * Return a label for the given element which is further characterized by the given
- * qualifying elements
- * @param element_p a potentially null element
- * @param qualifiers_p a potentially empty set of qualifying elements
- * @return a non-null string
- */
- protected String getManyQualifiedElementText(EObject element_p, Object... qualifiers_p) {
- StringBuilder builder = new StringBuilder();
- if (element_p != null) {
- builder.append(formatTechnicalName(element_p.eClass().getName()));
- if (qualifiers_p.length > 0)
- builder.append(' ');
- }
- if (qualifiers_p.length > 0) {
- builder.append('[');
- boolean firstIteration = true;
- for (Object qualifier : qualifiers_p) {
- if (firstIteration)
- firstIteration = false;
- else
- builder.append(", "); //$NON-NLS-1$
- String innerLabel = getText(qualifier);
- builder.append(innerLabel);
- }
- builder.append(']');
- }
- return builder.toString();
- }
-
- /**
- * Return a label for the given element which is further characterized by the given
- * qualifying element
- * @param element_p a non-null element
- * @param qualifier_p a non-null element
- * @return a non-null string
- */
- protected String getQualifiedElementText(EObject element_p, Object qualifier_p) {
- return getManyQualifiedElementText(element_p, new Object[] {qualifier_p});
- }
-
- /**
- * Return a label for the given relative bendpoint
- * @param bendpoint_p a non-null relative bendpoint
- * @return a non-null string
- */
- protected String getRelativeBendpointText(RelativeBendpoint bendpoint_p) {
- StringBuilder builder = new StringBuilder();
- builder.append('(');
- builder.append(bendpoint_p.getSourceX());
- builder.append(',');
- builder.append(' ');
- builder.append(bendpoint_p.getSourceY());
- builder.append(')');
- builder.append("->"); //$NON-NLS-1$
- builder.append('(');
- builder.append(bendpoint_p.getTargetX());
- builder.append(',');
- builder.append(' ');
- builder.append(bendpoint_p.getTargetY());
- builder.append(')');
- return builder.toString();
- }
-
- /**
- * Return a label for the given element that represents a graphical style
- * @param element_p a non-null element
- * @return a non-null string
- */
- protected String getStyleText(EObject element_p) {
- return formatTechnicalName(element_p.eClass().getName());
- }
-
- /**
- * @see org.eclipse.emf.diffmerge.ui.util.DiffMergeLabelProvider#getText(java.lang.Object)
- */
- @Override
- public String getText(Object element_p) {
- String result;
- // ****** GMF
- if (element_p instanceof Diagram) {
- Diagram diagram = (Diagram)element_p;
- String diagramName = diagram.getName();
- if (isSignificant(diagramName))
- result = diagram.eClass().getName() + " " + diagramName; //$NON-NLS-1$
- else
- result = getViewText(diagram);
- } else if (element_p instanceof View) {
- result = getViewText((View)element_p);
- } else if (isLayout(element_p)) {
- result = getLayoutText((EObject)element_p);
- } else if (element_p instanceof Style) {
- result = getStyleText((EObject)element_p);
- } else if (element_p instanceof Anchor) {
- result = NotationPackage.eINSTANCE.getAnchor().getName();
- } else if (element_p instanceof RelativeBendpoint) {
- result = getRelativeBendpointText((RelativeBendpoint)element_p);
- } else if (element_p instanceof Collection<?> && !((Collection<?>)element_p).isEmpty() &&
- ((Collection<?>)element_p).iterator().next() instanceof RelativeBendpoint) {
- result = getManyQualifiedElementText(null, ((Collection<?>)element_p).toArray());
- } else if (element_p instanceof String) {
- result = (String)element_p;
- } else {
- result = super.getText(element_p);
- }
- return result;
- }
-
- /**
- * Return a label for the given view
- * @param view_p a non-null view
- * @return a non-null string
- */
- protected String getViewText(View view_p) {
- String result;
- EObject represented = null;
- if (view_p.eIsSet(NotationPackage.eINSTANCE.getView_Element()))
- represented = view_p.getElement();
- result = getExplicitlyTypedElementText(represented, view_p.eClass().getName());
- return result;
- }
-
- /**
- * Return whether the given element represents a layout
- * @param element_p a non-null object
- */
- protected boolean isLayout(Object element_p) {
- boolean result = false;
- if (element_p instanceof EObject) {
- EReference containment = ((EObject)element_p).eContainmentFeature();
- result =
- containment == NotationPackage.eINSTANCE.getNode_LayoutConstraint() ||
- containment == NotationPackage.eINSTANCE.getEdge_Bendpoints();
- }
- return result;
- }
-
- /**
- * Return whether the given string is non-null and non-empty
- * @param string_p a potentially null string
- */
- protected boolean isSignificant(String string_p) {
- return string_p != null && string_p.length() > 0;
- }
-
-}
+/**
+ * <copyright>
+ *
+ * Copyright (c) 2010-2017 Thales Global Services S.A.S.
+ * 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:
+ * Thales Global Services S.A.S. - initial API and implementation
+ *
+ * </copyright>
+ */
+package org.eclipse.emf.diffmerge.ui.gmf;
+
+import java.util.Collection;
+
+import org.eclipse.emf.diffmerge.ui.util.DiffMergeLabelProvider;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EReference;
+import org.eclipse.gmf.runtime.notation.Anchor;
+import org.eclipse.gmf.runtime.notation.Diagram;
+import org.eclipse.gmf.runtime.notation.NotationPackage;
+import org.eclipse.gmf.runtime.notation.Style;
+import org.eclipse.gmf.runtime.notation.View;
+import org.eclipse.gmf.runtime.notation.datatype.RelativeBendpoint;
+
+
+/**
+ * A custom label provider for comparisons encompassing GMF elements.
+ * @author Olivier Constant
+ */
+public class GMFDiffMergeLabelProvider extends DiffMergeLabelProvider {
+
+ /** The instance of this class (singleton pattern) */
+ private static GMFDiffMergeLabelProvider __instance = null;
+
+ /**
+ * Return the instance of this class (singleton pattern)
+ * @return a non-null object
+ */
+ public static GMFDiffMergeLabelProvider getInstance() {
+ if (__instance == null)
+ __instance = new GMFDiffMergeLabelProvider();
+ return __instance;
+ }
+
+
+ /**
+ * Constructor
+ */
+ public GMFDiffMergeLabelProvider() {
+ // Nothing needed
+ }
+
+ /**
+ * Return a user-friendly variant of the given string using upper case
+ * characters and spaces
+ * @param string_p a non-null string
+ * @return a non-null string
+ */
+ protected String formatTechnicalName(String string_p) {
+ StringBuilder builder = new StringBuilder();
+ boolean first = true;
+ char lastChar = ' ';
+ for (char aChar : string_p.toCharArray()) {
+ if (first) {
+ builder.append(Character.toUpperCase(aChar));
+ first = false;
+ } else {
+ if (Character.isUpperCase(aChar) && Character.isLowerCase(lastChar))
+ builder.append(' ');
+ builder.append(aChar);
+ }
+ lastChar = aChar;
+ }
+ return builder.toString();
+ }
+
+ /**
+ * Return a label for the given element which is solely derived from its
+ * containment reference
+ * @param element_p a non-null element
+ * @return a potentially null string
+ */
+ protected String getContainmentText(EObject element_p) {
+ String result = null;
+ EReference containment = element_p.eContainmentFeature();
+ if (containment != null && isSignificant(containment.getName()))
+ result = formatTechnicalName(containment.getName());
+ return result;
+ }
+
+ /**
+ * Return a label for the given object which is further characterized by the given object
+ * as its "type".
+ * Warning: This operation calls the getText operation on both elements.
+ * @param element_p a potentially null element
+ * @param type_p a non-null element
+ * @return a non-null string
+ */
+ protected String getExplicitlyTypedElementText(Object element_p, Object type_p) {
+ StringBuilder builder = new StringBuilder();
+ boolean elementLabelOK = false;
+ if (element_p != null) {
+ String innerLabel = getText(element_p);
+ if (isSignificant(innerLabel)) {
+ builder.append(innerLabel);
+ elementLabelOK = true;
+ }
+ }
+ if (!elementLabelOK) {
+ builder.append('<');
+ builder.append(Messages.GMFDiffMergeLabelProvider_Unnamed);
+ builder.append('>');
+ }
+ builder.append(" "); //$NON-NLS-1$
+ builder.append('[');
+ builder.append(formatTechnicalName(getText(type_p)));
+ builder.append(']');
+ return builder.toString();
+ }
+
+ /**
+ * Return a label for the given element that represents a layout
+ * @param element_p a non-null element
+ * @return a non-null string
+ */
+ protected String getLayoutText(EObject element_p) {
+ return Messages.GMFDiffMergeLabelProvider_Layout;
+ }
+
+ /**
+ * Return a label for the given element which is further characterized by the given
+ * qualifying elements
+ * @param element_p a potentially null element
+ * @param qualifiers_p a potentially empty set of qualifying elements
+ * @return a non-null string
+ */
+ protected String getManyQualifiedElementText(EObject element_p, Object... qualifiers_p) {
+ StringBuilder builder = new StringBuilder();
+ if (element_p != null) {
+ builder.append(formatTechnicalName(element_p.eClass().getName()));
+ if (qualifiers_p.length > 0)
+ builder.append(' ');
+ }
+ if (qualifiers_p.length > 0) {
+ builder.append('[');
+ boolean firstIteration = true;
+ for (Object qualifier : qualifiers_p) {
+ if (firstIteration)
+ firstIteration = false;
+ else
+ builder.append(", "); //$NON-NLS-1$
+ String innerLabel = getText(qualifier);
+ builder.append(innerLabel);
+ }
+ builder.append(']');
+ }
+ return builder.toString();
+ }
+
+ /**
+ * Return a label for the given element which is further characterized by the given
+ * qualifying element
+ * @param element_p a non-null element
+ * @param qualifier_p a non-null element
+ * @return a non-null string
+ */
+ protected String getQualifiedElementText(EObject element_p, Object qualifier_p) {
+ return getManyQualifiedElementText(element_p, new Object[] {qualifier_p});
+ }
+
+ /**
+ * Return a label for the given relative bendpoint
+ * @param bendpoint_p a non-null relative bendpoint
+ * @return a non-null string
+ */
+ protected String getRelativeBendpointText(RelativeBendpoint bendpoint_p) {
+ StringBuilder builder = new StringBuilder();
+ builder.append('(');
+ builder.append(bendpoint_p.getSourceX());
+ builder.append(',');
+ builder.append(' ');
+ builder.append(bendpoint_p.getSourceY());
+ builder.append(')');
+ builder.append("->"); //$NON-NLS-1$
+ builder.append('(');
+ builder.append(bendpoint_p.getTargetX());
+ builder.append(',');
+ builder.append(' ');
+ builder.append(bendpoint_p.getTargetY());
+ builder.append(')');
+ return builder.toString();
+ }
+
+ /**
+ * Return a label for the given element that represents a graphical style
+ * @param element_p a non-null element
+ * @return a non-null string
+ */
+ protected String getStyleText(EObject element_p) {
+ return formatTechnicalName(element_p.eClass().getName());
+ }
+
+ /**
+ * @see org.eclipse.emf.diffmerge.ui.util.DiffMergeLabelProvider#getText(java.lang.Object)
+ */
+ @Override
+ public String getText(Object element_p) {
+ String result;
+ // ****** GMF
+ if (element_p instanceof Diagram) {
+ Diagram diagram = (Diagram)element_p;
+ String diagramName = diagram.getName();
+ if (isSignificant(diagramName))
+ result = diagram.eClass().getName() + " " + diagramName; //$NON-NLS-1$
+ else
+ result = getViewText(diagram);
+ } else if (element_p instanceof View) {
+ result = getViewText((View)element_p);
+ } else if (isLayout(element_p)) {
+ result = getLayoutText((EObject)element_p);
+ } else if (element_p instanceof Style) {
+ result = getStyleText((EObject)element_p);
+ } else if (element_p instanceof Anchor) {
+ result = NotationPackage.eINSTANCE.getAnchor().getName();
+ } else if (element_p instanceof RelativeBendpoint) {
+ result = getRelativeBendpointText((RelativeBendpoint)element_p);
+ } else if (element_p instanceof Collection<?> && !((Collection<?>)element_p).isEmpty() &&
+ ((Collection<?>)element_p).iterator().next() instanceof RelativeBendpoint) {
+ result = getManyQualifiedElementText(null, ((Collection<?>)element_p).toArray());
+ } else if (element_p instanceof String) {
+ result = (String)element_p;
+ } else {
+ result = super.getText(element_p);
+ }
+ return result;
+ }
+
+ /**
+ * Return a label for the given view
+ * @param view_p a non-null view
+ * @return a non-null string
+ */
+ protected String getViewText(View view_p) {
+ String result;
+ EObject represented = null;
+ if (view_p.eIsSet(NotationPackage.eINSTANCE.getView_Element()))
+ represented = view_p.getElement();
+ result = getExplicitlyTypedElementText(represented, view_p.eClass().getName());
+ return result;
+ }
+
+ /**
+ * Return whether the given element represents a layout
+ * @param element_p a non-null object
+ */
+ protected boolean isLayout(Object element_p) {
+ boolean result = false;
+ if (element_p instanceof EObject) {
+ EReference containment = ((EObject)element_p).eContainmentFeature();
+ result =
+ containment == NotationPackage.eINSTANCE.getNode_LayoutConstraint() ||
+ containment == NotationPackage.eINSTANCE.getEdge_Bendpoints();
+ }
+ return result;
+ }
+
+ /**
+ * Return whether the given string is non-null and non-empty
+ * @param string_p a potentially null string
+ */
+ protected boolean isSignificant(String string_p) {
+ return string_p != null && string_p.length() > 0;
+ }
+
+}
diff --git a/plugins/org.eclipse.emf.diffmerge.ui.gmf/src/org/eclipse/emf/diffmerge/ui/gmf/GMFDiffMergeUIPlugin.java b/plugins/org.eclipse.emf.diffmerge.ui.gmf/src/org/eclipse/emf/diffmerge/ui/gmf/GMFDiffMergeUIPlugin.java
index 7700d5fa..178c2782 100644
--- a/plugins/org.eclipse.emf.diffmerge.ui.gmf/src/org/eclipse/emf/diffmerge/ui/gmf/GMFDiffMergeUIPlugin.java
+++ b/plugins/org.eclipse.emf.diffmerge.ui.gmf/src/org/eclipse/emf/diffmerge/ui/gmf/GMFDiffMergeUIPlugin.java
@@ -1,72 +1,72 @@
-/**
- * <copyright>
- *
- * Copyright (c) 2010-2016 Thales Global Services S.A.S.
- * 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:
- * Thales Global Services S.A.S. - initial API and implementation
- *
- * </copyright>
- */
-package org.eclipse.emf.diffmerge.ui.gmf;
-
-import org.eclipse.ui.plugin.AbstractUIPlugin;
-import org.osgi.framework.BundleContext;
-
-
-/**
- * The activator for this plug-in.
- * @author Olivier Constant
- */
-public class GMFDiffMergeUIPlugin extends AbstractUIPlugin {
-
- /** The shared instance */
- private static GMFDiffMergeUIPlugin __plugin;
-
-
- /**
- * Constructor
- */
- public GMFDiffMergeUIPlugin() {
- // Nothing needed
- }
-
- /**
- * Return the shared instance
- * @return a non-null instance of this class
- */
- public static GMFDiffMergeUIPlugin getDefault() {
- return __plugin;
- }
-
- /**
- * Return the ID of this plug-in according to MANIFEST.MF
- * @return a non-null string
- */
- public String getPluginId() {
- return getBundle().getSymbolicName();
- }
-
- /**
- * @see org.eclipse.ui.plugin.AbstractUIPlugin#start(org.osgi.framework.BundleContext)
- */
- @Override
- public void start(BundleContext context_p) throws Exception {
- super.start(context_p);
- __plugin = this;
- }
-
- /**
- * @see org.eclipse.ui.plugin.AbstractUIPlugin#stop(org.osgi.framework.BundleContext)
- */
- @Override
- public void stop(BundleContext context_p) throws Exception {
- __plugin = null;
- super.stop(context_p);
- }
-
+/**
+ * <copyright>
+ *
+ * Copyright (c) 2010-2017 Thales Global Services S.A.S.
+ * 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:
+ * Thales Global Services S.A.S. - initial API and implementation
+ *
+ * </copyright>
+ */
+package org.eclipse.emf.diffmerge.ui.gmf;
+
+import org.eclipse.ui.plugin.AbstractUIPlugin;
+import org.osgi.framework.BundleContext;
+
+
+/**
+ * The activator for this plug-in.
+ * @author Olivier Constant
+ */
+public class GMFDiffMergeUIPlugin extends AbstractUIPlugin {
+
+ /** The shared instance */
+ private static GMFDiffMergeUIPlugin __plugin;
+
+
+ /**
+ * Constructor
+ */
+ public GMFDiffMergeUIPlugin() {
+ // Nothing needed
+ }
+
+ /**
+ * Return the shared instance
+ * @return a non-null instance of this class
+ */
+ public static GMFDiffMergeUIPlugin getDefault() {
+ return __plugin;
+ }
+
+ /**
+ * Return the ID of this plug-in according to MANIFEST.MF
+ * @return a non-null string
+ */
+ public String getPluginId() {
+ return getBundle().getSymbolicName();
+ }
+
+ /**
+ * @see org.eclipse.ui.plugin.AbstractUIPlugin#start(org.osgi.framework.BundleContext)
+ */
+ @Override
+ public void start(BundleContext context_p) throws Exception {
+ super.start(context_p);
+ __plugin = this;
+ }
+
+ /**
+ * @see org.eclipse.ui.plugin.AbstractUIPlugin#stop(org.osgi.framework.BundleContext)
+ */
+ @Override
+ public void stop(BundleContext context_p) throws Exception {
+ __plugin = null;
+ super.stop(context_p);
+ }
+
} \ No newline at end of file
diff --git a/plugins/org.eclipse.emf.diffmerge.ui.gmf/src/org/eclipse/emf/diffmerge/ui/gmf/GMFScopeDefinitionFactory.java b/plugins/org.eclipse.emf.diffmerge.ui.gmf/src/org/eclipse/emf/diffmerge/ui/gmf/GMFScopeDefinitionFactory.java
index 8da7acf9..7d38759a 100644
--- a/plugins/org.eclipse.emf.diffmerge.ui.gmf/src/org/eclipse/emf/diffmerge/ui/gmf/GMFScopeDefinitionFactory.java
+++ b/plugins/org.eclipse.emf.diffmerge.ui.gmf/src/org/eclipse/emf/diffmerge/ui/gmf/GMFScopeDefinitionFactory.java
@@ -1,68 +1,68 @@
-/**
- * <copyright>
- *
- * Copyright (c) 2010-2016 Thales Global Services S.A.S.
- * 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:
- * Thales Global Services S.A.S. - initial API and implementation
- *
- * </copyright>
- */
-package org.eclipse.emf.diffmerge.ui.gmf;
-
-import java.util.Collection;
-import java.util.Collections;
-
-import org.eclipse.emf.common.util.URI;
-import org.eclipse.emf.diffmerge.api.scopes.IEditableModelScope;
-import org.eclipse.emf.diffmerge.gmf.GMFScope;
-import org.eclipse.emf.diffmerge.ui.specification.IModelScopeDefinition;
-import org.eclipse.emf.diffmerge.ui.specification.ext.URIScopeDefinitionFactory;
-import org.eclipse.emf.diffmerge.ui.specification.ext.URIScopeDefinition;
-import org.eclipse.emf.ecore.resource.ResourceSet;
-import org.eclipse.emf.edit.domain.EditingDomain;
-
-
-/**
- * A factory for model scopes within GMF models.
- * @author Olivier Constant
- */
-public class GMFScopeDefinitionFactory extends URIScopeDefinitionFactory {
-
- /**
- * @see org.eclipse.emf.diffmerge.ui.specification.ext.URIScopeDefinitionFactory#createScopeDefinitionFromURI(org.eclipse.emf.common.util.URI, java.lang.String, boolean)
- */
- @Override
- protected IModelScopeDefinition createScopeDefinitionFromURI(URI uri_p, String label_p,
- boolean editable_p) {
- return new URIScopeDefinition(uri_p, label_p, editable_p) {
- /**
- * @see org.eclipse.emf.diffmerge.ui.specification.ext.URIScopeDefinition#createScopeOnEditingDomain(org.eclipse.emf.edit.domain.EditingDomain)
- */
- @Override
- protected IEditableModelScope createScopeOnEditingDomain(EditingDomain editingDomain_p) {
- return new GMFScope(getEntrypoint(), editingDomain_p, !isEditable());
- }
- /**
- * @see org.eclipse.emf.diffmerge.ui.specification.ext.URIScopeDefinition#createScopeOnResourceSet(org.eclipse.emf.ecore.resource.ResourceSet)
- */
- @Override
- protected IEditableModelScope createScopeOnResourceSet(ResourceSet resourceSet_p) {
- return new GMFScope(getEntrypoint(), resourceSet_p, !isEditable());
- }
- };
- }
-
- /**
- * @see org.eclipse.emf.diffmerge.ui.specification.AbstractScopeDefinitionFactory#getOverridenClasses()
- */
- @Override
- public Collection<? extends Class<?>> getOverridenClasses() {
- return Collections.<Class<?>>singleton(URIScopeDefinitionFactory.class);
- }
-
-}
+/**
+ * <copyright>
+ *
+ * Copyright (c) 2010-2017 Thales Global Services S.A.S.
+ * 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:
+ * Thales Global Services S.A.S. - initial API and implementation
+ *
+ * </copyright>
+ */
+package org.eclipse.emf.diffmerge.ui.gmf;
+
+import java.util.Collection;
+import java.util.Collections;
+
+import org.eclipse.emf.common.util.URI;
+import org.eclipse.emf.diffmerge.api.scopes.IEditableModelScope;
+import org.eclipse.emf.diffmerge.gmf.GMFScope;
+import org.eclipse.emf.diffmerge.ui.specification.IModelScopeDefinition;
+import org.eclipse.emf.diffmerge.ui.specification.ext.URIScopeDefinitionFactory;
+import org.eclipse.emf.diffmerge.ui.specification.ext.URIScopeDefinition;
+import org.eclipse.emf.ecore.resource.ResourceSet;
+import org.eclipse.emf.edit.domain.EditingDomain;
+
+
+/**
+ * A factory for model scopes within GMF models.
+ * @author Olivier Constant
+ */
+public class GMFScopeDefinitionFactory extends URIScopeDefinitionFactory {
+
+ /**
+ * @see org.eclipse.emf.diffmerge.ui.specification.ext.URIScopeDefinitionFactory#createScopeDefinitionFromURI(org.eclipse.emf.common.util.URI, java.lang.String, boolean)
+ */
+ @Override
+ protected IModelScopeDefinition createScopeDefinitionFromURI(URI uri_p, String label_p,
+ boolean editable_p) {
+ return new URIScopeDefinition(uri_p, label_p, editable_p) {
+ /**
+ * @see org.eclipse.emf.diffmerge.ui.specification.ext.URIScopeDefinition#createScopeOnEditingDomain(org.eclipse.emf.edit.domain.EditingDomain)
+ */
+ @Override
+ protected IEditableModelScope createScopeOnEditingDomain(EditingDomain editingDomain_p) {
+ return new GMFScope(getEntrypoint(), editingDomain_p, !isEditable());
+ }
+ /**
+ * @see org.eclipse.emf.diffmerge.ui.specification.ext.URIScopeDefinition#createScopeOnResourceSet(org.eclipse.emf.ecore.resource.ResourceSet)
+ */
+ @Override
+ protected IEditableModelScope createScopeOnResourceSet(ResourceSet resourceSet_p) {
+ return new GMFScope(getEntrypoint(), resourceSet_p, !isEditable());
+ }
+ };
+ }
+
+ /**
+ * @see org.eclipse.emf.diffmerge.ui.specification.AbstractScopeDefinitionFactory#getOverridenClasses()
+ */
+ @Override
+ public Collection<? extends Class<?>> getOverridenClasses() {
+ return Collections.<Class<?>>singleton(URIScopeDefinitionFactory.class);
+ }
+
+}
diff --git a/plugins/org.eclipse.emf.diffmerge.ui.gmf/src/org/eclipse/emf/diffmerge/ui/gmf/Messages.java b/plugins/org.eclipse.emf.diffmerge.ui.gmf/src/org/eclipse/emf/diffmerge/ui/gmf/Messages.java
index 4acc576d..48cc8c03 100644
--- a/plugins/org.eclipse.emf.diffmerge.ui.gmf/src/org/eclipse/emf/diffmerge/ui/gmf/Messages.java
+++ b/plugins/org.eclipse.emf.diffmerge.ui.gmf/src/org/eclipse/emf/diffmerge/ui/gmf/Messages.java
@@ -1,38 +1,38 @@
-/**
- * <copyright>
- *
- * Copyright (c) 2010-2016 Thales Global Services S.A.S.
- * 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:
- * Thales Global Services S.A.S. - initial API and implementation
- *
- * </copyright>
- */
-package org.eclipse.emf.diffmerge.ui.gmf;
-
-import org.eclipse.osgi.util.NLS;
-
-
-/**
- * String management.
- * @author Olivier Constant
- */
-@SuppressWarnings("javadoc")
-public class Messages extends NLS {
- private static final String BUNDLE_NAME = "org.eclipse.emf.diffmerge.ui.gmf.messages"; //$NON-NLS-1$
- public static String GmfComparisonFactory_Label;
- public static String GMFDiffMergeLabelProvider_Layout;
- public static String GMFDiffMergeLabelProvider_Unnamed;
- static {
- // initialize resource bundle
- NLS.initializeMessages(BUNDLE_NAME, Messages.class);
- }
-
- private Messages() {
- // Nothing needed
- }
-}
+/**
+ * <copyright>
+ *
+ * Copyright (c) 2010-2017 Thales Global Services S.A.S.
+ * 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:
+ * Thales Global Services S.A.S. - initial API and implementation
+ *
+ * </copyright>
+ */
+package org.eclipse.emf.diffmerge.ui.gmf;
+
+import org.eclipse.osgi.util.NLS;
+
+
+/**
+ * String management.
+ * @author Olivier Constant
+ */
+@SuppressWarnings("javadoc")
+public class Messages extends NLS {
+ private static final String BUNDLE_NAME = "org.eclipse.emf.diffmerge.ui.gmf.messages"; //$NON-NLS-1$
+ public static String GmfComparisonFactory_Label;
+ public static String GMFDiffMergeLabelProvider_Layout;
+ public static String GMFDiffMergeLabelProvider_Unnamed;
+ static {
+ // initialize resource bundle
+ NLS.initializeMessages(BUNDLE_NAME, Messages.class);
+ }
+
+ private Messages() {
+ // Nothing needed
+ }
+}
diff --git a/plugins/org.eclipse.emf.diffmerge.ui.gmf/src/org/eclipse/emf/diffmerge/ui/gmf/messages.properties b/plugins/org.eclipse.emf.diffmerge.ui.gmf/src/org/eclipse/emf/diffmerge/ui/gmf/messages.properties
index 2ba411f7..d74a4ebe 100644
--- a/plugins/org.eclipse.emf.diffmerge.ui.gmf/src/org/eclipse/emf/diffmerge/ui/gmf/messages.properties
+++ b/plugins/org.eclipse.emf.diffmerge.ui.gmf/src/org/eclipse/emf/diffmerge/ui/gmf/messages.properties
@@ -1,5 +1,5 @@
###############################################################################
-# Copyright (c) 2010-2016 Thales Global Services S.A.S.
+# Copyright (c) 2010-2017 Thales Global Services S.A.S.
# 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
diff --git a/plugins/org.eclipse.emf.diffmerge.ui.sirius/src/org/eclipse/emf/diffmerge/ui/sirius/SiriusTechnicalDifferenceCategory.java b/plugins/org.eclipse.emf.diffmerge.ui.sirius/src/org/eclipse/emf/diffmerge/ui/sirius/SiriusTechnicalDifferenceCategory.java
index 092b13fa..b313d048 100644
--- a/plugins/org.eclipse.emf.diffmerge.ui.sirius/src/org/eclipse/emf/diffmerge/ui/sirius/SiriusTechnicalDifferenceCategory.java
+++ b/plugins/org.eclipse.emf.diffmerge.ui.sirius/src/org/eclipse/emf/diffmerge/ui/sirius/SiriusTechnicalDifferenceCategory.java
@@ -1,7 +1,7 @@
/**
* <copyright>
*
- * Copyright (c) 2016 Thales Global Services S.A.S.
+ * Copyright (c) 2016-2017 Thales Global Services S.A.S.
* 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
diff --git a/plugins/org.eclipse.emf.diffmerge.ui/build.properties b/plugins/org.eclipse.emf.diffmerge.ui/build.properties
index 001a80fd..9c3fdcff 100644
--- a/plugins/org.eclipse.emf.diffmerge.ui/build.properties
+++ b/plugins/org.eclipse.emf.diffmerge.ui/build.properties
@@ -1,21 +1,21 @@
-###############################################################################
-# Copyright (c) 2010-2016 Thales Global Services S.A.S.
-# 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
-###############################################################################
-source.. = src/
-output.. = bin/
-bin.includes = META-INF/,\
- .,\
- plugin.xml,\
- icons/,\
- plugin.properties,\
- model/,\
- schema/,\
- about.html
-src.includes = model/,\
- icons/,\
- about.html,\
- schema/
+###############################################################################
+# Copyright (c) 2010-2017 Thales Global Services S.A.S.
+# 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
+###############################################################################
+source.. = src/
+output.. = bin/
+bin.includes = META-INF/,\
+ .,\
+ plugin.xml,\
+ icons/,\
+ plugin.properties,\
+ model/,\
+ schema/,\
+ about.html
+src.includes = model/,\
+ icons/,\
+ about.html,\
+ schema/
diff --git a/plugins/org.eclipse.emf.diffmerge.ui/model/DiffUIData.ecore b/plugins/org.eclipse.emf.diffmerge.ui/model/DiffUIData.ecore
index 28361582..a2a8ccb6 100644
--- a/plugins/org.eclipse.emf.diffmerge.ui/model/DiffUIData.ecore
+++ b/plugins/org.eclipse.emf.diffmerge.ui/model/DiffUIData.ecore
@@ -1,61 +1,61 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- Copyright (c) 2010-2016 Thales Global Services S.A.S.
- 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:
- Thales Global Services S.A.S - initial API and implementation
--->
-<ecore:EPackage xmi:version="2.0"
- xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" name="diffuidata"
- nsURI="http://www.eclipse.org/emf/diffmerge/ui/1.0.0/diffuidata" nsPrefix="org.eclipse.emf.diffmerge.ui">
- <eClassifiers xsi:type="ecore:EClass" name="UIComparison">
- <eOperations name="dispose"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="actualComparison" lowerBound="1"
- eType="ecore:EClass platform:/plugin/org.eclipse.emf.diffmerge/model/DiffData.ecore#//EComparison"
- changeable="false" containment="true"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="differencesToIgnore" ordered="false"
- upperBound="-1" eType="ecore:EClass platform:/plugin/org.eclipse.emf.diffmerge/model/DiffData.ecore#//EMergeableDifference"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="lastActionSelection" eType="#//ComparisonSelection"
- containment="true"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="ComparisonSelection" eSuperTypes="#//IStructuredSelection">
- <eOperations name="asDifferencesToMerge" upperBound="-1" eType="ecore:EClass platform:/plugin/org.eclipse.emf.diffmerge/model/DiffData.ecore#//EMergeableDifference"/>
- <eOperations name="asFeature" eType="ecore:EClass platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EStructuralFeature"/>
- <eOperations name="asMatch" eType="ecore:EClass platform:/plugin/org.eclipse.emf.diffmerge/model/DiffData.ecore#//EMatch"/>
- <eOperations name="asMatches" upperBound="-1" eType="ecore:EClass platform:/plugin/org.eclipse.emf.diffmerge/model/DiffData.ecore#//EMatch"/>
- <eOperations name="asMatchPath" eType="#//TreePath"/>
- <eOperations name="asValuePresence" eType="ecore:EClass platform:/plugin/org.eclipse.emf.diffmerge/model/DiffData.ecore#//EValuePresence"/>
- <eOperations name="asValuePresences" upperBound="-1" eType="ecore:EClass platform:/plugin/org.eclipse.emf.diffmerge/model/DiffData.ecore#//EValuePresence"/>
- <eOperations name="dispose"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="selectedMatches" upperBound="-1"
- eType="ecore:EClass platform:/plugin/org.eclipse.emf.diffmerge/model/DiffData.ecore#//EMatch"
- changeable="false"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="selectedMatchAndFeature"
- eType="#//MatchAndFeature" changeable="false" containment="true"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="selectedTreePath" upperBound="-1"
- eType="ecore:EClass platform:/plugin/org.eclipse.emf.diffmerge/model/DiffData.ecore#//EMatch"
- changeable="false"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="selectedValuePresences"
- upperBound="-1" eType="ecore:EClass platform:/plugin/org.eclipse.emf.diffmerge/model/DiffData.ecore#//EValuePresence"
- changeable="false"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="MatchAndFeature">
- <eStructuralFeatures xsi:type="ecore:EReference" name="match" lowerBound="1" eType="ecore:EClass platform:/plugin/org.eclipse.emf.diffmerge/model/DiffData.ecore#//EMatch"
- changeable="false"/>
- <eStructuralFeatures xsi:type="ecore:EReference" name="feature" lowerBound="1"
- eType="ecore:EClass platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EStructuralFeature"
- changeable="false"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="MatchToNbEntry" instanceClassName="java.util.Map$Entry">
- <eStructuralFeatures xsi:type="ecore:EReference" name="key" lowerBound="1" eType="ecore:EClass platform:/plugin/org.eclipse.emf.diffmerge/model/DiffData.ecore#//EMatch"/>
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EIntegerObject"/>
- </eClassifiers>
- <eClassifiers xsi:type="ecore:EDataType" name="TreePath" instanceClassName="org.eclipse.jface.viewers.TreePath"/>
- <eClassifiers xsi:type="ecore:EClass" name="IStructuredSelection" instanceClassName="org.eclipse.jface.viewers.IStructuredSelection"
- abstract="true" interface="true"/>
-</ecore:EPackage>
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Copyright (c) 2010-2017 Thales Global Services S.A.S.
+ 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:
+ Thales Global Services S.A.S - initial API and implementation
+-->
+<ecore:EPackage xmi:version="2.0"
+ xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" name="diffuidata"
+ nsURI="http://www.eclipse.org/emf/diffmerge/ui/1.0.0/diffuidata" nsPrefix="org.eclipse.emf.diffmerge.ui">
+ <eClassifiers xsi:type="ecore:EClass" name="UIComparison">
+ <eOperations name="dispose"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="actualComparison" lowerBound="1"
+ eType="ecore:EClass platform:/plugin/org.eclipse.emf.diffmerge/model/DiffData.ecore#//EComparison"
+ changeable="false" containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="differencesToIgnore" ordered="false"
+ upperBound="-1" eType="ecore:EClass platform:/plugin/org.eclipse.emf.diffmerge/model/DiffData.ecore#//EMergeableDifference"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="lastActionSelection" eType="#//ComparisonSelection"
+ containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="ComparisonSelection" eSuperTypes="#//IStructuredSelection">
+ <eOperations name="asDifferencesToMerge" upperBound="-1" eType="ecore:EClass platform:/plugin/org.eclipse.emf.diffmerge/model/DiffData.ecore#//EMergeableDifference"/>
+ <eOperations name="asFeature" eType="ecore:EClass platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EStructuralFeature"/>
+ <eOperations name="asMatch" eType="ecore:EClass platform:/plugin/org.eclipse.emf.diffmerge/model/DiffData.ecore#//EMatch"/>
+ <eOperations name="asMatches" upperBound="-1" eType="ecore:EClass platform:/plugin/org.eclipse.emf.diffmerge/model/DiffData.ecore#//EMatch"/>
+ <eOperations name="asMatchPath" eType="#//TreePath"/>
+ <eOperations name="asValuePresence" eType="ecore:EClass platform:/plugin/org.eclipse.emf.diffmerge/model/DiffData.ecore#//EValuePresence"/>
+ <eOperations name="asValuePresences" upperBound="-1" eType="ecore:EClass platform:/plugin/org.eclipse.emf.diffmerge/model/DiffData.ecore#//EValuePresence"/>
+ <eOperations name="dispose"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="selectedMatches" upperBound="-1"
+ eType="ecore:EClass platform:/plugin/org.eclipse.emf.diffmerge/model/DiffData.ecore#//EMatch"
+ changeable="false"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="selectedMatchAndFeature"
+ eType="#//MatchAndFeature" changeable="false" containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="selectedTreePath" upperBound="-1"
+ eType="ecore:EClass platform:/plugin/org.eclipse.emf.diffmerge/model/DiffData.ecore#//EMatch"
+ changeable="false"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="selectedValuePresences"
+ upperBound="-1" eType="ecore:EClass platform:/plugin/org.eclipse.emf.diffmerge/model/DiffData.ecore#//EValuePresence"
+ changeable="false"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="MatchAndFeature">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="match" lowerBound="1" eType="ecore:EClass platform:/plugin/org.eclipse.emf.diffmerge/model/DiffData.ecore#//EMatch"
+ changeable="false"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="feature" lowerBound="1"
+ eType="ecore:EClass platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EStructuralFeature"
+ changeable="false"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="MatchToNbEntry" instanceClassName="java.util.Map$Entry">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="key" lowerBound="1" eType="ecore:EClass platform:/plugin/org.eclipse.emf.diffmerge/model/DiffData.ecore#//EMatch"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" lowerBound="1" eType="ecore:EDataType platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EIntegerObject"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EDataType" name="TreePath" instanceClassName="org.eclipse.jface.viewers.TreePath"/>
+ <eClassifiers xsi:type="ecore:EClass" name="IStructuredSelection" instanceClassName="org.eclipse.jface.viewers.IStructuredSelection"
+ abstract="true" interface="true"/>
+</ecore:EPackage>
diff --git a/plugins/org.eclipse.emf.diffmerge.ui/model/DiffUIData.genmodel b/plugins/org.eclipse.emf.diffmerge.ui/model/DiffUIData.genmodel
index d951aa39..5cfd8fb7 100644
--- a/plugins/org.eclipse.emf.diffmerge.ui/model/DiffUIData.genmodel
+++ b/plugins/org.eclipse.emf.diffmerge.ui/model/DiffUIData.genmodel
@@ -1,53 +1,53 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- Copyright (c) 2010-2016 Thales Global Services S.A.S.
- 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:
- Thales Global Services S.A.S - initial API and implementation
--->
-<genmodel:GenModel xmi:version="2.0"
- xmlns:xmi="http://www.omg.org/XMI" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore"
- xmlns:genmodel="http://www.eclipse.org/emf/2002/GenModel" modelDirectory="/org.eclipse.emf.diffmerge.ui/src"
- modelPluginID="org.eclipse.emf.diffmerge.ui" redirection="" modelName="DiffUIData"
- nonNLSMarkers="true" booleanFlagsField="" importerID="org.eclipse.emf.importer.ecore"
- suppressUnsettable="true" complianceLevel="5.0" copyrightFields="false" language=""
- usedGenPackages="platform:/plugin/org.eclipse.emf.diffmerge/model/DiffData.genmodel#//diffdata platform:/plugin/org.eclipse.emf.ecore/model/Ecore.genmodel#//ecore">
- <foreignModel>DiffUIData.ecore</foreignModel>
- <genPackages prefix="Diffuidata" basePackage="org.eclipse.emf.diffmerge.ui" resource="Basic"
- disposableProviderFactory="true" ecorePackage="DiffUIData.ecore#/">
- <genDataTypes ecoreDataType="DiffUIData.ecore#//TreePath"/>
- <genClasses ecoreClass="DiffUIData.ecore#//UIComparison">
- <genFeatures property="None" children="true" createChild="false" ecoreFeature="ecore:EReference DiffUIData.ecore#//UIComparison/actualComparison"/>
- <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference DiffUIData.ecore#//UIComparison/differencesToIgnore"/>
- <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference DiffUIData.ecore#//UIComparison/lastActionSelection"/>
- <genOperations ecoreOperation="DiffUIData.ecore#//UIComparison/dispose"/>
- </genClasses>
- <genClasses ecoreClass="DiffUIData.ecore#//ComparisonSelection">
- <genFeatures property="Readonly" notify="false" createChild="false" ecoreFeature="ecore:EReference DiffUIData.ecore#//ComparisonSelection/selectedMatches"/>
- <genFeatures property="None" children="true" createChild="false" ecoreFeature="ecore:EReference DiffUIData.ecore#//ComparisonSelection/selectedMatchAndFeature"/>
- <genFeatures property="Readonly" notify="false" createChild="false" ecoreFeature="ecore:EReference DiffUIData.ecore#//ComparisonSelection/selectedTreePath"/>
- <genFeatures property="Readonly" notify="false" createChild="false" ecoreFeature="ecore:EReference DiffUIData.ecore#//ComparisonSelection/selectedValuePresences"/>
- <genOperations ecoreOperation="DiffUIData.ecore#//ComparisonSelection/asDifferencesToMerge"/>
- <genOperations ecoreOperation="DiffUIData.ecore#//ComparisonSelection/asFeature"/>
- <genOperations ecoreOperation="DiffUIData.ecore#//ComparisonSelection/asMatch"/>
- <genOperations ecoreOperation="DiffUIData.ecore#//ComparisonSelection/asMatches"/>
- <genOperations ecoreOperation="DiffUIData.ecore#//ComparisonSelection/asMatchPath"/>
- <genOperations ecoreOperation="DiffUIData.ecore#//ComparisonSelection/asValuePresence"/>
- <genOperations ecoreOperation="DiffUIData.ecore#//ComparisonSelection/asValuePresences"/>
- <genOperations ecoreOperation="DiffUIData.ecore#//ComparisonSelection/dispose"/>
- </genClasses>
- <genClasses ecoreClass="DiffUIData.ecore#//MatchAndFeature">
- <genFeatures property="Readonly" notify="false" createChild="false" ecoreFeature="ecore:EReference DiffUIData.ecore#//MatchAndFeature/match"/>
- <genFeatures property="Readonly" notify="false" createChild="false" ecoreFeature="ecore:EReference DiffUIData.ecore#//MatchAndFeature/feature"/>
- </genClasses>
- <genClasses ecoreClass="DiffUIData.ecore#//MatchToNbEntry">
- <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference DiffUIData.ecore#//MatchToNbEntry/key"/>
- <genFeatures createChild="false" ecoreFeature="ecore:EAttribute DiffUIData.ecore#//MatchToNbEntry/value"/>
- </genClasses>
- <genClasses image="false" ecoreClass="DiffUIData.ecore#//IStructuredSelection"/>
- </genPackages>
-</genmodel:GenModel>
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Copyright (c) 2010-2017 Thales Global Services S.A.S.
+ 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:
+ Thales Global Services S.A.S - initial API and implementation
+-->
+<genmodel:GenModel xmi:version="2.0"
+ xmlns:xmi="http://www.omg.org/XMI" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore"
+ xmlns:genmodel="http://www.eclipse.org/emf/2002/GenModel" modelDirectory="/org.eclipse.emf.diffmerge.ui/src"
+ modelPluginID="org.eclipse.emf.diffmerge.ui" redirection="" modelName="DiffUIData"
+ nonNLSMarkers="true" booleanFlagsField="" importerID="org.eclipse.emf.importer.ecore"
+ suppressUnsettable="true" complianceLevel="5.0" copyrightFields="false" language=""
+ usedGenPackages="platform:/plugin/org.eclipse.emf.diffmerge/model/DiffData.genmodel#//diffdata platform:/plugin/org.eclipse.emf.ecore/model/Ecore.genmodel#//ecore">
+ <foreignModel>DiffUIData.ecore</foreignModel>
+ <genPackages prefix="Diffuidata" basePackage="org.eclipse.emf.diffmerge.ui" resource="Basic"
+ disposableProviderFactory="true" ecorePackage="DiffUIData.ecore#/">
+ <genDataTypes ecoreDataType="DiffUIData.ecore#//TreePath"/>
+ <genClasses ecoreClass="DiffUIData.ecore#//UIComparison">
+ <genFeatures property="None" children="true" createChild="false" ecoreFeature="ecore:EReference DiffUIData.ecore#//UIComparison/actualComparison"/>
+ <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference DiffUIData.ecore#//UIComparison/differencesToIgnore"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference DiffUIData.ecore#//UIComparison/lastActionSelection"/>
+ <genOperations ecoreOperation="DiffUIData.ecore#//UIComparison/dispose"/>
+ </genClasses>
+ <genClasses ecoreClass="DiffUIData.ecore#//ComparisonSelection">
+ <genFeatures property="Readonly" notify="false" createChild="false" ecoreFeature="ecore:EReference DiffUIData.ecore#//ComparisonSelection/selectedMatches"/>
+ <genFeatures property="None" children="true" createChild="false" ecoreFeature="ecore:EReference DiffUIData.ecore#//ComparisonSelection/selectedMatchAndFeature"/>
+ <genFeatures property="Readonly" notify="false" createChild="false" ecoreFeature="ecore:EReference DiffUIData.ecore#//ComparisonSelection/selectedTreePath"/>
+ <genFeatures property="Readonly" notify="false" createChild="false" ecoreFeature="ecore:EReference DiffUIData.ecore#//ComparisonSelection/selectedValuePresences"/>
+ <genOperations ecoreOperation="DiffUIData.ecore#//ComparisonSelection/asDifferencesToMerge"/>
+ <genOperations ecoreOperation="DiffUIData.ecore#//ComparisonSelection/asFeature"/>
+ <genOperations ecoreOperation="DiffUIData.ecore#//ComparisonSelection/asMatch"/>
+ <genOperations ecoreOperation="DiffUIData.ecore#//ComparisonSelection/asMatches"/>
+ <genOperations ecoreOperation="DiffUIData.ecore#//ComparisonSelection/asMatchPath"/>
+ <genOperations ecoreOperation="DiffUIData.ecore#//ComparisonSelection/asValuePresence"/>
+ <genOperations ecoreOperation="DiffUIData.ecore#//ComparisonSelection/asValuePresences"/>
+ <genOperations ecoreOperation="DiffUIData.ecore#//ComparisonSelection/dispose"/>
+ </genClasses>
+ <genClasses ecoreClass="DiffUIData.ecore#//MatchAndFeature">
+ <genFeatures property="Readonly" notify="false" createChild="false" ecoreFeature="ecore:EReference DiffUIData.ecore#//MatchAndFeature/match"/>
+ <genFeatures property="Readonly" notify="false" createChild="false" ecoreFeature="ecore:EReference DiffUIData.ecore#//MatchAndFeature/feature"/>
+ </genClasses>
+ <genClasses ecoreClass="DiffUIData.ecore#//MatchToNbEntry">
+ <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference DiffUIData.ecore#//MatchToNbEntry/key"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute DiffUIData.ecore#//MatchToNbEntry/value"/>
+ </genClasses>
+ <genClasses image="false" ecoreClass="DiffUIData.ecore#//IStructuredSelection"/>
+ </genPackages>
+</genmodel:GenModel>
diff --git a/plugins/org.eclipse.emf.diffmerge.ui/plugin.properties b/plugins/org.eclipse.emf.diffmerge.ui/plugin.properties
index 0c3b161f..673bccd5 100644
--- a/plugins/org.eclipse.emf.diffmerge.ui/plugin.properties
+++ b/plugins/org.eclipse.emf.diffmerge.ui/plugin.properties
@@ -1,9 +1,9 @@
-###############################################################################
-# Copyright (c) 2010-2016 Thales Global Services S.A.S.
-# 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
-###############################################################################
-pluginName = EMF Diff/Merge Sample UI Plug-In (Incubation)
-providerName = Eclipse Modeling Project
+###############################################################################
+# Copyright (c) 2010-2017 Thales Global Services S.A.S.
+# 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
+###############################################################################
+pluginName = EMF Diff/Merge Sample UI Plug-In (Incubation)
+providerName = Eclipse Modeling Project
diff --git a/plugins/org.eclipse.emf.diffmerge.ui/plugin.xml b/plugins/org.eclipse.emf.diffmerge.ui/plugin.xml
index ce74fb47..92ad530e 100644
--- a/plugins/org.eclipse.emf.diffmerge.ui/plugin.xml
+++ b/plugins/org.eclipse.emf.diffmerge.ui/plugin.xml
@@ -1,61 +1,61 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.4"?>
-<!--
- <copyright>
-
- Copyright (c) 2010-2016 Thales Global Services S.A.S.
- 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:
- Thales Global Services S.A.S - initial API and implementation
-
- </copyright>
--->
-<plugin>
- <extension-point id="org.eclipse.emf.diffmerge.ui.modelComparisonContext" name="ModelComparisonContext" schema="schema/ModelComparisonContext.exsd"/>
- <extension point="org.eclipse.emf.ecore.generated_package">
- <package
- uri="http://www.eclipse.org/emf/diffmerge/ui/diffuidata/1.0.0"
- class="org.eclipse.emf.diffmerge.ui.diffuidata.DiffuidataPackage"
- genModel="model/DiffUIData.genmodel"/>
- </extension>
- <extension
- point="org.eclipse.ui.popupMenus">
- <objectContribution
- id="org.eclipse.emf.diffmerge.ui.compareWithEachOther"
- objectClass="org.eclipse.core.resources.IFile">
- <action
- class="org.eclipse.emf.diffmerge.ui.setup.CompareModelsAction"
- enablesFor="2+"
- id="org.eclipse.emf.diffmerge.ui.compareFilesAction"
- label="Each Other as models"
- menubarPath="compareWithMenu/compareWithGroup">
- </action>
- </objectContribution>
- </extension>
- <extension
- point="org.eclipse.emf.diffmerge.ui.modelComparisonContext">
- <scopeDefinition
- factory="org.eclipse.emf.diffmerge.ui.specification.ext.URIScopeDefinitionFactory">
- </scopeDefinition>
- <scopeDefinition
- factory="org.eclipse.emf.diffmerge.ui.specification.ext.ResourceScopeDefinitionFactory">
- </scopeDefinition>
- <comparisonMethod
- factory="org.eclipse.emf.diffmerge.ui.specification.ext.ConfigurableComparisonMethodFactory">
- </comparisonMethod>
- </extension>
- <extension
- point="org.eclipse.core.runtime.adapters">
- <factory
- adaptableType="org.eclipse.ui.IReusableEditor"
- class="org.eclipse.emf.diffmerge.ui.setup.CompareEditorAdapterFactory">
- <adapter
- type="org.eclipse.ui.views.properties.IPropertySheetPage">
- </adapter>
- </factory>
- </extension>
-</plugin>
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.4"?>
+<!--
+ <copyright>
+
+ Copyright (c) 2010-2017 Thales Global Services S.A.S.
+ 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:
+ Thales Global Services S.A.S - initial API and implementation
+
+ </copyright>
+-->
+<plugin>
+ <extension-point id="org.eclipse.emf.diffmerge.ui.modelComparisonContext" name="ModelComparisonContext" schema="schema/ModelComparisonContext.exsd"/>
+ <extension point="org.eclipse.emf.ecore.generated_package">
+ <package
+ uri="http://www.eclipse.org/emf/diffmerge/ui/diffuidata/1.0.0"
+ class="org.eclipse.emf.diffmerge.ui.diffuidata.DiffuidataPackage"
+ genModel="model/DiffUIData.genmodel"/>
+ </extension>
+ <extension
+ point="org.eclipse.ui.popupMenus">
+ <objectContribution
+ id="org.eclipse.emf.diffmerge.ui.compareWithEachOther"
+ objectClass="org.eclipse.core.resources.IFile">
+ <action
+ class="org.eclipse.emf.diffmerge.ui.setup.CompareModelsAction"
+ enablesFor="2+"
+ id="org.eclipse.emf.diffmerge.ui.compareFilesAction"
+ label="Each Other as models"
+ menubarPath="compareWithMenu/compareWithGroup">
+ </action>
+ </objectContribution>
+ </extension>
+ <extension
+ point="org.eclipse.emf.diffmerge.ui.modelComparisonContext">
+ <scopeDefinition
+ factory="org.eclipse.emf.diffmerge.ui.specification.ext.URIScopeDefinitionFactory">
+ </scopeDefinition>
+ <scopeDefinition
+ factory="org.eclipse.emf.diffmerge.ui.specification.ext.ResourceScopeDefinitionFactory">
+ </scopeDefinition>
+ <comparisonMethod
+ factory="org.eclipse.emf.diffmerge.ui.specification.ext.ConfigurableComparisonMethodFactory">
+ </comparisonMethod>
+ </extension>
+ <extension
+ point="org.eclipse.core.runtime.adapters">
+ <factory
+ adaptableType="org.eclipse.ui.IReusableEditor"
+ class="org.eclipse.emf.diffmerge.ui.setup.CompareEditorAdapterFactory">
+ <adapter
+ type="org.eclipse.ui.views.properties.IPropertySheetPage">
+ </adapter>
+ </factory>
+ </extension>
+</plugin>
diff --git a/plugins/org.eclipse.emf.diffmerge.ui/schema/ModelComparisonContext.exsd b/plugins/org.eclipse.emf.diffmerge.ui/schema/ModelComparisonContext.exsd
index d21bde60..11e557c8 100644
--- a/plugins/org.eclipse.emf.diffmerge.ui/schema/ModelComparisonContext.exsd
+++ b/plugins/org.eclipse.emf.diffmerge.ui/schema/ModelComparisonContext.exsd
@@ -1,145 +1,145 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!-- Schema file written by PDE -->
-<schema targetNamespace="org.eclipse.emf.diffmerge.ui" xmlns="http://www.w3.org/2001/XMLSchema">
-<annotation>
- <appinfo>
- <meta.schema plugin="org.eclipse.emf.diffmerge.ui" id="modelComparisonContext" name="Model Comparison Context for EMF Diff/Merge GUI"/>
- </appinfo>
- <documentation>
- The purpose of this extension point is to register comparison contexts in the platform. A comparison context encompasses factories for scope definitions and/or for comparison methods. A scope definition determines how a given object can be converted into or interpreted as a model scope, i.e., a set of models elements that can be compared. A comparison method defines match, diff and merge policies which are applicable to certain model scopes.
- </documentation>
- </annotation>
-
- <element name="extension">
- <annotation>
- <appinfo>
- <meta.element />
- </appinfo>
- </annotation>
- <complexType>
- <sequence minOccurs="1" maxOccurs="unbounded">
- <choice>
- <element ref="comparisonMethod"/>
- <element ref="scopeDefinition"/>
- </choice>
- </sequence>
- <attribute name="point" type="string" use="required">
- <annotation>
- <documentation>
-
- </documentation>
- </annotation>
- </attribute>
- <attribute name="id" type="string">
- <annotation>
- <documentation>
-
- </documentation>
- </annotation>
- </attribute>
- <attribute name="name" type="string">
- <annotation>
- <documentation>
-
- </documentation>
- <appinfo>
- <meta.attribute translatable="true"/>
- </appinfo>
- </annotation>
- </attribute>
- </complexType>
- </element>
-
- <element name="comparisonMethod">
- <complexType>
- <attribute name="factory" type="string">
- <annotation>
- <documentation>
-
- </documentation>
- <appinfo>
- <meta.attribute kind="java" basedOn=":org.eclipse.emf.diffmerge.ui.specification.IComparisonMethodFactory"/>
- </appinfo>
- </annotation>
- </attribute>
- </complexType>
- </element>
-
- <element name="scopeDefinition">
- <complexType>
- <attribute name="factory" type="string">
- <annotation>
- <documentation>
-
- </documentation>
- <appinfo>
- <meta.attribute kind="java" basedOn=":org.eclipse.emf.diffmerge.ui.specification.IModelScopeDefinitionFactory"/>
- </appinfo>
- </annotation>
- </attribute>
- </complexType>
- </element>
-
- <annotation>
- <appinfo>
- <meta.section type="since"/>
- </appinfo>
- <documentation>
- 0.1.0
- </documentation>
- </annotation>
-
- <annotation>
- <appinfo>
- <meta.section type="examples"/>
- </appinfo>
- <documentation>
- Following is an example of how a scope definition factory and a comparison method factory can be registered:
-&lt;pre&gt;
- &lt;extension
- point=&quot;org.eclipse.emf.diffmerge.ui.modelComparisonContext&quot;&gt;
- &lt;scopeDefinition
- factory=&quot;org.eclipse.emf.diffmerge.ui.specification.ext.URIScopeSpecificationFactory&quot;&gt;
- &lt;/scopeDefinition&gt;
- &lt;comparisonMethod
- factory=&quot;org.eclipse.emf.diffmerge.ui.specification.ext.DefaultComparisonSpecificationFactory&quot;&gt;
- &lt;/comparisonMethod&gt;
- &lt;/extension&gt;
-&lt;/pre&gt;
- </documentation>
- </annotation>
-
- <annotation>
- <appinfo>
- <meta.section type="apiinfo"/>
- </appinfo>
- <documentation>
- The value of the factory attribute of the scopeDefinition node must refer to a concrete class which implements &lt;samp&gt;org.eclipse.emf.diffmerge.ui.specification.IComparisonMethodFactory&lt;/samp&gt;. This concrete class may extend class &lt;samp&gt;org.eclipse.emf.diffmerge.ui.specification.DefaultComparisonMethodFactory&lt;/samp&gt; or a subclass.
-&lt;p&gt;
-The value of the factory attribute of the comparisonMethod node must refer to a concrete class which implements &lt;samp&gt;org.eclipse.emf.diffmerge.ui.specification.IModelScopeDefinitionFactory&lt;/samp&gt;. This concrete class may extend abstract class &lt;samp&gt;org.eclipse.emf.diffmerge.ui.specification.AbstractScopeDefinitionFactory&lt;/samp&gt; or a subclass.
- </documentation>
- </annotation>
-
- <annotation>
- <appinfo>
- <meta.section type="implementation"/>
- </appinfo>
- <documentation>
- This plug-in extends this extension point to register the following three scope definition factories: &lt;samp&gt;URIScopeDefinitionFactory&lt;/samp&gt;, &lt;samp&gt;ResourceScopeDefinitionFactory&lt;/samp&gt; and &lt;samp&gt;EObjectScopeDefinitionFactory&lt;/samp&gt;.
-In addition, this plug-in extends this extension point to register the following comparison method factory:
-&lt;samp&gt;DefaultComparisonMethodFactory&lt;/samp&gt;.
- </documentation>
- </annotation>
-
- <annotation>
- <appinfo>
- <meta.section type="copyright"/>
- </appinfo>
- <documentation>
- Copyright (c) 2010-2016 Thales Global Services S.A.S.&lt;br&gt;
-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 &lt;a
-href=&quot;http://www.eclipse.org/legal/epl-v10.html&quot;&gt;http://www.eclipse.org/legal/epl-v10.html&lt;/a&gt;
- </documentation>
- </annotation>
-
-</schema>
+<?xml version='1.0' encoding='UTF-8'?>
+<!-- Schema file written by PDE -->
+<schema targetNamespace="org.eclipse.emf.diffmerge.ui" xmlns="http://www.w3.org/2001/XMLSchema">
+<annotation>
+ <appinfo>
+ <meta.schema plugin="org.eclipse.emf.diffmerge.ui" id="modelComparisonContext" name="Model Comparison Context for EMF Diff/Merge GUI"/>
+ </appinfo>
+ <documentation>
+ The purpose of this extension point is to register comparison contexts in the platform. A comparison context encompasses factories for scope definitions and/or for comparison methods. A scope definition determines how a given object can be converted into or interpreted as a model scope, i.e., a set of models elements that can be compared. A comparison method defines match, diff and merge policies which are applicable to certain model scopes.
+ </documentation>
+ </annotation>
+
+ <element name="extension">
+ <annotation>
+ <appinfo>
+ <meta.element />
+ </appinfo>
+ </annotation>
+ <complexType>
+ <sequence minOccurs="1" maxOccurs="unbounded">
+ <choice>
+ <element ref="comparisonMethod"/>
+ <element ref="scopeDefinition"/>
+ </choice>
+ </sequence>
+ <attribute name="point" type="string" use="required">
+ <annotation>
+ <documentation>
+
+ </documentation>
+ </annotation>
+ </attribute>
+ <attribute name="id" type="string">
+ <annotation>
+ <documentation>
+
+ </documentation>
+ </annotation>
+ </attribute>
+ <attribute name="name" type="string">
+ <annotation>
+ <documentation>
+
+ </documentation>
+ <appinfo>
+ <meta.attribute translatable="true"/>
+ </appinfo>
+ </annotation>
+ </attribute>
+ </complexType>
+ </element>
+
+ <element name="comparisonMethod">
+ <complexType>
+ <attribute name="factory" type="string">
+ <annotation>
+ <documentation>
+
+ </documentation>
+ <appinfo>
+ <meta.attribute kind="java" basedOn=":org.eclipse.emf.diffmerge.ui.specification.IComparisonMethodFactory"/>
+ </appinfo>
+ </annotation>
+ </attribute>
+ </complexType>
+ </element>
+
+ <element name="scopeDefinition">
+ <complexType>
+ <attribute name="factory" type="string">
+ <annotation>
+ <documentation>
+
+ </documentation>
+ <appinfo>
+ <meta.attribute kind="java" basedOn=":org.eclipse.emf.diffmerge.ui.specification.IModelScopeDefinitionFactory"/>
+ </appinfo>
+ </annotation>
+ </attribute>
+ </complexType>
+ </element>
+
+ <annotation>
+ <appinfo>
+ <meta.section type="since"/>
+ </appinfo>
+ <documentation>
+ 0.1.0
+ </documentation>
+ </annotation>
+
+ <annotation>
+ <appinfo>
+ <meta.section type="examples"/>
+ </appinfo>
+ <documentation>
+ Following is an example of how a scope definition factory and a comparison method factory can be registered:
+&lt;pre&gt;
+ &lt;extension
+ point=&quot;org.eclipse.emf.diffmerge.ui.modelComparisonContext&quot;&gt;
+ &lt;scopeDefinition
+ factory=&quot;org.eclipse.emf.diffmerge.ui.specification.ext.URIScopeSpecificationFactory&quot;&gt;
+ &lt;/scopeDefinition&gt;
+ &lt;comparisonMethod
+ factory=&quot;org.eclipse.emf.diffmerge.ui.specification.ext.DefaultComparisonSpecificationFactory&quot;&gt;
+ &lt;/comparisonMethod&gt;
+ &lt;/extension&gt;
+&lt;/pre&gt;
+ </documentation>
+ </annotation>
+
+ <annotation>
+ <appinfo>
+ <meta.section type="apiinfo"/>
+ </appinfo>
+ <documentation>
+ The value of the factory attribute of the scopeDefinition node must refer to a concrete class which implements &lt;samp&gt;org.eclipse.emf.diffmerge.ui.specification.IComparisonMethodFactory&lt;/samp&gt;. This concrete class may extend class &lt;samp&gt;org.eclipse.emf.diffmerge.ui.specification.DefaultComparisonMethodFactory&lt;/samp&gt; or a subclass.
+&lt;p&gt;
+The value of the factory attribute of the comparisonMethod node must refer to a concrete class which implements &lt;samp&gt;org.eclipse.emf.diffmerge.ui.specification.IModelScopeDefinitionFactory&lt;/samp&gt;. This concrete class may extend abstract class &lt;samp&gt;org.eclipse.emf.diffmerge.ui.specification.AbstractScopeDefinitionFactory&lt;/samp&gt; or a subclass.
+ </documentation>
+ </annotation>
+
+ <annotation>
+ <appinfo>
+ <meta.section type="implementation"/>
+ </appinfo>
+ <documentation>
+ This plug-in extends this extension point to register the following three scope definition factories: &lt;samp&gt;URIScopeDefinitionFactory&lt;/samp&gt;, &lt;samp&gt;ResourceScopeDefinitionFactory&lt;/samp&gt; and &lt;samp&gt;EObjectScopeDefinitionFactory&lt;/samp&gt;.
+In addition, this plug-in extends this extension point to register the following comparison method factory:
+&lt;samp&gt;DefaultComparisonMethodFactory&lt;/samp&gt;.
+ </documentation>
+ </annotation>
+
+ <annotation>
+ <appinfo>
+ <meta.section type="copyright"/>
+ </appinfo>
+ <documentation>
+ Copyright (c) 2010-2017 Thales Global Services S.A.S.&lt;br&gt;
+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 &lt;a
+href=&quot;http://www.eclipse.org/legal/epl-v10.html&quot;&gt;http://www.eclipse.org/legal/epl-v10.html&lt;/a&gt;
+ </documentation>
+ </annotation>
+
+</schema>
diff --git a/plugins/org.eclipse.emf.diffmerge.ui/src/org/eclipse/emf/diffmerge/ui/EMFDiffMergeUIPlugin.java b/plugins/org.eclipse.emf.diffmerge.ui/src/org/eclipse/emf/diffmerge/ui/EMFDiffMergeUIPlugin.java
index bbededcd..524e4fbc 100644
--- a/plugins/org.eclipse.emf.diffmerge.ui/src/org/eclipse/emf/diffmerge/ui/EMFDiffMergeUIPlugin.java
+++ b/plugins/org.eclipse.emf.diffmerge.ui/src/org/eclipse/emf/diffmerge/ui/EMFDiffMergeUIPlugin.java
@@ -1,7 +1,7 @@
/**
* <copyright>
*
- * Copyright (c) 2010-2016 Thales Global Services S.A.S.
+ * Copyright (c) 2010-2017 Thales Global Services S.A.S.
* 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
diff --git a/plugins/org.eclipse.emf.diffmerge.ui/src/org/eclipse/emf/diffmerge/ui/diffuidata/ComparisonSelection.java b/plugins/org.eclipse.emf.diffmerge.ui/src/org/eclipse/emf/diffmerge/ui/diffuidata/ComparisonSelection.java
index 486a1129..fdad40a3 100644
--- a/plugins/org.eclipse.emf.diffmerge.ui/src/org/eclipse/emf/diffmerge/ui/diffuidata/ComparisonSelection.java
+++ b/plugins/org.eclipse.emf.diffmerge.ui/src/org/eclipse/emf/diffmerge/ui/diffuidata/ComparisonSelection.java
@@ -1,176 +1,176 @@
-/**
- * <copyright>
- *
- * Copyright (c) 2010-2016 Thales Global Services S.A.S.
- * 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:
- * Thales Global Services S.A.S. - initial API and implementation
- *
- * </copyright>
- */
-package org.eclipse.emf.diffmerge.ui.diffuidata;
-
-import org.eclipse.emf.common.util.EList;
-import org.eclipse.emf.diffmerge.diffdata.EMatch;
-import org.eclipse.emf.diffmerge.diffdata.EMergeableDifference;
-import org.eclipse.emf.diffmerge.diffdata.EValuePresence;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.EStructuralFeature;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.TreePath;
-
-
-/**
- * <!-- begin-user-doc -->
- * A selection model for Comparison Viewer.
- * <!-- end-user-doc -->
- *
- * <p>
- * The following features are supported:
- * <ul>
- * <li>{@link org.eclipse.emf.diffmerge.ui.diffuidata.ComparisonSelection#getSelectedMatches <em>Selected Matches</em>}</li>
- * <li>{@link org.eclipse.emf.diffmerge.ui.diffuidata.ComparisonSelection#getSelectedMatchAndFeature <em>Selected Match And Feature</em>}</li>
- * <li>{@link org.eclipse.emf.diffmerge.ui.diffuidata.ComparisonSelection#getSelectedTreePath <em>Selected Tree Path</em>}</li>
- * <li>{@link org.eclipse.emf.diffmerge.ui.diffuidata.ComparisonSelection#getSelectedValuePresences <em>Selected Value Presences</em>}</li>
- * </ul>
- * </p>
- *
- * @see org.eclipse.emf.diffmerge.ui.diffuidata.DiffuidataPackage#getComparisonSelection()
- * @model superTypes="org.eclipse.emf.diffmerge.ui.diffuidata.IStructuredSelection"
- * @generated
- */
-public interface ComparisonSelection extends EObject, IStructuredSelection {
- /**
- * Returns the value of the '<em><b>Selected Matches</b></em>' reference list.
- * The list contents are of type {@link org.eclipse.emf.diffmerge.diffdata.EMatch}.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Selected Matches</em>' reference list isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Selected Matches</em>' reference list.
- * @see org.eclipse.emf.diffmerge.ui.diffuidata.DiffuidataPackage#getComparisonSelection_SelectedMatches()
- * @model changeable="false"
- * @generated
- */
- EList<EMatch> getSelectedMatches();
-
- /**
- * Returns the value of the '<em><b>Selected Match And Feature</b></em>' containment reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the value of the '<em>Selected Match And Feature</em>' containment reference.
- * @see org.eclipse.emf.diffmerge.ui.diffuidata.DiffuidataPackage#getComparisonSelection_SelectedMatchAndFeature()
- * @model containment="true" changeable="false"
- * @generated
- */
- MatchAndFeature getSelectedMatchAndFeature();
-
- /**
- * Returns the value of the '<em><b>Selected Tree Path</b></em>' reference list.
- * The list contents are of type {@link org.eclipse.emf.diffmerge.diffdata.EMatch}.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the value of the '<em>Selected Tree Path</em>' reference list.
- * @see org.eclipse.emf.diffmerge.ui.diffuidata.DiffuidataPackage#getComparisonSelection_SelectedTreePath()
- * @model changeable="false"
- * @generated
- */
- EList<EMatch> getSelectedTreePath();
-
- /**
- * Returns the value of the '<em><b>Selected Value Presences</b></em>' reference list.
- * The list contents are of type {@link org.eclipse.emf.diffmerge.diffdata.EValuePresence}.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Selected Value Presences</em>' reference list isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Selected Value Presences</em>' reference list.
- * @see org.eclipse.emf.diffmerge.ui.diffuidata.DiffuidataPackage#getComparisonSelection_SelectedValuePresences()
- * @model changeable="false"
- * @generated
- */
- EList<EValuePresence> getSelectedValuePresences();
-
- /**
- * <!-- begin-user-doc -->
- * Return the set of differences to merge according to this selection
- * @return a non-null, potentially empty, unmodifiable collection
- * <!-- end-user-doc -->
- * @model
- * @generated
- */
- EList<EMergeableDifference> asDifferencesToMerge();
-
- /**
- * <!-- begin-user-doc -->
- * Return the content of the selection in terms of structural feature
- * @return a potentially null structural feature
- * <!-- end-user-doc -->
- * @model
- * @generated
- */
- EStructuralFeature asFeature();
-
- /**
- * <!-- begin-user-doc -->
- * Return the content of the selection in terms of match
- * @return a potentially null match
- * <!-- end-user-doc -->
- * @model
- * @generated
- */
- EMatch asMatch();
-
- /**
- * <!-- begin-user-doc -->
- * Return the content of the selection in terms of a set of matches
- * <!-- end-user-doc -->
- * @model
- * @generated
- */
- EList<EMatch> asMatches();
-
- /**
- * <!-- begin-user-doc -->
- * Return the content of the selection as a tree path of matches
- * @return a potentially null tree path
- * <!-- end-user-doc -->
- * @model dataType="org.eclipse.emf.diffmerge.ui.diffuidata.TreePath"
- * @generated
- */
- TreePath asMatchPath();
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @model
- * @generated
- */
- EValuePresence asValuePresence();
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @model
- * @generated
- */
- EList<EValuePresence> asValuePresences();
-
- /**
- * <!-- begin-user-doc -->
- * Dispose the receiver
- * <!-- end-user-doc -->
- * @model
- * @generated
- */
- void dispose();
-
-} // ComparisonSelection
+/**
+ * <copyright>
+ *
+ * Copyright (c) 2010-2017 Thales Global Services S.A.S.
+ * 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:
+ * Thales Global Services S.A.S. - initial API and implementation
+ *
+ * </copyright>
+ */
+package org.eclipse.emf.diffmerge.ui.diffuidata;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.diffmerge.diffdata.EMatch;
+import org.eclipse.emf.diffmerge.diffdata.EMergeableDifference;
+import org.eclipse.emf.diffmerge.diffdata.EValuePresence;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.jface.viewers.IStructuredSelection;
+import org.eclipse.jface.viewers.TreePath;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A selection model for Comparison Viewer.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.emf.diffmerge.ui.diffuidata.ComparisonSelection#getSelectedMatches <em>Selected Matches</em>}</li>
+ * <li>{@link org.eclipse.emf.diffmerge.ui.diffuidata.ComparisonSelection#getSelectedMatchAndFeature <em>Selected Match And Feature</em>}</li>
+ * <li>{@link org.eclipse.emf.diffmerge.ui.diffuidata.ComparisonSelection#getSelectedTreePath <em>Selected Tree Path</em>}</li>
+ * <li>{@link org.eclipse.emf.diffmerge.ui.diffuidata.ComparisonSelection#getSelectedValuePresences <em>Selected Value Presences</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.emf.diffmerge.ui.diffuidata.DiffuidataPackage#getComparisonSelection()
+ * @model superTypes="org.eclipse.emf.diffmerge.ui.diffuidata.IStructuredSelection"
+ * @generated
+ */
+public interface ComparisonSelection extends EObject, IStructuredSelection {
+ /**
+ * Returns the value of the '<em><b>Selected Matches</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.emf.diffmerge.diffdata.EMatch}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Selected Matches</em>' reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Selected Matches</em>' reference list.
+ * @see org.eclipse.emf.diffmerge.ui.diffuidata.DiffuidataPackage#getComparisonSelection_SelectedMatches()
+ * @model changeable="false"
+ * @generated
+ */
+ EList<EMatch> getSelectedMatches();
+
+ /**
+ * Returns the value of the '<em><b>Selected Match And Feature</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Selected Match And Feature</em>' containment reference.
+ * @see org.eclipse.emf.diffmerge.ui.diffuidata.DiffuidataPackage#getComparisonSelection_SelectedMatchAndFeature()
+ * @model containment="true" changeable="false"
+ * @generated
+ */
+ MatchAndFeature getSelectedMatchAndFeature();
+
+ /**
+ * Returns the value of the '<em><b>Selected Tree Path</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.emf.diffmerge.diffdata.EMatch}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Selected Tree Path</em>' reference list.
+ * @see org.eclipse.emf.diffmerge.ui.diffuidata.DiffuidataPackage#getComparisonSelection_SelectedTreePath()
+ * @model changeable="false"
+ * @generated
+ */
+ EList<EMatch> getSelectedTreePath();
+
+ /**
+ * Returns the value of the '<em><b>Selected Value Presences</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.emf.diffmerge.diffdata.EValuePresence}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Selected Value Presences</em>' reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Selected Value Presences</em>' reference list.
+ * @see org.eclipse.emf.diffmerge.ui.diffuidata.DiffuidataPackage#getComparisonSelection_SelectedValuePresences()
+ * @model changeable="false"
+ * @generated
+ */
+ EList<EValuePresence> getSelectedValuePresences();
+
+ /**
+ * <!-- begin-user-doc -->
+ * Return the set of differences to merge according to this selection
+ * @return a non-null, potentially empty, unmodifiable collection
+ * <!-- end-user-doc -->
+ * @model
+ * @generated
+ */
+ EList<EMergeableDifference> asDifferencesToMerge();
+
+ /**
+ * <!-- begin-user-doc -->
+ * Return the content of the selection in terms of structural feature
+ * @return a potentially null structural feature
+ * <!-- end-user-doc -->
+ * @model
+ * @generated
+ */
+ EStructuralFeature asFeature();
+
+ /**
+ * <!-- begin-user-doc -->
+ * Return the content of the selection in terms of match
+ * @return a potentially null match
+ * <!-- end-user-doc -->
+ * @model
+ * @generated
+ */
+ EMatch asMatch();
+
+ /**
+ * <!-- begin-user-doc -->
+ * Return the content of the selection in terms of a set of matches
+ * <!-- end-user-doc -->
+ * @model
+ * @generated
+ */
+ EList<EMatch> asMatches();
+
+ /**
+ * <!-- begin-user-doc -->
+ * Return the content of the selection as a tree path of matches
+ * @return a potentially null tree path
+ * <!-- end-user-doc -->
+ * @model dataType="org.eclipse.emf.diffmerge.ui.diffuidata.TreePath"
+ * @generated
+ */
+ TreePath asMatchPath();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @model
+ * @generated
+ */
+ EValuePresence asValuePresence();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @model
+ * @generated
+ */
+ EList<EValuePresence> asValuePresences();
+
+ /**
+ * <!-- begin-user-doc -->
+ * Dispose the receiver
+ * <!-- end-user-doc -->
+ * @model
+ * @generated
+ */
+ void dispose();
+
+} // ComparisonSelection
diff --git a/plugins/org.eclipse.emf.diffmerge.ui/src/org/eclipse/emf/diffmerge/ui/diffuidata/DiffuidataFactory.java b/plugins/org.eclipse.emf.diffmerge.ui/src/org/eclipse/emf/diffmerge/ui/diffuidata/DiffuidataFactory.java
index 6d532d25..ef5d8dc2 100644
--- a/plugins/org.eclipse.emf.diffmerge.ui/src/org/eclipse/emf/diffmerge/ui/diffuidata/DiffuidataFactory.java
+++ b/plugins/org.eclipse.emf.diffmerge.ui/src/org/eclipse/emf/diffmerge/ui/diffuidata/DiffuidataFactory.java
@@ -1,72 +1,72 @@
-/**
- * <copyright>
- *
- * Copyright (c) 2010-2016 Thales Global Services S.A.S.
- * 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:
- * Thales Global Services S.A.S. - initial API and implementation
- *
- * </copyright>
- */
-package org.eclipse.emf.diffmerge.ui.diffuidata;
-
-import org.eclipse.emf.ecore.EFactory;
-
-/**
- * <!-- begin-user-doc -->
- * The <b>Factory</b> for the model.
- * It provides a create method for each non-abstract class of the model.
- * <!-- end-user-doc -->
- * @see org.eclipse.emf.diffmerge.ui.diffuidata.DiffuidataPackage
- * @generated
- */
-public interface DiffuidataFactory extends EFactory {
- /**
- * The singleton instance of the factory.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- DiffuidataFactory eINSTANCE = org.eclipse.emf.diffmerge.ui.diffuidata.impl.DiffuidataFactoryImpl.init();
-
- /**
- * Returns a new object of class '<em>UI Comparison</em>'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return a new object of class '<em>UI Comparison</em>'.
- * @generated
- */
- UIComparison createUIComparison();
-
- /**
- * Returns a new object of class '<em>Comparison Selection</em>'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return a new object of class '<em>Comparison Selection</em>'.
- * @generated
- */
- ComparisonSelection createComparisonSelection();
-
- /**
- * Returns a new object of class '<em>Match And Feature</em>'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return a new object of class '<em>Match And Feature</em>'.
- * @generated
- */
- MatchAndFeature createMatchAndFeature();
-
- /**
- * Returns the package supported by this factory.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the package supported by this factory.
- * @generated
- */
- DiffuidataPackage getDiffuidataPackage();
-
-} //DiffuidataFactory
+/**
+ * <copyright>
+ *
+ * Copyright (c) 2010-2017 Thales Global Services S.A.S.
+ * 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:
+ * Thales Global Services S.A.S. - initial API and implementation
+ *
+ * </copyright>
+ */
+package org.eclipse.emf.diffmerge.ui.diffuidata;
+
+import org.eclipse.emf.ecore.EFactory;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Factory</b> for the model.
+ * It provides a create method for each non-abstract class of the model.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.diffmerge.ui.diffuidata.DiffuidataPackage
+ * @generated
+ */
+public interface DiffuidataFactory extends EFactory {
+ /**
+ * The singleton instance of the factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ DiffuidataFactory eINSTANCE = org.eclipse.emf.diffmerge.ui.diffuidata.impl.DiffuidataFactoryImpl.init();
+
+ /**
+ * Returns a new object of class '<em>UI Comparison</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>UI Comparison</em>'.
+ * @generated
+ */
+ UIComparison createUIComparison();
+
+ /**
+ * Returns a new object of class '<em>Comparison Selection</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Comparison Selection</em>'.
+ * @generated
+ */
+ ComparisonSelection createComparisonSelection();
+
+ /**
+ * Returns a new object of class '<em>Match And Feature</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Match And Feature</em>'.
+ * @generated
+ */
+ MatchAndFeature createMatchAndFeature();
+
+ /**
+ * Returns the package supported by this factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the package supported by this factory.
+ * @generated
+ */
+ DiffuidataPackage getDiffuidataPackage();
+
+} //DiffuidataFactory
diff --git a/plugins/org.eclipse.emf.diffmerge.ui/src/org/eclipse/emf/diffmerge/ui/diffuidata/DiffuidataPackage.java b/plugins/org.eclipse.emf.diffmerge.ui/src/org/eclipse/emf/diffmerge/ui/diffuidata/DiffuidataPackage.java
index 82c9f811..4ee8cf24 100644
--- a/plugins/org.eclipse.emf.diffmerge.ui/src/org/eclipse/emf/diffmerge/ui/diffuidata/DiffuidataPackage.java
+++ b/plugins/org.eclipse.emf.diffmerge.ui/src/org/eclipse/emf/diffmerge/ui/diffuidata/DiffuidataPackage.java
@@ -1,634 +1,634 @@
-/**
- * <copyright>
- *
- * Copyright (c) 2010-2016 Thales Global Services S.A.S.
- * 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:
- * Thales Global Services S.A.S. - initial API and implementation
- *
- * </copyright>
- */
-package org.eclipse.emf.diffmerge.ui.diffuidata;
-
-import org.eclipse.emf.ecore.EAttribute;
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EDataType;
-import org.eclipse.emf.ecore.EPackage;
-import org.eclipse.emf.ecore.EReference;
-
-/**
- * <!-- begin-user-doc -->
- * The <b>Package</b> for the model.
- * It contains accessors for the meta objects to represent
- * <ul>
- * <li>each class,</li>
- * <li>each feature of each class,</li>
- * <li>each enum,</li>
- * <li>and each data type</li>
- * </ul>
- * <!-- end-user-doc -->
- * @see org.eclipse.emf.diffmerge.ui.diffuidata.DiffuidataFactory
- * @model kind="package"
- * @generated
- */
-@SuppressWarnings("hiding")
-public interface DiffuidataPackage extends EPackage {
- /**
- * The package name.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- String eNAME = "diffuidata"; //$NON-NLS-1$
-
- /**
- * The package namespace URI.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- String eNS_URI = "http://www.eclipse.org/emf/diffmerge/ui/1.0.0/diffuidata"; //$NON-NLS-1$
-
- /**
- * The package namespace name.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- String eNS_PREFIX = "org.eclipse.emf.diffmerge.ui"; //$NON-NLS-1$
-
- /**
- * The singleton instance of the package.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- DiffuidataPackage eINSTANCE = org.eclipse.emf.diffmerge.ui.diffuidata.impl.DiffuidataPackageImpl.init();
-
- /**
- * The meta object id for the '{@link org.eclipse.emf.diffmerge.ui.diffuidata.impl.UIComparisonImpl <em>UI Comparison</em>}' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see org.eclipse.emf.diffmerge.ui.diffuidata.impl.UIComparisonImpl
- * @see org.eclipse.emf.diffmerge.ui.diffuidata.impl.DiffuidataPackageImpl#getUIComparison()
- * @generated
- */
- int UI_COMPARISON = 0;
-
- /**
- * The feature id for the '<em><b>Actual Comparison</b></em>' containment reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int UI_COMPARISON__ACTUAL_COMPARISON = 0;
-
- /**
- * The feature id for the '<em><b>Differences To Ignore</b></em>' reference list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int UI_COMPARISON__DIFFERENCES_TO_IGNORE = 1;
-
- /**
- * The feature id for the '<em><b>Last Action Selection</b></em>' containment reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int UI_COMPARISON__LAST_ACTION_SELECTION = 2;
-
- /**
- * The number of structural features of the '<em>UI Comparison</em>' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int UI_COMPARISON_FEATURE_COUNT = 3;
-
- /**
- * The meta object id for the '{@link org.eclipse.jface.viewers.IStructuredSelection <em>IStructured Selection</em>}' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see org.eclipse.jface.viewers.IStructuredSelection
- * @see org.eclipse.emf.diffmerge.ui.diffuidata.impl.DiffuidataPackageImpl#getIStructuredSelection()
- * @generated
- */
- int ISTRUCTURED_SELECTION = 4;
-
- /**
- * The number of structural features of the '<em>IStructured Selection</em>' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int ISTRUCTURED_SELECTION_FEATURE_COUNT = 0;
-
- /**
- * The meta object id for the '{@link org.eclipse.emf.diffmerge.ui.diffuidata.impl.ComparisonSelectionImpl <em>Comparison Selection</em>}' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see org.eclipse.emf.diffmerge.ui.diffuidata.impl.ComparisonSelectionImpl
- * @see org.eclipse.emf.diffmerge.ui.diffuidata.impl.DiffuidataPackageImpl#getComparisonSelection()
- * @generated
- */
- int COMPARISON_SELECTION = 1;
-
- /**
- * The feature id for the '<em><b>Selected Matches</b></em>' reference list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int COMPARISON_SELECTION__SELECTED_MATCHES = ISTRUCTURED_SELECTION_FEATURE_COUNT + 0;
-
- /**
- * The feature id for the '<em><b>Selected Match And Feature</b></em>' containment reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int COMPARISON_SELECTION__SELECTED_MATCH_AND_FEATURE = ISTRUCTURED_SELECTION_FEATURE_COUNT + 1;
-
- /**
- * The feature id for the '<em><b>Selected Tree Path</b></em>' reference list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int COMPARISON_SELECTION__SELECTED_TREE_PATH = ISTRUCTURED_SELECTION_FEATURE_COUNT + 2;
-
- /**
- * The feature id for the '<em><b>Selected Value Presences</b></em>' reference list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int COMPARISON_SELECTION__SELECTED_VALUE_PRESENCES = ISTRUCTURED_SELECTION_FEATURE_COUNT + 3;
-
- /**
- * The number of structural features of the '<em>Comparison Selection</em>' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int COMPARISON_SELECTION_FEATURE_COUNT = ISTRUCTURED_SELECTION_FEATURE_COUNT + 4;
-
- /**
- * The meta object id for the '{@link org.eclipse.emf.diffmerge.ui.diffuidata.impl.MatchAndFeatureImpl <em>Match And Feature</em>}' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see org.eclipse.emf.diffmerge.ui.diffuidata.impl.MatchAndFeatureImpl
- * @see org.eclipse.emf.diffmerge.ui.diffuidata.impl.DiffuidataPackageImpl#getMatchAndFeature()
- * @generated
- */
- int MATCH_AND_FEATURE = 2;
-
- /**
- * The feature id for the '<em><b>Match</b></em>' reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int MATCH_AND_FEATURE__MATCH = 0;
-
- /**
- * The feature id for the '<em><b>Feature</b></em>' reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int MATCH_AND_FEATURE__FEATURE = 1;
-
- /**
- * The number of structural features of the '<em>Match And Feature</em>' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int MATCH_AND_FEATURE_FEATURE_COUNT = 2;
-
- /**
- * The meta object id for the '{@link org.eclipse.emf.diffmerge.ui.diffuidata.impl.MatchToNbEntryImpl <em>Match To Nb Entry</em>}' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see org.eclipse.emf.diffmerge.ui.diffuidata.impl.MatchToNbEntryImpl
- * @see org.eclipse.emf.diffmerge.ui.diffuidata.impl.DiffuidataPackageImpl#getMatchToNbEntry()
- * @generated
- */
- int MATCH_TO_NB_ENTRY = 3;
-
- /**
- * The feature id for the '<em><b>Key</b></em>' reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int MATCH_TO_NB_ENTRY__KEY = 0;
-
- /**
- * The feature id for the '<em><b>Value</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int MATCH_TO_NB_ENTRY__VALUE = 1;
-
- /**
- * The number of structural features of the '<em>Match To Nb Entry</em>' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int MATCH_TO_NB_ENTRY_FEATURE_COUNT = 2;
-
- /**
- * The meta object id for the '<em>Tree Path</em>' data type.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see org.eclipse.jface.viewers.TreePath
- * @see org.eclipse.emf.diffmerge.ui.diffuidata.impl.DiffuidataPackageImpl#getTreePath()
- * @generated
- */
- int TREE_PATH = 5;
-
-
- /**
- * Returns the meta object for class '{@link org.eclipse.emf.diffmerge.ui.diffuidata.UIComparison <em>UI Comparison</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for class '<em>UI Comparison</em>'.
- * @see org.eclipse.emf.diffmerge.ui.diffuidata.UIComparison
- * @generated
- */
- EClass getUIComparison();
-
- /**
- * Returns the meta object for the containment reference '{@link org.eclipse.emf.diffmerge.ui.diffuidata.UIComparison#getActualComparison <em>Actual Comparison</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the containment reference '<em>Actual Comparison</em>'.
- * @see org.eclipse.emf.diffmerge.ui.diffuidata.UIComparison#getActualComparison()
- * @see #getUIComparison()
- * @generated
- */
- EReference getUIComparison_ActualComparison();
-
- /**
- * Returns the meta object for the reference list '{@link org.eclipse.emf.diffmerge.ui.diffuidata.UIComparison#getDifferencesToIgnore <em>Differences To Ignore</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the reference list '<em>Differences To Ignore</em>'.
- * @see org.eclipse.emf.diffmerge.ui.diffuidata.UIComparison#getDifferencesToIgnore()
- * @see #getUIComparison()
- * @generated
- */
- EReference getUIComparison_DifferencesToIgnore();
-
- /**
- * Returns the meta object for the containment reference '{@link org.eclipse.emf.diffmerge.ui.diffuidata.UIComparison#getLastActionSelection <em>Last Action Selection</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the containment reference '<em>Last Action Selection</em>'.
- * @see org.eclipse.emf.diffmerge.ui.diffuidata.UIComparison#getLastActionSelection()
- * @see #getUIComparison()
- * @generated
- */
- EReference getUIComparison_LastActionSelection();
-
- /**
- * Returns the meta object for class '{@link org.eclipse.emf.diffmerge.ui.diffuidata.ComparisonSelection <em>Comparison Selection</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for class '<em>Comparison Selection</em>'.
- * @see org.eclipse.emf.diffmerge.ui.diffuidata.ComparisonSelection
- * @generated
- */
- EClass getComparisonSelection();
-
- /**
- * Returns the meta object for the reference list '{@link org.eclipse.emf.diffmerge.ui.diffuidata.ComparisonSelection#getSelectedMatches <em>Selected Matches</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the reference list '<em>Selected Matches</em>'.
- * @see org.eclipse.emf.diffmerge.ui.diffuidata.ComparisonSelection#getSelectedMatches()
- * @see #getComparisonSelection()
- * @generated
- */
- EReference getComparisonSelection_SelectedMatches();
-
- /**
- * Returns the meta object for the containment reference '{@link org.eclipse.emf.diffmerge.ui.diffuidata.ComparisonSelection#getSelectedMatchAndFeature <em>Selected Match And Feature</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the containment reference '<em>Selected Match And Feature</em>'.
- * @see org.eclipse.emf.diffmerge.ui.diffuidata.ComparisonSelection#getSelectedMatchAndFeature()
- * @see #getComparisonSelection()
- * @generated
- */
- EReference getComparisonSelection_SelectedMatchAndFeature();
-
- /**
- * Returns the meta object for the reference list '{@link org.eclipse.emf.diffmerge.ui.diffuidata.ComparisonSelection#getSelectedTreePath <em>Selected Tree Path</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the reference list '<em>Selected Tree Path</em>'.
- * @see org.eclipse.emf.diffmerge.ui.diffuidata.ComparisonSelection#getSelectedTreePath()
- * @see #getComparisonSelection()
- * @generated
- */
- EReference getComparisonSelection_SelectedTreePath();
-
- /**
- * Returns the meta object for the reference list '{@link org.eclipse.emf.diffmerge.ui.diffuidata.ComparisonSelection#getSelectedValuePresences <em>Selected Value Presences</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the reference list '<em>Selected Value Presences</em>'.
- * @see org.eclipse.emf.diffmerge.ui.diffuidata.ComparisonSelection#getSelectedValuePresences()
- * @see #getComparisonSelection()
- * @generated
- */
- EReference getComparisonSelection_SelectedValuePresences();
-
- /**
- * Returns the meta object for class '{@link org.eclipse.emf.diffmerge.ui.diffuidata.MatchAndFeature <em>Match And Feature</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for class '<em>Match And Feature</em>'.
- * @see org.eclipse.emf.diffmerge.ui.diffuidata.MatchAndFeature
- * @generated
- */
- EClass getMatchAndFeature();
-
- /**
- * Returns the meta object for the reference '{@link org.eclipse.emf.diffmerge.ui.diffuidata.MatchAndFeature#getMatch <em>Match</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the reference '<em>Match</em>'.
- * @see org.eclipse.emf.diffmerge.ui.diffuidata.MatchAndFeature#getMatch()
- * @see #getMatchAndFeature()
- * @generated
- */
- EReference getMatchAndFeature_Match();
-
- /**
- * Returns the meta object for the reference '{@link org.eclipse.emf.diffmerge.ui.diffuidata.MatchAndFeature#getFeature <em>Feature</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the reference '<em>Feature</em>'.
- * @see org.eclipse.emf.diffmerge.ui.diffuidata.MatchAndFeature#getFeature()
- * @see #getMatchAndFeature()
- * @generated
- */
- EReference getMatchAndFeature_Feature();
-
- /**
- * Returns the meta object for class '{@link java.util.Map.Entry <em>Match To Nb Entry</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for class '<em>Match To Nb Entry</em>'.
- * @see java.util.Map.Entry
- * @model keyType="org.eclipse.emf.diffmerge.diffdata.EMatch" keyRequired="true"
- * valueDataType="org.eclipse.emf.ecore.EIntegerObject" valueRequired="true"
- * @generated
- */
- EClass getMatchToNbEntry();
-
- /**
- * Returns the meta object for the reference '{@link java.util.Map.Entry <em>Key</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the reference '<em>Key</em>'.
- * @see java.util.Map.Entry
- * @see #getMatchToNbEntry()
- * @generated
- */
- EReference getMatchToNbEntry_Key();
-
- /**
- * Returns the meta object for the attribute '{@link java.util.Map.Entry <em>Value</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the attribute '<em>Value</em>'.
- * @see java.util.Map.Entry
- * @see #getMatchToNbEntry()
- * @generated
- */
- EAttribute getMatchToNbEntry_Value();
-
- /**
- * Returns the meta object for class '{@link org.eclipse.jface.viewers.IStructuredSelection <em>IStructured Selection</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for class '<em>IStructured Selection</em>'.
- * @see org.eclipse.jface.viewers.IStructuredSelection
- * @model instanceClass="org.eclipse.jface.viewers.IStructuredSelection"
- * @generated
- */
- EClass getIStructuredSelection();
-
- /**
- * Returns the meta object for data type '{@link org.eclipse.jface.viewers.TreePath <em>Tree Path</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for data type '<em>Tree Path</em>'.
- * @see org.eclipse.jface.viewers.TreePath
- * @model instanceClass="org.eclipse.jface.viewers.TreePath"
- * @generated
- */
- EDataType getTreePath();
-
- /**
- * Returns the factory that creates the instances of the model.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the factory that creates the instances of the model.
- * @generated
- */
- DiffuidataFactory getDiffuidataFactory();
-
- /**
- * <!-- begin-user-doc -->
- * Defines literals for the meta objects that represent
- * <ul>
- * <li>each class,</li>
- * <li>each feature of each class,</li>
- * <li>each enum,</li>
- * <li>and each data type</li>
- * </ul>
- * <!-- end-user-doc -->
- * @generated
- */
- interface Literals {
- /**
- * The meta object literal for the '{@link org.eclipse.emf.diffmerge.ui.diffuidata.impl.UIComparisonImpl <em>UI Comparison</em>}' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see org.eclipse.emf.diffmerge.ui.diffuidata.impl.UIComparisonImpl
- * @see org.eclipse.emf.diffmerge.ui.diffuidata.impl.DiffuidataPackageImpl#getUIComparison()
- * @generated
- */
- EClass UI_COMPARISON = eINSTANCE.getUIComparison();
-
- /**
- * The meta object literal for the '<em><b>Actual Comparison</b></em>' containment reference feature.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- EReference UI_COMPARISON__ACTUAL_COMPARISON = eINSTANCE.getUIComparison_ActualComparison();
-
- /**
- * The meta object literal for the '<em><b>Differences To Ignore</b></em>' reference list feature.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- EReference UI_COMPARISON__DIFFERENCES_TO_IGNORE = eINSTANCE.getUIComparison_DifferencesToIgnore();
-
- /**
- * The meta object literal for the '<em><b>Last Action Selection</b></em>' containment reference feature.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- EReference UI_COMPARISON__LAST_ACTION_SELECTION = eINSTANCE.getUIComparison_LastActionSelection();
-
- /**
- * The meta object literal for the '{@link org.eclipse.emf.diffmerge.ui.diffuidata.impl.ComparisonSelectionImpl <em>Comparison Selection</em>}' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see org.eclipse.emf.diffmerge.ui.diffuidata.impl.ComparisonSelectionImpl
- * @see org.eclipse.emf.diffmerge.ui.diffuidata.impl.DiffuidataPackageImpl#getComparisonSelection()
- * @generated
- */
- EClass COMPARISON_SELECTION = eINSTANCE.getComparisonSelection();
-
- /**
- * The meta object literal for the '<em><b>Selected Matches</b></em>' reference list feature.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- EReference COMPARISON_SELECTION__SELECTED_MATCHES = eINSTANCE.getComparisonSelection_SelectedMatches();
-
- /**
- * The meta object literal for the '<em><b>Selected Match And Feature</b></em>' containment reference feature.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- EReference COMPARISON_SELECTION__SELECTED_MATCH_AND_FEATURE = eINSTANCE.getComparisonSelection_SelectedMatchAndFeature();
-
- /**
- * The meta object literal for the '<em><b>Selected Tree Path</b></em>' reference list feature.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- EReference COMPARISON_SELECTION__SELECTED_TREE_PATH = eINSTANCE.getComparisonSelection_SelectedTreePath();
-
- /**
- * The meta object literal for the '<em><b>Selected Value Presences</b></em>' reference list feature.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- EReference COMPARISON_SELECTION__SELECTED_VALUE_PRESENCES = eINSTANCE.getComparisonSelection_SelectedValuePresences();
-
- /**
- * The meta object literal for the '{@link org.eclipse.emf.diffmerge.ui.diffuidata.impl.MatchAndFeatureImpl <em>Match And Feature</em>}' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see org.eclipse.emf.diffmerge.ui.diffuidata.impl.MatchAndFeatureImpl
- * @see org.eclipse.emf.diffmerge.ui.diffuidata.impl.DiffuidataPackageImpl#getMatchAndFeature()
- * @generated
- */
- EClass MATCH_AND_FEATURE = eINSTANCE.getMatchAndFeature();
-
- /**
- * The meta object literal for the '<em><b>Match</b></em>' reference feature.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- EReference MATCH_AND_FEATURE__MATCH = eINSTANCE.getMatchAndFeature_Match();
-
- /**
- * The meta object literal for the '<em><b>Feature</b></em>' reference feature.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- EReference MATCH_AND_FEATURE__FEATURE = eINSTANCE.getMatchAndFeature_Feature();
-
- /**
- * The meta object literal for the '{@link org.eclipse.emf.diffmerge.ui.diffuidata.impl.MatchToNbEntryImpl <em>Match To Nb Entry</em>}' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see org.eclipse.emf.diffmerge.ui.diffuidata.impl.MatchToNbEntryImpl
- * @see org.eclipse.emf.diffmerge.ui.diffuidata.impl.DiffuidataPackageImpl#getMatchToNbEntry()
- * @generated
- */
- EClass MATCH_TO_NB_ENTRY = eINSTANCE.getMatchToNbEntry();
-
- /**
- * The meta object literal for the '<em><b>Key</b></em>' reference feature.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- EReference MATCH_TO_NB_ENTRY__KEY = eINSTANCE.getMatchToNbEntry_Key();
-
- /**
- * The meta object literal for the '<em><b>Value</b></em>' attribute feature.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- EAttribute MATCH_TO_NB_ENTRY__VALUE = eINSTANCE.getMatchToNbEntry_Value();
-
- /**
- * The meta object literal for the '{@link org.eclipse.jface.viewers.IStructuredSelection <em>IStructured Selection</em>}' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see org.eclipse.jface.viewers.IStructuredSelection
- * @see org.eclipse.emf.diffmerge.ui.diffuidata.impl.DiffuidataPackageImpl#getIStructuredSelection()
- * @generated
- */
- EClass ISTRUCTURED_SELECTION = eINSTANCE.getIStructuredSelection();
-
- /**
- * The meta object literal for the '<em>Tree Path</em>' data type.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see org.eclipse.jface.viewers.TreePath
- * @see org.eclipse.emf.diffmerge.ui.diffuidata.impl.DiffuidataPackageImpl#getTreePath()
- * @generated
- */
- EDataType TREE_PATH = eINSTANCE.getTreePath();
-
- }
-
-} //DiffuidataPackage
+/**
+ * <copyright>
+ *
+ * Copyright (c) 2010-2017 Thales Global Services S.A.S.
+ * 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:
+ * Thales Global Services S.A.S. - initial API and implementation
+ *
+ * </copyright>
+ */
+package org.eclipse.emf.diffmerge.ui.diffuidata;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EDataType;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EReference;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Package</b> for the model.
+ * It contains accessors for the meta objects to represent
+ * <ul>
+ * <li>each class,</li>
+ * <li>each feature of each class,</li>
+ * <li>each enum,</li>
+ * <li>and each data type</li>
+ * </ul>
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.diffmerge.ui.diffuidata.DiffuidataFactory
+ * @model kind="package"
+ * @generated
+ */
+@SuppressWarnings("hiding")
+public interface DiffuidataPackage extends EPackage {
+ /**
+ * The package name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ String eNAME = "diffuidata"; //$NON-NLS-1$
+
+ /**
+ * The package namespace URI.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ String eNS_URI = "http://www.eclipse.org/emf/diffmerge/ui/1.0.0/diffuidata"; //$NON-NLS-1$
+
+ /**
+ * The package namespace name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ String eNS_PREFIX = "org.eclipse.emf.diffmerge.ui"; //$NON-NLS-1$
+
+ /**
+ * The singleton instance of the package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ DiffuidataPackage eINSTANCE = org.eclipse.emf.diffmerge.ui.diffuidata.impl.DiffuidataPackageImpl.init();
+
+ /**
+ * The meta object id for the '{@link org.eclipse.emf.diffmerge.ui.diffuidata.impl.UIComparisonImpl <em>UI Comparison</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.diffmerge.ui.diffuidata.impl.UIComparisonImpl
+ * @see org.eclipse.emf.diffmerge.ui.diffuidata.impl.DiffuidataPackageImpl#getUIComparison()
+ * @generated
+ */
+ int UI_COMPARISON = 0;
+
+ /**
+ * The feature id for the '<em><b>Actual Comparison</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int UI_COMPARISON__ACTUAL_COMPARISON = 0;
+
+ /**
+ * The feature id for the '<em><b>Differences To Ignore</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int UI_COMPARISON__DIFFERENCES_TO_IGNORE = 1;
+
+ /**
+ * The feature id for the '<em><b>Last Action Selection</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int UI_COMPARISON__LAST_ACTION_SELECTION = 2;
+
+ /**
+ * The number of structural features of the '<em>UI Comparison</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int UI_COMPARISON_FEATURE_COUNT = 3;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.jface.viewers.IStructuredSelection <em>IStructured Selection</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jface.viewers.IStructuredSelection
+ * @see org.eclipse.emf.diffmerge.ui.diffuidata.impl.DiffuidataPackageImpl#getIStructuredSelection()
+ * @generated
+ */
+ int ISTRUCTURED_SELECTION = 4;
+
+ /**
+ * The number of structural features of the '<em>IStructured Selection</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ISTRUCTURED_SELECTION_FEATURE_COUNT = 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.emf.diffmerge.ui.diffuidata.impl.ComparisonSelectionImpl <em>Comparison Selection</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.diffmerge.ui.diffuidata.impl.ComparisonSelectionImpl
+ * @see org.eclipse.emf.diffmerge.ui.diffuidata.impl.DiffuidataPackageImpl#getComparisonSelection()
+ * @generated
+ */
+ int COMPARISON_SELECTION = 1;
+
+ /**
+ * The feature id for the '<em><b>Selected Matches</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COMPARISON_SELECTION__SELECTED_MATCHES = ISTRUCTURED_SELECTION_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Selected Match And Feature</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COMPARISON_SELECTION__SELECTED_MATCH_AND_FEATURE = ISTRUCTURED_SELECTION_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Selected Tree Path</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COMPARISON_SELECTION__SELECTED_TREE_PATH = ISTRUCTURED_SELECTION_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Selected Value Presences</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COMPARISON_SELECTION__SELECTED_VALUE_PRESENCES = ISTRUCTURED_SELECTION_FEATURE_COUNT + 3;
+
+ /**
+ * The number of structural features of the '<em>Comparison Selection</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COMPARISON_SELECTION_FEATURE_COUNT = ISTRUCTURED_SELECTION_FEATURE_COUNT + 4;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.emf.diffmerge.ui.diffuidata.impl.MatchAndFeatureImpl <em>Match And Feature</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.diffmerge.ui.diffuidata.impl.MatchAndFeatureImpl
+ * @see org.eclipse.emf.diffmerge.ui.diffuidata.impl.DiffuidataPackageImpl#getMatchAndFeature()
+ * @generated
+ */
+ int MATCH_AND_FEATURE = 2;
+
+ /**
+ * The feature id for the '<em><b>Match</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MATCH_AND_FEATURE__MATCH = 0;
+
+ /**
+ * The feature id for the '<em><b>Feature</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MATCH_AND_FEATURE__FEATURE = 1;
+
+ /**
+ * The number of structural features of the '<em>Match And Feature</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MATCH_AND_FEATURE_FEATURE_COUNT = 2;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.emf.diffmerge.ui.diffuidata.impl.MatchToNbEntryImpl <em>Match To Nb Entry</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.diffmerge.ui.diffuidata.impl.MatchToNbEntryImpl
+ * @see org.eclipse.emf.diffmerge.ui.diffuidata.impl.DiffuidataPackageImpl#getMatchToNbEntry()
+ * @generated
+ */
+ int MATCH_TO_NB_ENTRY = 3;
+
+ /**
+ * The feature id for the '<em><b>Key</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MATCH_TO_NB_ENTRY__KEY = 0;
+
+ /**
+ * The feature id for the '<em><b>Value</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MATCH_TO_NB_ENTRY__VALUE = 1;
+
+ /**
+ * The number of structural features of the '<em>Match To Nb Entry</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MATCH_TO_NB_ENTRY_FEATURE_COUNT = 2;
+
+ /**
+ * The meta object id for the '<em>Tree Path</em>' data type.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jface.viewers.TreePath
+ * @see org.eclipse.emf.diffmerge.ui.diffuidata.impl.DiffuidataPackageImpl#getTreePath()
+ * @generated
+ */
+ int TREE_PATH = 5;
+
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.emf.diffmerge.ui.diffuidata.UIComparison <em>UI Comparison</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>UI Comparison</em>'.
+ * @see org.eclipse.emf.diffmerge.ui.diffuidata.UIComparison
+ * @generated
+ */
+ EClass getUIComparison();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.emf.diffmerge.ui.diffuidata.UIComparison#getActualComparison <em>Actual Comparison</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Actual Comparison</em>'.
+ * @see org.eclipse.emf.diffmerge.ui.diffuidata.UIComparison#getActualComparison()
+ * @see #getUIComparison()
+ * @generated
+ */
+ EReference getUIComparison_ActualComparison();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.emf.diffmerge.ui.diffuidata.UIComparison#getDifferencesToIgnore <em>Differences To Ignore</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Differences To Ignore</em>'.
+ * @see org.eclipse.emf.diffmerge.ui.diffuidata.UIComparison#getDifferencesToIgnore()
+ * @see #getUIComparison()
+ * @generated
+ */
+ EReference getUIComparison_DifferencesToIgnore();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.emf.diffmerge.ui.diffuidata.UIComparison#getLastActionSelection <em>Last Action Selection</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Last Action Selection</em>'.
+ * @see org.eclipse.emf.diffmerge.ui.diffuidata.UIComparison#getLastActionSelection()
+ * @see #getUIComparison()
+ * @generated
+ */
+ EReference getUIComparison_LastActionSelection();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.emf.diffmerge.ui.diffuidata.ComparisonSelection <em>Comparison Selection</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Comparison Selection</em>'.
+ * @see org.eclipse.emf.diffmerge.ui.diffuidata.ComparisonSelection
+ * @generated
+ */
+ EClass getComparisonSelection();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.emf.diffmerge.ui.diffuidata.ComparisonSelection#getSelectedMatches <em>Selected Matches</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Selected Matches</em>'.
+ * @see org.eclipse.emf.diffmerge.ui.diffuidata.ComparisonSelection#getSelectedMatches()
+ * @see #getComparisonSelection()
+ * @generated
+ */
+ EReference getComparisonSelection_SelectedMatches();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.emf.diffmerge.ui.diffuidata.ComparisonSelection#getSelectedMatchAndFeature <em>Selected Match And Feature</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Selected Match And Feature</em>'.
+ * @see org.eclipse.emf.diffmerge.ui.diffuidata.ComparisonSelection#getSelectedMatchAndFeature()
+ * @see #getComparisonSelection()
+ * @generated
+ */
+ EReference getComparisonSelection_SelectedMatchAndFeature();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.emf.diffmerge.ui.diffuidata.ComparisonSelection#getSelectedTreePath <em>Selected Tree Path</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Selected Tree Path</em>'.
+ * @see org.eclipse.emf.diffmerge.ui.diffuidata.ComparisonSelection#getSelectedTreePath()
+ * @see #getComparisonSelection()
+ * @generated
+ */
+ EReference getComparisonSelection_SelectedTreePath();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.emf.diffmerge.ui.diffuidata.ComparisonSelection#getSelectedValuePresences <em>Selected Value Presences</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Selected Value Presences</em>'.
+ * @see org.eclipse.emf.diffmerge.ui.diffuidata.ComparisonSelection#getSelectedValuePresences()
+ * @see #getComparisonSelection()
+ * @generated
+ */
+ EReference getComparisonSelection_SelectedValuePresences();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.emf.diffmerge.ui.diffuidata.MatchAndFeature <em>Match And Feature</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Match And Feature</em>'.
+ * @see org.eclipse.emf.diffmerge.ui.diffuidata.MatchAndFeature
+ * @generated
+ */
+ EClass getMatchAndFeature();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.emf.diffmerge.ui.diffuidata.MatchAndFeature#getMatch <em>Match</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Match</em>'.
+ * @see org.eclipse.emf.diffmerge.ui.diffuidata.MatchAndFeature#getMatch()
+ * @see #getMatchAndFeature()
+ * @generated
+ */
+ EReference getMatchAndFeature_Match();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.emf.diffmerge.ui.diffuidata.MatchAndFeature#getFeature <em>Feature</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Feature</em>'.
+ * @see org.eclipse.emf.diffmerge.ui.diffuidata.MatchAndFeature#getFeature()
+ * @see #getMatchAndFeature()
+ * @generated
+ */
+ EReference getMatchAndFeature_Feature();
+
+ /**
+ * Returns the meta object for class '{@link java.util.Map.Entry <em>Match To Nb Entry</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Match To Nb Entry</em>'.
+ * @see java.util.Map.Entry
+ * @model keyType="org.eclipse.emf.diffmerge.diffdata.EMatch" keyRequired="true"
+ * valueDataType="org.eclipse.emf.ecore.EIntegerObject" valueRequired="true"
+ * @generated
+ */
+ EClass getMatchToNbEntry();
+
+ /**
+ * Returns the meta object for the reference '{@link java.util.Map.Entry <em>Key</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Key</em>'.
+ * @see java.util.Map.Entry
+ * @see #getMatchToNbEntry()
+ * @generated
+ */
+ EReference getMatchToNbEntry_Key();
+
+ /**
+ * Returns the meta object for the attribute '{@link java.util.Map.Entry <em>Value</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Value</em>'.
+ * @see java.util.Map.Entry
+ * @see #getMatchToNbEntry()
+ * @generated
+ */
+ EAttribute getMatchToNbEntry_Value();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.jface.viewers.IStructuredSelection <em>IStructured Selection</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>IStructured Selection</em>'.
+ * @see org.eclipse.jface.viewers.IStructuredSelection
+ * @model instanceClass="org.eclipse.jface.viewers.IStructuredSelection"
+ * @generated
+ */
+ EClass getIStructuredSelection();
+
+ /**
+ * Returns the meta object for data type '{@link org.eclipse.jface.viewers.TreePath <em>Tree Path</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for data type '<em>Tree Path</em>'.
+ * @see org.eclipse.jface.viewers.TreePath
+ * @model instanceClass="org.eclipse.jface.viewers.TreePath"
+ * @generated
+ */
+ EDataType getTreePath();
+
+ /**
+ * Returns the factory that creates the instances of the model.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the factory that creates the instances of the model.
+ * @generated
+ */
+ DiffuidataFactory getDiffuidataFactory();
+
+ /**
+ * <!-- begin-user-doc -->
+ * Defines literals for the meta objects that represent
+ * <ul>
+ * <li>each class,</li>
+ * <li>each feature of each class,</li>
+ * <li>each enum,</li>
+ * <li>and each data type</li>
+ * </ul>
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ interface Literals {
+ /**
+ * The meta object literal for the '{@link org.eclipse.emf.diffmerge.ui.diffuidata.impl.UIComparisonImpl <em>UI Comparison</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.diffmerge.ui.diffuidata.impl.UIComparisonImpl
+ * @see org.eclipse.emf.diffmerge.ui.diffuidata.impl.DiffuidataPackageImpl#getUIComparison()
+ * @generated
+ */
+ EClass UI_COMPARISON = eINSTANCE.getUIComparison();
+
+ /**
+ * The meta object literal for the '<em><b>Actual Comparison</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference UI_COMPARISON__ACTUAL_COMPARISON = eINSTANCE.getUIComparison_ActualComparison();
+
+ /**
+ * The meta object literal for the '<em><b>Differences To Ignore</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference UI_COMPARISON__DIFFERENCES_TO_IGNORE = eINSTANCE.getUIComparison_DifferencesToIgnore();
+
+ /**
+ * The meta object literal for the '<em><b>Last Action Selection</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference UI_COMPARISON__LAST_ACTION_SELECTION = eINSTANCE.getUIComparison_LastActionSelection();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.emf.diffmerge.ui.diffuidata.impl.ComparisonSelectionImpl <em>Comparison Selection</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.diffmerge.ui.diffuidata.impl.ComparisonSelectionImpl
+ * @see org.eclipse.emf.diffmerge.ui.diffuidata.impl.DiffuidataPackageImpl#getComparisonSelection()
+ * @generated
+ */
+ EClass COMPARISON_SELECTION = eINSTANCE.getComparisonSelection();
+
+ /**
+ * The meta object literal for the '<em><b>Selected Matches</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference COMPARISON_SELECTION__SELECTED_MATCHES = eINSTANCE.getComparisonSelection_SelectedMatches();
+
+ /**
+ * The meta object literal for the '<em><b>Selected Match And Feature</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference COMPARISON_SELECTION__SELECTED_MATCH_AND_FEATURE = eINSTANCE.getComparisonSelection_SelectedMatchAndFeature();
+
+ /**
+ * The meta object literal for the '<em><b>Selected Tree Path</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference COMPARISON_SELECTION__SELECTED_TREE_PATH = eINSTANCE.getComparisonSelection_SelectedTreePath();
+
+ /**
+ * The meta object literal for the '<em><b>Selected Value Presences</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference COMPARISON_SELECTION__SELECTED_VALUE_PRESENCES = eINSTANCE.getComparisonSelection_SelectedValuePresences();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.emf.diffmerge.ui.diffuidata.impl.MatchAndFeatureImpl <em>Match And Feature</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.diffmerge.ui.diffuidata.impl.MatchAndFeatureImpl
+ * @see org.eclipse.emf.diffmerge.ui.diffuidata.impl.DiffuidataPackageImpl#getMatchAndFeature()
+ * @generated
+ */
+ EClass MATCH_AND_FEATURE = eINSTANCE.getMatchAndFeature();
+
+ /**
+ * The meta object literal for the '<em><b>Match</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference MATCH_AND_FEATURE__MATCH = eINSTANCE.getMatchAndFeature_Match();
+
+ /**
+ * The meta object literal for the '<em><b>Feature</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference MATCH_AND_FEATURE__FEATURE = eINSTANCE.getMatchAndFeature_Feature();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.emf.diffmerge.ui.diffuidata.impl.MatchToNbEntryImpl <em>Match To Nb Entry</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.diffmerge.ui.diffuidata.impl.MatchToNbEntryImpl
+ * @see org.eclipse.emf.diffmerge.ui.diffuidata.impl.DiffuidataPackageImpl#getMatchToNbEntry()
+ * @generated
+ */
+ EClass MATCH_TO_NB_ENTRY = eINSTANCE.getMatchToNbEntry();
+
+ /**
+ * The meta object literal for the '<em><b>Key</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference MATCH_TO_NB_ENTRY__KEY = eINSTANCE.getMatchToNbEntry_Key();
+
+ /**
+ * The meta object literal for the '<em><b>Value</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute MATCH_TO_NB_ENTRY__VALUE = eINSTANCE.getMatchToNbEntry_Value();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.jface.viewers.IStructuredSelection <em>IStructured Selection</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jface.viewers.IStructuredSelection
+ * @see org.eclipse.emf.diffmerge.ui.diffuidata.impl.DiffuidataPackageImpl#getIStructuredSelection()
+ * @generated
+ */
+ EClass ISTRUCTURED_SELECTION = eINSTANCE.getIStructuredSelection();
+
+ /**
+ * The meta object literal for the '<em>Tree Path</em>' data type.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jface.viewers.TreePath
+ * @see org.eclipse.emf.diffmerge.ui.diffuidata.impl.DiffuidataPackageImpl#getTreePath()
+ * @generated
+ */
+ EDataType TREE_PATH = eINSTANCE.getTreePath();
+
+ }
+
+} //DiffuidataPackage
diff --git a/plugins/org.eclipse.emf.diffmerge.ui/src/org/eclipse/emf/diffmerge/ui/diffuidata/MatchAndFeature.java b/plugins/org.eclipse.emf.diffmerge.ui/src/org/eclipse/emf/diffmerge/ui/diffuidata/MatchAndFeature.java
index 4d596d29..bd52af1c 100644
--- a/plugins/org.eclipse.emf.diffmerge.ui/src/org/eclipse/emf/diffmerge/ui/diffuidata/MatchAndFeature.java
+++ b/plugins/org.eclipse.emf.diffmerge.ui/src/org/eclipse/emf/diffmerge/ui/diffuidata/MatchAndFeature.java
@@ -1,64 +1,64 @@
-/**
- * <copyright>
- *
- * Copyright (c) 2010-2016 Thales Global Services S.A.S.
- * 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:
- * Thales Global Services S.A.S. - initial API and implementation
- *
- * </copyright>
- */
-package org.eclipse.emf.diffmerge.ui.diffuidata;
-
-
-import org.eclipse.emf.diffmerge.diffdata.EMatch;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.EStructuralFeature;
-
-/**
- * <!-- begin-user-doc -->
- * A simple data structure that aggregates an IMatch and an EStructuralFeature.
- * <!-- end-user-doc -->
- *
- * <p>
- * The following features are supported:
- * <ul>
- * <li>{@link org.eclipse.emf.diffmerge.ui.diffuidata.MatchAndFeature#getMatch <em>Match</em>}</li>
- * <li>{@link org.eclipse.emf.diffmerge.ui.diffuidata.MatchAndFeature#getFeature <em>Feature</em>}</li>
- * </ul>
- * </p>
- *
- * @see org.eclipse.emf.diffmerge.ui.diffuidata.DiffuidataPackage#getMatchAndFeature()
- * @model
- * @generated
- */
-public interface MatchAndFeature extends EObject {
- /**
- * Returns the value of the '<em><b>Match</b></em>' reference.
- * <!-- begin-user-doc -->
- * Returns the non-null match
- * <!-- end-user-doc -->
- * @return the value of the '<em>Match</em>' reference.
- * @see org.eclipse.emf.diffmerge.ui.diffuidata.DiffuidataPackage#getMatchAndFeature_Match()
- * @model required="true" changeable="false"
- * @generated
- */
- EMatch getMatch();
-
- /**
- * Returns the value of the '<em><b>Feature</b></em>' reference.
- * <!-- begin-user-doc -->
- * Returns the non-null feature
- * <!-- end-user-doc -->
- * @return the value of the '<em>Feature</em>' reference.
- * @see org.eclipse.emf.diffmerge.ui.diffuidata.DiffuidataPackage#getMatchAndFeature_Feature()
- * @model required="true" changeable="false"
- * @generated
- */
- EStructuralFeature getFeature();
-
-} // MatchAndFeature
+/**
+ * <copyright>
+ *
+ * Copyright (c) 2010-2017 Thales Global Services S.A.S.
+ * 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:
+ * Thales Global Services S.A.S. - initial API and implementation
+ *
+ * </copyright>
+ */
+package org.eclipse.emf.diffmerge.ui.diffuidata;
+
+
+import org.eclipse.emf.diffmerge.diffdata.EMatch;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EStructuralFeature;
+
+/**
+ * <!-- begin-user-doc -->
+ * A simple data structure that aggregates an IMatch and an EStructuralFeature.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.emf.diffmerge.ui.diffuidata.MatchAndFeature#getMatch <em>Match</em>}</li>
+ * <li>{@link org.eclipse.emf.diffmerge.ui.diffuidata.MatchAndFeature#getFeature <em>Feature</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.emf.diffmerge.ui.diffuidata.DiffuidataPackage#getMatchAndFeature()
+ * @model
+ * @generated
+ */
+public interface MatchAndFeature extends EObject {
+ /**
+ * Returns the value of the '<em><b>Match</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * Returns the non-null match
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Match</em>' reference.
+ * @see org.eclipse.emf.diffmerge.ui.diffuidata.DiffuidataPackage#getMatchAndFeature_Match()
+ * @model required="true" changeable="false"
+ * @generated
+ */
+ EMatch getMatch();
+
+ /**
+ * Returns the value of the '<em><b>Feature</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * Returns the non-null feature
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Feature</em>' reference.
+ * @see org.eclipse.emf.diffmerge.ui.diffuidata.DiffuidataPackage#getMatchAndFeature_Feature()
+ * @model required="true" changeable="false"
+ * @generated
+ */
+ EStructuralFeature getFeature();
+
+} // MatchAndFeature
diff --git a/plugins/org.eclipse.emf.diffmerge.ui/src/org/eclipse/emf/diffmerge/ui/diffuidata/UIComparison.java b/plugins/org.eclipse.emf.diffmerge.ui/src/org/eclipse/emf/diffmerge/ui/diffuidata/UIComparison.java
index f29fd961..25bb862c 100644
--- a/plugins/org.eclipse.emf.diffmerge.ui/src/org/eclipse/emf/diffmerge/ui/diffuidata/UIComparison.java
+++ b/plugins/org.eclipse.emf.diffmerge.ui/src/org/eclipse/emf/diffmerge/ui/diffuidata/UIComparison.java
@@ -1,103 +1,103 @@
-/**
- * <copyright>
- *
- * Copyright (c) 2010-2016 Thales Global Services S.A.S.
- * 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:
- * Thales Global Services S.A.S. - initial API and implementation
- *
- * </copyright>
- */
-package org.eclipse.emf.diffmerge.ui.diffuidata;
-
-import org.eclipse.emf.common.util.EList;
-import org.eclipse.emf.diffmerge.diffdata.EComparison;
-import org.eclipse.emf.diffmerge.diffdata.EMergeableDifference;
-import org.eclipse.emf.ecore.EObject;
-
-
-/**
- * <!-- begin-user-doc -->
- * A wrapper for EComparison which contains GUI-related data.
- * <!-- end-user-doc -->
- *
- * <p>
- * The following features are supported:
- * <ul>
- * <li>{@link org.eclipse.emf.diffmerge.ui.diffuidata.UIComparison#getActualComparison <em>Actual Comparison</em>}</li>
- * <li>{@link org.eclipse.emf.diffmerge.ui.diffuidata.UIComparison#getDifferencesToIgnore <em>Differences To Ignore</em>}</li>
- * <li>{@link org.eclipse.emf.diffmerge.ui.diffuidata.UIComparison#getLastActionSelection <em>Last Action Selection</em>}</li>
- * </ul>
- * </p>
- *
- * @see org.eclipse.emf.diffmerge.ui.diffuidata.DiffuidataPackage#getUIComparison()
- * @model
- * @generated
- */
-public interface UIComparison extends EObject {
- /**
- * Returns the value of the '<em><b>Actual Comparison</b></em>' containment reference.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Actual Comparison</em>' containment reference isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Actual Comparison</em>' containment reference.
- * @see org.eclipse.emf.diffmerge.ui.diffuidata.DiffuidataPackage#getUIComparison_ActualComparison()
- * @model containment="true" required="true" changeable="false"
- * @generated
- */
- EComparison getActualComparison();
-
- /**
- * Returns the value of the '<em><b>Differences To Ignore</b></em>' reference list.
- * The list contents are of type {@link org.eclipse.emf.diffmerge.diffdata.EMergeableDifference}.
- * <!-- begin-user-doc -->
- * The differences which should not be represented
- * <!-- end-user-doc -->
- * @return the value of the '<em>Differences To Ignore</em>' reference list.
- * @see org.eclipse.emf.diffmerge.ui.diffuidata.DiffuidataPackage#getUIComparison_DifferencesToIgnore()
- * @model ordered="false"
- * @generated
- */
- EList<EMergeableDifference> getDifferencesToIgnore();
-
- /**
- * Returns the value of the '<em><b>Last Action Selection</b></em>' containment reference.
- * <!-- begin-user-doc -->
- * The user selection when the user last made an action
- * <!-- end-user-doc -->
- * @return the value of the '<em>Last Action Selection</em>' containment reference.
- * @see #setLastActionSelection(ComparisonSelection)
- * @see org.eclipse.emf.diffmerge.ui.diffuidata.DiffuidataPackage#getUIComparison_LastActionSelection()
- * @model containment="true"
- * @generated
- */
- ComparisonSelection getLastActionSelection();
-
- /**
- * Sets the value of the '{@link org.eclipse.emf.diffmerge.ui.diffuidata.UIComparison#getLastActionSelection <em>Last Action Selection</em>}' containment reference.
- * <!-- begin-user-doc -->
- * Set selection that was effective when the user last made an action
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Last Action Selection</em>' containment reference.
- * @see #getLastActionSelection()
- * @generated
- */
- void setLastActionSelection(ComparisonSelection value);
-
- /**
- * <!-- begin-user-doc -->
- * Dispose the receiver
- * <!-- end-user-doc -->
- * @model
- * @generated
- */
- void dispose();
-
-} // UIComparison
+/**
+ * <copyright>
+ *
+ * Copyright (c) 2010-2017 Thales Global Services S.A.S.
+ * 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:
+ * Thales Global Services S.A.S. - initial API and implementation
+ *
+ * </copyright>
+ */
+package org.eclipse.emf.diffmerge.ui.diffuidata;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.diffmerge.diffdata.EComparison;
+import org.eclipse.emf.diffmerge.diffdata.EMergeableDifference;
+import org.eclipse.emf.ecore.EObject;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A wrapper for EComparison which contains GUI-related data.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.emf.diffmerge.ui.diffuidata.UIComparison#getActualComparison <em>Actual Comparison</em>}</li>
+ * <li>{@link org.eclipse.emf.diffmerge.ui.diffuidata.UIComparison#getDifferencesToIgnore <em>Differences To Ignore</em>}</li>
+ * <li>{@link org.eclipse.emf.diffmerge.ui.diffuidata.UIComparison#getLastActionSelection <em>Last Action Selection</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.emf.diffmerge.ui.diffuidata.DiffuidataPackage#getUIComparison()
+ * @model
+ * @generated
+ */
+public interface UIComparison extends EObject {
+ /**
+ * Returns the value of the '<em><b>Actual Comparison</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Actual Comparison</em>' containment reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Actual Comparison</em>' containment reference.
+ * @see org.eclipse.emf.diffmerge.ui.diffuidata.DiffuidataPackage#getUIComparison_ActualComparison()
+ * @model containment="true" required="true" changeable="false"
+ * @generated
+ */
+ EComparison getActualComparison();
+
+ /**
+ * Returns the value of the '<em><b>Differences To Ignore</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.emf.diffmerge.diffdata.EMergeableDifference}.
+ * <!-- begin-user-doc -->
+ * The differences which should not be represented
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Differences To Ignore</em>' reference list.
+ * @see org.eclipse.emf.diffmerge.ui.diffuidata.DiffuidataPackage#getUIComparison_DifferencesToIgnore()
+ * @model ordered="false"
+ * @generated
+ */
+ EList<EMergeableDifference> getDifferencesToIgnore();
+
+ /**
+ * Returns the value of the '<em><b>Last Action Selection</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * The user selection when the user last made an action
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Last Action Selection</em>' containment reference.
+ * @see #setLastActionSelection(ComparisonSelection)
+ * @see org.eclipse.emf.diffmerge.ui.diffuidata.DiffuidataPackage#getUIComparison_LastActionSelection()
+ * @model containment="true"
+ * @generated
+ */
+ ComparisonSelection getLastActionSelection();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.diffmerge.ui.diffuidata.UIComparison#getLastActionSelection <em>Last Action Selection</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * Set selection that was effective when the user last made an action
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Last Action Selection</em>' containment reference.
+ * @see #getLastActionSelection()
+ * @generated
+ */
+ void setLastActionSelection(ComparisonSelection value);
+
+ /**
+ * <!-- begin-user-doc -->
+ * Dispose the receiver
+ * <!-- end-user-doc -->
+ * @model
+ * @generated
+ */
+ void dispose();
+
+} // UIComparison
diff --git a/plugins/org.eclipse.emf.diffmerge.ui/src/org/eclipse/emf/diffmerge/ui/diffuidata/UidiffdataFactory.java b/plugins/org.eclipse.emf.diffmerge.ui/src/org/eclipse/emf/diffmerge/ui/diffuidata/UidiffdataFactory.java
index bbb360e9..f03b34bf 100644
--- a/plugins/org.eclipse.emf.diffmerge.ui/src/org/eclipse/emf/diffmerge/ui/diffuidata/UidiffdataFactory.java
+++ b/plugins/org.eclipse.emf.diffmerge.ui/src/org/eclipse/emf/diffmerge/ui/diffuidata/UidiffdataFactory.java
@@ -1,72 +1,72 @@
-/**
- * <copyright>
- *
- * Copyright (c) 2010-2016 Thales Global Services S.A.S.
- * 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:
- * Thales Global Services S.A.S. - initial API and implementation
- *
- * </copyright>
- */
-package org.eclipse.emf.diffmerge.ui.diffuidata;
-
-import org.eclipse.emf.ecore.EFactory;
-
-/**
- * <!-- begin-user-doc -->
- * The <b>Factory</b> for the model.
- * It provides a create method for each non-abstract class of the model.
- * <!-- end-user-doc -->
- * @see org.eclipse.emf.diffmerge.ui.diffuidata.UidiffdataPackage
- * @generated
- */
-public interface UidiffdataFactory extends EFactory {
- /**
- * The singleton instance of the factory.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- UidiffdataFactory eINSTANCE = org.eclipse.emf.diffmerge.ui.diffuidata.impl.UidiffdataFactoryImpl.init();
-
- /**
- * Returns a new object of class '<em>UI Comparison</em>'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return a new object of class '<em>UI Comparison</em>'.
- * @generated
- */
- UIComparison createUIComparison();
-
- /**
- * Returns a new object of class '<em>Comparison Selection</em>'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return a new object of class '<em>Comparison Selection</em>'.
- * @generated
- */
- ComparisonSelection createComparisonSelection();
-
- /**
- * Returns a new object of class '<em>Match And Feature</em>'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return a new object of class '<em>Match And Feature</em>'.
- * @generated
- */
- MatchAndFeature createMatchAndFeature();
-
- /**
- * Returns the package supported by this factory.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the package supported by this factory.
- * @generated
- */
- UidiffdataPackage getUidiffdataPackage();
-
-} //UidiffdataFactory
+/**
+ * <copyright>
+ *
+ * Copyright (c) 2010-2017 Thales Global Services S.A.S.
+ * 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:
+ * Thales Global Services S.A.S. - initial API and implementation
+ *
+ * </copyright>
+ */
+package org.eclipse.emf.diffmerge.ui.diffuidata;
+
+import org.eclipse.emf.ecore.EFactory;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Factory</b> for the model.
+ * It provides a create method for each non-abstract class of the model.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.diffmerge.ui.diffuidata.UidiffdataPackage
+ * @generated
+ */
+public interface UidiffdataFactory extends EFactory {
+ /**
+ * The singleton instance of the factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ UidiffdataFactory eINSTANCE = org.eclipse.emf.diffmerge.ui.diffuidata.impl.UidiffdataFactoryImpl.init();
+
+ /**
+ * Returns a new object of class '<em>UI Comparison</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>UI Comparison</em>'.
+ * @generated
+ */
+ UIComparison createUIComparison();
+
+ /**
+ * Returns a new object of class '<em>Comparison Selection</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Comparison Selection</em>'.
+ * @generated
+ */
+ ComparisonSelection createComparisonSelection();
+
+ /**
+ * Returns a new object of class '<em>Match And Feature</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Match And Feature</em>'.
+ * @generated
+ */
+ MatchAndFeature createMatchAndFeature();
+
+ /**
+ * Returns the package supported by this factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the package supported by this factory.
+ * @generated
+ */
+ UidiffdataPackage getUidiffdataPackage();
+
+} //UidiffdataFactory
diff --git a/plugins/org.eclipse.emf.diffmerge.ui/src/org/eclipse/emf/diffmerge/ui/diffuidata/UidiffdataPackage.java b/plugins/org.eclipse.emf.diffmerge.ui/src/org/eclipse/emf/diffmerge/ui/diffuidata/UidiffdataPackage.java
index 295a44c9..733d1fa2 100644
--- a/plugins/org.eclipse.emf.diffmerge.ui/src/org/eclipse/emf/diffmerge/ui/diffuidata/UidiffdataPackage.java
+++ b/plugins/org.eclipse.emf.diffmerge.ui/src/org/eclipse/emf/diffmerge/ui/diffuidata/UidiffdataPackage.java
@@ -1,634 +1,634 @@
-/**
- * <copyright>
- *
- * Copyright (c) 2010-2016 Thales Global Services S.A.S.
- * 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:
- * Thales Global Services S.A.S. - initial API and implementation
- *
- * </copyright>
- */
-package org.eclipse.emf.diffmerge.ui.diffuidata;
-
-import org.eclipse.emf.ecore.EAttribute;
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EDataType;
-import org.eclipse.emf.ecore.EPackage;
-import org.eclipse.emf.ecore.EReference;
-
-/**
- * <!-- begin-user-doc -->
- * The <b>Package</b> for the model.
- * It contains accessors for the meta objects to represent
- * <ul>
- * <li>each class,</li>
- * <li>each feature of each class,</li>
- * <li>each enum,</li>
- * <li>and each data type</li>
- * </ul>
- * <!-- end-user-doc -->
- * @see org.eclipse.emf.diffmerge.ui.diffuidata.UidiffdataFactory
- * @model kind="package"
- * @generated
- */
-@SuppressWarnings("hiding")
-public interface UidiffdataPackage extends EPackage {
- /**
- * The package name.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- String eNAME = "uidiffdata"; //$NON-NLS-1$
-
- /**
- * The package namespace URI.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- String eNS_URI = "http://www.thalesgroup.com/mde/shared/consonance/ui/uidiffdata/1.0.0"; //$NON-NLS-1$
-
- /**
- * The package namespace name.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- String eNS_PREFIX = "org.eclipse.emf.diffmerge.ui"; //$NON-NLS-1$
-
- /**
- * The singleton instance of the package.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- UidiffdataPackage eINSTANCE = org.eclipse.emf.diffmerge.ui.diffuidata.impl.UidiffdataPackageImpl.init();
-
- /**
- * The meta object id for the '{@link org.eclipse.emf.diffmerge.ui.diffuidata.impl.UIComparisonImpl <em>UI Comparison</em>}' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see org.eclipse.emf.diffmerge.ui.diffuidata.impl.UIComparisonImpl
- * @see org.eclipse.emf.diffmerge.ui.diffuidata.impl.UidiffdataPackageImpl#getUIComparison()
- * @generated
- */
- int UI_COMPARISON = 0;
-
- /**
- * The feature id for the '<em><b>Actual Comparison</b></em>' containment reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int UI_COMPARISON__ACTUAL_COMPARISON = 0;
-
- /**
- * The feature id for the '<em><b>Differences To Ignore</b></em>' reference list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int UI_COMPARISON__DIFFERENCES_TO_IGNORE = 1;
-
- /**
- * The feature id for the '<em><b>Last Action Selection</b></em>' containment reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int UI_COMPARISON__LAST_ACTION_SELECTION = 2;
-
- /**
- * The number of structural features of the '<em>UI Comparison</em>' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int UI_COMPARISON_FEATURE_COUNT = 3;
-
- /**
- * The meta object id for the '{@link org.eclipse.jface.viewers.IStructuredSelection <em>IStructured Selection</em>}' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see org.eclipse.jface.viewers.IStructuredSelection
- * @see org.eclipse.emf.diffmerge.ui.diffuidata.impl.UidiffdataPackageImpl#getIStructuredSelection()
- * @generated
- */
- int ISTRUCTURED_SELECTION = 4;
-
- /**
- * The number of structural features of the '<em>IStructured Selection</em>' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int ISTRUCTURED_SELECTION_FEATURE_COUNT = 0;
-
- /**
- * The meta object id for the '{@link org.eclipse.emf.diffmerge.ui.diffuidata.impl.ComparisonSelectionImpl <em>Comparison Selection</em>}' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see org.eclipse.emf.diffmerge.ui.diffuidata.impl.ComparisonSelectionImpl
- * @see org.eclipse.emf.diffmerge.ui.diffuidata.impl.UidiffdataPackageImpl#getComparisonSelection()
- * @generated
- */
- int COMPARISON_SELECTION = 1;
-
- /**
- * The feature id for the '<em><b>Selected Matches</b></em>' reference list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int COMPARISON_SELECTION__SELECTED_MATCHES = ISTRUCTURED_SELECTION_FEATURE_COUNT + 0;
-
- /**
- * The feature id for the '<em><b>Selected Match And Feature</b></em>' containment reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int COMPARISON_SELECTION__SELECTED_MATCH_AND_FEATURE = ISTRUCTURED_SELECTION_FEATURE_COUNT + 1;
-
- /**
- * The feature id for the '<em><b>Selected Tree Path</b></em>' reference list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int COMPARISON_SELECTION__SELECTED_TREE_PATH = ISTRUCTURED_SELECTION_FEATURE_COUNT + 2;
-
- /**
- * The feature id for the '<em><b>Selected Value Presences</b></em>' reference list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int COMPARISON_SELECTION__SELECTED_VALUE_PRESENCES = ISTRUCTURED_SELECTION_FEATURE_COUNT + 3;
-
- /**
- * The number of structural features of the '<em>Comparison Selection</em>' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int COMPARISON_SELECTION_FEATURE_COUNT = ISTRUCTURED_SELECTION_FEATURE_COUNT + 4;
-
- /**
- * The meta object id for the '{@link org.eclipse.emf.diffmerge.ui.diffuidata.impl.MatchAndFeatureImpl <em>Match And Feature</em>}' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see org.eclipse.emf.diffmerge.ui.diffuidata.impl.MatchAndFeatureImpl
- * @see org.eclipse.emf.diffmerge.ui.diffuidata.impl.UidiffdataPackageImpl#getMatchAndFeature()
- * @generated
- */
- int MATCH_AND_FEATURE = 2;
-
- /**
- * The feature id for the '<em><b>Match</b></em>' reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int MATCH_AND_FEATURE__MATCH = 0;
-
- /**
- * The feature id for the '<em><b>Feature</b></em>' reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int MATCH_AND_FEATURE__FEATURE = 1;
-
- /**
- * The number of structural features of the '<em>Match And Feature</em>' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int MATCH_AND_FEATURE_FEATURE_COUNT = 2;
-
- /**
- * The meta object id for the '{@link org.eclipse.emf.diffmerge.ui.diffuidata.impl.MatchToNbEntryImpl <em>Match To Nb Entry</em>}' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see org.eclipse.emf.diffmerge.ui.diffuidata.impl.MatchToNbEntryImpl
- * @see org.eclipse.emf.diffmerge.ui.diffuidata.impl.UidiffdataPackageImpl#getMatchToNbEntry()
- * @generated
- */
- int MATCH_TO_NB_ENTRY = 3;
-
- /**
- * The feature id for the '<em><b>Key</b></em>' reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int MATCH_TO_NB_ENTRY__KEY = 0;
-
- /**
- * The feature id for the '<em><b>Value</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int MATCH_TO_NB_ENTRY__VALUE = 1;
-
- /**
- * The number of structural features of the '<em>Match To Nb Entry</em>' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int MATCH_TO_NB_ENTRY_FEATURE_COUNT = 2;
-
- /**
- * The meta object id for the '<em>Tree Path</em>' data type.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see org.eclipse.jface.viewers.TreePath
- * @see org.eclipse.emf.diffmerge.ui.diffuidata.impl.UidiffdataPackageImpl#getTreePath()
- * @generated
- */
- int TREE_PATH = 5;
-
-
- /**
- * Returns the meta object for class '{@link org.eclipse.emf.diffmerge.ui.diffuidata.UIComparison <em>UI Comparison</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for class '<em>UI Comparison</em>'.
- * @see org.eclipse.emf.diffmerge.ui.diffuidata.UIComparison
- * @generated
- */
- EClass getUIComparison();
-
- /**
- * Returns the meta object for the containment reference '{@link org.eclipse.emf.diffmerge.ui.diffuidata.UIComparison#getActualComparison <em>Actual Comparison</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the containment reference '<em>Actual Comparison</em>'.
- * @see org.eclipse.emf.diffmerge.ui.diffuidata.UIComparison#getActualComparison()
- * @see #getUIComparison()
- * @generated
- */
- EReference getUIComparison_ActualComparison();
-
- /**
- * Returns the meta object for the reference list '{@link org.eclipse.emf.diffmerge.ui.diffuidata.UIComparison#getDifferencesToIgnore <em>Differences To Ignore</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the reference list '<em>Differences To Ignore</em>'.
- * @see org.eclipse.emf.diffmerge.ui.diffuidata.UIComparison#getDifferencesToIgnore()
- * @see #getUIComparison()
- * @generated
- */
- EReference getUIComparison_DifferencesToIgnore();
-
- /**
- * Returns the meta object for the containment reference '{@link org.eclipse.emf.diffmerge.ui.diffuidata.UIComparison#getLastActionSelection <em>Last Action Selection</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the containment reference '<em>Last Action Selection</em>'.
- * @see org.eclipse.emf.diffmerge.ui.diffuidata.UIComparison#getLastActionSelection()
- * @see #getUIComparison()
- * @generated
- */
- EReference getUIComparison_LastActionSelection();
-
- /**
- * Returns the meta object for class '{@link org.eclipse.emf.diffmerge.ui.diffuidata.ComparisonSelection <em>Comparison Selection</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for class '<em>Comparison Selection</em>'.
- * @see org.eclipse.emf.diffmerge.ui.diffuidata.ComparisonSelection
- * @generated
- */
- EClass getComparisonSelection();
-
- /**
- * Returns the meta object for the reference list '{@link org.eclipse.emf.diffmerge.ui.diffuidata.ComparisonSelection#getSelectedMatches <em>Selected Matches</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the reference list '<em>Selected Matches</em>'.
- * @see org.eclipse.emf.diffmerge.ui.diffuidata.ComparisonSelection#getSelectedMatches()
- * @see #getComparisonSelection()
- * @generated
- */
- EReference getComparisonSelection_SelectedMatches();
-
- /**
- * Returns the meta object for the containment reference '{@link org.eclipse.emf.diffmerge.ui.diffuidata.ComparisonSelection#getSelectedMatchAndFeature <em>Selected Match And Feature</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the containment reference '<em>Selected Match And Feature</em>'.
- * @see org.eclipse.emf.diffmerge.ui.diffuidata.ComparisonSelection#getSelectedMatchAndFeature()
- * @see #getComparisonSelection()
- * @generated
- */
- EReference getComparisonSelection_SelectedMatchAndFeature();
-
- /**
- * Returns the meta object for the reference list '{@link org.eclipse.emf.diffmerge.ui.diffuidata.ComparisonSelection#getSelectedTreePath <em>Selected Tree Path</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the reference list '<em>Selected Tree Path</em>'.
- * @see org.eclipse.emf.diffmerge.ui.diffuidata.ComparisonSelection#getSelectedTreePath()
- * @see #getComparisonSelection()
- * @generated
- */
- EReference getComparisonSelection_SelectedTreePath();
-
- /**
- * Returns the meta object for the reference list '{@link org.eclipse.emf.diffmerge.ui.diffuidata.ComparisonSelection#getSelectedValuePresences <em>Selected Value Presences</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the reference list '<em>Selected Value Presences</em>'.
- * @see org.eclipse.emf.diffmerge.ui.diffuidata.ComparisonSelection#getSelectedValuePresences()
- * @see #getComparisonSelection()
- * @generated
- */
- EReference getComparisonSelection_SelectedValuePresences();
-
- /**
- * Returns the meta object for class '{@link org.eclipse.emf.diffmerge.ui.diffuidata.MatchAndFeature <em>Match And Feature</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for class '<em>Match And Feature</em>'.
- * @see org.eclipse.emf.diffmerge.ui.diffuidata.MatchAndFeature
- * @generated
- */
- EClass getMatchAndFeature();
-
- /**
- * Returns the meta object for the reference '{@link org.eclipse.emf.diffmerge.ui.diffuidata.MatchAndFeature#getMatch <em>Match</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the reference '<em>Match</em>'.
- * @see org.eclipse.emf.diffmerge.ui.diffuidata.MatchAndFeature#getMatch()
- * @see #getMatchAndFeature()
- * @generated
- */
- EReference getMatchAndFeature_Match();
-
- /**
- * Returns the meta object for the reference '{@link org.eclipse.emf.diffmerge.ui.diffuidata.MatchAndFeature#getFeature <em>Feature</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the reference '<em>Feature</em>'.
- * @see org.eclipse.emf.diffmerge.ui.diffuidata.MatchAndFeature#getFeature()
- * @see #getMatchAndFeature()
- * @generated
- */
- EReference getMatchAndFeature_Feature();
-
- /**
- * Returns the meta object for class '{@link java.util.Map.Entry <em>Match To Nb Entry</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for class '<em>Match To Nb Entry</em>'.
- * @see java.util.Map.Entry
- * @model keyType="org.eclipse.emf.diffmerge.diffdata.EMatch" keyRequired="true"
- * valueDataType="org.eclipse.emf.ecore.EIntegerObject" valueRequired="true"
- * @generated
- */
- EClass getMatchToNbEntry();
-
- /**
- * Returns the meta object for the reference '{@link java.util.Map.Entry <em>Key</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the reference '<em>Key</em>'.
- * @see java.util.Map.Entry
- * @see #getMatchToNbEntry()
- * @generated
- */
- EReference getMatchToNbEntry_Key();
-
- /**
- * Returns the meta object for the attribute '{@link java.util.Map.Entry <em>Value</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the attribute '<em>Value</em>'.
- * @see java.util.Map.Entry
- * @see #getMatchToNbEntry()
- * @generated
- */
- EAttribute getMatchToNbEntry_Value();
-
- /**
- * Returns the meta object for class '{@link org.eclipse.jface.viewers.IStructuredSelection <em>IStructured Selection</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for class '<em>IStructured Selection</em>'.
- * @see org.eclipse.jface.viewers.IStructuredSelection
- * @model instanceClass="org.eclipse.jface.viewers.IStructuredSelection"
- * @generated
- */
- EClass getIStructuredSelection();
-
- /**
- * Returns the meta object for data type '{@link org.eclipse.jface.viewers.TreePath <em>Tree Path</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for data type '<em>Tree Path</em>'.
- * @see org.eclipse.jface.viewers.TreePath
- * @model instanceClass="org.eclipse.jface.viewers.TreePath"
- * @generated
- */
- EDataType getTreePath();
-
- /**
- * Returns the factory that creates the instances of the model.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the factory that creates the instances of the model.
- * @generated
- */
- UidiffdataFactory getUidiffdataFactory();
-
- /**
- * <!-- begin-user-doc -->
- * Defines literals for the meta objects that represent
- * <ul>
- * <li>each class,</li>
- * <li>each feature of each class,</li>
- * <li>each enum,</li>
- * <li>and each data type</li>
- * </ul>
- * <!-- end-user-doc -->
- * @generated
- */
- interface Literals {
- /**
- * The meta object literal for the '{@link org.eclipse.emf.diffmerge.ui.diffuidata.impl.UIComparisonImpl <em>UI Comparison</em>}' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see org.eclipse.emf.diffmerge.ui.diffuidata.impl.UIComparisonImpl
- * @see org.eclipse.emf.diffmerge.ui.diffuidata.impl.UidiffdataPackageImpl#getUIComparison()
- * @generated
- */
- EClass UI_COMPARISON = eINSTANCE.getUIComparison();
-
- /**
- * The meta object literal for the '<em><b>Actual Comparison</b></em>' containment reference feature.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- EReference UI_COMPARISON__ACTUAL_COMPARISON = eINSTANCE.getUIComparison_ActualComparison();
-
- /**
- * The meta object literal for the '<em><b>Differences To Ignore</b></em>' reference list feature.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- EReference UI_COMPARISON__DIFFERENCES_TO_IGNORE = eINSTANCE.getUIComparison_DifferencesToIgnore();
-
- /**
- * The meta object literal for the '<em><b>Last Action Selection</b></em>' containment reference feature.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- EReference UI_COMPARISON__LAST_ACTION_SELECTION = eINSTANCE.getUIComparison_LastActionSelection();
-
- /**
- * The meta object literal for the '{@link org.eclipse.emf.diffmerge.ui.diffuidata.impl.ComparisonSelectionImpl <em>Comparison Selection</em>}' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see org.eclipse.emf.diffmerge.ui.diffuidata.impl.ComparisonSelectionImpl
- * @see org.eclipse.emf.diffmerge.ui.diffuidata.impl.UidiffdataPackageImpl#getComparisonSelection()
- * @generated
- */
- EClass COMPARISON_SELECTION = eINSTANCE.getComparisonSelection();
-
- /**
- * The meta object literal for the '<em><b>Selected Matches</b></em>' reference list feature.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- EReference COMPARISON_SELECTION__SELECTED_MATCHES = eINSTANCE.getComparisonSelection_SelectedMatches();
-
- /**
- * The meta object literal for the '<em><b>Selected Match And Feature</b></em>' containment reference feature.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- EReference COMPARISON_SELECTION__SELECTED_MATCH_AND_FEATURE = eINSTANCE.getComparisonSelection_SelectedMatchAndFeature();
-
- /**
- * The meta object literal for the '<em><b>Selected Tree Path</b></em>' reference list feature.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- EReference COMPARISON_SELECTION__SELECTED_TREE_PATH = eINSTANCE.getComparisonSelection_SelectedTreePath();
-
- /**
- * The meta object literal for the '<em><b>Selected Value Presences</b></em>' reference list feature.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- EReference COMPARISON_SELECTION__SELECTED_VALUE_PRESENCES = eINSTANCE.getComparisonSelection_SelectedValuePresences();
-
- /**
- * The meta object literal for the '{@link org.eclipse.emf.diffmerge.ui.diffuidata.impl.MatchAndFeatureImpl <em>Match And Feature</em>}' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see org.eclipse.emf.diffmerge.ui.diffuidata.impl.MatchAndFeatureImpl
- * @see org.eclipse.emf.diffmerge.ui.diffuidata.impl.UidiffdataPackageImpl#getMatchAndFeature()
- * @generated
- */
- EClass MATCH_AND_FEATURE = eINSTANCE.getMatchAndFeature();
-
- /**
- * The meta object literal for the '<em><b>Match</b></em>' reference feature.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- EReference MATCH_AND_FEATURE__MATCH = eINSTANCE.getMatchAndFeature_Match();
-
- /**
- * The meta object literal for the '<em><b>Feature</b></em>' reference feature.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- EReference MATCH_AND_FEATURE__FEATURE = eINSTANCE.getMatchAndFeature_Feature();
-
- /**
- * The meta object literal for the '{@link org.eclipse.emf.diffmerge.ui.diffuidata.impl.MatchToNbEntryImpl <em>Match To Nb Entry</em>}' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see org.eclipse.emf.diffmerge.ui.diffuidata.impl.MatchToNbEntryImpl
- * @see org.eclipse.emf.diffmerge.ui.diffuidata.impl.UidiffdataPackageImpl#getMatchToNbEntry()
- * @generated
- */
- EClass MATCH_TO_NB_ENTRY = eINSTANCE.getMatchToNbEntry();
-
- /**
- * The meta object literal for the '<em><b>Key</b></em>' reference feature.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- EReference MATCH_TO_NB_ENTRY__KEY = eINSTANCE.getMatchToNbEntry_Key();
-
- /**
- * The meta object literal for the '<em><b>Value</b></em>' attribute feature.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- EAttribute MATCH_TO_NB_ENTRY__VALUE = eINSTANCE.getMatchToNbEntry_Value();
-
- /**
- * The meta object literal for the '{@link org.eclipse.jface.viewers.IStructuredSelection <em>IStructured Selection</em>}' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see org.eclipse.jface.viewers.IStructuredSelection
- * @see org.eclipse.emf.diffmerge.ui.diffuidata.impl.UidiffdataPackageImpl#getIStructuredSelection()
- * @generated
- */
- EClass ISTRUCTURED_SELECTION = eINSTANCE.getIStructuredSelection();
-
- /**
- * The meta object literal for the '<em>Tree Path</em>' data type.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see org.eclipse.jface.viewers.TreePath
- * @see org.eclipse.emf.diffmerge.ui.diffuidata.impl.UidiffdataPackageImpl#getTreePath()
- * @generated
- */
- EDataType TREE_PATH = eINSTANCE.getTreePath();
-
- }
-
-} //UidiffdataPackage
+/**
+ * <copyright>
+ *
+ * Copyright (c) 2010-2017 Thales Global Services S.A.S.
+ * 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:
+ * Thales Global Services S.A.S. - initial API and implementation
+ *
+ * </copyright>
+ */
+package org.eclipse.emf.diffmerge.ui.diffuidata;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EDataType;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EReference;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Package</b> for the model.
+ * It contains accessors for the meta objects to represent
+ * <ul>
+ * <li>each class,</li>
+ * <li>each feature of each class,</li>
+ * <li>each enum,</li>
+ * <li>and each data type</li>
+ * </ul>
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.diffmerge.ui.diffuidata.UidiffdataFactory
+ * @model kind="package"
+ * @generated
+ */
+@SuppressWarnings("hiding")
+public interface UidiffdataPackage extends EPackage {
+ /**
+ * The package name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ String eNAME = "uidiffdata"; //$NON-NLS-1$
+
+ /**
+ * The package namespace URI.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ String eNS_URI = "http://www.thalesgroup.com/mde/shared/consonance/ui/uidiffdata/1.0.0"; //$NON-NLS-1$
+
+ /**
+ * The package namespace name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ String eNS_PREFIX = "org.eclipse.emf.diffmerge.ui"; //$NON-NLS-1$
+
+ /**
+ * The singleton instance of the package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ UidiffdataPackage eINSTANCE = org.eclipse.emf.diffmerge.ui.diffuidata.impl.UidiffdataPackageImpl.init();
+
+ /**
+ * The meta object id for the '{@link org.eclipse.emf.diffmerge.ui.diffuidata.impl.UIComparisonImpl <em>UI Comparison</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.diffmerge.ui.diffuidata.impl.UIComparisonImpl
+ * @see org.eclipse.emf.diffmerge.ui.diffuidata.impl.UidiffdataPackageImpl#getUIComparison()
+ * @generated
+ */
+ int UI_COMPARISON = 0;
+
+ /**
+ * The feature id for the '<em><b>Actual Comparison</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int UI_COMPARISON__ACTUAL_COMPARISON = 0;
+
+ /**
+ * The feature id for the '<em><b>Differences To Ignore</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int UI_COMPARISON__DIFFERENCES_TO_IGNORE = 1;
+
+ /**
+ * The feature id for the '<em><b>Last Action Selection</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int UI_COMPARISON__LAST_ACTION_SELECTION = 2;
+
+ /**
+ * The number of structural features of the '<em>UI Comparison</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int UI_COMPARISON_FEATURE_COUNT = 3;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.jface.viewers.IStructuredSelection <em>IStructured Selection</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jface.viewers.IStructuredSelection
+ * @see org.eclipse.emf.diffmerge.ui.diffuidata.impl.UidiffdataPackageImpl#getIStructuredSelection()
+ * @generated
+ */
+ int ISTRUCTURED_SELECTION = 4;
+
+ /**
+ * The number of structural features of the '<em>IStructured Selection</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ISTRUCTURED_SELECTION_FEATURE_COUNT = 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.emf.diffmerge.ui.diffuidata.impl.ComparisonSelectionImpl <em>Comparison Selection</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.diffmerge.ui.diffuidata.impl.ComparisonSelectionImpl
+ * @see org.eclipse.emf.diffmerge.ui.diffuidata.impl.UidiffdataPackageImpl#getComparisonSelection()
+ * @generated
+ */
+ int COMPARISON_SELECTION = 1;
+
+ /**
+ * The feature id for the '<em><b>Selected Matches</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COMPARISON_SELECTION__SELECTED_MATCHES = ISTRUCTURED_SELECTION_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Selected Match And Feature</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COMPARISON_SELECTION__SELECTED_MATCH_AND_FEATURE = ISTRUCTURED_SELECTION_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Selected Tree Path</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COMPARISON_SELECTION__SELECTED_TREE_PATH = ISTRUCTURED_SELECTION_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Selected Value Presences</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COMPARISON_SELECTION__SELECTED_VALUE_PRESENCES = ISTRUCTURED_SELECTION_FEATURE_COUNT + 3;
+
+ /**
+ * The number of structural features of the '<em>Comparison Selection</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COMPARISON_SELECTION_FEATURE_COUNT = ISTRUCTURED_SELECTION_FEATURE_COUNT + 4;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.emf.diffmerge.ui.diffuidata.impl.MatchAndFeatureImpl <em>Match And Feature</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.diffmerge.ui.diffuidata.impl.MatchAndFeatureImpl
+ * @see org.eclipse.emf.diffmerge.ui.diffuidata.impl.UidiffdataPackageImpl#getMatchAndFeature()
+ * @generated
+ */
+ int MATCH_AND_FEATURE = 2;
+
+ /**
+ * The feature id for the '<em><b>Match</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MATCH_AND_FEATURE__MATCH = 0;
+
+ /**
+ * The feature id for the '<em><b>Feature</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MATCH_AND_FEATURE__FEATURE = 1;
+
+ /**
+ * The number of structural features of the '<em>Match And Feature</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MATCH_AND_FEATURE_FEATURE_COUNT = 2;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.emf.diffmerge.ui.diffuidata.impl.MatchToNbEntryImpl <em>Match To Nb Entry</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.diffmerge.ui.diffuidata.impl.MatchToNbEntryImpl
+ * @see org.eclipse.emf.diffmerge.ui.diffuidata.impl.UidiffdataPackageImpl#getMatchToNbEntry()
+ * @generated
+ */
+ int MATCH_TO_NB_ENTRY = 3;
+
+ /**
+ * The feature id for the '<em><b>Key</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MATCH_TO_NB_ENTRY__KEY = 0;
+
+ /**
+ * The feature id for the '<em><b>Value</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MATCH_TO_NB_ENTRY__VALUE = 1;
+
+ /**
+ * The number of structural features of the '<em>Match To Nb Entry</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MATCH_TO_NB_ENTRY_FEATURE_COUNT = 2;
+
+ /**
+ * The meta object id for the '<em>Tree Path</em>' data type.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jface.viewers.TreePath
+ * @see org.eclipse.emf.diffmerge.ui.diffuidata.impl.UidiffdataPackageImpl#getTreePath()
+ * @generated
+ */
+ int TREE_PATH = 5;
+
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.emf.diffmerge.ui.diffuidata.UIComparison <em>UI Comparison</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>UI Comparison</em>'.
+ * @see org.eclipse.emf.diffmerge.ui.diffuidata.UIComparison
+ * @generated
+ */
+ EClass getUIComparison();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.emf.diffmerge.ui.diffuidata.UIComparison#getActualComparison <em>Actual Comparison</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Actual Comparison</em>'.
+ * @see org.eclipse.emf.diffmerge.ui.diffuidata.UIComparison#getActualComparison()
+ * @see #getUIComparison()
+ * @generated
+ */
+ EReference getUIComparison_ActualComparison();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.emf.diffmerge.ui.diffuidata.UIComparison#getDifferencesToIgnore <em>Differences To Ignore</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Differences To Ignore</em>'.
+ * @see org.eclipse.emf.diffmerge.ui.diffuidata.UIComparison#getDifferencesToIgnore()
+ * @see #getUIComparison()
+ * @generated
+ */
+ EReference getUIComparison_DifferencesToIgnore();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.emf.diffmerge.ui.diffuidata.UIComparison#getLastActionSelection <em>Last Action Selection</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Last Action Selection</em>'.
+ * @see org.eclipse.emf.diffmerge.ui.diffuidata.UIComparison#getLastActionSelection()
+ * @see #getUIComparison()
+ * @generated
+ */
+ EReference getUIComparison_LastActionSelection();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.emf.diffmerge.ui.diffuidata.ComparisonSelection <em>Comparison Selection</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Comparison Selection</em>'.
+ * @see org.eclipse.emf.diffmerge.ui.diffuidata.ComparisonSelection
+ * @generated
+ */
+ EClass getComparisonSelection();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.emf.diffmerge.ui.diffuidata.ComparisonSelection#getSelectedMatches <em>Selected Matches</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Selected Matches</em>'.
+ * @see org.eclipse.emf.diffmerge.ui.diffuidata.ComparisonSelection#getSelectedMatches()
+ * @see #getComparisonSelection()
+ * @generated
+ */
+ EReference getComparisonSelection_SelectedMatches();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.emf.diffmerge.ui.diffuidata.ComparisonSelection#getSelectedMatchAndFeature <em>Selected Match And Feature</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Selected Match And Feature</em>'.
+ * @see org.eclipse.emf.diffmerge.ui.diffuidata.ComparisonSelection#getSelectedMatchAndFeature()
+ * @see #getComparisonSelection()
+ * @generated
+ */
+ EReference getComparisonSelection_SelectedMatchAndFeature();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.emf.diffmerge.ui.diffuidata.ComparisonSelection#getSelectedTreePath <em>Selected Tree Path</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Selected Tree Path</em>'.
+ * @see org.eclipse.emf.diffmerge.ui.diffuidata.ComparisonSelection#getSelectedTreePath()
+ * @see #getComparisonSelection()
+ * @generated
+ */
+ EReference getComparisonSelection_SelectedTreePath();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.emf.diffmerge.ui.diffuidata.ComparisonSelection#getSelectedValuePresences <em>Selected Value Presences</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Selected Value Presences</em>'.
+ * @see org.eclipse.emf.diffmerge.ui.diffuidata.ComparisonSelection#getSelectedValuePresences()
+ * @see #getComparisonSelection()
+ * @generated
+ */
+ EReference getComparisonSelection_SelectedValuePresences();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.emf.diffmerge.ui.diffuidata.MatchAndFeature <em>Match And Feature</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Match And Feature</em>'.
+ * @see org.eclipse.emf.diffmerge.ui.diffuidata.MatchAndFeature
+ * @generated
+ */
+ EClass getMatchAndFeature();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.emf.diffmerge.ui.diffuidata.MatchAndFeature#getMatch <em>Match</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Match</em>'.
+ * @see org.eclipse.emf.diffmerge.ui.diffuidata.MatchAndFeature#getMatch()
+ * @see #getMatchAndFeature()
+ * @generated
+ */
+ EReference getMatchAndFeature_Match();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.emf.diffmerge.ui.diffuidata.MatchAndFeature#getFeature <em>Feature</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Feature</em>'.
+ * @see org.eclipse.emf.diffmerge.ui.diffuidata.MatchAndFeature#getFeature()
+ * @see #getMatchAndFeature()
+ * @generated
+ */
+ EReference getMatchAndFeature_Feature();
+
+ /**
+ * Returns the meta object for class '{@link java.util.Map.Entry <em>Match To Nb Entry</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Match To Nb Entry</em>'.
+ * @see java.util.Map.Entry
+ * @model keyType="org.eclipse.emf.diffmerge.diffdata.EMatch" keyRequired="true"
+ * valueDataType="org.eclipse.emf.ecore.EIntegerObject" valueRequired="true"
+ * @generated
+ */
+ EClass getMatchToNbEntry();
+
+ /**
+ * Returns the meta object for the reference '{@link java.util.Map.Entry <em>Key</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Key</em>'.
+ * @see java.util.Map.Entry
+ * @see #getMatchToNbEntry()
+ * @generated
+ */
+ EReference getMatchToNbEntry_Key();
+
+ /**
+ * Returns the meta object for the attribute '{@link java.util.Map.Entry <em>Value</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Value</em>'.
+ * @see java.util.Map.Entry
+ * @see #getMatchToNbEntry()
+ * @generated
+ */
+ EAttribute getMatchToNbEntry_Value();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.jface.viewers.IStructuredSelection <em>IStructured Selection</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>IStructured Selection</em>'.
+ * @see org.eclipse.jface.viewers.IStructuredSelection
+ * @model instanceClass="org.eclipse.jface.viewers.IStructuredSelection"
+ * @generated
+ */
+ EClass getIStructuredSelection();
+
+ /**
+ * Returns the meta object for data type '{@link org.eclipse.jface.viewers.TreePath <em>Tree Path</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for data type '<em>Tree Path</em>'.
+ * @see org.eclipse.jface.viewers.TreePath
+ * @model instanceClass="org.eclipse.jface.viewers.TreePath"
+ * @generated
+ */
+ EDataType getTreePath();
+
+ /**
+ * Returns the factory that creates the instances of the model.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the factory that creates the instances of the model.
+ * @generated
+ */
+ UidiffdataFactory getUidiffdataFactory();
+
+ /**
+ * <!-- begin-user-doc -->
+ * Defines literals for the meta objects that represent
+ * <ul>
+ * <li>each class,</li>
+ * <li>each feature of each class,</li>
+ * <li>each enum,</li>
+ * <li>and each data type</li>
+ * </ul>
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ interface Literals {
+ /**
+ * The meta object literal for the '{@link org.eclipse.emf.diffmerge.ui.diffuidata.impl.UIComparisonImpl <em>UI Comparison</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.diffmerge.ui.diffuidata.impl.UIComparisonImpl
+ * @see org.eclipse.emf.diffmerge.ui.diffuidata.impl.UidiffdataPackageImpl#getUIComparison()
+ * @generated
+ */
+ EClass UI_COMPARISON = eINSTANCE.getUIComparison();
+
+ /**
+ * The meta object literal for the '<em><b>Actual Comparison</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference UI_COMPARISON__ACTUAL_COMPARISON = eINSTANCE.getUIComparison_ActualComparison();
+
+ /**
+ * The meta object literal for the '<em><b>Differences To Ignore</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference UI_COMPARISON__DIFFERENCES_TO_IGNORE = eINSTANCE.getUIComparison_DifferencesToIgnore();
+
+ /**
+ * The meta object literal for the '<em><b>Last Action Selection</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference UI_COMPARISON__LAST_ACTION_SELECTION = eINSTANCE.getUIComparison_LastActionSelection();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.emf.diffmerge.ui.diffuidata.impl.ComparisonSelectionImpl <em>Comparison Selection</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.diffmerge.ui.diffuidata.impl.ComparisonSelectionImpl
+ * @see org.eclipse.emf.diffmerge.ui.diffuidata.impl.UidiffdataPackageImpl#getComparisonSelection()
+ * @generated
+ */
+ EClass COMPARISON_SELECTION = eINSTANCE.getComparisonSelection();
+
+ /**
+ * The meta object literal for the '<em><b>Selected Matches</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference COMPARISON_SELECTION__SELECTED_MATCHES = eINSTANCE.getComparisonSelection_SelectedMatches();
+
+ /**
+ * The meta object literal for the '<em><b>Selected Match And Feature</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference COMPARISON_SELECTION__SELECTED_MATCH_AND_FEATURE = eINSTANCE.getComparisonSelection_SelectedMatchAndFeature();
+
+ /**
+ * The meta object literal for the '<em><b>Selected Tree Path</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference COMPARISON_SELECTION__SELECTED_TREE_PATH = eINSTANCE.getComparisonSelection_SelectedTreePath();
+
+ /**
+ * The meta object literal for the '<em><b>Selected Value Presences</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference COMPARISON_SELECTION__SELECTED_VALUE_PRESENCES = eINSTANCE.getComparisonSelection_SelectedValuePresences();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.emf.diffmerge.ui.diffuidata.impl.MatchAndFeatureImpl <em>Match And Feature</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.diffmerge.ui.diffuidata.impl.MatchAndFeatureImpl
+ * @see org.eclipse.emf.diffmerge.ui.diffuidata.impl.UidiffdataPackageImpl#getMatchAndFeature()
+ * @generated
+ */
+ EClass MATCH_AND_FEATURE = eINSTANCE.getMatchAndFeature();
+
+ /**
+ * The meta object literal for the '<em><b>Match</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference MATCH_AND_FEATURE__MATCH = eINSTANCE.getMatchAndFeature_Match();
+
+ /**
+ * The meta object literal for the '<em><b>Feature</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference MATCH_AND_FEATURE__FEATURE = eINSTANCE.getMatchAndFeature_Feature();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.emf.diffmerge.ui.diffuidata.impl.MatchToNbEntryImpl <em>Match To Nb Entry</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.diffmerge.ui.diffuidata.impl.MatchToNbEntryImpl
+ * @see org.eclipse.emf.diffmerge.ui.diffuidata.impl.UidiffdataPackageImpl#getMatchToNbEntry()
+ * @generated
+ */
+ EClass MATCH_TO_NB_ENTRY = eINSTANCE.getMatchToNbEntry();
+
+ /**
+ * The meta object literal for the '<em><b>Key</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference MATCH_TO_NB_ENTRY__KEY = eINSTANCE.getMatchToNbEntry_Key();
+
+ /**
+ * The meta object literal for the '<em><b>Value</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute MATCH_TO_NB_ENTRY__VALUE = eINSTANCE.getMatchToNbEntry_Value();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.jface.viewers.IStructuredSelection <em>IStructured Selection</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jface.viewers.IStructuredSelection
+ * @see org.eclipse.emf.diffmerge.ui.diffuidata.impl.UidiffdataPackageImpl#getIStructuredSelection()
+ * @generated
+ */
+ EClass ISTRUCTURED_SELECTION = eINSTANCE.getIStructuredSelection();
+
+ /**
+ * The meta object literal for the '<em>Tree Path</em>' data type.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.jface.viewers.TreePath
+ * @see org.eclipse.emf.diffmerge.ui.diffuidata.impl.UidiffdataPackageImpl#getTreePath()
+ * @generated
+ */
+ EDataType TREE_PATH = eINSTANCE.getTreePath();
+
+ }
+
+} //UidiffdataPackage
diff --git a/plugins/org.eclipse.emf.diffmerge.ui/src/org/eclipse/emf/diffmerge/ui/diffuidata/impl/ComparisonSelectionImpl.java b/plugins/org.eclipse.emf.diffmerge.ui/src/org/eclipse/emf/diffmerge/ui/diffuidata/impl/ComparisonSelectionImpl.java
index 2c1c96db..256b91bd 100644
--- a/plugins/org.eclipse.emf.diffmerge.ui/src/org/eclipse/emf/diffmerge/ui/diffuidata/impl/ComparisonSelectionImpl.java
+++ b/plugins/org.eclipse.emf.diffmerge.ui/src/org/eclipse/emf/diffmerge/ui/diffuidata/impl/ComparisonSelectionImpl.java
@@ -1,7 +1,7 @@
/**
* <copyright>
*
- * Copyright (c) 2010-2016 Thales Global Services S.A.S.
+ * Copyright (c) 2010-2017 Thales Global Services S.A.S.
* 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
diff --git a/plugins/org.eclipse.emf.diffmerge.ui/src/org/eclipse/emf/diffmerge/ui/diffuidata/impl/DiffuidataFactoryImpl.java b/plugins/org.eclipse.emf.diffmerge.ui/src/org/eclipse/emf/diffmerge/ui/diffuidata/impl/DiffuidataFactoryImpl.java
index 6cf03158..59067b1e 100644
--- a/plugins/org.eclipse.emf.diffmerge.ui/src/org/eclipse/emf/diffmerge/ui/diffuidata/impl/DiffuidataFactoryImpl.java
+++ b/plugins/org.eclipse.emf.diffmerge.ui/src/org/eclipse/emf/diffmerge/ui/diffuidata/impl/DiffuidataFactoryImpl.java
@@ -1,191 +1,191 @@
-/**
- * <copyright>
- *
- * Copyright (c) 2010-2016 Thales Global Services S.A.S.
- * 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:
- * Thales Global Services S.A.S. - initial API and implementation
- *
- * </copyright>
- */
-package org.eclipse.emf.diffmerge.ui.diffuidata.impl;
-
-import java.util.Map;
-
-import org.eclipse.emf.diffmerge.diffdata.EMatch;
-import org.eclipse.emf.diffmerge.ui.diffuidata.*;
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EDataType;
-import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.EPackage;
-import org.eclipse.emf.ecore.impl.EFactoryImpl;
-import org.eclipse.emf.ecore.plugin.EcorePlugin;
-import org.eclipse.jface.viewers.TreePath;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model <b>Factory</b>.
- * <!-- end-user-doc -->
- * @generated
- */
-public class DiffuidataFactoryImpl extends EFactoryImpl implements DiffuidataFactory {
- /**
- * Creates the default factory implementation.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public static DiffuidataFactory init() {
- try {
- DiffuidataFactory theDiffuidataFactory = (DiffuidataFactory)EPackage.Registry.INSTANCE.getEFactory("http://www.eclipse.org/emf/diffmerge/ui/1.0.0/diffuidata"); //$NON-NLS-1$
- if (theDiffuidataFactory != null) {
- return theDiffuidataFactory;
- }
- }
- catch (Exception exception) {
- EcorePlugin.INSTANCE.log(exception);
- }
- return new DiffuidataFactoryImpl();
- }
-
- /**
- * Creates an instance of the factory.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public DiffuidataFactoryImpl() {
- super();
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- public EObject create(EClass eClass) {
- switch (eClass.getClassifierID()) {
- case DiffuidataPackage.UI_COMPARISON: return createUIComparison();
- case DiffuidataPackage.COMPARISON_SELECTION: return createComparisonSelection();
- case DiffuidataPackage.MATCH_AND_FEATURE: return createMatchAndFeature();
- case DiffuidataPackage.MATCH_TO_NB_ENTRY: return (EObject)createMatchToNbEntry();
- default:
- throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier"); //$NON-NLS-1$ //$NON-NLS-2$
- }
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- public Object createFromString(EDataType eDataType, String initialValue) {
- switch (eDataType.getClassifierID()) {
- case DiffuidataPackage.TREE_PATH:
- return createTreePathFromString(eDataType, initialValue);
- default:
- throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier"); //$NON-NLS-1$ //$NON-NLS-2$
- }
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- public String convertToString(EDataType eDataType, Object instanceValue) {
- switch (eDataType.getClassifierID()) {
- case DiffuidataPackage.TREE_PATH:
- return convertTreePathToString(eDataType, instanceValue);
- default:
- throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier"); //$NON-NLS-1$ //$NON-NLS-2$
- }
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public UIComparison createUIComparison() {
- UIComparisonImpl uiComparison = new UIComparisonImpl();
- return uiComparison;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public ComparisonSelection createComparisonSelection() {
- ComparisonSelectionImpl comparisonSelection = new ComparisonSelectionImpl();
- return comparisonSelection;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public MatchAndFeature createMatchAndFeature() {
- MatchAndFeatureImpl matchAndFeature = new MatchAndFeatureImpl();
- return matchAndFeature;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public Map.Entry<EMatch, Integer> createMatchToNbEntry() {
- MatchToNbEntryImpl matchToNbEntry = new MatchToNbEntryImpl();
- return matchToNbEntry;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public TreePath createTreePathFromString(EDataType eDataType, String initialValue) {
- return (TreePath)super.createFromString(eDataType, initialValue);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public String convertTreePathToString(EDataType eDataType, Object instanceValue) {
- return super.convertToString(eDataType, instanceValue);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public DiffuidataPackage getDiffuidataPackage() {
- return (DiffuidataPackage)getEPackage();
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @deprecated
- * @generated
- */
- @SuppressWarnings("javadoc")
- @Deprecated
- public static DiffuidataPackage getPackage() {
- return DiffuidataPackage.eINSTANCE;
- }
-
-} //DiffuidataFactoryImpl
+/**
+ * <copyright>
+ *
+ * Copyright (c) 2010-2017 Thales Global Services S.A.S.
+ * 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:
+ * Thales Global Services S.A.S. - initial API and implementation
+ *
+ * </copyright>
+ */
+package org.eclipse.emf.diffmerge.ui.diffuidata.impl;
+
+import java.util.Map;
+
+import org.eclipse.emf.diffmerge.diffdata.EMatch;
+import org.eclipse.emf.diffmerge.ui.diffuidata.*;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EDataType;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.impl.EFactoryImpl;
+import org.eclipse.emf.ecore.plugin.EcorePlugin;
+import org.eclipse.jface.viewers.TreePath;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Factory</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class DiffuidataFactoryImpl extends EFactoryImpl implements DiffuidataFactory {
+ /**
+ * Creates the default factory implementation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static DiffuidataFactory init() {
+ try {
+ DiffuidataFactory theDiffuidataFactory = (DiffuidataFactory)EPackage.Registry.INSTANCE.getEFactory("http://www.eclipse.org/emf/diffmerge/ui/1.0.0/diffuidata"); //$NON-NLS-1$
+ if (theDiffuidataFactory != null) {
+ return theDiffuidataFactory;
+ }
+ }
+ catch (Exception exception) {
+ EcorePlugin.INSTANCE.log(exception);
+ }
+ return new DiffuidataFactoryImpl();
+ }
+
+ /**
+ * Creates an instance of the factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public DiffuidataFactoryImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EObject create(EClass eClass) {
+ switch (eClass.getClassifierID()) {
+ case DiffuidataPackage.UI_COMPARISON: return createUIComparison();
+ case DiffuidataPackage.COMPARISON_SELECTION: return createComparisonSelection();
+ case DiffuidataPackage.MATCH_AND_FEATURE: return createMatchAndFeature();
+ case DiffuidataPackage.MATCH_TO_NB_ENTRY: return (EObject)createMatchToNbEntry();
+ default:
+ throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier"); //$NON-NLS-1$ //$NON-NLS-2$
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object createFromString(EDataType eDataType, String initialValue) {
+ switch (eDataType.getClassifierID()) {
+ case DiffuidataPackage.TREE_PATH:
+ return createTreePathFromString(eDataType, initialValue);
+ default:
+ throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier"); //$NON-NLS-1$ //$NON-NLS-2$
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String convertToString(EDataType eDataType, Object instanceValue) {
+ switch (eDataType.getClassifierID()) {
+ case DiffuidataPackage.TREE_PATH:
+ return convertTreePathToString(eDataType, instanceValue);
+ default:
+ throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier"); //$NON-NLS-1$ //$NON-NLS-2$
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public UIComparison createUIComparison() {
+ UIComparisonImpl uiComparison = new UIComparisonImpl();
+ return uiComparison;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ComparisonSelection createComparisonSelection() {
+ ComparisonSelectionImpl comparisonSelection = new ComparisonSelectionImpl();
+ return comparisonSelection;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public MatchAndFeature createMatchAndFeature() {
+ MatchAndFeatureImpl matchAndFeature = new MatchAndFeatureImpl();
+ return matchAndFeature;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Map.Entry<EMatch, Integer> createMatchToNbEntry() {
+ MatchToNbEntryImpl matchToNbEntry = new MatchToNbEntryImpl();
+ return matchToNbEntry;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public TreePath createTreePathFromString(EDataType eDataType, String initialValue) {
+ return (TreePath)super.createFromString(eDataType, initialValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String convertTreePathToString(EDataType eDataType, Object instanceValue) {
+ return super.convertToString(eDataType, instanceValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public DiffuidataPackage getDiffuidataPackage() {
+ return (DiffuidataPackage)getEPackage();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @deprecated
+ * @generated
+ */
+ @SuppressWarnings("javadoc")
+ @Deprecated
+ public static DiffuidataPackage getPackage() {
+ return DiffuidataPackage.eINSTANCE;
+ }
+
+} //DiffuidataFactoryImpl
diff --git a/plugins/org.eclipse.emf.diffmerge.ui/src/org/eclipse/emf/diffmerge/ui/diffuidata/impl/DiffuidataPackageImpl.java b/plugins/org.eclipse.emf.diffmerge.ui/src/org/eclipse/emf/diffmerge/ui/diffuidata/impl/DiffuidataPackageImpl.java
index 3001989e..2ce6e3f0 100644
--- a/plugins/org.eclipse.emf.diffmerge.ui/src/org/eclipse/emf/diffmerge/ui/diffuidata/impl/DiffuidataPackageImpl.java
+++ b/plugins/org.eclipse.emf.diffmerge.ui/src/org/eclipse/emf/diffmerge/ui/diffuidata/impl/DiffuidataPackageImpl.java
@@ -1,439 +1,439 @@
-/**
- * <copyright>
- *
- * Copyright (c) 2010-2016 Thales Global Services S.A.S.
- * 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:
- * Thales Global Services S.A.S. - initial API and implementation
- *
- * </copyright>
- */
-package org.eclipse.emf.diffmerge.ui.diffuidata.impl;
-
-import java.util.Map;
-
-import org.eclipse.emf.diffmerge.diffdata.DiffdataPackage;
-
-import org.eclipse.emf.diffmerge.ui.diffuidata.ComparisonSelection;
-import org.eclipse.emf.diffmerge.ui.diffuidata.DiffuidataFactory;
-import org.eclipse.emf.diffmerge.ui.diffuidata.DiffuidataPackage;
-import org.eclipse.emf.diffmerge.ui.diffuidata.MatchAndFeature;
-import org.eclipse.emf.diffmerge.ui.diffuidata.UIComparison;
-
-import org.eclipse.emf.ecore.EAttribute;
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.EDataType;
-import org.eclipse.emf.ecore.EPackage;
-import org.eclipse.emf.ecore.EReference;
-import org.eclipse.emf.ecore.EcorePackage;
-
-import org.eclipse.emf.ecore.impl.EPackageImpl;
-
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.TreePath;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model <b>Package</b>.
- * <!-- end-user-doc -->
- * @generated
- */
-public class DiffuidataPackageImpl extends EPackageImpl implements DiffuidataPackage {
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- private EClass uiComparisonEClass = null;
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- private EClass comparisonSelectionEClass = null;
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- private EClass matchAndFeatureEClass = null;
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- private EClass matchToNbEntryEClass = null;
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- private EClass iStructuredSelectionEClass = null;
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- private EDataType treePathEDataType = null;
-
- /**
- * Creates an instance of the model <b>Package</b>, registered with
- * {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package
- * package URI value.
- * <p>Note: the correct way to create the package is via the static
- * factory method {@link #init init()}, which also performs
- * initialization of the package, or returns the registered package,
- * if one already exists.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see org.eclipse.emf.ecore.EPackage.Registry
- * @see org.eclipse.emf.diffmerge.ui.diffuidata.DiffuidataPackage#eNS_URI
- * @see #init()
- * @generated
- */
- private DiffuidataPackageImpl() {
- super(eNS_URI, DiffuidataFactory.eINSTANCE);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- private static boolean isInited = false;
-
- /**
- * Creates, registers, and initializes the <b>Package</b> for this model, and for any others upon which it depends.
- *
- * <p>This method is used to initialize {@link DiffuidataPackage#eINSTANCE} when that field is accessed.
- * Clients should not invoke it directly. Instead, they should simply access that field to obtain the package.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #eNS_URI
- * @see #createPackageContents()
- * @see #initializePackageContents()
- * @generated
- */
- public static DiffuidataPackage init() {
- if (isInited) return (DiffuidataPackage)EPackage.Registry.INSTANCE.getEPackage(DiffuidataPackage.eNS_URI);
-
- // Obtain or create and register package
- DiffuidataPackageImpl theDiffuidataPackage = (DiffuidataPackageImpl)(EPackage.Registry.INSTANCE.get(eNS_URI) instanceof DiffuidataPackageImpl ? EPackage.Registry.INSTANCE.get(eNS_URI) : new DiffuidataPackageImpl());
-
- isInited = true;
-
- // Initialize simple dependencies
- DiffdataPackage.eINSTANCE.eClass();
-
- // Create package meta-data objects
- theDiffuidataPackage.createPackageContents();
-
- // Initialize created meta-data
- theDiffuidataPackage.initializePackageContents();
-
- // Mark meta-data to indicate it can't be changed
- theDiffuidataPackage.freeze();
-
-
- // Update the registry and return the package
- EPackage.Registry.INSTANCE.put(DiffuidataPackage.eNS_URI, theDiffuidataPackage);
- return theDiffuidataPackage;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EClass getUIComparison() {
- return uiComparisonEClass;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EReference getUIComparison_ActualComparison() {
- return (EReference)uiComparisonEClass.getEStructuralFeatures().get(0);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EReference getUIComparison_DifferencesToIgnore() {
- return (EReference)uiComparisonEClass.getEStructuralFeatures().get(1);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EReference getUIComparison_LastActionSelection() {
- return (EReference)uiComparisonEClass.getEStructuralFeatures().get(2);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EClass getComparisonSelection() {
- return comparisonSelectionEClass;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EReference getComparisonSelection_SelectedMatches() {
- return (EReference)comparisonSelectionEClass.getEStructuralFeatures().get(0);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EReference getComparisonSelection_SelectedMatchAndFeature() {
- return (EReference)comparisonSelectionEClass.getEStructuralFeatures().get(1);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EReference getComparisonSelection_SelectedTreePath() {
- return (EReference)comparisonSelectionEClass.getEStructuralFeatures().get(2);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EReference getComparisonSelection_SelectedValuePresences() {
- return (EReference)comparisonSelectionEClass.getEStructuralFeatures().get(3);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EClass getMatchAndFeature() {
- return matchAndFeatureEClass;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EReference getMatchAndFeature_Match() {
- return (EReference)matchAndFeatureEClass.getEStructuralFeatures().get(0);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EReference getMatchAndFeature_Feature() {
- return (EReference)matchAndFeatureEClass.getEStructuralFeatures().get(1);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EClass getMatchToNbEntry() {
- return matchToNbEntryEClass;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EReference getMatchToNbEntry_Key() {
- return (EReference)matchToNbEntryEClass.getEStructuralFeatures().get(0);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EAttribute getMatchToNbEntry_Value() {
- return (EAttribute)matchToNbEntryEClass.getEStructuralFeatures().get(1);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EClass getIStructuredSelection() {
- return iStructuredSelectionEClass;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EDataType getTreePath() {
- return treePathEDataType;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public DiffuidataFactory getDiffuidataFactory() {
- return (DiffuidataFactory)getEFactoryInstance();
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- private boolean isCreated = false;
-
- /**
- * Creates the meta-model objects for the package. This method is
- * guarded to have no affect on any invocation but its first.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void createPackageContents() {
- if (isCreated) return;
- isCreated = true;
-
- // Create classes and their features
- uiComparisonEClass = createEClass(UI_COMPARISON);
- createEReference(uiComparisonEClass, UI_COMPARISON__ACTUAL_COMPARISON);
- createEReference(uiComparisonEClass, UI_COMPARISON__DIFFERENCES_TO_IGNORE);
- createEReference(uiComparisonEClass, UI_COMPARISON__LAST_ACTION_SELECTION);
-
- comparisonSelectionEClass = createEClass(COMPARISON_SELECTION);
- createEReference(comparisonSelectionEClass, COMPARISON_SELECTION__SELECTED_MATCHES);
- createEReference(comparisonSelectionEClass, COMPARISON_SELECTION__SELECTED_MATCH_AND_FEATURE);
- createEReference(comparisonSelectionEClass, COMPARISON_SELECTION__SELECTED_TREE_PATH);
- createEReference(comparisonSelectionEClass, COMPARISON_SELECTION__SELECTED_VALUE_PRESENCES);
-
- matchAndFeatureEClass = createEClass(MATCH_AND_FEATURE);
- createEReference(matchAndFeatureEClass, MATCH_AND_FEATURE__MATCH);
- createEReference(matchAndFeatureEClass, MATCH_AND_FEATURE__FEATURE);
-
- matchToNbEntryEClass = createEClass(MATCH_TO_NB_ENTRY);
- createEReference(matchToNbEntryEClass, MATCH_TO_NB_ENTRY__KEY);
- createEAttribute(matchToNbEntryEClass, MATCH_TO_NB_ENTRY__VALUE);
-
- iStructuredSelectionEClass = createEClass(ISTRUCTURED_SELECTION);
-
- // Create data types
- treePathEDataType = createEDataType(TREE_PATH);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- private boolean isInitialized = false;
-
- /**
- * Complete the initialization of the package and its meta-model. This
- * method is guarded to have no affect on any invocation but its first.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void initializePackageContents() {
- if (isInitialized) return;
- isInitialized = true;
-
- // Initialize package
- setName(eNAME);
- setNsPrefix(eNS_PREFIX);
- setNsURI(eNS_URI);
-
- // Obtain other dependent packages
- DiffdataPackage theDiffdataPackage = (DiffdataPackage)EPackage.Registry.INSTANCE.getEPackage(DiffdataPackage.eNS_URI);
- EcorePackage theEcorePackage = (EcorePackage)EPackage.Registry.INSTANCE.getEPackage(EcorePackage.eNS_URI);
-
- // Create type parameters
-
- // Set bounds for type parameters
-
- // Add supertypes to classes
- comparisonSelectionEClass.getESuperTypes().add(this.getIStructuredSelection());
-
- // Initialize classes and features; add operations and parameters
- initEClass(uiComparisonEClass, UIComparison.class, "UIComparison", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
- initEReference(getUIComparison_ActualComparison(), theDiffdataPackage.getEComparison(), null, "actualComparison", null, 1, 1, UIComparison.class, !IS_TRANSIENT, !IS_VOLATILE, !IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
- initEReference(getUIComparison_DifferencesToIgnore(), theDiffdataPackage.getEMergeableDifference(), null, "differencesToIgnore", null, 0, -1, UIComparison.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED); //$NON-NLS-1$
- initEReference(getUIComparison_LastActionSelection(), this.getComparisonSelection(), null, "lastActionSelection", null, 0, 1, UIComparison.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
-
- addEOperation(uiComparisonEClass, null, "dispose", 0, 1, IS_UNIQUE, IS_ORDERED); //$NON-NLS-1$
-
- initEClass(comparisonSelectionEClass, ComparisonSelection.class, "ComparisonSelection", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
- initEReference(getComparisonSelection_SelectedMatches(), theDiffdataPackage.getEMatch(), null, "selectedMatches", null, 0, -1, ComparisonSelection.class, !IS_TRANSIENT, !IS_VOLATILE, !IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
- initEReference(getComparisonSelection_SelectedMatchAndFeature(), this.getMatchAndFeature(), null, "selectedMatchAndFeature", null, 0, 1, ComparisonSelection.class, !IS_TRANSIENT, !IS_VOLATILE, !IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
- initEReference(getComparisonSelection_SelectedTreePath(), theDiffdataPackage.getEMatch(), null, "selectedTreePath", null, 0, -1, ComparisonSelection.class, !IS_TRANSIENT, !IS_VOLATILE, !IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
- initEReference(getComparisonSelection_SelectedValuePresences(), theDiffdataPackage.getEValuePresence(), null, "selectedValuePresences", null, 0, -1, ComparisonSelection.class, !IS_TRANSIENT, !IS_VOLATILE, !IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
-
- addEOperation(comparisonSelectionEClass, theDiffdataPackage.getEMergeableDifference(), "asDifferencesToMerge", 0, -1, IS_UNIQUE, IS_ORDERED); //$NON-NLS-1$
-
- addEOperation(comparisonSelectionEClass, theEcorePackage.getEStructuralFeature(), "asFeature", 0, 1, IS_UNIQUE, IS_ORDERED); //$NON-NLS-1$
-
- addEOperation(comparisonSelectionEClass, theDiffdataPackage.getEMatch(), "asMatch", 0, 1, IS_UNIQUE, IS_ORDERED); //$NON-NLS-1$
-
- addEOperation(comparisonSelectionEClass, theDiffdataPackage.getEMatch(), "asMatches", 0, -1, IS_UNIQUE, IS_ORDERED); //$NON-NLS-1$
-
- addEOperation(comparisonSelectionEClass, this.getTreePath(), "asMatchPath", 0, 1, IS_UNIQUE, IS_ORDERED); //$NON-NLS-1$
-
- addEOperation(comparisonSelectionEClass, theDiffdataPackage.getEValuePresence(), "asValuePresence", 0, 1, IS_UNIQUE, IS_ORDERED); //$NON-NLS-1$
-
- addEOperation(comparisonSelectionEClass, theDiffdataPackage.getEValuePresence(), "asValuePresences", 0, -1, IS_UNIQUE, IS_ORDERED); //$NON-NLS-1$
-
- addEOperation(comparisonSelectionEClass, null, "dispose", 0, 1, IS_UNIQUE, IS_ORDERED); //$NON-NLS-1$
-
- initEClass(matchAndFeatureEClass, MatchAndFeature.class, "MatchAndFeature", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
- initEReference(getMatchAndFeature_Match(), theDiffdataPackage.getEMatch(), null, "match", null, 1, 1, MatchAndFeature.class, !IS_TRANSIENT, !IS_VOLATILE, !IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
- initEReference(getMatchAndFeature_Feature(), theEcorePackage.getEStructuralFeature(), null, "feature", null, 1, 1, MatchAndFeature.class, !IS_TRANSIENT, !IS_VOLATILE, !IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
-
- initEClass(matchToNbEntryEClass, Map.Entry.class, "MatchToNbEntry", !IS_ABSTRACT, !IS_INTERFACE, !IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
- initEReference(getMatchToNbEntry_Key(), theDiffdataPackage.getEMatch(), null, "key", null, 1, 1, Map.Entry.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
- initEAttribute(getMatchToNbEntry_Value(), theEcorePackage.getEIntegerObject(), "value", null, 1, 1, Map.Entry.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$
-
- initEClass(iStructuredSelectionEClass, IStructuredSelection.class, "IStructuredSelection", IS_ABSTRACT, IS_INTERFACE, !IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
-
- // Initialize data types
- initEDataType(treePathEDataType, TreePath.class, "TreePath", IS_SERIALIZABLE, !IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
-
- // Create resource
- createResource(eNS_URI);
- }
-
-} //DiffuidataPackageImpl
+/**
+ * <copyright>
+ *
+ * Copyright (c) 2010-2017 Thales Global Services S.A.S.
+ * 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:
+ * Thales Global Services S.A.S. - initial API and implementation
+ *
+ * </copyright>
+ */
+package org.eclipse.emf.diffmerge.ui.diffuidata.impl;
+
+import java.util.Map;
+
+import org.eclipse.emf.diffmerge.diffdata.DiffdataPackage;
+
+import org.eclipse.emf.diffmerge.ui.diffuidata.ComparisonSelection;
+import org.eclipse.emf.diffmerge.ui.diffuidata.DiffuidataFactory;
+import org.eclipse.emf.diffmerge.ui.diffuidata.DiffuidataPackage;
+import org.eclipse.emf.diffmerge.ui.diffuidata.MatchAndFeature;
+import org.eclipse.emf.diffmerge.ui.diffuidata.UIComparison;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EDataType;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EReference;
+import org.eclipse.emf.ecore.EcorePackage;
+
+import org.eclipse.emf.ecore.impl.EPackageImpl;
+
+import org.eclipse.jface.viewers.IStructuredSelection;
+import org.eclipse.jface.viewers.TreePath;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Package</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class DiffuidataPackageImpl extends EPackageImpl implements DiffuidataPackage {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass uiComparisonEClass = null;
+
+