Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'deprecated/org.eclipse.papyrus.uml.compare')
-rw-r--r--deprecated/org.eclipse.papyrus.uml.compare/.classpath8
-rw-r--r--deprecated/org.eclipse.papyrus.uml.compare/.project28
-rw-r--r--deprecated/org.eclipse.papyrus.uml.compare/.settings/org.eclipse.jdt.core.prefs8
-rw-r--r--deprecated/org.eclipse.papyrus.uml.compare/META-INF/MANIFEST.MF28
-rw-r--r--deprecated/org.eclipse.papyrus.uml.compare/about.html28
-rw-r--r--deprecated/org.eclipse.papyrus.uml.compare/build.properties15
-rw-r--r--deprecated/org.eclipse.papyrus.uml.compare/icons/export_as_html.gifbin0 -> 561 bytes
-rw-r--r--deprecated/org.eclipse.papyrus.uml.compare/icons/show_all_properties.gifbin0 -> 318 bytes
-rw-r--r--deprecated/org.eclipse.papyrus.uml.compare/messages.properties26
-rw-r--r--deprecated/org.eclipse.papyrus.uml.compare/model/uml_diff_extension.ecore16
-rw-r--r--deprecated/org.eclipse.papyrus.uml.compare/model/uml_diff_extension.genmodel23
-rw-r--r--deprecated/org.eclipse.papyrus.uml.compare/plugin.properties11
-rw-r--r--deprecated/org.eclipse.papyrus.uml.compare/plugin.xml23
-rw-r--r--deprecated/org.eclipse.papyrus.uml.compare/src-gen/org/eclipse/papyrus/uml/compare/diff/metamodel/uml_diff_extension/AddStereotypeApplication.java28
-rw-r--r--deprecated/org.eclipse.papyrus.uml.compare/src-gen/org/eclipse/papyrus/uml/compare/diff/metamodel/uml_diff_extension/CompareTwoElementsDiffModel.java27
-rw-r--r--deprecated/org.eclipse.papyrus.uml.compare/src-gen/org/eclipse/papyrus/uml/compare/diff/metamodel/uml_diff_extension/RemoveStereotypeApplication.java28
-rw-r--r--deprecated/org.eclipse.papyrus.uml.compare/src-gen/org/eclipse/papyrus/uml/compare/diff/metamodel/uml_diff_extension/StereotypeChange.java26
-rw-r--r--deprecated/org.eclipse.papyrus.uml.compare/src-gen/org/eclipse/papyrus/uml/compare/diff/metamodel/uml_diff_extension/TaggedValueChange.java27
-rw-r--r--deprecated/org.eclipse.papyrus.uml.compare/src-gen/org/eclipse/papyrus/uml/compare/diff/metamodel/uml_diff_extension/TaggedValueChangeLeftTarget.java27
-rw-r--r--deprecated/org.eclipse.papyrus.uml.compare/src-gen/org/eclipse/papyrus/uml/compare/diff/metamodel/uml_diff_extension/TaggedValueChangeRightTarget.java27
-rw-r--r--deprecated/org.eclipse.papyrus.uml.compare/src-gen/org/eclipse/papyrus/uml/compare/diff/metamodel/uml_diff_extension/TaggedValueReferenceChange.java27
-rw-r--r--deprecated/org.eclipse.papyrus.uml.compare/src-gen/org/eclipse/papyrus/uml/compare/diff/metamodel/uml_diff_extension/UMLDiffExtension.java27
-rw-r--r--deprecated/org.eclipse.papyrus.uml.compare/src-gen/org/eclipse/papyrus/uml/compare/diff/metamodel/uml_diff_extension/UMLDiffFactory.java105
-rw-r--r--deprecated/org.eclipse.papyrus.uml.compare/src-gen/org/eclipse/papyrus/uml/compare/diff/metamodel/uml_diff_extension/UMLDiffPackage.java1204
-rw-r--r--deprecated/org.eclipse.papyrus.uml.compare/src-gen/org/eclipse/papyrus/uml/compare/diff/metamodel/uml_diff_extension/UpdateTaggedValue.java27
-rw-r--r--deprecated/org.eclipse.papyrus.uml.compare/src-gen/org/eclipse/papyrus/uml/compare/diff/metamodel/uml_diff_extension/impl/AddStereotypeApplicationImpl.java534
-rw-r--r--deprecated/org.eclipse.papyrus.uml.compare/src-gen/org/eclipse/papyrus/uml/compare/diff/metamodel/uml_diff_extension/impl/CompareTwoElementsDiffModelImpl.java333
-rw-r--r--deprecated/org.eclipse.papyrus.uml.compare/src-gen/org/eclipse/papyrus/uml/compare/diff/metamodel/uml_diff_extension/impl/RemoveStereotypeApplicationImpl.java534
-rw-r--r--deprecated/org.eclipse.papyrus.uml.compare/src-gen/org/eclipse/papyrus/uml/compare/diff/metamodel/uml_diff_extension/impl/StereotypeChangeImpl.java48
-rw-r--r--deprecated/org.eclipse.papyrus.uml.compare/src-gen/org/eclipse/papyrus/uml/compare/diff/metamodel/uml_diff_extension/impl/TaggedValueChangeImpl.java599
-rw-r--r--deprecated/org.eclipse.papyrus.uml.compare/src-gen/org/eclipse/papyrus/uml/compare/diff/metamodel/uml_diff_extension/impl/TaggedValueChangeLeftTargetImpl.java235
-rw-r--r--deprecated/org.eclipse.papyrus.uml.compare/src-gen/org/eclipse/papyrus/uml/compare/diff/metamodel/uml_diff_extension/impl/TaggedValueChangeRightTargetImpl.java231
-rw-r--r--deprecated/org.eclipse.papyrus.uml.compare/src-gen/org/eclipse/papyrus/uml/compare/diff/metamodel/uml_diff_extension/impl/TaggedValueReferenceChangeImpl.java600
-rw-r--r--deprecated/org.eclipse.papyrus.uml.compare/src-gen/org/eclipse/papyrus/uml/compare/diff/metamodel/uml_diff_extension/impl/UMLDiffExtensionImpl.java93
-rw-r--r--deprecated/org.eclipse.papyrus.uml.compare/src-gen/org/eclipse/papyrus/uml/compare/diff/metamodel/uml_diff_extension/impl/UMLDiffFactoryImpl.java170
-rw-r--r--deprecated/org.eclipse.papyrus.uml.compare/src-gen/org/eclipse/papyrus/uml/compare/diff/metamodel/uml_diff_extension/impl/UMLDiffPackageImpl.java389
-rw-r--r--deprecated/org.eclipse.papyrus.uml.compare/src-gen/org/eclipse/papyrus/uml/compare/diff/metamodel/uml_diff_extension/impl/UpdateTaggedValueImpl.java83
-rw-r--r--deprecated/org.eclipse.papyrus.uml.compare/src-gen/org/eclipse/papyrus/uml/compare/diff/metamodel/uml_diff_extension/util/UMLDiffAdapterFactory.java501
-rw-r--r--deprecated/org.eclipse.papyrus.uml.compare/src-gen/org/eclipse/papyrus/uml/compare/diff/metamodel/uml_diff_extension/util/UMLDiffSwitch.java545
-rw-r--r--deprecated/org.eclipse.papyrus.uml.compare/src/org/eclipse/papyrus/uml/compare/Activator.java131
-rw-r--r--deprecated/org.eclipse.papyrus.uml.compare/src/org/eclipse/papyrus/uml/compare/Messages.java101
-rw-r--r--deprecated/org.eclipse.papyrus.uml.compare/src/org/eclipse/papyrus/uml/compare/StyledMessageFormat.java57
-rw-r--r--deprecated/org.eclipse.papyrus.uml.compare/src/org/eclipse/papyrus/uml/compare/UMLCompareUtils.java35
-rw-r--r--deprecated/org.eclipse.papyrus.uml.compare/src/org/eclipse/papyrus/uml/compare/diff/ModelElementSwitch.java79
-rw-r--r--deprecated/org.eclipse.papyrus.uml.compare/src/org/eclipse/papyrus/uml/compare/diff/PapyrusDiffEngine.java210
-rw-r--r--deprecated/org.eclipse.papyrus.uml.compare/src/org/eclipse/papyrus/uml/compare/diff/UMLReferenceCheck.java195
-rw-r--r--deprecated/org.eclipse.papyrus.uml.compare/src/org/eclipse/papyrus/uml/compare/diff/extension/DiffElementExtensionBuilder.java154
-rw-r--r--deprecated/org.eclipse.papyrus.uml.compare/src/org/eclipse/papyrus/uml/compare/diff/extension/StyledDiffLabelSwitch.java316
-rw-r--r--deprecated/org.eclipse.papyrus.uml.compare/src/org/eclipse/papyrus/uml/compare/diff/extension/UMLStyledStructureLabelProvider.java99
-rw-r--r--deprecated/org.eclipse.papyrus.uml.compare/src/org/eclipse/papyrus/uml/compare/element/ElementContentDiffEngine.java101
-rw-r--r--deprecated/org.eclipse.papyrus.uml.compare/src/org/eclipse/papyrus/uml/compare/element/ElementContentMatchEngine.java110
-rw-r--r--deprecated/org.eclipse.papyrus.uml.compare/src/org/eclipse/papyrus/uml/compare/match/PapyrusMatchEngine.java69
-rw-r--r--deprecated/org.eclipse.papyrus.uml.compare/src/org/eclipse/papyrus/uml/compare/match/PapyrusMatchScopeProvider.java89
-rw-r--r--deprecated/org.eclipse.papyrus.uml.compare/src/org/eclipse/papyrus/uml/compare/ui/PapyrusLabelProvider.java160
54 files changed, 8595 insertions, 0 deletions
diff --git a/deprecated/org.eclipse.papyrus.uml.compare/.classpath b/deprecated/org.eclipse.papyrus.uml.compare/.classpath
new file mode 100644
index 00000000000..ea6aae6dedb
--- /dev/null
+++ b/deprecated/org.eclipse.papyrus.uml.compare/.classpath
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry kind="src" path="src-gen"/>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/>
+ <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+ <classpathentry kind="src" path="src"/>
+ <classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/deprecated/org.eclipse.papyrus.uml.compare/.project b/deprecated/org.eclipse.papyrus.uml.compare/.project
new file mode 100644
index 00000000000..ef210cd5556
--- /dev/null
+++ b/deprecated/org.eclipse.papyrus.uml.compare/.project
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.eclipse.papyrus.uml.compare</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.ManifestBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.SchemaBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.pde.PluginNature</nature>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ </natures>
+</projectDescription>
diff --git a/deprecated/org.eclipse.papyrus.uml.compare/.settings/org.eclipse.jdt.core.prefs b/deprecated/org.eclipse.papyrus.uml.compare/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 00000000000..c946cea2d9d
--- /dev/null
+++ b/deprecated/org.eclipse.papyrus.uml.compare/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,8 @@
+#Wed Aug 25 10:47:33 CEST 2010
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
+org.eclipse.jdt.core.compiler.compliance=1.5
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.source=1.5
diff --git a/deprecated/org.eclipse.papyrus.uml.compare/META-INF/MANIFEST.MF b/deprecated/org.eclipse.papyrus.uml.compare/META-INF/MANIFEST.MF
new file mode 100644
index 00000000000..43839f5cded
--- /dev/null
+++ b/deprecated/org.eclipse.papyrus.uml.compare/META-INF/MANIFEST.MF
@@ -0,0 +1,28 @@
+Manifest-Version: 1.0
+Export-Package: org.eclipse.papyrus.uml.compare,
+ org.eclipse.papyrus.uml.compare.diff,
+ org.eclipse.papyrus.uml.compare.diff.extension,
+ org.eclipse.papyrus.uml.compare.diff.metamodel.uml_diff_extension,
+ org.eclipse.papyrus.uml.compare.diff.metamodel.uml_diff_extension.util,
+ org.eclipse.papyrus.uml.compare.element,
+ org.eclipse.papyrus.uml.compare.match,
+ org.eclipse.papyrus.uml.compare.ui
+Require-Bundle: org.eclipse.emf.compare;bundle-version="1.1.0",
+ org.eclipse.emf.compare.match;bundle-version="1.1.0",
+ org.eclipse.emf.compare.diff,
+ org.eclipse.emf.compare.ui,
+ org.eclipse.uml2.uml.edit;bundle-version="3.1.100",
+ org.eclipse.emf.facet.infra.browser.uicore;bundle-version="0.1.0",
+ org.eclipse.emf.facet.infra.browser.custom;bundle-version="0.1.0",
+ org.eclipse.emf.facet.infra.browser.custom.core;bundle-version="0.1.0",
+ org.eclipse.papyrus.views.modelexplorer;bundle-version="0.9.0",
+ org.eclipse.core.runtime;bundle-version="3.7.0"
+Bundle-Vendor: %Bundle-Vendor
+Bundle-ActivationPolicy: lazy
+Bundle-Version: 0.9.0.qualifier
+Bundle-Name: %Bundle-Name
+Bundle-Activator: org.eclipse.papyrus.uml.compare.Activator
+Bundle-ManifestVersion: 2
+Bundle-SymbolicName: org.eclipse.papyrus.uml.compare;singleton:=true
+Bundle-RequiredExecutionEnvironment: J2SE-1.5
+
diff --git a/deprecated/org.eclipse.papyrus.uml.compare/about.html b/deprecated/org.eclipse.papyrus.uml.compare/about.html
new file mode 100644
index 00000000000..82d49bf5f81
--- /dev/null
+++ b/deprecated/org.eclipse.papyrus.uml.compare/about.html
@@ -0,0 +1,28 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
+<title>About</title>
+</head>
+<body lang="EN-US">
+<h2>About This Content</h2>
+
+<p>June 5, 2007</p>
+<h3>License</h3>
+
+<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;). Unless otherwise
+indicated below, the Content is provided to you under the terms and conditions of the
+Eclipse Public License Version 1.0 (&quot;EPL&quot;). A copy of the EPL is available
+at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
+For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
+
+<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is
+being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
+apply to your use of any object code in the Content. Check the Redistributor's license that was
+provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise
+indicated below, the terms and conditions of the EPL still apply to any source code in the Content
+and such source code may be obtained at <a href="http://www.eclipse.org/">http://www.eclipse.org</a>.</p>
+
+</body>
+</html>
diff --git a/deprecated/org.eclipse.papyrus.uml.compare/build.properties b/deprecated/org.eclipse.papyrus.uml.compare/build.properties
new file mode 100644
index 00000000000..41a9383489b
--- /dev/null
+++ b/deprecated/org.eclipse.papyrus.uml.compare/build.properties
@@ -0,0 +1,15 @@
+#
+#Mon Sep 12 09:29:35 CEST 2011
+bin.includes = META-INF/,\
+ .,\
+ plugin.xml,\
+ icons/,\
+ model/,\
+ messages.properties,\
+ about.html,\
+ plugin.properties,\
+ OSGI-INF/l10n/bundle.properties
+output..=bin/
+src.includes=META-INF/,.,plugin.xml,icons/,model/,messages.properties,about.html,plugin.properties
+source..=src/,src-gen/
+bin..=bin/
diff --git a/deprecated/org.eclipse.papyrus.uml.compare/icons/export_as_html.gif b/deprecated/org.eclipse.papyrus.uml.compare/icons/export_as_html.gif
new file mode 100644
index 00000000000..8a31f458379
--- /dev/null
+++ b/deprecated/org.eclipse.papyrus.uml.compare/icons/export_as_html.gif
Binary files differ
diff --git a/deprecated/org.eclipse.papyrus.uml.compare/icons/show_all_properties.gif b/deprecated/org.eclipse.papyrus.uml.compare/icons/show_all_properties.gif
new file mode 100644
index 00000000000..252d7ebcb8c
--- /dev/null
+++ b/deprecated/org.eclipse.papyrus.uml.compare/icons/show_all_properties.gif
Binary files differ
diff --git a/deprecated/org.eclipse.papyrus.uml.compare/messages.properties b/deprecated/org.eclipse.papyrus.uml.compare/messages.properties
new file mode 100644
index 00000000000..a89f818e6cf
--- /dev/null
+++ b/deprecated/org.eclipse.papyrus.uml.compare/messages.properties
@@ -0,0 +1,26 @@
+Activator_log_error_message=Unexpected error:
+StyledDiffLabelSwitch_add_stereotype_application_text=Stereotype {0} has been added
+StyledDiffLabelSwitch_attribute_change_left_target_remote_text={0} has been remotely removed from attribute {1} in {2}
+StyledDiffLabelSwitch_attribute_change_left_target_text=The value {0} has been added to the attribute {1} in {2}
+StyledDiffLabelSwitch_attribute_change_right_target_remote_text={0} has been remotely added to attribute {1} in {2}
+StyledDiffLabelSwitch_attribute_change_right_target_text=The value {0} has been removed from the attribute {1} in {2}
+StyledDiffLabelSwitch_attribute_change_text=Attribute Change {0}
+StyledDiffLabelSwitch_diff_group_text={0} change(s) in {1}
+StyledDiffLabelSwitch_null_value_text=null
+StyledDiffLabelSwitch_reference_chnage_text=Reference Change {0}
+StyledDiffLabelSwitch_remove_stereotype_application_text=Stereotype {0} has been removed
+StyledDiffLabelSwitch_root_text=model
+StyledDiffLabelSwitch_tagged_value_changed_remote_text=Tagged value {0} : remote = {1}, local = {2}
+StyledDiffLabelSwitch_tagged_value_changed_text=Tagged value {0} : {1} -> {2}
+StyledDiffLabelSwitch_tagged_value_left_target_remote_text=Tagged value {0} has been remotely removed: {1}
+StyledDiffLabelSwitch_tagged_value_left_target_text=Tagged value {0} has been added: {1}
+StyledDiffLabelSwitch_tagged_value_reference_remote_text=Tagged value {0} : remote = {1}, local = {2}
+StyledDiffLabelSwitch_tagged_value_reference_text=Tagged value {0} : {1} -> {2}
+StyledDiffLabelSwitch_tagged_value_right_target_remote_text=Tagged value {0} has been remotely added: {1}
+StyledDiffLabelSwitch_tagged_value_right_target_text=Tagged value {0} has been removed: {1}
+StyledDiffLabelSwitch_two_elements_model_text={0} change(s) between elements {1} and {2}
+StyledDiffLabelSwitch_update_attribute_conflicting_text=Attribute {0} : remote = {1}, local = {2}
+StyledDiffLabelSwitch_update_attribute_remote_text=Attribute {0} in {1} has been remotely changed from {2} to {3}
+StyledDiffLabelSwitch_update_attribute_text=Attribute {0} in {1} has changed from {2} to {3}
+StyledDiffLabelSwitch_update_tagged_value_remote_text=Tagged value {0} : remote = {1}, local = {2}
+StyledDiffLabelSwitch_update_tagged_value_text=Tagged value {0}: {1} -> {2}
diff --git a/deprecated/org.eclipse.papyrus.uml.compare/model/uml_diff_extension.ecore b/deprecated/org.eclipse.papyrus.uml.compare/model/uml_diff_extension.ecore
new file mode 100644
index 00000000000..e003a1766bd
--- /dev/null
+++ b/deprecated/org.eclipse.papyrus.uml.compare/model/uml_diff_extension.ecore
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<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="uml_diff_extension"
+ nsURI="http://www.eclipse.org/uml/compare/diff_ext/1.0" nsPrefix="uml_diff_extension">
+ <eClassifiers xsi:type="ecore:EClass" name="UMLDiffExtension" abstract="true" eSuperTypes="platform:/plugin/org.eclipse.emf.compare.diff/model/diff.ecore#//AbstractDiffExtension"/>
+ <eClassifiers xsi:type="ecore:EClass" name="StereotypeChange" abstract="true" eSuperTypes="#//UMLDiffExtension"/>
+ <eClassifiers xsi:type="ecore:EClass" name="TaggedValueChange" abstract="true" eSuperTypes="#//UMLDiffExtension platform:/plugin/org.eclipse.emf.compare.diff/model/diff.ecore#//AttributeChange"/>
+ <eClassifiers xsi:type="ecore:EClass" name="TaggedValueChangeLeftTarget" eSuperTypes="#//TaggedValueChange platform:/plugin/org.eclipse.emf.compare.diff/model/diff.ecore#//AttributeChangeLeftTarget"/>
+ <eClassifiers xsi:type="ecore:EClass" name="TaggedValueChangeRightTarget" eSuperTypes="#//TaggedValueChange platform:/plugin/org.eclipse.emf.compare.diff/model/diff.ecore#//AttributeChangeRightTarget"/>
+ <eClassifiers xsi:type="ecore:EClass" name="UpdateTaggedValue" eSuperTypes="#//TaggedValueChange platform:/plugin/org.eclipse.emf.compare.diff/model/diff.ecore#//UpdateAttribute"/>
+ <eClassifiers xsi:type="ecore:EClass" name="TaggedValueReferenceChange" eSuperTypes="#//UMLDiffExtension platform:/plugin/org.eclipse.emf.compare.diff/model/diff.ecore#//ReferenceChange"/>
+ <eClassifiers xsi:type="ecore:EClass" name="AddStereotypeApplication" eSuperTypes="#//StereotypeChange platform:/plugin/org.eclipse.emf.compare.diff/model/diff.ecore#//ModelElementChangeRightTarget"/>
+ <eClassifiers xsi:type="ecore:EClass" name="RemoveStereotypeApplication" eSuperTypes="#//StereotypeChange platform:/plugin/org.eclipse.emf.compare.diff/model/diff.ecore#//ModelElementChangeLeftTarget"/>
+ <eClassifiers xsi:type="ecore:EClass" name="CompareTwoElementsDiffModel" eSuperTypes="#//UMLDiffExtension platform:/plugin/org.eclipse.emf.compare.diff/model/diff.ecore#//DiffModel"/>
+</ecore:EPackage>
diff --git a/deprecated/org.eclipse.papyrus.uml.compare/model/uml_diff_extension.genmodel b/deprecated/org.eclipse.papyrus.uml.compare/model/uml_diff_extension.genmodel
new file mode 100644
index 00000000000..300ae9f75b4
--- /dev/null
+++ b/deprecated/org.eclipse.papyrus.uml.compare/model/uml_diff_extension.genmodel
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<genmodel:GenModel xmi:version="2.0"
+ xmlns:xmi="http://www.omg.org/XMI" xmlns:genmodel="http://www.eclipse.org/emf/2002/GenModel" copyrightText="&#xA; Copyright (c) 2010 CEA LIST.&#xA; All rights reserved. This program and the accompanying materials&#xA; are made available under the terms of the Eclipse Public License v1.0&#xA; which accompanies this distribution, and is available at&#xA; http://www.eclipse.org/legal/epl-v10.html&#xA; &#xA; Contributors:&#xA; Tatiana Fesenko(CEA LIST) - initial API and implementation"
+ modelDirectory="/org.eclipse.papyrus.uml.compare/src-gen" editDirectory="/org.eclipse.papyrus.uml.compare/src-gen"
+ editorDirectory="/org.eclipse.papyrus.uml.compare.editor/src-gen" modelPluginID="org.eclipse.papyrus.uml.compare"
+ modelName="Uml_diff_extension" editPluginClass="org.eclipse.papyrus.uml.compare.metamodel.uml_diff_extension.provider.Uml_diff_extensionEditPlugin"
+ importerID="org.eclipse.emf.importer.ecore" complianceLevel="5.0" copyrightFields="false"
+ usedGenPackages="platform:/plugin/org.eclipse.emf.compare.diff/model/diff.genmodel#//diff platform:/plugin/org.eclipse.emf.ecore/model/Ecore.genmodel#//ecore platform:/plugin/org.eclipse.emf.compare.match/model/match.genmodel#//match">
+ <foreignModel>uml_diff_extension.ecore</foreignModel>
+ <genPackages prefix="UMLDiff" basePackage="org.eclipse.papyrus.uml.compare.diff.metamodel"
+ disposableProviderFactory="true" ecorePackage="uml_diff_extension.ecore#/">
+ <genClasses image="false" ecoreClass="uml_diff_extension.ecore#//UMLDiffExtension"/>
+ <genClasses ecoreClass="uml_diff_extension.ecore#//StereotypeChange"/>
+ <genClasses image="false" ecoreClass="uml_diff_extension.ecore#//TaggedValueChange"/>
+ <genClasses ecoreClass="uml_diff_extension.ecore#//TaggedValueChangeLeftTarget"/>
+ <genClasses ecoreClass="uml_diff_extension.ecore#//TaggedValueChangeRightTarget"/>
+ <genClasses ecoreClass="uml_diff_extension.ecore#//UpdateTaggedValue"/>
+ <genClasses ecoreClass="uml_diff_extension.ecore#//AddStereotypeApplication"/>
+ <genClasses ecoreClass="uml_diff_extension.ecore#//RemoveStereotypeApplication"/>
+ <genClasses ecoreClass="uml_diff_extension.ecore#//TaggedValueReferenceChange"/>
+ <genClasses ecoreClass="uml_diff_extension.ecore#//CompareTwoElementsDiffModel"/>
+ </genPackages>
+</genmodel:GenModel>
diff --git a/deprecated/org.eclipse.papyrus.uml.compare/plugin.properties b/deprecated/org.eclipse.papyrus.uml.compare/plugin.properties
new file mode 100644
index 00000000000..ab1c59a5303
--- /dev/null
+++ b/deprecated/org.eclipse.papyrus.uml.compare/plugin.properties
@@ -0,0 +1,11 @@
+#
+# Copyright (c) 2010 CEA LIST.
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License v1.0
+# which accompanies this distribution, and is available at
+# http://www.eclipse.org/legal/epl-v10.html
+#
+# Contributors:
+# Tatiana Fesenko(CEA LIST) - initial API and implementation
+Bundle-Vendor = Eclipse Modeling Project
+Bundle-Name = Compare
diff --git a/deprecated/org.eclipse.papyrus.uml.compare/plugin.xml b/deprecated/org.eclipse.papyrus.uml.compare/plugin.xml
new file mode 100644
index 00000000000..4902bd49155
--- /dev/null
+++ b/deprecated/org.eclipse.papyrus.uml.compare/plugin.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.0"?>
+<plugin>
+
+ <extension
+ point="org.eclipse.emf.compare.match.engine">
+ <matchengine
+ engineClass="org.eclipse.papyrus.uml.compare.match.PapyrusMatchEngine"
+ fileExtension="uml"
+ label="Papyrus Matching Engine"
+ priority="highest"/>
+ </extension>
+
+ <extension
+ point="org.eclipse.emf.compare.diff.engine">
+ <diffengine
+ engineClass="org.eclipse.papyrus.uml.compare.diff.PapyrusDiffEngine"
+ priority="highest"
+ icon="icons/DiffEngine.gif"
+ label="Papyrus Differencing Engine"/>
+ </extension>
+
+</plugin>
diff --git a/deprecated/org.eclipse.papyrus.uml.compare/src-gen/org/eclipse/papyrus/uml/compare/diff/metamodel/uml_diff_extension/AddStereotypeApplication.java b/deprecated/org.eclipse.papyrus.uml.compare/src-gen/org/eclipse/papyrus/uml/compare/diff/metamodel/uml_diff_extension/AddStereotypeApplication.java
new file mode 100644
index 00000000000..d1e1f451210
--- /dev/null
+++ b/deprecated/org.eclipse.papyrus.uml.compare/src-gen/org/eclipse/papyrus/uml/compare/diff/metamodel/uml_diff_extension/AddStereotypeApplication.java
@@ -0,0 +1,28 @@
+/**
+ *
+ * Copyright (c) 2010 CEA LIST.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Tatiana Fesenko(CEA LIST) - initial API and implementation
+ */
+package org.eclipse.papyrus.uml.compare.diff.metamodel.uml_diff_extension;
+
+import org.eclipse.emf.compare.diff.metamodel.ModelElementChangeRightTarget;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Add Stereotype Application</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.papyrus.uml.compare.diff.metamodel.uml_diff_extension.UMLDiffPackage#getAddStereotypeApplication()
+ * @model
+ * @generated
+ */
+public interface AddStereotypeApplication extends StereotypeChange, ModelElementChangeRightTarget {
+} // AddStereotypeApplication
diff --git a/deprecated/org.eclipse.papyrus.uml.compare/src-gen/org/eclipse/papyrus/uml/compare/diff/metamodel/uml_diff_extension/CompareTwoElementsDiffModel.java b/deprecated/org.eclipse.papyrus.uml.compare/src-gen/org/eclipse/papyrus/uml/compare/diff/metamodel/uml_diff_extension/CompareTwoElementsDiffModel.java
new file mode 100644
index 00000000000..0147af10106
--- /dev/null
+++ b/deprecated/org.eclipse.papyrus.uml.compare/src-gen/org/eclipse/papyrus/uml/compare/diff/metamodel/uml_diff_extension/CompareTwoElementsDiffModel.java
@@ -0,0 +1,27 @@
+/**
+ *
+ * Copyright (c) 2010 CEA LIST.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Tatiana Fesenko(CEA LIST) - initial API and implementation
+ */
+package org.eclipse.papyrus.uml.compare.diff.metamodel.uml_diff_extension;
+
+import org.eclipse.emf.compare.diff.metamodel.DiffModel;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Compare Two Elements Diff Model</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.papyrus.uml.compare.diff.metamodel.uml_diff_extension.UMLDiffPackage#getCompareTwoElementsDiffModel()
+ * @model
+ * @generated
+ */
+public interface CompareTwoElementsDiffModel extends UMLDiffExtension, DiffModel {
+} // CompareTwoElementsDiffModel
diff --git a/deprecated/org.eclipse.papyrus.uml.compare/src-gen/org/eclipse/papyrus/uml/compare/diff/metamodel/uml_diff_extension/RemoveStereotypeApplication.java b/deprecated/org.eclipse.papyrus.uml.compare/src-gen/org/eclipse/papyrus/uml/compare/diff/metamodel/uml_diff_extension/RemoveStereotypeApplication.java
new file mode 100644
index 00000000000..49468165c0c
--- /dev/null
+++ b/deprecated/org.eclipse.papyrus.uml.compare/src-gen/org/eclipse/papyrus/uml/compare/diff/metamodel/uml_diff_extension/RemoveStereotypeApplication.java
@@ -0,0 +1,28 @@
+/**
+ *
+ * Copyright (c) 2010 CEA LIST.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Tatiana Fesenko(CEA LIST) - initial API and implementation
+ */
+package org.eclipse.papyrus.uml.compare.diff.metamodel.uml_diff_extension;
+
+import org.eclipse.emf.compare.diff.metamodel.ModelElementChangeLeftTarget;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Remove Stereotype Application</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.papyrus.uml.compare.diff.metamodel.uml_diff_extension.UMLDiffPackage#getRemoveStereotypeApplication()
+ * @model
+ * @generated
+ */
+public interface RemoveStereotypeApplication extends StereotypeChange, ModelElementChangeLeftTarget {
+} // RemoveStereotypeApplication
diff --git a/deprecated/org.eclipse.papyrus.uml.compare/src-gen/org/eclipse/papyrus/uml/compare/diff/metamodel/uml_diff_extension/StereotypeChange.java b/deprecated/org.eclipse.papyrus.uml.compare/src-gen/org/eclipse/papyrus/uml/compare/diff/metamodel/uml_diff_extension/StereotypeChange.java
new file mode 100644
index 00000000000..44978f5cf5b
--- /dev/null
+++ b/deprecated/org.eclipse.papyrus.uml.compare/src-gen/org/eclipse/papyrus/uml/compare/diff/metamodel/uml_diff_extension/StereotypeChange.java
@@ -0,0 +1,26 @@
+/**
+ *
+ * Copyright (c) 2010 CEA LIST.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Tatiana Fesenko(CEA LIST) - initial API and implementation
+ */
+package org.eclipse.papyrus.uml.compare.diff.metamodel.uml_diff_extension;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Stereotype Change</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.papyrus.uml.compare.diff.metamodel.uml_diff_extension.UMLDiffPackage#getStereotypeChange()
+ * @model abstract="true"
+ * @generated
+ */
+public interface StereotypeChange extends UMLDiffExtension {
+} // StereotypeChange
diff --git a/deprecated/org.eclipse.papyrus.uml.compare/src-gen/org/eclipse/papyrus/uml/compare/diff/metamodel/uml_diff_extension/TaggedValueChange.java b/deprecated/org.eclipse.papyrus.uml.compare/src-gen/org/eclipse/papyrus/uml/compare/diff/metamodel/uml_diff_extension/TaggedValueChange.java
new file mode 100644
index 00000000000..c4d382e5470
--- /dev/null
+++ b/deprecated/org.eclipse.papyrus.uml.compare/src-gen/org/eclipse/papyrus/uml/compare/diff/metamodel/uml_diff_extension/TaggedValueChange.java
@@ -0,0 +1,27 @@
+/**
+ *
+ * Copyright (c) 2010 CEA LIST.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Tatiana Fesenko(CEA LIST) - initial API and implementation
+ */
+package org.eclipse.papyrus.uml.compare.diff.metamodel.uml_diff_extension;
+
+import org.eclipse.emf.compare.diff.metamodel.AttributeChange;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Tagged Value Change</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.papyrus.uml.compare.diff.metamodel.uml_diff_extension.UMLDiffPackage#getTaggedValueChange()
+ * @model abstract="true"
+ * @generated
+ */
+public interface TaggedValueChange extends UMLDiffExtension, AttributeChange {
+} // TaggedValueChange
diff --git a/deprecated/org.eclipse.papyrus.uml.compare/src-gen/org/eclipse/papyrus/uml/compare/diff/metamodel/uml_diff_extension/TaggedValueChangeLeftTarget.java b/deprecated/org.eclipse.papyrus.uml.compare/src-gen/org/eclipse/papyrus/uml/compare/diff/metamodel/uml_diff_extension/TaggedValueChangeLeftTarget.java
new file mode 100644
index 00000000000..162f195620c
--- /dev/null
+++ b/deprecated/org.eclipse.papyrus.uml.compare/src-gen/org/eclipse/papyrus/uml/compare/diff/metamodel/uml_diff_extension/TaggedValueChangeLeftTarget.java
@@ -0,0 +1,27 @@
+/**
+ *
+ * Copyright (c) 2010 CEA LIST.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Tatiana Fesenko(CEA LIST) - initial API and implementation
+ */
+package org.eclipse.papyrus.uml.compare.diff.metamodel.uml_diff_extension;
+
+import org.eclipse.emf.compare.diff.metamodel.AttributeChangeLeftTarget;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Tagged Value Change Left Target</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.papyrus.uml.compare.diff.metamodel.uml_diff_extension.UMLDiffPackage#getTaggedValueChangeLeftTarget()
+ * @model
+ * @generated
+ */
+public interface TaggedValueChangeLeftTarget extends TaggedValueChange, AttributeChangeLeftTarget {
+} // TaggedValueChangeLeftTarget
diff --git a/deprecated/org.eclipse.papyrus.uml.compare/src-gen/org/eclipse/papyrus/uml/compare/diff/metamodel/uml_diff_extension/TaggedValueChangeRightTarget.java b/deprecated/org.eclipse.papyrus.uml.compare/src-gen/org/eclipse/papyrus/uml/compare/diff/metamodel/uml_diff_extension/TaggedValueChangeRightTarget.java
new file mode 100644
index 00000000000..e62293859c0
--- /dev/null
+++ b/deprecated/org.eclipse.papyrus.uml.compare/src-gen/org/eclipse/papyrus/uml/compare/diff/metamodel/uml_diff_extension/TaggedValueChangeRightTarget.java
@@ -0,0 +1,27 @@
+/**
+ *
+ * Copyright (c) 2010 CEA LIST.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Tatiana Fesenko(CEA LIST) - initial API and implementation
+ */
+package org.eclipse.papyrus.uml.compare.diff.metamodel.uml_diff_extension;
+
+import org.eclipse.emf.compare.diff.metamodel.AttributeChangeRightTarget;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Tagged Value Change Right Target</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.papyrus.uml.compare.diff.metamodel.uml_diff_extension.UMLDiffPackage#getTaggedValueChangeRightTarget()
+ * @model
+ * @generated
+ */
+public interface TaggedValueChangeRightTarget extends TaggedValueChange, AttributeChangeRightTarget {
+} // TaggedValueChangeRightTarget
diff --git a/deprecated/org.eclipse.papyrus.uml.compare/src-gen/org/eclipse/papyrus/uml/compare/diff/metamodel/uml_diff_extension/TaggedValueReferenceChange.java b/deprecated/org.eclipse.papyrus.uml.compare/src-gen/org/eclipse/papyrus/uml/compare/diff/metamodel/uml_diff_extension/TaggedValueReferenceChange.java
new file mode 100644
index 00000000000..6b02a089af0
--- /dev/null
+++ b/deprecated/org.eclipse.papyrus.uml.compare/src-gen/org/eclipse/papyrus/uml/compare/diff/metamodel/uml_diff_extension/TaggedValueReferenceChange.java
@@ -0,0 +1,27 @@
+/**
+ *
+ * Copyright (c) 2010 CEA LIST.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Tatiana Fesenko(CEA LIST) - initial API and implementation
+ */
+package org.eclipse.papyrus.uml.compare.diff.metamodel.uml_diff_extension;
+
+import org.eclipse.emf.compare.diff.metamodel.ReferenceChange;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Tagged Value Reference Change</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.papyrus.uml.compare.diff.metamodel.uml_diff_extension.UMLDiffPackage#getTaggedValueReferenceChange()
+ * @model
+ * @generated
+ */
+public interface TaggedValueReferenceChange extends UMLDiffExtension, ReferenceChange {
+} // TaggedValueReferenceChange
diff --git a/deprecated/org.eclipse.papyrus.uml.compare/src-gen/org/eclipse/papyrus/uml/compare/diff/metamodel/uml_diff_extension/UMLDiffExtension.java b/deprecated/org.eclipse.papyrus.uml.compare/src-gen/org/eclipse/papyrus/uml/compare/diff/metamodel/uml_diff_extension/UMLDiffExtension.java
new file mode 100644
index 00000000000..e06a4f43527
--- /dev/null
+++ b/deprecated/org.eclipse.papyrus.uml.compare/src-gen/org/eclipse/papyrus/uml/compare/diff/metamodel/uml_diff_extension/UMLDiffExtension.java
@@ -0,0 +1,27 @@
+/**
+ *
+ * Copyright (c) 2010 CEA LIST.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Tatiana Fesenko(CEA LIST) - initial API and implementation
+ */
+package org.eclipse.papyrus.uml.compare.diff.metamodel.uml_diff_extension;
+
+import org.eclipse.emf.compare.diff.metamodel.AbstractDiffExtension;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Extension</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.papyrus.uml.compare.diff.metamodel.uml_diff_extension.UMLDiffPackage#getUMLDiffExtension()
+ * @model abstract="true"
+ * @generated
+ */
+public interface UMLDiffExtension extends AbstractDiffExtension {
+} // UMLDiffExtension
diff --git a/deprecated/org.eclipse.papyrus.uml.compare/src-gen/org/eclipse/papyrus/uml/compare/diff/metamodel/uml_diff_extension/UMLDiffFactory.java b/deprecated/org.eclipse.papyrus.uml.compare/src-gen/org/eclipse/papyrus/uml/compare/diff/metamodel/uml_diff_extension/UMLDiffFactory.java
new file mode 100644
index 00000000000..44a9cdb9963
--- /dev/null
+++ b/deprecated/org.eclipse.papyrus.uml.compare/src-gen/org/eclipse/papyrus/uml/compare/diff/metamodel/uml_diff_extension/UMLDiffFactory.java
@@ -0,0 +1,105 @@
+/**
+ *
+ * Copyright (c) 2010 CEA LIST.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Tatiana Fesenko(CEA LIST) - initial API and implementation
+ */
+package org.eclipse.papyrus.uml.compare.diff.metamodel.uml_diff_extension;
+
+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.papyrus.uml.compare.diff.metamodel.uml_diff_extension.UMLDiffPackage
+ * @generated
+ */
+public interface UMLDiffFactory extends EFactory {
+ /**
+ * The singleton instance of the factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ UMLDiffFactory eINSTANCE = org.eclipse.papyrus.uml.compare.diff.metamodel.uml_diff_extension.impl.UMLDiffFactoryImpl.init();
+
+ /**
+ * Returns a new object of class '<em>Tagged Value Change Left Target</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Tagged Value Change Left Target</em>'.
+ * @generated
+ */
+ TaggedValueChangeLeftTarget createTaggedValueChangeLeftTarget();
+
+ /**
+ * Returns a new object of class '<em>Tagged Value Change Right Target</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Tagged Value Change Right Target</em>'.
+ * @generated
+ */
+ TaggedValueChangeRightTarget createTaggedValueChangeRightTarget();
+
+ /**
+ * Returns a new object of class '<em>Update Tagged Value</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Update Tagged Value</em>'.
+ * @generated
+ */
+ UpdateTaggedValue createUpdateTaggedValue();
+
+ /**
+ * Returns a new object of class '<em>Add Stereotype Application</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Add Stereotype Application</em>'.
+ * @generated
+ */
+ AddStereotypeApplication createAddStereotypeApplication();
+
+ /**
+ * Returns a new object of class '<em>Remove Stereotype Application</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Remove Stereotype Application</em>'.
+ * @generated
+ */
+ RemoveStereotypeApplication createRemoveStereotypeApplication();
+
+ /**
+ * Returns a new object of class '<em>Tagged Value Reference Change</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Tagged Value Reference Change</em>'.
+ * @generated
+ */
+ TaggedValueReferenceChange createTaggedValueReferenceChange();
+
+ /**
+ * Returns a new object of class '<em>Compare Two Elements Diff Model</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Compare Two Elements Diff Model</em>'.
+ * @generated
+ */
+ CompareTwoElementsDiffModel createCompareTwoElementsDiffModel();
+
+ /**
+ * Returns the package supported by this factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the package supported by this factory.
+ * @generated
+ */
+ UMLDiffPackage getUMLDiffPackage();
+
+} //UMLDiffFactory
diff --git a/deprecated/org.eclipse.papyrus.uml.compare/src-gen/org/eclipse/papyrus/uml/compare/diff/metamodel/uml_diff_extension/UMLDiffPackage.java b/deprecated/org.eclipse.papyrus.uml.compare/src-gen/org/eclipse/papyrus/uml/compare/diff/metamodel/uml_diff_extension/UMLDiffPackage.java
new file mode 100644
index 00000000000..b3ba77c1dbf
--- /dev/null
+++ b/deprecated/org.eclipse.papyrus.uml.compare/src-gen/org/eclipse/papyrus/uml/compare/diff/metamodel/uml_diff_extension/UMLDiffPackage.java
@@ -0,0 +1,1204 @@
+/**
+ *
+ * Copyright (c) 2010 CEA LIST.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Tatiana Fesenko(CEA LIST) - initial API and implementation
+ */
+package org.eclipse.papyrus.uml.compare.diff.metamodel.uml_diff_extension;
+
+import org.eclipse.emf.compare.diff.metamodel.DiffPackage;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EPackage;
+
+/**
+ * <!-- 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.papyrus.uml.compare.diff.metamodel.uml_diff_extension.UMLDiffFactory
+ * @model kind="package"
+ * @generated
+ */
+public interface UMLDiffPackage extends EPackage {
+ /**
+ * The package name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ String eNAME = "uml_diff_extension";
+
+ /**
+ * The package namespace URI.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ String eNS_URI = "http://www.eclipse.org/uml/compare/diff_ext/1.0";
+
+ /**
+ * The package namespace name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ String eNS_PREFIX = "uml_diff_extension";
+
+ /**
+ * The singleton instance of the package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ UMLDiffPackage eINSTANCE = org.eclipse.papyrus.uml.compare.diff.metamodel.uml_diff_extension.impl.UMLDiffPackageImpl.init();
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.uml.compare.diff.metamodel.uml_diff_extension.impl.UMLDiffExtensionImpl <em>Extension</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.uml.compare.diff.metamodel.uml_diff_extension.impl.UMLDiffExtensionImpl
+ * @see org.eclipse.papyrus.uml.compare.diff.metamodel.uml_diff_extension.impl.UMLDiffPackageImpl#getUMLDiffExtension()
+ * @generated
+ */
+ int UML_DIFF_EXTENSION = 0;
+
+ /**
+ * The feature id for the '<em><b>Hide Elements</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int UML_DIFF_EXTENSION__HIDE_ELEMENTS = DiffPackage.ABSTRACT_DIFF_EXTENSION__HIDE_ELEMENTS;
+
+ /**
+ * The feature id for the '<em><b>Is Collapsed</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int UML_DIFF_EXTENSION__IS_COLLAPSED = DiffPackage.ABSTRACT_DIFF_EXTENSION__IS_COLLAPSED;
+
+ /**
+ * The number of structural features of the '<em>Extension</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int UML_DIFF_EXTENSION_FEATURE_COUNT = DiffPackage.ABSTRACT_DIFF_EXTENSION_FEATURE_COUNT + 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.uml.compare.diff.metamodel.uml_diff_extension.impl.StereotypeChangeImpl <em>Stereotype Change</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.uml.compare.diff.metamodel.uml_diff_extension.impl.StereotypeChangeImpl
+ * @see org.eclipse.papyrus.uml.compare.diff.metamodel.uml_diff_extension.impl.UMLDiffPackageImpl#getStereotypeChange()
+ * @generated
+ */
+ int STEREOTYPE_CHANGE = 1;
+
+ /**
+ * The feature id for the '<em><b>Hide Elements</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int STEREOTYPE_CHANGE__HIDE_ELEMENTS = UML_DIFF_EXTENSION__HIDE_ELEMENTS;
+
+ /**
+ * The feature id for the '<em><b>Is Collapsed</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int STEREOTYPE_CHANGE__IS_COLLAPSED = UML_DIFF_EXTENSION__IS_COLLAPSED;
+
+ /**
+ * The number of structural features of the '<em>Stereotype Change</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int STEREOTYPE_CHANGE_FEATURE_COUNT = UML_DIFF_EXTENSION_FEATURE_COUNT + 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.uml.compare.diff.metamodel.uml_diff_extension.impl.TaggedValueChangeImpl <em>Tagged Value Change</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.uml.compare.diff.metamodel.uml_diff_extension.impl.TaggedValueChangeImpl
+ * @see org.eclipse.papyrus.uml.compare.diff.metamodel.uml_diff_extension.impl.UMLDiffPackageImpl#getTaggedValueChange()
+ * @generated
+ */
+ int TAGGED_VALUE_CHANGE = 2;
+
+ /**
+ * The feature id for the '<em><b>Hide Elements</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TAGGED_VALUE_CHANGE__HIDE_ELEMENTS = UML_DIFF_EXTENSION__HIDE_ELEMENTS;
+
+ /**
+ * The feature id for the '<em><b>Is Collapsed</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TAGGED_VALUE_CHANGE__IS_COLLAPSED = UML_DIFF_EXTENSION__IS_COLLAPSED;
+
+ /**
+ * The feature id for the '<em><b>Sub Diff Elements</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TAGGED_VALUE_CHANGE__SUB_DIFF_ELEMENTS = UML_DIFF_EXTENSION_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Is Hidden By</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TAGGED_VALUE_CHANGE__IS_HIDDEN_BY = UML_DIFF_EXTENSION_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Conflicting</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TAGGED_VALUE_CHANGE__CONFLICTING = UML_DIFF_EXTENSION_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Kind</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TAGGED_VALUE_CHANGE__KIND = UML_DIFF_EXTENSION_FEATURE_COUNT + 3;
+
+ /**
+ * The feature id for the '<em><b>Remote</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TAGGED_VALUE_CHANGE__REMOTE = UML_DIFF_EXTENSION_FEATURE_COUNT + 4;
+
+ /**
+ * The feature id for the '<em><b>Attribute</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TAGGED_VALUE_CHANGE__ATTRIBUTE = UML_DIFF_EXTENSION_FEATURE_COUNT + 5;
+
+ /**
+ * The feature id for the '<em><b>Left Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TAGGED_VALUE_CHANGE__LEFT_ELEMENT = UML_DIFF_EXTENSION_FEATURE_COUNT + 6;
+
+ /**
+ * The feature id for the '<em><b>Right Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TAGGED_VALUE_CHANGE__RIGHT_ELEMENT = UML_DIFF_EXTENSION_FEATURE_COUNT + 7;
+
+ /**
+ * The number of structural features of the '<em>Tagged Value Change</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TAGGED_VALUE_CHANGE_FEATURE_COUNT = UML_DIFF_EXTENSION_FEATURE_COUNT + 8;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.uml.compare.diff.metamodel.uml_diff_extension.impl.TaggedValueChangeLeftTargetImpl <em>Tagged Value Change Left Target</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.uml.compare.diff.metamodel.uml_diff_extension.impl.TaggedValueChangeLeftTargetImpl
+ * @see org.eclipse.papyrus.uml.compare.diff.metamodel.uml_diff_extension.impl.UMLDiffPackageImpl#getTaggedValueChangeLeftTarget()
+ * @generated
+ */
+ int TAGGED_VALUE_CHANGE_LEFT_TARGET = 3;
+
+ /**
+ * The feature id for the '<em><b>Hide Elements</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TAGGED_VALUE_CHANGE_LEFT_TARGET__HIDE_ELEMENTS = TAGGED_VALUE_CHANGE__HIDE_ELEMENTS;
+
+ /**
+ * The feature id for the '<em><b>Is Collapsed</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TAGGED_VALUE_CHANGE_LEFT_TARGET__IS_COLLAPSED = TAGGED_VALUE_CHANGE__IS_COLLAPSED;
+
+ /**
+ * The feature id for the '<em><b>Sub Diff Elements</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TAGGED_VALUE_CHANGE_LEFT_TARGET__SUB_DIFF_ELEMENTS = TAGGED_VALUE_CHANGE__SUB_DIFF_ELEMENTS;
+
+ /**
+ * The feature id for the '<em><b>Is Hidden By</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TAGGED_VALUE_CHANGE_LEFT_TARGET__IS_HIDDEN_BY = TAGGED_VALUE_CHANGE__IS_HIDDEN_BY;
+
+ /**
+ * The feature id for the '<em><b>Conflicting</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TAGGED_VALUE_CHANGE_LEFT_TARGET__CONFLICTING = TAGGED_VALUE_CHANGE__CONFLICTING;
+
+ /**
+ * The feature id for the '<em><b>Kind</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TAGGED_VALUE_CHANGE_LEFT_TARGET__KIND = TAGGED_VALUE_CHANGE__KIND;
+
+ /**
+ * The feature id for the '<em><b>Remote</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TAGGED_VALUE_CHANGE_LEFT_TARGET__REMOTE = TAGGED_VALUE_CHANGE__REMOTE;
+
+ /**
+ * The feature id for the '<em><b>Attribute</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TAGGED_VALUE_CHANGE_LEFT_TARGET__ATTRIBUTE = TAGGED_VALUE_CHANGE__ATTRIBUTE;
+
+ /**
+ * The feature id for the '<em><b>Left Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TAGGED_VALUE_CHANGE_LEFT_TARGET__LEFT_ELEMENT = TAGGED_VALUE_CHANGE__LEFT_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Right Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TAGGED_VALUE_CHANGE_LEFT_TARGET__RIGHT_ELEMENT = TAGGED_VALUE_CHANGE__RIGHT_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Left Target</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TAGGED_VALUE_CHANGE_LEFT_TARGET__LEFT_TARGET = TAGGED_VALUE_CHANGE_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Tagged Value Change Left Target</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TAGGED_VALUE_CHANGE_LEFT_TARGET_FEATURE_COUNT = TAGGED_VALUE_CHANGE_FEATURE_COUNT + 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.uml.compare.diff.metamodel.uml_diff_extension.impl.TaggedValueChangeRightTargetImpl <em>Tagged Value Change Right Target</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.uml.compare.diff.metamodel.uml_diff_extension.impl.TaggedValueChangeRightTargetImpl
+ * @see org.eclipse.papyrus.uml.compare.diff.metamodel.uml_diff_extension.impl.UMLDiffPackageImpl#getTaggedValueChangeRightTarget()
+ * @generated
+ */
+ int TAGGED_VALUE_CHANGE_RIGHT_TARGET = 4;
+
+ /**
+ * The feature id for the '<em><b>Hide Elements</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TAGGED_VALUE_CHANGE_RIGHT_TARGET__HIDE_ELEMENTS = TAGGED_VALUE_CHANGE__HIDE_ELEMENTS;
+
+ /**
+ * The feature id for the '<em><b>Is Collapsed</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TAGGED_VALUE_CHANGE_RIGHT_TARGET__IS_COLLAPSED = TAGGED_VALUE_CHANGE__IS_COLLAPSED;
+
+ /**
+ * The feature id for the '<em><b>Sub Diff Elements</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TAGGED_VALUE_CHANGE_RIGHT_TARGET__SUB_DIFF_ELEMENTS = TAGGED_VALUE_CHANGE__SUB_DIFF_ELEMENTS;
+
+ /**
+ * The feature id for the '<em><b>Is Hidden By</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TAGGED_VALUE_CHANGE_RIGHT_TARGET__IS_HIDDEN_BY = TAGGED_VALUE_CHANGE__IS_HIDDEN_BY;
+
+ /**
+ * The feature id for the '<em><b>Conflicting</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TAGGED_VALUE_CHANGE_RIGHT_TARGET__CONFLICTING = TAGGED_VALUE_CHANGE__CONFLICTING;
+
+ /**
+ * The feature id for the '<em><b>Kind</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TAGGED_VALUE_CHANGE_RIGHT_TARGET__KIND = TAGGED_VALUE_CHANGE__KIND;
+
+ /**
+ * The feature id for the '<em><b>Remote</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TAGGED_VALUE_CHANGE_RIGHT_TARGET__REMOTE = TAGGED_VALUE_CHANGE__REMOTE;
+
+ /**
+ * The feature id for the '<em><b>Attribute</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TAGGED_VALUE_CHANGE_RIGHT_TARGET__ATTRIBUTE = TAGGED_VALUE_CHANGE__ATTRIBUTE;
+
+ /**
+ * The feature id for the '<em><b>Left Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TAGGED_VALUE_CHANGE_RIGHT_TARGET__LEFT_ELEMENT = TAGGED_VALUE_CHANGE__LEFT_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Right Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TAGGED_VALUE_CHANGE_RIGHT_TARGET__RIGHT_ELEMENT = TAGGED_VALUE_CHANGE__RIGHT_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Right Target</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TAGGED_VALUE_CHANGE_RIGHT_TARGET__RIGHT_TARGET = TAGGED_VALUE_CHANGE_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Tagged Value Change Right Target</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TAGGED_VALUE_CHANGE_RIGHT_TARGET_FEATURE_COUNT = TAGGED_VALUE_CHANGE_FEATURE_COUNT + 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.uml.compare.diff.metamodel.uml_diff_extension.impl.UpdateTaggedValueImpl <em>Update Tagged Value</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.uml.compare.diff.metamodel.uml_diff_extension.impl.UpdateTaggedValueImpl
+ * @see org.eclipse.papyrus.uml.compare.diff.metamodel.uml_diff_extension.impl.UMLDiffPackageImpl#getUpdateTaggedValue()
+ * @generated
+ */
+ int UPDATE_TAGGED_VALUE = 5;
+
+ /**
+ * The feature id for the '<em><b>Hide Elements</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int UPDATE_TAGGED_VALUE__HIDE_ELEMENTS = TAGGED_VALUE_CHANGE__HIDE_ELEMENTS;
+
+ /**
+ * The feature id for the '<em><b>Is Collapsed</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int UPDATE_TAGGED_VALUE__IS_COLLAPSED = TAGGED_VALUE_CHANGE__IS_COLLAPSED;
+
+ /**
+ * The feature id for the '<em><b>Sub Diff Elements</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int UPDATE_TAGGED_VALUE__SUB_DIFF_ELEMENTS = TAGGED_VALUE_CHANGE__SUB_DIFF_ELEMENTS;
+
+ /**
+ * The feature id for the '<em><b>Is Hidden By</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int UPDATE_TAGGED_VALUE__IS_HIDDEN_BY = TAGGED_VALUE_CHANGE__IS_HIDDEN_BY;
+
+ /**
+ * The feature id for the '<em><b>Conflicting</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int UPDATE_TAGGED_VALUE__CONFLICTING = TAGGED_VALUE_CHANGE__CONFLICTING;
+
+ /**
+ * The feature id for the '<em><b>Kind</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int UPDATE_TAGGED_VALUE__KIND = TAGGED_VALUE_CHANGE__KIND;
+
+ /**
+ * The feature id for the '<em><b>Remote</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int UPDATE_TAGGED_VALUE__REMOTE = TAGGED_VALUE_CHANGE__REMOTE;
+
+ /**
+ * The feature id for the '<em><b>Attribute</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int UPDATE_TAGGED_VALUE__ATTRIBUTE = TAGGED_VALUE_CHANGE__ATTRIBUTE;
+
+ /**
+ * The feature id for the '<em><b>Left Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int UPDATE_TAGGED_VALUE__LEFT_ELEMENT = TAGGED_VALUE_CHANGE__LEFT_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Right Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int UPDATE_TAGGED_VALUE__RIGHT_ELEMENT = TAGGED_VALUE_CHANGE__RIGHT_ELEMENT;
+
+ /**
+ * The number of structural features of the '<em>Update Tagged Value</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int UPDATE_TAGGED_VALUE_FEATURE_COUNT = TAGGED_VALUE_CHANGE_FEATURE_COUNT + 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.uml.compare.diff.metamodel.uml_diff_extension.impl.AddStereotypeApplicationImpl <em>Add Stereotype Application</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.uml.compare.diff.metamodel.uml_diff_extension.impl.AddStereotypeApplicationImpl
+ * @see org.eclipse.papyrus.uml.compare.diff.metamodel.uml_diff_extension.impl.UMLDiffPackageImpl#getAddStereotypeApplication()
+ * @generated
+ */
+ int ADD_STEREOTYPE_APPLICATION = 6;
+
+ /**
+ * The feature id for the '<em><b>Hide Elements</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ADD_STEREOTYPE_APPLICATION__HIDE_ELEMENTS = STEREOTYPE_CHANGE__HIDE_ELEMENTS;
+
+ /**
+ * The feature id for the '<em><b>Is Collapsed</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ADD_STEREOTYPE_APPLICATION__IS_COLLAPSED = STEREOTYPE_CHANGE__IS_COLLAPSED;
+
+ /**
+ * The feature id for the '<em><b>Sub Diff Elements</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ADD_STEREOTYPE_APPLICATION__SUB_DIFF_ELEMENTS = STEREOTYPE_CHANGE_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Is Hidden By</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ADD_STEREOTYPE_APPLICATION__IS_HIDDEN_BY = STEREOTYPE_CHANGE_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Conflicting</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ADD_STEREOTYPE_APPLICATION__CONFLICTING = STEREOTYPE_CHANGE_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Kind</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ADD_STEREOTYPE_APPLICATION__KIND = STEREOTYPE_CHANGE_FEATURE_COUNT + 3;
+
+ /**
+ * The feature id for the '<em><b>Remote</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ADD_STEREOTYPE_APPLICATION__REMOTE = STEREOTYPE_CHANGE_FEATURE_COUNT + 4;
+
+ /**
+ * The feature id for the '<em><b>Left Parent</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ADD_STEREOTYPE_APPLICATION__LEFT_PARENT = STEREOTYPE_CHANGE_FEATURE_COUNT + 5;
+
+ /**
+ * The feature id for the '<em><b>Right Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ADD_STEREOTYPE_APPLICATION__RIGHT_ELEMENT = STEREOTYPE_CHANGE_FEATURE_COUNT + 6;
+
+ /**
+ * The number of structural features of the '<em>Add Stereotype Application</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ADD_STEREOTYPE_APPLICATION_FEATURE_COUNT = STEREOTYPE_CHANGE_FEATURE_COUNT + 7;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.uml.compare.diff.metamodel.uml_diff_extension.impl.RemoveStereotypeApplicationImpl <em>Remove Stereotype Application</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.uml.compare.diff.metamodel.uml_diff_extension.impl.RemoveStereotypeApplicationImpl
+ * @see org.eclipse.papyrus.uml.compare.diff.metamodel.uml_diff_extension.impl.UMLDiffPackageImpl#getRemoveStereotypeApplication()
+ * @generated
+ */
+ int REMOVE_STEREOTYPE_APPLICATION = 7;
+
+ /**
+ * The feature id for the '<em><b>Hide Elements</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int REMOVE_STEREOTYPE_APPLICATION__HIDE_ELEMENTS = STEREOTYPE_CHANGE__HIDE_ELEMENTS;
+
+ /**
+ * The feature id for the '<em><b>Is Collapsed</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int REMOVE_STEREOTYPE_APPLICATION__IS_COLLAPSED = STEREOTYPE_CHANGE__IS_COLLAPSED;
+
+ /**
+ * The feature id for the '<em><b>Sub Diff Elements</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int REMOVE_STEREOTYPE_APPLICATION__SUB_DIFF_ELEMENTS = STEREOTYPE_CHANGE_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Is Hidden By</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int REMOVE_STEREOTYPE_APPLICATION__IS_HIDDEN_BY = STEREOTYPE_CHANGE_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Conflicting</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int REMOVE_STEREOTYPE_APPLICATION__CONFLICTING = STEREOTYPE_CHANGE_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Kind</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int REMOVE_STEREOTYPE_APPLICATION__KIND = STEREOTYPE_CHANGE_FEATURE_COUNT + 3;
+
+ /**
+ * The feature id for the '<em><b>Remote</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int REMOVE_STEREOTYPE_APPLICATION__REMOTE = STEREOTYPE_CHANGE_FEATURE_COUNT + 4;
+
+ /**
+ * The feature id for the '<em><b>Right Parent</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int REMOVE_STEREOTYPE_APPLICATION__RIGHT_PARENT = STEREOTYPE_CHANGE_FEATURE_COUNT + 5;
+
+ /**
+ * The feature id for the '<em><b>Left Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int REMOVE_STEREOTYPE_APPLICATION__LEFT_ELEMENT = STEREOTYPE_CHANGE_FEATURE_COUNT + 6;
+
+ /**
+ * The number of structural features of the '<em>Remove Stereotype Application</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int REMOVE_STEREOTYPE_APPLICATION_FEATURE_COUNT = STEREOTYPE_CHANGE_FEATURE_COUNT + 7;
+
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.uml.compare.diff.metamodel.uml_diff_extension.impl.TaggedValueReferenceChangeImpl <em>Tagged Value Reference Change</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.uml.compare.diff.metamodel.uml_diff_extension.impl.TaggedValueReferenceChangeImpl
+ * @see org.eclipse.papyrus.uml.compare.diff.metamodel.uml_diff_extension.impl.UMLDiffPackageImpl#getTaggedValueReferenceChange()
+ * @generated
+ */
+ int TAGGED_VALUE_REFERENCE_CHANGE = 8;
+
+ /**
+ * The feature id for the '<em><b>Hide Elements</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TAGGED_VALUE_REFERENCE_CHANGE__HIDE_ELEMENTS = UML_DIFF_EXTENSION__HIDE_ELEMENTS;
+
+ /**
+ * The feature id for the '<em><b>Is Collapsed</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TAGGED_VALUE_REFERENCE_CHANGE__IS_COLLAPSED = UML_DIFF_EXTENSION__IS_COLLAPSED;
+
+ /**
+ * The feature id for the '<em><b>Sub Diff Elements</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TAGGED_VALUE_REFERENCE_CHANGE__SUB_DIFF_ELEMENTS = UML_DIFF_EXTENSION_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Is Hidden By</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TAGGED_VALUE_REFERENCE_CHANGE__IS_HIDDEN_BY = UML_DIFF_EXTENSION_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Conflicting</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TAGGED_VALUE_REFERENCE_CHANGE__CONFLICTING = UML_DIFF_EXTENSION_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Kind</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TAGGED_VALUE_REFERENCE_CHANGE__KIND = UML_DIFF_EXTENSION_FEATURE_COUNT + 3;
+
+ /**
+ * The feature id for the '<em><b>Remote</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TAGGED_VALUE_REFERENCE_CHANGE__REMOTE = UML_DIFF_EXTENSION_FEATURE_COUNT + 4;
+
+ /**
+ * The feature id for the '<em><b>Reference</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TAGGED_VALUE_REFERENCE_CHANGE__REFERENCE = UML_DIFF_EXTENSION_FEATURE_COUNT + 5;
+
+ /**
+ * The feature id for the '<em><b>Right Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TAGGED_VALUE_REFERENCE_CHANGE__RIGHT_ELEMENT = UML_DIFF_EXTENSION_FEATURE_COUNT + 6;
+
+ /**
+ * The feature id for the '<em><b>Left Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TAGGED_VALUE_REFERENCE_CHANGE__LEFT_ELEMENT = UML_DIFF_EXTENSION_FEATURE_COUNT + 7;
+
+ /**
+ * The number of structural features of the '<em>Tagged Value Reference Change</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TAGGED_VALUE_REFERENCE_CHANGE_FEATURE_COUNT = UML_DIFF_EXTENSION_FEATURE_COUNT + 8;
+
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.uml.compare.diff.metamodel.uml_diff_extension.impl.CompareTwoElementsDiffModelImpl <em>Compare Two Elements Diff Model</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.uml.compare.diff.metamodel.uml_diff_extension.impl.CompareTwoElementsDiffModelImpl
+ * @see org.eclipse.papyrus.uml.compare.diff.metamodel.uml_diff_extension.impl.UMLDiffPackageImpl#getCompareTwoElementsDiffModel()
+ * @generated
+ */
+ int COMPARE_TWO_ELEMENTS_DIFF_MODEL = 9;
+
+ /**
+ * The feature id for the '<em><b>Hide Elements</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COMPARE_TWO_ELEMENTS_DIFF_MODEL__HIDE_ELEMENTS = UML_DIFF_EXTENSION__HIDE_ELEMENTS;
+
+ /**
+ * The feature id for the '<em><b>Is Collapsed</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COMPARE_TWO_ELEMENTS_DIFF_MODEL__IS_COLLAPSED = UML_DIFF_EXTENSION__IS_COLLAPSED;
+
+ /**
+ * The feature id for the '<em><b>Owned Elements</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COMPARE_TWO_ELEMENTS_DIFF_MODEL__OWNED_ELEMENTS = UML_DIFF_EXTENSION_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Left Roots</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COMPARE_TWO_ELEMENTS_DIFF_MODEL__LEFT_ROOTS = UML_DIFF_EXTENSION_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Right Roots</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COMPARE_TWO_ELEMENTS_DIFF_MODEL__RIGHT_ROOTS = UML_DIFF_EXTENSION_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Ancestor Roots</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COMPARE_TWO_ELEMENTS_DIFF_MODEL__ANCESTOR_ROOTS = UML_DIFF_EXTENSION_FEATURE_COUNT + 3;
+
+ /**
+ * The number of structural features of the '<em>Compare Two Elements Diff Model</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COMPARE_TWO_ELEMENTS_DIFF_MODEL_FEATURE_COUNT = UML_DIFF_EXTENSION_FEATURE_COUNT + 4;
+
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.uml.compare.diff.metamodel.uml_diff_extension.UMLDiffExtension <em>Extension</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Extension</em>'.
+ * @see org.eclipse.papyrus.uml.compare.diff.metamodel.uml_diff_extension.UMLDiffExtension
+ * @generated
+ */
+ EClass getUMLDiffExtension();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.uml.compare.diff.metamodel.uml_diff_extension.StereotypeChange <em>Stereotype Change</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Stereotype Change</em>'.
+ * @see org.eclipse.papyrus.uml.compare.diff.metamodel.uml_diff_extension.StereotypeChange
+ * @generated
+ */
+ EClass getStereotypeChange();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.uml.compare.diff.metamodel.uml_diff_extension.TaggedValueChange <em>Tagged Value Change</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Tagged Value Change</em>'.
+ * @see org.eclipse.papyrus.uml.compare.diff.metamodel.uml_diff_extension.TaggedValueChange
+ * @generated
+ */
+ EClass getTaggedValueChange();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.uml.compare.diff.metamodel.uml_diff_extension.TaggedValueChangeLeftTarget <em>Tagged Value Change Left Target</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Tagged Value Change Left Target</em>'.
+ * @see org.eclipse.papyrus.uml.compare.diff.metamodel.uml_diff_extension.TaggedValueChangeLeftTarget
+ * @generated
+ */
+ EClass getTaggedValueChangeLeftTarget();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.uml.compare.diff.metamodel.uml_diff_extension.TaggedValueChangeRightTarget <em>Tagged Value Change Right Target</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Tagged Value Change Right Target</em>'.
+ * @see org.eclipse.papyrus.uml.compare.diff.metamodel.uml_diff_extension.TaggedValueChangeRightTarget
+ * @generated
+ */
+ EClass getTaggedValueChangeRightTarget();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.uml.compare.diff.metamodel.uml_diff_extension.UpdateTaggedValue <em>Update Tagged Value</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Update Tagged Value</em>'.
+ * @see org.eclipse.papyrus.uml.compare.diff.metamodel.uml_diff_extension.UpdateTaggedValue
+ * @generated
+ */
+ EClass getUpdateTaggedValue();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.uml.compare.diff.metamodel.uml_diff_extension.AddStereotypeApplication <em>Add Stereotype Application</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Add Stereotype Application</em>'.
+ * @see org.eclipse.papyrus.uml.compare.diff.metamodel.uml_diff_extension.AddStereotypeApplication
+ * @generated
+ */
+ EClass getAddStereotypeApplication();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.uml.compare.diff.metamodel.uml_diff_extension.RemoveStereotypeApplication <em>Remove Stereotype Application</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Remove Stereotype Application</em>'.
+ * @see org.eclipse.papyrus.uml.compare.diff.metamodel.uml_diff_extension.RemoveStereotypeApplication
+ * @generated
+ */
+ EClass getRemoveStereotypeApplication();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.uml.compare.diff.metamodel.uml_diff_extension.TaggedValueReferenceChange <em>Tagged Value Reference Change</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Tagged Value Reference Change</em>'.
+ * @see org.eclipse.papyrus.uml.compare.diff.metamodel.uml_diff_extension.TaggedValueReferenceChange
+ * @generated
+ */
+ EClass getTaggedValueReferenceChange();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.uml.compare.diff.metamodel.uml_diff_extension.CompareTwoElementsDiffModel <em>Compare Two Elements Diff Model</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Compare Two Elements Diff Model</em>'.
+ * @see org.eclipse.papyrus.uml.compare.diff.metamodel.uml_diff_extension.CompareTwoElementsDiffModel
+ * @generated
+ */
+ EClass getCompareTwoElementsDiffModel();
+
+ /**
+ * 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
+ */
+ UMLDiffFactory getUMLDiffFactory();
+
+ /**
+ * <!-- 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.papyrus.uml.compare.diff.metamodel.uml_diff_extension.impl.UMLDiffExtensionImpl <em>Extension</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.uml.compare.diff.metamodel.uml_diff_extension.impl.UMLDiffExtensionImpl
+ * @see org.eclipse.papyrus.uml.compare.diff.metamodel.uml_diff_extension.impl.UMLDiffPackageImpl#getUMLDiffExtension()
+ * @generated
+ */
+ EClass UML_DIFF_EXTENSION = eINSTANCE.getUMLDiffExtension();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.uml.compare.diff.metamodel.uml_diff_extension.impl.StereotypeChangeImpl <em>Stereotype Change</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.uml.compare.diff.metamodel.uml_diff_extension.impl.StereotypeChangeImpl
+ * @see org.eclipse.papyrus.uml.compare.diff.metamodel.uml_diff_extension.impl.UMLDiffPackageImpl#getStereotypeChange()
+ * @generated
+ */
+ EClass STEREOTYPE_CHANGE = eINSTANCE.getStereotypeChange();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.uml.compare.diff.metamodel.uml_diff_extension.impl.TaggedValueChangeImpl <em>Tagged Value Change</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.uml.compare.diff.metamodel.uml_diff_extension.impl.TaggedValueChangeImpl
+ * @see org.eclipse.papyrus.uml.compare.diff.metamodel.uml_diff_extension.impl.UMLDiffPackageImpl#getTaggedValueChange()
+ * @generated
+ */
+ EClass TAGGED_VALUE_CHANGE = eINSTANCE.getTaggedValueChange();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.uml.compare.diff.metamodel.uml_diff_extension.impl.TaggedValueChangeLeftTargetImpl <em>Tagged Value Change Left Target</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.uml.compare.diff.metamodel.uml_diff_extension.impl.TaggedValueChangeLeftTargetImpl
+ * @see org.eclipse.papyrus.uml.compare.diff.metamodel.uml_diff_extension.impl.UMLDiffPackageImpl#getTaggedValueChangeLeftTarget()
+ * @generated
+ */
+ EClass TAGGED_VALUE_CHANGE_LEFT_TARGET = eINSTANCE.getTaggedValueChangeLeftTarget();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.uml.compare.diff.metamodel.uml_diff_extension.impl.TaggedValueChangeRightTargetImpl <em>Tagged Value Change Right Target</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.uml.compare.diff.metamodel.uml_diff_extension.impl.TaggedValueChangeRightTargetImpl
+ * @see org.eclipse.papyrus.uml.compare.diff.metamodel.uml_diff_extension.impl.UMLDiffPackageImpl#getTaggedValueChangeRightTarget()
+ * @generated
+ */
+ EClass TAGGED_VALUE_CHANGE_RIGHT_TARGET = eINSTANCE.getTaggedValueChangeRightTarget();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.uml.compare.diff.metamodel.uml_diff_extension.impl.UpdateTaggedValueImpl <em>Update Tagged Value</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.uml.compare.diff.metamodel.uml_diff_extension.impl.UpdateTaggedValueImpl
+ * @see org.eclipse.papyrus.uml.compare.diff.metamodel.uml_diff_extension.impl.UMLDiffPackageImpl#getUpdateTaggedValue()
+ * @generated
+ */
+ EClass UPDATE_TAGGED_VALUE = eINSTANCE.getUpdateTaggedValue();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.uml.compare.diff.metamodel.uml_diff_extension.impl.AddStereotypeApplicationImpl <em>Add Stereotype Application</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.uml.compare.diff.metamodel.uml_diff_extension.impl.AddStereotypeApplicationImpl
+ * @see org.eclipse.papyrus.uml.compare.diff.metamodel.uml_diff_extension.impl.UMLDiffPackageImpl#getAddStereotypeApplication()
+ * @generated
+ */
+ EClass ADD_STEREOTYPE_APPLICATION = eINSTANCE.getAddStereotypeApplication();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.uml.compare.diff.metamodel.uml_diff_extension.impl.RemoveStereotypeApplicationImpl <em>Remove Stereotype Application</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.uml.compare.diff.metamodel.uml_diff_extension.impl.RemoveStereotypeApplicationImpl
+ * @see org.eclipse.papyrus.uml.compare.diff.metamodel.uml_diff_extension.impl.UMLDiffPackageImpl#getRemoveStereotypeApplication()
+ * @generated
+ */
+ EClass REMOVE_STEREOTYPE_APPLICATION = eINSTANCE.getRemoveStereotypeApplication();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.uml.compare.diff.metamodel.uml_diff_extension.impl.TaggedValueReferenceChangeImpl <em>Tagged Value Reference Change</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.uml.compare.diff.metamodel.uml_diff_extension.impl.TaggedValueReferenceChangeImpl
+ * @see org.eclipse.papyrus.uml.compare.diff.metamodel.uml_diff_extension.impl.UMLDiffPackageImpl#getTaggedValueReferenceChange()
+ * @generated
+ */
+ EClass TAGGED_VALUE_REFERENCE_CHANGE = eINSTANCE.getTaggedValueReferenceChange();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.uml.compare.diff.metamodel.uml_diff_extension.impl.CompareTwoElementsDiffModelImpl <em>Compare Two Elements Diff Model</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.uml.compare.diff.metamodel.uml_diff_extension.impl.CompareTwoElementsDiffModelImpl
+ * @see org.eclipse.papyrus.uml.compare.diff.metamodel.uml_diff_extension.impl.UMLDiffPackageImpl#getCompareTwoElementsDiffModel()
+ * @generated
+ */
+ EClass COMPARE_TWO_ELEMENTS_DIFF_MODEL = eINSTANCE.getCompareTwoElementsDiffModel();
+
+ }
+
+} //UMLDiffPackage
diff --git a/deprecated/org.eclipse.papyrus.uml.compare/src-gen/org/eclipse/papyrus/uml/compare/diff/metamodel/uml_diff_extension/UpdateTaggedValue.java b/deprecated/org.eclipse.papyrus.uml.compare/src-gen/org/eclipse/papyrus/uml/compare/diff/metamodel/uml_diff_extension/UpdateTaggedValue.java
new file mode 100644
index 00000000000..43c2c290ec1
--- /dev/null
+++ b/deprecated/org.eclipse.papyrus.uml.compare/src-gen/org/eclipse/papyrus/uml/compare/diff/metamodel/uml_diff_extension/UpdateTaggedValue.java
@@ -0,0 +1,27 @@
+/**
+ *
+ * Copyright (c) 2010 CEA LIST.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Tatiana Fesenko(CEA LIST) - initial API and implementation
+ */
+package org.eclipse.papyrus.uml.compare.diff.metamodel.uml_diff_extension;
+
+import org.eclipse.emf.compare.diff.metamodel.UpdateAttribute;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Update Tagged Value</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.papyrus.uml.compare.diff.metamodel.uml_diff_extension.UMLDiffPackage#getUpdateTaggedValue()
+ * @model
+ * @generated
+ */
+public interface UpdateTaggedValue extends TaggedValueChange, UpdateAttribute {
+} // UpdateTaggedValue
diff --git a/deprecated/org.eclipse.papyrus.uml.compare/src-gen/org/eclipse/papyrus/uml/compare/diff/metamodel/uml_diff_extension/impl/AddStereotypeApplicationImpl.java b/deprecated/org.eclipse.papyrus.uml.compare/src-gen/org/eclipse/papyrus/uml/compare/diff/metamodel/uml_diff_extension/impl/AddStereotypeApplicationImpl.java
new file mode 100644
index 00000000000..da50fe9d6be
--- /dev/null
+++ b/deprecated/org.eclipse.papyrus.uml.compare/src-gen/org/eclipse/papyrus/uml/compare/diff/metamodel/uml_diff_extension/impl/AddStereotypeApplicationImpl.java
@@ -0,0 +1,534 @@
+/**
+ *
+ * Copyright (c) 2010 CEA LIST.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Tatiana Fesenko(CEA LIST) - initial API and implementation
+ */
+package org.eclipse.papyrus.uml.compare.diff.metamodel.uml_diff_extension.impl;
+
+import java.util.Collection;
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.compare.diff.merge.IMerger;
+import org.eclipse.emf.compare.diff.metamodel.AbstractDiffExtension;
+import org.eclipse.emf.compare.diff.metamodel.DiffElement;
+import org.eclipse.emf.compare.diff.metamodel.DiffPackage;
+import org.eclipse.emf.compare.diff.metamodel.DifferenceKind;
+import org.eclipse.emf.compare.diff.metamodel.ModelElementChange;
+import org.eclipse.emf.compare.diff.metamodel.ModelElementChangeRightTarget;
+import org.eclipse.emf.compare.util.AdapterUtils;
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.util.EObjectContainmentEList;
+import org.eclipse.emf.ecore.util.EObjectWithInverseResolvingEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+import org.eclipse.papyrus.uml.compare.UMLCompareUtils;
+import org.eclipse.papyrus.uml.compare.diff.metamodel.uml_diff_extension.AddStereotypeApplication;
+import org.eclipse.papyrus.uml.compare.diff.metamodel.uml_diff_extension.UMLDiffPackage;
+import org.eclipse.uml2.uml.util.UMLUtil;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Add Stereotype Application</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.uml.compare.diff.metamodel.uml_diff_extension.impl.AddStereotypeApplicationImpl#getSubDiffElements <em>Sub Diff Elements</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.compare.diff.metamodel.uml_diff_extension.impl.AddStereotypeApplicationImpl#getIsHiddenBy <em>Is Hidden By</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.compare.diff.metamodel.uml_diff_extension.impl.AddStereotypeApplicationImpl#isConflicting <em>Conflicting</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.compare.diff.metamodel.uml_diff_extension.impl.AddStereotypeApplicationImpl#getKind <em>Kind</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.compare.diff.metamodel.uml_diff_extension.impl.AddStereotypeApplicationImpl#isRemote <em>Remote</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.compare.diff.metamodel.uml_diff_extension.impl.AddStereotypeApplicationImpl#getLeftParent <em>Left Parent</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.compare.diff.metamodel.uml_diff_extension.impl.AddStereotypeApplicationImpl#getRightElement <em>Right Element</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class AddStereotypeApplicationImpl extends StereotypeChangeImpl implements AddStereotypeApplication {
+ /**
+ * The cached value of the '{@link #getSubDiffElements() <em>Sub Diff Elements</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getSubDiffElements()
+ * @generated
+ * @ordered
+ */
+ protected EList<DiffElement> subDiffElements;
+ /**
+ * The cached value of the '{@link #getIsHiddenBy() <em>Is Hidden By</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getIsHiddenBy()
+ * @generated
+ * @ordered
+ */
+ protected EList<AbstractDiffExtension> isHiddenBy;
+ /**
+ * The default value of the '{@link #isConflicting() <em>Conflicting</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isConflicting()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean CONFLICTING_EDEFAULT = false;
+ /**
+ * The cached value of the '{@link #isConflicting() <em>Conflicting</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isConflicting()
+ * @generated
+ * @ordered
+ */
+ protected boolean conflicting = CONFLICTING_EDEFAULT;
+ /**
+ * The default value of the '{@link #getKind() <em>Kind</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getKind()
+ * @generated
+ * @ordered
+ */
+ protected static final DifferenceKind KIND_EDEFAULT = DifferenceKind.ADDITION;
+ /**
+ * The cached value of the '{@link #getKind() <em>Kind</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getKind()
+ * @generated
+ * @ordered
+ */
+ protected DifferenceKind kind = KIND_EDEFAULT;
+ /**
+ * The default value of the '{@link #isRemote() <em>Remote</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isRemote()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean REMOTE_EDEFAULT = false;
+ /**
+ * The cached value of the '{@link #isRemote() <em>Remote</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isRemote()
+ * @generated
+ * @ordered
+ */
+ protected boolean remote = REMOTE_EDEFAULT;
+ /**
+ * The cached value of the '{@link #getLeftParent() <em>Left Parent</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getLeftParent()
+ * @generated
+ * @ordered
+ */
+ protected EObject leftParent;
+ /**
+ * The cached value of the '{@link #getRightElement() <em>Right Element</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getRightElement()
+ * @generated
+ * @ordered
+ */
+ protected EObject rightElement;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected AddStereotypeApplicationImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return UMLDiffPackage.Literals.ADD_STEREOTYPE_APPLICATION;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<DiffElement> getSubDiffElements() {
+ if (subDiffElements == null) {
+ subDiffElements = new EObjectContainmentEList<DiffElement>(DiffElement.class, this, UMLDiffPackage.ADD_STEREOTYPE_APPLICATION__SUB_DIFF_ELEMENTS);
+ }
+ return subDiffElements;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<AbstractDiffExtension> getIsHiddenBy() {
+ if (isHiddenBy == null) {
+ isHiddenBy = new EObjectWithInverseResolvingEList.ManyInverse<AbstractDiffExtension>(AbstractDiffExtension.class, this, UMLDiffPackage.ADD_STEREOTYPE_APPLICATION__IS_HIDDEN_BY, DiffPackage.ABSTRACT_DIFF_EXTENSION__HIDE_ELEMENTS);
+ }
+ return isHiddenBy;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isConflicting() {
+ return conflicting;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public DifferenceKind getKind() {
+ return kind;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isRemote() {
+ return remote;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setRemote(boolean newRemote) {
+ boolean oldRemote = remote;
+ remote = newRemote;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, UMLDiffPackage.ADD_STEREOTYPE_APPLICATION__REMOTE, oldRemote, remote));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EObject getLeftParent() {
+ if (leftParent != null && leftParent.eIsProxy()) {
+ InternalEObject oldLeftParent = (InternalEObject)leftParent;
+ leftParent = eResolveProxy(oldLeftParent);
+ if (leftParent != oldLeftParent) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, UMLDiffPackage.ADD_STEREOTYPE_APPLICATION__LEFT_PARENT, oldLeftParent, leftParent));
+ }
+ }
+ return leftParent;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EObject basicGetLeftParent() {
+ return leftParent;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setLeftParent(EObject newLeftParent) {
+ EObject oldLeftParent = leftParent;
+ leftParent = newLeftParent;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, UMLDiffPackage.ADD_STEREOTYPE_APPLICATION__LEFT_PARENT, oldLeftParent, leftParent));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EObject getRightElement() {
+ if (rightElement != null && rightElement.eIsProxy()) {
+ InternalEObject oldRightElement = (InternalEObject)rightElement;
+ rightElement = eResolveProxy(oldRightElement);
+ if (rightElement != oldRightElement) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, UMLDiffPackage.ADD_STEREOTYPE_APPLICATION__RIGHT_ELEMENT, oldRightElement, rightElement));
+ }
+ }
+ return rightElement;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EObject basicGetRightElement() {
+ return rightElement;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setRightElement(EObject newRightElement) {
+ EObject oldRightElement = rightElement;
+ rightElement = newRightElement;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, UMLDiffPackage.ADD_STEREOTYPE_APPLICATION__RIGHT_ELEMENT, oldRightElement, rightElement));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case UMLDiffPackage.ADD_STEREOTYPE_APPLICATION__IS_HIDDEN_BY:
+ return ((InternalEList<InternalEObject>)(InternalEList<?>)getIsHiddenBy()).basicAdd(otherEnd, msgs);
+ }
+ return super.eInverseAdd(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case UMLDiffPackage.ADD_STEREOTYPE_APPLICATION__SUB_DIFF_ELEMENTS:
+ return ((InternalEList<?>)getSubDiffElements()).basicRemove(otherEnd, msgs);
+ case UMLDiffPackage.ADD_STEREOTYPE_APPLICATION__IS_HIDDEN_BY:
+ return ((InternalEList<?>)getIsHiddenBy()).basicRemove(otherEnd, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case UMLDiffPackage.ADD_STEREOTYPE_APPLICATION__SUB_DIFF_ELEMENTS:
+ return getSubDiffElements();
+ case UMLDiffPackage.ADD_STEREOTYPE_APPLICATION__IS_HIDDEN_BY:
+ return getIsHiddenBy();
+ case UMLDiffPackage.ADD_STEREOTYPE_APPLICATION__CONFLICTING:
+ return isConflicting();
+ case UMLDiffPackage.ADD_STEREOTYPE_APPLICATION__KIND:
+ return getKind();
+ case UMLDiffPackage.ADD_STEREOTYPE_APPLICATION__REMOTE:
+ return isRemote();
+ case UMLDiffPackage.ADD_STEREOTYPE_APPLICATION__LEFT_PARENT:
+ if (resolve) return getLeftParent();
+ return basicGetLeftParent();
+ case UMLDiffPackage.ADD_STEREOTYPE_APPLICATION__RIGHT_ELEMENT:
+ if (resolve) return getRightElement();
+ return basicGetRightElement();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case UMLDiffPackage.ADD_STEREOTYPE_APPLICATION__SUB_DIFF_ELEMENTS:
+ getSubDiffElements().clear();
+ getSubDiffElements().addAll((Collection<? extends DiffElement>)newValue);
+ return;
+ case UMLDiffPackage.ADD_STEREOTYPE_APPLICATION__IS_HIDDEN_BY:
+ getIsHiddenBy().clear();
+ getIsHiddenBy().addAll((Collection<? extends AbstractDiffExtension>)newValue);
+ return;
+ case UMLDiffPackage.ADD_STEREOTYPE_APPLICATION__REMOTE:
+ setRemote((Boolean)newValue);
+ return;
+ case UMLDiffPackage.ADD_STEREOTYPE_APPLICATION__LEFT_PARENT:
+ setLeftParent((EObject)newValue);
+ return;
+ case UMLDiffPackage.ADD_STEREOTYPE_APPLICATION__RIGHT_ELEMENT:
+ setRightElement((EObject)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case UMLDiffPackage.ADD_STEREOTYPE_APPLICATION__SUB_DIFF_ELEMENTS:
+ getSubDiffElements().clear();
+ return;
+ case UMLDiffPackage.ADD_STEREOTYPE_APPLICATION__IS_HIDDEN_BY:
+ getIsHiddenBy().clear();
+ return;
+ case UMLDiffPackage.ADD_STEREOTYPE_APPLICATION__REMOTE:
+ setRemote(REMOTE_EDEFAULT);
+ return;
+ case UMLDiffPackage.ADD_STEREOTYPE_APPLICATION__LEFT_PARENT:
+ setLeftParent((EObject)null);
+ return;
+ case UMLDiffPackage.ADD_STEREOTYPE_APPLICATION__RIGHT_ELEMENT:
+ setRightElement((EObject)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case UMLDiffPackage.ADD_STEREOTYPE_APPLICATION__SUB_DIFF_ELEMENTS:
+ return subDiffElements != null && !subDiffElements.isEmpty();
+ case UMLDiffPackage.ADD_STEREOTYPE_APPLICATION__IS_HIDDEN_BY:
+ return isHiddenBy != null && !isHiddenBy.isEmpty();
+ case UMLDiffPackage.ADD_STEREOTYPE_APPLICATION__CONFLICTING:
+ return conflicting != CONFLICTING_EDEFAULT;
+ case UMLDiffPackage.ADD_STEREOTYPE_APPLICATION__KIND:
+ return kind != KIND_EDEFAULT;
+ case UMLDiffPackage.ADD_STEREOTYPE_APPLICATION__REMOTE:
+ return remote != REMOTE_EDEFAULT;
+ case UMLDiffPackage.ADD_STEREOTYPE_APPLICATION__LEFT_PARENT:
+ return leftParent != null;
+ case UMLDiffPackage.ADD_STEREOTYPE_APPLICATION__RIGHT_ELEMENT:
+ return rightElement != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public int eBaseStructuralFeatureID(int derivedFeatureID, Class<?> baseClass) {
+ if (baseClass == DiffElement.class) {
+ switch (derivedFeatureID) {
+ case UMLDiffPackage.ADD_STEREOTYPE_APPLICATION__SUB_DIFF_ELEMENTS: return DiffPackage.DIFF_ELEMENT__SUB_DIFF_ELEMENTS;
+ case UMLDiffPackage.ADD_STEREOTYPE_APPLICATION__IS_HIDDEN_BY: return DiffPackage.DIFF_ELEMENT__IS_HIDDEN_BY;
+ case UMLDiffPackage.ADD_STEREOTYPE_APPLICATION__CONFLICTING: return DiffPackage.DIFF_ELEMENT__CONFLICTING;
+ case UMLDiffPackage.ADD_STEREOTYPE_APPLICATION__KIND: return DiffPackage.DIFF_ELEMENT__KIND;
+ case UMLDiffPackage.ADD_STEREOTYPE_APPLICATION__REMOTE: return DiffPackage.DIFF_ELEMENT__REMOTE;
+ default: return -1;
+ }
+ }
+ if (baseClass == ModelElementChange.class) {
+ switch (derivedFeatureID) {
+ default: return -1;
+ }
+ }
+ if (baseClass == ModelElementChangeRightTarget.class) {
+ switch (derivedFeatureID) {
+ case UMLDiffPackage.ADD_STEREOTYPE_APPLICATION__LEFT_PARENT: return DiffPackage.MODEL_ELEMENT_CHANGE_RIGHT_TARGET__LEFT_PARENT;
+ case UMLDiffPackage.ADD_STEREOTYPE_APPLICATION__RIGHT_ELEMENT: return DiffPackage.MODEL_ELEMENT_CHANGE_RIGHT_TARGET__RIGHT_ELEMENT;
+ default: return -1;
+ }
+ }
+ return super.eBaseStructuralFeatureID(derivedFeatureID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public int eDerivedStructuralFeatureID(int baseFeatureID, Class<?> baseClass) {
+ if (baseClass == DiffElement.class) {
+ switch (baseFeatureID) {
+ case DiffPackage.DIFF_ELEMENT__SUB_DIFF_ELEMENTS: return UMLDiffPackage.ADD_STEREOTYPE_APPLICATION__SUB_DIFF_ELEMENTS;
+ case DiffPackage.DIFF_ELEMENT__IS_HIDDEN_BY: return UMLDiffPackage.ADD_STEREOTYPE_APPLICATION__IS_HIDDEN_BY;
+ case DiffPackage.DIFF_ELEMENT__CONFLICTING: return UMLDiffPackage.ADD_STEREOTYPE_APPLICATION__CONFLICTING;
+ case DiffPackage.DIFF_ELEMENT__KIND: return UMLDiffPackage.ADD_STEREOTYPE_APPLICATION__KIND;
+ case DiffPackage.DIFF_ELEMENT__REMOTE: return UMLDiffPackage.ADD_STEREOTYPE_APPLICATION__REMOTE;
+ default: return -1;
+ }
+ }
+ if (baseClass == ModelElementChange.class) {
+ switch (baseFeatureID) {
+ default: return -1;
+ }
+ }
+ if (baseClass == ModelElementChangeRightTarget.class) {
+ switch (baseFeatureID) {
+ case DiffPackage.MODEL_ELEMENT_CHANGE_RIGHT_TARGET__LEFT_PARENT: return UMLDiffPackage.ADD_STEREOTYPE_APPLICATION__LEFT_PARENT;
+ case DiffPackage.MODEL_ELEMENT_CHANGE_RIGHT_TARGET__RIGHT_ELEMENT: return UMLDiffPackage.ADD_STEREOTYPE_APPLICATION__RIGHT_ELEMENT;
+ default: return -1;
+ }
+ }
+ return super.eDerivedStructuralFeatureID(baseFeatureID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (conflicting: ");
+ result.append(conflicting);
+ result.append(", kind: ");
+ result.append(kind);
+ result.append(", remote: ");
+ result.append(remote);
+ result.append(')');
+ return result.toString();
+ }
+
+} //AddStereotypeApplicationImpl
diff --git a/deprecated/org.eclipse.papyrus.uml.compare/src-gen/org/eclipse/papyrus/uml/compare/diff/metamodel/uml_diff_extension/impl/CompareTwoElementsDiffModelImpl.java b/deprecated/org.eclipse.papyrus.uml.compare/src-gen/org/eclipse/papyrus/uml/compare/diff/metamodel/uml_diff_extension/impl/CompareTwoElementsDiffModelImpl.java
new file mode 100644
index 00000000000..f51775934e3
--- /dev/null
+++ b/deprecated/org.eclipse.papyrus.uml.compare/src-gen/org/eclipse/papyrus/uml/compare/diff/metamodel/uml_diff_extension/impl/CompareTwoElementsDiffModelImpl.java
@@ -0,0 +1,333 @@
+/**
+ *
+ * Copyright (c) 2010 CEA LIST.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Tatiana Fesenko(CEA LIST) - initial API and implementation
+ */
+package org.eclipse.papyrus.uml.compare.diff.metamodel.uml_diff_extension.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.NotificationChain;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.compare.diff.metamodel.DiffElement;
+import org.eclipse.emf.compare.diff.metamodel.DiffModel;
+import org.eclipse.emf.compare.diff.metamodel.DiffPackage;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.util.EObjectContainmentEList;
+import org.eclipse.emf.ecore.util.EObjectResolvingEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+import org.eclipse.papyrus.uml.compare.diff.metamodel.uml_diff_extension.CompareTwoElementsDiffModel;
+import org.eclipse.papyrus.uml.compare.diff.metamodel.uml_diff_extension.UMLDiffPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Compare Two Elements Diff Model</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.uml.compare.diff.metamodel.uml_diff_extension.impl.CompareTwoElementsDiffModelImpl#getOwnedElements <em>Owned Elements</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.compare.diff.metamodel.uml_diff_extension.impl.CompareTwoElementsDiffModelImpl#getLeftRoots <em>Left Roots</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.compare.diff.metamodel.uml_diff_extension.impl.CompareTwoElementsDiffModelImpl#getRightRoots <em>Right Roots</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.compare.diff.metamodel.uml_diff_extension.impl.CompareTwoElementsDiffModelImpl#getAncestorRoots <em>Ancestor Roots</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class CompareTwoElementsDiffModelImpl extends UMLDiffExtensionImpl implements CompareTwoElementsDiffModel {
+ /**
+ * The cached value of the '{@link #getOwnedElements() <em>Owned Elements</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOwnedElements()
+ * @generated
+ * @ordered
+ */
+ protected EList<DiffElement> ownedElements;
+
+ /**
+ * The cached value of the '{@link #getLeftRoots() <em>Left Roots</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getLeftRoots()
+ * @generated
+ * @ordered
+ */
+ protected EList<EObject> leftRoots;
+
+ /**
+ * The cached value of the '{@link #getRightRoots() <em>Right Roots</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getRightRoots()
+ * @generated
+ * @ordered
+ */
+ protected EList<EObject> rightRoots;
+
+ /**
+ * The cached value of the '{@link #getAncestorRoots() <em>Ancestor Roots</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getAncestorRoots()
+ * @generated
+ * @ordered
+ */
+ protected EList<EObject> ancestorRoots;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected CompareTwoElementsDiffModelImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return UMLDiffPackage.Literals.COMPARE_TWO_ELEMENTS_DIFF_MODEL;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<DiffElement> getOwnedElements() {
+ if (ownedElements == null) {
+ ownedElements = new EObjectContainmentEList<DiffElement>(DiffElement.class, this, UMLDiffPackage.COMPARE_TWO_ELEMENTS_DIFF_MODEL__OWNED_ELEMENTS);
+ }
+ return ownedElements;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<EObject> getLeftRoots() {
+ if (leftRoots == null) {
+ leftRoots = new EObjectResolvingEList<EObject>(EObject.class, this, UMLDiffPackage.COMPARE_TWO_ELEMENTS_DIFF_MODEL__LEFT_ROOTS);
+ }
+ return leftRoots;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<EObject> getRightRoots() {
+ if (rightRoots == null) {
+ rightRoots = new EObjectResolvingEList<EObject>(EObject.class, this, UMLDiffPackage.COMPARE_TWO_ELEMENTS_DIFF_MODEL__RIGHT_ROOTS);
+ }
+ return rightRoots;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<EObject> getAncestorRoots() {
+ if (ancestorRoots == null) {
+ ancestorRoots = new EObjectResolvingEList<EObject>(EObject.class, this, UMLDiffPackage.COMPARE_TWO_ELEMENTS_DIFF_MODEL__ANCESTOR_ROOTS);
+ }
+ return ancestorRoots;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public int getSubchanges() {
+ // TODO: implement this method
+ // Ensure that you remove @generated or mark it @generated NOT
+ throw new UnsupportedOperationException();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<DiffElement> getDifferences(EObject modelElement) {
+ // TODO: implement this method
+ // Ensure that you remove @generated or mark it @generated NOT
+ throw new UnsupportedOperationException();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<DiffElement> getDifferences() {
+ // TODO: implement this method
+ // Ensure that you remove @generated or mark it @generated NOT
+ throw new UnsupportedOperationException();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case UMLDiffPackage.COMPARE_TWO_ELEMENTS_DIFF_MODEL__OWNED_ELEMENTS:
+ return ((InternalEList<?>)getOwnedElements()).basicRemove(otherEnd, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case UMLDiffPackage.COMPARE_TWO_ELEMENTS_DIFF_MODEL__OWNED_ELEMENTS:
+ return getOwnedElements();
+ case UMLDiffPackage.COMPARE_TWO_ELEMENTS_DIFF_MODEL__LEFT_ROOTS:
+ return getLeftRoots();
+ case UMLDiffPackage.COMPARE_TWO_ELEMENTS_DIFF_MODEL__RIGHT_ROOTS:
+ return getRightRoots();
+ case UMLDiffPackage.COMPARE_TWO_ELEMENTS_DIFF_MODEL__ANCESTOR_ROOTS:
+ return getAncestorRoots();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case UMLDiffPackage.COMPARE_TWO_ELEMENTS_DIFF_MODEL__OWNED_ELEMENTS:
+ getOwnedElements().clear();
+ getOwnedElements().addAll((Collection<? extends DiffElement>)newValue);
+ return;
+ case UMLDiffPackage.COMPARE_TWO_ELEMENTS_DIFF_MODEL__LEFT_ROOTS:
+ getLeftRoots().clear();
+ getLeftRoots().addAll((Collection<? extends EObject>)newValue);
+ return;
+ case UMLDiffPackage.COMPARE_TWO_ELEMENTS_DIFF_MODEL__RIGHT_ROOTS:
+ getRightRoots().clear();
+ getRightRoots().addAll((Collection<? extends EObject>)newValue);
+ return;
+ case UMLDiffPackage.COMPARE_TWO_ELEMENTS_DIFF_MODEL__ANCESTOR_ROOTS:
+ getAncestorRoots().clear();
+ getAncestorRoots().addAll((Collection<? extends EObject>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case UMLDiffPackage.COMPARE_TWO_ELEMENTS_DIFF_MODEL__OWNED_ELEMENTS:
+ getOwnedElements().clear();
+ return;
+ case UMLDiffPackage.COMPARE_TWO_ELEMENTS_DIFF_MODEL__LEFT_ROOTS:
+ getLeftRoots().clear();
+ return;
+ case UMLDiffPackage.COMPARE_TWO_ELEMENTS_DIFF_MODEL__RIGHT_ROOTS:
+ getRightRoots().clear();
+ return;
+ case UMLDiffPackage.COMPARE_TWO_ELEMENTS_DIFF_MODEL__ANCESTOR_ROOTS:
+ getAncestorRoots().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case UMLDiffPackage.COMPARE_TWO_ELEMENTS_DIFF_MODEL__OWNED_ELEMENTS:
+ return ownedElements != null && !ownedElements.isEmpty();
+ case UMLDiffPackage.COMPARE_TWO_ELEMENTS_DIFF_MODEL__LEFT_ROOTS:
+ return leftRoots != null && !leftRoots.isEmpty();
+ case UMLDiffPackage.COMPARE_TWO_ELEMENTS_DIFF_MODEL__RIGHT_ROOTS:
+ return rightRoots != null && !rightRoots.isEmpty();
+ case UMLDiffPackage.COMPARE_TWO_ELEMENTS_DIFF_MODEL__ANCESTOR_ROOTS:
+ return ancestorRoots != null && !ancestorRoots.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public int eBaseStructuralFeatureID(int derivedFeatureID, Class<?> baseClass) {
+ if (baseClass == DiffModel.class) {
+ switch (derivedFeatureID) {
+ case UMLDiffPackage.COMPARE_TWO_ELEMENTS_DIFF_MODEL__OWNED_ELEMENTS: return DiffPackage.DIFF_MODEL__OWNED_ELEMENTS;
+ case UMLDiffPackage.COMPARE_TWO_ELEMENTS_DIFF_MODEL__LEFT_ROOTS: return DiffPackage.DIFF_MODEL__LEFT_ROOTS;
+ case UMLDiffPackage.COMPARE_TWO_ELEMENTS_DIFF_MODEL__RIGHT_ROOTS: return DiffPackage.DIFF_MODEL__RIGHT_ROOTS;
+ case UMLDiffPackage.COMPARE_TWO_ELEMENTS_DIFF_MODEL__ANCESTOR_ROOTS: return DiffPackage.DIFF_MODEL__ANCESTOR_ROOTS;
+ default: return -1;
+ }
+ }
+ return super.eBaseStructuralFeatureID(derivedFeatureID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public int eDerivedStructuralFeatureID(int baseFeatureID, Class<?> baseClass) {
+ if (baseClass == DiffModel.class) {
+ switch (baseFeatureID) {
+ case DiffPackage.DIFF_MODEL__OWNED_ELEMENTS: return UMLDiffPackage.COMPARE_TWO_ELEMENTS_DIFF_MODEL__OWNED_ELEMENTS;
+ case DiffPackage.DIFF_MODEL__LEFT_ROOTS: return UMLDiffPackage.COMPARE_TWO_ELEMENTS_DIFF_MODEL__LEFT_ROOTS;
+ case DiffPackage.DIFF_MODEL__RIGHT_ROOTS: return UMLDiffPackage.COMPARE_TWO_ELEMENTS_DIFF_MODEL__RIGHT_ROOTS;
+ case DiffPackage.DIFF_MODEL__ANCESTOR_ROOTS: return UMLDiffPackage.COMPARE_TWO_ELEMENTS_DIFF_MODEL__ANCESTOR_ROOTS;
+ default: return -1;
+ }
+ }
+ return super.eDerivedStructuralFeatureID(baseFeatureID, baseClass);
+ }
+
+
+} //CompareTwoElementsDiffModelImpl
diff --git a/deprecated/org.eclipse.papyrus.uml.compare/src-gen/org/eclipse/papyrus/uml/compare/diff/metamodel/uml_diff_extension/impl/RemoveStereotypeApplicationImpl.java b/deprecated/org.eclipse.papyrus.uml.compare/src-gen/org/eclipse/papyrus/uml/compare/diff/metamodel/uml_diff_extension/impl/RemoveStereotypeApplicationImpl.java
new file mode 100644
index 00000000000..79a2ae1529b
--- /dev/null
+++ b/deprecated/org.eclipse.papyrus.uml.compare/src-gen/org/eclipse/papyrus/uml/compare/diff/metamodel/uml_diff_extension/impl/RemoveStereotypeApplicationImpl.java
@@ -0,0 +1,534 @@
+/**
+ *
+ * Copyright (c) 2010 CEA LIST.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Tatiana Fesenko(CEA LIST) - initial API and implementation
+ */
+package org.eclipse.papyrus.uml.compare.diff.metamodel.uml_diff_extension.impl;
+
+import java.util.Collection;
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.compare.diff.merge.IMerger;
+import org.eclipse.emf.compare.diff.metamodel.AbstractDiffExtension;
+import org.eclipse.emf.compare.diff.metamodel.DiffElement;
+import org.eclipse.emf.compare.diff.metamodel.DiffPackage;
+import org.eclipse.emf.compare.diff.metamodel.DifferenceKind;
+import org.eclipse.emf.compare.diff.metamodel.ModelElementChange;
+import org.eclipse.emf.compare.diff.metamodel.ModelElementChangeLeftTarget;
+import org.eclipse.emf.compare.util.AdapterUtils;
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.util.EObjectContainmentEList;
+import org.eclipse.emf.ecore.util.EObjectWithInverseResolvingEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+import org.eclipse.papyrus.uml.compare.UMLCompareUtils;
+import org.eclipse.papyrus.uml.compare.diff.metamodel.uml_diff_extension.RemoveStereotypeApplication;
+import org.eclipse.papyrus.uml.compare.diff.metamodel.uml_diff_extension.UMLDiffPackage;
+import org.eclipse.uml2.uml.util.UMLUtil;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Remove Stereotype Application</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.uml.compare.diff.metamodel.uml_diff_extension.impl.RemoveStereotypeApplicationImpl#getSubDiffElements <em>Sub Diff Elements</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.compare.diff.metamodel.uml_diff_extension.impl.RemoveStereotypeApplicationImpl#getIsHiddenBy <em>Is Hidden By</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.compare.diff.metamodel.uml_diff_extension.impl.RemoveStereotypeApplicationImpl#isConflicting <em>Conflicting</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.compare.diff.metamodel.uml_diff_extension.impl.RemoveStereotypeApplicationImpl#getKind <em>Kind</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.compare.diff.metamodel.uml_diff_extension.impl.RemoveStereotypeApplicationImpl#isRemote <em>Remote</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.compare.diff.metamodel.uml_diff_extension.impl.RemoveStereotypeApplicationImpl#getRightParent <em>Right Parent</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.compare.diff.metamodel.uml_diff_extension.impl.RemoveStereotypeApplicationImpl#getLeftElement <em>Left Element</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class RemoveStereotypeApplicationImpl extends StereotypeChangeImpl implements RemoveStereotypeApplication {
+ /**
+ * The cached value of the '{@link #getSubDiffElements() <em>Sub Diff Elements</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getSubDiffElements()
+ * @generated
+ * @ordered
+ */
+ protected EList<DiffElement> subDiffElements;
+ /**
+ * The cached value of the '{@link #getIsHiddenBy() <em>Is Hidden By</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getIsHiddenBy()
+ * @generated
+ * @ordered
+ */
+ protected EList<AbstractDiffExtension> isHiddenBy;
+ /**
+ * The default value of the '{@link #isConflicting() <em>Conflicting</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isConflicting()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean CONFLICTING_EDEFAULT = false;
+ /**
+ * The cached value of the '{@link #isConflicting() <em>Conflicting</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isConflicting()
+ * @generated
+ * @ordered
+ */
+ protected boolean conflicting = CONFLICTING_EDEFAULT;
+ /**
+ * The default value of the '{@link #getKind() <em>Kind</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getKind()
+ * @generated
+ * @ordered
+ */
+ protected static final DifferenceKind KIND_EDEFAULT = DifferenceKind.ADDITION;
+ /**
+ * The cached value of the '{@link #getKind() <em>Kind</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getKind()
+ * @generated
+ * @ordered
+ */
+ protected DifferenceKind kind = KIND_EDEFAULT;
+ /**
+ * The default value of the '{@link #isRemote() <em>Remote</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isRemote()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean REMOTE_EDEFAULT = false;
+ /**
+ * The cached value of the '{@link #isRemote() <em>Remote</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isRemote()
+ * @generated
+ * @ordered
+ */
+ protected boolean remote = REMOTE_EDEFAULT;
+ /**
+ * The cached value of the '{@link #getRightParent() <em>Right Parent</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getRightParent()
+ * @generated
+ * @ordered
+ */
+ protected EObject rightParent;
+ /**
+ * The cached value of the '{@link #getLeftElement() <em>Left Element</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getLeftElement()
+ * @generated
+ * @ordered
+ */
+ protected EObject leftElement;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected RemoveStereotypeApplicationImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return UMLDiffPackage.Literals.REMOVE_STEREOTYPE_APPLICATION;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<DiffElement> getSubDiffElements() {
+ if (subDiffElements == null) {
+ subDiffElements = new EObjectContainmentEList<DiffElement>(DiffElement.class, this, UMLDiffPackage.REMOVE_STEREOTYPE_APPLICATION__SUB_DIFF_ELEMENTS);
+ }
+ return subDiffElements;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<AbstractDiffExtension> getIsHiddenBy() {
+ if (isHiddenBy == null) {
+ isHiddenBy = new EObjectWithInverseResolvingEList.ManyInverse<AbstractDiffExtension>(AbstractDiffExtension.class, this, UMLDiffPackage.REMOVE_STEREOTYPE_APPLICATION__IS_HIDDEN_BY, DiffPackage.ABSTRACT_DIFF_EXTENSION__HIDE_ELEMENTS);
+ }
+ return isHiddenBy;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isConflicting() {
+ return conflicting;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public DifferenceKind getKind() {
+ return kind;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isRemote() {
+ return remote;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setRemote(boolean newRemote) {
+ boolean oldRemote = remote;
+ remote = newRemote;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, UMLDiffPackage.REMOVE_STEREOTYPE_APPLICATION__REMOTE, oldRemote, remote));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EObject getRightParent() {
+ if (rightParent != null && rightParent.eIsProxy()) {
+ InternalEObject oldRightParent = (InternalEObject)rightParent;
+ rightParent = eResolveProxy(oldRightParent);
+ if (rightParent != oldRightParent) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, UMLDiffPackage.REMOVE_STEREOTYPE_APPLICATION__RIGHT_PARENT, oldRightParent, rightParent));
+ }
+ }
+ return rightParent;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EObject basicGetRightParent() {
+ return rightParent;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setRightParent(EObject newRightParent) {
+ EObject oldRightParent = rightParent;
+ rightParent = newRightParent;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, UMLDiffPackage.REMOVE_STEREOTYPE_APPLICATION__RIGHT_PARENT, oldRightParent, rightParent));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EObject getLeftElement() {
+ if (leftElement != null && leftElement.eIsProxy()) {
+ InternalEObject oldLeftElement = (InternalEObject)leftElement;
+ leftElement = eResolveProxy(oldLeftElement);
+ if (leftElement != oldLeftElement) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, UMLDiffPackage.REMOVE_STEREOTYPE_APPLICATION__LEFT_ELEMENT, oldLeftElement, leftElement));
+ }
+ }
+ return leftElement;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EObject basicGetLeftElement() {
+ return leftElement;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setLeftElement(EObject newLeftElement) {
+ EObject oldLeftElement = leftElement;
+ leftElement = newLeftElement;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, UMLDiffPackage.REMOVE_STEREOTYPE_APPLICATION__LEFT_ELEMENT, oldLeftElement, leftElement));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case UMLDiffPackage.REMOVE_STEREOTYPE_APPLICATION__IS_HIDDEN_BY:
+ return ((InternalEList<InternalEObject>)(InternalEList<?>)getIsHiddenBy()).basicAdd(otherEnd, msgs);
+ }
+ return super.eInverseAdd(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case UMLDiffPackage.REMOVE_STEREOTYPE_APPLICATION__SUB_DIFF_ELEMENTS:
+ return ((InternalEList<?>)getSubDiffElements()).basicRemove(otherEnd, msgs);
+ case UMLDiffPackage.REMOVE_STEREOTYPE_APPLICATION__IS_HIDDEN_BY:
+ return ((InternalEList<?>)getIsHiddenBy()).basicRemove(otherEnd, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case UMLDiffPackage.REMOVE_STEREOTYPE_APPLICATION__SUB_DIFF_ELEMENTS:
+ return getSubDiffElements();
+ case UMLDiffPackage.REMOVE_STEREOTYPE_APPLICATION__IS_HIDDEN_BY:
+ return getIsHiddenBy();
+ case UMLDiffPackage.REMOVE_STEREOTYPE_APPLICATION__CONFLICTING:
+ return isConflicting();
+ case UMLDiffPackage.REMOVE_STEREOTYPE_APPLICATION__KIND:
+ return getKind();
+ case UMLDiffPackage.REMOVE_STEREOTYPE_APPLICATION__REMOTE:
+ return isRemote();
+ case UMLDiffPackage.REMOVE_STEREOTYPE_APPLICATION__RIGHT_PARENT:
+ if (resolve) return getRightParent();
+ return basicGetRightParent();
+ case UMLDiffPackage.REMOVE_STEREOTYPE_APPLICATION__LEFT_ELEMENT:
+ if (resolve) return getLeftElement();
+ return basicGetLeftElement();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case UMLDiffPackage.REMOVE_STEREOTYPE_APPLICATION__SUB_DIFF_ELEMENTS:
+ getSubDiffElements().clear();
+ getSubDiffElements().addAll((Collection<? extends DiffElement>)newValue);
+ return;
+ case UMLDiffPackage.REMOVE_STEREOTYPE_APPLICATION__IS_HIDDEN_BY:
+ getIsHiddenBy().clear();
+ getIsHiddenBy().addAll((Collection<? extends AbstractDiffExtension>)newValue);
+ return;
+ case UMLDiffPackage.REMOVE_STEREOTYPE_APPLICATION__REMOTE:
+ setRemote((Boolean)newValue);
+ return;
+ case UMLDiffPackage.REMOVE_STEREOTYPE_APPLICATION__RIGHT_PARENT:
+ setRightParent((EObject)newValue);
+ return;
+ case UMLDiffPackage.REMOVE_STEREOTYPE_APPLICATION__LEFT_ELEMENT:
+ setLeftElement((EObject)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case UMLDiffPackage.REMOVE_STEREOTYPE_APPLICATION__SUB_DIFF_ELEMENTS:
+ getSubDiffElements().clear();
+ return;
+ case UMLDiffPackage.REMOVE_STEREOTYPE_APPLICATION__IS_HIDDEN_BY:
+ getIsHiddenBy().clear();
+ return;
+ case UMLDiffPackage.REMOVE_STEREOTYPE_APPLICATION__REMOTE:
+ setRemote(REMOTE_EDEFAULT);
+ return;
+ case UMLDiffPackage.REMOVE_STEREOTYPE_APPLICATION__RIGHT_PARENT:
+ setRightParent((EObject)null);
+ return;
+ case UMLDiffPackage.REMOVE_STEREOTYPE_APPLICATION__LEFT_ELEMENT:
+ setLeftElement((EObject)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case UMLDiffPackage.REMOVE_STEREOTYPE_APPLICATION__SUB_DIFF_ELEMENTS:
+ return subDiffElements != null && !subDiffElements.isEmpty();
+ case UMLDiffPackage.REMOVE_STEREOTYPE_APPLICATION__IS_HIDDEN_BY:
+ return isHiddenBy != null && !isHiddenBy.isEmpty();
+ case UMLDiffPackage.REMOVE_STEREOTYPE_APPLICATION__CONFLICTING:
+ return conflicting != CONFLICTING_EDEFAULT;
+ case UMLDiffPackage.REMOVE_STEREOTYPE_APPLICATION__KIND:
+ return kind != KIND_EDEFAULT;
+ case UMLDiffPackage.REMOVE_STEREOTYPE_APPLICATION__REMOTE:
+ return remote != REMOTE_EDEFAULT;
+ case UMLDiffPackage.REMOVE_STEREOTYPE_APPLICATION__RIGHT_PARENT:
+ return rightParent != null;
+ case UMLDiffPackage.REMOVE_STEREOTYPE_APPLICATION__LEFT_ELEMENT:
+ return leftElement != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public int eBaseStructuralFeatureID(int derivedFeatureID, Class<?> baseClass) {
+ if (baseClass == DiffElement.class) {
+ switch (derivedFeatureID) {
+ case UMLDiffPackage.REMOVE_STEREOTYPE_APPLICATION__SUB_DIFF_ELEMENTS: return DiffPackage.DIFF_ELEMENT__SUB_DIFF_ELEMENTS;
+ case UMLDiffPackage.REMOVE_STEREOTYPE_APPLICATION__IS_HIDDEN_BY: return DiffPackage.DIFF_ELEMENT__IS_HIDDEN_BY;
+ case UMLDiffPackage.REMOVE_STEREOTYPE_APPLICATION__CONFLICTING: return DiffPackage.DIFF_ELEMENT__CONFLICTING;
+ case UMLDiffPackage.REMOVE_STEREOTYPE_APPLICATION__KIND: return DiffPackage.DIFF_ELEMENT__KIND;
+ case UMLDiffPackage.REMOVE_STEREOTYPE_APPLICATION__REMOTE: return DiffPackage.DIFF_ELEMENT__REMOTE;
+ default: return -1;
+ }
+ }
+ if (baseClass == ModelElementChange.class) {
+ switch (derivedFeatureID) {
+ default: return -1;
+ }
+ }
+ if (baseClass == ModelElementChangeLeftTarget.class) {
+ switch (derivedFeatureID) {
+ case UMLDiffPackage.REMOVE_STEREOTYPE_APPLICATION__RIGHT_PARENT: return DiffPackage.MODEL_ELEMENT_CHANGE_LEFT_TARGET__RIGHT_PARENT;
+ case UMLDiffPackage.REMOVE_STEREOTYPE_APPLICATION__LEFT_ELEMENT: return DiffPackage.MODEL_ELEMENT_CHANGE_LEFT_TARGET__LEFT_ELEMENT;
+ default: return -1;
+ }
+ }
+ return super.eBaseStructuralFeatureID(derivedFeatureID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public int eDerivedStructuralFeatureID(int baseFeatureID, Class<?> baseClass) {
+ if (baseClass == DiffElement.class) {
+ switch (baseFeatureID) {
+ case DiffPackage.DIFF_ELEMENT__SUB_DIFF_ELEMENTS: return UMLDiffPackage.REMOVE_STEREOTYPE_APPLICATION__SUB_DIFF_ELEMENTS;
+ case DiffPackage.DIFF_ELEMENT__IS_HIDDEN_BY: return UMLDiffPackage.REMOVE_STEREOTYPE_APPLICATION__IS_HIDDEN_BY;
+ case DiffPackage.DIFF_ELEMENT__CONFLICTING: return UMLDiffPackage.REMOVE_STEREOTYPE_APPLICATION__CONFLICTING;
+ case DiffPackage.DIFF_ELEMENT__KIND: return UMLDiffPackage.REMOVE_STEREOTYPE_APPLICATION__KIND;
+ case DiffPackage.DIFF_ELEMENT__REMOTE: return UMLDiffPackage.REMOVE_STEREOTYPE_APPLICATION__REMOTE;
+ default: return -1;
+ }
+ }
+ if (baseClass == ModelElementChange.class) {
+ switch (baseFeatureID) {
+ default: return -1;
+ }
+ }
+ if (baseClass == ModelElementChangeLeftTarget.class) {
+ switch (baseFeatureID) {
+ case DiffPackage.MODEL_ELEMENT_CHANGE_LEFT_TARGET__RIGHT_PARENT: return UMLDiffPackage.REMOVE_STEREOTYPE_APPLICATION__RIGHT_PARENT;
+ case DiffPackage.MODEL_ELEMENT_CHANGE_LEFT_TARGET__LEFT_ELEMENT: return UMLDiffPackage.REMOVE_STEREOTYPE_APPLICATION__LEFT_ELEMENT;
+ default: return -1;
+ }
+ }
+ return super.eDerivedStructuralFeatureID(baseFeatureID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (conflicting: ");
+ result.append(conflicting);
+ result.append(", kind: ");
+ result.append(kind);
+ result.append(", remote: ");
+ result.append(remote);
+ result.append(')');
+ return result.toString();
+ }
+
+} //RemoveStereotypeApplicationImpl
diff --git a/deprecated/org.eclipse.papyrus.uml.compare/src-gen/org/eclipse/papyrus/uml/compare/diff/metamodel/uml_diff_extension/impl/StereotypeChangeImpl.java b/deprecated/org.eclipse.papyrus.uml.compare/src-gen/org/eclipse/papyrus/uml/compare/diff/metamodel/uml_diff_extension/impl/StereotypeChangeImpl.java
new file mode 100644
index 00000000000..fb2874ec430
--- /dev/null
+++ b/deprecated/org.eclipse.papyrus.uml.compare/src-gen/org/eclipse/papyrus/uml/compare/diff/metamodel/uml_diff_extension/impl/StereotypeChangeImpl.java
@@ -0,0 +1,48 @@
+/**
+ *
+ * Copyright (c) 2010 CEA LIST.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Tatiana Fesenko(CEA LIST) - initial API and implementation
+ */
+package org.eclipse.papyrus.uml.compare.diff.metamodel.uml_diff_extension.impl;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.papyrus.uml.compare.diff.metamodel.uml_diff_extension.StereotypeChange;
+import org.eclipse.papyrus.uml.compare.diff.metamodel.uml_diff_extension.UMLDiffPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Stereotype Change</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * </p>
+ *
+ * @generated
+ */
+public abstract class StereotypeChangeImpl extends UMLDiffExtensionImpl implements StereotypeChange {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected StereotypeChangeImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return UMLDiffPackage.Literals.STEREOTYPE_CHANGE;
+ }
+
+} //StereotypeChangeImpl
diff --git a/deprecated/org.eclipse.papyrus.uml.compare/src-gen/org/eclipse/papyrus/uml/compare/diff/metamodel/uml_diff_extension/impl/TaggedValueChangeImpl.java b/deprecated/org.eclipse.papyrus.uml.compare/src-gen/org/eclipse/papyrus/uml/compare/diff/metamodel/uml_diff_extension/impl/TaggedValueChangeImpl.java
new file mode 100644
index 00000000000..e39b8722f22
--- /dev/null
+++ b/deprecated/org.eclipse.papyrus.uml.compare/src-gen/org/eclipse/papyrus/uml/compare/diff/metamodel/uml_diff_extension/impl/TaggedValueChangeImpl.java
@@ -0,0 +1,599 @@
+/**
+ *
+ * Copyright (c) 2010 CEA LIST.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Tatiana Fesenko(CEA LIST) - initial API and implementation
+ */
+package org.eclipse.papyrus.uml.compare.diff.metamodel.uml_diff_extension.impl;
+
+import java.util.Collection;
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.compare.diff.merge.IMerger;
+import org.eclipse.emf.compare.diff.metamodel.AbstractDiffExtension;
+import org.eclipse.emf.compare.diff.metamodel.AttributeChange;
+import org.eclipse.emf.compare.diff.metamodel.DiffElement;
+import org.eclipse.emf.compare.diff.metamodel.DiffModel;
+import org.eclipse.emf.compare.diff.metamodel.DiffPackage;
+import org.eclipse.emf.compare.diff.metamodel.DifferenceKind;
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.compare.diff.metamodel.impl.AttributeChangeImpl;
+import org.eclipse.emf.compare.util.AdapterUtils;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.util.EObjectContainmentEList;
+import org.eclipse.emf.ecore.util.EObjectWithInverseResolvingEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+import org.eclipse.emf.edit.ui.provider.AdapterFactoryLabelProvider;
+import org.eclipse.papyrus.uml.compare.diff.metamodel.uml_diff_extension.TaggedValueChange;
+import org.eclipse.papyrus.uml.compare.diff.metamodel.uml_diff_extension.UMLDiffExtension;
+import org.eclipse.papyrus.uml.compare.diff.metamodel.uml_diff_extension.UMLDiffPackage;
+import org.eclipse.swt.graphics.Image;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Tagged Value Change</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.uml.compare.diff.metamodel.uml_diff_extension.impl.TaggedValueChangeImpl#getSubDiffElements <em>Sub Diff Elements</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.compare.diff.metamodel.uml_diff_extension.impl.TaggedValueChangeImpl#getIsHiddenBy <em>Is Hidden By</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.compare.diff.metamodel.uml_diff_extension.impl.TaggedValueChangeImpl#isConflicting <em>Conflicting</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.compare.diff.metamodel.uml_diff_extension.impl.TaggedValueChangeImpl#getKind <em>Kind</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.compare.diff.metamodel.uml_diff_extension.impl.TaggedValueChangeImpl#isRemote <em>Remote</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.compare.diff.metamodel.uml_diff_extension.impl.TaggedValueChangeImpl#getAttribute <em>Attribute</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.compare.diff.metamodel.uml_diff_extension.impl.TaggedValueChangeImpl#getLeftElement <em>Left Element</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.compare.diff.metamodel.uml_diff_extension.impl.TaggedValueChangeImpl#getRightElement <em>Right Element</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public abstract class TaggedValueChangeImpl extends UMLDiffExtensionImpl implements TaggedValueChange {
+ /**
+ * The cached value of the '{@link #getSubDiffElements() <em>Sub Diff Elements</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getSubDiffElements()
+ * @generated
+ * @ordered
+ */
+ protected EList<DiffElement> subDiffElements;
+ /**
+ * The cached value of the '{@link #getIsHiddenBy() <em>Is Hidden By</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getIsHiddenBy()
+ * @generated
+ * @ordered
+ */
+ protected EList<AbstractDiffExtension> isHiddenBy;
+ /**
+ * The default value of the '{@link #isConflicting() <em>Conflicting</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isConflicting()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean CONFLICTING_EDEFAULT = false;
+ /**
+ * The cached value of the '{@link #isConflicting() <em>Conflicting</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isConflicting()
+ * @generated
+ * @ordered
+ */
+ protected boolean conflicting = CONFLICTING_EDEFAULT;
+ /**
+ * The default value of the '{@link #getKind() <em>Kind</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getKind()
+ * @generated
+ * @ordered
+ */
+ protected static final DifferenceKind KIND_EDEFAULT = DifferenceKind.ADDITION;
+ /**
+ * The cached value of the '{@link #getKind() <em>Kind</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getKind()
+ * @generated
+ * @ordered
+ */
+ protected DifferenceKind kind = KIND_EDEFAULT;
+ /**
+ * The default value of the '{@link #isRemote() <em>Remote</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isRemote()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean REMOTE_EDEFAULT = false;
+ /**
+ * The cached value of the '{@link #isRemote() <em>Remote</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isRemote()
+ * @generated
+ * @ordered
+ */
+ protected boolean remote = REMOTE_EDEFAULT;
+ /**
+ * The cached value of the '{@link #getAttribute() <em>Attribute</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getAttribute()
+ * @generated
+ * @ordered
+ */
+ protected EAttribute attribute;
+ /**
+ * The cached value of the '{@link #getLeftElement() <em>Left Element</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getLeftElement()
+ * @generated
+ * @ordered
+ */
+ protected EObject leftElement;
+ /**
+ * The cached value of the '{@link #getRightElement() <em>Right Element</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getRightElement()
+ * @generated
+ * @ordered
+ */
+ protected EObject rightElement;
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected TaggedValueChangeImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return UMLDiffPackage.Literals.TAGGED_VALUE_CHANGE;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<DiffElement> getSubDiffElements() {
+ if (subDiffElements == null) {
+ subDiffElements = new EObjectContainmentEList<DiffElement>(DiffElement.class, this, UMLDiffPackage.TAGGED_VALUE_CHANGE__SUB_DIFF_ELEMENTS);
+ }
+ return subDiffElements;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<AbstractDiffExtension> getIsHiddenBy() {
+ if (isHiddenBy == null) {
+ isHiddenBy = new EObjectWithInverseResolvingEList.ManyInverse<AbstractDiffExtension>(AbstractDiffExtension.class, this, UMLDiffPackage.TAGGED_VALUE_CHANGE__IS_HIDDEN_BY, DiffPackage.ABSTRACT_DIFF_EXTENSION__HIDE_ELEMENTS);
+ }
+ return isHiddenBy;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isConflicting() {
+ return conflicting;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public DifferenceKind getKind() {
+ return kind;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isRemote() {
+ return remote;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setRemote(boolean newRemote) {
+ boolean oldRemote = remote;
+ remote = newRemote;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, UMLDiffPackage.TAGGED_VALUE_CHANGE__REMOTE, oldRemote, remote));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getAttribute() {
+ if (attribute != null && attribute.eIsProxy()) {
+ InternalEObject oldAttribute = (InternalEObject)attribute;
+ attribute = (EAttribute)eResolveProxy(oldAttribute);
+ if (attribute != oldAttribute) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, UMLDiffPackage.TAGGED_VALUE_CHANGE__ATTRIBUTE, oldAttribute, attribute));
+ }
+ }
+ return attribute;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute basicGetAttribute() {
+ return attribute;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setAttribute(EAttribute newAttribute) {
+ EAttribute oldAttribute = attribute;
+ attribute = newAttribute;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, UMLDiffPackage.TAGGED_VALUE_CHANGE__ATTRIBUTE, oldAttribute, attribute));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EObject getLeftElement() {
+ if (leftElement != null && leftElement.eIsProxy()) {
+ InternalEObject oldLeftElement = (InternalEObject)leftElement;
+ leftElement = eResolveProxy(oldLeftElement);
+ if (leftElement != oldLeftElement) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, UMLDiffPackage.TAGGED_VALUE_CHANGE__LEFT_ELEMENT, oldLeftElement, leftElement));
+ }
+ }
+ return leftElement;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EObject basicGetLeftElement() {
+ return leftElement;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setLeftElement(EObject newLeftElement) {
+ EObject oldLeftElement = leftElement;
+ leftElement = newLeftElement;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, UMLDiffPackage.TAGGED_VALUE_CHANGE__LEFT_ELEMENT, oldLeftElement, leftElement));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EObject getRightElement() {
+ if (rightElement != null && rightElement.eIsProxy()) {
+ InternalEObject oldRightElement = (InternalEObject)rightElement;
+ rightElement = eResolveProxy(oldRightElement);
+ if (rightElement != oldRightElement) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, UMLDiffPackage.TAGGED_VALUE_CHANGE__RIGHT_ELEMENT, oldRightElement, rightElement));
+ }
+ }
+ return rightElement;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EObject basicGetRightElement() {
+ return rightElement;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setRightElement(EObject newRightElement) {
+ EObject oldRightElement = rightElement;
+ rightElement = newRightElement;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, UMLDiffPackage.TAGGED_VALUE_CHANGE__RIGHT_ELEMENT, oldRightElement, rightElement));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated NOT
+ */
+ public Object getImage() {
+ AdapterFactoryLabelProvider adapterProvider = new AdapterFactoryLabelProvider(AdapterUtils.getAdapterFactory());
+ Image labelImage = adapterProvider.getImage(getAttribute());
+ return labelImage;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case UMLDiffPackage.TAGGED_VALUE_CHANGE__IS_HIDDEN_BY:
+ return ((InternalEList<InternalEObject>)(InternalEList<?>)getIsHiddenBy()).basicAdd(otherEnd, msgs);
+ }
+ return super.eInverseAdd(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case UMLDiffPackage.TAGGED_VALUE_CHANGE__SUB_DIFF_ELEMENTS:
+ return ((InternalEList<?>)getSubDiffElements()).basicRemove(otherEnd, msgs);
+ case UMLDiffPackage.TAGGED_VALUE_CHANGE__IS_HIDDEN_BY:
+ return ((InternalEList<?>)getIsHiddenBy()).basicRemove(otherEnd, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case UMLDiffPackage.TAGGED_VALUE_CHANGE__SUB_DIFF_ELEMENTS:
+ return getSubDiffElements();
+ case UMLDiffPackage.TAGGED_VALUE_CHANGE__IS_HIDDEN_BY:
+ return getIsHiddenBy();
+ case UMLDiffPackage.TAGGED_VALUE_CHANGE__CONFLICTING:
+ return isConflicting();
+ case UMLDiffPackage.TAGGED_VALUE_CHANGE__KIND:
+ return getKind();
+ case UMLDiffPackage.TAGGED_VALUE_CHANGE__REMOTE:
+ return isRemote();
+ case UMLDiffPackage.TAGGED_VALUE_CHANGE__ATTRIBUTE:
+ if (resolve) return getAttribute();
+ return basicGetAttribute();
+ case UMLDiffPackage.TAGGED_VALUE_CHANGE__LEFT_ELEMENT:
+ if (resolve) return getLeftElement();
+ return basicGetLeftElement();
+ case UMLDiffPackage.TAGGED_VALUE_CHANGE__RIGHT_ELEMENT:
+ if (resolve) return getRightElement();
+ return basicGetRightElement();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case UMLDiffPackage.TAGGED_VALUE_CHANGE__SUB_DIFF_ELEMENTS:
+ getSubDiffElements().clear();
+ getSubDiffElements().addAll((Collection<? extends DiffElement>)newValue);
+ return;
+ case UMLDiffPackage.TAGGED_VALUE_CHANGE__IS_HIDDEN_BY:
+ getIsHiddenBy().clear();
+ getIsHiddenBy().addAll((Collection<? extends AbstractDiffExtension>)newValue);
+ return;
+ case UMLDiffPackage.TAGGED_VALUE_CHANGE__REMOTE:
+ setRemote((Boolean)newValue);
+ return;
+ case UMLDiffPackage.TAGGED_VALUE_CHANGE__ATTRIBUTE:
+ setAttribute((EAttribute)newValue);
+ return;
+ case UMLDiffPackage.TAGGED_VALUE_CHANGE__LEFT_ELEMENT:
+ setLeftElement((EObject)newValue);
+ return;
+ case UMLDiffPackage.TAGGED_VALUE_CHANGE__RIGHT_ELEMENT:
+ setRightElement((EObject)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case UMLDiffPackage.TAGGED_VALUE_CHANGE__SUB_DIFF_ELEMENTS:
+ getSubDiffElements().clear();
+ return;
+ case UMLDiffPackage.TAGGED_VALUE_CHANGE__IS_HIDDEN_BY:
+ getIsHiddenBy().clear();
+ return;
+ case UMLDiffPackage.TAGGED_VALUE_CHANGE__REMOTE:
+ setRemote(REMOTE_EDEFAULT);
+ return;
+ case UMLDiffPackage.TAGGED_VALUE_CHANGE__ATTRIBUTE:
+ setAttribute((EAttribute)null);
+ return;
+ case UMLDiffPackage.TAGGED_VALUE_CHANGE__LEFT_ELEMENT:
+ setLeftElement((EObject)null);
+ return;
+ case UMLDiffPackage.TAGGED_VALUE_CHANGE__RIGHT_ELEMENT:
+ setRightElement((EObject)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case UMLDiffPackage.TAGGED_VALUE_CHANGE__SUB_DIFF_ELEMENTS:
+ return subDiffElements != null && !subDiffElements.isEmpty();
+ case UMLDiffPackage.TAGGED_VALUE_CHANGE__IS_HIDDEN_BY:
+ return isHiddenBy != null && !isHiddenBy.isEmpty();
+ case UMLDiffPackage.TAGGED_VALUE_CHANGE__CONFLICTING:
+ return conflicting != CONFLICTING_EDEFAULT;
+ case UMLDiffPackage.TAGGED_VALUE_CHANGE__KIND:
+ return kind != KIND_EDEFAULT;
+ case UMLDiffPackage.TAGGED_VALUE_CHANGE__REMOTE:
+ return remote != REMOTE_EDEFAULT;
+ case UMLDiffPackage.TAGGED_VALUE_CHANGE__ATTRIBUTE:
+ return attribute != null;
+ case UMLDiffPackage.TAGGED_VALUE_CHANGE__LEFT_ELEMENT:
+ return leftElement != null;
+ case UMLDiffPackage.TAGGED_VALUE_CHANGE__RIGHT_ELEMENT:
+ return rightElement != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public int eBaseStructuralFeatureID(int derivedFeatureID, Class<?> baseClass) {
+ if (baseClass == DiffElement.class) {
+ switch (derivedFeatureID) {
+ case UMLDiffPackage.TAGGED_VALUE_CHANGE__SUB_DIFF_ELEMENTS: return DiffPackage.DIFF_ELEMENT__SUB_DIFF_ELEMENTS;
+ case UMLDiffPackage.TAGGED_VALUE_CHANGE__IS_HIDDEN_BY: return DiffPackage.DIFF_ELEMENT__IS_HIDDEN_BY;
+ case UMLDiffPackage.TAGGED_VALUE_CHANGE__CONFLICTING: return DiffPackage.DIFF_ELEMENT__CONFLICTING;
+ case UMLDiffPackage.TAGGED_VALUE_CHANGE__KIND: return DiffPackage.DIFF_ELEMENT__KIND;
+ case UMLDiffPackage.TAGGED_VALUE_CHANGE__REMOTE: return DiffPackage.DIFF_ELEMENT__REMOTE;
+ default: return -1;
+ }
+ }
+ if (baseClass == AttributeChange.class) {
+ switch (derivedFeatureID) {
+ case UMLDiffPackage.TAGGED_VALUE_CHANGE__ATTRIBUTE: return DiffPackage.ATTRIBUTE_CHANGE__ATTRIBUTE;
+ case UMLDiffPackage.TAGGED_VALUE_CHANGE__LEFT_ELEMENT: return DiffPackage.ATTRIBUTE_CHANGE__LEFT_ELEMENT;
+ case UMLDiffPackage.TAGGED_VALUE_CHANGE__RIGHT_ELEMENT: return DiffPackage.ATTRIBUTE_CHANGE__RIGHT_ELEMENT;
+ default: return -1;
+ }
+ }
+ return super.eBaseStructuralFeatureID(derivedFeatureID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public int eDerivedStructuralFeatureID(int baseFeatureID, Class<?> baseClass) {
+ if (baseClass == DiffElement.class) {
+ switch (baseFeatureID) {
+ case DiffPackage.DIFF_ELEMENT__SUB_DIFF_ELEMENTS: return UMLDiffPackage.TAGGED_VALUE_CHANGE__SUB_DIFF_ELEMENTS;
+ case DiffPackage.DIFF_ELEMENT__IS_HIDDEN_BY: return UMLDiffPackage.TAGGED_VALUE_CHANGE__IS_HIDDEN_BY;
+ case DiffPackage.DIFF_ELEMENT__CONFLICTING: return UMLDiffPackage.TAGGED_VALUE_CHANGE__CONFLICTING;
+ case DiffPackage.DIFF_ELEMENT__KIND: return UMLDiffPackage.TAGGED_VALUE_CHANGE__KIND;
+ case DiffPackage.DIFF_ELEMENT__REMOTE: return UMLDiffPackage.TAGGED_VALUE_CHANGE__REMOTE;
+ default: return -1;
+ }
+ }
+ if (baseClass == AttributeChange.class) {
+ switch (baseFeatureID) {
+ case DiffPackage.ATTRIBUTE_CHANGE__ATTRIBUTE: return UMLDiffPackage.TAGGED_VALUE_CHANGE__ATTRIBUTE;
+ case DiffPackage.ATTRIBUTE_CHANGE__LEFT_ELEMENT: return UMLDiffPackage.TAGGED_VALUE_CHANGE__LEFT_ELEMENT;
+ case DiffPackage.ATTRIBUTE_CHANGE__RIGHT_ELEMENT: return UMLDiffPackage.TAGGED_VALUE_CHANGE__RIGHT_ELEMENT;
+ default: return -1;
+ }
+ }
+ return super.eDerivedStructuralFeatureID(baseFeatureID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (conflicting: ");
+ result.append(conflicting);
+ result.append(", kind: ");
+ result.append(kind);
+ result.append(", remote: ");
+ result.append(remote);
+ result.append(')');
+ return result.toString();
+ }
+
+} //TaggedValueChangeImpl
diff --git a/deprecated/org.eclipse.papyrus.uml.compare/src-gen/org/eclipse/papyrus/uml/compare/diff/metamodel/uml_diff_extension/impl/TaggedValueChangeLeftTargetImpl.java b/deprecated/org.eclipse.papyrus.uml.compare/src-gen/org/eclipse/papyrus/uml/compare/diff/metamodel/uml_diff_extension/impl/TaggedValueChangeLeftTargetImpl.java
new file mode 100644
index 00000000000..cd64f09814b
--- /dev/null
+++ b/deprecated/org.eclipse.papyrus.uml.compare/src-gen/org/eclipse/papyrus/uml/compare/diff/metamodel/uml_diff_extension/impl/TaggedValueChangeLeftTargetImpl.java
@@ -0,0 +1,235 @@
+/**
+ *
+ * Copyright (c) 2010 CEA LIST.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Tatiana Fesenko(CEA LIST) - initial API and implementation
+ */
+package org.eclipse.papyrus.uml.compare.diff.metamodel.uml_diff_extension.impl;
+
+import java.util.Collection;
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.compare.diff.metamodel.AttributeChangeLeftTarget;
+import org.eclipse.emf.common.notify.NotificationChain;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.compare.diff.merge.IMerger;
+import org.eclipse.emf.compare.diff.metamodel.AbstractDiffExtension;
+import org.eclipse.emf.compare.diff.metamodel.DiffElement;
+import org.eclipse.emf.compare.diff.metamodel.DiffModel;
+import org.eclipse.emf.compare.diff.metamodel.DiffPackage;
+import org.eclipse.emf.compare.diff.metamodel.impl.AttributeChangeLeftTargetImpl;
+import org.eclipse.emf.compare.util.AdapterUtils;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.util.EObjectWithInverseResolvingEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+import org.eclipse.emf.edit.ui.provider.AdapterFactoryLabelProvider;
+import org.eclipse.papyrus.uml.compare.UMLCompareUtils;
+import org.eclipse.papyrus.uml.compare.diff.metamodel.uml_diff_extension.TaggedValueChange;
+import org.eclipse.papyrus.uml.compare.diff.metamodel.uml_diff_extension.TaggedValueChangeLeftTarget;
+import org.eclipse.papyrus.uml.compare.diff.metamodel.uml_diff_extension.UMLDiffExtension;
+import org.eclipse.papyrus.uml.compare.diff.metamodel.uml_diff_extension.UMLDiffPackage;
+import org.eclipse.swt.graphics.Image;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Tagged Value Change Left Target</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.uml.compare.diff.metamodel.uml_diff_extension.impl.TaggedValueChangeLeftTargetImpl#getLeftTarget <em>Left Target</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class TaggedValueChangeLeftTargetImpl extends TaggedValueChangeImpl implements TaggedValueChangeLeftTarget {
+
+ /**
+ * The default value of the '{@link #getLeftTarget() <em>Left Target</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getLeftTarget()
+ * @generated
+ * @ordered
+ */
+ protected static final Object LEFT_TARGET_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getLeftTarget() <em>Left Target</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getLeftTarget()
+ * @generated
+ * @ordered
+ */
+ protected Object leftTarget = LEFT_TARGET_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected TaggedValueChangeLeftTargetImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return UMLDiffPackage.Literals.TAGGED_VALUE_CHANGE_LEFT_TARGET;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Object getLeftTarget() {
+ return leftTarget;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setLeftTarget(Object newLeftTarget) {
+ Object oldLeftTarget = leftTarget;
+ leftTarget = newLeftTarget;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, UMLDiffPackage.TAGGED_VALUE_CHANGE_LEFT_TARGET__LEFT_TARGET, oldLeftTarget, leftTarget));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated NOT
+ */
+ public Object getImage() {
+ AdapterFactoryLabelProvider adapterProvider = new AdapterFactoryLabelProvider(AdapterUtils.getAdapterFactory());
+ Image labelImage = adapterProvider.getImage(getAttribute());
+ return labelImage;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case UMLDiffPackage.TAGGED_VALUE_CHANGE_LEFT_TARGET__LEFT_TARGET:
+ return getLeftTarget();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case UMLDiffPackage.TAGGED_VALUE_CHANGE_LEFT_TARGET__LEFT_TARGET:
+ setLeftTarget(newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case UMLDiffPackage.TAGGED_VALUE_CHANGE_LEFT_TARGET__LEFT_TARGET:
+ setLeftTarget(LEFT_TARGET_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case UMLDiffPackage.TAGGED_VALUE_CHANGE_LEFT_TARGET__LEFT_TARGET:
+ return LEFT_TARGET_EDEFAULT == null ? leftTarget != null : !LEFT_TARGET_EDEFAULT.equals(leftTarget);
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public int eBaseStructuralFeatureID(int derivedFeatureID, Class<?> baseClass) {
+ if (baseClass == AttributeChangeLeftTarget.class) {
+ switch (derivedFeatureID) {
+ case UMLDiffPackage.TAGGED_VALUE_CHANGE_LEFT_TARGET__LEFT_TARGET: return DiffPackage.ATTRIBUTE_CHANGE_LEFT_TARGET__LEFT_TARGET;
+ default: return -1;
+ }
+ }
+ return super.eBaseStructuralFeatureID(derivedFeatureID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public int eDerivedStructuralFeatureID(int baseFeatureID, Class<?> baseClass) {
+ if (baseClass == AttributeChangeLeftTarget.class) {
+ switch (baseFeatureID) {
+ case DiffPackage.ATTRIBUTE_CHANGE_LEFT_TARGET__LEFT_TARGET: return UMLDiffPackage.TAGGED_VALUE_CHANGE_LEFT_TARGET__LEFT_TARGET;
+ default: return -1;
+ }
+ }
+ return super.eDerivedStructuralFeatureID(baseFeatureID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (leftTarget: ");
+ result.append(leftTarget);
+ result.append(')');
+ return result.toString();
+ }
+
+} //TaggedValueChangeLeftTargetImpl
diff --git a/deprecated/org.eclipse.papyrus.uml.compare/src-gen/org/eclipse/papyrus/uml/compare/diff/metamodel/uml_diff_extension/impl/TaggedValueChangeRightTargetImpl.java b/deprecated/org.eclipse.papyrus.uml.compare/src-gen/org/eclipse/papyrus/uml/compare/diff/metamodel/uml_diff_extension/impl/TaggedValueChangeRightTargetImpl.java
new file mode 100644
index 00000000000..b02340913fd
--- /dev/null
+++ b/deprecated/org.eclipse.papyrus.uml.compare/src-gen/org/eclipse/papyrus/uml/compare/diff/metamodel/uml_diff_extension/impl/TaggedValueChangeRightTargetImpl.java
@@ -0,0 +1,231 @@
+/**
+ *
+ * Copyright (c) 2010 CEA LIST.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Tatiana Fesenko(CEA LIST) - initial API and implementation
+ */
+package org.eclipse.papyrus.uml.compare.diff.metamodel.uml_diff_extension.impl;
+
+import java.util.Collection;
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.compare.diff.metamodel.AttributeChangeRightTarget;
+import org.eclipse.emf.common.notify.NotificationChain;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.compare.diff.merge.IMerger;
+import org.eclipse.emf.compare.diff.metamodel.AbstractDiffExtension;
+import org.eclipse.emf.compare.diff.metamodel.DiffElement;
+import org.eclipse.emf.compare.diff.metamodel.DiffModel;
+import org.eclipse.emf.compare.diff.metamodel.DiffPackage;
+import org.eclipse.emf.compare.diff.metamodel.impl.AttributeChangeRightTargetImpl;
+import org.eclipse.emf.compare.util.AdapterUtils;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.util.EObjectWithInverseResolvingEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+import org.eclipse.emf.edit.ui.provider.AdapterFactoryLabelProvider;
+import org.eclipse.papyrus.uml.compare.UMLCompareUtils;
+import org.eclipse.papyrus.uml.compare.diff.metamodel.uml_diff_extension.TaggedValueChange;
+import org.eclipse.papyrus.uml.compare.diff.metamodel.uml_diff_extension.TaggedValueChangeRightTarget;
+import org.eclipse.papyrus.uml.compare.diff.metamodel.uml_diff_extension.UMLDiffExtension;
+import org.eclipse.papyrus.uml.compare.diff.metamodel.uml_diff_extension.UMLDiffPackage;
+import org.eclipse.swt.graphics.Image;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Tagged Value Change Right Target</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.uml.compare.diff.metamodel.uml_diff_extension.impl.TaggedValueChangeRightTargetImpl#getRightTarget <em>Right Target</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class TaggedValueChangeRightTargetImpl extends TaggedValueChangeImpl implements TaggedValueChangeRightTarget {
+ /**
+ * The default value of the '{@link #getRightTarget() <em>Right Target</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getRightTarget()
+ * @generated
+ * @ordered
+ */
+ protected static final Object RIGHT_TARGET_EDEFAULT = null;
+ /**
+ * The cached value of the '{@link #getRightTarget() <em>Right Target</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getRightTarget()
+ * @generated
+ * @ordered
+ */
+ protected Object rightTarget = RIGHT_TARGET_EDEFAULT;
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected TaggedValueChangeRightTargetImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return UMLDiffPackage.Literals.TAGGED_VALUE_CHANGE_RIGHT_TARGET;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Object getRightTarget() {
+ return rightTarget;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setRightTarget(Object newRightTarget) {
+ Object oldRightTarget = rightTarget;
+ rightTarget = newRightTarget;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, UMLDiffPackage.TAGGED_VALUE_CHANGE_RIGHT_TARGET__RIGHT_TARGET, oldRightTarget, rightTarget));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated NOT
+ */
+ public Object getImage() {
+ AdapterFactoryLabelProvider adapterProvider = new AdapterFactoryLabelProvider(AdapterUtils.getAdapterFactory());
+ Image labelImage = adapterProvider.getImage(getAttribute());
+ return labelImage;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case UMLDiffPackage.TAGGED_VALUE_CHANGE_RIGHT_TARGET__RIGHT_TARGET:
+ return getRightTarget();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case UMLDiffPackage.TAGGED_VALUE_CHANGE_RIGHT_TARGET__RIGHT_TARGET:
+ setRightTarget(newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case UMLDiffPackage.TAGGED_VALUE_CHANGE_RIGHT_TARGET__RIGHT_TARGET:
+ setRightTarget(RIGHT_TARGET_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case UMLDiffPackage.TAGGED_VALUE_CHANGE_RIGHT_TARGET__RIGHT_TARGET:
+ return RIGHT_TARGET_EDEFAULT == null ? rightTarget != null : !RIGHT_TARGET_EDEFAULT.equals(rightTarget);
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public int eBaseStructuralFeatureID(int derivedFeatureID, Class<?> baseClass) {
+ if (baseClass == AttributeChangeRightTarget.class) {
+ switch (derivedFeatureID) {
+ case UMLDiffPackage.TAGGED_VALUE_CHANGE_RIGHT_TARGET__RIGHT_TARGET: return DiffPackage.ATTRIBUTE_CHANGE_RIGHT_TARGET__RIGHT_TARGET;
+ default: return -1;
+ }
+ }
+ return super.eBaseStructuralFeatureID(derivedFeatureID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public int eDerivedStructuralFeatureID(int baseFeatureID, Class<?> baseClass) {
+ if (baseClass == AttributeChangeRightTarget.class) {
+ switch (baseFeatureID) {
+ case DiffPackage.ATTRIBUTE_CHANGE_RIGHT_TARGET__RIGHT_TARGET: return UMLDiffPackage.TAGGED_VALUE_CHANGE_RIGHT_TARGET__RIGHT_TARGET;
+ default: return -1;
+ }
+ }
+ return super.eDerivedStructuralFeatureID(baseFeatureID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (rightTarget: ");
+ result.append(rightTarget);
+ result.append(')');
+ return result.toString();
+ }
+
+} //TaggedValueChangeRightTargetImpl
diff --git a/deprecated/org.eclipse.papyrus.uml.compare/src-gen/org/eclipse/papyrus/uml/compare/diff/metamodel/uml_diff_extension/impl/TaggedValueReferenceChangeImpl.java b/deprecated/org.eclipse.papyrus.uml.compare/src-gen/org/eclipse/papyrus/uml/compare/diff/metamodel/uml_diff_extension/impl/TaggedValueReferenceChangeImpl.java
new file mode 100644
index 00000000000..ef98782a63e
--- /dev/null
+++ b/deprecated/org.eclipse.papyrus.uml.compare/src-gen/org/eclipse/papyrus/uml/compare/diff/metamodel/uml_diff_extension/impl/TaggedValueReferenceChangeImpl.java
@@ -0,0 +1,600 @@
+/**
+ *
+ * Copyright (c) 2010 CEA LIST.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Tatiana Fesenko(CEA LIST) - initial API and implementation
+ */
+package org.eclipse.papyrus.uml.compare.diff.metamodel.uml_diff_extension.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.compare.diff.metamodel.AbstractDiffExtension;
+import org.eclipse.emf.compare.diff.metamodel.DiffElement;
+import org.eclipse.emf.compare.diff.metamodel.DiffPackage;
+import org.eclipse.emf.compare.diff.metamodel.DifferenceKind;
+import org.eclipse.emf.compare.diff.metamodel.ReferenceChange;
+import org.eclipse.emf.compare.util.AdapterUtils;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EReference;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.emf.ecore.util.EObjectContainmentEList;
+import org.eclipse.emf.ecore.util.EObjectWithInverseResolvingEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import org.eclipse.papyrus.uml.compare.diff.metamodel.uml_diff_extension.TaggedValueReferenceChange;
+import org.eclipse.papyrus.uml.compare.diff.metamodel.uml_diff_extension.UMLDiffPackage;
+import org.eclipse.uml2.uml.util.UMLUtil;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Tagged Value Reference Change</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.uml.compare.diff.metamodel.uml_diff_extension.impl.TaggedValueReferenceChangeImpl#getSubDiffElements <em>Sub Diff Elements</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.compare.diff.metamodel.uml_diff_extension.impl.TaggedValueReferenceChangeImpl#getIsHiddenBy <em>Is Hidden By</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.compare.diff.metamodel.uml_diff_extension.impl.TaggedValueReferenceChangeImpl#isConflicting <em>Conflicting</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.compare.diff.metamodel.uml_diff_extension.impl.TaggedValueReferenceChangeImpl#getKind <em>Kind</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.compare.diff.metamodel.uml_diff_extension.impl.TaggedValueReferenceChangeImpl#isRemote <em>Remote</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.compare.diff.metamodel.uml_diff_extension.impl.TaggedValueReferenceChangeImpl#getReference <em>Reference</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.compare.diff.metamodel.uml_diff_extension.impl.TaggedValueReferenceChangeImpl#getRightElement <em>Right Element</em>}</li>
+ * <li>{@link org.eclipse.papyrus.uml.compare.diff.metamodel.uml_diff_extension.impl.TaggedValueReferenceChangeImpl#getLeftElement <em>Left Element</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class TaggedValueReferenceChangeImpl extends UMLDiffExtensionImpl implements TaggedValueReferenceChange {
+ /**
+ * The cached value of the '{@link #getSubDiffElements() <em>Sub Diff Elements</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getSubDiffElements()
+ * @generated
+ * @ordered
+ */
+ protected EList<DiffElement> subDiffElements;
+
+ /**
+ * The cached value of the '{@link #getIsHiddenBy() <em>Is Hidden By</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getIsHiddenBy()
+ * @generated
+ * @ordered
+ */
+ protected EList<AbstractDiffExtension> isHiddenBy;
+
+ /**
+ * The default value of the '{@link #isConflicting() <em>Conflicting</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isConflicting()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean CONFLICTING_EDEFAULT = false;
+
+ /**
+ * The cached value of the '{@link #isConflicting() <em>Conflicting</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isConflicting()
+ * @generated
+ * @ordered
+ */
+ protected boolean conflicting = CONFLICTING_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getKind() <em>Kind</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getKind()
+ * @generated
+ * @ordered
+ */
+ protected static final DifferenceKind KIND_EDEFAULT = DifferenceKind.ADDITION;
+
+ /**
+ * The cached value of the '{@link #getKind() <em>Kind</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getKind()
+ * @generated
+ * @ordered
+ */
+ protected DifferenceKind kind = KIND_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #isRemote() <em>Remote</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isRemote()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean REMOTE_EDEFAULT = false;
+
+ /**
+ * The cached value of the '{@link #isRemote() <em>Remote</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isRemote()
+ * @generated
+ * @ordered
+ */
+ protected boolean remote = REMOTE_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getReference() <em>Reference</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getReference()
+ * @generated
+ * @ordered
+ */
+ protected EReference reference;
+
+ /**
+ * The cached value of the '{@link #getRightElement() <em>Right Element</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getRightElement()
+ * @generated
+ * @ordered
+ */
+ protected EObject rightElement;
+
+ /**
+ * The cached value of the '{@link #getLeftElement() <em>Left Element</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getLeftElement()
+ * @generated
+ * @ordered
+ */
+ protected EObject leftElement;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected TaggedValueReferenceChangeImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return UMLDiffPackage.Literals.TAGGED_VALUE_REFERENCE_CHANGE;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<DiffElement> getSubDiffElements() {
+ if (subDiffElements == null) {
+ subDiffElements = new EObjectContainmentEList<DiffElement>(DiffElement.class, this, UMLDiffPackage.TAGGED_VALUE_REFERENCE_CHANGE__SUB_DIFF_ELEMENTS);
+ }
+ return subDiffElements;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<AbstractDiffExtension> getIsHiddenBy() {
+ if (isHiddenBy == null) {
+ isHiddenBy = new EObjectWithInverseResolvingEList.ManyInverse<AbstractDiffExtension>(AbstractDiffExtension.class, this, UMLDiffPackage.TAGGED_VALUE_REFERENCE_CHANGE__IS_HIDDEN_BY, DiffPackage.ABSTRACT_DIFF_EXTENSION__HIDE_ELEMENTS);
+ }
+ return isHiddenBy;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isConflicting() {
+ return conflicting;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public DifferenceKind getKind() {
+ return kind;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isRemote() {
+ return remote;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setRemote(boolean newRemote) {
+ boolean oldRemote = remote;
+ remote = newRemote;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, UMLDiffPackage.TAGGED_VALUE_REFERENCE_CHANGE__REMOTE, oldRemote, remote));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getReference() {
+ if (reference != null && reference.eIsProxy()) {
+ InternalEObject oldReference = (InternalEObject)reference;
+ reference = (EReference)eResolveProxy(oldReference);
+ if (reference != oldReference) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, UMLDiffPackage.TAGGED_VALUE_REFERENCE_CHANGE__REFERENCE, oldReference, reference));
+ }
+ }
+ return reference;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference basicGetReference() {
+ return reference;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setReference(EReference newReference) {
+ EReference oldReference = reference;
+ reference = newReference;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, UMLDiffPackage.TAGGED_VALUE_REFERENCE_CHANGE__REFERENCE, oldReference, reference));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EObject getRightElement() {
+ if (rightElement != null && rightElement.eIsProxy()) {
+ InternalEObject oldRightElement = (InternalEObject)rightElement;
+ rightElement = eResolveProxy(oldRightElement);
+ if (rightElement != oldRightElement) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, UMLDiffPackage.TAGGED_VALUE_REFERENCE_CHANGE__RIGHT_ELEMENT, oldRightElement, rightElement));
+ }
+ }
+ return rightElement;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EObject basicGetRightElement() {
+ return rightElement;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setRightElement(EObject newRightElement) {
+ EObject oldRightElement = rightElement;
+ rightElement = newRightElement;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, UMLDiffPackage.TAGGED_VALUE_REFERENCE_CHANGE__RIGHT_ELEMENT, oldRightElement, rightElement));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EObject getLeftElement() {
+ if (leftElement != null && leftElement.eIsProxy()) {
+ InternalEObject oldLeftElement = (InternalEObject)leftElement;
+ leftElement = eResolveProxy(oldLeftElement);
+ if (leftElement != oldLeftElement) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, UMLDiffPackage.TAGGED_VALUE_REFERENCE_CHANGE__LEFT_ELEMENT, oldLeftElement, leftElement));
+ }
+ }
+ return leftElement;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EObject basicGetLeftElement() {
+ return leftElement;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setLeftElement(EObject newLeftElement) {
+ EObject oldLeftElement = leftElement;
+ leftElement = newLeftElement;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, UMLDiffPackage.TAGGED_VALUE_REFERENCE_CHANGE__LEFT_ELEMENT, oldLeftElement, leftElement));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case UMLDiffPackage.TAGGED_VALUE_REFERENCE_CHANGE__IS_HIDDEN_BY:
+ return ((InternalEList<InternalEObject>)(InternalEList<?>)getIsHiddenBy()).basicAdd(otherEnd, msgs);
+ }
+ return super.eInverseAdd(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case UMLDiffPackage.TAGGED_VALUE_REFERENCE_CHANGE__SUB_DIFF_ELEMENTS:
+ return ((InternalEList<?>)getSubDiffElements()).basicRemove(otherEnd, msgs);
+ case UMLDiffPackage.TAGGED_VALUE_REFERENCE_CHANGE__IS_HIDDEN_BY:
+ return ((InternalEList<?>)getIsHiddenBy()).basicRemove(otherEnd, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case UMLDiffPackage.TAGGED_VALUE_REFERENCE_CHANGE__SUB_DIFF_ELEMENTS:
+ return getSubDiffElements();
+ case UMLDiffPackage.TAGGED_VALUE_REFERENCE_CHANGE__IS_HIDDEN_BY:
+ return getIsHiddenBy();
+ case UMLDiffPackage.TAGGED_VALUE_REFERENCE_CHANGE__CONFLICTING:
+ return isConflicting();
+ case UMLDiffPackage.TAGGED_VALUE_REFERENCE_CHANGE__KIND:
+ return getKind();
+ case UMLDiffPackage.TAGGED_VALUE_REFERENCE_CHANGE__REMOTE:
+ return isRemote();
+ case UMLDiffPackage.TAGGED_VALUE_REFERENCE_CHANGE__REFERENCE:
+ if (resolve) return getReference();
+ return basicGetReference();
+ case UMLDiffPackage.TAGGED_VALUE_REFERENCE_CHANGE__RIGHT_ELEMENT:
+ if (resolve) return getRightElement();
+ return basicGetRightElement();
+ case UMLDiffPackage.TAGGED_VALUE_REFERENCE_CHANGE__LEFT_ELEMENT:
+ if (resolve) return getLeftElement();
+ return basicGetLeftElement();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case UMLDiffPackage.TAGGED_VALUE_REFERENCE_CHANGE__SUB_DIFF_ELEMENTS:
+ getSubDiffElements().clear();
+ getSubDiffElements().addAll((Collection<? extends DiffElement>)newValue);
+ return;
+ case UMLDiffPackage.TAGGED_VALUE_REFERENCE_CHANGE__IS_HIDDEN_BY:
+ getIsHiddenBy().clear();
+ getIsHiddenBy().addAll((Collection<? extends AbstractDiffExtension>)newValue);
+ return;
+ case UMLDiffPackage.TAGGED_VALUE_REFERENCE_CHANGE__REMOTE:
+ setRemote((Boolean)newValue);
+ return;
+ case UMLDiffPackage.TAGGED_VALUE_REFERENCE_CHANGE__REFERENCE:
+ setReference((EReference)newValue);
+ return;
+ case UMLDiffPackage.TAGGED_VALUE_REFERENCE_CHANGE__RIGHT_ELEMENT:
+ setRightElement((EObject)newValue);
+ return;
+ case UMLDiffPackage.TAGGED_VALUE_REFERENCE_CHANGE__LEFT_ELEMENT:
+ setLeftElement((EObject)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case UMLDiffPackage.TAGGED_VALUE_REFERENCE_CHANGE__SUB_DIFF_ELEMENTS:
+ getSubDiffElements().clear();
+ return;
+ case UMLDiffPackage.TAGGED_VALUE_REFERENCE_CHANGE__IS_HIDDEN_BY:
+ getIsHiddenBy().clear();
+ return;
+ case UMLDiffPackage.TAGGED_VALUE_REFERENCE_CHANGE__REMOTE:
+ setRemote(REMOTE_EDEFAULT);
+ return;
+ case UMLDiffPackage.TAGGED_VALUE_REFERENCE_CHANGE__REFERENCE:
+ setReference((EReference)null);
+ return;
+ case UMLDiffPackage.TAGGED_VALUE_REFERENCE_CHANGE__RIGHT_ELEMENT:
+ setRightElement((EObject)null);
+ return;
+ case UMLDiffPackage.TAGGED_VALUE_REFERENCE_CHANGE__LEFT_ELEMENT:
+ setLeftElement((EObject)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case UMLDiffPackage.TAGGED_VALUE_REFERENCE_CHANGE__SUB_DIFF_ELEMENTS:
+ return subDiffElements != null && !subDiffElements.isEmpty();
+ case UMLDiffPackage.TAGGED_VALUE_REFERENCE_CHANGE__IS_HIDDEN_BY:
+ return isHiddenBy != null && !isHiddenBy.isEmpty();
+ case UMLDiffPackage.TAGGED_VALUE_REFERENCE_CHANGE__CONFLICTING:
+ return conflicting != CONFLICTING_EDEFAULT;
+ case UMLDiffPackage.TAGGED_VALUE_REFERENCE_CHANGE__KIND:
+ return kind != KIND_EDEFAULT;
+ case UMLDiffPackage.TAGGED_VALUE_REFERENCE_CHANGE__REMOTE:
+ return remote != REMOTE_EDEFAULT;
+ case UMLDiffPackage.TAGGED_VALUE_REFERENCE_CHANGE__REFERENCE:
+ return reference != null;
+ case UMLDiffPackage.TAGGED_VALUE_REFERENCE_CHANGE__RIGHT_ELEMENT:
+ return rightElement != null;
+ case UMLDiffPackage.TAGGED_VALUE_REFERENCE_CHANGE__LEFT_ELEMENT:
+ return leftElement != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public int eBaseStructuralFeatureID(int derivedFeatureID, Class<?> baseClass) {
+ if (baseClass == DiffElement.class) {
+ switch (derivedFeatureID) {
+ case UMLDiffPackage.TAGGED_VALUE_REFERENCE_CHANGE__SUB_DIFF_ELEMENTS: return DiffPackage.DIFF_ELEMENT__SUB_DIFF_ELEMENTS;
+ case UMLDiffPackage.TAGGED_VALUE_REFERENCE_CHANGE__IS_HIDDEN_BY: return DiffPackage.DIFF_ELEMENT__IS_HIDDEN_BY;
+ case UMLDiffPackage.TAGGED_VALUE_REFERENCE_CHANGE__CONFLICTING: return DiffPackage.DIFF_ELEMENT__CONFLICTING;
+ case UMLDiffPackage.TAGGED_VALUE_REFERENCE_CHANGE__KIND: return DiffPackage.DIFF_ELEMENT__KIND;
+ case UMLDiffPackage.TAGGED_VALUE_REFERENCE_CHANGE__REMOTE: return DiffPackage.DIFF_ELEMENT__REMOTE;
+ default: return -1;
+ }
+ }
+ if (baseClass == ReferenceChange.class) {
+ switch (derivedFeatureID) {
+ case UMLDiffPackage.TAGGED_VALUE_REFERENCE_CHANGE__REFERENCE: return DiffPackage.REFERENCE_CHANGE__REFERENCE;
+ case UMLDiffPackage.TAGGED_VALUE_REFERENCE_CHANGE__RIGHT_ELEMENT: return DiffPackage.REFERENCE_CHANGE__RIGHT_ELEMENT;
+ case UMLDiffPackage.TAGGED_VALUE_REFERENCE_CHANGE__LEFT_ELEMENT: return DiffPackage.REFERENCE_CHANGE__LEFT_ELEMENT;
+ default: return -1;
+ }
+ }
+ return super.eBaseStructuralFeatureID(derivedFeatureID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public int eDerivedStructuralFeatureID(int baseFeatureID, Class<?> baseClass) {
+ if (baseClass == DiffElement.class) {
+ switch (baseFeatureID) {
+ case DiffPackage.DIFF_ELEMENT__SUB_DIFF_ELEMENTS: return UMLDiffPackage.TAGGED_VALUE_REFERENCE_CHANGE__SUB_DIFF_ELEMENTS;
+ case DiffPackage.DIFF_ELEMENT__IS_HIDDEN_BY: return UMLDiffPackage.TAGGED_VALUE_REFERENCE_CHANGE__IS_HIDDEN_BY;
+ case DiffPackage.DIFF_ELEMENT__CONFLICTING: return UMLDiffPackage.TAGGED_VALUE_REFERENCE_CHANGE__CONFLICTING;
+ case DiffPackage.DIFF_ELEMENT__KIND: return UMLDiffPackage.TAGGED_VALUE_REFERENCE_CHANGE__KIND;
+ case DiffPackage.DIFF_ELEMENT__REMOTE: return UMLDiffPackage.TAGGED_VALUE_REFERENCE_CHANGE__REMOTE;
+ default: return -1;
+ }
+ }
+ if (baseClass == ReferenceChange.class) {
+ switch (baseFeatureID) {
+ case DiffPackage.REFERENCE_CHANGE__REFERENCE: return UMLDiffPackage.TAGGED_VALUE_REFERENCE_CHANGE__REFERENCE;
+ case DiffPackage.REFERENCE_CHANGE__RIGHT_ELEMENT: return UMLDiffPackage.TAGGED_VALUE_REFERENCE_CHANGE__RIGHT_ELEMENT;
+ case DiffPackage.REFERENCE_CHANGE__LEFT_ELEMENT: return UMLDiffPackage.TAGGED_VALUE_REFERENCE_CHANGE__LEFT_ELEMENT;
+ default: return -1;
+ }
+ }
+ return super.eDerivedStructuralFeatureID(baseFeatureID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (conflicting: ");
+ result.append(conflicting);
+ result.append(", kind: ");
+ result.append(kind);
+ result.append(", remote: ");
+ result.append(remote);
+ result.append(')');
+ return result.toString();
+ }
+
+
+} //TaggedValueReferenceChangeImpl
diff --git a/deprecated/org.eclipse.papyrus.uml.compare/src-gen/org/eclipse/papyrus/uml/compare/diff/metamodel/uml_diff_extension/impl/UMLDiffExtensionImpl.java b/deprecated/org.eclipse.papyrus.uml.compare/src-gen/org/eclipse/papyrus/uml/compare/diff/metamodel/uml_diff_extension/impl/UMLDiffExtensionImpl.java
new file mode 100644
index 00000000000..c881e3dcf52
--- /dev/null
+++ b/deprecated/org.eclipse.papyrus.uml.compare/src-gen/org/eclipse/papyrus/uml/compare/diff/metamodel/uml_diff_extension/impl/UMLDiffExtensionImpl.java
@@ -0,0 +1,93 @@
+/**
+ *
+ * Copyright (c) 2010 CEA LIST.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Tatiana Fesenko(CEA LIST) - initial API and implementation
+ */
+package org.eclipse.papyrus.uml.compare.diff.metamodel.uml_diff_extension.impl;
+
+import org.eclipse.emf.compare.diff.merge.IMerger;
+import org.eclipse.emf.compare.diff.metamodel.impl.AbstractDiffExtensionImpl;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.jface.viewers.ILabelProvider;
+import org.eclipse.papyrus.uml.compare.diff.extension.UMLStyledStructureLabelProvider;
+import org.eclipse.papyrus.uml.compare.diff.metamodel.uml_diff_extension.UMLDiffExtension;
+import org.eclipse.papyrus.uml.compare.diff.metamodel.uml_diff_extension.UMLDiffPackage;
+import org.eclipse.papyrus.uml.compare.ui.PapyrusLabelProvider;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Extension</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * </p>
+ *
+ * @generated
+ */
+public abstract class UMLDiffExtensionImpl extends AbstractDiffExtensionImpl implements UMLDiffExtension {
+
+ /**
+ * @NOT-generated
+ */
+ private ILabelProvider labelProvider = new UMLStyledStructureLabelProvider(new PapyrusLabelProvider()) {
+ public String getText(Object element) {
+ String result = super.getText(element);
+ if (result == null) {
+ return "<LABEL NOT FOUND>";
+ }
+ return result;
+ };
+ };
+
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected UMLDiffExtensionImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return UMLDiffPackage.Literals.UML_DIFF_EXTENSION;
+ }
+
+ /**
+ *
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @NOT-generated
+ */
+ @Override
+ public String getText() {
+ return labelProvider.getText(this);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated NOT
+ */
+ public IMerger provideMerger() {
+ return null;
+ }
+
+
+
+} //UMLDiffExtensionImpl
diff --git a/deprecated/org.eclipse.papyrus.uml.compare/src-gen/org/eclipse/papyrus/uml/compare/diff/metamodel/uml_diff_extension/impl/UMLDiffFactoryImpl.java b/deprecated/org.eclipse.papyrus.uml.compare/src-gen/org/eclipse/papyrus/uml/compare/diff/metamodel/uml_diff_extension/impl/UMLDiffFactoryImpl.java
new file mode 100644
index 00000000000..b816bdea9da
--- /dev/null
+++ b/deprecated/org.eclipse.papyrus.uml.compare/src-gen/org/eclipse/papyrus/uml/compare/diff/metamodel/uml_diff_extension/impl/UMLDiffFactoryImpl.java
@@ -0,0 +1,170 @@
+/**
+ *
+ * Copyright (c) 2010 CEA LIST.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Tatiana Fesenko(CEA LIST) - initial API and implementation
+ */
+package org.eclipse.papyrus.uml.compare.diff.metamodel.uml_diff_extension.impl;
+
+import org.eclipse.emf.ecore.EClass;
+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.papyrus.uml.compare.diff.metamodel.uml_diff_extension.*;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Factory</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class UMLDiffFactoryImpl extends EFactoryImpl implements UMLDiffFactory {
+ /**
+ * Creates the default factory implementation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static UMLDiffFactory init() {
+ try {
+ UMLDiffFactory theUMLDiffFactory = (UMLDiffFactory)EPackage.Registry.INSTANCE.getEFactory("http://www.eclipse.org/uml/compare/diff_ext/1.0");
+ if (theUMLDiffFactory != null) {
+ return theUMLDiffFactory;
+ }
+ }
+ catch (Exception exception) {
+ EcorePlugin.INSTANCE.log(exception);
+ }
+ return new UMLDiffFactoryImpl();
+ }
+
+ /**
+ * Creates an instance of the factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public UMLDiffFactoryImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EObject create(EClass eClass) {
+ switch (eClass.getClassifierID()) {
+ case UMLDiffPackage.TAGGED_VALUE_CHANGE_LEFT_TARGET: return createTaggedValueChangeLeftTarget();
+ case UMLDiffPackage.TAGGED_VALUE_CHANGE_RIGHT_TARGET: return createTaggedValueChangeRightTarget();
+ case UMLDiffPackage.UPDATE_TAGGED_VALUE: return createUpdateTaggedValue();
+ case UMLDiffPackage.ADD_STEREOTYPE_APPLICATION: return createAddStereotypeApplication();
+ case UMLDiffPackage.REMOVE_STEREOTYPE_APPLICATION: return createRemoveStereotypeApplication();
+ case UMLDiffPackage.TAGGED_VALUE_REFERENCE_CHANGE: return createTaggedValueReferenceChange();
+ case UMLDiffPackage.COMPARE_TWO_ELEMENTS_DIFF_MODEL: return createCompareTwoElementsDiffModel();
+ default:
+ throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier");
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public TaggedValueChangeLeftTarget createTaggedValueChangeLeftTarget() {
+ TaggedValueChangeLeftTargetImpl taggedValueChangeLeftTarget = new TaggedValueChangeLeftTargetImpl();
+ return taggedValueChangeLeftTarget;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public TaggedValueChangeRightTarget createTaggedValueChangeRightTarget() {
+ TaggedValueChangeRightTargetImpl taggedValueChangeRightTarget = new TaggedValueChangeRightTargetImpl();
+ return taggedValueChangeRightTarget;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public UpdateTaggedValue createUpdateTaggedValue() {
+ UpdateTaggedValueImpl updateTaggedValue = new UpdateTaggedValueImpl();
+ return updateTaggedValue;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public AddStereotypeApplication createAddStereotypeApplication() {
+ AddStereotypeApplicationImpl addStereotypeApplication = new AddStereotypeApplicationImpl();
+ return addStereotypeApplication;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public RemoveStereotypeApplication createRemoveStereotypeApplication() {
+ RemoveStereotypeApplicationImpl removeStereotypeApplication = new RemoveStereotypeApplicationImpl();
+ return removeStereotypeApplication;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public TaggedValueReferenceChange createTaggedValueReferenceChange() {
+ TaggedValueReferenceChangeImpl taggedValueReferenceChange = new TaggedValueReferenceChangeImpl();
+ return taggedValueReferenceChange;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public CompareTwoElementsDiffModel createCompareTwoElementsDiffModel() {
+ CompareTwoElementsDiffModelImpl compareTwoElementsDiffModel = new CompareTwoElementsDiffModelImpl();
+ return compareTwoElementsDiffModel;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public UMLDiffPackage getUMLDiffPackage() {
+ return (UMLDiffPackage)getEPackage();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @deprecated
+ * @generated
+ */
+ @Deprecated
+ public static UMLDiffPackage getPackage() {
+ return UMLDiffPackage.eINSTANCE;
+ }
+
+} //UMLDiffFactoryImpl
diff --git a/deprecated/org.eclipse.papyrus.uml.compare/src-gen/org/eclipse/papyrus/uml/compare/diff/metamodel/uml_diff_extension/impl/UMLDiffPackageImpl.java b/deprecated/org.eclipse.papyrus.uml.compare/src-gen/org/eclipse/papyrus/uml/compare/diff/metamodel/uml_diff_extension/impl/UMLDiffPackageImpl.java
new file mode 100644
index 00000000000..386cf0d6b97
--- /dev/null
+++ b/deprecated/org.eclipse.papyrus.uml.compare/src-gen/org/eclipse/papyrus/uml/compare/diff/metamodel/uml_diff_extension/impl/UMLDiffPackageImpl.java
@@ -0,0 +1,389 @@
+/**
+ *
+ * Copyright (c) 2010 CEA LIST.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Tatiana Fesenko(CEA LIST) - initial API and implementation
+ */
+package org.eclipse.papyrus.uml.compare.diff.metamodel.uml_diff_extension.impl;
+
+import org.eclipse.emf.compare.diff.metamodel.DiffPackage;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EPackage;
+
+import org.eclipse.emf.ecore.impl.EPackageImpl;
+
+import org.eclipse.papyrus.uml.compare.diff.metamodel.uml_diff_extension.AddStereotypeApplication;
+import org.eclipse.papyrus.uml.compare.diff.metamodel.uml_diff_extension.CompareTwoElementsDiffModel;
+import org.eclipse.papyrus.uml.compare.diff.metamodel.uml_diff_extension.RemoveStereotypeApplication;
+import org.eclipse.papyrus.uml.compare.diff.metamodel.uml_diff_extension.StereotypeChange;
+import org.eclipse.papyrus.uml.compare.diff.metamodel.uml_diff_extension.TaggedValueChange;
+import org.eclipse.papyrus.uml.compare.diff.metamodel.uml_diff_extension.TaggedValueChangeLeftTarget;
+import org.eclipse.papyrus.uml.compare.diff.metamodel.uml_diff_extension.TaggedValueChangeRightTarget;
+import org.eclipse.papyrus.uml.compare.diff.metamodel.uml_diff_extension.TaggedValueReferenceChange;
+import org.eclipse.papyrus.uml.compare.diff.metamodel.uml_diff_extension.UMLDiffExtension;
+import org.eclipse.papyrus.uml.compare.diff.metamodel.uml_diff_extension.UMLDiffFactory;
+import org.eclipse.papyrus.uml.compare.diff.metamodel.uml_diff_extension.UMLDiffPackage;
+import org.eclipse.papyrus.uml.compare.diff.metamodel.uml_diff_extension.UpdateTaggedValue;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Package</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class UMLDiffPackageImpl extends EPackageImpl implements UMLDiffPackage {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass umlDiffExtensionEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass stereotypeChangeEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass taggedValueChangeEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass taggedValueChangeLeftTargetEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass taggedValueChangeRightTargetEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass updateTaggedValueEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass addStereotypeApplicationEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass removeStereotypeApplicationEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass taggedValueReferenceChangeEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass compareTwoElementsDiffModelEClass = 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.papyrus.uml.compare.diff.metamodel.uml_diff_extension.UMLDiffPackage#eNS_URI
+ * @see #init()
+ * @generated
+ */
+ private UMLDiffPackageImpl() {
+ super(eNS_URI, UMLDiffFactory.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 UMLDiffPackage#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 UMLDiffPackage init() {
+ if (isInited) return (UMLDiffPackage)EPackage.Registry.INSTANCE.getEPackage(UMLDiffPackage.eNS_URI);
+
+ // Obtain or create and register package
+ UMLDiffPackageImpl theUMLDiffPackage = (UMLDiffPackageImpl)(EPackage.Registry.INSTANCE.get(eNS_URI) instanceof UMLDiffPackageImpl ? EPackage.Registry.INSTANCE.get(eNS_URI) : new UMLDiffPackageImpl());
+
+ isInited = true;
+
+ // Initialize simple dependencies
+ DiffPackage.eINSTANCE.eClass();
+
+ // Create package meta-data objects
+ theUMLDiffPackage.createPackageContents();
+
+ // Initialize created meta-data
+ theUMLDiffPackage.initializePackageContents();
+
+ // Mark meta-data to indicate it can't be changed
+ theUMLDiffPackage.freeze();
+
+
+ // Update the registry and return the package
+ EPackage.Registry.INSTANCE.put(UMLDiffPackage.eNS_URI, theUMLDiffPackage);
+ return theUMLDiffPackage;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getUMLDiffExtension() {
+ return umlDiffExtensionEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getStereotypeChange() {
+ return stereotypeChangeEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getTaggedValueChange() {
+ return taggedValueChangeEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getTaggedValueChangeLeftTarget() {
+ return taggedValueChangeLeftTargetEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getTaggedValueChangeRightTarget() {
+ return taggedValueChangeRightTargetEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getUpdateTaggedValue() {
+ return updateTaggedValueEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getAddStereotypeApplication() {
+ return addStereotypeApplicationEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getRemoveStereotypeApplication() {
+ return removeStereotypeApplicationEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getTaggedValueReferenceChange() {
+ return taggedValueReferenceChangeEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getCompareTwoElementsDiffModel() {
+ return compareTwoElementsDiffModelEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public UMLDiffFactory getUMLDiffFactory() {
+ return (UMLDiffFactory)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
+ umlDiffExtensionEClass = createEClass(UML_DIFF_EXTENSION);
+
+ stereotypeChangeEClass = createEClass(STEREOTYPE_CHANGE);
+
+ taggedValueChangeEClass = createEClass(TAGGED_VALUE_CHANGE);
+
+ taggedValueChangeLeftTargetEClass = createEClass(TAGGED_VALUE_CHANGE_LEFT_TARGET);
+
+ taggedValueChangeRightTargetEClass = createEClass(TAGGED_VALUE_CHANGE_RIGHT_TARGET);
+
+ updateTaggedValueEClass = createEClass(UPDATE_TAGGED_VALUE);
+
+ addStereotypeApplicationEClass = createEClass(ADD_STEREOTYPE_APPLICATION);
+
+ removeStereotypeApplicationEClass = createEClass(REMOVE_STEREOTYPE_APPLICATION);
+
+ taggedValueReferenceChangeEClass = createEClass(TAGGED_VALUE_REFERENCE_CHANGE);
+
+ compareTwoElementsDiffModelEClass = createEClass(COMPARE_TWO_ELEMENTS_DIFF_MODEL);
+ }
+
+ /**
+ * <!-- 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
+ DiffPackage theDiffPackage = (DiffPackage)EPackage.Registry.INSTANCE.getEPackage(DiffPackage.eNS_URI);
+
+ // Create type parameters
+
+ // Set bounds for type parameters
+
+ // Add supertypes to classes
+ umlDiffExtensionEClass.getESuperTypes().add(theDiffPackage.getAbstractDiffExtension());
+ stereotypeChangeEClass.getESuperTypes().add(this.getUMLDiffExtension());
+ taggedValueChangeEClass.getESuperTypes().add(this.getUMLDiffExtension());
+ taggedValueChangeEClass.getESuperTypes().add(theDiffPackage.getAttributeChange());
+ taggedValueChangeLeftTargetEClass.getESuperTypes().add(this.getTaggedValueChange());
+ taggedValueChangeLeftTargetEClass.getESuperTypes().add(theDiffPackage.getAttributeChangeLeftTarget());
+ taggedValueChangeRightTargetEClass.getESuperTypes().add(this.getTaggedValueChange());
+ taggedValueChangeRightTargetEClass.getESuperTypes().add(theDiffPackage.getAttributeChangeRightTarget());
+ updateTaggedValueEClass.getESuperTypes().add(this.getTaggedValueChange());
+ updateTaggedValueEClass.getESuperTypes().add(theDiffPackage.getUpdateAttribute());
+ addStereotypeApplicationEClass.getESuperTypes().add(this.getStereotypeChange());
+ addStereotypeApplicationEClass.getESuperTypes().add(theDiffPackage.getModelElementChangeRightTarget());
+ removeStereotypeApplicationEClass.getESuperTypes().add(this.getStereotypeChange());
+ removeStereotypeApplicationEClass.getESuperTypes().add(theDiffPackage.getModelElementChangeLeftTarget());
+ taggedValueReferenceChangeEClass.getESuperTypes().add(this.getUMLDiffExtension());
+ taggedValueReferenceChangeEClass.getESuperTypes().add(theDiffPackage.getReferenceChange());
+ compareTwoElementsDiffModelEClass.getESuperTypes().add(this.getUMLDiffExtension());
+ compareTwoElementsDiffModelEClass.getESuperTypes().add(theDiffPackage.getDiffModel());
+
+ // Initialize classes and features; add operations and parameters
+ initEClass(umlDiffExtensionEClass, UMLDiffExtension.class, "UMLDiffExtension", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+ initEClass(stereotypeChangeEClass, StereotypeChange.class, "StereotypeChange", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+ initEClass(taggedValueChangeEClass, TaggedValueChange.class, "TaggedValueChange", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+ initEClass(taggedValueChangeLeftTargetEClass, TaggedValueChangeLeftTarget.class, "TaggedValueChangeLeftTarget", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+ initEClass(taggedValueChangeRightTargetEClass, TaggedValueChangeRightTarget.class, "TaggedValueChangeRightTarget", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+ initEClass(updateTaggedValueEClass, UpdateTaggedValue.class, "UpdateTaggedValue", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+ initEClass(addStereotypeApplicationEClass, AddStereotypeApplication.class, "AddStereotypeApplication", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+ initEClass(removeStereotypeApplicationEClass, RemoveStereotypeApplication.class, "RemoveStereotypeApplication", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+ initEClass(taggedValueReferenceChangeEClass, TaggedValueReferenceChange.class, "TaggedValueReferenceChange", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+ initEClass(compareTwoElementsDiffModelEClass, CompareTwoElementsDiffModel.class, "CompareTwoElementsDiffModel", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+ // Create resource
+ createResource(eNS_URI);
+ }
+
+} //UMLDiffPackageImpl
diff --git a/deprecated/org.eclipse.papyrus.uml.compare/src-gen/org/eclipse/papyrus/uml/compare/diff/metamodel/uml_diff_extension/impl/UpdateTaggedValueImpl.java b/deprecated/org.eclipse.papyrus.uml.compare/src-gen/org/eclipse/papyrus/uml/compare/diff/metamodel/uml_diff_extension/impl/UpdateTaggedValueImpl.java
new file mode 100644
index 00000000000..063a1725775
--- /dev/null
+++ b/deprecated/org.eclipse.papyrus.uml.compare/src-gen/org/eclipse/papyrus/uml/compare/diff/metamodel/uml_diff_extension/impl/UpdateTaggedValueImpl.java
@@ -0,0 +1,83 @@
+/**
+ *
+ * Copyright (c) 2010 CEA LIST.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Tatiana Fesenko(CEA LIST) - initial API and implementation
+ */
+package org.eclipse.papyrus.uml.compare.diff.metamodel.uml_diff_extension.impl;
+
+import java.util.Collection;
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.compare.diff.merge.IMerger;
+import org.eclipse.emf.compare.diff.metamodel.AbstractDiffExtension;
+import org.eclipse.emf.compare.diff.metamodel.DiffElement;
+import org.eclipse.emf.compare.diff.metamodel.DiffModel;
+import org.eclipse.emf.compare.diff.metamodel.DiffPackage;
+import org.eclipse.emf.compare.diff.metamodel.impl.UpdateAttributeImpl;
+import org.eclipse.emf.compare.util.AdapterUtils;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.util.EObjectWithInverseResolvingEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+import org.eclipse.emf.edit.ui.provider.AdapterFactoryLabelProvider;
+import org.eclipse.papyrus.uml.compare.diff.metamodel.uml_diff_extension.TaggedValueChange;
+import org.eclipse.papyrus.uml.compare.diff.metamodel.uml_diff_extension.UMLDiffExtension;
+import org.eclipse.papyrus.uml.compare.diff.metamodel.uml_diff_extension.UMLDiffPackage;
+import org.eclipse.papyrus.uml.compare.diff.metamodel.uml_diff_extension.UpdateTaggedValue;
+import org.eclipse.swt.graphics.Image;
+import org.eclipse.uml2.uml.util.UMLUtil;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Update Tagged Value</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * </p>
+ *
+ * @generated
+ */
+public class UpdateTaggedValueImpl extends TaggedValueChangeImpl implements UpdateTaggedValue {
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected UpdateTaggedValueImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return UMLDiffPackage.Literals.UPDATE_TAGGED_VALUE;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @generated NOT
+ */
+ public Object getImage() {
+ AdapterFactoryLabelProvider adapterProvider = new AdapterFactoryLabelProvider(AdapterUtils.getAdapterFactory());
+ Image labelImage = adapterProvider.getImage(getAttribute());
+ return labelImage;
+ }
+
+} //UpdateTaggedValueImpl
diff --git a/deprecated/org.eclipse.papyrus.uml.compare/src-gen/org/eclipse/papyrus/uml/compare/diff/metamodel/uml_diff_extension/util/UMLDiffAdapterFactory.java b/deprecated/org.eclipse.papyrus.uml.compare/src-gen/org/eclipse/papyrus/uml/compare/diff/metamodel/uml_diff_extension/util/UMLDiffAdapterFactory.java
new file mode 100644
index 00000000000..be671c1047e
--- /dev/null
+++ b/deprecated/org.eclipse.papyrus.uml.compare/src-gen/org/eclipse/papyrus/uml/compare/diff/metamodel/uml_diff_extension/util/UMLDiffAdapterFactory.java
@@ -0,0 +1,501 @@
+/**
+ *
+ * Copyright (c) 2010 CEA LIST.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Tatiana Fesenko(CEA LIST) - initial API and implementation
+ */
+package org.eclipse.papyrus.uml.compare.diff.metamodel.uml_diff_extension.util;
+
+import org.eclipse.emf.common.notify.Adapter;
+import org.eclipse.emf.common.notify.Notifier;
+
+import org.eclipse.emf.common.notify.impl.AdapterFactoryImpl;
+
+import org.eclipse.emf.compare.diff.metamodel.AbstractDiffExtension;
+import org.eclipse.emf.compare.diff.metamodel.AttributeChange;
+import org.eclipse.emf.compare.diff.metamodel.AttributeChangeLeftTarget;
+import org.eclipse.emf.compare.diff.metamodel.AttributeChangeRightTarget;
+import org.eclipse.emf.compare.diff.metamodel.DiffElement;
+import org.eclipse.emf.compare.diff.metamodel.DiffModel;
+import org.eclipse.emf.compare.diff.metamodel.ModelElementChange;
+import org.eclipse.emf.compare.diff.metamodel.ModelElementChangeLeftTarget;
+import org.eclipse.emf.compare.diff.metamodel.ModelElementChangeRightTarget;
+import org.eclipse.emf.compare.diff.metamodel.ReferenceChange;
+import org.eclipse.emf.compare.diff.metamodel.UpdateAttribute;
+
+import org.eclipse.emf.ecore.EObject;
+
+import org.eclipse.papyrus.uml.compare.diff.metamodel.uml_diff_extension.*;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Adapter Factory</b> for the model.
+ * It provides an adapter <code>createXXX</code> method for each class of the model.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.uml.compare.diff.metamodel.uml_diff_extension.UMLDiffPackage
+ * @generated
+ */
+public class UMLDiffAdapterFactory extends AdapterFactoryImpl {
+ /**
+ * The cached model package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected static UMLDiffPackage modelPackage;
+
+ /**
+ * Creates an instance of the adapter factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public UMLDiffAdapterFactory() {
+ if (modelPackage == null) {
+ modelPackage = UMLDiffPackage.eINSTANCE;
+ }
+ }
+
+ /**
+ * Returns whether this factory is applicable for the type of the object.
+ * <!-- begin-user-doc -->
+ * This implementation returns <code>true</code> if the object is either the model's package or is an instance object of the model.
+ * <!-- end-user-doc -->
+ * @return whether this factory is applicable for the type of the object.
+ * @generated
+ */
+ @Override
+ public boolean isFactoryForType(Object object) {
+ if (object == modelPackage) {
+ return true;
+ }
+ if (object instanceof EObject) {
+ return ((EObject)object).eClass().getEPackage() == modelPackage;
+ }
+ return false;
+ }
+
+ /**
+ * The switch that delegates to the <code>createXXX</code> methods.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected UMLDiffSwitch<Adapter> modelSwitch =
+ new UMLDiffSwitch<Adapter>() {
+ @Override
+ public Adapter caseUMLDiffExtension(UMLDiffExtension object) {
+ return createUMLDiffExtensionAdapter();
+ }
+ @Override
+ public Adapter caseStereotypeChange(StereotypeChange object) {
+ return createStereotypeChangeAdapter();
+ }
+ @Override
+ public Adapter caseTaggedValueChange(TaggedValueChange object) {
+ return createTaggedValueChangeAdapter();
+ }
+ @Override
+ public Adapter caseTaggedValueChangeLeftTarget(TaggedValueChangeLeftTarget object) {
+ return createTaggedValueChangeLeftTargetAdapter();
+ }
+ @Override
+ public Adapter caseTaggedValueChangeRightTarget(TaggedValueChangeRightTarget object) {
+ return createTaggedValueChangeRightTargetAdapter();
+ }
+ @Override
+ public Adapter caseUpdateTaggedValue(UpdateTaggedValue object) {
+ return createUpdateTaggedValueAdapter();
+ }
+ @Override
+ public Adapter caseAddStereotypeApplication(AddStereotypeApplication object) {
+ return createAddStereotypeApplicationAdapter();
+ }
+ @Override
+ public Adapter caseRemoveStereotypeApplication(RemoveStereotypeApplication object) {
+ return createRemoveStereotypeApplicationAdapter();
+ }
+ @Override
+ public Adapter caseTaggedValueReferenceChange(TaggedValueReferenceChange object) {
+ return createTaggedValueReferenceChangeAdapter();
+ }
+ @Override
+ public Adapter caseCompareTwoElementsDiffModel(CompareTwoElementsDiffModel object) {
+ return createCompareTwoElementsDiffModelAdapter();
+ }
+ @Override
+ public Adapter caseAbstractDiffExtension(AbstractDiffExtension object) {
+ return createAbstractDiffExtensionAdapter();
+ }
+ @Override
+ public Adapter caseDiffElement(DiffElement object) {
+ return createDiffElementAdapter();
+ }
+ @Override
+ public Adapter caseAttributeChange(AttributeChange object) {
+ return createAttributeChangeAdapter();
+ }
+ @Override
+ public Adapter caseAttributeChangeLeftTarget(AttributeChangeLeftTarget object) {
+ return createAttributeChangeLeftTargetAdapter();
+ }
+ @Override
+ public Adapter caseAttributeChangeRightTarget(AttributeChangeRightTarget object) {
+ return createAttributeChangeRightTargetAdapter();
+ }
+ @Override
+ public Adapter caseUpdateAttribute(UpdateAttribute object) {
+ return createUpdateAttributeAdapter();
+ }
+ @Override
+ public Adapter caseModelElementChange(ModelElementChange object) {
+ return createModelElementChangeAdapter();
+ }
+ @Override
+ public Adapter caseModelElementChangeRightTarget(ModelElementChangeRightTarget object) {
+ return createModelElementChangeRightTargetAdapter();
+ }
+ @Override
+ public Adapter caseModelElementChangeLeftTarget(ModelElementChangeLeftTarget object) {
+ return createModelElementChangeLeftTargetAdapter();
+ }
+ @Override
+ public Adapter caseReferenceChange(ReferenceChange object) {
+ return createReferenceChangeAdapter();
+ }
+ @Override
+ public Adapter caseDiffModel(DiffModel object) {
+ return createDiffModelAdapter();
+ }
+ @Override
+ public Adapter defaultCase(EObject object) {
+ return createEObjectAdapter();
+ }
+ };
+
+ /**
+ * Creates an adapter for the <code>target</code>.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param target the object to adapt.
+ * @return the adapter for the <code>target</code>.
+ * @generated
+ */
+ @Override
+ public Adapter createAdapter(Notifier target) {
+ return modelSwitch.doSwitch((EObject)target);
+ }
+
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.uml.compare.diff.metamodel.uml_diff_extension.UMLDiffExtension <em>Extension</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.uml.compare.diff.metamodel.uml_diff_extension.UMLDiffExtension
+ * @generated
+ */
+ public Adapter createUMLDiffExtensionAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.uml.compare.diff.metamodel.uml_diff_extension.StereotypeChange <em>Stereotype Change</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.uml.compare.diff.metamodel.uml_diff_extension.StereotypeChange
+ * @generated
+ */
+ public Adapter createStereotypeChangeAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.uml.compare.diff.metamodel.uml_diff_extension.TaggedValueChange <em>Tagged Value Change</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.uml.compare.diff.metamodel.uml_diff_extension.TaggedValueChange
+ * @generated
+ */
+ public Adapter createTaggedValueChangeAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.uml.compare.diff.metamodel.uml_diff_extension.TaggedValueChangeLeftTarget <em>Tagged Value Change Left Target</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.uml.compare.diff.metamodel.uml_diff_extension.TaggedValueChangeLeftTarget
+ * @generated
+ */
+ public Adapter createTaggedValueChangeLeftTargetAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.uml.compare.diff.metamodel.uml_diff_extension.TaggedValueChangeRightTarget <em>Tagged Value Change Right Target</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.uml.compare.diff.metamodel.uml_diff_extension.TaggedValueChangeRightTarget
+ * @generated
+ */
+ public Adapter createTaggedValueChangeRightTargetAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.uml.compare.diff.metamodel.uml_diff_extension.UpdateTaggedValue <em>Update Tagged Value</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.uml.compare.diff.metamodel.uml_diff_extension.UpdateTaggedValue
+ * @generated
+ */
+ public Adapter createUpdateTaggedValueAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.uml.compare.diff.metamodel.uml_diff_extension.AddStereotypeApplication <em>Add Stereotype Application</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.uml.compare.diff.metamodel.uml_diff_extension.AddStereotypeApplication
+ * @generated
+ */
+ public Adapter createAddStereotypeApplicationAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.uml.compare.diff.metamodel.uml_diff_extension.RemoveStereotypeApplication <em>Remove Stereotype Application</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.uml.compare.diff.metamodel.uml_diff_extension.RemoveStereotypeApplication
+ * @generated
+ */
+ public Adapter createRemoveStereotypeApplicationAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.uml.compare.diff.metamodel.uml_diff_extension.TaggedValueReferenceChange <em>Tagged Value Reference Change</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.uml.compare.diff.metamodel.uml_diff_extension.TaggedValueReferenceChange
+ * @generated
+ */
+ public Adapter createTaggedValueReferenceChangeAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.uml.compare.diff.metamodel.uml_diff_extension.CompareTwoElementsDiffModel <em>Compare Two Elements Diff Model</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.uml.compare.diff.metamodel.uml_diff_extension.CompareTwoElementsDiffModel
+ * @generated
+ */
+ public Adapter createCompareTwoElementsDiffModelAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.emf.compare.diff.metamodel.AbstractDiffExtension <em>Abstract Diff Extension</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.emf.compare.diff.metamodel.AbstractDiffExtension
+ * @generated
+ */
+ public Adapter createAbstractDiffExtensionAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.emf.compare.diff.metamodel.DiffElement <em>Element</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.emf.compare.diff.metamodel.DiffElement
+ * @generated
+ */
+ public Adapter createDiffElementAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.emf.compare.diff.metamodel.AttributeChange <em>Attribute Change</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.emf.compare.diff.metamodel.AttributeChange
+ * @generated
+ */
+ public Adapter createAttributeChangeAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.emf.compare.diff.metamodel.AttributeChangeLeftTarget <em>Attribute Change Left Target</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.emf.compare.diff.metamodel.AttributeChangeLeftTarget
+ * @generated
+ */
+ public Adapter createAttributeChangeLeftTargetAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.emf.compare.diff.metamodel.AttributeChangeRightTarget <em>Attribute Change Right Target</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.emf.compare.diff.metamodel.AttributeChangeRightTarget
+ * @generated
+ */
+ public Adapter createAttributeChangeRightTargetAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.emf.compare.diff.metamodel.UpdateAttribute <em>Update Attribute</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.emf.compare.diff.metamodel.UpdateAttribute
+ * @generated
+ */
+ public Adapter createUpdateAttributeAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.emf.compare.diff.metamodel.ModelElementChange <em>Model Element Change</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.emf.compare.diff.metamodel.ModelElementChange
+ * @generated
+ */
+ public Adapter createModelElementChangeAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.emf.compare.diff.metamodel.ModelElementChangeRightTarget <em>Model Element Change Right Target</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.emf.compare.diff.metamodel.ModelElementChangeRightTarget
+ * @generated
+ */
+ public Adapter createModelElementChangeRightTargetAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.emf.compare.diff.metamodel.ModelElementChangeLeftTarget <em>Model Element Change Left Target</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.emf.compare.diff.metamodel.ModelElementChangeLeftTarget
+ * @generated
+ */
+ public Adapter createModelElementChangeLeftTargetAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.emf.compare.diff.metamodel.ReferenceChange <em>Reference Change</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.emf.compare.diff.metamodel.ReferenceChange
+ * @generated
+ */
+ public Adapter createReferenceChangeAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.emf.compare.diff.metamodel.DiffModel <em>Model</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.emf.compare.diff.metamodel.DiffModel
+ * @generated
+ */
+ public Adapter createDiffModelAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for the default case.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @generated
+ */
+ public Adapter createEObjectAdapter() {
+ return null;
+ }
+
+} //UMLDiffAdapterFactory
diff --git a/deprecated/org.eclipse.papyrus.uml.compare/src-gen/org/eclipse/papyrus/uml/compare/diff/metamodel/uml_diff_extension/util/UMLDiffSwitch.java b/deprecated/org.eclipse.papyrus.uml.compare/src-gen/org/eclipse/papyrus/uml/compare/diff/metamodel/uml_diff_extension/util/UMLDiffSwitch.java
new file mode 100644
index 00000000000..94ed36a88db
--- /dev/null
+++ b/deprecated/org.eclipse.papyrus.uml.compare/src-gen/org/eclipse/papyrus/uml/compare/diff/metamodel/uml_diff_extension/util/UMLDiffSwitch.java
@@ -0,0 +1,545 @@
+/**
+ *
+ * Copyright (c) 2010 CEA LIST.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Tatiana Fesenko(CEA LIST) - initial API and implementation
+ */
+package org.eclipse.papyrus.uml.compare.diff.metamodel.uml_diff_extension.util;
+
+import java.util.List;
+
+import org.eclipse.emf.compare.diff.metamodel.AbstractDiffExtension;
+import org.eclipse.emf.compare.diff.metamodel.AttributeChange;
+import org.eclipse.emf.compare.diff.metamodel.AttributeChangeLeftTarget;
+import org.eclipse.emf.compare.diff.metamodel.AttributeChangeRightTarget;
+import org.eclipse.emf.compare.diff.metamodel.DiffElement;
+import org.eclipse.emf.compare.diff.metamodel.DiffModel;
+import org.eclipse.emf.compare.diff.metamodel.ModelElementChange;
+import org.eclipse.emf.compare.diff.metamodel.ModelElementChangeLeftTarget;
+import org.eclipse.emf.compare.diff.metamodel.ModelElementChangeRightTarget;
+import org.eclipse.emf.compare.diff.metamodel.ReferenceChange;
+import org.eclipse.emf.compare.diff.metamodel.UpdateAttribute;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+
+import org.eclipse.papyrus.uml.compare.diff.metamodel.uml_diff_extension.*;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Switch</b> for the model's inheritance hierarchy.
+ * It supports the call {@link #doSwitch(EObject) doSwitch(object)}
+ * to invoke the <code>caseXXX</code> method for each class of the model,
+ * starting with the actual class of the object
+ * and proceeding up the inheritance hierarchy
+ * until a non-null result is returned,
+ * which is the result of the switch.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.uml.compare.diff.metamodel.uml_diff_extension.UMLDiffPackage
+ * @generated
+ */
+public class UMLDiffSwitch<T> {
+ /**
+ * The cached model package
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected static UMLDiffPackage modelPackage;
+
+ /**
+ * Creates an instance of the switch.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public UMLDiffSwitch() {
+ if (modelPackage == null) {
+ modelPackage = UMLDiffPackage.eINSTANCE;
+ }
+ }
+
+ /**
+ * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the first non-null result returned by a <code>caseXXX</code> call.
+ * @generated
+ */
+ public T doSwitch(EObject theEObject) {
+ return doSwitch(theEObject.eClass(), theEObject);
+ }
+
+ /**
+ * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the first non-null result returned by a <code>caseXXX</code> call.
+ * @generated
+ */
+ protected T doSwitch(EClass theEClass, EObject theEObject) {
+ if (theEClass.eContainer() == modelPackage) {
+ return doSwitch(theEClass.getClassifierID(), theEObject);
+ }
+ else {
+ List<EClass> eSuperTypes = theEClass.getESuperTypes();
+ return
+ eSuperTypes.isEmpty() ?
+ defaultCase(theEObject) :
+ doSwitch(eSuperTypes.get(0), theEObject);
+ }
+ }
+
+ /**
+ * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the first non-null result returned by a <code>caseXXX</code> call.
+ * @generated
+ */
+ protected T doSwitch(int classifierID, EObject theEObject) {
+ switch (classifierID) {
+ case UMLDiffPackage.UML_DIFF_EXTENSION: {
+ UMLDiffExtension umlDiffExtension = (UMLDiffExtension)theEObject;
+ T result = caseUMLDiffExtension(umlDiffExtension);
+ if (result == null) result = caseAbstractDiffExtension(umlDiffExtension);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case UMLDiffPackage.STEREOTYPE_CHANGE: {
+ StereotypeChange stereotypeChange = (StereotypeChange)theEObject;
+ T result = caseStereotypeChange(stereotypeChange);
+ if (result == null) result = caseUMLDiffExtension(stereotypeChange);
+ if (result == null) result = caseAbstractDiffExtension(stereotypeChange);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case UMLDiffPackage.TAGGED_VALUE_CHANGE: {
+ TaggedValueChange taggedValueChange = (TaggedValueChange)theEObject;
+ T result = caseTaggedValueChange(taggedValueChange);
+ if (result == null) result = caseUMLDiffExtension(taggedValueChange);
+ if (result == null) result = caseAttributeChange(taggedValueChange);
+ if (result == null) result = caseAbstractDiffExtension(taggedValueChange);
+ if (result == null) result = caseDiffElement(taggedValueChange);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case UMLDiffPackage.TAGGED_VALUE_CHANGE_LEFT_TARGET: {
+ TaggedValueChangeLeftTarget taggedValueChangeLeftTarget = (TaggedValueChangeLeftTarget)theEObject;
+ T result = caseTaggedValueChangeLeftTarget(taggedValueChangeLeftTarget);
+ if (result == null) result = caseTaggedValueChange(taggedValueChangeLeftTarget);
+ if (result == null) result = caseAttributeChangeLeftTarget(taggedValueChangeLeftTarget);
+ if (result == null) result = caseUMLDiffExtension(taggedValueChangeLeftTarget);
+ if (result == null) result = caseAttributeChange(taggedValueChangeLeftTarget);
+ if (result == null) result = caseAbstractDiffExtension(taggedValueChangeLeftTarget);
+ if (result == null) result = caseDiffElement(taggedValueChangeLeftTarget);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case UMLDiffPackage.TAGGED_VALUE_CHANGE_RIGHT_TARGET: {
+ TaggedValueChangeRightTarget taggedValueChangeRightTarget = (TaggedValueChangeRightTarget)theEObject;
+ T result = caseTaggedValueChangeRightTarget(taggedValueChangeRightTarget);
+ if (result == null) result = caseTaggedValueChange(taggedValueChangeRightTarget);
+ if (result == null) result = caseAttributeChangeRightTarget(taggedValueChangeRightTarget);
+ if (result == null) result = caseUMLDiffExtension(taggedValueChangeRightTarget);
+ if (result == null) result = caseAttributeChange(taggedValueChangeRightTarget);
+ if (result == null) result = caseAbstractDiffExtension(taggedValueChangeRightTarget);
+ if (result == null) result = caseDiffElement(taggedValueChangeRightTarget);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case UMLDiffPackage.UPDATE_TAGGED_VALUE: {
+ UpdateTaggedValue updateTaggedValue = (UpdateTaggedValue)theEObject;
+ T result = caseUpdateTaggedValue(updateTaggedValue);
+ if (result == null) result = caseTaggedValueChange(updateTaggedValue);
+ if (result == null) result = caseUpdateAttribute(updateTaggedValue);
+ if (result == null) result = caseUMLDiffExtension(updateTaggedValue);
+ if (result == null) result = caseAttributeChange(updateTaggedValue);
+ if (result == null) result = caseAbstractDiffExtension(updateTaggedValue);
+ if (result == null) result = caseDiffElement(updateTaggedValue);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case UMLDiffPackage.ADD_STEREOTYPE_APPLICATION: {
+ AddStereotypeApplication addStereotypeApplication = (AddStereotypeApplication)theEObject;
+ T result = caseAddStereotypeApplication(addStereotypeApplication);
+ if (result == null) result = caseStereotypeChange(addStereotypeApplication);
+ if (result == null) result = caseModelElementChangeRightTarget(addStereotypeApplication);
+ if (result == null) result = caseUMLDiffExtension(addStereotypeApplication);
+ if (result == null) result = caseModelElementChange(addStereotypeApplication);
+ if (result == null) result = caseAbstractDiffExtension(addStereotypeApplication);
+ if (result == null) result = caseDiffElement(addStereotypeApplication);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case UMLDiffPackage.REMOVE_STEREOTYPE_APPLICATION: {
+ RemoveStereotypeApplication removeStereotypeApplication = (RemoveStereotypeApplication)theEObject;
+ T result = caseRemoveStereotypeApplication(removeStereotypeApplication);
+ if (result == null) result = caseStereotypeChange(removeStereotypeApplication);
+ if (result == null) result = caseModelElementChangeLeftTarget(removeStereotypeApplication);
+ if (result == null) result = caseUMLDiffExtension(removeStereotypeApplication);
+ if (result == null) result = caseModelElementChange(removeStereotypeApplication);
+ if (result == null) result = caseAbstractDiffExtension(removeStereotypeApplication);
+ if (result == null) result = caseDiffElement(removeStereotypeApplication);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case UMLDiffPackage.TAGGED_VALUE_REFERENCE_CHANGE: {
+ TaggedValueReferenceChange taggedValueReferenceChange = (TaggedValueReferenceChange)theEObject;
+ T result = caseTaggedValueReferenceChange(taggedValueReferenceChange);
+ if (result == null) result = caseUMLDiffExtension(taggedValueReferenceChange);
+ if (result == null) result = caseReferenceChange(taggedValueReferenceChange);
+ if (result == null) result = caseAbstractDiffExtension(taggedValueReferenceChange);
+ if (result == null) result = caseDiffElement(taggedValueReferenceChange);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case UMLDiffPackage.COMPARE_TWO_ELEMENTS_DIFF_MODEL: {
+ CompareTwoElementsDiffModel compareTwoElementsDiffModel = (CompareTwoElementsDiffModel)theEObject;
+ T result = caseCompareTwoElementsDiffModel(compareTwoElementsDiffModel);
+ if (result == null) result = caseUMLDiffExtension(compareTwoElementsDiffModel);
+ if (result == null) result = caseDiffModel(compareTwoElementsDiffModel);
+ if (result == null) result = caseAbstractDiffExtension(compareTwoElementsDiffModel);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ default: return defaultCase(theEObject);
+ }
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Extension</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Extension</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseUMLDiffExtension(UMLDiffExtension object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Stereotype Change</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Stereotype Change</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseStereotypeChange(StereotypeChange object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Tagged Value Change</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Tagged Value Change</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseTaggedValueChange(TaggedValueChange object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Tagged Value Change Left Target</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Tagged Value Change Left Target</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseTaggedValueChangeLeftTarget(TaggedValueChangeLeftTarget object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Tagged Value Change Right Target</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Tagged Value Change Right Target</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseTaggedValueChangeRightTarget(TaggedValueChangeRightTarget object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Update Tagged Value</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Update Tagged Value</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseUpdateTaggedValue(UpdateTaggedValue object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Add Stereotype Application</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Add Stereotype Application</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseAddStereotypeApplication(AddStereotypeApplication object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Remove Stereotype Application</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Remove Stereotype Application</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseRemoveStereotypeApplication(RemoveStereotypeApplication object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Tagged Value Reference Change</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Tagged Value Reference Change</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseTaggedValueReferenceChange(TaggedValueReferenceChange object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Compare Two Elements Diff Model</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Compare Two Elements Diff Model</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseCompareTwoElementsDiffModel(CompareTwoElementsDiffModel object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Abstract Diff Extension</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Abstract Diff Extension</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseAbstractDiffExtension(AbstractDiffExtension object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Element</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Element</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseDiffElement(DiffElement object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Attribute Change</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Attribute Change</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseAttributeChange(AttributeChange object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Attribute Change Left Target</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Attribute Change Left Target</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseAttributeChangeLeftTarget(AttributeChangeLeftTarget object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Attribute Change Right Target</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Attribute Change Right Target</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseAttributeChangeRightTarget(AttributeChangeRightTarget object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Update Attribute</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Update Attribute</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseUpdateAttribute(UpdateAttribute object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Model Element Change</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Model Element Change</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseModelElementChange(ModelElementChange object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Model Element Change Right Target</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Model Element Change Right Target</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseModelElementChangeRightTarget(ModelElementChangeRightTarget object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Model Element Change Left Target</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Model Element Change Left Target</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseModelElementChangeLeftTarget(ModelElementChangeLeftTarget object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Reference Change</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Reference Change</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseReferenceChange(ReferenceChange object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Model</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Model</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseDiffModel(DiffModel object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>EObject</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch, but this is the last case anyway.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>EObject</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject)
+ * @generated
+ */
+ public T defaultCase(EObject object) {
+ return null;
+ }
+
+} //UMLDiffSwitch
diff --git a/deprecated/org.eclipse.papyrus.uml.compare/src/org/eclipse/papyrus/uml/compare/Activator.java b/deprecated/org.eclipse.papyrus.uml.compare/src/org/eclipse/papyrus/uml/compare/Activator.java
new file mode 100644
index 00000000000..c0b19fb7700
--- /dev/null
+++ b/deprecated/org.eclipse.papyrus.uml.compare/src/org/eclipse/papyrus/uml/compare/Activator.java
@@ -0,0 +1,131 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Tatiana Fesenko (CEA LIST) - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.uml.compare;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Status;
+import org.eclipse.jface.resource.ImageRegistry;
+import org.eclipse.swt.graphics.Image;
+import org.eclipse.ui.plugin.AbstractUIPlugin;
+import org.osgi.framework.BundleContext;
+
+/**
+ * The activator class controls the plug-in life cycle.
+ */
+public class Activator extends AbstractUIPlugin {
+
+ /**
+ * The plug-in ID.
+ */
+ public static final String PLUGIN_ID = "org.eclipse.papyrus.uml.compare"; //$NON-NLS-1$
+
+ /**
+ * The shared instance.
+ */
+ private static Activator plugin;
+
+
+ /**
+ * The constructor.
+ */
+ public Activator() {
+ }
+
+ /**
+ * Start.
+ *
+ * @param context the context
+ * @throws Exception the exception
+ * {@inheritDoc}
+ * @see org.eclipse.core.runtime.Plugin#start(org.osgi.framework.BundleContext)
+ * @generated
+ */
+ @Override
+ public void start(BundleContext context) throws Exception {
+ super.start(context);
+ plugin = this;
+ }
+
+ /**
+ * Stop.
+ *
+ * @param context the context
+ * @throws Exception the exception
+ * {@inheritDoc}
+ * @see org.eclipse.core.runtime.Plugin#stop(org.osgi.framework.BundleContext)
+ * @generated
+ */
+ @Override
+ public void stop(BundleContext context) throws Exception {
+ plugin = null;
+ super.stop(context);
+ }
+
+ /**
+ * Returns the shared instance.
+ *
+ * @return the shared instance
+ */
+ public static Activator getDefault() {
+ return plugin;
+ }
+
+ /**
+ * Returns the image from the given path.
+ *
+ * @param path the path the image to be displayed
+ * @return the image found
+ */
+ public static Image getImage(String path) {
+ final ImageRegistry registry = getDefault().getImageRegistry();
+ Image image = registry.get(path);
+ if(image == null) {
+ registry.put(path, Activator.imageDescriptorFromPlugin(PLUGIN_ID, path));
+ image = registry.get(path);
+ }
+ return image;
+
+ }
+
+ /**
+ * Log error.
+ *
+ * @param e the e
+ */
+ public static void logError(Throwable e) {
+ logError(Messages.Activator_log_error_message, e);
+ }
+
+ /**
+ * Log error.
+ *
+ * @param message the message
+ * @param e the e
+ */
+ public static void logError(String message, Throwable e) {
+ IStatus status = new Status(IStatus.ERROR, PLUGIN_ID, message, e);
+ getDefault().getLog().log(status);
+ }
+
+ /**
+ * Log info.
+ *
+ * @param message the message
+ */
+ public static void logInfo(String message) {
+ IStatus status = new Status(IStatus.INFO, PLUGIN_ID, message);
+ getDefault().getLog().log(status);
+ }
+
+}
diff --git a/deprecated/org.eclipse.papyrus.uml.compare/src/org/eclipse/papyrus/uml/compare/Messages.java b/deprecated/org.eclipse.papyrus.uml.compare/src/org/eclipse/papyrus/uml/compare/Messages.java
new file mode 100644
index 00000000000..3441e48629e
--- /dev/null
+++ b/deprecated/org.eclipse.papyrus.uml.compare/src/org/eclipse/papyrus/uml/compare/Messages.java
@@ -0,0 +1,101 @@
+package org.eclipse.papyrus.uml.compare;
+
+import org.eclipse.osgi.util.NLS;
+
+/**
+ * The NLS class.
+ */
+public class Messages extends NLS {
+
+ /** The Constant BUNDLE_NAME. */
+ private static final String BUNDLE_NAME = "messages"; //$NON-NLS-1$
+
+ /** The Activator_log_error_message. */
+ public static String Activator_log_error_message;
+
+ /** The Styled diff label switch_add_stereotype_application_text. */
+ public static String StyledDiffLabelSwitch_add_stereotype_application_text;
+
+ /** The Styled diff label switch_attribute_change_left_target_remote_text. */
+ public static String StyledDiffLabelSwitch_attribute_change_left_target_remote_text;
+
+ /** The Styled diff label switch_attribute_change_left_target_text. */
+ public static String StyledDiffLabelSwitch_attribute_change_left_target_text;
+
+ /** The Styled diff label switch_attribute_change_right_target_remote_text. */
+ public static String StyledDiffLabelSwitch_attribute_change_right_target_remote_text;
+
+ /** The Styled diff label switch_attribute_change_right_target_text. */
+ public static String StyledDiffLabelSwitch_attribute_change_right_target_text;
+
+ /** The Styled diff label switch_attribute_change_text. */
+ public static String StyledDiffLabelSwitch_attribute_change_text;
+
+ /** The Styled diff label switch_diff_group_text. */
+ public static String StyledDiffLabelSwitch_diff_group_text;
+
+ /** The Styled diff label switch_null_value_text. */
+ public static String StyledDiffLabelSwitch_null_value_text;
+
+ /** The Styled diff label switch_reference_chnage_text. */
+ public static String StyledDiffLabelSwitch_reference_chnage_text;
+
+ /** The Styled diff label switch_remove_stereotype_application_text. */
+ public static String StyledDiffLabelSwitch_remove_stereotype_application_text;
+
+ /** The Styled diff label switch_root_text. */
+ public static String StyledDiffLabelSwitch_root_text;
+
+ /** The Styled diff label switch_tagged_value_changed_remote_text. */
+ public static String StyledDiffLabelSwitch_tagged_value_changed_remote_text;
+
+ /** The Styled diff label switch_tagged_value_changed_text. */
+ public static String StyledDiffLabelSwitch_tagged_value_changed_text;
+
+ /** The Styled diff label switch_tagged_value_left_target_remote_text. */
+ public static String StyledDiffLabelSwitch_tagged_value_left_target_remote_text;
+
+ /** The Styled diff label switch_tagged_value_left_target_text. */
+ public static String StyledDiffLabelSwitch_tagged_value_left_target_text;
+
+ /** The Styled diff label switch_tagged_value_reference_remote_text. */
+ public static String StyledDiffLabelSwitch_tagged_value_reference_remote_text;
+
+ /** The Styled diff label switch_tagged_value_reference_text. */
+ public static String StyledDiffLabelSwitch_tagged_value_reference_text;
+
+ /** The Styled diff label switch_tagged_value_right_target_remote_text. */
+ public static String StyledDiffLabelSwitch_tagged_value_right_target_remote_text;
+
+ /** The Styled diff label switch_tagged_value_right_target_text. */
+ public static String StyledDiffLabelSwitch_tagged_value_right_target_text;
+
+ /** The Styled diff label switch_two_elements_model_text. */
+ public static String StyledDiffLabelSwitch_two_elements_model_text;
+
+ /** The Styled diff label switch_update_attribute_conflicting_text. */
+ public static String StyledDiffLabelSwitch_update_attribute_conflicting_text;
+
+ /** The Styled diff label switch_update_attribute_remote_text. */
+ public static String StyledDiffLabelSwitch_update_attribute_remote_text;
+
+ /** The Styled diff label switch_update_attribute_text. */
+ public static String StyledDiffLabelSwitch_update_attribute_text;
+
+ /** The Styled diff label switch_update_tagged_value_remote_text. */
+ public static String StyledDiffLabelSwitch_update_tagged_value_remote_text;
+
+ /** The Styled diff label switch_update_tagged_value_text. */
+ public static String StyledDiffLabelSwitch_update_tagged_value_text;
+
+ static {
+ // initialize resource bundle
+ NLS.initializeMessages(BUNDLE_NAME, Messages.class);
+ }
+
+ /**
+ * Instantiates a new messages.
+ */
+ private Messages() {
+ }
+}
diff --git a/deprecated/org.eclipse.papyrus.uml.compare/src/org/eclipse/papyrus/uml/compare/StyledMessageFormat.java b/deprecated/org.eclipse.papyrus.uml.compare/src/org/eclipse/papyrus/uml/compare/StyledMessageFormat.java
new file mode 100644
index 00000000000..e1d6cb76e33
--- /dev/null
+++ b/deprecated/org.eclipse.papyrus.uml.compare/src/org/eclipse/papyrus/uml/compare/StyledMessageFormat.java
@@ -0,0 +1,57 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Tatiana Fesenko (CEA LIST) - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.uml.compare;
+
+import org.eclipse.jface.viewers.StyledString;
+import org.eclipse.jface.viewers.StyledString.Styler;
+
+
+/**
+ * Creates StyledString for the given template.
+ * Elements in {} will be shown in bold font.
+ */
+public class StyledMessageFormat {
+
+ /** The Constant ELEMENT_STYLER. */
+ private static final Styler ELEMENT_STYLER = StyledString.DECORATIONS_STYLER;
+
+ /** The Constant MESSAGE_STYLER. */
+ private static final Styler MESSAGE_STYLER = null;
+
+ /**
+ * Format.
+ *
+ * @param pattern the pattern
+ * @param args the args
+ * @return the styled string
+ */
+ public static StyledString format(String pattern, String... args) {
+ StyledString styledString = new StyledString();
+ styledString.append(Messages.bind(pattern, (Object[])args), ELEMENT_STYLER);
+ int currInd = 0;
+ int gap = 0;
+ for(int i = 0; i < args.length; i++) {
+ int nextInd = pattern.indexOf("{", currInd); //$NON-NLS-1$
+ if(nextInd != -1 && args.length > i) {
+ styledString.setStyle(nextInd + gap, args[i].length(), MESSAGE_STYLER);
+ currInd = nextInd + 1;
+ gap += args[i].length() - "{}".length() - String.valueOf(i).length(); //$NON-NLS-1$
+ } else {
+ break;
+ }
+ }
+ return styledString;
+ }
+
+}
diff --git a/deprecated/org.eclipse.papyrus.uml.compare/src/org/eclipse/papyrus/uml/compare/UMLCompareUtils.java b/deprecated/org.eclipse.papyrus.uml.compare/src/org/eclipse/papyrus/uml/compare/UMLCompareUtils.java
new file mode 100644
index 00000000000..26371501c9e
--- /dev/null
+++ b/deprecated/org.eclipse.papyrus.uml.compare/src/org/eclipse/papyrus/uml/compare/UMLCompareUtils.java
@@ -0,0 +1,35 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Tatiana Fesenko (CEA LIST) - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.uml.compare;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.uml2.uml.util.UMLUtil;
+
+
+/**
+ * The Class UMLCompareUtils.
+ */
+public class UMLCompareUtils {
+
+ /**
+ * Checks if is stereotype application.
+ *
+ * @param eObject the e object
+ * @return true, if is stereotype application
+ */
+ public static boolean isStereotypeApplication(EObject eObject) {
+ return UMLUtil.getStereotype(eObject) != null;
+ }
+
+}
diff --git a/deprecated/org.eclipse.papyrus.uml.compare/src/org/eclipse/papyrus/uml/compare/diff/ModelElementSwitch.java b/deprecated/org.eclipse.papyrus.uml.compare/src/org/eclipse/papyrus/uml/compare/diff/ModelElementSwitch.java
new file mode 100644
index 00000000000..e7982753c6f
--- /dev/null
+++ b/deprecated/org.eclipse.papyrus.uml.compare/src/org/eclipse/papyrus/uml/compare/diff/ModelElementSwitch.java
@@ -0,0 +1,79 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Tatiana Fesenko (CEA LIST) - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.uml.compare.diff;
+
+import org.eclipse.emf.compare.diff.metamodel.AttributeChange;
+import org.eclipse.emf.compare.diff.metamodel.DiffGroup;
+import org.eclipse.emf.compare.diff.metamodel.ModelElementChangeLeftTarget;
+import org.eclipse.emf.compare.diff.metamodel.ModelElementChangeRightTarget;
+import org.eclipse.emf.compare.diff.metamodel.ReferenceChange;
+import org.eclipse.emf.compare.diff.metamodel.UpdateModelElement;
+import org.eclipse.emf.compare.diff.metamodel.util.DiffSwitch;
+import org.eclipse.emf.ecore.EObject;
+
+
+/**
+ * Switch that returns corresponding domain model elements for the given DiffElement
+ */
+public class ModelElementSwitch extends DiffSwitch<EObject> {
+
+ /* (non-Javadoc)
+ * @see org.eclipse.emf.compare.diff.metamodel.util.DiffSwitch#caseDiffGroup(org.eclipse.emf.compare.diff.metamodel.DiffGroup)
+ */
+ @Override
+ public EObject caseDiffGroup(DiffGroup object) {
+ return object.getRightParent();
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.emf.compare.diff.metamodel.util.DiffSwitch#caseModelElementChangeLeftTarget(org.eclipse.emf.compare.diff.metamodel.ModelElementChangeLeftTarget)
+ */
+ @Override
+ public EObject caseModelElementChangeLeftTarget(ModelElementChangeLeftTarget object) {
+ return object.getLeftElement();
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.emf.compare.diff.metamodel.util.DiffSwitch#caseModelElementChangeRightTarget(org.eclipse.emf.compare.diff.metamodel.ModelElementChangeRightTarget)
+ */
+ @Override
+ public EObject caseModelElementChangeRightTarget(ModelElementChangeRightTarget object) {
+ return object.getRightElement();
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.emf.compare.diff.metamodel.util.DiffSwitch#caseUpdateModelElement(org.eclipse.emf.compare.diff.metamodel.UpdateModelElement)
+ */
+ @Override
+ public EObject caseUpdateModelElement(UpdateModelElement object) {
+ return object.getLeftElement();
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.emf.compare.diff.metamodel.util.DiffSwitch#caseAttributeChange(org.eclipse.emf.compare.diff.metamodel.AttributeChange)
+ */
+ @Override
+ public EObject caseAttributeChange(AttributeChange object) {
+ return object.getLeftElement();
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.emf.compare.diff.metamodel.util.DiffSwitch#caseReferenceChange(org.eclipse.emf.compare.diff.metamodel.ReferenceChange)
+ */
+ @Override
+ public EObject caseReferenceChange(ReferenceChange object) {
+ return object.getLeftElement();
+ }
+
+}
diff --git a/deprecated/org.eclipse.papyrus.uml.compare/src/org/eclipse/papyrus/uml/compare/diff/PapyrusDiffEngine.java b/deprecated/org.eclipse.papyrus.uml.compare/src/org/eclipse/papyrus/uml/compare/diff/PapyrusDiffEngine.java
new file mode 100644
index 00000000000..c1eaf3c1370
--- /dev/null
+++ b/deprecated/org.eclipse.papyrus.uml.compare/src/org/eclipse/papyrus/uml/compare/diff/PapyrusDiffEngine.java
@@ -0,0 +1,210 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Tatiana Fesenko (CEA LIST) - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.uml.compare.diff;
+
+
+import java.util.Iterator;
+
+import org.eclipse.emf.compare.diff.engine.GenericDiffEngine;
+import org.eclipse.emf.compare.diff.engine.check.ReferencesCheck;
+import org.eclipse.emf.compare.diff.metamodel.AbstractDiffExtension;
+import org.eclipse.emf.compare.diff.metamodel.DiffElement;
+import org.eclipse.emf.compare.diff.metamodel.DiffFactory;
+import org.eclipse.emf.compare.diff.metamodel.DiffGroup;
+import org.eclipse.emf.compare.diff.metamodel.DiffModel;
+import org.eclipse.emf.compare.diff.metamodel.util.DiffSwitch;
+import org.eclipse.emf.compare.match.metamodel.MatchModel;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.papyrus.uml.compare.UMLCompareUtils;
+import org.eclipse.papyrus.uml.compare.diff.extension.DiffElementExtensionBuilder;
+import org.eclipse.papyrus.uml.compare.diff.metamodel.uml_diff_extension.UMLDiffFactory;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.util.UMLUtil;
+
+
+/**
+ * Implementation of DiffEngine for UML Diagrams:
+ * <li>Properly processes changes stereotypes and tagged values,</li>
+ * <li>doesn't show numerous bulk changes as described in Bug 316819#c1</li>
+ */
+public class PapyrusDiffEngine extends GenericDiffEngine {
+
+ /** The my diff element builder. */
+ private DiffSwitch<AbstractDiffExtension> myDiffElementBuilder = new DiffElementExtensionBuilder();
+
+ /** The my get model element switch. */
+ private DiffSwitch<EObject> myGetModelElementSwitch = new ModelElementSwitch();
+
+ /* (non-Javadoc)
+ * @see org.eclipse.emf.compare.diff.engine.GenericDiffEngine#getReferencesChecker()
+ */
+ @Override
+ protected ReferencesCheck getReferencesChecker() {
+ return new UMLReferenceCheck(matchCrossReferencer);
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.emf.compare.diff.engine.GenericDiffEngine#doDiff(org.eclipse.emf.compare.match.metamodel.MatchModel, boolean)
+ */
+ @Override
+ public DiffModel doDiff(MatchModel match, boolean threeWay) {
+ DiffModel result = super.doDiff(match, threeWay);
+ return postProcess(result);
+ }
+
+
+ /**
+ * Post process default result of Diff.
+ * Processes changes stereotypes and tagged values
+ *
+ * @param diffModel the diff model
+ * @return the diff model
+ */
+ protected DiffModel postProcess(DiffModel diffModel) {
+ final Iterator<EObject> it = diffModel.eAllContents();
+ while(it.hasNext()) {
+ DiffElement diffElement = (DiffElement)it.next();
+ visitElement(diffModel, diffElement);
+ }
+ return diffModel;
+ }
+
+ /**
+ * Visit element.
+ *
+ * @param root the root
+ * @param diffElement the diff element
+ */
+ protected void visitElement(DiffModel root, DiffElement diffElement) {
+ if(diffElement instanceof DiffGroup) {
+ return;
+ }
+ EObject stereotypeApplication = getModelElementFor(diffElement);
+ if(UMLCompareUtils.isStereotypeApplication(stereotypeApplication)) {
+
+ Element newVisualParent = UMLUtil.getBaseElement(stereotypeApplication);
+ DiffElement newDiffParent = findOrCreateDiffElementFor(root, newVisualParent);
+ AbstractDiffExtension taggedValueDiff = createDiffExtentionElementFor(diffElement);
+
+ newDiffParent.getSubDiffElements().add((DiffElement)taggedValueDiff);
+ hideElement(diffElement, taggedValueDiff);
+ }
+ }
+
+ /**
+ * Hide element.
+ *
+ * @param diffElement the diff element
+ * @param diffExtension the diff extension
+ */
+ protected void hideElement(DiffElement diffElement, AbstractDiffExtension diffExtension) {
+ if(diffExtension == null) {
+ diffExtension = UMLDiffFactory.eINSTANCE.createAddStereotypeApplication();
+ }
+ diffExtension.getHideElements().add(diffElement);
+ }
+
+ /**
+ * Find or create diff element for.
+ *
+ * @param root the root
+ * @param object the object
+ * @return the diff element
+ */
+ private DiffElement findOrCreateDiffElementFor(DiffModel root, EObject object) {
+ if(object == null) {
+ if(!root.getOwnedElements().isEmpty()) {
+ return root.getOwnedElements().get(0);
+ }
+ DiffGroup diffRoot = DiffFactory.eINSTANCE.createDiffGroup();
+ root.getOwnedElements().add(diffRoot);
+ return diffRoot;
+ }
+ DiffElement element = findDiffElementFor(root, object);
+ if(element != null) {
+ return element;
+ }
+
+ DiffElement diffParent = findOrCreateDiffElementFor(root, getParent(object));
+ DiffGroup diffElementForObject = DiffFactory.eINSTANCE.createDiffGroup();
+ diffElementForObject.setRightParent(object);
+
+ diffParent.getSubDiffElements().add(diffElementForObject);
+ return diffElementForObject;
+ }
+
+ /**
+ * Gets the parent.
+ *
+ * @param modelElement the model element
+ * @return the parent
+ */
+ private EObject getParent(EObject modelElement) {
+ return modelElement.eContainer();
+ }
+
+ /**
+ * Find diff element for.
+ *
+ * @param root the root
+ * @param modelElement the model element
+ * @return the diff element
+ */
+ protected final DiffElement findDiffElementFor(DiffModel root, EObject modelElement) {
+ if(modelElement == null) {
+ return null;
+ }
+ final Iterator<EObject> it = root.eAllContents();
+ while(it.hasNext()) {
+ final DiffElement element = (DiffElement)it.next();
+ if(isPertinentDiff(element, modelElement)) {
+ return element;
+ }
+ }
+ return null;
+ }
+
+ /**
+ * Checks if is pertinent diff.
+ *
+ * @param diff the diff
+ * @param modelElement the model element
+ * @return true, if is pertinent diff
+ */
+ private boolean isPertinentDiff(DiffElement diff, EObject modelElement) {
+ EObject domainElement = getModelElementFor(diff);
+ return modelElement.equals(domainElement) || modelElement.equals(getMatchedEObject(domainElement));
+ }
+
+ /**
+ * Gets the model element for.
+ *
+ * @param diff the diff
+ * @return the model element for
+ */
+ protected EObject getModelElementFor(DiffElement diff) {
+ return myGetModelElementSwitch.doSwitch(diff);
+ }
+
+ /**
+ * Creates the diff extention element for.
+ *
+ * @param diffElement the diff element
+ * @return the abstract diff extension
+ */
+ protected AbstractDiffExtension createDiffExtentionElementFor(DiffElement diffElement) {
+ return myDiffElementBuilder.doSwitch(diffElement);
+ }
+
+}
diff --git a/deprecated/org.eclipse.papyrus.uml.compare/src/org/eclipse/papyrus/uml/compare/diff/UMLReferenceCheck.java b/deprecated/org.eclipse.papyrus.uml.compare/src/org/eclipse/papyrus/uml/compare/diff/UMLReferenceCheck.java
new file mode 100644
index 00000000000..f8f2632df6b
--- /dev/null
+++ b/deprecated/org.eclipse.papyrus.uml.compare/src/org/eclipse/papyrus/uml/compare/diff/UMLReferenceCheck.java
@@ -0,0 +1,195 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Tatiana Fesenko (CEA LIST) - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.uml.compare.diff;
+
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
+
+import org.eclipse.emf.compare.FactoryException;
+import org.eclipse.emf.compare.diff.engine.check.ReferencesCheck;
+import org.eclipse.emf.compare.diff.metamodel.DiffGroup;
+import org.eclipse.emf.compare.match.internal.statistic.ResourceSimilarity;
+import org.eclipse.emf.compare.match.metamodel.Match2Elements;
+import org.eclipse.emf.compare.util.EFactory;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EReference;
+import org.eclipse.emf.ecore.util.EcoreUtil;
+import org.eclipse.emf.ecore.util.EcoreUtil.CrossReferencer;
+
+/**
+ * Implementation of ReferenceCheck that doesn't show numerous bulk changes as described in Bug 316819#c1
+ */
+public class UMLReferenceCheck extends ReferencesCheck {
+
+ /**
+ * Instantiates a new uML reference check.
+ *
+ * @param referencer the referencer
+ */
+ public UMLReferenceCheck(CrossReferencer referencer) {
+ super(referencer);
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.emf.compare.diff.engine.check.ReferencesCheck#checkReferenceUpdates(org.eclipse.emf.compare.diff.metamodel.DiffGroup, org.eclipse.emf.compare.match.metamodel.Match2Elements, org.eclipse.emf.ecore.EReference)
+ */
+ @Override
+ protected void checkReferenceUpdates(DiffGroup root, Match2Elements mapping, EReference reference) throws FactoryException {
+ if(reference.isMany() && isSimilarSingleReference(mapping, reference)) {
+ return;
+ }
+ super.checkReferenceUpdates(root, mapping, reference);
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.emf.compare.diff.engine.check.ReferencesCheck#shouldBeIgnored(org.eclipse.emf.ecore.EReference)
+ */
+ @Override
+ protected boolean shouldBeIgnored(EReference reference) {
+// if (isTaggedValue(reference)) {
+// return false;
+// }
+ return super.shouldBeIgnored(reference);
+ }
+
+ /**
+ * Checks if is tagged value.
+ *
+ * @param reference the reference
+ * @return true, if is tagged value
+ */
+ protected boolean isTaggedValue(EReference reference) {
+ // improve condition
+ return reference.isDerived();
+ }
+
+ /**
+ * Checks if is similar single reference.
+ *
+ * @param mapping the mapping
+ * @param reference the reference
+ * @return true, if is similar single reference
+ * @throws FactoryException the factory exception
+ */
+ private boolean isSimilarSingleReference(Match2Elements mapping, EReference reference) throws FactoryException {
+ final double similarReferenceURIThreshold = 0.8d;
+ final List<Object> leftElementObjReferences = convertFeatureMapList(EFactory.eGetAsList(mapping.getLeftElement(), reference.getName()));
+ final List<Object> rightElementObjReferences = convertFeatureMapList(EFactory.eGetAsList(mapping.getRightElement(), reference.getName()));
+
+
+ // All values should be EObjects
+ final List<EObject> leftElementReferences = new ArrayList<EObject>();
+ final List<EObject> rightElementReferences = new ArrayList<EObject>();
+ for(Object left : leftElementObjReferences) {
+ leftElementReferences.add((EObject)left);
+ }
+ for(Object right : rightElementObjReferences) {
+ rightElementReferences.add((EObject)right);
+ }
+
+ final List<EObject> deletedReferences = computeDeletedReferences(leftElementReferences, rightElementReferences);
+ final List<EObject> addedReferences = computeAddedReferences(leftElementReferences, rightElementReferences);
+ if(addedReferences.size() == 1 && deletedReferences.size() == 1) {
+ EObject addedValue = addedReferences.get(0);
+ EObject deletedValue = deletedReferences.get(0);
+
+ final double uriSimilarity = ResourceSimilarity.computeURISimilarity(EcoreUtil.getURI(addedValue), EcoreUtil.getURI(deletedValue));
+ if(uriSimilarity >= similarReferenceURIThreshold) {
+ return true;
+ }
+ }
+ return false;
+ }
+
+ /**
+ * Compute added references.
+ *
+ * @param leftReferences the left references
+ * @param rightReferences the right references
+ * @return the list
+ */
+ private List<EObject> computeAddedReferences(List<EObject> leftReferences, List<EObject> rightReferences) {
+ final List<EObject> deletedReferences = new ArrayList<EObject>();
+ final List<EObject> addedReferences = new ArrayList<EObject>();
+ final double similarReferenceURIThreshold = 0.8d;
+
+ if(leftReferences != null) {
+ addedReferences.addAll(leftReferences);
+ }
+ if(rightReferences != null) {
+ deletedReferences.addAll(rightReferences);
+ }
+ final List<EObject> matchedOldReferences = getMatchedReferences(deletedReferences);
+
+ // "Added" references are the references from the left element that
+ // have no matching "right" counterpart
+ addedReferences.removeAll(matchedOldReferences);
+
+ return addedReferences;
+ }
+
+ /**
+ * This will create and populate a {@link List} with all the references from the <code>rightReferences</code> {@link List} that cannot be
+ * matched in the <code>leftReferences</code> {@link List}.
+ *
+ * @param leftReferences
+ * List of the left element reference values.
+ * @param rightReferences
+ * List of the right element reference values.
+ * @return {@link List} of all the references that have been deleted from the left (local) element since
+ * the right (distant) element.
+ */
+ private List<EObject> computeDeletedReferences(List<EObject> leftReferences, List<EObject> rightReferences) {
+ final List<EObject> deletedReferences = new ArrayList<EObject>();
+ final List<EObject> addedReferences = new ArrayList<EObject>();
+ final double similarReferenceURIThreshold = 0.8d;
+
+ if(leftReferences != null) {
+ addedReferences.addAll(leftReferences);
+ }
+ if(rightReferences != null) {
+ deletedReferences.addAll(rightReferences);
+ }
+ final List<EObject> matchedNewReferences = getMatchedReferences(addedReferences);
+
+ // "deleted" references are the references from the right element that
+ // have no counterpart in the left element
+ deletedReferences.removeAll(matchedNewReferences);
+
+ return deletedReferences;
+ }
+
+ /**
+ * Gets the matched references.
+ *
+ * @param references the references
+ * @return the matched references
+ */
+ private List<EObject> getMatchedReferences(List<EObject> references) {
+ final List<EObject> matchedReferences = new ArrayList<EObject>();
+ final Iterator<EObject> refIterator = references.iterator();
+ while(refIterator.hasNext()) {
+ final Object currentReference = refIterator.next();
+ if(currentReference != null) {
+ final EObject currentMapped = getMatchedEObject((EObject)currentReference);
+ if(currentMapped != null) {
+ matchedReferences.add(currentMapped);
+ }
+ }
+ }
+ return matchedReferences;
+ }
+
+} \ No newline at end of file
diff --git a/deprecated/org.eclipse.papyrus.uml.compare/src/org/eclipse/papyrus/uml/compare/diff/extension/DiffElementExtensionBuilder.java b/deprecated/org.eclipse.papyrus.uml.compare/src/org/eclipse/papyrus/uml/compare/diff/extension/DiffElementExtensionBuilder.java
new file mode 100644
index 00000000000..95bf93bcb10
--- /dev/null
+++ b/deprecated/org.eclipse.papyrus.uml.compare/src/org/eclipse/papyrus/uml/compare/diff/extension/DiffElementExtensionBuilder.java
@@ -0,0 +1,154 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Tatiana Fesenko (CEA LIST) - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.uml.compare.diff.extension;
+
+import org.eclipse.emf.compare.diff.metamodel.AbstractDiffExtension;
+import org.eclipse.emf.compare.diff.metamodel.AttributeChange;
+import org.eclipse.emf.compare.diff.metamodel.AttributeChangeLeftTarget;
+import org.eclipse.emf.compare.diff.metamodel.AttributeChangeRightTarget;
+import org.eclipse.emf.compare.diff.metamodel.DiffElement;
+import org.eclipse.emf.compare.diff.metamodel.DiffModel;
+import org.eclipse.emf.compare.diff.metamodel.ModelElementChangeLeftTarget;
+import org.eclipse.emf.compare.diff.metamodel.ModelElementChangeRightTarget;
+import org.eclipse.emf.compare.diff.metamodel.ReferenceChange;
+import org.eclipse.emf.compare.diff.metamodel.UpdateAttribute;
+import org.eclipse.emf.compare.diff.metamodel.util.DiffSwitch;
+import org.eclipse.papyrus.uml.compare.diff.metamodel.uml_diff_extension.AddStereotypeApplication;
+import org.eclipse.papyrus.uml.compare.diff.metamodel.uml_diff_extension.CompareTwoElementsDiffModel;
+import org.eclipse.papyrus.uml.compare.diff.metamodel.uml_diff_extension.RemoveStereotypeApplication;
+import org.eclipse.papyrus.uml.compare.diff.metamodel.uml_diff_extension.TaggedValueChange;
+import org.eclipse.papyrus.uml.compare.diff.metamodel.uml_diff_extension.TaggedValueChangeLeftTarget;
+import org.eclipse.papyrus.uml.compare.diff.metamodel.uml_diff_extension.TaggedValueChangeRightTarget;
+import org.eclipse.papyrus.uml.compare.diff.metamodel.uml_diff_extension.TaggedValueReferenceChange;
+import org.eclipse.papyrus.uml.compare.diff.metamodel.uml_diff_extension.UMLDiffFactory;
+import org.eclipse.papyrus.uml.compare.diff.metamodel.uml_diff_extension.UpdateTaggedValue;
+
+
+/**
+ * The Class DiffElementExtensionBuilder.
+ */
+public class DiffElementExtensionBuilder extends DiffSwitch<AbstractDiffExtension> {
+
+ /* (non-Javadoc)
+ * @see org.eclipse.emf.compare.diff.metamodel.util.DiffSwitch#caseDiffElement(org.eclipse.emf.compare.diff.metamodel.DiffElement)
+ */
+ @Override
+ public AbstractDiffExtension caseDiffElement(DiffElement object) {
+ throw new UnsupportedOperationException();
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.emf.compare.diff.metamodel.util.DiffSwitch#caseDiffModel(org.eclipse.emf.compare.diff.metamodel.DiffModel)
+ */
+ @Override
+ public AbstractDiffExtension caseDiffModel(DiffModel object) {
+ CompareTwoElementsDiffModel newElement = UMLDiffFactory.eINSTANCE.createCompareTwoElementsDiffModel();
+ newElement.getLeftRoots().addAll(object.getLeftRoots());
+ newElement.getRightRoots().addAll(object.getRightRoots());
+ newElement.getAncestorRoots().addAll(object.getAncestorRoots());
+ newElement.getOwnedElements().addAll(object.getOwnedElements());
+ return newElement;
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.emf.compare.diff.metamodel.util.DiffSwitch#caseModelElementChangeLeftTarget(org.eclipse.emf.compare.diff.metamodel.ModelElementChangeLeftTarget)
+ */
+ @Override
+ public AbstractDiffExtension caseModelElementChangeLeftTarget(ModelElementChangeLeftTarget object) {
+ RemoveStereotypeApplication newElement = UMLDiffFactory.eINSTANCE.createRemoveStereotypeApplication();
+ newElement.setLeftElement(object.getLeftElement());
+ return newElement;
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.emf.compare.diff.metamodel.util.DiffSwitch#caseModelElementChangeRightTarget(org.eclipse.emf.compare.diff.metamodel.ModelElementChangeRightTarget)
+ */
+ @Override
+ public AbstractDiffExtension caseModelElementChangeRightTarget(ModelElementChangeRightTarget object) {
+ AddStereotypeApplication newElement = UMLDiffFactory.eINSTANCE.createAddStereotypeApplication();
+ newElement.setRightElement(object.getRightElement());
+ return newElement;
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.emf.compare.diff.metamodel.util.DiffSwitch#caseAttributeChange(org.eclipse.emf.compare.diff.metamodel.AttributeChange)
+ */
+ @Override
+ public AbstractDiffExtension caseAttributeChange(AttributeChange object) {
+ TaggedValueChange newElement = UMLDiffFactory.eINSTANCE.createUpdateTaggedValue();
+ initTaggedValueDiff(newElement, object);
+ return newElement;
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.emf.compare.diff.metamodel.util.DiffSwitch#caseAttributeChangeLeftTarget(org.eclipse.emf.compare.diff.metamodel.AttributeChangeLeftTarget)
+ */
+ @Override
+ public AbstractDiffExtension caseAttributeChangeLeftTarget(AttributeChangeLeftTarget object) {
+ TaggedValueChangeLeftTarget newElement = UMLDiffFactory.eINSTANCE.createTaggedValueChangeLeftTarget();
+ initTaggedValueDiff(newElement, object);
+ newElement.setLeftTarget(object.getLeftTarget());
+ return newElement;
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.emf.compare.diff.metamodel.util.DiffSwitch#caseAttributeChangeRightTarget(org.eclipse.emf.compare.diff.metamodel.AttributeChangeRightTarget)
+ */
+ @Override
+ public AbstractDiffExtension caseAttributeChangeRightTarget(AttributeChangeRightTarget object) {
+ TaggedValueChangeRightTarget newElement = UMLDiffFactory.eINSTANCE.createTaggedValueChangeRightTarget();
+ initTaggedValueDiff(newElement, object);
+ newElement.setRightTarget(object.getRightTarget());
+ return newElement;
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.emf.compare.diff.metamodel.util.DiffSwitch#caseUpdateAttribute(org.eclipse.emf.compare.diff.metamodel.UpdateAttribute)
+ */
+ @Override
+ public AbstractDiffExtension caseUpdateAttribute(UpdateAttribute object) {
+ UpdateTaggedValue newElement = UMLDiffFactory.eINSTANCE.createUpdateTaggedValue();
+ initTaggedValueDiff(newElement, object);
+ return newElement;
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.emf.compare.diff.metamodel.util.DiffSwitch#caseReferenceChange(org.eclipse.emf.compare.diff.metamodel.ReferenceChange)
+ */
+ @Override
+ public AbstractDiffExtension caseReferenceChange(ReferenceChange object) {
+ TaggedValueReferenceChange newElement = UMLDiffFactory.eINSTANCE.createTaggedValueReferenceChange();
+ newElement.setLeftElement(object.getLeftElement());
+ newElement.setRightElement(object.getRightElement());
+ newElement.setReference(object.getReference());
+ newElement.setRemote(object.isRemote());
+ return newElement;
+ }
+
+
+ /**
+ * Inits the tagged value diff.
+ *
+ * @param newElement the new element
+ * @param attributeChange the attribute change
+ * @return the tagged value change
+ */
+ protected TaggedValueChange initTaggedValueDiff(TaggedValueChange newElement, AttributeChange attributeChange) {
+ newElement.setLeftElement(attributeChange.getLeftElement());
+ newElement.setRightElement(attributeChange.getRightElement());
+ newElement.setAttribute(attributeChange.getAttribute());
+ newElement.setRemote(attributeChange.isRemote());
+ return newElement;
+ }
+}
diff --git a/deprecated/org.eclipse.papyrus.uml.compare/src/org/eclipse/papyrus/uml/compare/diff/extension/StyledDiffLabelSwitch.java b/deprecated/org.eclipse.papyrus.uml.compare/src/org/eclipse/papyrus/uml/compare/diff/extension/StyledDiffLabelSwitch.java
new file mode 100644
index 00000000000..7174b88c1de
--- /dev/null
+++ b/deprecated/org.eclipse.papyrus.uml.compare/src/org/eclipse/papyrus/uml/compare/diff/extension/StyledDiffLabelSwitch.java
@@ -0,0 +1,316 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Tatiana Fesenko (CEA LIST) - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.uml.compare.diff.extension;
+
+import org.eclipse.emf.compare.diff.metamodel.AttributeChange;
+import org.eclipse.emf.compare.diff.metamodel.AttributeChangeLeftTarget;
+import org.eclipse.emf.compare.diff.metamodel.AttributeChangeRightTarget;
+import org.eclipse.emf.compare.diff.metamodel.DiffGroup;
+import org.eclipse.emf.compare.diff.metamodel.DiffPackage;
+import org.eclipse.emf.compare.diff.metamodel.ReferenceChange;
+import org.eclipse.emf.compare.diff.metamodel.UpdateAttribute;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.jface.viewers.ILabelProvider;
+import org.eclipse.jface.viewers.StyledString;
+import org.eclipse.papyrus.uml.compare.Messages;
+import org.eclipse.papyrus.uml.compare.StyledMessageFormat;
+import org.eclipse.papyrus.uml.compare.UMLCompareUtils;
+import org.eclipse.papyrus.uml.compare.diff.metamodel.uml_diff_extension.AddStereotypeApplication;
+import org.eclipse.papyrus.uml.compare.diff.metamodel.uml_diff_extension.CompareTwoElementsDiffModel;
+import org.eclipse.papyrus.uml.compare.diff.metamodel.uml_diff_extension.RemoveStereotypeApplication;
+import org.eclipse.papyrus.uml.compare.diff.metamodel.uml_diff_extension.TaggedValueChange;
+import org.eclipse.papyrus.uml.compare.diff.metamodel.uml_diff_extension.TaggedValueChangeLeftTarget;
+import org.eclipse.papyrus.uml.compare.diff.metamodel.uml_diff_extension.TaggedValueChangeRightTarget;
+import org.eclipse.papyrus.uml.compare.diff.metamodel.uml_diff_extension.TaggedValueReferenceChange;
+import org.eclipse.papyrus.uml.compare.diff.metamodel.uml_diff_extension.UpdateTaggedValue;
+import org.eclipse.papyrus.uml.compare.diff.metamodel.uml_diff_extension.util.UMLDiffSwitch;
+import org.eclipse.uml2.uml.util.UMLUtil;
+
+
+/**
+ * Switch to return Styled label for the given DiffElement.
+ * Usually changed elements and number of chnages are shown in bold.
+ */
+public class StyledDiffLabelSwitch extends UMLDiffSwitch<StyledString> {
+
+ /** The my domain element label provider. */
+ private final ILabelProvider myDomainElementLabelProvider;
+
+ /**
+ * Instantiates a new styled diff label switch.
+ *
+ * @param labelProvider the label provider
+ */
+ public StyledDiffLabelSwitch(ILabelProvider labelProvider) {
+ myDomainElementLabelProvider = labelProvider;
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.papyrus.uml.compare.diff.metamodel.uml_diff_extension.util.UMLDiffSwitch#defaultCase(org.eclipse.emf.ecore.EObject)
+ */
+ @Override
+ public StyledString defaultCase(EObject object) {
+ int classifierID = object.eClass().getClassifierID();
+ switch(classifierID) {
+ case DiffPackage.DIFF_GROUP:
+ {
+ DiffGroup diffGroup = (DiffGroup)object;
+ return caseDiffGroup(diffGroup);
+ }
+ case DiffPackage.UPDATE_ATTRIBUTE:
+ {
+ UpdateAttribute updateAttribute = (UpdateAttribute)object;
+ return caseUpdateAttribute(updateAttribute);
+ }
+ }
+ return null;
+ }
+
+ /**
+ * Gets the label provider.
+ *
+ * @return the label provider
+ */
+ private ILabelProvider getLabelProvider() {
+ return myDomainElementLabelProvider;
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.papyrus.uml.compare.diff.metamodel.uml_diff_extension.util.UMLDiffSwitch#caseCompareTwoElementsDiffModel(org.eclipse.papyrus.uml.compare.diff.metamodel.uml_diff_extension.CompareTwoElementsDiffModel)
+ */
+ @Override
+ public StyledString caseCompareTwoElementsDiffModel(CompareTwoElementsDiffModel object) {
+ int subchanges = ((DiffGroup)object.getOwnedElements().get(0)).getSubchanges();
+ EObject leftElement = object.getLeftRoots().get(0);
+ String leftName = getLabelProvider().getText(leftElement);
+ EObject rightElement = object.getRightRoots().get(0);
+ String rightName = getLabelProvider().getText(rightElement);
+
+ // String message = "%s change(s) between elements [%s] and [%s]";
+ // return String.StyledMessageFormat.format(message, subchanges, leftName, rightName);
+
+ return StyledMessageFormat.format(Messages.StyledDiffLabelSwitch_two_elements_model_text, String.valueOf(subchanges), leftName, rightName);
+
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.papyrus.uml.compare.diff.metamodel.uml_diff_extension.util.UMLDiffSwitch#caseAddStereotypeApplication(org.eclipse.papyrus.uml.compare.diff.metamodel.uml_diff_extension.AddStereotypeApplication)
+ */
+ @Override
+ public StyledString caseAddStereotypeApplication(AddStereotypeApplication object) {
+ EObject element = object.getRightElement();
+ String elementLabel = getLabelProvider().getText(element);
+ if(UMLCompareUtils.isStereotypeApplication(element)) {
+ elementLabel = getLabelProvider().getText(UMLUtil.getStereotype(element));
+ }
+ return StyledMessageFormat.format(Messages.StyledDiffLabelSwitch_add_stereotype_application_text, elementLabel);
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.papyrus.uml.compare.diff.metamodel.uml_diff_extension.util.UMLDiffSwitch#caseRemoveStereotypeApplication(org.eclipse.papyrus.uml.compare.diff.metamodel.uml_diff_extension.RemoveStereotypeApplication)
+ */
+ @Override
+ public StyledString caseRemoveStereotypeApplication(RemoveStereotypeApplication object) {
+ EObject element = object.getLeftElement();
+ String elementLabel = getLabelProvider().getText(element);
+ if(UMLCompareUtils.isStereotypeApplication(element)) {
+ elementLabel = getLabelProvider().getText(UMLUtil.getStereotype(element));
+ }
+ return StyledMessageFormat.format(Messages.StyledDiffLabelSwitch_remove_stereotype_application_text, elementLabel);
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.papyrus.uml.compare.diff.metamodel.uml_diff_extension.util.UMLDiffSwitch#caseTaggedValueChange(org.eclipse.papyrus.uml.compare.diff.metamodel.uml_diff_extension.TaggedValueChange)
+ */
+ @Override
+ public StyledString caseTaggedValueChange(TaggedValueChange object) {
+ final String attributeLabel = getLabelProvider().getText(object.getAttribute());
+ final String elementLabel = getLabelProvider().getText(object.getLeftElement());
+ final Object leftValue = object.getLeftElement().eGet(object.getAttribute());
+ final Object rightValue = object.getRightElement().eGet(object.getAttribute());
+ final String leftValueString = attributeValueToString(leftValue);
+ final String rightValueString = attributeValueToString(rightValue);
+
+ if(object.isRemote()) {
+ return StyledMessageFormat.format(Messages.StyledDiffLabelSwitch_tagged_value_changed_remote_text, elementLabel, leftValueString, rightValueString);
+ }
+ return StyledMessageFormat.format(Messages.StyledDiffLabelSwitch_tagged_value_changed_text, attributeLabel, leftValueString, rightValueString);
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.papyrus.uml.compare.diff.metamodel.uml_diff_extension.util.UMLDiffSwitch#caseTaggedValueChangeLeftTarget(org.eclipse.papyrus.uml.compare.diff.metamodel.uml_diff_extension.TaggedValueChangeLeftTarget)
+ */
+ @Override
+ public StyledString caseTaggedValueChangeLeftTarget(TaggedValueChangeLeftTarget object) {
+
+ final String attributeLabel = getLabelProvider().getText(object.getAttribute());
+ final String elementLabel = getLabelProvider().getText(object.getLeftElement());
+ final Object rightValue = object.getRightElement().eGet(object.getAttribute());
+ final String rightValueString = attributeValueToString(rightValue);
+
+ if(object.isRemote()) {
+ return StyledMessageFormat.format(Messages.StyledDiffLabelSwitch_tagged_value_left_target_remote_text, elementLabel, rightValueString);
+ }
+ return StyledMessageFormat.format(Messages.StyledDiffLabelSwitch_tagged_value_left_target_text, attributeLabel, rightValueString);
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.papyrus.uml.compare.diff.metamodel.uml_diff_extension.util.UMLDiffSwitch#caseTaggedValueChangeRightTarget(org.eclipse.papyrus.uml.compare.diff.metamodel.uml_diff_extension.TaggedValueChangeRightTarget)
+ */
+ @Override
+ public StyledString caseTaggedValueChangeRightTarget(TaggedValueChangeRightTarget object) {
+ final String attributeLabel = getLabelProvider().getText(object.getAttribute());
+ final String elementLabel = getLabelProvider().getText(object.getLeftElement());
+ final Object leftValue = object.getLeftElement().eGet(object.getAttribute());
+ final String leftValueString = attributeValueToString(leftValue);
+
+ if(object.isRemote()) {
+ return StyledMessageFormat.format(Messages.StyledDiffLabelSwitch_tagged_value_right_target_remote_text, elementLabel, leftValueString);
+ }
+ return StyledMessageFormat.format(Messages.StyledDiffLabelSwitch_tagged_value_right_target_text, attributeLabel, leftValueString);
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.papyrus.uml.compare.diff.metamodel.uml_diff_extension.util.UMLDiffSwitch#caseTaggedValueReferenceChange(org.eclipse.papyrus.uml.compare.diff.metamodel.uml_diff_extension.TaggedValueReferenceChange)
+ */
+ @Override
+ public StyledString caseTaggedValueReferenceChange(TaggedValueReferenceChange object) {
+ final String referenceLabel = getLabelProvider().getText(object.getReference());
+ final String elementLabel = getLabelProvider().getText(object.getLeftElement());
+
+ Object leftTaggedValue = UMLUtil.getBaseElement(object.getLeftElement()).getValue(UMLUtil.getStereotype(object.getLeftElement()), object.getReference().getName());
+ Object rightTaggedValue = UMLUtil.getBaseElement(object.getRightElement()).getValue(UMLUtil.getStereotype(object.getRightElement()), object.getReference().getName());
+
+ String leftValue = getLabelProvider().getText((EObject)leftTaggedValue);
+ String rightValue = getLabelProvider().getText((EObject)rightTaggedValue);
+
+ if(object.isRemote()) {
+ return StyledMessageFormat.format(Messages.StyledDiffLabelSwitch_tagged_value_reference_remote_text, elementLabel, leftValue, rightValue);
+ }
+ return StyledMessageFormat.format(Messages.StyledDiffLabelSwitch_tagged_value_reference_text, referenceLabel, leftValue, rightValue);
+
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.papyrus.uml.compare.diff.metamodel.uml_diff_extension.util.UMLDiffSwitch#caseUpdateTaggedValue(org.eclipse.papyrus.uml.compare.diff.metamodel.uml_diff_extension.UpdateTaggedValue)
+ */
+ @Override
+ public StyledString caseUpdateTaggedValue(UpdateTaggedValue object) {
+ final String attributeLabel = getLabelProvider().getText(object.getAttribute());
+ final String elementLabel = getLabelProvider().getText(object.getLeftElement());
+
+ Object leftTaggedValue = UMLUtil.getBaseElement(object.getLeftElement()).getValue(UMLUtil.getStereotype(object.getLeftElement()), object.getAttribute().getName());
+ Object rightTaggedValue = UMLUtil.getBaseElement(object.getRightElement()).getValue(UMLUtil.getStereotype(object.getRightElement()), object.getAttribute().getName());
+
+ String leftValue = attributeValueToString(leftTaggedValue);
+ String rightValue = attributeValueToString(rightTaggedValue);
+
+ if(object.isRemote()) {
+ return StyledMessageFormat.format(Messages.StyledDiffLabelSwitch_update_tagged_value_remote_text, elementLabel, leftValue, rightValue);
+ }
+ return StyledMessageFormat.format(Messages.StyledDiffLabelSwitch_update_tagged_value_text, attributeLabel, rightValue, leftValue);
+ }
+
+ /**
+ * Case diff group.
+ *
+ * @param object the object
+ * @return the styled string
+ */
+ public StyledString caseDiffGroup(DiffGroup object) {
+ final EObject parent = object.getRightParent();
+ final String parentLabel;
+ if(parent != null) {
+ parentLabel = getLabelProvider().getText(parent);
+ } else {
+ parentLabel = Messages.StyledDiffLabelSwitch_root_text;
+ }
+ return StyledMessageFormat.format(Messages.StyledDiffLabelSwitch_diff_group_text, String.valueOf(object.getSubchanges()), parentLabel);
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.papyrus.uml.compare.diff.metamodel.uml_diff_extension.util.UMLDiffSwitch#caseAttributeChange(org.eclipse.emf.compare.diff.metamodel.AttributeChange)
+ */
+ @Override
+ public StyledString caseAttributeChange(AttributeChange object) {
+ return StyledMessageFormat.format(Messages.StyledDiffLabelSwitch_attribute_change_text, String.valueOf(object.isConflicting()));
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.papyrus.uml.compare.diff.metamodel.uml_diff_extension.util.UMLDiffSwitch#caseAttributeChangeLeftTarget(org.eclipse.emf.compare.diff.metamodel.AttributeChangeLeftTarget)
+ */
+ @Override
+ public StyledString caseAttributeChangeLeftTarget(AttributeChangeLeftTarget object) {
+ final String attributeLabel = getLabelProvider().getText(object.getAttribute());
+ final String elementLabel = getLabelProvider().getText(object.getRightElement());
+
+ if(object.isRemote()) {
+ return StyledMessageFormat.format(Messages.StyledDiffLabelSwitch_attribute_change_left_target_remote_text, attributeValueToString(object.getLeftTarget()), attributeLabel, elementLabel);
+ }
+ return StyledMessageFormat.format(Messages.StyledDiffLabelSwitch_attribute_change_left_target_text, attributeValueToString(object.getLeftTarget()), attributeLabel, elementLabel);
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.papyrus.uml.compare.diff.metamodel.uml_diff_extension.util.UMLDiffSwitch#caseAttributeChangeRightTarget(org.eclipse.emf.compare.diff.metamodel.AttributeChangeRightTarget)
+ */
+ @Override
+ public StyledString caseAttributeChangeRightTarget(AttributeChangeRightTarget object) {
+ final String attributeLabel = getLabelProvider().getText(object.getAttribute());
+ final String elementLabel = getLabelProvider().getText(object.getLeftElement());
+
+ if(object.isRemote()) {
+ return StyledMessageFormat.format(Messages.StyledDiffLabelSwitch_attribute_change_right_target_remote_text, attributeValueToString(object.getRightTarget()), attributeLabel, elementLabel);
+ }
+ return StyledMessageFormat.format(Messages.StyledDiffLabelSwitch_attribute_change_right_target_text, attributeValueToString(object.getRightTarget()), attributeLabel, elementLabel);
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.papyrus.uml.compare.diff.metamodel.uml_diff_extension.util.UMLDiffSwitch#caseUpdateAttribute(org.eclipse.emf.compare.diff.metamodel.UpdateAttribute)
+ */
+ @Override
+ public StyledString caseUpdateAttribute(UpdateAttribute object) {
+ final String attributeLabel = getLabelProvider().getText(object.getAttribute());
+ final String elementLabel = getLabelProvider().getText(object.getLeftElement());
+ final Object leftValue = object.getLeftElement().eGet(object.getAttribute());
+ final Object rightValue = object.getRightElement().eGet(object.getAttribute());
+
+ if(object.isRemote()) {
+ return StyledMessageFormat.format(Messages.StyledDiffLabelSwitch_update_attribute_remote_text, attributeLabel, elementLabel, attributeValueToString(leftValue), attributeValueToString(rightValue));
+ }
+
+ if(object.isConflicting()) {
+ return StyledMessageFormat.format(Messages.StyledDiffLabelSwitch_update_attribute_conflicting_text, attributeLabel, attributeValueToString(rightValue), attributeValueToString(leftValue));
+ }
+ return StyledMessageFormat.format(Messages.StyledDiffLabelSwitch_update_attribute_text, attributeLabel, elementLabel, attributeValueToString(rightValue), attributeValueToString(leftValue));
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.papyrus.uml.compare.diff.metamodel.uml_diff_extension.util.UMLDiffSwitch#caseReferenceChange(org.eclipse.emf.compare.diff.metamodel.ReferenceChange)
+ */
+ @Override
+ public StyledString caseReferenceChange(ReferenceChange object) {
+ return StyledMessageFormat.format(Messages.StyledDiffLabelSwitch_reference_chnage_text, String.valueOf(object.isConflicting()));
+ }
+
+ /**
+ * Attribute value to string.
+ *
+ * @param attributeValue the attribute value
+ * @return the string
+ */
+ private String attributeValueToString(Object attributeValue) {
+ return attributeValue == null ? Messages.StyledDiffLabelSwitch_null_value_text : attributeValue.toString();
+ }
+
+}
diff --git a/deprecated/org.eclipse.papyrus.uml.compare/src/org/eclipse/papyrus/uml/compare/diff/extension/UMLStyledStructureLabelProvider.java b/deprecated/org.eclipse.papyrus.uml.compare/src/org/eclipse/papyrus/uml/compare/diff/extension/UMLStyledStructureLabelProvider.java
new file mode 100644
index 00000000000..19fa6899979
--- /dev/null
+++ b/deprecated/org.eclipse.papyrus.uml.compare/src/org/eclipse/papyrus/uml/compare/diff/extension/UMLStyledStructureLabelProvider.java
@@ -0,0 +1,99 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Tatiana Fesenko (CEA LIST) - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.uml.compare.diff.extension;
+
+import org.eclipse.emf.compare.diff.metamodel.AbstractDiffExtension;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.jface.viewers.ILabelProvider;
+import org.eclipse.jface.viewers.StyledCellLabelProvider;
+import org.eclipse.jface.viewers.StyledString;
+import org.eclipse.jface.viewers.ViewerCell;
+import org.eclipse.papyrus.uml.compare.diff.metamodel.uml_diff_extension.util.UMLDiffSwitch;
+import org.eclipse.swt.graphics.Image;
+
+
+/**
+ * LabelProvider that returns Styled label.
+ * Usually changed elements and number of changes are shown in bold.
+ */
+public class UMLStyledStructureLabelProvider extends StyledCellLabelProvider implements ILabelProvider {
+
+ /** The my delegate. */
+ private final ILabelProvider myDelegate;
+
+ /** The my diff label switch. */
+ private final UMLDiffSwitch<StyledString> myDiffLabelSwitch;
+
+ /**
+ * Instantiates a new uML styled structure label provider.
+ *
+ * @param delegate the delegate
+ */
+ public UMLStyledStructureLabelProvider(ILabelProvider delegate) {
+ myDelegate = delegate;
+ myDiffLabelSwitch = new StyledDiffLabelSwitch(delegate);
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.jface.viewers.ILabelProvider#getImage(java.lang.Object)
+ */
+ public Image getImage(Object element) {
+ if(element instanceof AbstractDiffExtension) {
+ return (Image)((AbstractDiffExtension)element).getImage();
+ }
+ return myDelegate.getImage(element);
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.jface.viewers.ILabelProvider#getText(java.lang.Object)
+ */
+ public String getText(Object element) {
+ return getStyledText(element).getString();
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.jface.viewers.StyledCellLabelProvider#update(org.eclipse.jface.viewers.ViewerCell)
+ */
+ public void update(ViewerCell cell) {
+ StyledString string = getStyledText(cell.getElement());
+ cell.setText(string.getString());
+ cell.setStyleRanges(string.getStyleRanges());
+ cell.setImage(getImage(cell.getElement()));
+ super.update(cell);
+ }
+
+ /**
+ * Gets the styled text.
+ *
+ * @param element the element
+ * @return the styled text
+ */
+ public StyledString getStyledText(Object element) {
+ if(element instanceof EObject) {
+ StyledString diffElementLabel = myDiffLabelSwitch.doSwitch((EObject)element);
+ if(diffElementLabel != null) {
+ return diffElementLabel;
+ }
+ }
+ String elementText = myDelegate.getText(element);
+ if (elementText != null) {
+ StyledString styledString = new StyledString();
+ styledString.append(myDelegate.getText(element));
+ return styledString;
+ }
+ return null;
+ }
+
+
+}
diff --git a/deprecated/org.eclipse.papyrus.uml.compare/src/org/eclipse/papyrus/uml/compare/element/ElementContentDiffEngine.java b/deprecated/org.eclipse.papyrus.uml.compare/src/org/eclipse/papyrus/uml/compare/element/ElementContentDiffEngine.java
new file mode 100644
index 00000000000..bf30170b323
--- /dev/null
+++ b/deprecated/org.eclipse.papyrus.uml.compare/src/org/eclipse/papyrus/uml/compare/element/ElementContentDiffEngine.java
@@ -0,0 +1,101 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Tatiana Fesenko (CEA LIST) - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.uml.compare.element;
+
+import org.eclipse.emf.compare.diff.metamodel.DiffElement;
+import org.eclipse.emf.compare.diff.metamodel.DiffGroup;
+import org.eclipse.emf.compare.diff.metamodel.DiffModel;
+import org.eclipse.emf.compare.diff.metamodel.MoveModelElement;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.papyrus.uml.compare.diff.PapyrusDiffEngine;
+import org.eclipse.papyrus.uml.compare.diff.metamodel.uml_diff_extension.CompareTwoElementsDiffModel;
+import org.eclipse.papyrus.uml.compare.diff.metamodel.uml_diff_extension.UMLDiffFactory;
+
+
+/**
+ /**
+ * The implementation of DiffEngine to compare two arbitrary elements, not nesseserily diagrams
+ */
+public class ElementContentDiffEngine extends PapyrusDiffEngine {
+
+ /** The my left. */
+ private final EObject myLeft;
+
+ /** The my right. */
+ private final EObject myRight;
+
+ /**
+ * Instantiates a new element content diff engine.
+ *
+ * @param left the left
+ * @param right the right
+ */
+ public ElementContentDiffEngine(EObject left, EObject right) {
+ this.myLeft = left;
+ this.myRight = right;
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.emf.compare.diff.engine.GenericDiffEngine#addInContainerPackage(org.eclipse.emf.compare.diff.metamodel.DiffGroup, org.eclipse.emf.compare.diff.metamodel.DiffElement, org.eclipse.emf.ecore.EObject)
+ */
+ @Override
+ protected void addInContainerPackage(DiffGroup root, DiffElement operation, EObject targetParent) {
+// if(targetParent == myLeft || targetParent == myRight) {
+// root.getSubDiffElements().add(operation);
+// return;
+// }
+ super.addInContainerPackage(root, operation, targetParent);
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.papyrus.uml.compare.diff.PapyrusDiffEngine#postProcess(org.eclipse.emf.compare.diff.metamodel.DiffModel)
+ */
+ @Override
+ protected DiffModel postProcess(DiffModel diffModel) {
+ super.postProcess(diffModel);
+ //#336361 - [UML Compare] Compare two elements: show right element as root
+ DiffElement newRoot = findDiffElementFor(diffModel, myRight);
+ CompareTwoElementsDiffModel newRootExt = buildCompareTwoElementsDiff(diffModel, newRoot);
+ return newRootExt;
+ }
+
+ /**
+ * Builds the compare two elements diff.
+ *
+ * @param object the object
+ * @param newRott the new rott
+ * @return the compare two elements diff model
+ */
+ private CompareTwoElementsDiffModel buildCompareTwoElementsDiff(DiffModel object, DiffElement newRott) {
+ CompareTwoElementsDiffModel newElement = UMLDiffFactory.eINSTANCE.createCompareTwoElementsDiffModel();
+ newElement.getLeftRoots().add(myLeft);
+ newElement.getRightRoots().add(myRight);
+// newElement.getAncestorRoots().addAll(object.getAncestorRoots());
+ newElement.getOwnedElements().add(newRott);
+ return newElement;
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.papyrus.uml.compare.diff.PapyrusDiffEngine#visitElement(org.eclipse.emf.compare.diff.metamodel.DiffModel, org.eclipse.emf.compare.diff.metamodel.DiffElement)
+ */
+ @Override
+ protected void visitElement(DiffModel root, DiffElement diffElement) {
+ super.visitElement(root, diffElement);
+ if (diffElement instanceof MoveModelElement) {
+ // don't show 'element moved for the root elements'
+ hideElement(diffElement, null);
+ }
+ }
+
+}
diff --git a/deprecated/org.eclipse.papyrus.uml.compare/src/org/eclipse/papyrus/uml/compare/element/ElementContentMatchEngine.java b/deprecated/org.eclipse.papyrus.uml.compare/src/org/eclipse/papyrus/uml/compare/element/ElementContentMatchEngine.java
new file mode 100644
index 00000000000..1f2c6f8c8f9
--- /dev/null
+++ b/deprecated/org.eclipse.papyrus.uml.compare/src/org/eclipse/papyrus/uml/compare/element/ElementContentMatchEngine.java
@@ -0,0 +1,110 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Tatiana Fesenko (CEA LIST) - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.uml.compare.element;
+
+import org.eclipse.emf.compare.FactoryException;
+import org.eclipse.emf.compare.match.engine.AbstractSimilarityChecker;
+import org.eclipse.emf.compare.match.statistic.MetamodelFilter;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.papyrus.uml.compare.match.PapyrusMatchEngine;
+
+/**
+ * The implementation of MatchEngine to compare two arbitrary elements, not nesseserily diagrams
+ */
+public class ElementContentMatchEngine extends PapyrusMatchEngine {
+
+ /** The my left. */
+ private final EObject myLeft;
+
+ /** The my right. */
+ private final EObject myRight;
+
+ /**
+ * Instantiates a new element content match engine.
+ *
+ * @param left the left
+ * @param right the right
+ */
+ public ElementContentMatchEngine(EObject left, EObject right) {
+ this.myLeft = left;
+ this.myRight = right;
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.papyrus.uml.compare.match.PapyrusMatchEngine#prepareChecker()
+ */
+ @Override
+ protected AbstractSimilarityChecker prepareChecker() {
+ return new AlwaysSimilarChecker(filter, super.prepareChecker());
+ }
+
+ /**
+ * The Class AlwaysSimilarChecker.
+ */
+ private class AlwaysSimilarChecker extends AbstractSimilarityChecker {
+
+ /** The delegate. */
+ private AbstractSimilarityChecker delegate;
+
+ /**
+ * Instantiates a new always similar checker.
+ *
+ * @param filter the filter
+ * @param fallback the fallback
+ */
+ public AlwaysSimilarChecker(MetamodelFilter filter, AbstractSimilarityChecker fallback) {
+ super(filter);
+ this.delegate = fallback;
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.emf.compare.match.engine.AbstractSimilarityChecker#isSimilar(org.eclipse.emf.ecore.EObject, org.eclipse.emf.ecore.EObject)
+ */
+ /**
+ * The standard AbstractSimilarityChecker checks the parent of the elements,
+ * thus, compared elements won't be considered similar.
+ * To avoid this problem this method always returns true
+ **/
+ @Override
+ public boolean isSimilar(EObject obj1, EObject obj2) throws FactoryException {
+ return true;
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.emf.compare.match.engine.AbstractSimilarityChecker#init(org.eclipse.emf.ecore.EObject, org.eclipse.emf.ecore.EObject)
+ */
+ @Override
+ public void init(EObject leftObject, EObject rightObject) throws FactoryException {
+ delegate.init(leftObject, rightObject);
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.emf.compare.match.engine.AbstractSimilarityChecker#init(org.eclipse.emf.ecore.resource.Resource, org.eclipse.emf.ecore.resource.Resource)
+ */
+ @Override
+ public void init(Resource leftResource, Resource rightResource) throws FactoryException {
+ delegate.init(leftResource, rightResource);
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.emf.compare.match.engine.AbstractSimilarityChecker#absoluteMetric(org.eclipse.emf.ecore.EObject, org.eclipse.emf.ecore.EObject)
+ */
+ @Override
+ public double absoluteMetric(EObject obj1, EObject obj2) throws FactoryException {
+ return delegate.absoluteMetric(obj1, obj2);
+ }
+ }
+
+}
diff --git a/deprecated/org.eclipse.papyrus.uml.compare/src/org/eclipse/papyrus/uml/compare/match/PapyrusMatchEngine.java b/deprecated/org.eclipse.papyrus.uml.compare/src/org/eclipse/papyrus/uml/compare/match/PapyrusMatchEngine.java
new file mode 100644
index 00000000000..078589b9c8a
--- /dev/null
+++ b/deprecated/org.eclipse.papyrus.uml.compare/src/org/eclipse/papyrus/uml/compare/match/PapyrusMatchEngine.java
@@ -0,0 +1,69 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Tatiana Fesenko (CEA LIST) - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.uml.compare.match;
+
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.List;
+import java.util.Map;
+
+import org.eclipse.emf.compare.match.MatchOptions;
+import org.eclipse.emf.compare.match.engine.GenericMatchEngine;
+import org.eclipse.emf.compare.match.engine.IMatchScope;
+import org.eclipse.emf.compare.match.metamodel.MatchModel;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.uml2.uml.Element;
+
+
+/**
+ * Implementation of MatchEngine for UML Diagrams:
+ * <li>Processes changes in stereotypes and tagged values as children of the base element, not of resource</li>
+ */
+public class PapyrusMatchEngine extends GenericMatchEngine {
+
+ /* (non-Javadoc)
+ * @see org.eclipse.emf.compare.match.engine.GenericMatchEngine#resourceMatch(org.eclipse.emf.ecore.resource.Resource, org.eclipse.emf.ecore.resource.Resource, java.util.Map)
+ */
+ @Override
+ public MatchModel resourceMatch(Resource leftResource, Resource rightResource, Map<String, Object> optionMap) throws InterruptedException {
+ optionMap.put(MatchOptions.OPTION_MATCH_SCOPE_PROVIDER, new PapyrusMatchScopeProvider(leftResource, rightResource));
+ return super.resourceMatch(leftResource, rightResource, optionMap);
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.emf.compare.match.engine.GenericMatchEngine#getScopeInternalContents(org.eclipse.emf.ecore.EObject, org.eclipse.emf.compare.match.engine.IMatchScope)
+ */
+ @Override
+ protected List<EObject> getScopeInternalContents(EObject eObject, IMatchScope scope) {
+ ArrayList<EObject> result = new ArrayList<EObject>(super.getScopeInternalContents(eObject, scope));
+ result.addAll(getStereotypeApplications(eObject));
+ return result;
+ }
+
+ /**
+ * Gets the stereotype applications.
+ *
+ * @param eObject the e object
+ * @return the stereotype applications
+ */
+ private List<EObject> getStereotypeApplications(EObject eObject) {
+ if(eObject instanceof Element) {
+ return ((Element)eObject).getStereotypeApplications();
+ } else {
+ return Collections.emptyList();
+ }
+ }
+
+}
diff --git a/deprecated/org.eclipse.papyrus.uml.compare/src/org/eclipse/papyrus/uml/compare/match/PapyrusMatchScopeProvider.java b/deprecated/org.eclipse.papyrus.uml.compare/src/org/eclipse/papyrus/uml/compare/match/PapyrusMatchScopeProvider.java
new file mode 100644
index 00000000000..497de7fbb3e
--- /dev/null
+++ b/deprecated/org.eclipse.papyrus.uml.compare/src/org/eclipse/papyrus/uml/compare/match/PapyrusMatchScopeProvider.java
@@ -0,0 +1,89 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Tatiana Fesenko (CEA LIST) - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.uml.compare.match;
+
+import org.eclipse.emf.compare.match.engine.GenericMatchScopeProvider;
+import org.eclipse.emf.compare.match.engine.IMatchScope;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.papyrus.uml.compare.UMLCompareUtils;
+import org.eclipse.uml2.uml.util.UMLUtil;
+
+
+/**
+ * Implementation of GenericMatchScopeProvider for UML Diagrams:
+ * <li>Processes changes in stereotypes and tagged values as children of the base element, not of resource</li>
+ */
+public class PapyrusMatchScopeProvider extends GenericMatchScopeProvider {
+
+ /**
+ * Instantiates a new papyrus match scope provider.
+ *
+ * @param leftResource the left resource
+ * @param rightResource the right resource
+ */
+ public PapyrusMatchScopeProvider(Resource leftResource, Resource rightResource) {
+ super(leftResource, rightResource);
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.emf.compare.match.engine.GenericMatchScopeProvider#getLeftScope()
+ */
+ @Override
+ public IMatchScope getLeftScope() {
+ return new PapyrusMatchScope(super.getLeftScope());
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.emf.compare.match.engine.GenericMatchScopeProvider#getRightScope()
+ */
+ @Override
+ public IMatchScope getRightScope() {
+ return new PapyrusMatchScope(super.getRightScope());
+ }
+
+ /**
+ * The Class PapyrusMatchScope.
+ */
+ private static class PapyrusMatchScope implements IMatchScope {
+
+ /** The my scope. */
+ private final IMatchScope myScope;
+
+ /**
+ * Instantiates a new papyrus match scope.
+ *
+ * @param scope the scope
+ */
+ private PapyrusMatchScope(IMatchScope scope) {
+ myScope = scope;
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.emf.compare.match.engine.IMatchScope#isInScope(org.eclipse.emf.ecore.EObject)
+ */
+ public boolean isInScope(EObject eObject) {
+ return myScope.isInScope(eObject) && !UMLCompareUtils.isStereotypeApplication(eObject);
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.emf.compare.match.engine.IMatchScope#isInScope(org.eclipse.emf.ecore.resource.Resource)
+ */
+ public boolean isInScope(Resource resource) {
+ return myScope.isInScope(resource);
+ }
+
+ }
+
+}
diff --git a/deprecated/org.eclipse.papyrus.uml.compare/src/org/eclipse/papyrus/uml/compare/ui/PapyrusLabelProvider.java b/deprecated/org.eclipse.papyrus.uml.compare/src/org/eclipse/papyrus/uml/compare/ui/PapyrusLabelProvider.java
new file mode 100644
index 00000000000..3f45c07d1ce
--- /dev/null
+++ b/deprecated/org.eclipse.papyrus.uml.compare/src/org/eclipse/papyrus/uml/compare/ui/PapyrusLabelProvider.java
@@ -0,0 +1,160 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Tatiana Fesenko (CEA LIST) - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.uml.compare.ui;
+
+import java.lang.reflect.InvocationTargetException;
+import java.lang.reflect.Method;
+import java.util.List;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Status;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.facet.infra.browser.custom.MetamodelView;
+import org.eclipse.emf.facet.infra.browser.custom.core.CustomizationsCatalog;
+import org.eclipse.emf.facet.infra.browser.uicore.CustomizableModelLabelProvider;
+import org.eclipse.emf.facet.infra.browser.uicore.CustomizationManager;
+import org.eclipse.emf.facet.infra.browser.uicore.internal.AppearanceConfiguration;
+import org.eclipse.emf.facet.infra.browser.uicore.internal.model.ITreeElement;
+import org.eclipse.emf.facet.infra.browser.uicore.internal.model.ModelElementItem;
+import org.eclipse.papyrus.uml.compare.Activator;
+import org.eclipse.swt.graphics.Image;
+
+
+/**
+ * PapyrusLabelProvider provides the same labels and icons as one can find in the Model Explorer.
+ */
+// Not placed in the UI plugin because it is used in the subclasses of AbstractDiffExtension, in getText() method
+public class PapyrusLabelProvider extends CustomizableModelLabelProvider {
+
+
+ /** The configuration. */
+ private AppearanceConfiguration configuration;
+
+ /**
+ * Constructor.
+ *
+ * @param customizationManager the customization manager
+ */
+ public PapyrusLabelProvider(CustomizationManager customizationManager) {
+ super(customizationManager);
+ configuration = getAppearanceConfiguration(customizationManager);
+ }
+
+ /**
+ * Instantiates a new papyrus label provider.
+ */
+ public PapyrusLabelProvider() {
+ this(initCustomizationManager());
+ }
+
+ /**
+ * Inits the customization manager.
+ *
+ * @return the customization manager
+ */
+ private static CustomizationManager initCustomizationManager() {
+ CustomizationManager manager = new CustomizationManager();
+ try {
+ List<MetamodelView> registryDefaultCustomizations = CustomizationsCatalog.getInstance().getRegistryDefaultCustomizations();
+ for(MetamodelView metamodelView : registryDefaultCustomizations) {
+ manager.registerCustomization(metamodelView);
+ }
+ manager.loadCustomizations();
+
+ } catch (Throwable e) {
+ Activator.getDefault().getLog().log(new Status(IStatus.ERROR, Activator.PLUGIN_ID, "Error initializing customizations", e)); //$NON-NLS-1$
+ }
+ manager.setShowFullQualifiedNames(false);
+ manager.setShowURI(true);
+ manager.setShowDerivedLinks(false);
+ return manager;
+ }
+
+ /**
+ * Gets the appearance configuration.
+ *
+ * @param customizationManager2 the customization manager2
+ * @return the appearance configuration
+ */
+ private AppearanceConfiguration getAppearanceConfiguration(CustomizationManager customizationManager2) {
+ Method getApperanceConfigurationMethod;
+ try {
+ getApperanceConfigurationMethod = CustomizationManager.class.getDeclaredMethod("getAppearanceConfiguration"); //$NON-NLS-1$
+ if(getApperanceConfigurationMethod != null) {
+ getApperanceConfigurationMethod.setAccessible(true);
+ return (AppearanceConfiguration)getApperanceConfigurationMethod.invoke(customizationManager2);
+ }
+ } catch (SecurityException e) {
+ Activator.logError(e);
+ } catch (NoSuchMethodException e) {
+ Activator.logError(e);
+ } catch (IllegalArgumentException e) {
+ Activator.logError(e);
+ } catch (IllegalAccessException e) {
+ Activator.logError(e);
+ } catch (InvocationTargetException e) {
+ Activator.logError(e);
+ }
+ return new AppearanceConfiguration(null); // default one.
+ }
+
+ /**
+ * Gets the text.
+ *
+ * @param element the element
+ * @return the text
+ * {@inheritDoc}
+ */
+ @Override
+ public String getText(Object element) {
+ if(element == null) {
+ return ""; //$NON-NLS-1$
+ }
+ if(element instanceof EObject) {
+ ITreeElement treeElement = getTreeElement((EObject)element);
+ return super.getText(treeElement);
+ }
+ return super.getText(element);
+ }
+
+ /* (non-Javadoc)
+ * @see org.eclipse.emf.facet.infra.browser.uicore.CustomizableModelLabelProvider#getImage(java.lang.Object)
+ */
+ @Override
+ public Image getImage(Object element) {
+ if(element == null) {
+ return null;
+ }
+ if(element instanceof EObject) {
+ ITreeElement treeElement = getTreeElement((EObject)element);
+ return super.getImage(treeElement);
+ }
+ return super.getImage(element);
+ }
+
+
+ /**
+ * Gets the tree element.
+ *
+ * @param eObject the e object
+ * @return the tree element
+ */
+ private ITreeElement getTreeElement(EObject eObject) {
+ if(eObject == null) {
+ return null;
+ }
+ return new ModelElementItem(eObject, getTreeElement(eObject.eContainer()), configuration);
+ }
+
+}

Back to the top