diff options
99 files changed, 5398 insertions, 179 deletions
diff --git a/org.eclipse.emf.compare-parent/pom.xml b/org.eclipse.emf.compare-parent/pom.xml index 1e34a6b64..7b14d1703 100644 --- a/org.eclipse.emf.compare-parent/pom.xml +++ b/org.eclipse.emf.compare-parent/pom.xml @@ -389,6 +389,7 @@ <module>../packaging/org.eclipse.emf.compare.diagram.papyrus-feature</module> <module>../plugins/org.eclipse.emf.compare.diagram.ide.ui.papyrus</module> <module>../plugins/org.eclipse.emf.compare.uml2.edit.papyrus</module> + <module>../plugins/org.eclipse.emf.compare.diagram.papyrus</module> <module>../plugins/org.eclipse.emf.compare.diagram.papyrus.tests</module> <module>../plugins/org.eclipse.emf.compare.uml2.ide</module> <module>../plugins/org.eclipse.emf.compare.uml2.ide.tests</module> @@ -441,6 +442,7 @@ <module>../packaging/org.eclipse.emf.compare.diagram.papyrus-feature</module> <module>../plugins/org.eclipse.emf.compare.uml2.edit.papyrus</module> <module>../plugins/org.eclipse.emf.compare.diagram.ide.ui.papyrus</module> + <module>../plugins/org.eclipse.emf.compare.diagram.papyrus</module> <module>../plugins/org.eclipse.emf.compare.diagram.papyrus.tests</module> <module>../plugins/org.eclipse.emf.compare.uml2.ide</module> <module>../plugins/org.eclipse.emf.compare.uml2.ide.tests</module> diff --git a/packaging/org.eclipse.emf.compare.diagram.papyrus-feature/feature.xml b/packaging/org.eclipse.emf.compare.diagram.papyrus-feature/feature.xml index f5b06dcf1..aa33059c6 100644 --- a/packaging/org.eclipse.emf.compare.diagram.papyrus-feature/feature.xml +++ b/packaging/org.eclipse.emf.compare.diagram.papyrus-feature/feature.xml @@ -47,4 +47,11 @@ version="0.0.0" unpack="false"/> + <plugin + id="org.eclipse.emf.compare.diagram.papyrus" + download-size="0" + install-size="0" + version="0.0.0" + unpack="false"/> + </feature> diff --git a/plugins/org.eclipse.emf.compare.diagram.papyrus.tests/META-INF/MANIFEST.MF b/plugins/org.eclipse.emf.compare.diagram.papyrus.tests/META-INF/MANIFEST.MF index 63e4378e9..515366833 100644 --- a/plugins/org.eclipse.emf.compare.diagram.papyrus.tests/META-INF/MANIFEST.MF +++ b/plugins/org.eclipse.emf.compare.diagram.papyrus.tests/META-INF/MANIFEST.MF @@ -14,6 +14,7 @@ Require-Bundle: org.eclipse.core.runtime, org.eclipse.uml2.uml, org.eclipse.uml2.uml.resources, org.eclipse.papyrus.infra.core, + org.eclipse.emf.compare.diagram.papyrus;bundle-version="1.0.0", org.eclipse.emf.compare.diagram.ide.ui;bundle-version="3.1.0", org.eclipse.emf.compare.uml2.rcp.ui;bundle-version="2.2.0", org.eclipse.emf.compare.rcp.ui;bundle-version="4.0.0", diff --git a/plugins/org.eclipse.emf.compare.diagram.papyrus.tests/pom.xml b/plugins/org.eclipse.emf.compare.diagram.papyrus.tests/pom.xml index 6f970c26c..f747ec011 100644 --- a/plugins/org.eclipse.emf.compare.diagram.papyrus.tests/pom.xml +++ b/plugins/org.eclipse.emf.compare.diagram.papyrus.tests/pom.xml @@ -21,7 +21,8 @@ <configuration> <includes> <include>org/eclipse/emf/compare/diagram/papyrus/tests/suite/AllTests.class</include> - </includes> + </includes> + <useUIHarness>true</useUIHarness> </configuration> </plugin> </plugins> diff --git a/plugins/org.eclipse.emf.compare.diagram.papyrus.tests/src/org/eclipse/emf/compare/diagram/papyrus/tests/AbstractTest.java b/plugins/org.eclipse.emf.compare.diagram.papyrus.tests/src/org/eclipse/emf/compare/diagram/papyrus/tests/AbstractTest.java index a35fc48f2..ff583366b 100644 --- a/plugins/org.eclipse.emf.compare.diagram.papyrus.tests/src/org/eclipse/emf/compare/diagram/papyrus/tests/AbstractTest.java +++ b/plugins/org.eclipse.emf.compare.diagram.papyrus.tests/src/org/eclipse/emf/compare/diagram/papyrus/tests/AbstractTest.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2013 Obeo. + * Copyright (c) 2013, 2015 Obeo. * 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 @@ -31,7 +31,6 @@ import org.eclipse.emf.compare.diagram.internal.CompareDiagramPostProcessor; import org.eclipse.emf.compare.diagram.internal.extensions.DiagramDiff; import org.eclipse.emf.compare.diagram.internal.merge.CompareDiagramMerger; import org.eclipse.emf.compare.merge.IMerger; -import org.eclipse.emf.compare.postprocessor.IPostProcessor; import org.eclipse.emf.compare.postprocessor.PostProcessorDescriptorRegistryImpl; import org.eclipse.emf.compare.scope.IComparisonScope; import org.eclipse.emf.compare.tests.postprocess.data.TestPostProcessor; @@ -59,16 +58,7 @@ public abstract class AbstractTest { @Before public void before() { postProcessorRegistry = new PostProcessorDescriptorRegistryImpl<String>(); - postProcessorRegistry.put( - UMLPostProcessor.class.getName(), - new TestPostProcessor.TestPostProcessorDescriptor(Pattern - .compile("http://www.eclipse.org/uml2/\\d.0.0/UML"), - null, new UMLPostProcessor(), 20)); - postProcessorRegistry - .put(CompareDiagramPostProcessor.class.getName(), - new TestPostProcessor.TestPostProcessorDescriptor( - Pattern.compile("http://www.eclipse.org/gmf/runtime/\\d.\\d.\\d/notation"), - null, new CompareDiagramPostProcessor(), 30)); + registerPostProcessors(); emfCompare = EMFCompare.builder() .setPostProcessorRegistry(postProcessorRegistry).build(); mergerRegistry = IMerger.RegistryImpl.createStandaloneInstance(); @@ -80,6 +70,19 @@ public abstract class AbstractTest { mergerRegistry.add(diagramMerger); } + protected void registerPostProcessors() { + getPostProcessorRegistry().put( + UMLPostProcessor.class.getName(), + new TestPostProcessor.TestPostProcessorDescriptor(Pattern + .compile("http://www.eclipse.org/uml2/\\d.0.0/UML"), + null, new UMLPostProcessor(), 20)); + getPostProcessorRegistry() + .put(CompareDiagramPostProcessor.class.getName(), + new TestPostProcessor.TestPostProcessorDescriptor( + Pattern.compile("http://www.eclipse.org/gmf/runtime/\\d.\\d.\\d/notation"), + null, new CompareDiagramPostProcessor(), 30)); + } + protected EMFCompare getCompare() { return emfCompare; } @@ -87,7 +90,7 @@ public abstract class AbstractTest { /** * @return the postProcessorRegistry */ - protected IPostProcessor.Descriptor.Registry<?> getPostProcessorRegistry() { + protected PostProcessorDescriptorRegistryImpl<String> getPostProcessorRegistry() { return postProcessorRegistry; } diff --git a/plugins/org.eclipse.emf.compare.diagram.papyrus.tests/src/org/eclipse/emf/compare/diagram/papyrus/tests/DiagramInputData.java b/plugins/org.eclipse.emf.compare.diagram.papyrus.tests/src/org/eclipse/emf/compare/diagram/papyrus/tests/DiagramInputData.java index e81ba5d54..7614225e6 100644 --- a/plugins/org.eclipse.emf.compare.diagram.papyrus.tests/src/org/eclipse/emf/compare/diagram/papyrus/tests/DiagramInputData.java +++ b/plugins/org.eclipse.emf.compare.diagram.papyrus.tests/src/org/eclipse/emf/compare/diagram/papyrus/tests/DiagramInputData.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2012, 2014 Obeo. + * Copyright (c) 2012, 2015 Obeo. * 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 @@ -10,12 +10,27 @@ *******************************************************************************/ package org.eclipse.emf.compare.diagram.papyrus.tests; +import java.io.IOException; +import java.io.InputStream; +import java.net.URL; +import java.util.Collections; import java.util.LinkedHashSet; import java.util.Set; +import org.eclipse.emf.common.EMFPlugin; +import org.eclipse.emf.common.util.URI; import org.eclipse.emf.compare.tests.framework.AbstractInputData; +import org.eclipse.emf.ecore.EPackage; +import org.eclipse.emf.ecore.resource.Resource; import org.eclipse.emf.ecore.resource.ResourceSet; +import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl; +import org.eclipse.emf.ecore.util.EcoreUtil; +import org.eclipse.gmf.runtime.emf.core.resources.GMFResourceFactory; +import org.eclipse.gmf.runtime.notation.NotationPackage; +import org.eclipse.uml2.uml.UMLPackage; +import org.eclipse.uml2.uml.internal.resource.UMLResourceFactoryImpl; +@SuppressWarnings("restriction") public class DiagramInputData extends AbstractInputData { /** Store the set of the resource sets of the input data. */ @@ -28,4 +43,36 @@ public class DiagramInputData extends AbstractInputData { return sets; } + @Override + protected Resource loadFromClassLoader(String string) throws IOException { + final URL fileURL = getClass().getResource(string); + final InputStream str = fileURL.openStream(); + final URI uri = URI.createURI(fileURL.toString()); + + ResourceSet resourceSet = new ResourceSetImpl(); + getSets().add(resourceSet); + + if (!EMFPlugin.IS_RESOURCES_BUNDLE_AVAILABLE) { + resourceSet.getResourceFactoryRegistry().getExtensionToFactoryMap() + .put("uml", new UMLResourceFactoryImpl()); + resourceSet.getResourceFactoryRegistry().getExtensionToFactoryMap() + .put("notation", new GMFResourceFactory()); + EPackage.Registry.INSTANCE.put(UMLPackage.eNS_URI, + UMLPackage.eINSTANCE); + EPackage.Registry.INSTANCE.put(NotationPackage.eNS_URI, + NotationPackage.eINSTANCE); + // EPackage.Registry.INSTANCE.put(StylePackage.eNS_URI, + // NotationPackage.eINSTANCE); + } + + Resource resource = resourceSet.createResource(uri); + + resource.load(str, Collections.emptyMap()); + str.close(); + + EcoreUtil.resolveAll(resourceSet); + + return resource; + } + } diff --git a/plugins/org.eclipse.emf.compare.diagram.papyrus.tests/src/org/eclipse/emf/compare/diagram/papyrus/tests/groups/PapyrusDifferencesOrderTest.java b/plugins/org.eclipse.emf.compare.diagram.papyrus.tests/src/org/eclipse/emf/compare/diagram/papyrus/tests/groups/PapyrusDifferencesOrderTest.java index d55db2d5b..d1de8eceb 100644 --- a/plugins/org.eclipse.emf.compare.diagram.papyrus.tests/src/org/eclipse/emf/compare/diagram/papyrus/tests/groups/PapyrusDifferencesOrderTest.java +++ b/plugins/org.eclipse.emf.compare.diagram.papyrus.tests/src/org/eclipse/emf/compare/diagram/papyrus/tests/groups/PapyrusDifferencesOrderTest.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2014 Obeo. + * Copyright (c) 2014, 2015 Obeo. * 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 @@ -15,15 +15,10 @@ import static com.google.common.base.Predicates.alwaysTrue; import com.google.common.collect.Lists; import java.io.IOException; -import java.io.InputStream; -import java.net.URL; -import java.util.Collections; import java.util.List; import java.util.regex.Pattern; -import org.eclipse.emf.common.EMFPlugin; import org.eclipse.emf.common.notify.AdapterFactory; -import org.eclipse.emf.common.util.URI; import org.eclipse.emf.compare.diagram.ide.ui.internal.structuremergeviewer.filters.GMFRefinedElementsFilter; import org.eclipse.emf.compare.diagram.internal.CompareDiagramPostProcessor; import org.eclipse.emf.compare.diagram.internal.extensions.provider.spec.ExtensionsItemProviderAdapterFactorySpec; @@ -47,26 +42,19 @@ import org.eclipse.emf.compare.uml2.internal.provider.decorator.UMLCompareItemPr import org.eclipse.emf.compare.uml2.rcp.ui.internal.structuremergeviewer.filters.UMLRefinedElementsFilter; import org.eclipse.emf.compare.uml2.rcp.ui.tests.groups.AbstractDifferenceOrderTest; import org.eclipse.emf.compare.uml2.rcp.ui.tests.groups.NotifierScopeProvider; -import org.eclipse.emf.ecore.EPackage; import org.eclipse.emf.ecore.resource.Resource; import org.eclipse.emf.ecore.resource.ResourceSet; -import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl; -import org.eclipse.emf.ecore.util.EcoreUtil; import org.eclipse.emf.edit.provider.ReflectiveItemProviderAdapterFactory; import org.eclipse.emf.edit.tree.TreeNode; -import org.eclipse.gmf.runtime.emf.core.resources.GMFResourceFactory; -import org.eclipse.gmf.runtime.notation.NotationPackage; import org.eclipse.gmf.runtime.notation.provider.NotationItemProviderAdapterFactory; import org.eclipse.gmf.runtime.notation.util.NotationAdapterFactory; -import org.eclipse.uml2.uml.UMLPackage; import org.eclipse.uml2.uml.edit.providers.UMLItemProviderAdapterFactory; -import org.eclipse.uml2.uml.internal.resource.UMLResourceFactoryImpl; import org.junit.Before; import org.junit.Test; /** - * Tests the order of the differences they would be displayed in the structure merge viewer for MDT Papyrus - * model. + * Tests the order of the differences they would be displayed in the structure + * merge viewer for MDT Papyrus model. * * @author <a href="mailto:arthur.daussy@obeo.fr">Arthur Daussy</a> */ @@ -93,15 +81,17 @@ public class PapyrusDifferencesOrderTest extends AbstractDifferenceOrderTest { @Override protected Registry<?> getPostProcessorRegistry() { PostProcessorDescriptorRegistryImpl<Object> postProcessorRegistry = new PostProcessorDescriptorRegistryImpl<Object>(); - //Adds UML post processor + // Adds UML post processor BasicPostProcessorDescriptorImpl descriptor = new BasicPostProcessorDescriptorImpl( - new UMLPostProcessor(), Pattern.compile("http://www.eclipse.org/uml2/\\d.0.0/UML"), null); //$NON-NLS-1$ + new UMLPostProcessor(), + Pattern.compile("http://www.eclipse.org/uml2/\\d.0.0/UML"), null); //$NON-NLS-1$ postProcessorRegistry.put(UMLPostProcessor.class.getName(), descriptor); - //Adds Diagram post processor + // Adds Diagram post processor BasicPostProcessorDescriptorImpl descriptor2 = new BasicPostProcessorDescriptorImpl( - new CompareDiagramPostProcessor(), Pattern - .compile("http://www.eclipse.org/gmf/runtime/\\d.\\d.\\d/notation"), null); //$NON-NLS-1$ - postProcessorRegistry.put(CompareDiagramPostProcessor.class.getName(), descriptor2); + new CompareDiagramPostProcessor(), + Pattern.compile("http://www.eclipse.org/gmf/runtime/\\d.\\d.\\d/notation"), null); //$NON-NLS-1$ + postProcessorRegistry.put(CompareDiagramPostProcessor.class.getName(), + descriptor2); return postProcessorRegistry; } @@ -112,12 +102,17 @@ public class PapyrusDifferencesOrderTest extends AbstractDifferenceOrderTest { @Override protected List<AdapterFactory> getAdaptersFactory() { - return Lists.<AdapterFactory> newArrayList(new CompareItemProviderAdapterFactorySpec(), - new TreeItemProviderAdapterFactorySpec(), new UMLCompareCustomItemProviderAdapterFactory(), - new UMLItemProviderAdapterFactory(), new UMLCompareItemProviderDecoratorAdapterFactory(), - new ReflectiveItemProviderAdapterFactory(), new NotationAdapterFactory(), + return Lists.<AdapterFactory> newArrayList( + new CompareItemProviderAdapterFactorySpec(), + new TreeItemProviderAdapterFactorySpec(), + new UMLCompareCustomItemProviderAdapterFactory(), + new UMLItemProviderAdapterFactory(), + new UMLCompareItemProviderDecoratorAdapterFactory(), + new ReflectiveItemProviderAdapterFactory(), + new NotationAdapterFactory(), new ExtensionsItemProviderAdapterFactorySpec(), - new DiagramCompareItemProviderAdapterFactorySpec(), new NotationItemProviderAdapterFactory()); + new DiagramCompareItemProviderAdapterFactorySpec(), + new NotationItemProviderAdapterFactory()); } @Test @@ -125,15 +120,17 @@ public class PapyrusDifferencesOrderTest extends AbstractDifferenceOrderTest { GMFRefinedElementsFilter diagramFilter = new GMFRefinedElementsFilter(); getFilter().removeFilter(diagramFilter); - IDifferenceGroup group = new BasicDifferenceGroupImpl(getComparison(), alwaysTrue(), - getCrossReferenceAdapter()); + IDifferenceGroup group = new BasicDifferenceGroupImpl(getComparison(), + alwaysTrue(), getCrossReferenceAdapter()); List<? extends TreeNode> roots = group.getChildren(); // Uncomment the following lines to reserialize the expected model // TestWriterHelper writerHelper = createTestHelper(); - // writerHelper.createExpectedModel(PATH_TO_MODEL_FILE+"/expectedResult_DiagRefineOff.nodes", roots,false); + // writerHelper.createExpectedModel(PATH_TO_MODEL_FILE+"/expectedResult_DiagRefineOff.nodes", + // roots,false); - compareTree(expectedResultData.getExpectedReseultWithFilterOff(), roots, false); + compareTree(expectedResultData.getExpectedReseultWithFilterOff(), + roots, false); } @Test @@ -141,15 +138,17 @@ public class PapyrusDifferencesOrderTest extends AbstractDifferenceOrderTest { GMFRefinedElementsFilter diagramFilter = new GMFRefinedElementsFilter(); getFilter().addFilter(diagramFilter); - IDifferenceGroup group = new BasicDifferenceGroupImpl(getComparison(), alwaysTrue(), - getCrossReferenceAdapter()); + IDifferenceGroup group = new BasicDifferenceGroupImpl(getComparison(), + alwaysTrue(), getCrossReferenceAdapter()); List<? extends TreeNode> roots = group.getChildren(); // Uncomment the following lines to reserialize the expected model // TestWriterHelper writerHelper = createTestHelper(); - // writerHelper.createExpectedModel(PATH_TO_MODEL_FILE+"/expectedResult_DiagRefineOn.nodes", roots); + // writerHelper.createExpectedModel(PATH_TO_MODEL_FILE+"/expectedResult_DiagRefineOn.nodes", + // roots); - compareTree(expectedResultData.getExpectedReseultWithFilterOn(), roots,false); + compareTree(expectedResultData.getExpectedReseultWithFilterOn(), roots, + false); } /** @@ -173,46 +172,22 @@ public class PapyrusDifferencesOrderTest extends AbstractDifferenceOrderTest { * * @author <a href="mailto:arthur.daussy@obeo.fr">Arthur Daussy</a> */ - private static final class InputData extends DiagramInputData implements NotifierScopeProvider { + private static final class InputData extends DiagramInputData implements + NotifierScopeProvider { public ResourceSet getLeft() throws IOException { - return loadFromClassLoader("data/a1/left.notation").getResourceSet(); + return loadFromClassLoader("data/a1/left.notation") + .getResourceSet(); } public ResourceSet getRight() throws IOException { - return loadFromClassLoader("data/a1/right.notation").getResourceSet(); + return loadFromClassLoader("data/a1/right.notation") + .getResourceSet(); } public ResourceSet getOrigin() throws IOException { - return loadFromClassLoader("data/a1/origin.notation").getResourceSet(); - } - - @Override - protected Resource loadFromClassLoader(String string) throws IOException { - final URL fileURL = getClass().getResource(string); - final InputStream str = fileURL.openStream(); - final URI uri = URI.createURI(fileURL.toString()); - - ResourceSet resourceSet = new ResourceSetImpl(); - getSets().add(resourceSet); - - if (!EMFPlugin.IS_RESOURCES_BUNDLE_AVAILABLE) { - resourceSet.getResourceFactoryRegistry().getExtensionToFactoryMap().put("uml", - new UMLResourceFactoryImpl()); - resourceSet.getResourceFactoryRegistry().getExtensionToFactoryMap().put("notation", - new GMFResourceFactory()); - EPackage.Registry.INSTANCE.put(UMLPackage.eNS_URI, UMLPackage.eINSTANCE); - EPackage.Registry.INSTANCE.put(NotationPackage.eNS_URI, NotationPackage.eINSTANCE); - } - - Resource resource = resourceSet.createResource(uri); - - resource.load(str, Collections.emptyMap()); - str.close(); - - EcoreUtil.resolveAll(resourceSet); - - return resource; + return loadFromClassLoader("data/a1/origin.notation") + .getResourceSet(); } } diff --git a/plugins/org.eclipse.emf.compare.diagram.papyrus.tests/src/org/eclipse/emf/compare/diagram/papyrus/tests/merge/AssocMergeTest.java b/plugins/org.eclipse.emf.compare.diagram.papyrus.tests/src/org/eclipse/emf/compare/diagram/papyrus/tests/merge/AssocMergeTest.java new file mode 100644 index 000000000..3d2170fef --- /dev/null +++ b/plugins/org.eclipse.emf.compare.diagram.papyrus.tests/src/org/eclipse/emf/compare/diagram/papyrus/tests/merge/AssocMergeTest.java @@ -0,0 +1,594 @@ +/******************************************************************************* + * Copyright (c) 2015 Obeo. + * 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: + * Obeo - initial API and implementation + *******************************************************************************/ +package org.eclipse.emf.compare.diagram.papyrus.tests.merge; + +import static com.google.common.base.Predicates.and; +import static com.google.common.collect.Iterables.filter; +import static com.google.common.collect.Iterables.find; +import static com.google.common.collect.Iterables.size; +import static org.eclipse.emf.compare.DifferenceSource.LEFT; +import static org.eclipse.emf.compare.DifferenceSource.RIGHT; +import static org.eclipse.emf.compare.utils.EMFComparePredicates.fromSide; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertTrue; + +import com.google.common.base.Predicate; + +import java.io.IOException; +import java.util.regex.Pattern; + +import org.eclipse.emf.common.util.BasicMonitor; +import org.eclipse.emf.common.util.EList; +import org.eclipse.emf.compare.Comparison; +import org.eclipse.emf.compare.Diff; +import org.eclipse.emf.compare.DifferenceKind; +import org.eclipse.emf.compare.DifferenceSource; +import org.eclipse.emf.compare.ReferenceChange; +import org.eclipse.emf.compare.diagram.papyrus.internal.PapyrusDiagramPostProcessor; +import org.eclipse.emf.compare.diagram.papyrus.tests.AbstractTest; +import org.eclipse.emf.compare.diagram.papyrus.tests.DiagramInputData; +import org.eclipse.emf.compare.diagram.papyrus.tests.merge.data.AssocMergeInputData; +import org.eclipse.emf.compare.tests.postprocess.data.TestPostProcessor; +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.EObject; +import org.eclipse.emf.ecore.EReference; +import org.eclipse.emf.ecore.resource.Resource; +import org.eclipse.gmf.runtime.notation.NotationPackage; +import org.eclipse.gmf.runtime.notation.Shape; +import org.eclipse.gmf.runtime.notation.View; +import org.eclipse.uml2.uml.NamedElement; +import org.eclipse.uml2.uml.State; +import org.eclipse.uml2.uml.UMLPackage; +import org.junit.Test; + +@SuppressWarnings("nls") +public class AssocMergeTest extends AbstractTest { + private AssocMergeInputData input = new AssocMergeInputData(); + + /** + * Tests that merging a diff of a Connector that represents an association + * and whose target changes also merges the "equivalent" change of the + * related property whose type has changed accordingly. + * + * @throws IOException + */ + @Test + public void test2WayA1LeftToRight() throws IOException { + final Resource left = input.get2WayA1Left(); + final Resource right = input.get2WayA1Right(); + + Comparison comparison = buildComparison(left, right); + + EList<Diff> diffs = comparison.getDifferences(); + assertEquals(1, size(filter(diffs, edgeTargetChangeTo("Class3")))); + + // ** MERGE ** + Diff node = find(diffs, edgeTargetChangeTo("Class3")); + getMergerRegistry().getHighestRankingMerger(node).copyLeftToRight(node, + new BasicMonitor()); + + // ** MERGE CHECKING ** + comparison = buildComparison(left, right); + assertTrue(comparison.getDifferences().isEmpty()); + } + + /** + * Tests that merging a diff of a Connector that represents an association + * and whose target changes also merges the "equivalent" change of the + * related property whose type has changed accordingly. + * + * @throws IOException + */ + @Test + public void test2WayA1RightToLeft() throws IOException { + final Resource left = input.get2WayA1Left(); + final Resource right = input.get2WayA1Right(); + + Comparison comparison = buildComparison(left, right); + + EList<Diff> diffs = comparison.getDifferences(); + assertEquals(25, diffs.size()); + assertEquals(1, size(filter(diffs, edgeTargetChangeTo("Class3")))); + + // ** MERGE ** + Diff node = find(diffs, edgeTargetChangeTo("Class3")); + getMergerRegistry().getHighestRankingMerger(node).copyRightToLeft(node, + new BasicMonitor()); + + // ** MERGE CHECKING ** + comparison = buildComparison(left, right); + // 2 diffs must have been merged + assertEquals(23, comparison.getDifferences().size()); + } + + /** + * Tests that merging a diff of a Connector that represents an association + * and whose target changes also merges the "equivalent" change of the + * related property whose type has changed accordingly. The association owns + * both ends (contrary to A1). + * + * @throws IOException + */ + @Test + public void test2WayA2LeftToRight() throws IOException { + final Resource left = input.get2WayA2Left(); + final Resource right = input.get2WayA2Right(); + + Comparison comparison = buildComparison(left, right); + + EList<Diff> diffs = comparison.getDifferences(); + assertEquals(1, size(filter(diffs, edgeTargetChangeTo("Class3")))); + + // ** MERGE ** + Diff node = find(diffs, edgeTargetChangeTo("Class3")); + getMergerRegistry().getHighestRankingMerger(node).copyLeftToRight(node, + new BasicMonitor()); + + // ** MERGE CHECKING ** + comparison = buildComparison(left, right); + assertTrue(comparison.getDifferences().isEmpty()); + } + + /** + * Tests that merging a diff of a Connector that represents an association + * and whose target changes also merges the "equivalent" change of the + * related property whose type has changed accordingly. The association owns + * both ends (contrary to A1). + * + * @throws IOException + */ + @Test + public void test2WayA2RightToLeft() throws IOException { + final Resource left = input.get2WayA2Left(); + final Resource right = input.get2WayA2Right(); + + Comparison comparison = buildComparison(left, right); + + EList<Diff> diffs = comparison.getDifferences(); + assertEquals(25, diffs.size()); + assertEquals(1, size(filter(diffs, edgeTargetChangeTo("Class3")))); + + // ** MERGE ** + Diff node = find(diffs, edgeTargetChangeTo("Class3")); + getMergerRegistry().getHighestRankingMerger(node).copyRightToLeft(node, + new BasicMonitor()); + + // ** MERGE CHECKING ** + comparison = buildComparison(left, right); + // 2 diffs must have been merged + assertEquals(23, comparison.getDifferences().size()); + } + + /** + * Tests that merging a diff of an edge that represents a transition and + * whose target changes also merges the "equivalent" change of the related + * transition whose type has changed accordingly. + * + * @throws IOException + */ + @Test + public void test2WayT1LeftToRight() throws IOException { + final Resource left = input.get2WayT1Left(); + final Resource right = input.get2WayT1Right(); + + Comparison comparison = buildComparison(left, right); + + EList<Diff> diffs = comparison.getDifferences(); + assertEquals(4, diffs.size()); + assertEquals(1, size(filter(diffs, edgeTargetChangeTo("State2")))); + + // ** MERGE ** + Diff node = find(diffs, edgeTargetChangeTo("State2")); + getMergerRegistry().getHighestRankingMerger(node).copyLeftToRight(node, + new BasicMonitor()); + + // ** MERGE CHECKING ** + comparison = buildComparison(left, right); + assertEquals(2, comparison.getDifferences().size()); + } + + /** + * Tests that merging a diff of an edge that represents a transition and + * whose target changes also merges the "equivalent" change of the related + * transition whose type has changed accordingly. + * + * @throws IOException + */ + @Test + public void test2WayT1RightToLeft() throws IOException { + final Resource left = input.get2WayT1Left(); + final Resource right = input.get2WayT1Right(); + + Comparison comparison = buildComparison(left, right); + + EList<Diff> diffs = comparison.getDifferences(); + assertEquals(4, diffs.size()); + assertEquals(1, size(filter(diffs, edgeTargetChangeTo("State2")))); + + // ** MERGE ** + Diff node = find(diffs, edgeTargetChangeTo("State2")); + getMergerRegistry().getHighestRankingMerger(node).copyRightToLeft(node, + new BasicMonitor()); + + // ** MERGE CHECKING ** + comparison = buildComparison(left, right); + assertEquals(2, comparison.getDifferences().size()); + } + + /** + * Tests that merging a diff of an edge that represents a transition and + * whose target changes also merges the "equivalent" change of the related + * transition whose type has changed accordingly, and reject the 2 + * conflicts. + * + * @throws IOException + */ + @Test + public void testConflictC1LeftToRight() throws IOException { + final Resource ancestor = input.getConflictC1Ancestor(); + final Resource left = input.getConflictC1Left(); + final Resource right = input.getConflictC1Right(); + + Comparison comparison = buildComparison(left, right, ancestor); + + EList<Diff> diffs = comparison.getDifferences(); + assertEquals(1, size(filter(diffs, edgeTargetChangeTo("Class1", LEFT)))); + assertEquals(1, + size(filter(diffs, edgeTargetChangeTo("Class2", RIGHT)))); + assertEquals(1, size(filter(diffs, edgeTargetChangeTo("Class3", LEFT)))); + assertEquals(1, + size(filter(diffs, edgeTargetChangeTo("Class4", RIGHT)))); + + // ** MERGE ** + Diff node = find(diffs, edgeTargetChangeTo("Class1", LEFT)); + getMergerRegistry().getHighestRankingMerger(node).copyLeftToRight(node, + new BasicMonitor()); + node = find(diffs, edgeTargetChangeTo("Class3", LEFT)); + getMergerRegistry().getHighestRankingMerger(node).copyLeftToRight(node, + new BasicMonitor()); + + // ** MERGE CHECKING ** + // left and right must now be equal + comparison = buildComparison(left, right); + assertTrue(comparison.getDifferences().isEmpty()); + } + + /** + * Tests that merging a diff of an edge that represents a transition and + * whose target changes also merges the "equivalent" change of the related + * transition whose type has changed accordingly, and reject the 2 + * conflicts. + * + * @throws IOException + */ + @Test + public void testConflictC1RightToLeft() throws IOException { + final Resource ancestor = input.getConflictC1Ancestor(); + final Resource left = input.getConflictC1Left(); + final Resource right = input.getConflictC1Right(); + + Comparison comparison = buildComparison(left, right, ancestor); + + EList<Diff> diffs = comparison.getDifferences(); + assertEquals(1, size(filter(diffs, edgeTargetChangeTo("Class1", LEFT)))); + assertEquals(1, + size(filter(diffs, edgeTargetChangeTo("Class2", RIGHT)))); + assertEquals(1, size(filter(diffs, edgeTargetChangeTo("Class3", LEFT)))); + assertEquals(1, + size(filter(diffs, edgeTargetChangeTo("Class4", RIGHT)))); + + // ** MERGE ** + Diff node = find(diffs, edgeTargetChangeTo("Class2", RIGHT)); + getMergerRegistry().getHighestRankingMerger(node).copyRightToLeft(node, + new BasicMonitor()); + node = find(diffs, edgeTargetChangeTo("Class4", RIGHT)); + getMergerRegistry().getHighestRankingMerger(node).copyRightToLeft(node, + new BasicMonitor()); + + // ** MERGE CHECKING ** + // left and right must now be equal + comparison = buildComparison(left, right); + assertTrue(comparison.getDifferences().isEmpty()); + } + + /** + * Tests that merging a diff of an edge that represents a transition and + * whose target changes also merges the "equivalent" change of the related + * transition whose type has changed accordingly, and reject the 2 + * conflicts. + * + * @throws IOException + */ + @Test + public void testConflictT1LeftToRight() throws IOException { + final Resource ancestor = input.getConflictT1Ancestor(); + final Resource left = input.getConflictT1Left(); + final Resource right = input.getConflictT1Right(); + + Comparison comparison = buildComparison(left, right, ancestor); + + EList<Diff> diffs = comparison.getDifferences(); + assertEquals(1, size(filter(diffs, edgeTargetChangeTo("State3")))); + assertEquals(1, size(filter(diffs, edgeTargetChangeTo("State4")))); + assertEquals(1, size(filter(diffs, transitionTargetToState("State3")))); + assertEquals(1, size(filter(diffs, transitionTargetToState("State4")))); + + // ** MERGE ** + Diff node = find(diffs, edgeTargetChangeTo("State3")); + getMergerRegistry().getHighestRankingMerger(node).copyLeftToRight(node, + new BasicMonitor()); + + // ** MERGE CHECKING ** + // left and right must now be equal + comparison = buildComparison(left, right); + assertTrue(comparison.getDifferences().isEmpty()); + } + + /** + * Tests that merging a diff of an edge that represents a transition and + * whose target changes also merges the "equivalent" change of the related + * transition whose type has changed accordingly, and reject the 2 + * conflicts. + * + * @throws IOException + */ + @Test + public void testConflictT1RightToLeft() throws IOException { + final Resource ancestor = input.getConflictT1Ancestor(); + final Resource left = input.getConflictT1Left(); + final Resource right = input.getConflictT1Right(); + + Comparison comparison = buildComparison(left, right, ancestor); + + EList<Diff> diffs = comparison.getDifferences(); + assertEquals(1, size(filter(diffs, edgeTargetChangeTo("State3")))); + assertEquals(1, size(filter(diffs, edgeTargetChangeTo("State4")))); + assertEquals(1, size(filter(diffs, transitionTargetToState("State3")))); + assertEquals(1, size(filter(diffs, transitionTargetToState("State4")))); + + // ** MERGE ** + Diff node = find(diffs, edgeTargetChangeTo("State4")); + getMergerRegistry().getHighestRankingMerger(node).copyRightToLeft(node, + new BasicMonitor()); + + // ** MERGE CHECKING ** + // left and right must now be equal + comparison = buildComparison(left, right); + assertTrue(comparison.getDifferences().isEmpty()); + } + + /** + * Tests that merging a diff of an edge that represents a transition and + * whose target changes also merges the "equivalent" change of the related + * transition whose type has changed accordingly. + * + * @throws IOException + */ + @Test + public void test3WayT1LeftToRight() throws IOException { + final Resource ancestor = input.get3WayT1Ancestor(); + final Resource left = input.get3WayT1Left(); + final Resource right = input.get3WayT1Right(); + + Comparison comparison = buildComparison(left, right, ancestor); + + EList<Diff> diffs = comparison.getDifferences(); + assertEquals(1, size(filter(diffs, edgeTargetChangeTo("State3", LEFT)))); + assertEquals(1, + size(filter(diffs, edgeSourceChangeTo("State3", RIGHT)))); + + // ** MERGE ** + Diff node = find(diffs, edgeTargetChangeTo("State3", LEFT)); + getMergerRegistry().getHighestRankingMerger(node).copyLeftToRight(node, + new BasicMonitor()); + node = find(diffs, edgeSourceChangeTo("State3", RIGHT)); + getMergerRegistry().getHighestRankingMerger(node).copyLeftToRight(node, + new BasicMonitor()); + + // ** MERGE CHECKING ** + // left and right must now be equal + comparison = buildComparison(left, right); + assertTrue(comparison.getDifferences().isEmpty()); + } + + /** + * Tests that merging a diff of an edge that represents a transition and + * whose target changes also merges the "equivalent" change of the related + * transition whose type has changed accordingly. + * + * @throws IOException + */ + @Test + public void test3WayC1LeftToRight() throws IOException { + final Resource ancestor = input.get3WayC1Ancestor(); + final Resource left = input.get3WayC1Left(); + final Resource right = input.get3WayC1Right(); + + Comparison comparison = buildComparison(left, right, ancestor); + + EList<Diff> diffs = comparison.getDifferences(); + assertEquals(1, size(filter(diffs, edgeTargetChangeTo("Class3", LEFT)))); + assertEquals(1, + size(filter(diffs, edgeTargetChangeTo("Class1", RIGHT)))); + + // ** MERGE ** + Diff node = find(diffs, edgeTargetChangeTo("Class3", LEFT)); + getMergerRegistry().getHighestRankingMerger(node).copyLeftToRight(node, + new BasicMonitor()); + node = find(diffs, edgeTargetChangeTo("Class1", RIGHT)); + getMergerRegistry().getHighestRankingMerger(node).copyLeftToRight(node, + new BasicMonitor()); + + // ** MERGE CHECKING ** + // left and right must now be equal + comparison = buildComparison(left, right); + assertTrue(comparison.getDifferences().isEmpty()); + } + + /** + * Tests that merging a diff of an edge that represents a transition and + * whose target changes also merges the "equivalent" change of the related + * transition whose type has changed accordingly. + * + * @throws IOException + */ + @Test + public void test3WayC1RightToLeft() throws IOException { + final Resource ancestor = input.get3WayC1Ancestor(); + final Resource left = input.get3WayC1Left(); + final Resource right = input.get3WayC1Right(); + + Comparison comparison = buildComparison(left, right, ancestor); + + EList<Diff> diffs = comparison.getDifferences(); + assertEquals(1, size(filter(diffs, edgeTargetChangeTo("Class3", LEFT)))); + assertEquals(1, + size(filter(diffs, edgeTargetChangeTo("Class1", RIGHT)))); + + // ** MERGE ** + Diff node = find(diffs, edgeTargetChangeTo("Class3", LEFT)); + getMergerRegistry().getHighestRankingMerger(node).copyRightToLeft(node, + new BasicMonitor()); + node = find(diffs, edgeTargetChangeTo("Class1", RIGHT)); + getMergerRegistry().getHighestRankingMerger(node).copyRightToLeft(node, + new BasicMonitor()); + + // ** MERGE CHECKING ** + // left and right must now be equal + comparison = buildComparison(left, right); + assertTrue(comparison.getDifferences().isEmpty()); + } + + /** + * Tests that merging a diff of an edge that represents a transition and + * whose target changes also merges the "equivalent" change of the related + * transition whose type has changed accordingly. + * + * @throws IOException + */ + @Test + public void test3WayT1RightToLeft() throws IOException { + final Resource ancestor = input.get3WayT1Ancestor(); + final Resource left = input.get3WayT1Left(); + final Resource right = input.get3WayT1Right(); + + Comparison comparison = buildComparison(left, right, ancestor); + + EList<Diff> diffs = comparison.getDifferences(); + assertEquals(1, size(filter(diffs, edgeTargetChangeTo("State3", LEFT)))); + assertEquals(1, + size(filter(diffs, edgeSourceChangeTo("State3", RIGHT)))); + + // ** MERGE ** + Diff node = find(diffs, edgeTargetChangeTo("State3", LEFT)); + getMergerRegistry().getHighestRankingMerger(node).copyRightToLeft(node, + new BasicMonitor()); + node = find(diffs, edgeSourceChangeTo("State3", RIGHT)); + getMergerRegistry().getHighestRankingMerger(node).copyRightToLeft(node, + new BasicMonitor()); + + // ** MERGE CHECKING ** + // left and right must now be equal + comparison = buildComparison(left, right); + assertTrue(comparison.getDifferences().isEmpty()); + } + + private Predicate<Diff> edgeTargetChangeTo(String name, + final DifferenceSource source) { + return and(edgeTargetChangeTo(name), fromSide(source)); + } + + private Predicate<Diff> edgeSourceChangeTo(String name, + final DifferenceSource source) { + return and(edgeSourceChangeTo(name), fromSide(source)); + } + + private Predicate<Diff> edgeSourceChangeTo(String name) { + return and( + isReferenceChange(DifferenceKind.CHANGE, + NotationPackage.Literals.EDGE__SOURCE, Shape.class), + valueIsViewNamed(name)); + } + + private Predicate<Diff> edgeTargetChangeTo(String name) { + return and( + isReferenceChange(DifferenceKind.CHANGE, + NotationPackage.Literals.EDGE__TARGET, Shape.class), + valueIsViewNamed(name)); + } + + private Predicate<Diff> transitionTargetToState(String name) { + return and( + isReferenceChange(DifferenceKind.CHANGE, + UMLPackage.Literals.TRANSITION__TARGET, State.class), + valueIsElement(UMLPackage.Literals.STATE, name)); + } + + private Predicate<Diff> valueIsElement(final EClass eClass, + final String name) { + return new Predicate<Diff>() { + public boolean apply(Diff input) { + ReferenceChange refChange = (ReferenceChange) input; + EObject value = refChange.getValue(); + return value instanceof NamedElement + && eClass.isInstance(value) + && name.equals(((NamedElement) value).getName()); + } + }; + } + + private Predicate<Diff> isReferenceChange(final DifferenceKind kind, + final EReference ref, final Class<?> clazz) { + return new Predicate<Diff>() { + public boolean apply(Diff input) { + if (input instanceof ReferenceChange && input.getKind() == kind) { + ReferenceChange refChange = (ReferenceChange) input; + return refChange.getReference() == ref + && refChange.getValue() != null + && clazz.isAssignableFrom(refChange.getValue() + .getClass()); + } + return false; + } + }; + } + + private Predicate<Diff> valueIsViewNamed(final String name) { + return new Predicate<Diff>() { + public boolean apply(Diff input) { + ReferenceChange refChange = (ReferenceChange) input; + if (refChange.getValue() instanceof View) { + View view = (View) refChange.getValue(); + return view.getElement() instanceof NamedElement + && name.equals(((NamedElement) view.getElement()) + .getName()); + } + return false; + } + }; + } + + @Override + protected DiagramInputData getInput() { + return input; + } + + @Override + public void registerPostProcessors() { + super.registerPostProcessors(); + getPostProcessorRegistry() + .put(PapyrusDiagramPostProcessor.class.getName(), + new TestPostProcessor.TestPostProcessorDescriptor( + Pattern.compile("http://www.eclipse.org/gmf/runtime/\\d.\\d.\\d/notation"), + null, new PapyrusDiagramPostProcessor(), 35)); + } + +} diff --git a/plugins/org.eclipse.emf.compare.diagram.papyrus.tests/src/org/eclipse/emf/compare/diagram/papyrus/tests/merge/data/AssocMergeInputData.java b/plugins/org.eclipse.emf.compare.diagram.papyrus.tests/src/org/eclipse/emf/compare/diagram/papyrus/tests/merge/data/AssocMergeInputData.java new file mode 100644 index 000000000..bacfa9eae --- /dev/null +++ b/plugins/org.eclipse.emf.compare.diagram.papyrus.tests/src/org/eclipse/emf/compare/diagram/papyrus/tests/merge/data/AssocMergeInputData.java @@ -0,0 +1,97 @@ +/** + * Copyright (c) 2015 Obeo. + * 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: + * Obeo - initial API and implementation + */ +package org.eclipse.emf.compare.diagram.papyrus.tests.merge.data; + +import java.io.IOException; + +import org.eclipse.emf.compare.diagram.papyrus.tests.DiagramInputData; +import org.eclipse.emf.ecore.resource.Resource; + +/** + * Provides input models to the unit tests of the matching by id. + * + * @author <a href="mailto:laurent.delaigue@obeo.fr">Laurent Delaigue</a> + */ +@SuppressWarnings("nls") +public class AssocMergeInputData extends DiagramInputData { + + public Resource get2WayA1Left() throws IOException { + return loadFromClassLoader("assocs/twoway/a1/left.notation"); + } + + public Resource get2WayA1Right() throws IOException { + return loadFromClassLoader("assocs/twoway/a1/right.notation"); + } + + public Resource get2WayA2Left() throws IOException { + return loadFromClassLoader("assocs/twoway/a2/left.notation"); + } + + public Resource get2WayA2Right() throws IOException { + return loadFromClassLoader("assocs/twoway/a2/right.notation"); + } + + public Resource get2WayT1Left() throws IOException { + return loadFromClassLoader("assocs/twoway/t1/left.notation"); + } + + public Resource get2WayT1Right() throws IOException { + return loadFromClassLoader("assocs/twoway/t1/right.notation"); + } + + public Resource get3WayC1Ancestor() throws IOException { + return loadFromClassLoader("assocs/threeway/c1/ancestor.notation"); + } + + public Resource get3WayC1Left() throws IOException { + return loadFromClassLoader("assocs/threeway/c1/left.notation"); + } + + public Resource get3WayC1Right() throws IOException { + return loadFromClassLoader("assocs/threeway/c1/right.notation"); + } + + public Resource get3WayT1Ancestor() throws IOException { + return loadFromClassLoader("assocs/threeway/t1/ancestor.notation"); + } + + public Resource get3WayT1Left() throws IOException { + return loadFromClassLoader("assocs/threeway/t1/left.notation"); + } + + public Resource get3WayT1Right() throws IOException { + return loadFromClassLoader("assocs/threeway/t1/right.notation"); + } + + public Resource getConflictC1Ancestor() throws IOException { + return loadFromClassLoader("assocs/conflict/c1/ancestor.notation"); + } + + public Resource getConflictC1Left() throws IOException { + return loadFromClassLoader("assocs/conflict/c1/left.notation"); + } + + public Resource getConflictC1Right() throws IOException { + return loadFromClassLoader("assocs/conflict/c1/right.notation"); + } + + public Resource getConflictT1Ancestor() throws IOException { + return loadFromClassLoader("assocs/conflict/t1/ancestor.notation"); + } + + public Resource getConflictT1Left() throws IOException { + return loadFromClassLoader("assocs/conflict/t1/left.notation"); + } + + public Resource getConflictT1Right() throws IOException { + return loadFromClassLoader("assocs/conflict/t1/right.notation"); + } +} diff --git a/plugins/org.eclipse.emf.compare.diagram.papyrus.tests/src/org/eclipse/emf/compare/diagram/papyrus/tests/merge/data/EdgeMergeInputData.java b/plugins/org.eclipse.emf.compare.diagram.papyrus.tests/src/org/eclipse/emf/compare/diagram/papyrus/tests/merge/data/EdgeMergeInputData.java index ecc028b26..d80d39f49 100644 --- a/plugins/org.eclipse.emf.compare.diagram.papyrus.tests/src/org/eclipse/emf/compare/diagram/papyrus/tests/merge/data/EdgeMergeInputData.java +++ b/plugins/org.eclipse.emf.compare.diagram.papyrus.tests/src/org/eclipse/emf/compare/diagram/papyrus/tests/merge/data/EdgeMergeInputData.java @@ -1,5 +1,5 @@ /** - * Copyright (c) 2013 Obeo. + * Copyright (c) 2013, 2015 Obeo. * 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 @@ -11,22 +11,9 @@ package org.eclipse.emf.compare.diagram.papyrus.tests.merge.data; import java.io.IOException; -import java.io.InputStream; -import java.net.URL; -import java.util.Collections; -import org.eclipse.emf.common.EMFPlugin; -import org.eclipse.emf.common.util.URI; import org.eclipse.emf.compare.diagram.papyrus.tests.DiagramInputData; -import org.eclipse.emf.ecore.EPackage; import org.eclipse.emf.ecore.resource.Resource; -import org.eclipse.emf.ecore.resource.ResourceSet; -import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl; -import org.eclipse.emf.ecore.util.EcoreUtil; -import org.eclipse.gmf.runtime.emf.core.resources.GMFResourceFactory; -import org.eclipse.gmf.runtime.notation.NotationPackage; -import org.eclipse.uml2.uml.UMLPackage; -import org.eclipse.uml2.uml.internal.resource.UMLResourceFactoryImpl; /** * Provides input models to the unit tests of the matching by id. @@ -35,7 +22,7 @@ import org.eclipse.uml2.uml.internal.resource.UMLResourceFactoryImpl; */ @SuppressWarnings("nls") public class EdgeMergeInputData extends DiagramInputData { - + public Resource getA1EdgeChangeLeft() throws IOException { return loadFromClassLoader("edges/a1/left.notation"); } @@ -43,7 +30,7 @@ public class EdgeMergeInputData extends DiagramInputData { public Resource getA1EdgeChangeRight() throws IOException { return loadFromClassLoader("edges/a1/right.notation"); } - + public Resource getA2EdgeChangeLeft() throws IOException { return loadFromClassLoader("edges/a2/left.notation"); } @@ -51,7 +38,7 @@ public class EdgeMergeInputData extends DiagramInputData { public Resource getA2EdgeChangeRight() throws IOException { return loadFromClassLoader("edges/a2/right.notation"); } - + public Resource getA3EdgeChangeLeft() throws IOException { return loadFromClassLoader("edges/a3/left.notation"); } @@ -59,7 +46,7 @@ public class EdgeMergeInputData extends DiagramInputData { public Resource getA3EdgeChangeRight() throws IOException { return loadFromClassLoader("edges/a3/right.notation"); } - + public Resource getA4EdgeChangeLeft() throws IOException { return loadFromClassLoader("edges/a4/left.notation"); } @@ -67,7 +54,7 @@ public class EdgeMergeInputData extends DiagramInputData { public Resource getA4EdgeChangeRight() throws IOException { return loadFromClassLoader("edges/a4/right.notation"); } - + public Resource getA5EdgeChangeLeft() throws IOException { return loadFromClassLoader("edges/a5/left.notation"); } @@ -75,7 +62,7 @@ public class EdgeMergeInputData extends DiagramInputData { public Resource getA5EdgeChangeRight() throws IOException { return loadFromClassLoader("edges/a5/right.notation"); } - + public Resource getA6EdgeChangeLeft() throws IOException { return loadFromClassLoader("edges/a6/left.notation"); } @@ -83,7 +70,7 @@ public class EdgeMergeInputData extends DiagramInputData { public Resource getA6EdgeChangeRight() throws IOException { return loadFromClassLoader("edges/a6/right.notation"); } - + public Resource getA7EdgeChangeLeft() throws IOException { return loadFromClassLoader("edges/a7/left.notation"); } @@ -91,32 +78,4 @@ public class EdgeMergeInputData extends DiagramInputData { public Resource getA7EdgeChangeRight() throws IOException { return loadFromClassLoader("edges/a7/right.notation"); } - - @Override - protected Resource loadFromClassLoader(String string) throws IOException { - final URL fileURL = getClass().getResource(string); - final InputStream str = fileURL.openStream(); - final URI uri = URI.createURI(fileURL.toString()); - - ResourceSet resourceSet = new ResourceSetImpl(); - getSets().add(resourceSet); - - if (!EMFPlugin.IS_RESOURCES_BUNDLE_AVAILABLE) { - resourceSet.getResourceFactoryRegistry().getExtensionToFactoryMap().put("uml", - new UMLResourceFactoryImpl()); - resourceSet.getResourceFactoryRegistry().getExtensionToFactoryMap().put("notation", - new GMFResourceFactory()); - EPackage.Registry.INSTANCE.put(UMLPackage.eNS_URI, UMLPackage.eINSTANCE); - EPackage.Registry.INSTANCE.put(NotationPackage.eNS_URI, NotationPackage.eINSTANCE); - } - - Resource resource = resourceSet.createResource(uri); - - resource.load(str, Collections.emptyMap()); - str.close(); - - EcoreUtil.resolveAll(resourceSet); - - return resource; - } } diff --git a/plugins/org.eclipse.emf.compare.diagram.papyrus.tests/src/org/eclipse/emf/compare/diagram/papyrus/tests/merge/data/NodeMergeInputData.java b/plugins/org.eclipse.emf.compare.diagram.papyrus.tests/src/org/eclipse/emf/compare/diagram/papyrus/tests/merge/data/NodeMergeInputData.java index 7d4992644..bcf5607e4 100644 --- a/plugins/org.eclipse.emf.compare.diagram.papyrus.tests/src/org/eclipse/emf/compare/diagram/papyrus/tests/merge/data/NodeMergeInputData.java +++ b/plugins/org.eclipse.emf.compare.diagram.papyrus.tests/src/org/eclipse/emf/compare/diagram/papyrus/tests/merge/data/NodeMergeInputData.java @@ -1,5 +1,5 @@ /** - * Copyright (c) 2013 Obeo. + * Copyright (c) 2013, 2015 Obeo. * 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 @@ -11,22 +11,9 @@ package org.eclipse.emf.compare.diagram.papyrus.tests.merge.data; import java.io.IOException; -import java.io.InputStream; -import java.net.URL; -import java.util.Collections; -import org.eclipse.emf.common.EMFPlugin; -import org.eclipse.emf.common.util.URI; import org.eclipse.emf.compare.diagram.papyrus.tests.DiagramInputData; -import org.eclipse.emf.ecore.EPackage; import org.eclipse.emf.ecore.resource.Resource; -import org.eclipse.emf.ecore.resource.ResourceSet; -import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl; -import org.eclipse.emf.ecore.util.EcoreUtil; -import org.eclipse.gmf.runtime.emf.core.resources.GMFResourceFactory; -import org.eclipse.gmf.runtime.notation.NotationPackage; -import org.eclipse.uml2.uml.UMLPackage; -import org.eclipse.uml2.uml.internal.resource.UMLResourceFactoryImpl; /** * Provides input models to the unit tests of the matching by id. @@ -35,7 +22,7 @@ import org.eclipse.uml2.uml.internal.resource.UMLResourceFactoryImpl; */ @SuppressWarnings("nls") public class NodeMergeInputData extends DiagramInputData { - + public Resource getA1NodeChangeLeft() throws IOException { return loadFromClassLoader("nodes/a1/left.notation"); } @@ -43,7 +30,7 @@ public class NodeMergeInputData extends DiagramInputData { public Resource getA1NodeChangeRight() throws IOException { return loadFromClassLoader("nodes/a1/right.notation"); } - + public Resource getA2NodeChangeLeft() throws IOException { return loadFromClassLoader("nodes/a2/left.notation"); } @@ -51,7 +38,7 @@ public class NodeMergeInputData extends DiagramInputData { public Resource getA2NodeChangeRight() throws IOException { return loadFromClassLoader("nodes/a2/right.notation"); } - + public Resource getA3NodeChangeLeft() throws IOException { return loadFromClassLoader("nodes/a3/left.notation"); } @@ -59,7 +46,7 @@ public class NodeMergeInputData extends DiagramInputData { public Resource getA3NodeChangeRight() throws IOException { return loadFromClassLoader("nodes/a3/right.notation"); } - + public Resource getA4NodeChangeLeft() throws IOException { return loadFromClassLoader("nodes/a4/left.notation"); } @@ -67,37 +54,8 @@ public class NodeMergeInputData extends DiagramInputData { public Resource getA4NodeChangeRight() throws IOException { return loadFromClassLoader("nodes/a4/right.notation"); } - + public Resource getA4NodeChangeOrigin() throws IOException { return loadFromClassLoader("nodes/a4/ancestor.notation"); } - - - @Override - protected Resource loadFromClassLoader(String string) throws IOException { - final URL fileURL = getClass().getResource(string); - final InputStream str = fileURL.openStream(); - final URI uri = URI.createURI(fileURL.toString()); - - ResourceSet resourceSet = new ResourceSetImpl(); - getSets().add(resourceSet); - - if (!EMFPlugin.IS_RESOURCES_BUNDLE_AVAILABLE) { - resourceSet.getResourceFactoryRegistry().getExtensionToFactoryMap().put("uml", - new UMLResourceFactoryImpl()); - resourceSet.getResourceFactoryRegistry().getExtensionToFactoryMap().put("notation", - new GMFResourceFactory()); - EPackage.Registry.INSTANCE.put(UMLPackage.eNS_URI, UMLPackage.eINSTANCE); - EPackage.Registry.INSTANCE.put(NotationPackage.eNS_URI, NotationPackage.eINSTANCE); - } - - Resource resource = resourceSet.createResource(uri); - - resource.load(str, Collections.emptyMap()); - str.close(); - - EcoreUtil.resolveAll(resourceSet); - - return resource; - } } diff --git a/plugins/org.eclipse.emf.compare.diagram.papyrus.tests/src/org/eclipse/emf/compare/diagram/papyrus/tests/merge/data/assocs/conflict/c1/ancestor.di b/plugins/org.eclipse.emf.compare.diagram.papyrus.tests/src/org/eclipse/emf/compare/diagram/papyrus/tests/merge/data/assocs/conflict/c1/ancestor.di new file mode 100644 index 000000000..8634d4c00 --- /dev/null +++ b/plugins/org.eclipse.emf.compare.diagram.papyrus.tests/src/org/eclipse/emf/compare/diagram/papyrus/tests/merge/data/assocs/conflict/c1/ancestor.di @@ -0,0 +1,2 @@ +<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI"/>
diff --git a/plugins/org.eclipse.emf.compare.diagram.papyrus.tests/src/org/eclipse/emf/compare/diagram/papyrus/tests/merge/data/assocs/conflict/c1/ancestor.notation b/plugins/org.eclipse.emf.compare.diagram.papyrus.tests/src/org/eclipse/emf/compare/diagram/papyrus/tests/merge/data/assocs/conflict/c1/ancestor.notation new file mode 100644 index 000000000..a71be0536 --- /dev/null +++ b/plugins/org.eclipse.emf.compare.diagram.papyrus.tests/src/org/eclipse/emf/compare/diagram/papyrus/tests/merge/data/assocs/conflict/c1/ancestor.notation @@ -0,0 +1,192 @@ +<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:css="http://www.eclipse.org/papyrus/infra/gmfdiag/css" xmlns:notation="http://www.eclipse.org/gmf/runtime/1.0.2/notation" xmlns:style="http://www.eclipse.org/papyrus/infra/viewpoints/policy/style" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML">
+ <notation:Diagram xmi:id="_zmK1oM7cEeSqqOMGqhj_Zg" type="PapyrusUMLClassDiagram" name="ClassDiagram" measurementUnit="Pixel">
+ <children xmi:type="notation:Shape" xmi:id="_0noSoM7cEeSqqOMGqhj_Zg" type="2008">
+ <children xmi:type="notation:DecorationNode" xmi:id="_0npgwM7cEeSqqOMGqhj_Zg" type="5029">
+ <element xmi:type="uml:Class" href="ancestor.uml#_0nM00M7cEeSqqOMGqhj_Zg"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_0nqH0M7cEeSqqOMGqhj_Zg" type="8510">
+ <element xmi:type="uml:Class" href="ancestor.uml#_0nM00M7cEeSqqOMGqhj_Zg"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_0nqH0c7cEeSqqOMGqhj_Zg" y="5"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_0nrV8M7cEeSqqOMGqhj_Zg" type="7017">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_0nrV8c7cEeSqqOMGqhj_Zg"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_0nrV8s7cEeSqqOMGqhj_Zg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_0nrV887cEeSqqOMGqhj_Zg"/>
+ <element xmi:type="uml:Class" href="ancestor.uml#_0nM00M7cEeSqqOMGqhj_Zg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0nrV9M7cEeSqqOMGqhj_Zg"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_0nrV9c7cEeSqqOMGqhj_Zg" type="7018">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_0nrV9s7cEeSqqOMGqhj_Zg"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_0nrV987cEeSqqOMGqhj_Zg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_0nrV-M7cEeSqqOMGqhj_Zg"/>
+ <element xmi:type="uml:Class" href="ancestor.uml#_0nM00M7cEeSqqOMGqhj_Zg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0nrV-c7cEeSqqOMGqhj_Zg"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_0nr9AM7cEeSqqOMGqhj_Zg" type="7019">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_0nr9Ac7cEeSqqOMGqhj_Zg"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_0nr9As7cEeSqqOMGqhj_Zg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_0nr9A87cEeSqqOMGqhj_Zg"/>
+ <element xmi:type="uml:Class" href="ancestor.uml#_0nM00M7cEeSqqOMGqhj_Zg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0nr9BM7cEeSqqOMGqhj_Zg"/>
+ </children>
+ <element xmi:type="uml:Class" href="ancestor.uml#_0nM00M7cEeSqqOMGqhj_Zg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0noSoc7cEeSqqOMGqhj_Zg" x="81" y="74"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_1K6l4M7cEeSqqOMGqhj_Zg" type="2008">
+ <children xmi:type="notation:DecorationNode" xmi:id="_1K6l4s7cEeSqqOMGqhj_Zg" type="5029">
+ <element xmi:type="uml:Class" href="ancestor.uml#_1K5XwM7cEeSqqOMGqhj_Zg"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_1K6l487cEeSqqOMGqhj_Zg" type="8510">
+ <element xmi:type="uml:Class" href="ancestor.uml#_1K5XwM7cEeSqqOMGqhj_Zg"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_1K6l5M7cEeSqqOMGqhj_Zg" y="5"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_1K6l5c7cEeSqqOMGqhj_Zg" type="7017">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_1K6l5s7cEeSqqOMGqhj_Zg"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_1K6l587cEeSqqOMGqhj_Zg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_1K6l6M7cEeSqqOMGqhj_Zg"/>
+ <element xmi:type="uml:Class" href="ancestor.uml#_1K5XwM7cEeSqqOMGqhj_Zg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_1K6l6c7cEeSqqOMGqhj_Zg"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_1K6l6s7cEeSqqOMGqhj_Zg" type="7018">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_1K6l687cEeSqqOMGqhj_Zg"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_1K6l7M7cEeSqqOMGqhj_Zg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_1K6l7c7cEeSqqOMGqhj_Zg"/>
+ <element xmi:type="uml:Class" href="ancestor.uml#_1K5XwM7cEeSqqOMGqhj_Zg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_1K6l7s7cEeSqqOMGqhj_Zg"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_1K6l787cEeSqqOMGqhj_Zg" type="7019">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_1K6l8M7cEeSqqOMGqhj_Zg"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_1K6l8c7cEeSqqOMGqhj_Zg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_1K6l8s7cEeSqqOMGqhj_Zg"/>
+ <element xmi:type="uml:Class" href="ancestor.uml#_1K5XwM7cEeSqqOMGqhj_Zg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_1K6l887cEeSqqOMGqhj_Zg"/>
+ </children>
+ <element xmi:type="uml:Class" href="ancestor.uml#_1K5XwM7cEeSqqOMGqhj_Zg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_1K6l4c7cEeSqqOMGqhj_Zg" x="350" y="72"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_TX4o4M7fEeSqqOMGqhj_Zg" type="2008">
+ <children xmi:type="notation:DecorationNode" xmi:id="_TX4o4s7fEeSqqOMGqhj_Zg" type="5029">
+ <element xmi:type="uml:Class" href="ancestor.uml#_TX3awM7fEeSqqOMGqhj_Zg"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_TX4o487fEeSqqOMGqhj_Zg" type="8510">
+ <element xmi:type="uml:Class" href="ancestor.uml#_TX3awM7fEeSqqOMGqhj_Zg"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_TX4o5M7fEeSqqOMGqhj_Zg" y="5"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_TX4o5c7fEeSqqOMGqhj_Zg" type="7017">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_TX4o5s7fEeSqqOMGqhj_Zg"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_TX4o587fEeSqqOMGqhj_Zg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_TX4o6M7fEeSqqOMGqhj_Zg"/>
+ <element xmi:type="uml:Class" href="ancestor.uml#_TX3awM7fEeSqqOMGqhj_Zg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_TX4o6c7fEeSqqOMGqhj_Zg"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_TX4o6s7fEeSqqOMGqhj_Zg" type="7018">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_TX4o687fEeSqqOMGqhj_Zg"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_TX4o7M7fEeSqqOMGqhj_Zg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_TX4o7c7fEeSqqOMGqhj_Zg"/>
+ <element xmi:type="uml:Class" href="ancestor.uml#_TX3awM7fEeSqqOMGqhj_Zg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_TX4o7s7fEeSqqOMGqhj_Zg"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_TX4o787fEeSqqOMGqhj_Zg" type="7019">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_TX4o8M7fEeSqqOMGqhj_Zg"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_TX4o8c7fEeSqqOMGqhj_Zg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_TX4o8s7fEeSqqOMGqhj_Zg"/>
+ <element xmi:type="uml:Class" href="ancestor.uml#_TX3awM7fEeSqqOMGqhj_Zg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_TX4o887fEeSqqOMGqhj_Zg"/>
+ </children>
+ <element xmi:type="uml:Class" href="ancestor.uml#_TX3awM7fEeSqqOMGqhj_Zg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_TX4o4c7fEeSqqOMGqhj_Zg" x="349" y="243"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_CkYvcM_wEeS6X8bMfB-bzg" type="2008">
+ <children xmi:type="notation:DecorationNode" xmi:id="_CkakoM_wEeS6X8bMfB-bzg" type="5029">
+ <element xmi:type="uml:Class" href="ancestor.uml#_Cha7AM_wEeS6X8bMfB-bzg"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_Ckakoc_wEeS6X8bMfB-bzg" type="8510">
+ <element xmi:type="uml:Class" href="ancestor.uml#_Cha7AM_wEeS6X8bMfB-bzg"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_Ckakos_wEeS6X8bMfB-bzg" y="5"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_CkbLsM_wEeS6X8bMfB-bzg" type="7017">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_CkbLsc_wEeS6X8bMfB-bzg"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_CkbLss_wEeS6X8bMfB-bzg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_CkbLs8_wEeS6X8bMfB-bzg"/>
+ <element xmi:type="uml:Class" href="ancestor.uml#_Cha7AM_wEeS6X8bMfB-bzg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_CkbLtM_wEeS6X8bMfB-bzg"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_CkbLtc_wEeS6X8bMfB-bzg" type="7018">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_CkbLts_wEeS6X8bMfB-bzg"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_CkbLt8_wEeS6X8bMfB-bzg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_CkbLuM_wEeS6X8bMfB-bzg"/>
+ <element xmi:type="uml:Class" href="ancestor.uml#_Cha7AM_wEeS6X8bMfB-bzg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_CkbLuc_wEeS6X8bMfB-bzg"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_CkbLus_wEeS6X8bMfB-bzg" type="7019">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_CkbLu8_wEeS6X8bMfB-bzg"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_CkbLvM_wEeS6X8bMfB-bzg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_CkbLvc_wEeS6X8bMfB-bzg"/>
+ <element xmi:type="uml:Class" href="ancestor.uml#_Cha7AM_wEeS6X8bMfB-bzg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_CkbLvs_wEeS6X8bMfB-bzg"/>
+ </children>
+ <element xmi:type="uml:Class" href="ancestor.uml#_Cha7AM_wEeS6X8bMfB-bzg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_CkYvcc_wEeS6X8bMfB-bzg" x="83" y="249"/>
+ </children>
+ <styles xmi:type="notation:StringValueStyle" xmi:id="_zmK1oc7cEeSqqOMGqhj_Zg" name="diagram_compatibility_version" stringValue="1.0.0"/>
+ <styles xmi:type="notation:DiagramStyle" xmi:id="_zmK1os7cEeSqqOMGqhj_Zg"/>
+ <styles xmi:type="style:PapyrusViewStyle" xmi:id="_zmK1o87cEeSqqOMGqhj_Zg">
+ <owner xmi:type="uml:Model" href="ancestor.uml#_soPaMM7cEeSqqOMGqhj_Zg"/>
+ </styles>
+ <element xmi:type="uml:Model" href="ancestor.uml#_soPaMM7cEeSqqOMGqhj_Zg"/>
+ <edges xmi:type="notation:Connector" xmi:id="_38pGoM7cEeSqqOMGqhj_Zg" type="4001" source="_0noSoM7cEeSqqOMGqhj_Zg" target="_1K6l4M7cEeSqqOMGqhj_Zg">
+ <children xmi:type="notation:DecorationNode" xmi:id="_38pGo87cEeSqqOMGqhj_Zg" type="6001">
+ <element xmi:type="uml:Association" href="ancestor.uml#_38mDUM7cEeSqqOMGqhj_Zg"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_38pGpM7cEeSqqOMGqhj_Zg" y="-20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_38pGpc7cEeSqqOMGqhj_Zg" type="6002">
+ <element xmi:type="uml:Association" href="ancestor.uml#_38mDUM7cEeSqqOMGqhj_Zg"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_38pGps7cEeSqqOMGqhj_Zg" y="20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_38pGp87cEeSqqOMGqhj_Zg" type="6003">
+ <element xmi:type="uml:Association" href="ancestor.uml#_38mDUM7cEeSqqOMGqhj_Zg"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_38pGqM7cEeSqqOMGqhj_Zg" y="-20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_38ptsM7cEeSqqOMGqhj_Zg" type="6005">
+ <element xmi:type="uml:Association" href="ancestor.uml#_38mDUM7cEeSqqOMGqhj_Zg"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_38ptsc7cEeSqqOMGqhj_Zg" x="-14" y="31"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_38ptss7cEeSqqOMGqhj_Zg" type="6033">
+ <element xmi:type="uml:Association" href="ancestor.uml#_38mDUM7cEeSqqOMGqhj_Zg"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_38pts87cEeSqqOMGqhj_Zg" y="20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_38pttM7cEeSqqOMGqhj_Zg" type="6034">
+ <element xmi:type="uml:Association" href="ancestor.uml#_38mDUM7cEeSqqOMGqhj_Zg"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_38pttc7cEeSqqOMGqhj_Zg" y="-20"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_38pGoc7cEeSqqOMGqhj_Zg"/>
+ <element xmi:type="uml:Association" href="ancestor.uml#_38mDUM7cEeSqqOMGqhj_Zg"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_38pGos7cEeSqqOMGqhj_Zg" points="[50, -8, -219, -6]$[219, -8, -50, -6]"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_Wp4vkNLZEeSzBO7rhIZWOw" type="4001" source="_CkYvcM_wEeS6X8bMfB-bzg" target="_TX4o4M7fEeSqqOMGqhj_Zg">
+ <children xmi:type="notation:DecorationNode" xmi:id="_Wp5WoNLZEeSzBO7rhIZWOw" type="6001">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_Wp5WodLZEeSzBO7rhIZWOw" y="-20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_Wp5WotLZEeSzBO7rhIZWOw" type="6002">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_Wp5Wo9LZEeSzBO7rhIZWOw" y="20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_Wp5WpNLZEeSzBO7rhIZWOw" type="6003">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_Wp5WpdLZEeSzBO7rhIZWOw" y="-20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_Wp59sNLZEeSzBO7rhIZWOw" type="6005">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_Wp59sdLZEeSzBO7rhIZWOw" y="20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_Wp59stLZEeSzBO7rhIZWOw" type="6033">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_Wp59s9LZEeSzBO7rhIZWOw" y="20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_Wp59tNLZEeSzBO7rhIZWOw" type="6034">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_Wp59tdLZEeSzBO7rhIZWOw" y="-20"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_Wp4vkdLZEeSzBO7rhIZWOw"/>
+ <element xmi:type="uml:Association" href="ancestor.uml#_WpmbsNLZEeSzBO7rhIZWOw"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Wp4vktLZEeSzBO7rhIZWOw" points="[50, -3, -216, 3]$[269, -56, 3, -50]"/>
+ </edges>
+ </notation:Diagram>
+ <css:ModelStyleSheets xmi:id="_SsK80NLZEeSzBO7rhIZWOw"/>
+</xmi:XMI>
diff --git a/plugins/org.eclipse.emf.compare.diagram.papyrus.tests/src/org/eclipse/emf/compare/diagram/papyrus/tests/merge/data/assocs/conflict/c1/ancestor.uml b/plugins/org.eclipse.emf.compare.diagram.papyrus.tests/src/org/eclipse/emf/compare/diagram/papyrus/tests/merge/data/assocs/conflict/c1/ancestor.uml new file mode 100644 index 000000000..aa48ba775 --- /dev/null +++ b/plugins/org.eclipse.emf.compare.diagram.papyrus.tests/src/org/eclipse/emf/compare/diagram/papyrus/tests/merge/data/assocs/conflict/c1/ancestor.uml @@ -0,0 +1,30 @@ +<?xml version="1.0" encoding="UTF-8"?>
+<uml:Model xmi:version="20131001" xmlns:xmi="http://www.omg.org/spec/XMI/20131001" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xmi:id="_soPaMM7cEeSqqOMGqhj_Zg" name="model">
+ <packagedElement xmi:type="uml:Class" xmi:id="_0nM00M7cEeSqqOMGqhj_Zg" name="Class1"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_1K5XwM7cEeSqqOMGqhj_Zg" name="Class2"/>
+ <packagedElement xmi:type="uml:Association" xmi:id="_38mDUM7cEeSqqOMGqhj_Zg" memberEnd="_38mDUc7cEeSqqOMGqhj_Zg _38lcQM7cEeSqqOMGqhj_Zg">
+ <name xsi:nil="true"/>
+ <ownedEnd xmi:type="uml:Property" xmi:id="_38mDUc7cEeSqqOMGqhj_Zg" name="class1" type="_0nM00M7cEeSqqOMGqhj_Zg" association="_38mDUM7cEeSqqOMGqhj_Zg">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_38mDUs7cEeSqqOMGqhj_Zg" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_38mDU87cEeSqqOMGqhj_Zg" value="1"/>
+ </ownedEnd>
+ <ownedEnd xmi:type="uml:Property" xmi:id="_38lcQM7cEeSqqOMGqhj_Zg" name="someRole" type="_1K5XwM7cEeSqqOMGqhj_Zg" association="_38mDUM7cEeSqqOMGqhj_Zg">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_38lcQc7cEeSqqOMGqhj_Zg" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_38lcQs7cEeSqqOMGqhj_Zg" value="1"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Class" xmi:id="_TX3awM7fEeSqqOMGqhj_Zg" name="Class3"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_Cha7AM_wEeS6X8bMfB-bzg" name="Class4">
+ <ownedAttribute xmi:type="uml:Property" xmi:id="_Wpl0oNLZEeSzBO7rhIZWOw" name="otherRole" type="_TX3awM7fEeSqqOMGqhj_Zg" association="_WpmbsNLZEeSzBO7rhIZWOw">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_Wpl0odLZEeSzBO7rhIZWOw" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_Wpl0otLZEeSzBO7rhIZWOw" value="1"/>
+ </ownedAttribute>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="_WpmbsNLZEeSzBO7rhIZWOw" memberEnd="_WpmbsdLZEeSzBO7rhIZWOw _Wpl0oNLZEeSzBO7rhIZWOw">
+ <name xsi:nil="true"/>
+ <ownedEnd xmi:type="uml:Property" xmi:id="_WpmbsdLZEeSzBO7rhIZWOw" name="class4" type="_Cha7AM_wEeS6X8bMfB-bzg" association="_WpmbsNLZEeSzBO7rhIZWOw">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_WpmbstLZEeSzBO7rhIZWOw" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_Wpmbs9LZEeSzBO7rhIZWOw" value="1"/>
+ </ownedEnd>
+ </packagedElement>
+</uml:Model>
diff --git a/plugins/org.eclipse.emf.compare.diagram.papyrus.tests/src/org/eclipse/emf/compare/diagram/papyrus/tests/merge/data/assocs/conflict/c1/left.di b/plugins/org.eclipse.emf.compare.diagram.papyrus.tests/src/org/eclipse/emf/compare/diagram/papyrus/tests/merge/data/assocs/conflict/c1/left.di new file mode 100644 index 000000000..8634d4c00 --- /dev/null +++ b/plugins/org.eclipse.emf.compare.diagram.papyrus.tests/src/org/eclipse/emf/compare/diagram/papyrus/tests/merge/data/assocs/conflict/c1/left.di @@ -0,0 +1,2 @@ +<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI"/>
diff --git a/plugins/org.eclipse.emf.compare.diagram.papyrus.tests/src/org/eclipse/emf/compare/diagram/papyrus/tests/merge/data/assocs/conflict/c1/left.notation b/plugins/org.eclipse.emf.compare.diagram.papyrus.tests/src/org/eclipse/emf/compare/diagram/papyrus/tests/merge/data/assocs/conflict/c1/left.notation new file mode 100644 index 000000000..36b8f3e13 --- /dev/null +++ b/plugins/org.eclipse.emf.compare.diagram.papyrus.tests/src/org/eclipse/emf/compare/diagram/papyrus/tests/merge/data/assocs/conflict/c1/left.notation @@ -0,0 +1,198 @@ +<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:css="http://www.eclipse.org/papyrus/infra/gmfdiag/css" xmlns:notation="http://www.eclipse.org/gmf/runtime/1.0.2/notation" xmlns:style="http://www.eclipse.org/papyrus/infra/viewpoints/policy/style" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML">
+ <notation:Diagram xmi:id="_zmK1oM7cEeSqqOMGqhj_Zg" type="PapyrusUMLClassDiagram" name="ClassDiagram" measurementUnit="Pixel">
+ <children xmi:type="notation:Shape" xmi:id="_0noSoM7cEeSqqOMGqhj_Zg" type="2008">
+ <children xmi:type="notation:DecorationNode" xmi:id="_0npgwM7cEeSqqOMGqhj_Zg" type="5029">
+ <element xmi:type="uml:Class" href="left.uml#_0nM00M7cEeSqqOMGqhj_Zg"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_0nqH0M7cEeSqqOMGqhj_Zg" type="8510">
+ <element xmi:type="uml:Class" href="left.uml#_0nM00M7cEeSqqOMGqhj_Zg"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_0nqH0c7cEeSqqOMGqhj_Zg" y="5"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_0nrV8M7cEeSqqOMGqhj_Zg" type="7017">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_0nrV8c7cEeSqqOMGqhj_Zg"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_0nrV8s7cEeSqqOMGqhj_Zg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_0nrV887cEeSqqOMGqhj_Zg"/>
+ <element xmi:type="uml:Class" href="left.uml#_0nM00M7cEeSqqOMGqhj_Zg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0nrV9M7cEeSqqOMGqhj_Zg"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_0nrV9c7cEeSqqOMGqhj_Zg" type="7018">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_0nrV9s7cEeSqqOMGqhj_Zg"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_0nrV987cEeSqqOMGqhj_Zg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_0nrV-M7cEeSqqOMGqhj_Zg"/>
+ <element xmi:type="uml:Class" href="left.uml#_0nM00M7cEeSqqOMGqhj_Zg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0nrV-c7cEeSqqOMGqhj_Zg"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_0nr9AM7cEeSqqOMGqhj_Zg" type="7019">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_0nr9Ac7cEeSqqOMGqhj_Zg"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_0nr9As7cEeSqqOMGqhj_Zg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_0nr9A87cEeSqqOMGqhj_Zg"/>
+ <element xmi:type="uml:Class" href="left.uml#_0nM00M7cEeSqqOMGqhj_Zg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0nr9BM7cEeSqqOMGqhj_Zg"/>
+ </children>
+ <element xmi:type="uml:Class" href="left.uml#_0nM00M7cEeSqqOMGqhj_Zg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0noSoc7cEeSqqOMGqhj_Zg" x="81" y="74"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_1K6l4M7cEeSqqOMGqhj_Zg" type="2008">
+ <children xmi:type="notation:DecorationNode" xmi:id="_1K6l4s7cEeSqqOMGqhj_Zg" type="5029">
+ <element xmi:type="uml:Class" href="left.uml#_1K5XwM7cEeSqqOMGqhj_Zg"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_1K6l487cEeSqqOMGqhj_Zg" type="8510">
+ <element xmi:type="uml:Class" href="left.uml#_1K5XwM7cEeSqqOMGqhj_Zg"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_1K6l5M7cEeSqqOMGqhj_Zg" y="5"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_1K6l5c7cEeSqqOMGqhj_Zg" type="7017">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_1K6l5s7cEeSqqOMGqhj_Zg"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_1K6l587cEeSqqOMGqhj_Zg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_1K6l6M7cEeSqqOMGqhj_Zg"/>
+ <element xmi:type="uml:Class" href="left.uml#_1K5XwM7cEeSqqOMGqhj_Zg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_1K6l6c7cEeSqqOMGqhj_Zg"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_1K6l6s7cEeSqqOMGqhj_Zg" type="7018">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_1K6l687cEeSqqOMGqhj_Zg"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_1K6l7M7cEeSqqOMGqhj_Zg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_1K6l7c7cEeSqqOMGqhj_Zg"/>
+ <element xmi:type="uml:Class" href="left.uml#_1K5XwM7cEeSqqOMGqhj_Zg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_1K6l7s7cEeSqqOMGqhj_Zg"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_1K6l787cEeSqqOMGqhj_Zg" type="7019">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_1K6l8M7cEeSqqOMGqhj_Zg"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_1K6l8c7cEeSqqOMGqhj_Zg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_1K6l8s7cEeSqqOMGqhj_Zg"/>
+ <element xmi:type="uml:Class" href="left.uml#_1K5XwM7cEeSqqOMGqhj_Zg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_1K6l887cEeSqqOMGqhj_Zg"/>
+ </children>
+ <element xmi:type="uml:Class" href="left.uml#_1K5XwM7cEeSqqOMGqhj_Zg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_1K6l4c7cEeSqqOMGqhj_Zg" x="350" y="72"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_TX4o4M7fEeSqqOMGqhj_Zg" type="2008">
+ <children xmi:type="notation:DecorationNode" xmi:id="_TX4o4s7fEeSqqOMGqhj_Zg" type="5029">
+ <element xmi:type="uml:Class" href="left.uml#_TX3awM7fEeSqqOMGqhj_Zg"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_TX4o487fEeSqqOMGqhj_Zg" type="8510">
+ <element xmi:type="uml:Class" href="left.uml#_TX3awM7fEeSqqOMGqhj_Zg"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_TX4o5M7fEeSqqOMGqhj_Zg" y="5"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_TX4o5c7fEeSqqOMGqhj_Zg" type="7017">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_TX4o5s7fEeSqqOMGqhj_Zg"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_TX4o587fEeSqqOMGqhj_Zg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_TX4o6M7fEeSqqOMGqhj_Zg"/>
+ <element xmi:type="uml:Class" href="left.uml#_TX3awM7fEeSqqOMGqhj_Zg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_TX4o6c7fEeSqqOMGqhj_Zg"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_TX4o6s7fEeSqqOMGqhj_Zg" type="7018">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_TX4o687fEeSqqOMGqhj_Zg"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_TX4o7M7fEeSqqOMGqhj_Zg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_TX4o7c7fEeSqqOMGqhj_Zg"/>
+ <element xmi:type="uml:Class" href="left.uml#_TX3awM7fEeSqqOMGqhj_Zg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_TX4o7s7fEeSqqOMGqhj_Zg"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_TX4o787fEeSqqOMGqhj_Zg" type="7019">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_TX4o8M7fEeSqqOMGqhj_Zg"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_TX4o8c7fEeSqqOMGqhj_Zg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_TX4o8s7fEeSqqOMGqhj_Zg"/>
+ <element xmi:type="uml:Class" href="left.uml#_TX3awM7fEeSqqOMGqhj_Zg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_TX4o887fEeSqqOMGqhj_Zg"/>
+ </children>
+ <element xmi:type="uml:Class" href="left.uml#_TX3awM7fEeSqqOMGqhj_Zg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_TX4o4c7fEeSqqOMGqhj_Zg" x="349" y="243"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_CkYvcM_wEeS6X8bMfB-bzg" type="2008">
+ <children xmi:type="notation:DecorationNode" xmi:id="_CkakoM_wEeS6X8bMfB-bzg" type="5029">
+ <element xmi:type="uml:Class" href="left.uml#_Cha7AM_wEeS6X8bMfB-bzg"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_Ckakoc_wEeS6X8bMfB-bzg" type="8510">
+ <element xmi:type="uml:Class" href="left.uml#_Cha7AM_wEeS6X8bMfB-bzg"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_Ckakos_wEeS6X8bMfB-bzg" y="5"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_CkbLsM_wEeS6X8bMfB-bzg" type="7017">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_CkbLsc_wEeS6X8bMfB-bzg"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_CkbLss_wEeS6X8bMfB-bzg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_CkbLs8_wEeS6X8bMfB-bzg"/>
+ <element xmi:type="uml:Class" href="left.uml#_Cha7AM_wEeS6X8bMfB-bzg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_CkbLtM_wEeS6X8bMfB-bzg"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_CkbLtc_wEeS6X8bMfB-bzg" type="7018">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_CkbLts_wEeS6X8bMfB-bzg"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_CkbLt8_wEeS6X8bMfB-bzg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_CkbLuM_wEeS6X8bMfB-bzg"/>
+ <element xmi:type="uml:Class" href="left.uml#_Cha7AM_wEeS6X8bMfB-bzg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_CkbLuc_wEeS6X8bMfB-bzg"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_CkbLus_wEeS6X8bMfB-bzg" type="7019">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_CkbLu8_wEeS6X8bMfB-bzg"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_CkbLvM_wEeS6X8bMfB-bzg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_CkbLvc_wEeS6X8bMfB-bzg"/>
+ <element xmi:type="uml:Class" href="left.uml#_Cha7AM_wEeS6X8bMfB-bzg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_CkbLvs_wEeS6X8bMfB-bzg"/>
+ </children>
+ <element xmi:type="uml:Class" href="left.uml#_Cha7AM_wEeS6X8bMfB-bzg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_CkYvcc_wEeS6X8bMfB-bzg" x="83" y="249"/>
+ </children>
+ <styles xmi:type="notation:StringValueStyle" xmi:id="_zmK1oc7cEeSqqOMGqhj_Zg" name="diagram_compatibility_version" stringValue="1.0.0"/>
+ <styles xmi:type="notation:DiagramStyle" xmi:id="_zmK1os7cEeSqqOMGqhj_Zg"/>
+ <styles xmi:type="style:PapyrusViewStyle" xmi:id="_zmK1o87cEeSqqOMGqhj_Zg">
+ <owner xmi:type="uml:Model" href="left.uml#_soPaMM7cEeSqqOMGqhj_Zg"/>
+ </styles>
+ <element xmi:type="uml:Model" href="left.uml#_soPaMM7cEeSqqOMGqhj_Zg"/>
+ <edges xmi:type="notation:Connector" xmi:id="_38pGoM7cEeSqqOMGqhj_Zg" type="4001" source="_0noSoM7cEeSqqOMGqhj_Zg" target="_TX4o4M7fEeSqqOMGqhj_Zg">
+ <children xmi:type="notation:DecorationNode" xmi:id="_38pGo87cEeSqqOMGqhj_Zg" type="6001">
+ <element xmi:type="uml:Association" href="left.uml#_38mDUM7cEeSqqOMGqhj_Zg"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_38pGpM7cEeSqqOMGqhj_Zg" y="-20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_38pGpc7cEeSqqOMGqhj_Zg" type="6002">
+ <element xmi:type="uml:Association" href="left.uml#_38mDUM7cEeSqqOMGqhj_Zg"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_38pGps7cEeSqqOMGqhj_Zg" y="20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_38pGp87cEeSqqOMGqhj_Zg" type="6003">
+ <element xmi:type="uml:Association" href="left.uml#_38mDUM7cEeSqqOMGqhj_Zg"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_38pGqM7cEeSqqOMGqhj_Zg" y="-20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_38ptsM7cEeSqqOMGqhj_Zg" type="6005">
+ <element xmi:type="uml:Association" href="left.uml#_38mDUM7cEeSqqOMGqhj_Zg"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_38ptsc7cEeSqqOMGqhj_Zg" x="-14" y="31"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_38ptss7cEeSqqOMGqhj_Zg" type="6033">
+ <element xmi:type="uml:Association" href="left.uml#_38mDUM7cEeSqqOMGqhj_Zg"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_38pts87cEeSqqOMGqhj_Zg" y="20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_38pttM7cEeSqqOMGqhj_Zg" type="6034">
+ <element xmi:type="uml:Association" href="left.uml#_38mDUM7cEeSqqOMGqhj_Zg"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_38pttc7cEeSqqOMGqhj_Zg" y="-20"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_38pGoc7cEeSqqOMGqhj_Zg"/>
+ <element xmi:type="uml:Association" href="left.uml#_38mDUM7cEeSqqOMGqhj_Zg"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_38pGos7cEeSqqOMGqhj_Zg" points="[50, -8, -219, -6]$[219, -8, -50, -6]"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_Wp4vkNLZEeSzBO7rhIZWOw" type="4001" source="_CkYvcM_wEeS6X8bMfB-bzg" target="_0noSoM7cEeSqqOMGqhj_Zg">
+ <children xmi:type="notation:DecorationNode" xmi:id="_Wp5WoNLZEeSzBO7rhIZWOw" type="6001">
+ <element xmi:type="uml:Association" href="left.uml#_WpmbsNLZEeSzBO7rhIZWOw"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_Wp5WodLZEeSzBO7rhIZWOw" y="-20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_Wp5WotLZEeSzBO7rhIZWOw" type="6002">
+ <element xmi:type="uml:Association" href="left.uml#_WpmbsNLZEeSzBO7rhIZWOw"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_Wp5Wo9LZEeSzBO7rhIZWOw" y="20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_Wp5WpNLZEeSzBO7rhIZWOw" type="6003">
+ <element xmi:type="uml:Association" href="left.uml#_WpmbsNLZEeSzBO7rhIZWOw"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_Wp5WpdLZEeSzBO7rhIZWOw" y="-20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_Wp59sNLZEeSzBO7rhIZWOw" type="6005">
+ <element xmi:type="uml:Association" href="left.uml#_WpmbsNLZEeSzBO7rhIZWOw"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_Wp59sdLZEeSzBO7rhIZWOw" y="20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_Wp59stLZEeSzBO7rhIZWOw" type="6033">
+ <element xmi:type="uml:Association" href="left.uml#_WpmbsNLZEeSzBO7rhIZWOw"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_Wp59s9LZEeSzBO7rhIZWOw" y="20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_Wp59tNLZEeSzBO7rhIZWOw" type="6034">
+ <element xmi:type="uml:Association" href="left.uml#_WpmbsNLZEeSzBO7rhIZWOw"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_Wp59tdLZEeSzBO7rhIZWOw" y="-20"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_Wp4vkdLZEeSzBO7rhIZWOw"/>
+ <element xmi:type="uml:Association" href="left.uml#_WpmbsNLZEeSzBO7rhIZWOw"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Wp4vktLZEeSzBO7rhIZWOw" points="[50, -3, -216, 3]$[269, -56, 3, -50]"/>
+ </edges>
+ </notation:Diagram>
+ <css:ModelStyleSheets xmi:id="_SsK80NLZEeSzBO7rhIZWOw"/>
+</xmi:XMI>
diff --git a/plugins/org.eclipse.emf.compare.diagram.papyrus.tests/src/org/eclipse/emf/compare/diagram/papyrus/tests/merge/data/assocs/conflict/c1/left.uml b/plugins/org.eclipse.emf.compare.diagram.papyrus.tests/src/org/eclipse/emf/compare/diagram/papyrus/tests/merge/data/assocs/conflict/c1/left.uml new file mode 100644 index 000000000..b4be95a58 --- /dev/null +++ b/plugins/org.eclipse.emf.compare.diagram.papyrus.tests/src/org/eclipse/emf/compare/diagram/papyrus/tests/merge/data/assocs/conflict/c1/left.uml @@ -0,0 +1,30 @@ +<?xml version="1.0" encoding="UTF-8"?>
+<uml:Model xmi:version="20131001" xmlns:xmi="http://www.omg.org/spec/XMI/20131001" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xmi:id="_soPaMM7cEeSqqOMGqhj_Zg" name="model">
+ <packagedElement xmi:type="uml:Class" xmi:id="_0nM00M7cEeSqqOMGqhj_Zg" name="Class1"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_1K5XwM7cEeSqqOMGqhj_Zg" name="Class2"/>
+ <packagedElement xmi:type="uml:Association" xmi:id="_38mDUM7cEeSqqOMGqhj_Zg" memberEnd="_38mDUc7cEeSqqOMGqhj_Zg _38lcQM7cEeSqqOMGqhj_Zg">
+ <name xsi:nil="true"/>
+ <ownedEnd xmi:type="uml:Property" xmi:id="_38mDUc7cEeSqqOMGqhj_Zg" name="class1" type="_0nM00M7cEeSqqOMGqhj_Zg" association="_38mDUM7cEeSqqOMGqhj_Zg">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_38mDUs7cEeSqqOMGqhj_Zg" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_38mDU87cEeSqqOMGqhj_Zg" value="1"/>
+ </ownedEnd>
+ <ownedEnd xmi:type="uml:Property" xmi:id="_38lcQM7cEeSqqOMGqhj_Zg" name="someRole" type="_TX3awM7fEeSqqOMGqhj_Zg" association="_38mDUM7cEeSqqOMGqhj_Zg">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_38lcQc7cEeSqqOMGqhj_Zg" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_38lcQs7cEeSqqOMGqhj_Zg" value="1"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Class" xmi:id="_TX3awM7fEeSqqOMGqhj_Zg" name="Class3"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_Cha7AM_wEeS6X8bMfB-bzg" name="Class4">
+ <ownedAttribute xmi:type="uml:Property" xmi:id="_Wpl0oNLZEeSzBO7rhIZWOw" name="otherRole" type="_0nM00M7cEeSqqOMGqhj_Zg" association="_WpmbsNLZEeSzBO7rhIZWOw">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_Wpl0odLZEeSzBO7rhIZWOw" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_Wpl0otLZEeSzBO7rhIZWOw" value="1"/>
+ </ownedAttribute>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="_WpmbsNLZEeSzBO7rhIZWOw" memberEnd="_WpmbsdLZEeSzBO7rhIZWOw _Wpl0oNLZEeSzBO7rhIZWOw">
+ <name xsi:nil="true"/>
+ <ownedEnd xmi:type="uml:Property" xmi:id="_WpmbsdLZEeSzBO7rhIZWOw" name="class4" type="_Cha7AM_wEeS6X8bMfB-bzg" association="_WpmbsNLZEeSzBO7rhIZWOw">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_WpmbstLZEeSzBO7rhIZWOw" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_Wpmbs9LZEeSzBO7rhIZWOw" value="1"/>
+ </ownedEnd>
+ </packagedElement>
+</uml:Model>
diff --git a/plugins/org.eclipse.emf.compare.diagram.papyrus.tests/src/org/eclipse/emf/compare/diagram/papyrus/tests/merge/data/assocs/conflict/c1/package-info.java b/plugins/org.eclipse.emf.compare.diagram.papyrus.tests/src/org/eclipse/emf/compare/diagram/papyrus/tests/merge/data/assocs/conflict/c1/package-info.java new file mode 100644 index 000000000..0dfb6114a --- /dev/null +++ b/plugins/org.eclipse.emf.compare.diagram.papyrus.tests/src/org/eclipse/emf/compare/diagram/papyrus/tests/merge/data/assocs/conflict/c1/package-info.java @@ -0,0 +1,17 @@ +/******************************************************************************* + * Copyright (c) 2015 Obeo. + * 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: + * Obeo - initial API and implementation + *******************************************************************************/ + +/** + * This package contains test data about conflicts in association changes, + * where an existing association is reconnected in 2 branches. + * @author <a href="mailto:laurent.delaigue@obeo.fr">Laurent Delaigue</a> + */ +package org.eclipse.emf.compare.diagram.papyrus.tests.merge.data.assocs.conflict.c1;
\ No newline at end of file diff --git a/plugins/org.eclipse.emf.compare.diagram.papyrus.tests/src/org/eclipse/emf/compare/diagram/papyrus/tests/merge/data/assocs/conflict/c1/right.di b/plugins/org.eclipse.emf.compare.diagram.papyrus.tests/src/org/eclipse/emf/compare/diagram/papyrus/tests/merge/data/assocs/conflict/c1/right.di new file mode 100644 index 000000000..8634d4c00 --- /dev/null +++ b/plugins/org.eclipse.emf.compare.diagram.papyrus.tests/src/org/eclipse/emf/compare/diagram/papyrus/tests/merge/data/assocs/conflict/c1/right.di @@ -0,0 +1,2 @@ +<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI"/>
diff --git a/plugins/org.eclipse.emf.compare.diagram.papyrus.tests/src/org/eclipse/emf/compare/diagram/papyrus/tests/merge/data/assocs/conflict/c1/right.notation b/plugins/org.eclipse.emf.compare.diagram.papyrus.tests/src/org/eclipse/emf/compare/diagram/papyrus/tests/merge/data/assocs/conflict/c1/right.notation new file mode 100644 index 000000000..491cecb4a --- /dev/null +++ b/plugins/org.eclipse.emf.compare.diagram.papyrus.tests/src/org/eclipse/emf/compare/diagram/papyrus/tests/merge/data/assocs/conflict/c1/right.notation @@ -0,0 +1,198 @@ +<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:css="http://www.eclipse.org/papyrus/infra/gmfdiag/css" xmlns:notation="http://www.eclipse.org/gmf/runtime/1.0.2/notation" xmlns:style="http://www.eclipse.org/papyrus/infra/viewpoints/policy/style" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML">
+ <notation:Diagram xmi:id="_zmK1oM7cEeSqqOMGqhj_Zg" type="PapyrusUMLClassDiagram" name="ClassDiagram" measurementUnit="Pixel">
+ <children xmi:type="notation:Shape" xmi:id="_0noSoM7cEeSqqOMGqhj_Zg" type="2008">
+ <children xmi:type="notation:DecorationNode" xmi:id="_0npgwM7cEeSqqOMGqhj_Zg" type="5029">
+ <element xmi:type="uml:Class" href="right.uml#_0nM00M7cEeSqqOMGqhj_Zg"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_0nqH0M7cEeSqqOMGqhj_Zg" type="8510">
+ <element xmi:type="uml:Class" href="right.uml#_0nM00M7cEeSqqOMGqhj_Zg"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_0nqH0c7cEeSqqOMGqhj_Zg" y="5"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_0nrV8M7cEeSqqOMGqhj_Zg" type="7017">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_0nrV8c7cEeSqqOMGqhj_Zg"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_0nrV8s7cEeSqqOMGqhj_Zg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_0nrV887cEeSqqOMGqhj_Zg"/>
+ <element xmi:type="uml:Class" href="right.uml#_0nM00M7cEeSqqOMGqhj_Zg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0nrV9M7cEeSqqOMGqhj_Zg"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_0nrV9c7cEeSqqOMGqhj_Zg" type="7018">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_0nrV9s7cEeSqqOMGqhj_Zg"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_0nrV987cEeSqqOMGqhj_Zg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_0nrV-M7cEeSqqOMGqhj_Zg"/>
+ <element xmi:type="uml:Class" href="right.uml#_0nM00M7cEeSqqOMGqhj_Zg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0nrV-c7cEeSqqOMGqhj_Zg"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_0nr9AM7cEeSqqOMGqhj_Zg" type="7019">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_0nr9Ac7cEeSqqOMGqhj_Zg"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_0nr9As7cEeSqqOMGqhj_Zg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_0nr9A87cEeSqqOMGqhj_Zg"/>
+ <element xmi:type="uml:Class" href="right.uml#_0nM00M7cEeSqqOMGqhj_Zg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0nr9BM7cEeSqqOMGqhj_Zg"/>
+ </children>
+ <element xmi:type="uml:Class" href="right.uml#_0nM00M7cEeSqqOMGqhj_Zg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0noSoc7cEeSqqOMGqhj_Zg" x="81" y="74"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_1K6l4M7cEeSqqOMGqhj_Zg" type="2008">
+ <children xmi:type="notation:DecorationNode" xmi:id="_1K6l4s7cEeSqqOMGqhj_Zg" type="5029">
+ <element xmi:type="uml:Class" href="right.uml#_1K5XwM7cEeSqqOMGqhj_Zg"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_1K6l487cEeSqqOMGqhj_Zg" type="8510">
+ <element xmi:type="uml:Class" href="right.uml#_1K5XwM7cEeSqqOMGqhj_Zg"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_1K6l5M7cEeSqqOMGqhj_Zg" y="5"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_1K6l5c7cEeSqqOMGqhj_Zg" type="7017">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_1K6l5s7cEeSqqOMGqhj_Zg"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_1K6l587cEeSqqOMGqhj_Zg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_1K6l6M7cEeSqqOMGqhj_Zg"/>
+ <element xmi:type="uml:Class" href="right.uml#_1K5XwM7cEeSqqOMGqhj_Zg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_1K6l6c7cEeSqqOMGqhj_Zg"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_1K6l6s7cEeSqqOMGqhj_Zg" type="7018">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_1K6l687cEeSqqOMGqhj_Zg"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_1K6l7M7cEeSqqOMGqhj_Zg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_1K6l7c7cEeSqqOMGqhj_Zg"/>
+ <element xmi:type="uml:Class" href="right.uml#_1K5XwM7cEeSqqOMGqhj_Zg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_1K6l7s7cEeSqqOMGqhj_Zg"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_1K6l787cEeSqqOMGqhj_Zg" type="7019">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_1K6l8M7cEeSqqOMGqhj_Zg"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_1K6l8c7cEeSqqOMGqhj_Zg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_1K6l8s7cEeSqqOMGqhj_Zg"/>
+ <element xmi:type="uml:Class" href="right.uml#_1K5XwM7cEeSqqOMGqhj_Zg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_1K6l887cEeSqqOMGqhj_Zg"/>
+ </children>
+ <element xmi:type="uml:Class" href="right.uml#_1K5XwM7cEeSqqOMGqhj_Zg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_1K6l4c7cEeSqqOMGqhj_Zg" x="350" y="72"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_TX4o4M7fEeSqqOMGqhj_Zg" type="2008">
+ <children xmi:type="notation:DecorationNode" xmi:id="_TX4o4s7fEeSqqOMGqhj_Zg" type="5029">
+ <element xmi:type="uml:Class" href="right.uml#_TX3awM7fEeSqqOMGqhj_Zg"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_TX4o487fEeSqqOMGqhj_Zg" type="8510">
+ <element xmi:type="uml:Class" href="right.uml#_TX3awM7fEeSqqOMGqhj_Zg"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_TX4o5M7fEeSqqOMGqhj_Zg" y="5"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_TX4o5c7fEeSqqOMGqhj_Zg" type="7017">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_TX4o5s7fEeSqqOMGqhj_Zg"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_TX4o587fEeSqqOMGqhj_Zg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_TX4o6M7fEeSqqOMGqhj_Zg"/>
+ <element xmi:type="uml:Class" href="right.uml#_TX3awM7fEeSqqOMGqhj_Zg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_TX4o6c7fEeSqqOMGqhj_Zg"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_TX4o6s7fEeSqqOMGqhj_Zg" type="7018">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_TX4o687fEeSqqOMGqhj_Zg"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_TX4o7M7fEeSqqOMGqhj_Zg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_TX4o7c7fEeSqqOMGqhj_Zg"/>
+ <element xmi:type="uml:Class" href="right.uml#_TX3awM7fEeSqqOMGqhj_Zg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_TX4o7s7fEeSqqOMGqhj_Zg"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_TX4o787fEeSqqOMGqhj_Zg" type="7019">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_TX4o8M7fEeSqqOMGqhj_Zg"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_TX4o8c7fEeSqqOMGqhj_Zg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_TX4o8s7fEeSqqOMGqhj_Zg"/>
+ <element xmi:type="uml:Class" href="right.uml#_TX3awM7fEeSqqOMGqhj_Zg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_TX4o887fEeSqqOMGqhj_Zg"/>
+ </children>
+ <element xmi:type="uml:Class" href="right.uml#_TX3awM7fEeSqqOMGqhj_Zg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_TX4o4c7fEeSqqOMGqhj_Zg" x="349" y="243"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_CkYvcM_wEeS6X8bMfB-bzg" type="2008">
+ <children xmi:type="notation:DecorationNode" xmi:id="_CkakoM_wEeS6X8bMfB-bzg" type="5029">
+ <element xmi:type="uml:Class" href="right.uml#_Cha7AM_wEeS6X8bMfB-bzg"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_Ckakoc_wEeS6X8bMfB-bzg" type="8510">
+ <element xmi:type="uml:Class" href="right.uml#_Cha7AM_wEeS6X8bMfB-bzg"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_Ckakos_wEeS6X8bMfB-bzg" y="5"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_CkbLsM_wEeS6X8bMfB-bzg" type="7017">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_CkbLsc_wEeS6X8bMfB-bzg"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_CkbLss_wEeS6X8bMfB-bzg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_CkbLs8_wEeS6X8bMfB-bzg"/>
+ <element xmi:type="uml:Class" href="right.uml#_Cha7AM_wEeS6X8bMfB-bzg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_CkbLtM_wEeS6X8bMfB-bzg"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_CkbLtc_wEeS6X8bMfB-bzg" type="7018">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_CkbLts_wEeS6X8bMfB-bzg"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_CkbLt8_wEeS6X8bMfB-bzg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_CkbLuM_wEeS6X8bMfB-bzg"/>
+ <element xmi:type="uml:Class" href="right.uml#_Cha7AM_wEeS6X8bMfB-bzg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_CkbLuc_wEeS6X8bMfB-bzg"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_CkbLus_wEeS6X8bMfB-bzg" type="7019">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_CkbLu8_wEeS6X8bMfB-bzg"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_CkbLvM_wEeS6X8bMfB-bzg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_CkbLvc_wEeS6X8bMfB-bzg"/>
+ <element xmi:type="uml:Class" href="right.uml#_Cha7AM_wEeS6X8bMfB-bzg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_CkbLvs_wEeS6X8bMfB-bzg"/>
+ </children>
+ <element xmi:type="uml:Class" href="right.uml#_Cha7AM_wEeS6X8bMfB-bzg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_CkYvcc_wEeS6X8bMfB-bzg" x="83" y="249"/>
+ </children>
+ <styles xmi:type="notation:StringValueStyle" xmi:id="_zmK1oc7cEeSqqOMGqhj_Zg" name="diagram_compatibility_version" stringValue="1.0.0"/>
+ <styles xmi:type="notation:DiagramStyle" xmi:id="_zmK1os7cEeSqqOMGqhj_Zg"/>
+ <styles xmi:type="style:PapyrusViewStyle" xmi:id="_zmK1o87cEeSqqOMGqhj_Zg">
+ <owner xmi:type="uml:Model" href="right.uml#_soPaMM7cEeSqqOMGqhj_Zg"/>
+ </styles>
+ <element xmi:type="uml:Model" href="right.uml#_soPaMM7cEeSqqOMGqhj_Zg"/>
+ <edges xmi:type="notation:Connector" xmi:id="_38pGoM7cEeSqqOMGqhj_Zg" type="4001" source="_0noSoM7cEeSqqOMGqhj_Zg" target="_CkYvcM_wEeS6X8bMfB-bzg">
+ <children xmi:type="notation:DecorationNode" xmi:id="_38pGo87cEeSqqOMGqhj_Zg" type="6001">
+ <element xmi:type="uml:Association" href="right.uml#_38mDUM7cEeSqqOMGqhj_Zg"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_38pGpM7cEeSqqOMGqhj_Zg" y="-20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_38pGpc7cEeSqqOMGqhj_Zg" type="6002">
+ <element xmi:type="uml:Association" href="right.uml#_38mDUM7cEeSqqOMGqhj_Zg"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_38pGps7cEeSqqOMGqhj_Zg" y="20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_38pGp87cEeSqqOMGqhj_Zg" type="6003">
+ <element xmi:type="uml:Association" href="right.uml#_38mDUM7cEeSqqOMGqhj_Zg"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_38pGqM7cEeSqqOMGqhj_Zg" y="-20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_38ptsM7cEeSqqOMGqhj_Zg" type="6005">
+ <element xmi:type="uml:Association" href="right.uml#_38mDUM7cEeSqqOMGqhj_Zg"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_38ptsc7cEeSqqOMGqhj_Zg" x="-14" y="31"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_38ptss7cEeSqqOMGqhj_Zg" type="6033">
+ <element xmi:type="uml:Association" href="right.uml#_38mDUM7cEeSqqOMGqhj_Zg"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_38pts87cEeSqqOMGqhj_Zg" y="20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_38pttM7cEeSqqOMGqhj_Zg" type="6034">
+ <element xmi:type="uml:Association" href="right.uml#_38mDUM7cEeSqqOMGqhj_Zg"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_38pttc7cEeSqqOMGqhj_Zg" y="-20"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_38pGoc7cEeSqqOMGqhj_Zg"/>
+ <element xmi:type="uml:Association" href="right.uml#_38mDUM7cEeSqqOMGqhj_Zg"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_38pGos7cEeSqqOMGqhj_Zg" points="[50, -8, -219, -6]$[219, -8, -50, -6]"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_Wp4vkNLZEeSzBO7rhIZWOw" type="4001" source="_CkYvcM_wEeS6X8bMfB-bzg" target="_1K6l4M7cEeSqqOMGqhj_Zg">
+ <children xmi:type="notation:DecorationNode" xmi:id="_Wp5WoNLZEeSzBO7rhIZWOw" type="6001">
+ <element xmi:type="uml:Association" href="right.uml#_WpmbsNLZEeSzBO7rhIZWOw"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_Wp5WodLZEeSzBO7rhIZWOw" y="-20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_Wp5WotLZEeSzBO7rhIZWOw" type="6002">
+ <element xmi:type="uml:Association" href="right.uml#_WpmbsNLZEeSzBO7rhIZWOw"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_Wp5Wo9LZEeSzBO7rhIZWOw" y="20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_Wp5WpNLZEeSzBO7rhIZWOw" type="6003">
+ <element xmi:type="uml:Association" href="right.uml#_WpmbsNLZEeSzBO7rhIZWOw"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_Wp5WpdLZEeSzBO7rhIZWOw" y="-20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_Wp59sNLZEeSzBO7rhIZWOw" type="6005">
+ <element xmi:type="uml:Association" href="right.uml#_WpmbsNLZEeSzBO7rhIZWOw"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_Wp59sdLZEeSzBO7rhIZWOw" y="20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_Wp59stLZEeSzBO7rhIZWOw" type="6033">
+ <element xmi:type="uml:Association" href="right.uml#_WpmbsNLZEeSzBO7rhIZWOw"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_Wp59s9LZEeSzBO7rhIZWOw" y="20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_Wp59tNLZEeSzBO7rhIZWOw" type="6034">
+ <element xmi:type="uml:Association" href="right.uml#_WpmbsNLZEeSzBO7rhIZWOw"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_Wp59tdLZEeSzBO7rhIZWOw" y="-20"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_Wp4vkdLZEeSzBO7rhIZWOw"/>
+ <element xmi:type="uml:Association" href="right.uml#_WpmbsNLZEeSzBO7rhIZWOw"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Wp4vktLZEeSzBO7rhIZWOw" points="[50, -3, -216, 3]$[269, -56, 3, -50]"/>
+ </edges>
+ </notation:Diagram>
+ <css:ModelStyleSheets xmi:id="_SsK80NLZEeSzBO7rhIZWOw"/>
+</xmi:XMI>
diff --git a/plugins/org.eclipse.emf.compare.diagram.papyrus.tests/src/org/eclipse/emf/compare/diagram/papyrus/tests/merge/data/assocs/conflict/c1/right.uml b/plugins/org.eclipse.emf.compare.diagram.papyrus.tests/src/org/eclipse/emf/compare/diagram/papyrus/tests/merge/data/assocs/conflict/c1/right.uml new file mode 100644 index 000000000..02cbc56d2 --- /dev/null +++ b/plugins/org.eclipse.emf.compare.diagram.papyrus.tests/src/org/eclipse/emf/compare/diagram/papyrus/tests/merge/data/assocs/conflict/c1/right.uml @@ -0,0 +1,30 @@ +<?xml version="1.0" encoding="UTF-8"?>
+<uml:Model xmi:version="20131001" xmlns:xmi="http://www.omg.org/spec/XMI/20131001" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xmi:id="_soPaMM7cEeSqqOMGqhj_Zg" name="model">
+ <packagedElement xmi:type="uml:Class" xmi:id="_0nM00M7cEeSqqOMGqhj_Zg" name="Class1"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_1K5XwM7cEeSqqOMGqhj_Zg" name="Class2"/>
+ <packagedElement xmi:type="uml:Association" xmi:id="_38mDUM7cEeSqqOMGqhj_Zg" memberEnd="_38mDUc7cEeSqqOMGqhj_Zg _38lcQM7cEeSqqOMGqhj_Zg">
+ <name xsi:nil="true"/>
+ <ownedEnd xmi:type="uml:Property" xmi:id="_38mDUc7cEeSqqOMGqhj_Zg" name="class1" type="_0nM00M7cEeSqqOMGqhj_Zg" association="_38mDUM7cEeSqqOMGqhj_Zg">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_38mDUs7cEeSqqOMGqhj_Zg" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_38mDU87cEeSqqOMGqhj_Zg" value="1"/>
+ </ownedEnd>
+ <ownedEnd xmi:type="uml:Property" xmi:id="_38lcQM7cEeSqqOMGqhj_Zg" name="someRole" type="_Cha7AM_wEeS6X8bMfB-bzg" association="_38mDUM7cEeSqqOMGqhj_Zg">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_38lcQc7cEeSqqOMGqhj_Zg" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_38lcQs7cEeSqqOMGqhj_Zg" value="1"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Class" xmi:id="_TX3awM7fEeSqqOMGqhj_Zg" name="Class3"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_Cha7AM_wEeS6X8bMfB-bzg" name="Class4">
+ <ownedAttribute xmi:type="uml:Property" xmi:id="_Wpl0oNLZEeSzBO7rhIZWOw" name="otherRole" type="_1K5XwM7cEeSqqOMGqhj_Zg" association="_WpmbsNLZEeSzBO7rhIZWOw">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_Wpl0odLZEeSzBO7rhIZWOw" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_Wpl0otLZEeSzBO7rhIZWOw" value="1"/>
+ </ownedAttribute>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="_WpmbsNLZEeSzBO7rhIZWOw" memberEnd="_WpmbsdLZEeSzBO7rhIZWOw _Wpl0oNLZEeSzBO7rhIZWOw">
+ <name xsi:nil="true"/>
+ <ownedEnd xmi:type="uml:Property" xmi:id="_WpmbsdLZEeSzBO7rhIZWOw" name="class4" type="_Cha7AM_wEeS6X8bMfB-bzg" association="_WpmbsNLZEeSzBO7rhIZWOw">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_WpmbstLZEeSzBO7rhIZWOw" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_Wpmbs9LZEeSzBO7rhIZWOw" value="1"/>
+ </ownedEnd>
+ </packagedElement>
+</uml:Model>
diff --git a/plugins/org.eclipse.emf.compare.diagram.papyrus.tests/src/org/eclipse/emf/compare/diagram/papyrus/tests/merge/data/assocs/conflict/t1/ancestor.di b/plugins/org.eclipse.emf.compare.diagram.papyrus.tests/src/org/eclipse/emf/compare/diagram/papyrus/tests/merge/data/assocs/conflict/t1/ancestor.di new file mode 100644 index 000000000..8634d4c00 --- /dev/null +++ b/plugins/org.eclipse.emf.compare.diagram.papyrus.tests/src/org/eclipse/emf/compare/diagram/papyrus/tests/merge/data/assocs/conflict/t1/ancestor.di @@ -0,0 +1,2 @@ +<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI"/>
diff --git a/plugins/org.eclipse.emf.compare.diagram.papyrus.tests/src/org/eclipse/emf/compare/diagram/papyrus/tests/merge/data/assocs/conflict/t1/ancestor.notation b/plugins/org.eclipse.emf.compare.diagram.papyrus.tests/src/org/eclipse/emf/compare/diagram/papyrus/tests/merge/data/assocs/conflict/t1/ancestor.notation new file mode 100644 index 000000000..80cd661bb --- /dev/null +++ b/plugins/org.eclipse.emf.compare.diagram.papyrus.tests/src/org/eclipse/emf/compare/diagram/papyrus/tests/merge/data/assocs/conflict/t1/ancestor.notation @@ -0,0 +1,87 @@ +<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:css="http://www.eclipse.org/papyrus/infra/gmfdiag/css" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:notation="http://www.eclipse.org/gmf/runtime/1.0.2/notation" xmlns:style="http://www.eclipse.org/papyrus/infra/viewpoints/policy/style" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML">
+ <notation:Diagram xmi:id="_qC9nsLwdEeSIRf-5f0gG0g" type="PapyrusUMLStateMachineDiagram" name="NewDiagram" measurementUnit="Pixel">
+ <children xmi:type="notation:Shape" xmi:id="_qC9nsbwdEeSIRf-5f0gG0g" type="2000">
+ <children xmi:type="notation:DecorationNode" xmi:id="_qC9nsrwdEeSIRf-5f0gG0g" type="2001">
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_qC9ns7wdEeSIRf-5f0gG0g" width="700" height="30"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_qC9ntLwdEeSIRf-5f0gG0g" type="2002">
+ <children xmi:type="notation:Shape" xmi:id="_qC9ntbwdEeSIRf-5f0gG0g" type="3000">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_qC9ntrwdEeSIRf-5f0gG0g" source="RegionAnnotationKey">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_qC9nt7wdEeSIRf-5f0gG0g" key="RegionZoneKey" value=""/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="_qC9nuLwdEeSIRf-5f0gG0g" type="3002">
+ <children xmi:type="notation:Shape" xmi:id="_zf4R0MjFEeSlR5E9fXQsvA" type="6000">
+ <children xmi:type="notation:DecorationNode" xmi:id="_zf5f8MjFEeSlR5E9fXQsvA" type="6001">
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_1aMCYMjFEeSlR5E9fXQsvA" width="203"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_zf5f8cjFEeSlR5E9fXQsvA" type="6002">
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_zf5f8sjFEeSlR5E9fXQsvA" y="-1" width="203"/>
+ </children>
+ <element xmi:type="uml:State" href="ancestor.uml#_zfvH4MjFEeSlR5E9fXQsvA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_zf4R0cjFEeSlR5E9fXQsvA" x="112" y="66" width="203" height="69"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_1w1AwMjFEeSlR5E9fXQsvA" type="6000">
+ <children xmi:type="notation:DecorationNode" xmi:id="_1w1n0MjFEeSlR5E9fXQsvA" type="6001">
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_2GKXkMjFEeSlR5E9fXQsvA" width="169"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_1w1n0cjFEeSlR5E9fXQsvA" type="6002">
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_1w1n0sjFEeSlR5E9fXQsvA" y="-1" width="169"/>
+ </children>
+ <element xmi:type="uml:State" href="ancestor.uml#_1wykgMjFEeSlR5E9fXQsvA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_1w1AwcjFEeSlR5E9fXQsvA" x="397" y="12" width="169" height="62"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_3noKUMjFEeSlR5E9fXQsvA" type="6000">
+ <children xmi:type="notation:DecorationNode" xmi:id="_3noKUsjFEeSlR5E9fXQsvA" type="6001"/>
+ <children xmi:type="notation:DecorationNode" xmi:id="_3noxYMjFEeSlR5E9fXQsvA" type="6002">
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_3noxYcjFEeSlR5E9fXQsvA"/>
+ </children>
+ <element xmi:type="uml:State" href="ancestor.uml#_3nluEMjFEeSlR5E9fXQsvA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_3noKUcjFEeSlR5E9fXQsvA" x="401" y="113" width="157" height="73"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_l32-YNIEEeSvO5owlqm60A" type="6000">
+ <children xmi:type="notation:DecorationNode" xmi:id="_l34MgNIEEeSvO5owlqm60A" type="6001"/>
+ <children xmi:type="notation:DecorationNode" xmi:id="_l34MgdIEEeSvO5owlqm60A" type="19003">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_l34zkNIEEeSvO5owlqm60A" x="40"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_l34zkdIEEeSvO5owlqm60A" type="6002">
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_l34zktIEEeSvO5owlqm60A"/>
+ </children>
+ <element xmi:type="uml:State" href="ancestor.uml#_l3kqgNIEEeSvO5owlqm60A"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_l32-YdIEEeSvO5owlqm60A" x="157" y="183" width="154" height="74"/>
+ </children>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_qC9nubwdEeSIRf-5f0gG0g"/>
+ </children>
+ <element xmi:type="uml:Region" href="ancestor.uml#_qC4IILwdEeSIRf-5f0gG0g"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_qC9nurwdEeSIRf-5f0gG0g" width="700" height="287"/>
+ </children>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_qC9nu7wdEeSIRf-5f0gG0g" y="30" width="700" height="287"/>
+ </children>
+ <element xmi:type="uml:StateMachine" href="ancestor.uml#_qCgUsLwdEeSIRf-5f0gG0g"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_qC9nvLwdEeSIRf-5f0gG0g" x="30" y="30" width="700" height="317"/>
+ </children>
+ <styles xmi:type="notation:StringValueStyle" xmi:id="_qC9nvbwdEeSIRf-5f0gG0g" name="diagram_compatibility_version" stringValue="1.0.0"/>
+ <styles xmi:type="notation:DiagramStyle" xmi:id="_qC9nvrwdEeSIRf-5f0gG0g"/>
+ <styles xmi:type="style:PapyrusViewStyle" xmi:id="_qC9nv7wdEeSIRf-5f0gG0g">
+ <owner xmi:type="uml:Model" href="ancestor.uml#_qBqAILwdEeSIRf-5f0gG0g"/>
+ </styles>
+ <element xmi:type="uml:StateMachine" href="ancestor.uml#_qCgUsLwdEeSIRf-5f0gG0g"/>
+ <edges xmi:type="notation:Connector" xmi:id="_4tqlUMjFEeSlR5E9fXQsvA" type="7000" source="_zf4R0MjFEeSlR5E9fXQsvA" target="_1w1AwMjFEeSlR5E9fXQsvA">
+ <children xmi:type="notation:DecorationNode" xmi:id="_4trMYMjFEeSlR5E9fXQsvA" type="7001">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_4trzcMjFEeSlR5E9fXQsvA"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_4trzccjFEeSlR5E9fXQsvA" type="7002">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_4trzcsjFEeSlR5E9fXQsvA"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_4trzc8jFEeSlR5E9fXQsvA" type="7003">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_4trzdMjFEeSlR5E9fXQsvA" y="60"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_4tqlUcjFEeSlR5E9fXQsvA"/>
+ <element xmi:type="uml:Transition" href="ancestor.uml#_4rv5wMjFEeSlR5E9fXQsvA"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_4tqlUsjFEeSlR5E9fXQsvA" points="[8, -3, -98, 33]$[90, -33, -16, 3]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_4uHRQMjFEeSlR5E9fXQsvA" id="(0.9605911330049262,0.43478260869565216)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_4uHRQcjFEeSlR5E9fXQsvA" id="(0.09467455621301775,0.7741935483870968)"/>
+ </edges>
+ </notation:Diagram>
+ <css:ModelStyleSheets xmi:id="_ksNDkNIEEeSvO5owlqm60A"/>
+</xmi:XMI>
diff --git a/plugins/org.eclipse.emf.compare.diagram.papyrus.tests/src/org/eclipse/emf/compare/diagram/papyrus/tests/merge/data/assocs/conflict/t1/ancestor.uml b/plugins/org.eclipse.emf.compare.diagram.papyrus.tests/src/org/eclipse/emf/compare/diagram/papyrus/tests/merge/data/assocs/conflict/t1/ancestor.uml new file mode 100644 index 000000000..acfbf9374 --- /dev/null +++ b/plugins/org.eclipse.emf.compare.diagram.papyrus.tests/src/org/eclipse/emf/compare/diagram/papyrus/tests/merge/data/assocs/conflict/t1/ancestor.uml @@ -0,0 +1,12 @@ +<?xml version="1.0" encoding="UTF-8"?>
+<uml:Model xmi:version="20131001" xmlns:xmi="http://www.omg.org/spec/XMI/20131001" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xmi:id="_qBqAILwdEeSIRf-5f0gG0g" name="model">
+ <packagedElement xmi:type="uml:StateMachine" xmi:id="_qCgUsLwdEeSIRf-5f0gG0g" name="StateMachine1">
+ <region xmi:type="uml:Region" xmi:id="_qC4IILwdEeSIRf-5f0gG0g" name="Region1">
+ <transition xmi:type="uml:Transition" xmi:id="_4rv5wMjFEeSlR5E9fXQsvA" source="_zfvH4MjFEeSlR5E9fXQsvA" target="_1wykgMjFEeSlR5E9fXQsvA"/>
+ <subvertex xmi:type="uml:State" xmi:id="_zfvH4MjFEeSlR5E9fXQsvA" name="State1"/>
+ <subvertex xmi:type="uml:State" xmi:id="_1wykgMjFEeSlR5E9fXQsvA" name="State2"/>
+ <subvertex xmi:type="uml:State" xmi:id="_3nluEMjFEeSlR5E9fXQsvA" name="State3"/>
+ <subvertex xmi:type="uml:State" xmi:id="_l3kqgNIEEeSvO5owlqm60A" name="State4"/>
+ </region>
+ </packagedElement>
+</uml:Model>
diff --git a/plugins/org.eclipse.emf.compare.diagram.papyrus.tests/src/org/eclipse/emf/compare/diagram/papyrus/tests/merge/data/assocs/conflict/t1/left.di b/plugins/org.eclipse.emf.compare.diagram.papyrus.tests/src/org/eclipse/emf/compare/diagram/papyrus/tests/merge/data/assocs/conflict/t1/left.di new file mode 100644 index 000000000..8634d4c00 --- /dev/null +++ b/plugins/org.eclipse.emf.compare.diagram.papyrus.tests/src/org/eclipse/emf/compare/diagram/papyrus/tests/merge/data/assocs/conflict/t1/left.di @@ -0,0 +1,2 @@ +<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI"/>
diff --git a/plugins/org.eclipse.emf.compare.diagram.papyrus.tests/src/org/eclipse/emf/compare/diagram/papyrus/tests/merge/data/assocs/conflict/t1/left.notation b/plugins/org.eclipse.emf.compare.diagram.papyrus.tests/src/org/eclipse/emf/compare/diagram/papyrus/tests/merge/data/assocs/conflict/t1/left.notation new file mode 100644 index 000000000..c4cef80f3 --- /dev/null +++ b/plugins/org.eclipse.emf.compare.diagram.papyrus.tests/src/org/eclipse/emf/compare/diagram/papyrus/tests/merge/data/assocs/conflict/t1/left.notation @@ -0,0 +1,103 @@ +<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:css="http://www.eclipse.org/papyrus/infra/gmfdiag/css" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:notation="http://www.eclipse.org/gmf/runtime/1.0.2/notation" xmlns:style="http://www.eclipse.org/papyrus/infra/viewpoints/policy/style" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML">
+ <notation:Diagram xmi:id="_qC9nsLwdEeSIRf-5f0gG0g" type="PapyrusUMLStateMachineDiagram" name="NewDiagram" measurementUnit="Pixel">
+ <children xmi:type="notation:Shape" xmi:id="_qC9nsbwdEeSIRf-5f0gG0g" type="2000">
+ <children xmi:type="notation:DecorationNode" xmi:id="_qC9nsrwdEeSIRf-5f0gG0g" type="2001">
+ <element xmi:type="uml:StateMachine" href="left.uml#_qCgUsLwdEeSIRf-5f0gG0g"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_qC9ns7wdEeSIRf-5f0gG0g" width="700" height="30"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_qC9ntLwdEeSIRf-5f0gG0g" type="2002">
+ <children xmi:type="notation:Shape" xmi:id="_qC9ntbwdEeSIRf-5f0gG0g" type="3000">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_qC9ntrwdEeSIRf-5f0gG0g" source="RegionAnnotationKey">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_qC9nt7wdEeSIRf-5f0gG0g" key="RegionZoneKey" value=""/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="_qC9nuLwdEeSIRf-5f0gG0g" type="3002">
+ <children xmi:type="notation:Shape" xmi:id="_zf4R0MjFEeSlR5E9fXQsvA" type="6000">
+ <children xmi:type="notation:DecorationNode" xmi:id="_zf5f8MjFEeSlR5E9fXQsvA" type="6001">
+ <element xmi:type="uml:State" href="left.uml#_zfvH4MjFEeSlR5E9fXQsvA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_1aMCYMjFEeSlR5E9fXQsvA" width="203"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_zf5f8cjFEeSlR5E9fXQsvA" type="6002">
+ <element xmi:type="uml:State" href="left.uml#_zfvH4MjFEeSlR5E9fXQsvA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_zf5f8sjFEeSlR5E9fXQsvA" y="-1" width="203"/>
+ </children>
+ <element xmi:type="uml:State" href="left.uml#_zfvH4MjFEeSlR5E9fXQsvA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_zf4R0cjFEeSlR5E9fXQsvA" x="112" y="66" width="203" height="69"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_1w1AwMjFEeSlR5E9fXQsvA" type="6000">
+ <children xmi:type="notation:DecorationNode" xmi:id="_1w1n0MjFEeSlR5E9fXQsvA" type="6001">
+ <element xmi:type="uml:State" href="left.uml#_1wykgMjFEeSlR5E9fXQsvA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_2GKXkMjFEeSlR5E9fXQsvA" width="169"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_1w1n0cjFEeSlR5E9fXQsvA" type="6002">
+ <element xmi:type="uml:State" href="left.uml#_1wykgMjFEeSlR5E9fXQsvA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_1w1n0sjFEeSlR5E9fXQsvA" y="-1" width="169"/>
+ </children>
+ <element xmi:type="uml:State" href="left.uml#_1wykgMjFEeSlR5E9fXQsvA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_1w1AwcjFEeSlR5E9fXQsvA" x="397" y="12" width="169" height="62"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_3noKUMjFEeSlR5E9fXQsvA" type="6000">
+ <children xmi:type="notation:DecorationNode" xmi:id="_3noKUsjFEeSlR5E9fXQsvA" type="6001">
+ <element xmi:type="uml:State" href="left.uml#_3nluEMjFEeSlR5E9fXQsvA"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_3noxYMjFEeSlR5E9fXQsvA" type="6002">
+ <element xmi:type="uml:State" href="left.uml#_3nluEMjFEeSlR5E9fXQsvA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_3noxYcjFEeSlR5E9fXQsvA"/>
+ </children>
+ <element xmi:type="uml:State" href="left.uml#_3nluEMjFEeSlR5E9fXQsvA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_3noKUcjFEeSlR5E9fXQsvA" x="401" y="113" width="157" height="73"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_l32-YNIEEeSvO5owlqm60A" type="6000">
+ <children xmi:type="notation:DecorationNode" xmi:id="_l34MgNIEEeSvO5owlqm60A" type="6001">
+ <element xmi:type="uml:State" href="left.uml#_l3kqgNIEEeSvO5owlqm60A"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_l34MgdIEEeSvO5owlqm60A" type="19003">
+ <element xmi:type="uml:State" href="left.uml#_l3kqgNIEEeSvO5owlqm60A"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_l34zkNIEEeSvO5owlqm60A" x="40"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_l34zkdIEEeSvO5owlqm60A" type="6002">
+ <element xmi:type="uml:State" href="left.uml#_l3kqgNIEEeSvO5owlqm60A"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_l34zktIEEeSvO5owlqm60A"/>
+ </children>
+ <element xmi:type="uml:State" href="left.uml#_l3kqgNIEEeSvO5owlqm60A"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_l32-YdIEEeSvO5owlqm60A" x="157" y="183" width="154" height="74"/>
+ </children>
+ <element xmi:type="uml:Region" href="left.uml#_qC4IILwdEeSIRf-5f0gG0g"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_qC9nubwdEeSIRf-5f0gG0g"/>
+ </children>
+ <element xmi:type="uml:Region" href="left.uml#_qC4IILwdEeSIRf-5f0gG0g"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_qC9nurwdEeSIRf-5f0gG0g" width="700" height="287"/>
+ </children>
+ <element xmi:type="uml:StateMachine" href="left.uml#_qCgUsLwdEeSIRf-5f0gG0g"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_qC9nu7wdEeSIRf-5f0gG0g" y="30" width="700" height="287"/>
+ </children>
+ <element xmi:type="uml:StateMachine" href="left.uml#_qCgUsLwdEeSIRf-5f0gG0g"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_qC9nvLwdEeSIRf-5f0gG0g" x="30" y="30" width="700" height="317"/>
+ </children>
+ <styles xmi:type="notation:StringValueStyle" xmi:id="_qC9nvbwdEeSIRf-5f0gG0g" name="diagram_compatibility_version" stringValue="1.0.0"/>
+ <styles xmi:type="notation:DiagramStyle" xmi:id="_qC9nvrwdEeSIRf-5f0gG0g"/>
+ <styles xmi:type="style:PapyrusViewStyle" xmi:id="_qC9nv7wdEeSIRf-5f0gG0g">
+ <owner xmi:type="uml:Model" href="left.uml#_qBqAILwdEeSIRf-5f0gG0g"/>
+ </styles>
+ <element xmi:type="uml:StateMachine" href="left.uml#_qCgUsLwdEeSIRf-5f0gG0g"/>
+ <edges xmi:type="notation:Connector" xmi:id="_4tqlUMjFEeSlR5E9fXQsvA" type="7000" source="_zf4R0MjFEeSlR5E9fXQsvA" target="_3noKUMjFEeSlR5E9fXQsvA">
+ <children xmi:type="notation:DecorationNode" xmi:id="_4trMYMjFEeSlR5E9fXQsvA" type="7001">
+ <element xmi:type="uml:Transition" href="left.uml#_4rv5wMjFEeSlR5E9fXQsvA"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_4trzcMjFEeSlR5E9fXQsvA"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_4trzccjFEeSlR5E9fXQsvA" type="7002">
+ <element xmi:type="uml:Transition" href="left.uml#_4rv5wMjFEeSlR5E9fXQsvA"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_4trzcsjFEeSlR5E9fXQsvA"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_4trzc8jFEeSlR5E9fXQsvA" type="7003">
+ <element xmi:type="uml:Transition" href="left.uml#_4rv5wMjFEeSlR5E9fXQsvA"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_4trzdMjFEeSlR5E9fXQsvA" y="60"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_4tqlUcjFEeSlR5E9fXQsvA"/>
+ <element xmi:type="uml:Transition" href="left.uml#_4rv5wMjFEeSlR5E9fXQsvA"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_4tqlUsjFEeSlR5E9fXQsvA" points="[8, -3, -98, 33]$[90, -33, -16, 3]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_4uHRQMjFEeSlR5E9fXQsvA" id="(0.9605911330049262,0.43478260869565216)"/>
+ </edges>
+ </notation:Diagram>
+ <css:ModelStyleSheets xmi:id="_ksNDkNIEEeSvO5owlqm60A"/>
+</xmi:XMI>
diff --git a/plugins/org.eclipse.emf.compare.diagram.papyrus.tests/src/org/eclipse/emf/compare/diagram/papyrus/tests/merge/data/assocs/conflict/t1/left.uml b/plugins/org.eclipse.emf.compare.diagram.papyrus.tests/src/org/eclipse/emf/compare/diagram/papyrus/tests/merge/data/assocs/conflict/t1/left.uml new file mode 100644 index 000000000..ff0ee7300 --- /dev/null +++ b/plugins/org.eclipse.emf.compare.diagram.papyrus.tests/src/org/eclipse/emf/compare/diagram/papyrus/tests/merge/data/assocs/conflict/t1/left.uml @@ -0,0 +1,12 @@ +<?xml version="1.0" encoding="UTF-8"?>
+<uml:Model xmi:version="20131001" xmlns:xmi="http://www.omg.org/spec/XMI/20131001" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xmi:id="_qBqAILwdEeSIRf-5f0gG0g" name="model">
+ <packagedElement xmi:type="uml:StateMachine" xmi:id="_qCgUsLwdEeSIRf-5f0gG0g" name="StateMachine1">
+ <region xmi:type="uml:Region" xmi:id="_qC4IILwdEeSIRf-5f0gG0g" name="Region1">
+ <transition xmi:type="uml:Transition" xmi:id="_4rv5wMjFEeSlR5E9fXQsvA" source="_zfvH4MjFEeSlR5E9fXQsvA" target="_3nluEMjFEeSlR5E9fXQsvA"/>
+ <subvertex xmi:type="uml:State" xmi:id="_zfvH4MjFEeSlR5E9fXQsvA" name="State1"/>
+ <subvertex xmi:type="uml:State" xmi:id="_1wykgMjFEeSlR5E9fXQsvA" name="State2"/>
+ <subvertex xmi:type="uml:State" xmi:id="_3nluEMjFEeSlR5E9fXQsvA" name="State3"/>
+ <subvertex xmi:type="uml:State" xmi:id="_l3kqgNIEEeSvO5owlqm60A" name="State4"/>
+ </region>
+ </packagedElement>
+</uml:Model>
diff --git a/plugins/org.eclipse.emf.compare.diagram.papyrus.tests/src/org/eclipse/emf/compare/diagram/papyrus/tests/merge/data/assocs/conflict/t1/package-info.java b/plugins/org.eclipse.emf.compare.diagram.papyrus.tests/src/org/eclipse/emf/compare/diagram/papyrus/tests/merge/data/assocs/conflict/t1/package-info.java new file mode 100644 index 000000000..b18bf94b0 --- /dev/null +++ b/plugins/org.eclipse.emf.compare.diagram.papyrus.tests/src/org/eclipse/emf/compare/diagram/papyrus/tests/merge/data/assocs/conflict/t1/package-info.java @@ -0,0 +1,18 @@ +/******************************************************************************* + * Copyright (c) 2015 Obeo. + * 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: + * Obeo - initial API and implementation + *******************************************************************************/ + +/** + * This package contains test data for the case of a conflict + * on an existing transition whose target is change din 2 branches. + * + * @author <a href="mailto:laurent.delaigue@obeo.fr">Laurent Delaigue</a> + */ +package org.eclipse.emf.compare.diagram.papyrus.tests.merge.data.assocs.conflict.t1;
\ No newline at end of file diff --git a/plugins/org.eclipse.emf.compare.diagram.papyrus.tests/src/org/eclipse/emf/compare/diagram/papyrus/tests/merge/data/assocs/conflict/t1/right.di b/plugins/org.eclipse.emf.compare.diagram.papyrus.tests/src/org/eclipse/emf/compare/diagram/papyrus/tests/merge/data/assocs/conflict/t1/right.di new file mode 100644 index 000000000..8634d4c00 --- /dev/null +++ b/plugins/org.eclipse.emf.compare.diagram.papyrus.tests/src/org/eclipse/emf/compare/diagram/papyrus/tests/merge/data/assocs/conflict/t1/right.di @@ -0,0 +1,2 @@ +<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI"/>
diff --git a/plugins/org.eclipse.emf.compare.diagram.papyrus.tests/src/org/eclipse/emf/compare/diagram/papyrus/tests/merge/data/assocs/conflict/t1/right.notation b/plugins/org.eclipse.emf.compare.diagram.papyrus.tests/src/org/eclipse/emf/compare/diagram/papyrus/tests/merge/data/assocs/conflict/t1/right.notation new file mode 100644 index 000000000..65c973780 --- /dev/null +++ b/plugins/org.eclipse.emf.compare.diagram.papyrus.tests/src/org/eclipse/emf/compare/diagram/papyrus/tests/merge/data/assocs/conflict/t1/right.notation @@ -0,0 +1,103 @@ +<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:css="http://www.eclipse.org/papyrus/infra/gmfdiag/css" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:notation="http://www.eclipse.org/gmf/runtime/1.0.2/notation" xmlns:style="http://www.eclipse.org/papyrus/infra/viewpoints/policy/style" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML">
+ <notation:Diagram xmi:id="_qC9nsLwdEeSIRf-5f0gG0g" type="PapyrusUMLStateMachineDiagram" name="NewDiagram" measurementUnit="Pixel">
+ <children xmi:type="notation:Shape" xmi:id="_qC9nsbwdEeSIRf-5f0gG0g" type="2000">
+ <children xmi:type="notation:DecorationNode" xmi:id="_qC9nsrwdEeSIRf-5f0gG0g" type="2001">
+ <element xmi:type="uml:StateMachine" href="right.uml#_qCgUsLwdEeSIRf-5f0gG0g"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_qC9ns7wdEeSIRf-5f0gG0g" width="700" height="30"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_qC9ntLwdEeSIRf-5f0gG0g" type="2002">
+ <children xmi:type="notation:Shape" xmi:id="_qC9ntbwdEeSIRf-5f0gG0g" type="3000">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_qC9ntrwdEeSIRf-5f0gG0g" source="RegionAnnotationKey">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_qC9nt7wdEeSIRf-5f0gG0g" key="RegionZoneKey" value=""/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="_qC9nuLwdEeSIRf-5f0gG0g" type="3002">
+ <children xmi:type="notation:Shape" xmi:id="_zf4R0MjFEeSlR5E9fXQsvA" type="6000">
+ <children xmi:type="notation:DecorationNode" xmi:id="_zf5f8MjFEeSlR5E9fXQsvA" type="6001">
+ <element xmi:type="uml:State" href="right.uml#_zfvH4MjFEeSlR5E9fXQsvA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_1aMCYMjFEeSlR5E9fXQsvA" width="203"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_zf5f8cjFEeSlR5E9fXQsvA" type="6002">
+ <element xmi:type="uml:State" href="right.uml#_zfvH4MjFEeSlR5E9fXQsvA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_zf5f8sjFEeSlR5E9fXQsvA" y="-1" width="203"/>
+ </children>
+ <element xmi:type="uml:State" href="right.uml#_zfvH4MjFEeSlR5E9fXQsvA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_zf4R0cjFEeSlR5E9fXQsvA" x="112" y="66" width="203" height="69"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_1w1AwMjFEeSlR5E9fXQsvA" type="6000">
+ <children xmi:type="notation:DecorationNode" xmi:id="_1w1n0MjFEeSlR5E9fXQsvA" type="6001">
+ <element xmi:type="uml:State" href="right.uml#_1wykgMjFEeSlR5E9fXQsvA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_2GKXkMjFEeSlR5E9fXQsvA" width="169"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_1w1n0cjFEeSlR5E9fXQsvA" type="6002">
+ <element xmi:type="uml:State" href="right.uml#_1wykgMjFEeSlR5E9fXQsvA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_1w1n0sjFEeSlR5E9fXQsvA" y="-1" width="169"/>
+ </children>
+ <element xmi:type="uml:State" href="right.uml#_1wykgMjFEeSlR5E9fXQsvA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_1w1AwcjFEeSlR5E9fXQsvA" x="397" y="12" width="169" height="62"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_3noKUMjFEeSlR5E9fXQsvA" type="6000">
+ <children xmi:type="notation:DecorationNode" xmi:id="_3noKUsjFEeSlR5E9fXQsvA" type="6001">
+ <element xmi:type="uml:State" href="right.uml#_3nluEMjFEeSlR5E9fXQsvA"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_3noxYMjFEeSlR5E9fXQsvA" type="6002">
+ <element xmi:type="uml:State" href="right.uml#_3nluEMjFEeSlR5E9fXQsvA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_3noxYcjFEeSlR5E9fXQsvA"/>
+ </children>
+ <element xmi:type="uml:State" href="right.uml#_3nluEMjFEeSlR5E9fXQsvA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_3noKUcjFEeSlR5E9fXQsvA" x="401" y="113" width="157" height="73"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_l32-YNIEEeSvO5owlqm60A" type="6000">
+ <children xmi:type="notation:DecorationNode" xmi:id="_l34MgNIEEeSvO5owlqm60A" type="6001">
+ <element xmi:type="uml:State" href="right.uml#_l3kqgNIEEeSvO5owlqm60A"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_l34MgdIEEeSvO5owlqm60A" type="19003">
+ <element xmi:type="uml:State" href="right.uml#_l3kqgNIEEeSvO5owlqm60A"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_l34zkNIEEeSvO5owlqm60A" x="40"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_l34zkdIEEeSvO5owlqm60A" type="6002">
+ <element xmi:type="uml:State" href="right.uml#_l3kqgNIEEeSvO5owlqm60A"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_l34zktIEEeSvO5owlqm60A"/>
+ </children>
+ <element xmi:type="uml:State" href="right.uml#_l3kqgNIEEeSvO5owlqm60A"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_l32-YdIEEeSvO5owlqm60A" x="157" y="183" width="154" height="74"/>
+ </children>
+ <element xmi:type="uml:Region" href="right.uml#_qC4IILwdEeSIRf-5f0gG0g"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_qC9nubwdEeSIRf-5f0gG0g"/>
+ </children>
+ <element xmi:type="uml:Region" href="right.uml#_qC4IILwdEeSIRf-5f0gG0g"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_qC9nurwdEeSIRf-5f0gG0g" width="700" height="287"/>
+ </children>
+ <element xmi:type="uml:StateMachine" href="right.uml#_qCgUsLwdEeSIRf-5f0gG0g"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_qC9nu7wdEeSIRf-5f0gG0g" y="30" width="700" height="287"/>
+ </children>
+ <element xmi:type="uml:StateMachine" href="right.uml#_qCgUsLwdEeSIRf-5f0gG0g"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_qC9nvLwdEeSIRf-5f0gG0g" x="30" y="30" width="700" height="317"/>
+ </children>
+ <styles xmi:type="notation:StringValueStyle" xmi:id="_qC9nvbwdEeSIRf-5f0gG0g" name="diagram_compatibility_version" stringValue="1.0.0"/>
+ <styles xmi:type="notation:DiagramStyle" xmi:id="_qC9nvrwdEeSIRf-5f0gG0g"/>
+ <styles xmi:type="style:PapyrusViewStyle" xmi:id="_qC9nv7wdEeSIRf-5f0gG0g">
+ <owner xmi:type="uml:Model" href="right.uml#_qBqAILwdEeSIRf-5f0gG0g"/>
+ </styles>
+ <element xmi:type="uml:StateMachine" href="right.uml#_qCgUsLwdEeSIRf-5f0gG0g"/>
+ <edges xmi:type="notation:Connector" xmi:id="_4tqlUMjFEeSlR5E9fXQsvA" type="7000" source="_zf4R0MjFEeSlR5E9fXQsvA" target="_l32-YNIEEeSvO5owlqm60A">
+ <children xmi:type="notation:DecorationNode" xmi:id="_4trMYMjFEeSlR5E9fXQsvA" type="7001">
+ <element xmi:type="uml:Transition" href="right.uml#_4rv5wMjFEeSlR5E9fXQsvA"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_4trzcMjFEeSlR5E9fXQsvA"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_4trzccjFEeSlR5E9fXQsvA" type="7002">
+ <element xmi:type="uml:Transition" href="right.uml#_4rv5wMjFEeSlR5E9fXQsvA"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_4trzcsjFEeSlR5E9fXQsvA"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_4trzc8jFEeSlR5E9fXQsvA" type="7003">
+ <element xmi:type="uml:Transition" href="right.uml#_4rv5wMjFEeSlR5E9fXQsvA"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_4trzdMjFEeSlR5E9fXQsvA" y="60"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_4tqlUcjFEeSlR5E9fXQsvA"/>
+ <element xmi:type="uml:Transition" href="right.uml#_4rv5wMjFEeSlR5E9fXQsvA"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_4tqlUsjFEeSlR5E9fXQsvA" points="[8, -3, -98, 33]$[90, -33, -16, 3]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_4uHRQMjFEeSlR5E9fXQsvA" id="(0.9605911330049262,0.43478260869565216)"/>
+ </edges>
+ </notation:Diagram>
+ <css:ModelStyleSheets xmi:id="_ksNDkNIEEeSvO5owlqm60A"/>
+</xmi:XMI>
diff --git a/plugins/org.eclipse.emf.compare.diagram.papyrus.tests/src/org/eclipse/emf/compare/diagram/papyrus/tests/merge/data/assocs/conflict/t1/right.uml b/plugins/org.eclipse.emf.compare.diagram.papyrus.tests/src/org/eclipse/emf/compare/diagram/papyrus/tests/merge/data/assocs/conflict/t1/right.uml new file mode 100644 index 000000000..683f60d79 --- /dev/null +++ b/plugins/org.eclipse.emf.compare.diagram.papyrus.tests/src/org/eclipse/emf/compare/diagram/papyrus/tests/merge/data/assocs/conflict/t1/right.uml @@ -0,0 +1,12 @@ +<?xml version="1.0" encoding="UTF-8"?>
+<uml:Model xmi:version="20131001" xmlns:xmi="http://www.omg.org/spec/XMI/20131001" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xmi:id="_qBqAILwdEeSIRf-5f0gG0g" name="model">
+ <packagedElement xmi:type="uml:StateMachine" xmi:id="_qCgUsLwdEeSIRf-5f0gG0g" name="StateMachine1">
+ <region xmi:type="uml:Region" xmi:id="_qC4IILwdEeSIRf-5f0gG0g" name="Region1">
+ <transition xmi:type="uml:Transition" xmi:id="_4rv5wMjFEeSlR5E9fXQsvA" source="_zfvH4MjFEeSlR5E9fXQsvA" target="_l3kqgNIEEeSvO5owlqm60A"/>
+ <subvertex xmi:type="uml:State" xmi:id="_zfvH4MjFEeSlR5E9fXQsvA" name="State1"/>
+ <subvertex xmi:type="uml:State" xmi:id="_1wykgMjFEeSlR5E9fXQsvA" name="State2"/>
+ <subvertex xmi:type="uml:State" xmi:id="_3nluEMjFEeSlR5E9fXQsvA" name="State3"/>
+ <subvertex xmi:type="uml:State" xmi:id="_l3kqgNIEEeSvO5owlqm60A" name="State4"/>
+ </region>
+ </packagedElement>
+</uml:Model>
diff --git a/plugins/org.eclipse.emf.compare.diagram.papyrus.tests/src/org/eclipse/emf/compare/diagram/papyrus/tests/merge/data/assocs/threeway/c1/ancestor.di b/plugins/org.eclipse.emf.compare.diagram.papyrus.tests/src/org/eclipse/emf/compare/diagram/papyrus/tests/merge/data/assocs/threeway/c1/ancestor.di new file mode 100644 index 000000000..8634d4c00 --- /dev/null +++ b/plugins/org.eclipse.emf.compare.diagram.papyrus.tests/src/org/eclipse/emf/compare/diagram/papyrus/tests/merge/data/assocs/threeway/c1/ancestor.di @@ -0,0 +1,2 @@ +<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI"/>
diff --git a/plugins/org.eclipse.emf.compare.diagram.papyrus.tests/src/org/eclipse/emf/compare/diagram/papyrus/tests/merge/data/assocs/threeway/c1/ancestor.notation b/plugins/org.eclipse.emf.compare.diagram.papyrus.tests/src/org/eclipse/emf/compare/diagram/papyrus/tests/merge/data/assocs/threeway/c1/ancestor.notation new file mode 100644 index 000000000..a71be0536 --- /dev/null +++ b/plugins/org.eclipse.emf.compare.diagram.papyrus.tests/src/org/eclipse/emf/compare/diagram/papyrus/tests/merge/data/assocs/threeway/c1/ancestor.notation @@ -0,0 +1,192 @@ +<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:css="http://www.eclipse.org/papyrus/infra/gmfdiag/css" xmlns:notation="http://www.eclipse.org/gmf/runtime/1.0.2/notation" xmlns:style="http://www.eclipse.org/papyrus/infra/viewpoints/policy/style" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML">
+ <notation:Diagram xmi:id="_zmK1oM7cEeSqqOMGqhj_Zg" type="PapyrusUMLClassDiagram" name="ClassDiagram" measurementUnit="Pixel">
+ <children xmi:type="notation:Shape" xmi:id="_0noSoM7cEeSqqOMGqhj_Zg" type="2008">
+ <children xmi:type="notation:DecorationNode" xmi:id="_0npgwM7cEeSqqOMGqhj_Zg" type="5029">
+ <element xmi:type="uml:Class" href="ancestor.uml#_0nM00M7cEeSqqOMGqhj_Zg"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_0nqH0M7cEeSqqOMGqhj_Zg" type="8510">
+ <element xmi:type="uml:Class" href="ancestor.uml#_0nM00M7cEeSqqOMGqhj_Zg"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_0nqH0c7cEeSqqOMGqhj_Zg" y="5"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_0nrV8M7cEeSqqOMGqhj_Zg" type="7017">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_0nrV8c7cEeSqqOMGqhj_Zg"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_0nrV8s7cEeSqqOMGqhj_Zg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_0nrV887cEeSqqOMGqhj_Zg"/>
+ <element xmi:type="uml:Class" href="ancestor.uml#_0nM00M7cEeSqqOMGqhj_Zg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0nrV9M7cEeSqqOMGqhj_Zg"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_0nrV9c7cEeSqqOMGqhj_Zg" type="7018">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_0nrV9s7cEeSqqOMGqhj_Zg"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_0nrV987cEeSqqOMGqhj_Zg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_0nrV-M7cEeSqqOMGqhj_Zg"/>
+ <element xmi:type="uml:Class" href="ancestor.uml#_0nM00M7cEeSqqOMGqhj_Zg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0nrV-c7cEeSqqOMGqhj_Zg"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_0nr9AM7cEeSqqOMGqhj_Zg" type="7019">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_0nr9Ac7cEeSqqOMGqhj_Zg"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_0nr9As7cEeSqqOMGqhj_Zg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_0nr9A87cEeSqqOMGqhj_Zg"/>
+ <element xmi:type="uml:Class" href="ancestor.uml#_0nM00M7cEeSqqOMGqhj_Zg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0nr9BM7cEeSqqOMGqhj_Zg"/>
+ </children>
+ <element xmi:type="uml:Class" href="ancestor.uml#_0nM00M7cEeSqqOMGqhj_Zg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0noSoc7cEeSqqOMGqhj_Zg" x="81" y="74"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_1K6l4M7cEeSqqOMGqhj_Zg" type="2008">
+ <children xmi:type="notation:DecorationNode" xmi:id="_1K6l4s7cEeSqqOMGqhj_Zg" type="5029">
+ <element xmi:type="uml:Class" href="ancestor.uml#_1K5XwM7cEeSqqOMGqhj_Zg"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_1K6l487cEeSqqOMGqhj_Zg" type="8510">
+ <element xmi:type="uml:Class" href="ancestor.uml#_1K5XwM7cEeSqqOMGqhj_Zg"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_1K6l5M7cEeSqqOMGqhj_Zg" y="5"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_1K6l5c7cEeSqqOMGqhj_Zg" type="7017">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_1K6l5s7cEeSqqOMGqhj_Zg"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_1K6l587cEeSqqOMGqhj_Zg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_1K6l6M7cEeSqqOMGqhj_Zg"/>
+ <element xmi:type="uml:Class" href="ancestor.uml#_1K5XwM7cEeSqqOMGqhj_Zg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_1K6l6c7cEeSqqOMGqhj_Zg"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_1K6l6s7cEeSqqOMGqhj_Zg" type="7018">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_1K6l687cEeSqqOMGqhj_Zg"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_1K6l7M7cEeSqqOMGqhj_Zg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_1K6l7c7cEeSqqOMGqhj_Zg"/>
+ <element xmi:type="uml:Class" href="ancestor.uml#_1K5XwM7cEeSqqOMGqhj_Zg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_1K6l7s7cEeSqqOMGqhj_Zg"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_1K6l787cEeSqqOMGqhj_Zg" type="7019">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_1K6l8M7cEeSqqOMGqhj_Zg"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_1K6l8c7cEeSqqOMGqhj_Zg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_1K6l8s7cEeSqqOMGqhj_Zg"/>
+ <element xmi:type="uml:Class" href="ancestor.uml#_1K5XwM7cEeSqqOMGqhj_Zg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_1K6l887cEeSqqOMGqhj_Zg"/>
+ </children>
+ <element xmi:type="uml:Class" href="ancestor.uml#_1K5XwM7cEeSqqOMGqhj_Zg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_1K6l4c7cEeSqqOMGqhj_Zg" x="350" y="72"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_TX4o4M7fEeSqqOMGqhj_Zg" type="2008">
+ <children xmi:type="notation:DecorationNode" xmi:id="_TX4o4s7fEeSqqOMGqhj_Zg" type="5029">
+ <element xmi:type="uml:Class" href="ancestor.uml#_TX3awM7fEeSqqOMGqhj_Zg"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_TX4o487fEeSqqOMGqhj_Zg" type="8510">
+ <element xmi:type="uml:Class" href="ancestor.uml#_TX3awM7fEeSqqOMGqhj_Zg"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_TX4o5M7fEeSqqOMGqhj_Zg" y="5"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_TX4o5c7fEeSqqOMGqhj_Zg" type="7017">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_TX4o5s7fEeSqqOMGqhj_Zg"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_TX4o587fEeSqqOMGqhj_Zg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_TX4o6M7fEeSqqOMGqhj_Zg"/>
+ <element xmi:type="uml:Class" href="ancestor.uml#_TX3awM7fEeSqqOMGqhj_Zg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_TX4o6c7fEeSqqOMGqhj_Zg"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_TX4o6s7fEeSqqOMGqhj_Zg" type="7018">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_TX4o687fEeSqqOMGqhj_Zg"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_TX4o7M7fEeSqqOMGqhj_Zg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_TX4o7c7fEeSqqOMGqhj_Zg"/>
+ <element xmi:type="uml:Class" href="ancestor.uml#_TX3awM7fEeSqqOMGqhj_Zg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_TX4o7s7fEeSqqOMGqhj_Zg"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_TX4o787fEeSqqOMGqhj_Zg" type="7019">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_TX4o8M7fEeSqqOMGqhj_Zg"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_TX4o8c7fEeSqqOMGqhj_Zg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_TX4o8s7fEeSqqOMGqhj_Zg"/>
+ <element xmi:type="uml:Class" href="ancestor.uml#_TX3awM7fEeSqqOMGqhj_Zg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_TX4o887fEeSqqOMGqhj_Zg"/>
+ </children>
+ <element xmi:type="uml:Class" href="ancestor.uml#_TX3awM7fEeSqqOMGqhj_Zg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_TX4o4c7fEeSqqOMGqhj_Zg" x="349" y="243"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_CkYvcM_wEeS6X8bMfB-bzg" type="2008">
+ <children xmi:type="notation:DecorationNode" xmi:id="_CkakoM_wEeS6X8bMfB-bzg" type="5029">
+ <element xmi:type="uml:Class" href="ancestor.uml#_Cha7AM_wEeS6X8bMfB-bzg"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_Ckakoc_wEeS6X8bMfB-bzg" type="8510">
+ <element xmi:type="uml:Class" href="ancestor.uml#_Cha7AM_wEeS6X8bMfB-bzg"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_Ckakos_wEeS6X8bMfB-bzg" y="5"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_CkbLsM_wEeS6X8bMfB-bzg" type="7017">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_CkbLsc_wEeS6X8bMfB-bzg"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_CkbLss_wEeS6X8bMfB-bzg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_CkbLs8_wEeS6X8bMfB-bzg"/>
+ <element xmi:type="uml:Class" href="ancestor.uml#_Cha7AM_wEeS6X8bMfB-bzg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_CkbLtM_wEeS6X8bMfB-bzg"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_CkbLtc_wEeS6X8bMfB-bzg" type="7018">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_CkbLts_wEeS6X8bMfB-bzg"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_CkbLt8_wEeS6X8bMfB-bzg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_CkbLuM_wEeS6X8bMfB-bzg"/>
+ <element xmi:type="uml:Class" href="ancestor.uml#_Cha7AM_wEeS6X8bMfB-bzg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_CkbLuc_wEeS6X8bMfB-bzg"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_CkbLus_wEeS6X8bMfB-bzg" type="7019">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_CkbLu8_wEeS6X8bMfB-bzg"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_CkbLvM_wEeS6X8bMfB-bzg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_CkbLvc_wEeS6X8bMfB-bzg"/>
+ <element xmi:type="uml:Class" href="ancestor.uml#_Cha7AM_wEeS6X8bMfB-bzg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_CkbLvs_wEeS6X8bMfB-bzg"/>
+ </children>
+ <element xmi:type="uml:Class" href="ancestor.uml#_Cha7AM_wEeS6X8bMfB-bzg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_CkYvcc_wEeS6X8bMfB-bzg" x="83" y="249"/>
+ </children>
+ <styles xmi:type="notation:StringValueStyle" xmi:id="_zmK1oc7cEeSqqOMGqhj_Zg" name="diagram_compatibility_version" stringValue="1.0.0"/>
+ <styles xmi:type="notation:DiagramStyle" xmi:id="_zmK1os7cEeSqqOMGqhj_Zg"/>
+ <styles xmi:type="style:PapyrusViewStyle" xmi:id="_zmK1o87cEeSqqOMGqhj_Zg">
+ <owner xmi:type="uml:Model" href="ancestor.uml#_soPaMM7cEeSqqOMGqhj_Zg"/>
+ </styles>
+ <element xmi:type="uml:Model" href="ancestor.uml#_soPaMM7cEeSqqOMGqhj_Zg"/>
+ <edges xmi:type="notation:Connector" xmi:id="_38pGoM7cEeSqqOMGqhj_Zg" type="4001" source="_0noSoM7cEeSqqOMGqhj_Zg" target="_1K6l4M7cEeSqqOMGqhj_Zg">
+ <children xmi:type="notation:DecorationNode" xmi:id="_38pGo87cEeSqqOMGqhj_Zg" type="6001">
+ <element xmi:type="uml:Association" href="ancestor.uml#_38mDUM7cEeSqqOMGqhj_Zg"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_38pGpM7cEeSqqOMGqhj_Zg" y="-20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_38pGpc7cEeSqqOMGqhj_Zg" type="6002">
+ <element xmi:type="uml:Association" href="ancestor.uml#_38mDUM7cEeSqqOMGqhj_Zg"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_38pGps7cEeSqqOMGqhj_Zg" y="20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_38pGp87cEeSqqOMGqhj_Zg" type="6003">
+ <element xmi:type="uml:Association" href="ancestor.uml#_38mDUM7cEeSqqOMGqhj_Zg"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_38pGqM7cEeSqqOMGqhj_Zg" y="-20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_38ptsM7cEeSqqOMGqhj_Zg" type="6005">
+ <element xmi:type="uml:Association" href="ancestor.uml#_38mDUM7cEeSqqOMGqhj_Zg"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_38ptsc7cEeSqqOMGqhj_Zg" x="-14" y="31"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_38ptss7cEeSqqOMGqhj_Zg" type="6033">
+ <element xmi:type="uml:Association" href="ancestor.uml#_38mDUM7cEeSqqOMGqhj_Zg"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_38pts87cEeSqqOMGqhj_Zg" y="20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_38pttM7cEeSqqOMGqhj_Zg" type="6034">
+ <element xmi:type="uml:Association" href="ancestor.uml#_38mDUM7cEeSqqOMGqhj_Zg"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_38pttc7cEeSqqOMGqhj_Zg" y="-20"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_38pGoc7cEeSqqOMGqhj_Zg"/>
+ <element xmi:type="uml:Association" href="ancestor.uml#_38mDUM7cEeSqqOMGqhj_Zg"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_38pGos7cEeSqqOMGqhj_Zg" points="[50, -8, -219, -6]$[219, -8, -50, -6]"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_Wp4vkNLZEeSzBO7rhIZWOw" type="4001" source="_CkYvcM_wEeS6X8bMfB-bzg" target="_TX4o4M7fEeSqqOMGqhj_Zg">
+ <children xmi:type="notation:DecorationNode" xmi:id="_Wp5WoNLZEeSzBO7rhIZWOw" type="6001">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_Wp5WodLZEeSzBO7rhIZWOw" y="-20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_Wp5WotLZEeSzBO7rhIZWOw" type="6002">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_Wp5Wo9LZEeSzBO7rhIZWOw" y="20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_Wp5WpNLZEeSzBO7rhIZWOw" type="6003">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_Wp5WpdLZEeSzBO7rhIZWOw" y="-20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_Wp59sNLZEeSzBO7rhIZWOw" type="6005">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_Wp59sdLZEeSzBO7rhIZWOw" y="20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_Wp59stLZEeSzBO7rhIZWOw" type="6033">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_Wp59s9LZEeSzBO7rhIZWOw" y="20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_Wp59tNLZEeSzBO7rhIZWOw" type="6034">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_Wp59tdLZEeSzBO7rhIZWOw" y="-20"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_Wp4vkdLZEeSzBO7rhIZWOw"/>
+ <element xmi:type="uml:Association" href="ancestor.uml#_WpmbsNLZEeSzBO7rhIZWOw"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Wp4vktLZEeSzBO7rhIZWOw" points="[50, -3, -216, 3]$[269, -56, 3, -50]"/>
+ </edges>
+ </notation:Diagram>
+ <css:ModelStyleSheets xmi:id="_SsK80NLZEeSzBO7rhIZWOw"/>
+</xmi:XMI>
diff --git a/plugins/org.eclipse.emf.compare.diagram.papyrus.tests/src/org/eclipse/emf/compare/diagram/papyrus/tests/merge/data/assocs/threeway/c1/ancestor.uml b/plugins/org.eclipse.emf.compare.diagram.papyrus.tests/src/org/eclipse/emf/compare/diagram/papyrus/tests/merge/data/assocs/threeway/c1/ancestor.uml new file mode 100644 index 000000000..aa48ba775 --- /dev/null +++ b/plugins/org.eclipse.emf.compare.diagram.papyrus.tests/src/org/eclipse/emf/compare/diagram/papyrus/tests/merge/data/assocs/threeway/c1/ancestor.uml @@ -0,0 +1,30 @@ +<?xml version="1.0" encoding="UTF-8"?>
+<uml:Model xmi:version="20131001" xmlns:xmi="http://www.omg.org/spec/XMI/20131001" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xmi:id="_soPaMM7cEeSqqOMGqhj_Zg" name="model">
+ <packagedElement xmi:type="uml:Class" xmi:id="_0nM00M7cEeSqqOMGqhj_Zg" name="Class1"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_1K5XwM7cEeSqqOMGqhj_Zg" name="Class2"/>
+ <packagedElement xmi:type="uml:Association" xmi:id="_38mDUM7cEeSqqOMGqhj_Zg" memberEnd="_38mDUc7cEeSqqOMGqhj_Zg _38lcQM7cEeSqqOMGqhj_Zg">
+ <name xsi:nil="true"/>
+ <ownedEnd xmi:type="uml:Property" xmi:id="_38mDUc7cEeSqqOMGqhj_Zg" name="class1" type="_0nM00M7cEeSqqOMGqhj_Zg" association="_38mDUM7cEeSqqOMGqhj_Zg">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_38mDUs7cEeSqqOMGqhj_Zg" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_38mDU87cEeSqqOMGqhj_Zg" value="1"/>
+ </ownedEnd>
+ <ownedEnd xmi:type="uml:Property" xmi:id="_38lcQM7cEeSqqOMGqhj_Zg" name="someRole" type="_1K5XwM7cEeSqqOMGqhj_Zg" association="_38mDUM7cEeSqqOMGqhj_Zg">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_38lcQc7cEeSqqOMGqhj_Zg" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_38lcQs7cEeSqqOMGqhj_Zg" value="1"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Class" xmi:id="_TX3awM7fEeSqqOMGqhj_Zg" name="Class3"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_Cha7AM_wEeS6X8bMfB-bzg" name="Class4">
+ <ownedAttribute xmi:type="uml:Property" xmi:id="_Wpl0oNLZEeSzBO7rhIZWOw" name="otherRole" type="_TX3awM7fEeSqqOMGqhj_Zg" association="_WpmbsNLZEeSzBO7rhIZWOw">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_Wpl0odLZEeSzBO7rhIZWOw" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_Wpl0otLZEeSzBO7rhIZWOw" value="1"/>
+ </ownedAttribute>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="_WpmbsNLZEeSzBO7rhIZWOw" memberEnd="_WpmbsdLZEeSzBO7rhIZWOw _Wpl0oNLZEeSzBO7rhIZWOw">
+ <name xsi:nil="true"/>
+ <ownedEnd xmi:type="uml:Property" xmi:id="_WpmbsdLZEeSzBO7rhIZWOw" name="class4" type="_Cha7AM_wEeS6X8bMfB-bzg" association="_WpmbsNLZEeSzBO7rhIZWOw">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_WpmbstLZEeSzBO7rhIZWOw" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_Wpmbs9LZEeSzBO7rhIZWOw" value="1"/>
+ </ownedEnd>
+ </packagedElement>
+</uml:Model>
diff --git a/plugins/org.eclipse.emf.compare.diagram.papyrus.tests/src/org/eclipse/emf/compare/diagram/papyrus/tests/merge/data/assocs/threeway/c1/left.di b/plugins/org.eclipse.emf.compare.diagram.papyrus.tests/src/org/eclipse/emf/compare/diagram/papyrus/tests/merge/data/assocs/threeway/c1/left.di new file mode 100644 index 000000000..8634d4c00 --- /dev/null +++ b/plugins/org.eclipse.emf.compare.diagram.papyrus.tests/src/org/eclipse/emf/compare/diagram/papyrus/tests/merge/data/assocs/threeway/c1/left.di @@ -0,0 +1,2 @@ +<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI"/>
diff --git a/plugins/org.eclipse.emf.compare.diagram.papyrus.tests/src/org/eclipse/emf/compare/diagram/papyrus/tests/merge/data/assocs/threeway/c1/left.notation b/plugins/org.eclipse.emf.compare.diagram.papyrus.tests/src/org/eclipse/emf/compare/diagram/papyrus/tests/merge/data/assocs/threeway/c1/left.notation new file mode 100644 index 000000000..f233ae0c0 --- /dev/null +++ b/plugins/org.eclipse.emf.compare.diagram.papyrus.tests/src/org/eclipse/emf/compare/diagram/papyrus/tests/merge/data/assocs/threeway/c1/left.notation @@ -0,0 +1,198 @@ +<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:css="http://www.eclipse.org/papyrus/infra/gmfdiag/css" xmlns:notation="http://www.eclipse.org/gmf/runtime/1.0.2/notation" xmlns:style="http://www.eclipse.org/papyrus/infra/viewpoints/policy/style" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML">
+ <notation:Diagram xmi:id="_zmK1oM7cEeSqqOMGqhj_Zg" type="PapyrusUMLClassDiagram" name="ClassDiagram" measurementUnit="Pixel">
+ <children xmi:type="notation:Shape" xmi:id="_0noSoM7cEeSqqOMGqhj_Zg" type="2008">
+ <children xmi:type="notation:DecorationNode" xmi:id="_0npgwM7cEeSqqOMGqhj_Zg" type="5029">
+ <element xmi:type="uml:Class" href="left.uml#_0nM00M7cEeSqqOMGqhj_Zg"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_0nqH0M7cEeSqqOMGqhj_Zg" type="8510">
+ <element xmi:type="uml:Class" href="left.uml#_0nM00M7cEeSqqOMGqhj_Zg"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_0nqH0c7cEeSqqOMGqhj_Zg" y="5"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_0nrV8M7cEeSqqOMGqhj_Zg" type="7017">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_0nrV8c7cEeSqqOMGqhj_Zg"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_0nrV8s7cEeSqqOMGqhj_Zg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_0nrV887cEeSqqOMGqhj_Zg"/>
+ <element xmi:type="uml:Class" href="left.uml#_0nM00M7cEeSqqOMGqhj_Zg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0nrV9M7cEeSqqOMGqhj_Zg"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_0nrV9c7cEeSqqOMGqhj_Zg" type="7018">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_0nrV9s7cEeSqqOMGqhj_Zg"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_0nrV987cEeSqqOMGqhj_Zg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_0nrV-M7cEeSqqOMGqhj_Zg"/>
+ <element xmi:type="uml:Class" href="left.uml#_0nM00M7cEeSqqOMGqhj_Zg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0nrV-c7cEeSqqOMGqhj_Zg"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_0nr9AM7cEeSqqOMGqhj_Zg" type="7019">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_0nr9Ac7cEeSqqOMGqhj_Zg"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_0nr9As7cEeSqqOMGqhj_Zg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_0nr9A87cEeSqqOMGqhj_Zg"/>
+ <element xmi:type="uml:Class" href="left.uml#_0nM00M7cEeSqqOMGqhj_Zg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0nr9BM7cEeSqqOMGqhj_Zg"/>
+ </children>
+ <element xmi:type="uml:Class" href="left.uml#_0nM00M7cEeSqqOMGqhj_Zg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0noSoc7cEeSqqOMGqhj_Zg" x="81" y="74"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_1K6l4M7cEeSqqOMGqhj_Zg" type="2008">
+ <children xmi:type="notation:DecorationNode" xmi:id="_1K6l4s7cEeSqqOMGqhj_Zg" type="5029">
+ <element xmi:type="uml:Class" href="left.uml#_1K5XwM7cEeSqqOMGqhj_Zg"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_1K6l487cEeSqqOMGqhj_Zg" type="8510">
+ <element xmi:type="uml:Class" href="left.uml#_1K5XwM7cEeSqqOMGqhj_Zg"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_1K6l5M7cEeSqqOMGqhj_Zg" y="5"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_1K6l5c7cEeSqqOMGqhj_Zg" type="7017">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_1K6l5s7cEeSqqOMGqhj_Zg"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_1K6l587cEeSqqOMGqhj_Zg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_1K6l6M7cEeSqqOMGqhj_Zg"/>
+ <element xmi:type="uml:Class" href="left.uml#_1K5XwM7cEeSqqOMGqhj_Zg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_1K6l6c7cEeSqqOMGqhj_Zg"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_1K6l6s7cEeSqqOMGqhj_Zg" type="7018">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_1K6l687cEeSqqOMGqhj_Zg"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_1K6l7M7cEeSqqOMGqhj_Zg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_1K6l7c7cEeSqqOMGqhj_Zg"/>
+ <element xmi:type="uml:Class" href="left.uml#_1K5XwM7cEeSqqOMGqhj_Zg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_1K6l7s7cEeSqqOMGqhj_Zg"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_1K6l787cEeSqqOMGqhj_Zg" type="7019">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_1K6l8M7cEeSqqOMGqhj_Zg"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_1K6l8c7cEeSqqOMGqhj_Zg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_1K6l8s7cEeSqqOMGqhj_Zg"/>
+ <element xmi:type="uml:Class" href="left.uml#_1K5XwM7cEeSqqOMGqhj_Zg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_1K6l887cEeSqqOMGqhj_Zg"/>
+ </children>
+ <element xmi:type="uml:Class" href="left.uml#_1K5XwM7cEeSqqOMGqhj_Zg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_1K6l4c7cEeSqqOMGqhj_Zg" x="350" y="72"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_TX4o4M7fEeSqqOMGqhj_Zg" type="2008">
+ <children xmi:type="notation:DecorationNode" xmi:id="_TX4o4s7fEeSqqOMGqhj_Zg" type="5029">
+ <element xmi:type="uml:Class" href="left.uml#_TX3awM7fEeSqqOMGqhj_Zg"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_TX4o487fEeSqqOMGqhj_Zg" type="8510">
+ <element xmi:type="uml:Class" href="left.uml#_TX3awM7fEeSqqOMGqhj_Zg"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_TX4o5M7fEeSqqOMGqhj_Zg" y="5"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_TX4o5c7fEeSqqOMGqhj_Zg" type="7017">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_TX4o5s7fEeSqqOMGqhj_Zg"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_TX4o587fEeSqqOMGqhj_Zg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_TX4o6M7fEeSqqOMGqhj_Zg"/>
+ <element xmi:type="uml:Class" href="left.uml#_TX3awM7fEeSqqOMGqhj_Zg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_TX4o6c7fEeSqqOMGqhj_Zg"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_TX4o6s7fEeSqqOMGqhj_Zg" type="7018">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_TX4o687fEeSqqOMGqhj_Zg"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_TX4o7M7fEeSqqOMGqhj_Zg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_TX4o7c7fEeSqqOMGqhj_Zg"/>
+ <element xmi:type="uml:Class" href="left.uml#_TX3awM7fEeSqqOMGqhj_Zg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_TX4o7s7fEeSqqOMGqhj_Zg"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_TX4o787fEeSqqOMGqhj_Zg" type="7019">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_TX4o8M7fEeSqqOMGqhj_Zg"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_TX4o8c7fEeSqqOMGqhj_Zg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_TX4o8s7fEeSqqOMGqhj_Zg"/>
+ <element xmi:type="uml:Class" href="left.uml#_TX3awM7fEeSqqOMGqhj_Zg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_TX4o887fEeSqqOMGqhj_Zg"/>
+ </children>
+ <element xmi:type="uml:Class" href="left.uml#_TX3awM7fEeSqqOMGqhj_Zg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_TX4o4c7fEeSqqOMGqhj_Zg" x="349" y="243"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_CkYvcM_wEeS6X8bMfB-bzg" type="2008">
+ <children xmi:type="notation:DecorationNode" xmi:id="_CkakoM_wEeS6X8bMfB-bzg" type="5029">
+ <element xmi:type="uml:Class" href="left.uml#_Cha7AM_wEeS6X8bMfB-bzg"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_Ckakoc_wEeS6X8bMfB-bzg" type="8510">
+ <element xmi:type="uml:Class" href="left.uml#_Cha7AM_wEeS6X8bMfB-bzg"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_Ckakos_wEeS6X8bMfB-bzg" y="5"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_CkbLsM_wEeS6X8bMfB-bzg" type="7017">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_CkbLsc_wEeS6X8bMfB-bzg"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_CkbLss_wEeS6X8bMfB-bzg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_CkbLs8_wEeS6X8bMfB-bzg"/>
+ <element xmi:type="uml:Class" href="left.uml#_Cha7AM_wEeS6X8bMfB-bzg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_CkbLtM_wEeS6X8bMfB-bzg"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_CkbLtc_wEeS6X8bMfB-bzg" type="7018">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_CkbLts_wEeS6X8bMfB-bzg"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_CkbLt8_wEeS6X8bMfB-bzg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_CkbLuM_wEeS6X8bMfB-bzg"/>
+ <element xmi:type="uml:Class" href="left.uml#_Cha7AM_wEeS6X8bMfB-bzg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_CkbLuc_wEeS6X8bMfB-bzg"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_CkbLus_wEeS6X8bMfB-bzg" type="7019">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_CkbLu8_wEeS6X8bMfB-bzg"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_CkbLvM_wEeS6X8bMfB-bzg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_CkbLvc_wEeS6X8bMfB-bzg"/>
+ <element xmi:type="uml:Class" href="left.uml#_Cha7AM_wEeS6X8bMfB-bzg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_CkbLvs_wEeS6X8bMfB-bzg"/>
+ </children>
+ <element xmi:type="uml:Class" href="left.uml#_Cha7AM_wEeS6X8bMfB-bzg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_CkYvcc_wEeS6X8bMfB-bzg" x="83" y="249"/>
+ </children>
+ <styles xmi:type="notation:StringValueStyle" xmi:id="_zmK1oc7cEeSqqOMGqhj_Zg" name="diagram_compatibility_version" stringValue="1.0.0"/>
+ <styles xmi:type="notation:DiagramStyle" xmi:id="_zmK1os7cEeSqqOMGqhj_Zg"/>
+ <styles xmi:type="style:PapyrusViewStyle" xmi:id="_zmK1o87cEeSqqOMGqhj_Zg">
+ <owner xmi:type="uml:Model" href="left.uml#_soPaMM7cEeSqqOMGqhj_Zg"/>
+ </styles>
+ <element xmi:type="uml:Model" href="left.uml#_soPaMM7cEeSqqOMGqhj_Zg"/>
+ <edges xmi:type="notation:Connector" xmi:id="_38pGoM7cEeSqqOMGqhj_Zg" type="4001" source="_0noSoM7cEeSqqOMGqhj_Zg" target="_TX4o4M7fEeSqqOMGqhj_Zg">
+ <children xmi:type="notation:DecorationNode" xmi:id="_38pGo87cEeSqqOMGqhj_Zg" type="6001">
+ <element xmi:type="uml:Association" href="left.uml#_38mDUM7cEeSqqOMGqhj_Zg"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_38pGpM7cEeSqqOMGqhj_Zg" y="-20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_38pGpc7cEeSqqOMGqhj_Zg" type="6002">
+ <element xmi:type="uml:Association" href="left.uml#_38mDUM7cEeSqqOMGqhj_Zg"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_38pGps7cEeSqqOMGqhj_Zg" y="20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_38pGp87cEeSqqOMGqhj_Zg" type="6003">
+ <element xmi:type="uml:Association" href="left.uml#_38mDUM7cEeSqqOMGqhj_Zg"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_38pGqM7cEeSqqOMGqhj_Zg" y="-20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_38ptsM7cEeSqqOMGqhj_Zg" type="6005">
+ <element xmi:type="uml:Association" href="left.uml#_38mDUM7cEeSqqOMGqhj_Zg"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_38ptsc7cEeSqqOMGqhj_Zg" x="-14" y="31"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_38ptss7cEeSqqOMGqhj_Zg" type="6033">
+ <element xmi:type="uml:Association" href="left.uml#_38mDUM7cEeSqqOMGqhj_Zg"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_38pts87cEeSqqOMGqhj_Zg" y="20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_38pttM7cEeSqqOMGqhj_Zg" type="6034">
+ <element xmi:type="uml:Association" href="left.uml#_38mDUM7cEeSqqOMGqhj_Zg"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_38pttc7cEeSqqOMGqhj_Zg" y="-20"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_38pGoc7cEeSqqOMGqhj_Zg"/>
+ <element xmi:type="uml:Association" href="left.uml#_38mDUM7cEeSqqOMGqhj_Zg"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_38pGos7cEeSqqOMGqhj_Zg" points="[50, -8, -219, -6]$[219, -8, -50, -6]"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_Wp4vkNLZEeSzBO7rhIZWOw" type="4001" source="_CkYvcM_wEeS6X8bMfB-bzg" target="_TX4o4M7fEeSqqOMGqhj_Zg">
+ <children xmi:type="notation:DecorationNode" xmi:id="_Wp5WoNLZEeSzBO7rhIZWOw" type="6001">
+ <element xmi:type="uml:Association" href="left.uml#_WpmbsNLZEeSzBO7rhIZWOw"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_Wp5WodLZEeSzBO7rhIZWOw" y="-20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_Wp5WotLZEeSzBO7rhIZWOw" type="6002">
+ <element xmi:type="uml:Association" href="left.uml#_WpmbsNLZEeSzBO7rhIZWOw"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_Wp5Wo9LZEeSzBO7rhIZWOw" y="20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_Wp5WpNLZEeSzBO7rhIZWOw" type="6003">
+ <element xmi:type="uml:Association" href="left.uml#_WpmbsNLZEeSzBO7rhIZWOw"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_Wp5WpdLZEeSzBO7rhIZWOw" y="-20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_Wp59sNLZEeSzBO7rhIZWOw" type="6005">
+ <element xmi:type="uml:Association" href="left.uml#_WpmbsNLZEeSzBO7rhIZWOw"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_Wp59sdLZEeSzBO7rhIZWOw" y="20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_Wp59stLZEeSzBO7rhIZWOw" type="6033">
+ <element xmi:type="uml:Association" href="left.uml#_WpmbsNLZEeSzBO7rhIZWOw"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_Wp59s9LZEeSzBO7rhIZWOw" y="20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_Wp59tNLZEeSzBO7rhIZWOw" type="6034">
+ <element xmi:type="uml:Association" href="left.uml#_WpmbsNLZEeSzBO7rhIZWOw"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_Wp59tdLZEeSzBO7rhIZWOw" y="-20"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_Wp4vkdLZEeSzBO7rhIZWOw"/>
+ <element xmi:type="uml:Association" href="left.uml#_WpmbsNLZEeSzBO7rhIZWOw"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Wp4vktLZEeSzBO7rhIZWOw" points="[50, -3, -216, 3]$[269, -56, 3, -50]"/>
+ </edges>
+ </notation:Diagram>
+ <css:ModelStyleSheets xmi:id="_SsK80NLZEeSzBO7rhIZWOw"/>
+</xmi:XMI>
diff --git a/plugins/org.eclipse.emf.compare.diagram.papyrus.tests/src/org/eclipse/emf/compare/diagram/papyrus/tests/merge/data/assocs/threeway/c1/left.uml b/plugins/org.eclipse.emf.compare.diagram.papyrus.tests/src/org/eclipse/emf/compare/diagram/papyrus/tests/merge/data/assocs/threeway/c1/left.uml new file mode 100644 index 000000000..e56d84d13 --- /dev/null +++ b/plugins/org.eclipse.emf.compare.diagram.papyrus.tests/src/org/eclipse/emf/compare/diagram/papyrus/tests/merge/data/assocs/threeway/c1/left.uml @@ -0,0 +1,30 @@ +<?xml version="1.0" encoding="UTF-8"?>
+<uml:Model xmi:version="20131001" xmlns:xmi="http://www.omg.org/spec/XMI/20131001" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xmi:id="_soPaMM7cEeSqqOMGqhj_Zg" name="model">
+ <packagedElement xmi:type="uml:Class" xmi:id="_0nM00M7cEeSqqOMGqhj_Zg" name="Class1"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_1K5XwM7cEeSqqOMGqhj_Zg" name="Class2"/>
+ <packagedElement xmi:type="uml:Association" xmi:id="_38mDUM7cEeSqqOMGqhj_Zg" memberEnd="_38mDUc7cEeSqqOMGqhj_Zg _38lcQM7cEeSqqOMGqhj_Zg">
+ <name xsi:nil="true"/>
+ <ownedEnd xmi:type="uml:Property" xmi:id="_38mDUc7cEeSqqOMGqhj_Zg" name="class1" type="_0nM00M7cEeSqqOMGqhj_Zg" association="_38mDUM7cEeSqqOMGqhj_Zg">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_38mDUs7cEeSqqOMGqhj_Zg" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_38mDU87cEeSqqOMGqhj_Zg" value="1"/>
+ </ownedEnd>
+ <ownedEnd xmi:type="uml:Property" xmi:id="_38lcQM7cEeSqqOMGqhj_Zg" name="someRole" type="_TX3awM7fEeSqqOMGqhj_Zg" association="_38mDUM7cEeSqqOMGqhj_Zg">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_38lcQc7cEeSqqOMGqhj_Zg" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_38lcQs7cEeSqqOMGqhj_Zg" value="1"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Class" xmi:id="_TX3awM7fEeSqqOMGqhj_Zg" name="Class3"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_Cha7AM_wEeS6X8bMfB-bzg" name="Class4">
+ <ownedAttribute xmi:type="uml:Property" xmi:id="_Wpl0oNLZEeSzBO7rhIZWOw" name="otherRole" type="_TX3awM7fEeSqqOMGqhj_Zg" association="_WpmbsNLZEeSzBO7rhIZWOw">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_Wpl0odLZEeSzBO7rhIZWOw" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_Wpl0otLZEeSzBO7rhIZWOw" value="1"/>
+ </ownedAttribute>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="_WpmbsNLZEeSzBO7rhIZWOw" memberEnd="_WpmbsdLZEeSzBO7rhIZWOw _Wpl0oNLZEeSzBO7rhIZWOw">
+ <name xsi:nil="true"/>
+ <ownedEnd xmi:type="uml:Property" xmi:id="_WpmbsdLZEeSzBO7rhIZWOw" name="class4" type="_Cha7AM_wEeS6X8bMfB-bzg" association="_WpmbsNLZEeSzBO7rhIZWOw">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_WpmbstLZEeSzBO7rhIZWOw" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_Wpmbs9LZEeSzBO7rhIZWOw" value="1"/>
+ </ownedEnd>
+ </packagedElement>
+</uml:Model>
diff --git a/plugins/org.eclipse.emf.compare.diagram.papyrus.tests/src/org/eclipse/emf/compare/diagram/papyrus/tests/merge/data/assocs/threeway/c1/package-info.java b/plugins/org.eclipse.emf.compare.diagram.papyrus.tests/src/org/eclipse/emf/compare/diagram/papyrus/tests/merge/data/assocs/threeway/c1/package-info.java new file mode 100644 index 000000000..abcb1b9c3 --- /dev/null +++ b/plugins/org.eclipse.emf.compare.diagram.papyrus.tests/src/org/eclipse/emf/compare/diagram/papyrus/tests/merge/data/assocs/threeway/c1/package-info.java @@ -0,0 +1,17 @@ +/******************************************************************************* + * Copyright (c) 2015 Obeo. + * 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: + * Obeo - initial API and implementation + *******************************************************************************/ + +/** + * This package contains test data about association changes, + * where an existing association is reconnected in 2 branches. + * @author <a href="mailto:laurent.delaigue@obeo.fr">Laurent Delaigue</a> + */ +package org.eclipse.emf.compare.diagram.papyrus.tests.merge.data.assocs.threeway.c1;
\ No newline at end of file diff --git a/plugins/org.eclipse.emf.compare.diagram.papyrus.tests/src/org/eclipse/emf/compare/diagram/papyrus/tests/merge/data/assocs/threeway/c1/right.di b/plugins/org.eclipse.emf.compare.diagram.papyrus.tests/src/org/eclipse/emf/compare/diagram/papyrus/tests/merge/data/assocs/threeway/c1/right.di new file mode 100644 index 000000000..8634d4c00 --- /dev/null +++ b/plugins/org.eclipse.emf.compare.diagram.papyrus.tests/src/org/eclipse/emf/compare/diagram/papyrus/tests/merge/data/assocs/threeway/c1/right.di @@ -0,0 +1,2 @@ +<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI"/>
diff --git a/plugins/org.eclipse.emf.compare.diagram.papyrus.tests/src/org/eclipse/emf/compare/diagram/papyrus/tests/merge/data/assocs/threeway/c1/right.notation b/plugins/org.eclipse.emf.compare.diagram.papyrus.tests/src/org/eclipse/emf/compare/diagram/papyrus/tests/merge/data/assocs/threeway/c1/right.notation new file mode 100644 index 000000000..978c5e57d --- /dev/null +++ b/plugins/org.eclipse.emf.compare.diagram.papyrus.tests/src/org/eclipse/emf/compare/diagram/papyrus/tests/merge/data/assocs/threeway/c1/right.notation @@ -0,0 +1,198 @@ +<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:css="http://www.eclipse.org/papyrus/infra/gmfdiag/css" xmlns:notation="http://www.eclipse.org/gmf/runtime/1.0.2/notation" xmlns:style="http://www.eclipse.org/papyrus/infra/viewpoints/policy/style" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML">
+ <notation:Diagram xmi:id="_zmK1oM7cEeSqqOMGqhj_Zg" type="PapyrusUMLClassDiagram" name="ClassDiagram" measurementUnit="Pixel">
+ <children xmi:type="notation:Shape" xmi:id="_0noSoM7cEeSqqOMGqhj_Zg" type="2008">
+ <children xmi:type="notation:DecorationNode" xmi:id="_0npgwM7cEeSqqOMGqhj_Zg" type="5029">
+ <element xmi:type="uml:Class" href="right.uml#_0nM00M7cEeSqqOMGqhj_Zg"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_0nqH0M7cEeSqqOMGqhj_Zg" type="8510">
+ <element xmi:type="uml:Class" href="right.uml#_0nM00M7cEeSqqOMGqhj_Zg"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_0nqH0c7cEeSqqOMGqhj_Zg" y="5"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_0nrV8M7cEeSqqOMGqhj_Zg" type="7017">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_0nrV8c7cEeSqqOMGqhj_Zg"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_0nrV8s7cEeSqqOMGqhj_Zg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_0nrV887cEeSqqOMGqhj_Zg"/>
+ <element xmi:type="uml:Class" href="right.uml#_0nM00M7cEeSqqOMGqhj_Zg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0nrV9M7cEeSqqOMGqhj_Zg"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_0nrV9c7cEeSqqOMGqhj_Zg" type="7018">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_0nrV9s7cEeSqqOMGqhj_Zg"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_0nrV987cEeSqqOMGqhj_Zg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_0nrV-M7cEeSqqOMGqhj_Zg"/>
+ <element xmi:type="uml:Class" href="right.uml#_0nM00M7cEeSqqOMGqhj_Zg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0nrV-c7cEeSqqOMGqhj_Zg"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_0nr9AM7cEeSqqOMGqhj_Zg" type="7019">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_0nr9Ac7cEeSqqOMGqhj_Zg"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_0nr9As7cEeSqqOMGqhj_Zg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_0nr9A87cEeSqqOMGqhj_Zg"/>
+ <element xmi:type="uml:Class" href="right.uml#_0nM00M7cEeSqqOMGqhj_Zg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0nr9BM7cEeSqqOMGqhj_Zg"/>
+ </children>
+ <element xmi:type="uml:Class" href="right.uml#_0nM00M7cEeSqqOMGqhj_Zg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0noSoc7cEeSqqOMGqhj_Zg" x="81" y="74"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_1K6l4M7cEeSqqOMGqhj_Zg" type="2008">
+ <children xmi:type="notation:DecorationNode" xmi:id="_1K6l4s7cEeSqqOMGqhj_Zg" type="5029">
+ <element xmi:type="uml:Class" href="right.uml#_1K5XwM7cEeSqqOMGqhj_Zg"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_1K6l487cEeSqqOMGqhj_Zg" type="8510">
+ <element xmi:type="uml:Class" href="right.uml#_1K5XwM7cEeSqqOMGqhj_Zg"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_1K6l5M7cEeSqqOMGqhj_Zg" y="5"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_1K6l5c7cEeSqqOMGqhj_Zg" type="7017">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_1K6l5s7cEeSqqOMGqhj_Zg"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_1K6l587cEeSqqOMGqhj_Zg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_1K6l6M7cEeSqqOMGqhj_Zg"/>
+ <element xmi:type="uml:Class" href="right.uml#_1K5XwM7cEeSqqOMGqhj_Zg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_1K6l6c7cEeSqqOMGqhj_Zg"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_1K6l6s7cEeSqqOMGqhj_Zg" type="7018">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_1K6l687cEeSqqOMGqhj_Zg"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_1K6l7M7cEeSqqOMGqhj_Zg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_1K6l7c7cEeSqqOMGqhj_Zg"/>
+ <element xmi:type="uml:Class" href="right.uml#_1K5XwM7cEeSqqOMGqhj_Zg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_1K6l7s7cEeSqqOMGqhj_Zg"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_1K6l787cEeSqqOMGqhj_Zg" type="7019">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_1K6l8M7cEeSqqOMGqhj_Zg"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_1K6l8c7cEeSqqOMGqhj_Zg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_1K6l8s7cEeSqqOMGqhj_Zg"/>
+ <element xmi:type="uml:Class" href="right.uml#_1K5XwM7cEeSqqOMGqhj_Zg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_1K6l887cEeSqqOMGqhj_Zg"/>
+ </children>
+ <element xmi:type="uml:Class" href="right.uml#_1K5XwM7cEeSqqOMGqhj_Zg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_1K6l4c7cEeSqqOMGqhj_Zg" x="350" y="72"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_TX4o4M7fEeSqqOMGqhj_Zg" type="2008">
+ <children xmi:type="notation:DecorationNode" xmi:id="_TX4o4s7fEeSqqOMGqhj_Zg" type="5029">
+ <element xmi:type="uml:Class" href="right.uml#_TX3awM7fEeSqqOMGqhj_Zg"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_TX4o487fEeSqqOMGqhj_Zg" type="8510">
+ <element xmi:type="uml:Class" href="right.uml#_TX3awM7fEeSqqOMGqhj_Zg"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_TX4o5M7fEeSqqOMGqhj_Zg" y="5"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_TX4o5c7fEeSqqOMGqhj_Zg" type="7017">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_TX4o5s7fEeSqqOMGqhj_Zg"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_TX4o587fEeSqqOMGqhj_Zg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_TX4o6M7fEeSqqOMGqhj_Zg"/>
+ <element xmi:type="uml:Class" href="right.uml#_TX3awM7fEeSqqOMGqhj_Zg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_TX4o6c7fEeSqqOMGqhj_Zg"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_TX4o6s7fEeSqqOMGqhj_Zg" type="7018">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_TX4o687fEeSqqOMGqhj_Zg"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_TX4o7M7fEeSqqOMGqhj_Zg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_TX4o7c7fEeSqqOMGqhj_Zg"/>
+ <element xmi:type="uml:Class" href="right.uml#_TX3awM7fEeSqqOMGqhj_Zg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_TX4o7s7fEeSqqOMGqhj_Zg"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_TX4o787fEeSqqOMGqhj_Zg" type="7019">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_TX4o8M7fEeSqqOMGqhj_Zg"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_TX4o8c7fEeSqqOMGqhj_Zg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_TX4o8s7fEeSqqOMGqhj_Zg"/>
+ <element xmi:type="uml:Class" href="right.uml#_TX3awM7fEeSqqOMGqhj_Zg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_TX4o887fEeSqqOMGqhj_Zg"/>
+ </children>
+ <element xmi:type="uml:Class" href="right.uml#_TX3awM7fEeSqqOMGqhj_Zg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_TX4o4c7fEeSqqOMGqhj_Zg" x="349" y="243"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_CkYvcM_wEeS6X8bMfB-bzg" type="2008">
+ <children xmi:type="notation:DecorationNode" xmi:id="_CkakoM_wEeS6X8bMfB-bzg" type="5029">
+ <element xmi:type="uml:Class" href="right.uml#_Cha7AM_wEeS6X8bMfB-bzg"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_Ckakoc_wEeS6X8bMfB-bzg" type="8510">
+ <element xmi:type="uml:Class" href="right.uml#_Cha7AM_wEeS6X8bMfB-bzg"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_Ckakos_wEeS6X8bMfB-bzg" y="5"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_CkbLsM_wEeS6X8bMfB-bzg" type="7017">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_CkbLsc_wEeS6X8bMfB-bzg"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_CkbLss_wEeS6X8bMfB-bzg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_CkbLs8_wEeS6X8bMfB-bzg"/>
+ <element xmi:type="uml:Class" href="right.uml#_Cha7AM_wEeS6X8bMfB-bzg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_CkbLtM_wEeS6X8bMfB-bzg"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_CkbLtc_wEeS6X8bMfB-bzg" type="7018">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_CkbLts_wEeS6X8bMfB-bzg"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_CkbLt8_wEeS6X8bMfB-bzg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_CkbLuM_wEeS6X8bMfB-bzg"/>
+ <element xmi:type="uml:Class" href="right.uml#_Cha7AM_wEeS6X8bMfB-bzg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_CkbLuc_wEeS6X8bMfB-bzg"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_CkbLus_wEeS6X8bMfB-bzg" type="7019">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_CkbLu8_wEeS6X8bMfB-bzg"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_CkbLvM_wEeS6X8bMfB-bzg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_CkbLvc_wEeS6X8bMfB-bzg"/>
+ <element xmi:type="uml:Class" href="right.uml#_Cha7AM_wEeS6X8bMfB-bzg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_CkbLvs_wEeS6X8bMfB-bzg"/>
+ </children>
+ <element xmi:type="uml:Class" href="right.uml#_Cha7AM_wEeS6X8bMfB-bzg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_CkYvcc_wEeS6X8bMfB-bzg" x="83" y="249"/>
+ </children>
+ <styles xmi:type="notation:StringValueStyle" xmi:id="_zmK1oc7cEeSqqOMGqhj_Zg" name="diagram_compatibility_version" stringValue="1.0.0"/>
+ <styles xmi:type="notation:DiagramStyle" xmi:id="_zmK1os7cEeSqqOMGqhj_Zg"/>
+ <styles xmi:type="style:PapyrusViewStyle" xmi:id="_zmK1o87cEeSqqOMGqhj_Zg">
+ <owner xmi:type="uml:Model" href="right.uml#_soPaMM7cEeSqqOMGqhj_Zg"/>
+ </styles>
+ <element xmi:type="uml:Model" href="right.uml#_soPaMM7cEeSqqOMGqhj_Zg"/>
+ <edges xmi:type="notation:Connector" xmi:id="_38pGoM7cEeSqqOMGqhj_Zg" type="4001" source="_0noSoM7cEeSqqOMGqhj_Zg" target="_1K6l4M7cEeSqqOMGqhj_Zg">
+ <children xmi:type="notation:DecorationNode" xmi:id="_38pGo87cEeSqqOMGqhj_Zg" type="6001">
+ <element xmi:type="uml:Association" href="right.uml#_38mDUM7cEeSqqOMGqhj_Zg"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_38pGpM7cEeSqqOMGqhj_Zg" y="-20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_38pGpc7cEeSqqOMGqhj_Zg" type="6002">
+ <element xmi:type="uml:Association" href="right.uml#_38mDUM7cEeSqqOMGqhj_Zg"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_38pGps7cEeSqqOMGqhj_Zg" y="20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_38pGp87cEeSqqOMGqhj_Zg" type="6003">
+ <element xmi:type="uml:Association" href="right.uml#_38mDUM7cEeSqqOMGqhj_Zg"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_38pGqM7cEeSqqOMGqhj_Zg" y="-20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_38ptsM7cEeSqqOMGqhj_Zg" type="6005">
+ <element xmi:type="uml:Association" href="right.uml#_38mDUM7cEeSqqOMGqhj_Zg"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_38ptsc7cEeSqqOMGqhj_Zg" x="-14" y="31"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_38ptss7cEeSqqOMGqhj_Zg" type="6033">
+ <element xmi:type="uml:Association" href="right.uml#_38mDUM7cEeSqqOMGqhj_Zg"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_38pts87cEeSqqOMGqhj_Zg" y="20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_38pttM7cEeSqqOMGqhj_Zg" type="6034">
+ <element xmi:type="uml:Association" href="right.uml#_38mDUM7cEeSqqOMGqhj_Zg"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_38pttc7cEeSqqOMGqhj_Zg" y="-20"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_38pGoc7cEeSqqOMGqhj_Zg"/>
+ <element xmi:type="uml:Association" href="right.uml#_38mDUM7cEeSqqOMGqhj_Zg"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_38pGos7cEeSqqOMGqhj_Zg" points="[50, -8, -219, -6]$[219, -8, -50, -6]"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_Wp4vkNLZEeSzBO7rhIZWOw" type="4001" source="_CkYvcM_wEeS6X8bMfB-bzg" target="_0noSoM7cEeSqqOMGqhj_Zg">
+ <children xmi:type="notation:DecorationNode" xmi:id="_Wp5WoNLZEeSzBO7rhIZWOw" type="6001">
+ <element xmi:type="uml:Association" href="right.uml#_WpmbsNLZEeSzBO7rhIZWOw"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_Wp5WodLZEeSzBO7rhIZWOw" y="-20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_Wp5WotLZEeSzBO7rhIZWOw" type="6002">
+ <element xmi:type="uml:Association" href="right.uml#_WpmbsNLZEeSzBO7rhIZWOw"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_Wp5Wo9LZEeSzBO7rhIZWOw" y="20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_Wp5WpNLZEeSzBO7rhIZWOw" type="6003">
+ <element xmi:type="uml:Association" href="right.uml#_WpmbsNLZEeSzBO7rhIZWOw"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_Wp5WpdLZEeSzBO7rhIZWOw" y="-20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_Wp59sNLZEeSzBO7rhIZWOw" type="6005">
+ <element xmi:type="uml:Association" href="right.uml#_WpmbsNLZEeSzBO7rhIZWOw"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_Wp59sdLZEeSzBO7rhIZWOw" y="20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_Wp59stLZEeSzBO7rhIZWOw" type="6033">
+ <element xmi:type="uml:Association" href="right.uml#_WpmbsNLZEeSzBO7rhIZWOw"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_Wp59s9LZEeSzBO7rhIZWOw" y="20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_Wp59tNLZEeSzBO7rhIZWOw" type="6034">
+ <element xmi:type="uml:Association" href="right.uml#_WpmbsNLZEeSzBO7rhIZWOw"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_Wp59tdLZEeSzBO7rhIZWOw" y="-20"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_Wp4vkdLZEeSzBO7rhIZWOw"/>
+ <element xmi:type="uml:Association" href="right.uml#_WpmbsNLZEeSzBO7rhIZWOw"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Wp4vktLZEeSzBO7rhIZWOw" points="[50, -3, -216, 3]$[269, -56, 3, -50]"/>
+ </edges>
+ </notation:Diagram>
+ <css:ModelStyleSheets xmi:id="_SsK80NLZEeSzBO7rhIZWOw"/>
+</xmi:XMI>
diff --git a/plugins/org.eclipse.emf.compare.diagram.papyrus.tests/src/org/eclipse/emf/compare/diagram/papyrus/tests/merge/data/assocs/threeway/c1/right.uml b/plugins/org.eclipse.emf.compare.diagram.papyrus.tests/src/org/eclipse/emf/compare/diagram/papyrus/tests/merge/data/assocs/threeway/c1/right.uml new file mode 100644 index 000000000..3a88004dd --- /dev/null +++ b/plugins/org.eclipse.emf.compare.diagram.papyrus.tests/src/org/eclipse/emf/compare/diagram/papyrus/tests/merge/data/assocs/threeway/c1/right.uml @@ -0,0 +1,30 @@ +<?xml version="1.0" encoding="UTF-8"?>
+<uml:Model xmi:version="20131001" xmlns:xmi="http://www.omg.org/spec/XMI/20131001" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xmi:id="_soPaMM7cEeSqqOMGqhj_Zg" name="model">
+ <packagedElement xmi:type="uml:Class" xmi:id="_0nM00M7cEeSqqOMGqhj_Zg" name="Class1"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_1K5XwM7cEeSqqOMGqhj_Zg" name="Class2"/>
+ <packagedElement xmi:type="uml:Association" xmi:id="_38mDUM7cEeSqqOMGqhj_Zg" memberEnd="_38mDUc7cEeSqqOMGqhj_Zg _38lcQM7cEeSqqOMGqhj_Zg">
+ <name xsi:nil="true"/>
+ <ownedEnd xmi:type="uml:Property" xmi:id="_38mDUc7cEeSqqOMGqhj_Zg" name="class1" type="_0nM00M7cEeSqqOMGqhj_Zg" association="_38mDUM7cEeSqqOMGqhj_Zg">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_38mDUs7cEeSqqOMGqhj_Zg" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_38mDU87cEeSqqOMGqhj_Zg" value="1"/>
+ </ownedEnd>
+ <ownedEnd xmi:type="uml:Property" xmi:id="_38lcQM7cEeSqqOMGqhj_Zg" name="someRole" type="_1K5XwM7cEeSqqOMGqhj_Zg" association="_38mDUM7cEeSqqOMGqhj_Zg">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_38lcQc7cEeSqqOMGqhj_Zg" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_38lcQs7cEeSqqOMGqhj_Zg" value="1"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Class" xmi:id="_TX3awM7fEeSqqOMGqhj_Zg" name="Class3"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_Cha7AM_wEeS6X8bMfB-bzg" name="Class4">
+ <ownedAttribute xmi:type="uml:Property" xmi:id="_Wpl0oNLZEeSzBO7rhIZWOw" name="otherRole" type="_0nM00M7cEeSqqOMGqhj_Zg" association="_WpmbsNLZEeSzBO7rhIZWOw">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_Wpl0odLZEeSzBO7rhIZWOw" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_Wpl0otLZEeSzBO7rhIZWOw" value="1"/>
+ </ownedAttribute>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="_WpmbsNLZEeSzBO7rhIZWOw" memberEnd="_WpmbsdLZEeSzBO7rhIZWOw _Wpl0oNLZEeSzBO7rhIZWOw">
+ <name xsi:nil="true"/>
+ <ownedEnd xmi:type="uml:Property" xmi:id="_WpmbsdLZEeSzBO7rhIZWOw" name="class4" type="_Cha7AM_wEeS6X8bMfB-bzg" association="_WpmbsNLZEeSzBO7rhIZWOw">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_WpmbstLZEeSzBO7rhIZWOw" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_Wpmbs9LZEeSzBO7rhIZWOw" value="1"/>
+ </ownedEnd>
+ </packagedElement>
+</uml:Model>
diff --git a/plugins/org.eclipse.emf.compare.diagram.papyrus.tests/src/org/eclipse/emf/compare/diagram/papyrus/tests/merge/data/assocs/threeway/t1/ancestor.di b/plugins/org.eclipse.emf.compare.diagram.papyrus.tests/src/org/eclipse/emf/compare/diagram/papyrus/tests/merge/data/assocs/threeway/t1/ancestor.di new file mode 100644 index 000000000..8634d4c00 --- /dev/null +++ b/plugins/org.eclipse.emf.compare.diagram.papyrus.tests/src/org/eclipse/emf/compare/diagram/papyrus/tests/merge/data/assocs/threeway/t1/ancestor.di @@ -0,0 +1,2 @@ +<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI"/>
diff --git a/plugins/org.eclipse.emf.compare.diagram.papyrus.tests/src/org/eclipse/emf/compare/diagram/papyrus/tests/merge/data/assocs/threeway/t1/ancestor.notation b/plugins/org.eclipse.emf.compare.diagram.papyrus.tests/src/org/eclipse/emf/compare/diagram/papyrus/tests/merge/data/assocs/threeway/t1/ancestor.notation new file mode 100644 index 000000000..7b7e6d304 --- /dev/null +++ b/plugins/org.eclipse.emf.compare.diagram.papyrus.tests/src/org/eclipse/emf/compare/diagram/papyrus/tests/merge/data/assocs/threeway/t1/ancestor.notation @@ -0,0 +1,99 @@ +<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:css="http://www.eclipse.org/papyrus/infra/gmfdiag/css" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:notation="http://www.eclipse.org/gmf/runtime/1.0.2/notation" xmlns:style="http://www.eclipse.org/papyrus/infra/viewpoints/policy/style" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML">
+ <notation:Diagram xmi:id="_qC9nsLwdEeSIRf-5f0gG0g" type="PapyrusUMLStateMachineDiagram" name="NewDiagram" measurementUnit="Pixel">
+ <children xmi:type="notation:Shape" xmi:id="_qC9nsbwdEeSIRf-5f0gG0g" type="2000">
+ <children xmi:type="notation:DecorationNode" xmi:id="_qC9nsrwdEeSIRf-5f0gG0g" type="2001">
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_qC9ns7wdEeSIRf-5f0gG0g" width="700" height="30"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_qC9ntLwdEeSIRf-5f0gG0g" type="2002">
+ <children xmi:type="notation:Shape" xmi:id="_qC9ntbwdEeSIRf-5f0gG0g" type="3000">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_qC9ntrwdEeSIRf-5f0gG0g" source="RegionAnnotationKey">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_qC9nt7wdEeSIRf-5f0gG0g" key="RegionZoneKey" value=""/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="_qC9nuLwdEeSIRf-5f0gG0g" type="3002">
+ <children xmi:type="notation:Shape" xmi:id="_zf4R0MjFEeSlR5E9fXQsvA" type="6000">
+ <children xmi:type="notation:DecorationNode" xmi:id="_zf5f8MjFEeSlR5E9fXQsvA" type="6001">
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_1aMCYMjFEeSlR5E9fXQsvA" width="203"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_zf5f8cjFEeSlR5E9fXQsvA" type="6002">
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_zf5f8sjFEeSlR5E9fXQsvA" y="-1" width="203"/>
+ </children>
+ <element xmi:type="uml:State" href="ancestor.uml#_zfvH4MjFEeSlR5E9fXQsvA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_zf4R0cjFEeSlR5E9fXQsvA" x="112" y="66" width="203" height="69"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_1w1AwMjFEeSlR5E9fXQsvA" type="6000">
+ <children xmi:type="notation:DecorationNode" xmi:id="_1w1n0MjFEeSlR5E9fXQsvA" type="6001">
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_2GKXkMjFEeSlR5E9fXQsvA" width="169"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_1w1n0cjFEeSlR5E9fXQsvA" type="6002">
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_1w1n0sjFEeSlR5E9fXQsvA" y="-1" width="169"/>
+ </children>
+ <element xmi:type="uml:State" href="ancestor.uml#_1wykgMjFEeSlR5E9fXQsvA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_1w1AwcjFEeSlR5E9fXQsvA" x="397" y="12" width="169" height="62"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_3noKUMjFEeSlR5E9fXQsvA" type="6000">
+ <children xmi:type="notation:DecorationNode" xmi:id="_3noKUsjFEeSlR5E9fXQsvA" type="6001"/>
+ <children xmi:type="notation:DecorationNode" xmi:id="_3noxYMjFEeSlR5E9fXQsvA" type="6002">
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_3noxYcjFEeSlR5E9fXQsvA"/>
+ </children>
+ <element xmi:type="uml:State" href="ancestor.uml#_3nluEMjFEeSlR5E9fXQsvA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_3noKUcjFEeSlR5E9fXQsvA" x="401" y="113" width="157" height="73"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_l32-YNIEEeSvO5owlqm60A" type="6000">
+ <children xmi:type="notation:DecorationNode" xmi:id="_l34MgNIEEeSvO5owlqm60A" type="6001"/>
+ <children xmi:type="notation:DecorationNode" xmi:id="_l34MgdIEEeSvO5owlqm60A" type="19003">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_l34zkNIEEeSvO5owlqm60A" x="40"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_l34zkdIEEeSvO5owlqm60A" type="6002">
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_l34zktIEEeSvO5owlqm60A"/>
+ </children>
+ <element xmi:type="uml:State" href="ancestor.uml#_l3kqgNIEEeSvO5owlqm60A"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_l32-YdIEEeSvO5owlqm60A" x="157" y="183" width="154" height="74"/>
+ </children>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_qC9nubwdEeSIRf-5f0gG0g"/>
+ </children>
+ <element xmi:type="uml:Region" href="ancestor.uml#_qC4IILwdEeSIRf-5f0gG0g"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_qC9nurwdEeSIRf-5f0gG0g" width="700" height="287"/>
+ </children>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_qC9nu7wdEeSIRf-5f0gG0g" y="30" width="700" height="287"/>
+ </children>
+ <element xmi:type="uml:StateMachine" href="ancestor.uml#_qCgUsLwdEeSIRf-5f0gG0g"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_qC9nvLwdEeSIRf-5f0gG0g" x="30" y="30" width="700" height="317"/>
+ </children>
+ <styles xmi:type="notation:StringValueStyle" xmi:id="_qC9nvbwdEeSIRf-5f0gG0g" name="diagram_compatibility_version" stringValue="1.0.0"/>
+ <styles xmi:type="notation:DiagramStyle" xmi:id="_qC9nvrwdEeSIRf-5f0gG0g"/>
+ <styles xmi:type="style:PapyrusViewStyle" xmi:id="_qC9nv7wdEeSIRf-5f0gG0g">
+ <owner xmi:type="uml:Model" href="ancestor.uml#_qBqAILwdEeSIRf-5f0gG0g"/>
+ </styles>
+ <element xmi:type="uml:StateMachine" href="ancestor.uml#_qCgUsLwdEeSIRf-5f0gG0g"/>
+ <edges xmi:type="notation:Connector" xmi:id="_4tqlUMjFEeSlR5E9fXQsvA" type="7000" source="_zf4R0MjFEeSlR5E9fXQsvA" target="_1w1AwMjFEeSlR5E9fXQsvA">
+ <children xmi:type="notation:DecorationNode" xmi:id="_4trMYMjFEeSlR5E9fXQsvA" type="7001">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_4trzcMjFEeSlR5E9fXQsvA"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_4trzccjFEeSlR5E9fXQsvA" type="7002">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_4trzcsjFEeSlR5E9fXQsvA"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_4trzc8jFEeSlR5E9fXQsvA" type="7003">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_4trzdMjFEeSlR5E9fXQsvA" y="60"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_4tqlUcjFEeSlR5E9fXQsvA"/>
+ <element xmi:type="uml:Transition" href="ancestor.uml#_4rv5wMjFEeSlR5E9fXQsvA"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_4tqlUsjFEeSlR5E9fXQsvA" points="[8, -3, -98, 33]$[90, -33, -16, 3]"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_62v1QNLXEeSzBO7rhIZWOw" type="7000" source="_zf4R0MjFEeSlR5E9fXQsvA" target="_l32-YNIEEeSvO5owlqm60A">
+ <children xmi:type="notation:DecorationNode" xmi:id="_62v1Q9LXEeSzBO7rhIZWOw" type="7001">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_62v1RNLXEeSzBO7rhIZWOw"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_62v1RdLXEeSzBO7rhIZWOw" type="7002">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_62v1RtLXEeSzBO7rhIZWOw"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_62wcUNLXEeSzBO7rhIZWOw" type="7003">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_62wcUdLXEeSzBO7rhIZWOw" y="60"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_62v1QdLXEeSzBO7rhIZWOw"/>
+ <element xmi:type="uml:Transition" href="ancestor.uml#_62rj0NLXEeSzBO7rhIZWOw"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_62v1QtLXEeSzBO7rhIZWOw" points="[7, 35, -14, -85]$[26, 157, 5, 37]"/>
+ </edges>
+ </notation:Diagram>
+ <css:ModelStyleSheets xmi:id="_ksNDkNIEEeSvO5owlqm60A"/>
+</xmi:XMI>
diff --git a/plugins/org.eclipse.emf.compare.diagram.papyrus.tests/src/org/eclipse/emf/compare/diagram/papyrus/tests/merge/data/assocs/threeway/t1/ancestor.uml b/plugins/org.eclipse.emf.compare.diagram.papyrus.tests/src/org/eclipse/emf/compare/diagram/papyrus/tests/merge/data/assocs/threeway/t1/ancestor.uml new file mode 100644 index 000000000..03e0efcdc --- /dev/null +++ b/plugins/org.eclipse.emf.compare.diagram.papyrus.tests/src/org/eclipse/emf/compare/diagram/papyrus/tests/merge/data/assocs/threeway/t1/ancestor.uml @@ -0,0 +1,13 @@ +<?xml version="1.0" encoding="UTF-8"?>
+<uml:Model xmi:version="20131001" xmlns:xmi="http://www.omg.org/spec/XMI/20131001" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xmi:id="_qBqAILwdEeSIRf-5f0gG0g" name="model">
+ <packagedElement xmi:type="uml:StateMachine" xmi:id="_qCgUsLwdEeSIRf-5f0gG0g" name="StateMachine1">
+ <region xmi:type="uml:Region" xmi:id="_qC4IILwdEeSIRf-5f0gG0g" name="Region1">
+ <transition xmi:type="uml:Transition" xmi:id="_4rv5wMjFEeSlR5E9fXQsvA" source="_zfvH4MjFEeSlR5E9fXQsvA" target="_1wykgMjFEeSlR5E9fXQsvA"/>
+ <transition xmi:type="uml:Transition" xmi:id="_62rj0NLXEeSzBO7rhIZWOw" source="_zfvH4MjFEeSlR5E9fXQsvA" target="_l3kqgNIEEeSvO5owlqm60A"/>
+ <subvertex xmi:type="uml:State" xmi:id="_zfvH4MjFEeSlR5E9fXQsvA" name="State1"/>
+ <subvertex xmi:type="uml:State" xmi:id="_1wykgMjFEeSlR5E9fXQsvA" name="State2"/>
+ <subvertex xmi:type="uml:State" xmi:id="_3nluEMjFEeSlR5E9fXQsvA" name="State3"/>
+ <subvertex xmi:type="uml:State" xmi:id="_l3kqgNIEEeSvO5owlqm60A" name="State4"/>
+ </region>
+ </packagedElement>
+</uml:Model>
diff --git a/plugins/org.eclipse.emf.compare.diagram.papyrus.tests/src/org/eclipse/emf/compare/diagram/papyrus/tests/merge/data/assocs/threeway/t1/left.di b/plugins/org.eclipse.emf.compare.diagram.papyrus.tests/src/org/eclipse/emf/compare/diagram/papyrus/tests/merge/data/assocs/threeway/t1/left.di new file mode 100644 index 000000000..8634d4c00 --- /dev/null +++ b/plugins/org.eclipse.emf.compare.diagram.papyrus.tests/src/org/eclipse/emf/compare/diagram/papyrus/tests/merge/data/assocs/threeway/t1/left.di @@ -0,0 +1,2 @@ +<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI"/>
diff --git a/plugins/org.eclipse.emf.compare.diagram.papyrus.tests/src/org/eclipse/emf/compare/diagram/papyrus/tests/merge/data/assocs/threeway/t1/left.notation b/plugins/org.eclipse.emf.compare.diagram.papyrus.tests/src/org/eclipse/emf/compare/diagram/papyrus/tests/merge/data/assocs/threeway/t1/left.notation new file mode 100644 index 000000000..984b832d0 --- /dev/null +++ b/plugins/org.eclipse.emf.compare.diagram.papyrus.tests/src/org/eclipse/emf/compare/diagram/papyrus/tests/merge/data/assocs/threeway/t1/left.notation @@ -0,0 +1,119 @@ +<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:css="http://www.eclipse.org/papyrus/infra/gmfdiag/css" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:notation="http://www.eclipse.org/gmf/runtime/1.0.2/notation" xmlns:style="http://www.eclipse.org/papyrus/infra/viewpoints/policy/style" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML">
+ <notation:Diagram xmi:id="_qC9nsLwdEeSIRf-5f0gG0g" type="PapyrusUMLStateMachineDiagram" name="NewDiagram" measurementUnit="Pixel">
+ <children xmi:type="notation:Shape" xmi:id="_qC9nsbwdEeSIRf-5f0gG0g" type="2000">
+ <children xmi:type="notation:DecorationNode" xmi:id="_qC9nsrwdEeSIRf-5f0gG0g" type="2001">
+ <element xmi:type="uml:StateMachine" href="left.uml#_qCgUsLwdEeSIRf-5f0gG0g"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_qC9ns7wdEeSIRf-5f0gG0g" width="700" height="30"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_qC9ntLwdEeSIRf-5f0gG0g" type="2002">
+ <children xmi:type="notation:Shape" xmi:id="_qC9ntbwdEeSIRf-5f0gG0g" type="3000">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_qC9ntrwdEeSIRf-5f0gG0g" source="RegionAnnotationKey">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_qC9nt7wdEeSIRf-5f0gG0g" key="RegionZoneKey" value=""/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="_qC9nuLwdEeSIRf-5f0gG0g" type="3002">
+ <children xmi:type="notation:Shape" xmi:id="_zf4R0MjFEeSlR5E9fXQsvA" type="6000">
+ <children xmi:type="notation:DecorationNode" xmi:id="_zf5f8MjFEeSlR5E9fXQsvA" type="6001">
+ <element xmi:type="uml:State" href="left.uml#_zfvH4MjFEeSlR5E9fXQsvA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_1aMCYMjFEeSlR5E9fXQsvA" width="203"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_zf5f8cjFEeSlR5E9fXQsvA" type="6002">
+ <element xmi:type="uml:State" href="left.uml#_zfvH4MjFEeSlR5E9fXQsvA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_zf5f8sjFEeSlR5E9fXQsvA" y="-1" width="203"/>
+ </children>
+ <element xmi:type="uml:State" href="left.uml#_zfvH4MjFEeSlR5E9fXQsvA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_zf4R0cjFEeSlR5E9fXQsvA" x="112" y="66" width="203" height="69"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_1w1AwMjFEeSlR5E9fXQsvA" type="6000">
+ <children xmi:type="notation:DecorationNode" xmi:id="_1w1n0MjFEeSlR5E9fXQsvA" type="6001">
+ <element xmi:type="uml:State" href="left.uml#_1wykgMjFEeSlR5E9fXQsvA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_2GKXkMjFEeSlR5E9fXQsvA" width="169"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_1w1n0cjFEeSlR5E9fXQsvA" type="6002">
+ <element xmi:type="uml:State" href="left.uml#_1wykgMjFEeSlR5E9fXQsvA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_1w1n0sjFEeSlR5E9fXQsvA" y="-1" width="169"/>
+ </children>
+ <element xmi:type="uml:State" href="left.uml#_1wykgMjFEeSlR5E9fXQsvA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_1w1AwcjFEeSlR5E9fXQsvA" x="397" y="12" width="169" height="62"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_3noKUMjFEeSlR5E9fXQsvA" type="6000">
+ <children xmi:type="notation:DecorationNode" xmi:id="_3noKUsjFEeSlR5E9fXQsvA" type="6001">
+ <element xmi:type="uml:State" href="left.uml#_3nluEMjFEeSlR5E9fXQsvA"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_3noxYMjFEeSlR5E9fXQsvA" type="6002">
+ <element xmi:type="uml:State" href="left.uml#_3nluEMjFEeSlR5E9fXQsvA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_3noxYcjFEeSlR5E9fXQsvA"/>
+ </children>
+ <element xmi:type="uml:State" href="left.uml#_3nluEMjFEeSlR5E9fXQsvA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_3noKUcjFEeSlR5E9fXQsvA" x="401" y="113" width="157" height="73"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_l32-YNIEEeSvO5owlqm60A" type="6000">
+ <children xmi:type="notation:DecorationNode" xmi:id="_l34MgNIEEeSvO5owlqm60A" type="6001">
+ <element xmi:type="uml:State" href="left.uml#_l3kqgNIEEeSvO5owlqm60A"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_l34MgdIEEeSvO5owlqm60A" type="19003">
+ <element xmi:type="uml:State" href="left.uml#_l3kqgNIEEeSvO5owlqm60A"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_l34zkNIEEeSvO5owlqm60A" x="40"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_l34zkdIEEeSvO5owlqm60A" type="6002">
+ <element xmi:type="uml:State" href="left.uml#_l3kqgNIEEeSvO5owlqm60A"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_l34zktIEEeSvO5owlqm60A"/>
+ </children>
+ <element xmi:type="uml:State" href="left.uml#_l3kqgNIEEeSvO5owlqm60A"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_l32-YdIEEeSvO5owlqm60A" x="157" y="183" width="154" height="74"/>
+ </children>
+ <element xmi:type="uml:Region" href="left.uml#_qC4IILwdEeSIRf-5f0gG0g"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_qC9nubwdEeSIRf-5f0gG0g"/>
+ </children>
+ <element xmi:type="uml:Region" href="left.uml#_qC4IILwdEeSIRf-5f0gG0g"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_qC9nurwdEeSIRf-5f0gG0g" width="700" height="287"/>
+ </children>
+ <element xmi:type="uml:StateMachine" href="left.uml#_qCgUsLwdEeSIRf-5f0gG0g"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_qC9nu7wdEeSIRf-5f0gG0g" y="30" width="700" height="287"/>
+ </children>
+ <element xmi:type="uml:StateMachine" href="left.uml#_qCgUsLwdEeSIRf-5f0gG0g"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_qC9nvLwdEeSIRf-5f0gG0g" x="30" y="30" width="700" height="317"/>
+ </children>
+ <styles xmi:type="notation:StringValueStyle" xmi:id="_qC9nvbwdEeSIRf-5f0gG0g" name="diagram_compatibility_version" stringValue="1.0.0"/>
+ <styles xmi:type="notation:DiagramStyle" xmi:id="_qC9nvrwdEeSIRf-5f0gG0g"/>
+ <styles xmi:type="style:PapyrusViewStyle" xmi:id="_qC9nv7wdEeSIRf-5f0gG0g">
+ <owner xmi:type="uml:Model" href="left.uml#_qBqAILwdEeSIRf-5f0gG0g"/>
+ </styles>
+ <element xmi:type="uml:StateMachine" href="left.uml#_qCgUsLwdEeSIRf-5f0gG0g"/>
+ <edges xmi:type="notation:Connector" xmi:id="_4tqlUMjFEeSlR5E9fXQsvA" type="7000" source="_zf4R0MjFEeSlR5E9fXQsvA" target="_3noKUMjFEeSlR5E9fXQsvA">
+ <children xmi:type="notation:DecorationNode" xmi:id="_4trMYMjFEeSlR5E9fXQsvA" type="7001">
+ <element xmi:type="uml:Transition" href="left.uml#_4rv5wMjFEeSlR5E9fXQsvA"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_4trzcMjFEeSlR5E9fXQsvA"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_4trzccjFEeSlR5E9fXQsvA" type="7002">
+ <element xmi:type="uml:Transition" href="left.uml#_4rv5wMjFEeSlR5E9fXQsvA"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_4trzcsjFEeSlR5E9fXQsvA"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_4trzc8jFEeSlR5E9fXQsvA" type="7003">
+ <element xmi:type="uml:Transition" href="left.uml#_4rv5wMjFEeSlR5E9fXQsvA"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_4trzdMjFEeSlR5E9fXQsvA" y="60"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_4tqlUcjFEeSlR5E9fXQsvA"/>
+ <element xmi:type="uml:Transition" href="left.uml#_4rv5wMjFEeSlR5E9fXQsvA"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_4tqlUsjFEeSlR5E9fXQsvA" points="[8, -3, -98, 33]$[90, -33, -16, 3]"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_62v1QNLXEeSzBO7rhIZWOw" type="7000" source="_zf4R0MjFEeSlR5E9fXQsvA" target="_l32-YNIEEeSvO5owlqm60A">
+ <children xmi:type="notation:DecorationNode" xmi:id="_62v1Q9LXEeSzBO7rhIZWOw" type="7001">
+ <element xmi:type="uml:Transition" href="left.uml#_62rj0NLXEeSzBO7rhIZWOw"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_62v1RNLXEeSzBO7rhIZWOw"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_62v1RdLXEeSzBO7rhIZWOw" type="7002">
+ <element xmi:type="uml:Transition" href="left.uml#_62rj0NLXEeSzBO7rhIZWOw"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_62v1RtLXEeSzBO7rhIZWOw"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_62wcUNLXEeSzBO7rhIZWOw" type="7003">
+ <element xmi:type="uml:Transition" href="left.uml#_62rj0NLXEeSzBO7rhIZWOw"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_62wcUdLXEeSzBO7rhIZWOw" y="60"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_62v1QdLXEeSzBO7rhIZWOw"/>
+ <element xmi:type="uml:Transition" href="left.uml#_62rj0NLXEeSzBO7rhIZWOw"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_62v1QtLXEeSzBO7rhIZWOw" points="[7, 35, -14, -85]$[26, 157, 5, 37]"/>
+ </edges>
+ </notation:Diagram>
+ <css:ModelStyleSheets xmi:id="_ksNDkNIEEeSvO5owlqm60A"/>
+</xmi:XMI>
diff --git a/plugins/org.eclipse.emf.compare.diagram.papyrus.tests/src/org/eclipse/emf/compare/diagram/papyrus/tests/merge/data/assocs/threeway/t1/left.uml b/plugins/org.eclipse.emf.compare.diagram.papyrus.tests/src/org/eclipse/emf/compare/diagram/papyrus/tests/merge/data/assocs/threeway/t1/left.uml new file mode 100644 index 000000000..0a94bbc75 --- /dev/null +++ b/plugins/org.eclipse.emf.compare.diagram.papyrus.tests/src/org/eclipse/emf/compare/diagram/papyrus/tests/merge/data/assocs/threeway/t1/left.uml @@ -0,0 +1,13 @@ +<?xml version="1.0" encoding="UTF-8"?>
+<uml:Model xmi:version="20131001" xmlns:xmi="http://www.omg.org/spec/XMI/20131001" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xmi:id="_qBqAILwdEeSIRf-5f0gG0g" name="model">
+ <packagedElement xmi:type="uml:StateMachine" xmi:id="_qCgUsLwdEeSIRf-5f0gG0g" name="StateMachine1">
+ <region xmi:type="uml:Region" xmi:id="_qC4IILwdEeSIRf-5f0gG0g" name="Region1">
+ <transition xmi:type="uml:Transition" xmi:id="_4rv5wMjFEeSlR5E9fXQsvA" source="_zfvH4MjFEeSlR5E9fXQsvA" target="_3nluEMjFEeSlR5E9fXQsvA"/>
+ <transition xmi:type="uml:Transition" xmi:id="_62rj0NLXEeSzBO7rhIZWOw" source="_zfvH4MjFEeSlR5E9fXQsvA" target="_l3kqgNIEEeSvO5owlqm60A"/>
+ <subvertex xmi:type="uml:State" xmi:id="_zfvH4MjFEeSlR5E9fXQsvA" name="State1"/>
+ <subvertex xmi:type="uml:State" xmi:id="_1wykgMjFEeSlR5E9fXQsvA" name="State2"/>
+ <subvertex xmi:type="uml:State" xmi:id="_3nluEMjFEeSlR5E9fXQsvA" name="State3"/>
+ <subvertex xmi:type="uml:State" xmi:id="_l3kqgNIEEeSvO5owlqm60A" name="State4"/>
+ </region>
+ </packagedElement>
+</uml:Model>
diff --git a/plugins/org.eclipse.emf.compare.diagram.papyrus.tests/src/org/eclipse/emf/compare/diagram/papyrus/tests/merge/data/assocs/threeway/t1/package-info.java b/plugins/org.eclipse.emf.compare.diagram.papyrus.tests/src/org/eclipse/emf/compare/diagram/papyrus/tests/merge/data/assocs/threeway/t1/package-info.java new file mode 100644 index 000000000..94f60256e --- /dev/null +++ b/plugins/org.eclipse.emf.compare.diagram.papyrus.tests/src/org/eclipse/emf/compare/diagram/papyrus/tests/merge/data/assocs/threeway/t1/package-info.java @@ -0,0 +1,18 @@ +/******************************************************************************* + * Copyright (c) 2015 Obeo. + * 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: + * Obeo - initial API and implementation + *******************************************************************************/ + +/** + * This package contains test data for the case of an existing transition whose source + * or target is changed in a branch. + * + * @author <a href="mailto:laurent.delaigue@obeo.fr">Laurent Delaigue</a> + */ +package org.eclipse.emf.compare.diagram.papyrus.tests.merge.data.assocs.threeway.t1;
\ No newline at end of file diff --git a/plugins/org.eclipse.emf.compare.diagram.papyrus.tests/src/org/eclipse/emf/compare/diagram/papyrus/tests/merge/data/assocs/threeway/t1/right.di b/plugins/org.eclipse.emf.compare.diagram.papyrus.tests/src/org/eclipse/emf/compare/diagram/papyrus/tests/merge/data/assocs/threeway/t1/right.di new file mode 100644 index 000000000..8634d4c00 --- /dev/null +++ b/plugins/org.eclipse.emf.compare.diagram.papyrus.tests/src/org/eclipse/emf/compare/diagram/papyrus/tests/merge/data/assocs/threeway/t1/right.di @@ -0,0 +1,2 @@ +<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI"/>
diff --git a/plugins/org.eclipse.emf.compare.diagram.papyrus.tests/src/org/eclipse/emf/compare/diagram/papyrus/tests/merge/data/assocs/threeway/t1/right.notation b/plugins/org.eclipse.emf.compare.diagram.papyrus.tests/src/org/eclipse/emf/compare/diagram/papyrus/tests/merge/data/assocs/threeway/t1/right.notation new file mode 100644 index 000000000..52addc825 --- /dev/null +++ b/plugins/org.eclipse.emf.compare.diagram.papyrus.tests/src/org/eclipse/emf/compare/diagram/papyrus/tests/merge/data/assocs/threeway/t1/right.notation @@ -0,0 +1,119 @@ +<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:css="http://www.eclipse.org/papyrus/infra/gmfdiag/css" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:notation="http://www.eclipse.org/gmf/runtime/1.0.2/notation" xmlns:style="http://www.eclipse.org/papyrus/infra/viewpoints/policy/style" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML">
+ <notation:Diagram xmi:id="_qC9nsLwdEeSIRf-5f0gG0g" type="PapyrusUMLStateMachineDiagram" name="NewDiagram" measurementUnit="Pixel">
+ <children xmi:type="notation:Shape" xmi:id="_qC9nsbwdEeSIRf-5f0gG0g" type="2000">
+ <children xmi:type="notation:DecorationNode" xmi:id="_qC9nsrwdEeSIRf-5f0gG0g" type="2001">
+ <element xmi:type="uml:StateMachine" href="right.uml#_qCgUsLwdEeSIRf-5f0gG0g"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_qC9ns7wdEeSIRf-5f0gG0g" width="700" height="30"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_qC9ntLwdEeSIRf-5f0gG0g" type="2002">
+ <children xmi:type="notation:Shape" xmi:id="_qC9ntbwdEeSIRf-5f0gG0g" type="3000">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_qC9ntrwdEeSIRf-5f0gG0g" source="RegionAnnotationKey">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_qC9nt7wdEeSIRf-5f0gG0g" key="RegionZoneKey" value=""/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="_qC9nuLwdEeSIRf-5f0gG0g" type="3002">
+ <children xmi:type="notation:Shape" xmi:id="_zf4R0MjFEeSlR5E9fXQsvA" type="6000">
+ <children xmi:type="notation:DecorationNode" xmi:id="_zf5f8MjFEeSlR5E9fXQsvA" type="6001">
+ <element xmi:type="uml:State" href="right.uml#_zfvH4MjFEeSlR5E9fXQsvA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_1aMCYMjFEeSlR5E9fXQsvA" width="203"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_zf5f8cjFEeSlR5E9fXQsvA" type="6002">
+ <element xmi:type="uml:State" href="right.uml#_zfvH4MjFEeSlR5E9fXQsvA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_zf5f8sjFEeSlR5E9fXQsvA" y="-1" width="203"/>
+ </children>
+ <element xmi:type="uml:State" href="right.uml#_zfvH4MjFEeSlR5E9fXQsvA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_zf4R0cjFEeSlR5E9fXQsvA" x="112" y="66" width="203" height="69"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_1w1AwMjFEeSlR5E9fXQsvA" type="6000">
+ <children xmi:type="notation:DecorationNode" xmi:id="_1w1n0MjFEeSlR5E9fXQsvA" type="6001">
+ <element xmi:type="uml:State" href="right.uml#_1wykgMjFEeSlR5E9fXQsvA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_2GKXkMjFEeSlR5E9fXQsvA" width="169"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_1w1n0cjFEeSlR5E9fXQsvA" type="6002">
+ <element xmi:type="uml:State" href="right.uml#_1wykgMjFEeSlR5E9fXQsvA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_1w1n0sjFEeSlR5E9fXQsvA" y="-1" width="169"/>
+ </children>
+ <element xmi:type="uml:State" href="right.uml#_1wykgMjFEeSlR5E9fXQsvA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_1w1AwcjFEeSlR5E9fXQsvA" x="397" y="12" width="169" height="62"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_3noKUMjFEeSlR5E9fXQsvA" type="6000">
+ <children xmi:type="notation:DecorationNode" xmi:id="_3noKUsjFEeSlR5E9fXQsvA" type="6001">
+ <element xmi:type="uml:State" href="right.uml#_3nluEMjFEeSlR5E9fXQsvA"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_3noxYMjFEeSlR5E9fXQsvA" type="6002">
+ <element xmi:type="uml:State" href="right.uml#_3nluEMjFEeSlR5E9fXQsvA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_3noxYcjFEeSlR5E9fXQsvA"/>
+ </children>
+ <element xmi:type="uml:State" href="right.uml#_3nluEMjFEeSlR5E9fXQsvA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_3noKUcjFEeSlR5E9fXQsvA" x="401" y="113" width="157" height="73"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_l32-YNIEEeSvO5owlqm60A" type="6000">
+ <children xmi:type="notation:DecorationNode" xmi:id="_l34MgNIEEeSvO5owlqm60A" type="6001">
+ <element xmi:type="uml:State" href="right.uml#_l3kqgNIEEeSvO5owlqm60A"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_l34MgdIEEeSvO5owlqm60A" type="19003">
+ <element xmi:type="uml:State" href="right.uml#_l3kqgNIEEeSvO5owlqm60A"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_l34zkNIEEeSvO5owlqm60A" x="40"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_l34zkdIEEeSvO5owlqm60A" type="6002">
+ <element xmi:type="uml:State" href="right.uml#_l3kqgNIEEeSvO5owlqm60A"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_l34zktIEEeSvO5owlqm60A"/>
+ </children>
+ <element xmi:type="uml:State" href="right.uml#_l3kqgNIEEeSvO5owlqm60A"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_l32-YdIEEeSvO5owlqm60A" x="157" y="183" width="154" height="74"/>
+ </children>
+ <element xmi:type="uml:Region" href="right.uml#_qC4IILwdEeSIRf-5f0gG0g"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_qC9nubwdEeSIRf-5f0gG0g"/>
+ </children>
+ <element xmi:type="uml:Region" href="right.uml#_qC4IILwdEeSIRf-5f0gG0g"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_qC9nurwdEeSIRf-5f0gG0g" width="700" height="287"/>
+ </children>
+ <element xmi:type="uml:StateMachine" href="right.uml#_qCgUsLwdEeSIRf-5f0gG0g"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_qC9nu7wdEeSIRf-5f0gG0g" y="30" width="700" height="287"/>
+ </children>
+ <element xmi:type="uml:StateMachine" href="right.uml#_qCgUsLwdEeSIRf-5f0gG0g"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_qC9nvLwdEeSIRf-5f0gG0g" x="30" y="30" width="700" height="317"/>
+ </children>
+ <styles xmi:type="notation:StringValueStyle" xmi:id="_qC9nvbwdEeSIRf-5f0gG0g" name="diagram_compatibility_version" stringValue="1.0.0"/>
+ <styles xmi:type="notation:DiagramStyle" xmi:id="_qC9nvrwdEeSIRf-5f0gG0g"/>
+ <styles xmi:type="style:PapyrusViewStyle" xmi:id="_qC9nv7wdEeSIRf-5f0gG0g">
+ <owner xmi:type="uml:Model" href="right.uml#_qBqAILwdEeSIRf-5f0gG0g"/>
+ </styles>
+ <element xmi:type="uml:StateMachine" href="right.uml#_qCgUsLwdEeSIRf-5f0gG0g"/>
+ <edges xmi:type="notation:Connector" xmi:id="_4tqlUMjFEeSlR5E9fXQsvA" type="7000" source="_zf4R0MjFEeSlR5E9fXQsvA" target="_1w1AwMjFEeSlR5E9fXQsvA">
+ <children xmi:type="notation:DecorationNode" xmi:id="_4trMYMjFEeSlR5E9fXQsvA" type="7001">
+ <element xmi:type="uml:Transition" href="right.uml#_4rv5wMjFEeSlR5E9fXQsvA"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_4trzcMjFEeSlR5E9fXQsvA"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_4trzccjFEeSlR5E9fXQsvA" type="7002">
+ <element xmi:type="uml:Transition" href="right.uml#_4rv5wMjFEeSlR5E9fXQsvA"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_4trzcsjFEeSlR5E9fXQsvA"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_4trzc8jFEeSlR5E9fXQsvA" type="7003">
+ <element xmi:type="uml:Transition" href="right.uml#_4rv5wMjFEeSlR5E9fXQsvA"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_4trzdMjFEeSlR5E9fXQsvA" y="60"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_4tqlUcjFEeSlR5E9fXQsvA"/>
+ <element xmi:type="uml:Transition" href="right.uml#_4rv5wMjFEeSlR5E9fXQsvA"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_4tqlUsjFEeSlR5E9fXQsvA" points="[8, -3, -98, 33]$[90, -33, -16, 3]"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_62v1QNLXEeSzBO7rhIZWOw" type="7000" source="_3noKUMjFEeSlR5E9fXQsvA" target="_l32-YNIEEeSvO5owlqm60A">
+ <children xmi:type="notation:DecorationNode" xmi:id="_62v1Q9LXEeSzBO7rhIZWOw" type="7001">
+ <element xmi:type="uml:Transition" href="right.uml#_62rj0NLXEeSzBO7rhIZWOw"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_62v1RNLXEeSzBO7rhIZWOw"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_62v1RdLXEeSzBO7rhIZWOw" type="7002">
+ <element xmi:type="uml:Transition" href="right.uml#_62rj0NLXEeSzBO7rhIZWOw"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_62v1RtLXEeSzBO7rhIZWOw"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_62wcUNLXEeSzBO7rhIZWOw" type="7003">
+ <element xmi:type="uml:Transition" href="right.uml#_62rj0NLXEeSzBO7rhIZWOw"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_62wcUdLXEeSzBO7rhIZWOw" y="60"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_62v1QdLXEeSzBO7rhIZWOw"/>
+ <element xmi:type="uml:Transition" href="right.uml#_62rj0NLXEeSzBO7rhIZWOw"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_62v1QtLXEeSzBO7rhIZWOw" points="[7, 35, -14, -85]$[26, 157, 5, 37]"/>
+ </edges>
+ </notation:Diagram>
+ <css:ModelStyleSheets xmi:id="_ksNDkNIEEeSvO5owlqm60A"/>
+</xmi:XMI>
diff --git a/plugins/org.eclipse.emf.compare.diagram.papyrus.tests/src/org/eclipse/emf/compare/diagram/papyrus/tests/merge/data/assocs/threeway/t1/right.uml b/plugins/org.eclipse.emf.compare.diagram.papyrus.tests/src/org/eclipse/emf/compare/diagram/papyrus/tests/merge/data/assocs/threeway/t1/right.uml new file mode 100644 index 000000000..9048c9649 --- /dev/null +++ b/plugins/org.eclipse.emf.compare.diagram.papyrus.tests/src/org/eclipse/emf/compare/diagram/papyrus/tests/merge/data/assocs/threeway/t1/right.uml @@ -0,0 +1,13 @@ +<?xml version="1.0" encoding="UTF-8"?>
+<uml:Model xmi:version="20131001" xmlns:xmi="http://www.omg.org/spec/XMI/20131001" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xmi:id="_qBqAILwdEeSIRf-5f0gG0g" name="model">
+ <packagedElement xmi:type="uml:StateMachine" xmi:id="_qCgUsLwdEeSIRf-5f0gG0g" name="StateMachine1">
+ <region xmi:type="uml:Region" xmi:id="_qC4IILwdEeSIRf-5f0gG0g" name="Region1">
+ <transition xmi:type="uml:Transition" xmi:id="_4rv5wMjFEeSlR5E9fXQsvA" source="_zfvH4MjFEeSlR5E9fXQsvA" target="_1wykgMjFEeSlR5E9fXQsvA"/>
+ <transition xmi:type="uml:Transition" xmi:id="_62rj0NLXEeSzBO7rhIZWOw" source="_3nluEMjFEeSlR5E9fXQsvA" target="_l3kqgNIEEeSvO5owlqm60A"/>
+ <subvertex xmi:type="uml:State" xmi:id="_zfvH4MjFEeSlR5E9fXQsvA" name="State1"/>
+ <subvertex xmi:type="uml:State" xmi:id="_1wykgMjFEeSlR5E9fXQsvA" name="State2"/>
+ <subvertex xmi:type="uml:State" xmi:id="_3nluEMjFEeSlR5E9fXQsvA" name="State3"/>
+ <subvertex xmi:type="uml:State" xmi:id="_l3kqgNIEEeSvO5owlqm60A" name="State4"/>
+ </region>
+ </packagedElement>
+</uml:Model>
diff --git a/plugins/org.eclipse.emf.compare.diagram.papyrus.tests/src/org/eclipse/emf/compare/diagram/papyrus/tests/merge/data/assocs/twoway/a1/left.di b/plugins/org.eclipse.emf.compare.diagram.papyrus.tests/src/org/eclipse/emf/compare/diagram/papyrus/tests/merge/data/assocs/twoway/a1/left.di new file mode 100644 index 000000000..8634d4c00 --- /dev/null +++ b/plugins/org.eclipse.emf.compare.diagram.papyrus.tests/src/org/eclipse/emf/compare/diagram/papyrus/tests/merge/data/assocs/twoway/a1/left.di @@ -0,0 +1,2 @@ +<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI"/>
diff --git a/plugins/org.eclipse.emf.compare.diagram.papyrus.tests/src/org/eclipse/emf/compare/diagram/papyrus/tests/merge/data/assocs/twoway/a1/left.notation b/plugins/org.eclipse.emf.compare.diagram.papyrus.tests/src/org/eclipse/emf/compare/diagram/papyrus/tests/merge/data/assocs/twoway/a1/left.notation new file mode 100644 index 000000000..7163f436e --- /dev/null +++ b/plugins/org.eclipse.emf.compare.diagram.papyrus.tests/src/org/eclipse/emf/compare/diagram/papyrus/tests/merge/data/assocs/twoway/a1/left.notation @@ -0,0 +1,110 @@ +<?xml version="1.0" encoding="UTF-8"?>
+<notation:Diagram xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:notation="http://www.eclipse.org/gmf/runtime/1.0.2/notation" xmlns:style="http://www.eclipse.org/papyrus/infra/viewpoints/policy/style" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xmi:id="_zmK1oM7cEeSqqOMGqhj_Zg" type="PapyrusUMLClassDiagram" name="ClassDiagram" measurementUnit="Pixel">
+ <children xmi:type="notation:Shape" xmi:id="_0noSoM7cEeSqqOMGqhj_Zg" type="2008">
+ <children xmi:type="notation:DecorationNode" xmi:id="_0npgwM7cEeSqqOMGqhj_Zg" type="5029"/>
+ <children xmi:type="notation:DecorationNode" xmi:id="_0nqH0M7cEeSqqOMGqhj_Zg" type="8510">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_0nqH0c7cEeSqqOMGqhj_Zg" y="5"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_0nrV8M7cEeSqqOMGqhj_Zg" type="7017">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_0nrV8c7cEeSqqOMGqhj_Zg"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_0nrV8s7cEeSqqOMGqhj_Zg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_0nrV887cEeSqqOMGqhj_Zg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0nrV9M7cEeSqqOMGqhj_Zg"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_0nrV9c7cEeSqqOMGqhj_Zg" type="7018">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_0nrV9s7cEeSqqOMGqhj_Zg"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_0nrV987cEeSqqOMGqhj_Zg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_0nrV-M7cEeSqqOMGqhj_Zg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0nrV-c7cEeSqqOMGqhj_Zg"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_0nr9AM7cEeSqqOMGqhj_Zg" type="7019">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_0nr9Ac7cEeSqqOMGqhj_Zg"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_0nr9As7cEeSqqOMGqhj_Zg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_0nr9A87cEeSqqOMGqhj_Zg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0nr9BM7cEeSqqOMGqhj_Zg"/>
+ </children>
+ <element xmi:type="uml:Class" href="left.uml#_0nM00M7cEeSqqOMGqhj_Zg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0noSoc7cEeSqqOMGqhj_Zg" x="81" y="74"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_1K6l4M7cEeSqqOMGqhj_Zg" type="2008">
+ <children xmi:type="notation:DecorationNode" xmi:id="_1K6l4s7cEeSqqOMGqhj_Zg" type="5029"/>
+ <children xmi:type="notation:DecorationNode" xmi:id="_1K6l487cEeSqqOMGqhj_Zg" type="8510">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_1K6l5M7cEeSqqOMGqhj_Zg" y="5"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_1K6l5c7cEeSqqOMGqhj_Zg" type="7017">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_1K6l5s7cEeSqqOMGqhj_Zg"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_1K6l587cEeSqqOMGqhj_Zg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_1K6l6M7cEeSqqOMGqhj_Zg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_1K6l6c7cEeSqqOMGqhj_Zg"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_1K6l6s7cEeSqqOMGqhj_Zg" type="7018">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_1K6l687cEeSqqOMGqhj_Zg"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_1K6l7M7cEeSqqOMGqhj_Zg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_1K6l7c7cEeSqqOMGqhj_Zg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_1K6l7s7cEeSqqOMGqhj_Zg"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_1K6l787cEeSqqOMGqhj_Zg" type="7019">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_1K6l8M7cEeSqqOMGqhj_Zg"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_1K6l8c7cEeSqqOMGqhj_Zg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_1K6l8s7cEeSqqOMGqhj_Zg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_1K6l887cEeSqqOMGqhj_Zg"/>
+ </children>
+ <element xmi:type="uml:Class" href="left.uml#_1K5XwM7cEeSqqOMGqhj_Zg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_1K6l4c7cEeSqqOMGqhj_Zg" x="350" y="72"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_TX4o4M7fEeSqqOMGqhj_Zg" type="2008">
+ <children xmi:type="notation:DecorationNode" xmi:id="_TX4o4s7fEeSqqOMGqhj_Zg" type="5029"/>
+ <children xmi:type="notation:DecorationNode" xmi:id="_TX4o487fEeSqqOMGqhj_Zg" type="8510">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_TX4o5M7fEeSqqOMGqhj_Zg" y="5"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_TX4o5c7fEeSqqOMGqhj_Zg" type="7017">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_TX4o5s7fEeSqqOMGqhj_Zg"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_TX4o587fEeSqqOMGqhj_Zg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_TX4o6M7fEeSqqOMGqhj_Zg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_TX4o6c7fEeSqqOMGqhj_Zg"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_TX4o6s7fEeSqqOMGqhj_Zg" type="7018">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_TX4o687fEeSqqOMGqhj_Zg"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_TX4o7M7fEeSqqOMGqhj_Zg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_TX4o7c7fEeSqqOMGqhj_Zg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_TX4o7s7fEeSqqOMGqhj_Zg"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_TX4o787fEeSqqOMGqhj_Zg" type="7019">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_TX4o8M7fEeSqqOMGqhj_Zg"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_TX4o8c7fEeSqqOMGqhj_Zg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_TX4o8s7fEeSqqOMGqhj_Zg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_TX4o887fEeSqqOMGqhj_Zg"/>
+ </children>
+ <element xmi:type="uml:Class" href="left.uml#_TX3awM7fEeSqqOMGqhj_Zg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_TX4o4c7fEeSqqOMGqhj_Zg" x="349" y="243"/>
+ </children>
+ <styles xmi:type="notation:StringValueStyle" xmi:id="_zmK1oc7cEeSqqOMGqhj_Zg" name="diagram_compatibility_version" stringValue="1.0.0"/>
+ <styles xmi:type="notation:DiagramStyle" xmi:id="_zmK1os7cEeSqqOMGqhj_Zg"/>
+ <styles xmi:type="style:PapyrusViewStyle" xmi:id="_zmK1o87cEeSqqOMGqhj_Zg">
+ <owner xmi:type="uml:Model" href="left.uml#_soPaMM7cEeSqqOMGqhj_Zg"/>
+ </styles>
+ <element xmi:type="uml:Model" href="left.uml#_soPaMM7cEeSqqOMGqhj_Zg"/>
+ <edges xmi:type="notation:Connector" xmi:id="_38pGoM7cEeSqqOMGqhj_Zg" type="4001" source="_0noSoM7cEeSqqOMGqhj_Zg" target="_TX4o4M7fEeSqqOMGqhj_Zg">
+ <children xmi:type="notation:DecorationNode" xmi:id="_38pGo87cEeSqqOMGqhj_Zg" type="6001">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_38pGpM7cEeSqqOMGqhj_Zg" y="-20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_38pGpc7cEeSqqOMGqhj_Zg" type="6002">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_38pGps7cEeSqqOMGqhj_Zg" y="20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_38pGp87cEeSqqOMGqhj_Zg" type="6003">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_38pGqM7cEeSqqOMGqhj_Zg" y="-20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_38ptsM7cEeSqqOMGqhj_Zg" type="6005">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_38ptsc7cEeSqqOMGqhj_Zg" x="-21" y="31"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_38ptss7cEeSqqOMGqhj_Zg" type="6033">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_38pts87cEeSqqOMGqhj_Zg" y="20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_38pttM7cEeSqqOMGqhj_Zg" type="6034">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_38pttc7cEeSqqOMGqhj_Zg" y="-20"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_38pGoc7cEeSqqOMGqhj_Zg"/>
+ <element xmi:type="uml:Association" href="left.uml#_38mDUM7cEeSqqOMGqhj_Zg"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_38pGos7cEeSqqOMGqhj_Zg" points="[50, -8, -219, -6]$[219, -8, -50, -6]"/>
+ </edges>
+</notation:Diagram>
diff --git a/plugins/org.eclipse.emf.compare.diagram.papyrus.tests/src/org/eclipse/emf/compare/diagram/papyrus/tests/merge/data/assocs/twoway/a1/left.uml b/plugins/org.eclipse.emf.compare.diagram.papyrus.tests/src/org/eclipse/emf/compare/diagram/papyrus/tests/merge/data/assocs/twoway/a1/left.uml new file mode 100644 index 000000000..912ac1d40 --- /dev/null +++ b/plugins/org.eclipse.emf.compare.diagram.papyrus.tests/src/org/eclipse/emf/compare/diagram/papyrus/tests/merge/data/assocs/twoway/a1/left.uml @@ -0,0 +1,18 @@ +<?xml version="1.0" encoding="UTF-8"?>
+<uml:Model xmi:version="20131001" xmlns:xmi="http://www.omg.org/spec/XMI/20131001" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xmi:id="_soPaMM7cEeSqqOMGqhj_Zg" name="model">
+ <packagedElement xmi:type="uml:Class" xmi:id="_0nM00M7cEeSqqOMGqhj_Zg" name="Class1">
+ <ownedAttribute xmi:type="uml:Property" xmi:id="_38lcQM7cEeSqqOMGqhj_Zg" name="someRole" type="_TX3awM7fEeSqqOMGqhj_Zg" association="_38mDUM7cEeSqqOMGqhj_Zg">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_38lcQc7cEeSqqOMGqhj_Zg" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_38lcQs7cEeSqqOMGqhj_Zg" value="1"/>
+ </ownedAttribute>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Class" xmi:id="_1K5XwM7cEeSqqOMGqhj_Zg" name="Class2"/>
+ <packagedElement xmi:type="uml:Association" xmi:id="_38mDUM7cEeSqqOMGqhj_Zg" memberEnd="_38mDUc7cEeSqqOMGqhj_Zg _38lcQM7cEeSqqOMGqhj_Zg">
+ <name xsi:nil="true"/>
+ <ownedEnd xmi:type="uml:Property" xmi:id="_38mDUc7cEeSqqOMGqhj_Zg" name="class1" type="_0nM00M7cEeSqqOMGqhj_Zg" association="_38mDUM7cEeSqqOMGqhj_Zg">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_38mDUs7cEeSqqOMGqhj_Zg" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_38mDU87cEeSqqOMGqhj_Zg" value="1"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Class" xmi:id="_TX3awM7fEeSqqOMGqhj_Zg" name="Class3"/>
+</uml:Model>
diff --git a/plugins/org.eclipse.emf.compare.diagram.papyrus.tests/src/org/eclipse/emf/compare/diagram/papyrus/tests/merge/data/assocs/twoway/a1/package-info.java b/plugins/org.eclipse.emf.compare.diagram.papyrus.tests/src/org/eclipse/emf/compare/diagram/papyrus/tests/merge/data/assocs/twoway/a1/package-info.java new file mode 100644 index 000000000..8e99c2f4f --- /dev/null +++ b/plugins/org.eclipse.emf.compare.diagram.papyrus.tests/src/org/eclipse/emf/compare/diagram/papyrus/tests/merge/data/assocs/twoway/a1/package-info.java @@ -0,0 +1,19 @@ +/******************************************************************************* + * Copyright (c) 2015 Obeo. + * 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: + * Obeo - initial API and implementation + *******************************************************************************/ + +/** + * Contains data for the following test case: Two classes C1 and C2 exist, and an association C1 -> C2 exists. + * The target property of this assoc is owned by class C1, whereas its source property is owned by the association itself. + * In the other model, a class C3 is added, and the association is reconnected to the new class C3. + * + * @author <a href="mailto:laurent.delaigue@obeo.fr">Laurent Delaigue</a> + */ +package org.eclipse.emf.compare.diagram.papyrus.tests.merge.data.assocs.twoway.a1;
\ No newline at end of file diff --git a/plugins/org.eclipse.emf.compare.diagram.papyrus.tests/src/org/eclipse/emf/compare/diagram/papyrus/tests/merge/data/assocs/twoway/a1/right.di b/plugins/org.eclipse.emf.compare.diagram.papyrus.tests/src/org/eclipse/emf/compare/diagram/papyrus/tests/merge/data/assocs/twoway/a1/right.di new file mode 100644 index 000000000..8634d4c00 --- /dev/null +++ b/plugins/org.eclipse.emf.compare.diagram.papyrus.tests/src/org/eclipse/emf/compare/diagram/papyrus/tests/merge/data/assocs/twoway/a1/right.di @@ -0,0 +1,2 @@ +<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI"/>
diff --git a/plugins/org.eclipse.emf.compare.diagram.papyrus.tests/src/org/eclipse/emf/compare/diagram/papyrus/tests/merge/data/assocs/twoway/a1/right.notation b/plugins/org.eclipse.emf.compare.diagram.papyrus.tests/src/org/eclipse/emf/compare/diagram/papyrus/tests/merge/data/assocs/twoway/a1/right.notation new file mode 100644 index 000000000..fa66bfe3f --- /dev/null +++ b/plugins/org.eclipse.emf.compare.diagram.papyrus.tests/src/org/eclipse/emf/compare/diagram/papyrus/tests/merge/data/assocs/twoway/a1/right.notation @@ -0,0 +1,84 @@ +<?xml version="1.0" encoding="UTF-8"?>
+<notation:Diagram xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:notation="http://www.eclipse.org/gmf/runtime/1.0.2/notation" xmlns:style="http://www.eclipse.org/papyrus/infra/viewpoints/policy/style" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xmi:id="_zmK1oM7cEeSqqOMGqhj_Zg" type="PapyrusUMLClassDiagram" name="ClassDiagram" measurementUnit="Pixel">
+ <children xmi:type="notation:Shape" xmi:id="_0noSoM7cEeSqqOMGqhj_Zg" type="2008">
+ <children xmi:type="notation:DecorationNode" xmi:id="_0npgwM7cEeSqqOMGqhj_Zg" type="5029"/>
+ <children xmi:type="notation:DecorationNode" xmi:id="_0nqH0M7cEeSqqOMGqhj_Zg" type="8510">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_0nqH0c7cEeSqqOMGqhj_Zg" y="5"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_0nrV8M7cEeSqqOMGqhj_Zg" type="7017">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_0nrV8c7cEeSqqOMGqhj_Zg"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_0nrV8s7cEeSqqOMGqhj_Zg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_0nrV887cEeSqqOMGqhj_Zg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0nrV9M7cEeSqqOMGqhj_Zg"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_0nrV9c7cEeSqqOMGqhj_Zg" type="7018">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_0nrV9s7cEeSqqOMGqhj_Zg"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_0nrV987cEeSqqOMGqhj_Zg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_0nrV-M7cEeSqqOMGqhj_Zg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0nrV-c7cEeSqqOMGqhj_Zg"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_0nr9AM7cEeSqqOMGqhj_Zg" type="7019">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_0nr9Ac7cEeSqqOMGqhj_Zg"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_0nr9As7cEeSqqOMGqhj_Zg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_0nr9A87cEeSqqOMGqhj_Zg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0nr9BM7cEeSqqOMGqhj_Zg"/>
+ </children>
+ <element xmi:type="uml:Class" href="right.uml#_0nM00M7cEeSqqOMGqhj_Zg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0noSoc7cEeSqqOMGqhj_Zg" x="81" y="74"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_1K6l4M7cEeSqqOMGqhj_Zg" type="2008">
+ <children xmi:type="notation:DecorationNode" xmi:id="_1K6l4s7cEeSqqOMGqhj_Zg" type="5029"/>
+ <children xmi:type="notation:DecorationNode" xmi:id="_1K6l487cEeSqqOMGqhj_Zg" type="8510">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_1K6l5M7cEeSqqOMGqhj_Zg" y="5"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_1K6l5c7cEeSqqOMGqhj_Zg" type="7017">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_1K6l5s7cEeSqqOMGqhj_Zg"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_1K6l587cEeSqqOMGqhj_Zg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_1K6l6M7cEeSqqOMGqhj_Zg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_1K6l6c7cEeSqqOMGqhj_Zg"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_1K6l6s7cEeSqqOMGqhj_Zg" type="7018">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_1K6l687cEeSqqOMGqhj_Zg"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_1K6l7M7cEeSqqOMGqhj_Zg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_1K6l7c7cEeSqqOMGqhj_Zg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_1K6l7s7cEeSqqOMGqhj_Zg"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_1K6l787cEeSqqOMGqhj_Zg" type="7019">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_1K6l8M7cEeSqqOMGqhj_Zg"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_1K6l8c7cEeSqqOMGqhj_Zg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_1K6l8s7cEeSqqOMGqhj_Zg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_1K6l887cEeSqqOMGqhj_Zg"/>
+ </children>
+ <element xmi:type="uml:Class" href="right.uml#_1K5XwM7cEeSqqOMGqhj_Zg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_1K6l4c7cEeSqqOMGqhj_Zg" x="350" y="72"/>
+ </children>
+ <styles xmi:type="notation:StringValueStyle" xmi:id="_zmK1oc7cEeSqqOMGqhj_Zg" name="diagram_compatibility_version" stringValue="1.0.0"/>
+ <styles xmi:type="notation:DiagramStyle" xmi:id="_zmK1os7cEeSqqOMGqhj_Zg"/>
+ <styles xmi:type="style:PapyrusViewStyle" xmi:id="_zmK1o87cEeSqqOMGqhj_Zg">
+ <owner xmi:type="uml:Model" href="right.uml#_soPaMM7cEeSqqOMGqhj_Zg"/>
+ </styles>
+ <element xmi:type="uml:Model" href="right.uml#_soPaMM7cEeSqqOMGqhj_Zg"/>
+ <edges xmi:type="notation:Connector" xmi:id="_38pGoM7cEeSqqOMGqhj_Zg" type="4001" source="_0noSoM7cEeSqqOMGqhj_Zg" target="_1K6l4M7cEeSqqOMGqhj_Zg">
+ <children xmi:type="notation:DecorationNode" xmi:id="_38pGo87cEeSqqOMGqhj_Zg" type="6001">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_38pGpM7cEeSqqOMGqhj_Zg" y="-20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_38pGpc7cEeSqqOMGqhj_Zg" type="6002">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_38pGps7cEeSqqOMGqhj_Zg" y="20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_38pGp87cEeSqqOMGqhj_Zg" type="6003">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_38pGqM7cEeSqqOMGqhj_Zg" y="-20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_38ptsM7cEeSqqOMGqhj_Zg" type="6005">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_38ptsc7cEeSqqOMGqhj_Zg" x="-21" y="31"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_38ptss7cEeSqqOMGqhj_Zg" type="6033">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_38pts87cEeSqqOMGqhj_Zg" y="20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_38pttM7cEeSqqOMGqhj_Zg" type="6034">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_38pttc7cEeSqqOMGqhj_Zg" y="-20"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_38pGoc7cEeSqqOMGqhj_Zg"/>
+ <element xmi:type="uml:Association" href="right.uml#_38mDUM7cEeSqqOMGqhj_Zg"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_38pGos7cEeSqqOMGqhj_Zg" points="[50, -8, -219, -6]$[219, -8, -50, -6]"/>
+ </edges>
+</notation:Diagram>
diff --git a/plugins/org.eclipse.emf.compare.diagram.papyrus.tests/src/org/eclipse/emf/compare/diagram/papyrus/tests/merge/data/assocs/twoway/a1/right.uml b/plugins/org.eclipse.emf.compare.diagram.papyrus.tests/src/org/eclipse/emf/compare/diagram/papyrus/tests/merge/data/assocs/twoway/a1/right.uml new file mode 100644 index 000000000..cdf730634 --- /dev/null +++ b/plugins/org.eclipse.emf.compare.diagram.papyrus.tests/src/org/eclipse/emf/compare/diagram/papyrus/tests/merge/data/assocs/twoway/a1/right.uml @@ -0,0 +1,17 @@ +<?xml version="1.0" encoding="UTF-8"?>
+<uml:Model xmi:version="20131001" xmlns:xmi="http://www.omg.org/spec/XMI/20131001" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xmi:id="_soPaMM7cEeSqqOMGqhj_Zg" name="model">
+ <packagedElement xmi:type="uml:Class" xmi:id="_0nM00M7cEeSqqOMGqhj_Zg" name="Class1">
+ <ownedAttribute xmi:type="uml:Property" xmi:id="_38lcQM7cEeSqqOMGqhj_Zg" name="someRole" type="_1K5XwM7cEeSqqOMGqhj_Zg" association="_38mDUM7cEeSqqOMGqhj_Zg">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_38lcQc7cEeSqqOMGqhj_Zg" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_38lcQs7cEeSqqOMGqhj_Zg" value="1"/>
+ </ownedAttribute>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Class" xmi:id="_1K5XwM7cEeSqqOMGqhj_Zg" name="Class2"/>
+ <packagedElement xmi:type="uml:Association" xmi:id="_38mDUM7cEeSqqOMGqhj_Zg" memberEnd="_38mDUc7cEeSqqOMGqhj_Zg _38lcQM7cEeSqqOMGqhj_Zg">
+ <name xsi:nil="true"/>
+ <ownedEnd xmi:type="uml:Property" xmi:id="_38mDUc7cEeSqqOMGqhj_Zg" name="class1" type="_0nM00M7cEeSqqOMGqhj_Zg" association="_38mDUM7cEeSqqOMGqhj_Zg">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_38mDUs7cEeSqqOMGqhj_Zg" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_38mDU87cEeSqqOMGqhj_Zg" value="1"/>
+ </ownedEnd>
+ </packagedElement>
+</uml:Model>
diff --git a/plugins/org.eclipse.emf.compare.diagram.papyrus.tests/src/org/eclipse/emf/compare/diagram/papyrus/tests/merge/data/assocs/twoway/a2/left.di b/plugins/org.eclipse.emf.compare.diagram.papyrus.tests/src/org/eclipse/emf/compare/diagram/papyrus/tests/merge/data/assocs/twoway/a2/left.di new file mode 100644 index 000000000..8634d4c00 --- /dev/null +++ b/plugins/org.eclipse.emf.compare.diagram.papyrus.tests/src/org/eclipse/emf/compare/diagram/papyrus/tests/merge/data/assocs/twoway/a2/left.di @@ -0,0 +1,2 @@ +<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI"/>
diff --git a/plugins/org.eclipse.emf.compare.diagram.papyrus.tests/src/org/eclipse/emf/compare/diagram/papyrus/tests/merge/data/assocs/twoway/a2/left.notation b/plugins/org.eclipse.emf.compare.diagram.papyrus.tests/src/org/eclipse/emf/compare/diagram/papyrus/tests/merge/data/assocs/twoway/a2/left.notation new file mode 100644 index 000000000..7163f436e --- /dev/null +++ b/plugins/org.eclipse.emf.compare.diagram.papyrus.tests/src/org/eclipse/emf/compare/diagram/papyrus/tests/merge/data/assocs/twoway/a2/left.notation @@ -0,0 +1,110 @@ +<?xml version="1.0" encoding="UTF-8"?>
+<notation:Diagram xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:notation="http://www.eclipse.org/gmf/runtime/1.0.2/notation" xmlns:style="http://www.eclipse.org/papyrus/infra/viewpoints/policy/style" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xmi:id="_zmK1oM7cEeSqqOMGqhj_Zg" type="PapyrusUMLClassDiagram" name="ClassDiagram" measurementUnit="Pixel">
+ <children xmi:type="notation:Shape" xmi:id="_0noSoM7cEeSqqOMGqhj_Zg" type="2008">
+ <children xmi:type="notation:DecorationNode" xmi:id="_0npgwM7cEeSqqOMGqhj_Zg" type="5029"/>
+ <children xmi:type="notation:DecorationNode" xmi:id="_0nqH0M7cEeSqqOMGqhj_Zg" type="8510">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_0nqH0c7cEeSqqOMGqhj_Zg" y="5"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_0nrV8M7cEeSqqOMGqhj_Zg" type="7017">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_0nrV8c7cEeSqqOMGqhj_Zg"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_0nrV8s7cEeSqqOMGqhj_Zg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_0nrV887cEeSqqOMGqhj_Zg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0nrV9M7cEeSqqOMGqhj_Zg"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_0nrV9c7cEeSqqOMGqhj_Zg" type="7018">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_0nrV9s7cEeSqqOMGqhj_Zg"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_0nrV987cEeSqqOMGqhj_Zg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_0nrV-M7cEeSqqOMGqhj_Zg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0nrV-c7cEeSqqOMGqhj_Zg"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_0nr9AM7cEeSqqOMGqhj_Zg" type="7019">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_0nr9Ac7cEeSqqOMGqhj_Zg"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_0nr9As7cEeSqqOMGqhj_Zg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_0nr9A87cEeSqqOMGqhj_Zg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0nr9BM7cEeSqqOMGqhj_Zg"/>
+ </children>
+ <element xmi:type="uml:Class" href="left.uml#_0nM00M7cEeSqqOMGqhj_Zg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0noSoc7cEeSqqOMGqhj_Zg" x="81" y="74"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_1K6l4M7cEeSqqOMGqhj_Zg" type="2008">
+ <children xmi:type="notation:DecorationNode" xmi:id="_1K6l4s7cEeSqqOMGqhj_Zg" type="5029"/>
+ <children xmi:type="notation:DecorationNode" xmi:id="_1K6l487cEeSqqOMGqhj_Zg" type="8510">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_1K6l5M7cEeSqqOMGqhj_Zg" y="5"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_1K6l5c7cEeSqqOMGqhj_Zg" type="7017">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_1K6l5s7cEeSqqOMGqhj_Zg"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_1K6l587cEeSqqOMGqhj_Zg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_1K6l6M7cEeSqqOMGqhj_Zg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_1K6l6c7cEeSqqOMGqhj_Zg"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_1K6l6s7cEeSqqOMGqhj_Zg" type="7018">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_1K6l687cEeSqqOMGqhj_Zg"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_1K6l7M7cEeSqqOMGqhj_Zg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_1K6l7c7cEeSqqOMGqhj_Zg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_1K6l7s7cEeSqqOMGqhj_Zg"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_1K6l787cEeSqqOMGqhj_Zg" type="7019">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_1K6l8M7cEeSqqOMGqhj_Zg"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_1K6l8c7cEeSqqOMGqhj_Zg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_1K6l8s7cEeSqqOMGqhj_Zg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_1K6l887cEeSqqOMGqhj_Zg"/>
+ </children>
+ <element xmi:type="uml:Class" href="left.uml#_1K5XwM7cEeSqqOMGqhj_Zg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_1K6l4c7cEeSqqOMGqhj_Zg" x="350" y="72"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_TX4o4M7fEeSqqOMGqhj_Zg" type="2008">
+ <children xmi:type="notation:DecorationNode" xmi:id="_TX4o4s7fEeSqqOMGqhj_Zg" type="5029"/>
+ <children xmi:type="notation:DecorationNode" xmi:id="_TX4o487fEeSqqOMGqhj_Zg" type="8510">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_TX4o5M7fEeSqqOMGqhj_Zg" y="5"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_TX4o5c7fEeSqqOMGqhj_Zg" type="7017">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_TX4o5s7fEeSqqOMGqhj_Zg"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_TX4o587fEeSqqOMGqhj_Zg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_TX4o6M7fEeSqqOMGqhj_Zg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_TX4o6c7fEeSqqOMGqhj_Zg"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_TX4o6s7fEeSqqOMGqhj_Zg" type="7018">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_TX4o687fEeSqqOMGqhj_Zg"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_TX4o7M7fEeSqqOMGqhj_Zg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_TX4o7c7fEeSqqOMGqhj_Zg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_TX4o7s7fEeSqqOMGqhj_Zg"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_TX4o787fEeSqqOMGqhj_Zg" type="7019">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_TX4o8M7fEeSqqOMGqhj_Zg"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_TX4o8c7fEeSqqOMGqhj_Zg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_TX4o8s7fEeSqqOMGqhj_Zg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_TX4o887fEeSqqOMGqhj_Zg"/>
+ </children>
+ <element xmi:type="uml:Class" href="left.uml#_TX3awM7fEeSqqOMGqhj_Zg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_TX4o4c7fEeSqqOMGqhj_Zg" x="349" y="243"/>
+ </children>
+ <styles xmi:type="notation:StringValueStyle" xmi:id="_zmK1oc7cEeSqqOMGqhj_Zg" name="diagram_compatibility_version" stringValue="1.0.0"/>
+ <styles xmi:type="notation:DiagramStyle" xmi:id="_zmK1os7cEeSqqOMGqhj_Zg"/>
+ <styles xmi:type="style:PapyrusViewStyle" xmi:id="_zmK1o87cEeSqqOMGqhj_Zg">
+ <owner xmi:type="uml:Model" href="left.uml#_soPaMM7cEeSqqOMGqhj_Zg"/>
+ </styles>
+ <element xmi:type="uml:Model" href="left.uml#_soPaMM7cEeSqqOMGqhj_Zg"/>
+ <edges xmi:type="notation:Connector" xmi:id="_38pGoM7cEeSqqOMGqhj_Zg" type="4001" source="_0noSoM7cEeSqqOMGqhj_Zg" target="_TX4o4M7fEeSqqOMGqhj_Zg">
+ <children xmi:type="notation:DecorationNode" xmi:id="_38pGo87cEeSqqOMGqhj_Zg" type="6001">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_38pGpM7cEeSqqOMGqhj_Zg" y="-20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_38pGpc7cEeSqqOMGqhj_Zg" type="6002">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_38pGps7cEeSqqOMGqhj_Zg" y="20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_38pGp87cEeSqqOMGqhj_Zg" type="6003">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_38pGqM7cEeSqqOMGqhj_Zg" y="-20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_38ptsM7cEeSqqOMGqhj_Zg" type="6005">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_38ptsc7cEeSqqOMGqhj_Zg" x="-21" y="31"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_38ptss7cEeSqqOMGqhj_Zg" type="6033">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_38pts87cEeSqqOMGqhj_Zg" y="20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_38pttM7cEeSqqOMGqhj_Zg" type="6034">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_38pttc7cEeSqqOMGqhj_Zg" y="-20"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_38pGoc7cEeSqqOMGqhj_Zg"/>
+ <element xmi:type="uml:Association" href="left.uml#_38mDUM7cEeSqqOMGqhj_Zg"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_38pGos7cEeSqqOMGqhj_Zg" points="[50, -8, -219, -6]$[219, -8, -50, -6]"/>
+ </edges>
+</notation:Diagram>
diff --git a/plugins/org.eclipse.emf.compare.diagram.papyrus.tests/src/org/eclipse/emf/compare/diagram/papyrus/tests/merge/data/assocs/twoway/a2/left.uml b/plugins/org.eclipse.emf.compare.diagram.papyrus.tests/src/org/eclipse/emf/compare/diagram/papyrus/tests/merge/data/assocs/twoway/a2/left.uml new file mode 100644 index 000000000..846af7ea5 --- /dev/null +++ b/plugins/org.eclipse.emf.compare.diagram.papyrus.tests/src/org/eclipse/emf/compare/diagram/papyrus/tests/merge/data/assocs/twoway/a2/left.uml @@ -0,0 +1,17 @@ +<?xml version="1.0" encoding="UTF-8"?>
+<uml:Model xmi:version="20131001" xmlns:xmi="http://www.omg.org/spec/XMI/20131001" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xmi:id="_soPaMM7cEeSqqOMGqhj_Zg" name="model">
+ <packagedElement xmi:type="uml:Class" xmi:id="_0nM00M7cEeSqqOMGqhj_Zg" name="Class1"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_1K5XwM7cEeSqqOMGqhj_Zg" name="Class2"/>
+ <packagedElement xmi:type="uml:Association" xmi:id="_38mDUM7cEeSqqOMGqhj_Zg" memberEnd="_38mDUc7cEeSqqOMGqhj_Zg _38lcQM7cEeSqqOMGqhj_Zg">
+ <name xsi:nil="true"/>
+ <ownedEnd xmi:type="uml:Property" xmi:id="_38mDUc7cEeSqqOMGqhj_Zg" name="class1" type="_0nM00M7cEeSqqOMGqhj_Zg" association="_38mDUM7cEeSqqOMGqhj_Zg">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_38mDUs7cEeSqqOMGqhj_Zg" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_38mDU87cEeSqqOMGqhj_Zg" value="1"/>
+ </ownedEnd>
+ <ownedEnd xmi:type="uml:Property" xmi:id="_38lcQM7cEeSqqOMGqhj_Zg" name="someRole" type="_TX3awM7fEeSqqOMGqhj_Zg" association="_38mDUM7cEeSqqOMGqhj_Zg">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_38lcQc7cEeSqqOMGqhj_Zg" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_38lcQs7cEeSqqOMGqhj_Zg" value="1"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Class" xmi:id="_TX3awM7fEeSqqOMGqhj_Zg" name="Class3"/>
+</uml:Model>
diff --git a/plugins/org.eclipse.emf.compare.diagram.papyrus.tests/src/org/eclipse/emf/compare/diagram/papyrus/tests/merge/data/assocs/twoway/a2/package-info.java b/plugins/org.eclipse.emf.compare.diagram.papyrus.tests/src/org/eclipse/emf/compare/diagram/papyrus/tests/merge/data/assocs/twoway/a2/package-info.java new file mode 100644 index 000000000..42a581137 --- /dev/null +++ b/plugins/org.eclipse.emf.compare.diagram.papyrus.tests/src/org/eclipse/emf/compare/diagram/papyrus/tests/merge/data/assocs/twoway/a2/package-info.java @@ -0,0 +1,19 @@ +/******************************************************************************* + * Copyright (c) 2015 Obeo. + * 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: + * Obeo - initial API and implementation + *******************************************************************************/ + +/** + * Contains data for the following test case: Two classes C1 and C2 exist, and an association C1 -> C2 exists. + * Both target and source properties of this assoc are owned by the association itself. + * In the other model, a class C3 is added, and the association is reconnected to the new class C3. + * + * @author <a href="mailto:laurent.delaigue@obeo.fr">Laurent Delaigue</a> + */ +package org.eclipse.emf.compare.diagram.papyrus.tests.merge.data.assocs.twoway.a2;
\ No newline at end of file diff --git a/plugins/org.eclipse.emf.compare.diagram.papyrus.tests/src/org/eclipse/emf/compare/diagram/papyrus/tests/merge/data/assocs/twoway/a2/right.di b/plugins/org.eclipse.emf.compare.diagram.papyrus.tests/src/org/eclipse/emf/compare/diagram/papyrus/tests/merge/data/assocs/twoway/a2/right.di new file mode 100644 index 000000000..8634d4c00 --- /dev/null +++ b/plugins/org.eclipse.emf.compare.diagram.papyrus.tests/src/org/eclipse/emf/compare/diagram/papyrus/tests/merge/data/assocs/twoway/a2/right.di @@ -0,0 +1,2 @@ +<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI"/>
diff --git a/plugins/org.eclipse.emf.compare.diagram.papyrus.tests/src/org/eclipse/emf/compare/diagram/papyrus/tests/merge/data/assocs/twoway/a2/right.notation b/plugins/org.eclipse.emf.compare.diagram.papyrus.tests/src/org/eclipse/emf/compare/diagram/papyrus/tests/merge/data/assocs/twoway/a2/right.notation new file mode 100644 index 000000000..fa66bfe3f --- /dev/null +++ b/plugins/org.eclipse.emf.compare.diagram.papyrus.tests/src/org/eclipse/emf/compare/diagram/papyrus/tests/merge/data/assocs/twoway/a2/right.notation @@ -0,0 +1,84 @@ +<?xml version="1.0" encoding="UTF-8"?>
+<notation:Diagram xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:notation="http://www.eclipse.org/gmf/runtime/1.0.2/notation" xmlns:style="http://www.eclipse.org/papyrus/infra/viewpoints/policy/style" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xmi:id="_zmK1oM7cEeSqqOMGqhj_Zg" type="PapyrusUMLClassDiagram" name="ClassDiagram" measurementUnit="Pixel">
+ <children xmi:type="notation:Shape" xmi:id="_0noSoM7cEeSqqOMGqhj_Zg" type="2008">
+ <children xmi:type="notation:DecorationNode" xmi:id="_0npgwM7cEeSqqOMGqhj_Zg" type="5029"/>
+ <children xmi:type="notation:DecorationNode" xmi:id="_0nqH0M7cEeSqqOMGqhj_Zg" type="8510">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_0nqH0c7cEeSqqOMGqhj_Zg" y="5"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_0nrV8M7cEeSqqOMGqhj_Zg" type="7017">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_0nrV8c7cEeSqqOMGqhj_Zg"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_0nrV8s7cEeSqqOMGqhj_Zg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_0nrV887cEeSqqOMGqhj_Zg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0nrV9M7cEeSqqOMGqhj_Zg"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_0nrV9c7cEeSqqOMGqhj_Zg" type="7018">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_0nrV9s7cEeSqqOMGqhj_Zg"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_0nrV987cEeSqqOMGqhj_Zg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_0nrV-M7cEeSqqOMGqhj_Zg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0nrV-c7cEeSqqOMGqhj_Zg"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_0nr9AM7cEeSqqOMGqhj_Zg" type="7019">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_0nr9Ac7cEeSqqOMGqhj_Zg"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_0nr9As7cEeSqqOMGqhj_Zg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_0nr9A87cEeSqqOMGqhj_Zg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0nr9BM7cEeSqqOMGqhj_Zg"/>
+ </children>
+ <element xmi:type="uml:Class" href="right.uml#_0nM00M7cEeSqqOMGqhj_Zg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0noSoc7cEeSqqOMGqhj_Zg" x="81" y="74"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_1K6l4M7cEeSqqOMGqhj_Zg" type="2008">
+ <children xmi:type="notation:DecorationNode" xmi:id="_1K6l4s7cEeSqqOMGqhj_Zg" type="5029"/>
+ <children xmi:type="notation:DecorationNode" xmi:id="_1K6l487cEeSqqOMGqhj_Zg" type="8510">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_1K6l5M7cEeSqqOMGqhj_Zg" y="5"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_1K6l5c7cEeSqqOMGqhj_Zg" type="7017">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_1K6l5s7cEeSqqOMGqhj_Zg"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_1K6l587cEeSqqOMGqhj_Zg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_1K6l6M7cEeSqqOMGqhj_Zg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_1K6l6c7cEeSqqOMGqhj_Zg"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_1K6l6s7cEeSqqOMGqhj_Zg" type="7018">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_1K6l687cEeSqqOMGqhj_Zg"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_1K6l7M7cEeSqqOMGqhj_Zg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_1K6l7c7cEeSqqOMGqhj_Zg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_1K6l7s7cEeSqqOMGqhj_Zg"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_1K6l787cEeSqqOMGqhj_Zg" type="7019">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_1K6l8M7cEeSqqOMGqhj_Zg"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_1K6l8c7cEeSqqOMGqhj_Zg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_1K6l8s7cEeSqqOMGqhj_Zg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_1K6l887cEeSqqOMGqhj_Zg"/>
+ </children>
+ <element xmi:type="uml:Class" href="right.uml#_1K5XwM7cEeSqqOMGqhj_Zg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_1K6l4c7cEeSqqOMGqhj_Zg" x="350" y="72"/>
+ </children>
+ <styles xmi:type="notation:StringValueStyle" xmi:id="_zmK1oc7cEeSqqOMGqhj_Zg" name="diagram_compatibility_version" stringValue="1.0.0"/>
+ <styles xmi:type="notation:DiagramStyle" xmi:id="_zmK1os7cEeSqqOMGqhj_Zg"/>
+ <styles xmi:type="style:PapyrusViewStyle" xmi:id="_zmK1o87cEeSqqOMGqhj_Zg">
+ <owner xmi:type="uml:Model" href="right.uml#_soPaMM7cEeSqqOMGqhj_Zg"/>
+ </styles>
+ <element xmi:type="uml:Model" href="right.uml#_soPaMM7cEeSqqOMGqhj_Zg"/>
+ <edges xmi:type="notation:Connector" xmi:id="_38pGoM7cEeSqqOMGqhj_Zg" type="4001" source="_0noSoM7cEeSqqOMGqhj_Zg" target="_1K6l4M7cEeSqqOMGqhj_Zg">
+ <children xmi:type="notation:DecorationNode" xmi:id="_38pGo87cEeSqqOMGqhj_Zg" type="6001">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_38pGpM7cEeSqqOMGqhj_Zg" y="-20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_38pGpc7cEeSqqOMGqhj_Zg" type="6002">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_38pGps7cEeSqqOMGqhj_Zg" y="20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_38pGp87cEeSqqOMGqhj_Zg" type="6003">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_38pGqM7cEeSqqOMGqhj_Zg" y="-20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_38ptsM7cEeSqqOMGqhj_Zg" type="6005">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_38ptsc7cEeSqqOMGqhj_Zg" x="-21" y="31"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_38ptss7cEeSqqOMGqhj_Zg" type="6033">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_38pts87cEeSqqOMGqhj_Zg" y="20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_38pttM7cEeSqqOMGqhj_Zg" type="6034">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_38pttc7cEeSqqOMGqhj_Zg" y="-20"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_38pGoc7cEeSqqOMGqhj_Zg"/>
+ <element xmi:type="uml:Association" href="right.uml#_38mDUM7cEeSqqOMGqhj_Zg"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_38pGos7cEeSqqOMGqhj_Zg" points="[50, -8, -219, -6]$[219, -8, -50, -6]"/>
+ </edges>
+</notation:Diagram>
diff --git a/plugins/org.eclipse.emf.compare.diagram.papyrus.tests/src/org/eclipse/emf/compare/diagram/papyrus/tests/merge/data/assocs/twoway/a2/right.uml b/plugins/org.eclipse.emf.compare.diagram.papyrus.tests/src/org/eclipse/emf/compare/diagram/papyrus/tests/merge/data/assocs/twoway/a2/right.uml new file mode 100644 index 000000000..d5e3e6e55 --- /dev/null +++ b/plugins/org.eclipse.emf.compare.diagram.papyrus.tests/src/org/eclipse/emf/compare/diagram/papyrus/tests/merge/data/assocs/twoway/a2/right.uml @@ -0,0 +1,16 @@ +<?xml version="1.0" encoding="UTF-8"?>
+<uml:Model xmi:version="20131001" xmlns:xmi="http://www.omg.org/spec/XMI/20131001" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xmi:id="_soPaMM7cEeSqqOMGqhj_Zg" name="model">
+ <packagedElement xmi:type="uml:Class" xmi:id="_0nM00M7cEeSqqOMGqhj_Zg" name="Class1"/>
+ <packagedElement xmi:type="uml:Class" xmi:id="_1K5XwM7cEeSqqOMGqhj_Zg" name="Class2"/>
+ <packagedElement xmi:type="uml:Association" xmi:id="_38mDUM7cEeSqqOMGqhj_Zg" memberEnd="_38mDUc7cEeSqqOMGqhj_Zg _38lcQM7cEeSqqOMGqhj_Zg">
+ <name xsi:nil="true"/>
+ <ownedEnd xmi:type="uml:Property" xmi:id="_38mDUc7cEeSqqOMGqhj_Zg" name="class1" type="_0nM00M7cEeSqqOMGqhj_Zg" association="_38mDUM7cEeSqqOMGqhj_Zg">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_38mDUs7cEeSqqOMGqhj_Zg" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_38mDU87cEeSqqOMGqhj_Zg" value="1"/>
+ </ownedEnd>
+ <ownedEnd xmi:type="uml:Property" xmi:id="_38lcQM7cEeSqqOMGqhj_Zg" name="someRole" type="_1K5XwM7cEeSqqOMGqhj_Zg" association="_38mDUM7cEeSqqOMGqhj_Zg">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_38lcQc7cEeSqqOMGqhj_Zg" value="1"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_38lcQs7cEeSqqOMGqhj_Zg" value="1"/>
+ </ownedEnd>
+ </packagedElement>
+</uml:Model>
diff --git a/plugins/org.eclipse.emf.compare.diagram.papyrus.tests/src/org/eclipse/emf/compare/diagram/papyrus/tests/merge/data/assocs/twoway/t1/left.di b/plugins/org.eclipse.emf.compare.diagram.papyrus.tests/src/org/eclipse/emf/compare/diagram/papyrus/tests/merge/data/assocs/twoway/t1/left.di new file mode 100644 index 000000000..8634d4c00 --- /dev/null +++ b/plugins/org.eclipse.emf.compare.diagram.papyrus.tests/src/org/eclipse/emf/compare/diagram/papyrus/tests/merge/data/assocs/twoway/t1/left.di @@ -0,0 +1,2 @@ +<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI"/>
diff --git a/plugins/org.eclipse.emf.compare.diagram.papyrus.tests/src/org/eclipse/emf/compare/diagram/papyrus/tests/merge/data/assocs/twoway/t1/left.notation b/plugins/org.eclipse.emf.compare.diagram.papyrus.tests/src/org/eclipse/emf/compare/diagram/papyrus/tests/merge/data/assocs/twoway/t1/left.notation new file mode 100644 index 000000000..5faca7b6c --- /dev/null +++ b/plugins/org.eclipse.emf.compare.diagram.papyrus.tests/src/org/eclipse/emf/compare/diagram/papyrus/tests/merge/data/assocs/twoway/t1/left.notation @@ -0,0 +1,73 @@ +<?xml version="1.0" encoding="UTF-8"?>
+<notation:Diagram xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:notation="http://www.eclipse.org/gmf/runtime/1.0.2/notation" xmlns:style="http://www.eclipse.org/papyrus/infra/viewpoints/policy/style" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xmi:id="_qC9nsLwdEeSIRf-5f0gG0g" type="PapyrusUMLStateMachineDiagram" name="NewDiagram" measurementUnit="Pixel">
+ <children xmi:type="notation:Shape" xmi:id="_qC9nsbwdEeSIRf-5f0gG0g" type="2000">
+ <children xmi:type="notation:DecorationNode" xmi:id="_qC9nsrwdEeSIRf-5f0gG0g" type="2001">
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_qC9ns7wdEeSIRf-5f0gG0g" width="700" height="20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_qC9ntLwdEeSIRf-5f0gG0g" type="2002">
+ <children xmi:type="notation:Shape" xmi:id="_qC9ntbwdEeSIRf-5f0gG0g" type="3000">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_qC9ntrwdEeSIRf-5f0gG0g" source="RegionAnnotationKey">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_qC9nt7wdEeSIRf-5f0gG0g" key="RegionZoneKey" value=""/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="_qC9nuLwdEeSIRf-5f0gG0g" type="3002">
+ <children xmi:type="notation:Shape" xmi:id="_zf4R0MjFEeSlR5E9fXQsvA" type="6000">
+ <children xmi:type="notation:DecorationNode" xmi:id="_zf5f8MjFEeSlR5E9fXQsvA" type="6001">
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_1aMCYMjFEeSlR5E9fXQsvA" width="203"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_zf5f8cjFEeSlR5E9fXQsvA" type="6002">
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_zf5f8sjFEeSlR5E9fXQsvA" y="-1" width="203"/>
+ </children>
+ <element xmi:type="uml:State" href="left.uml#_zfvH4MjFEeSlR5E9fXQsvA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_zf4R0cjFEeSlR5E9fXQsvA" x="112" y="66" width="203" height="69"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_1w1AwMjFEeSlR5E9fXQsvA" type="6000">
+ <children xmi:type="notation:DecorationNode" xmi:id="_1w1n0MjFEeSlR5E9fXQsvA" type="6001">
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_2GKXkMjFEeSlR5E9fXQsvA" width="169"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_1w1n0cjFEeSlR5E9fXQsvA" type="6002">
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_1w1n0sjFEeSlR5E9fXQsvA" y="-1" width="169"/>
+ </children>
+ <element xmi:type="uml:State" href="left.uml#_1wykgMjFEeSlR5E9fXQsvA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_1w1AwcjFEeSlR5E9fXQsvA" x="397" y="12" width="169" height="62"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_3noKUMjFEeSlR5E9fXQsvA" type="6000">
+ <children xmi:type="notation:DecorationNode" xmi:id="_3noKUsjFEeSlR5E9fXQsvA" type="6001"/>
+ <children xmi:type="notation:DecorationNode" xmi:id="_3noxYMjFEeSlR5E9fXQsvA" type="6002">
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_3noxYcjFEeSlR5E9fXQsvA"/>
+ </children>
+ <element xmi:type="uml:State" href="left.uml#_3nluEMjFEeSlR5E9fXQsvA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_3noKUcjFEeSlR5E9fXQsvA" x="401" y="113" width="157" height="73"/>
+ </children>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_qC9nubwdEeSIRf-5f0gG0g"/>
+ </children>
+ <element xmi:type="uml:Region" href="left.uml#_qC4IILwdEeSIRf-5f0gG0g"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_qC9nurwdEeSIRf-5f0gG0g" width="700" height="287"/>
+ </children>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_qC9nu7wdEeSIRf-5f0gG0g" y="20" width="700" height="287"/>
+ </children>
+ <element xmi:type="uml:StateMachine" href="left.uml#_qCgUsLwdEeSIRf-5f0gG0g"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_qC9nvLwdEeSIRf-5f0gG0g" x="30" y="30" width="700" height="307"/>
+ </children>
+ <styles xmi:type="notation:StringValueStyle" xmi:id="_qC9nvbwdEeSIRf-5f0gG0g" name="diagram_compatibility_version" stringValue="1.0.0"/>
+ <styles xmi:type="notation:DiagramStyle" xmi:id="_qC9nvrwdEeSIRf-5f0gG0g"/>
+ <styles xmi:type="style:PapyrusViewStyle" xmi:id="_qC9nv7wdEeSIRf-5f0gG0g">
+ <owner xmi:type="uml:Model" href="left.uml#_qBqAILwdEeSIRf-5f0gG0g"/>
+ </styles>
+ <element xmi:type="uml:StateMachine" href="left.uml#_qCgUsLwdEeSIRf-5f0gG0g"/>
+ <edges xmi:type="notation:Connector" xmi:id="_4tqlUMjFEeSlR5E9fXQsvA" type="7000" source="_zf4R0MjFEeSlR5E9fXQsvA" target="_1w1AwMjFEeSlR5E9fXQsvA">
+ <children xmi:type="notation:DecorationNode" xmi:id="_4trMYMjFEeSlR5E9fXQsvA" type="7001">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_4trzcMjFEeSlR5E9fXQsvA"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_4trzccjFEeSlR5E9fXQsvA" type="7002">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_4trzcsjFEeSlR5E9fXQsvA"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_4trzc8jFEeSlR5E9fXQsvA" type="7003">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_4trzdMjFEeSlR5E9fXQsvA" y="60"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_4tqlUcjFEeSlR5E9fXQsvA"/>
+ <element xmi:type="uml:Transition" href="left.uml#_4rv5wMjFEeSlR5E9fXQsvA"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_4tqlUsjFEeSlR5E9fXQsvA" points="[8, -3, -98, 33]$[90, -33, -16, 3]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_4uHRQMjFEeSlR5E9fXQsvA" id="(0.9605911330049262,0.43478260869565216)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_4uHRQcjFEeSlR5E9fXQsvA" id="(0.09467455621301775,0.7741935483870968)"/>
+ </edges>
+</notation:Diagram>
diff --git a/plugins/org.eclipse.emf.compare.diagram.papyrus.tests/src/org/eclipse/emf/compare/diagram/papyrus/tests/merge/data/assocs/twoway/t1/left.uml b/plugins/org.eclipse.emf.compare.diagram.papyrus.tests/src/org/eclipse/emf/compare/diagram/papyrus/tests/merge/data/assocs/twoway/t1/left.uml new file mode 100644 index 000000000..bb52e6394 --- /dev/null +++ b/plugins/org.eclipse.emf.compare.diagram.papyrus.tests/src/org/eclipse/emf/compare/diagram/papyrus/tests/merge/data/assocs/twoway/t1/left.uml @@ -0,0 +1,11 @@ +<?xml version="1.0" encoding="UTF-8"?>
+<uml:Model xmi:version="20131001" xmlns:xmi="http://www.omg.org/spec/XMI/20131001" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xmi:id="_qBqAILwdEeSIRf-5f0gG0g" name="model">
+ <packagedElement xmi:type="uml:StateMachine" xmi:id="_qCgUsLwdEeSIRf-5f0gG0g" name="StateMachine1">
+ <region xmi:type="uml:Region" xmi:id="_qC4IILwdEeSIRf-5f0gG0g" name="Region1">
+ <transition xmi:type="uml:Transition" xmi:id="_4rv5wMjFEeSlR5E9fXQsvA" source="_zfvH4MjFEeSlR5E9fXQsvA" target="_1wykgMjFEeSlR5E9fXQsvA"/>
+ <subvertex xmi:type="uml:State" xmi:id="_zfvH4MjFEeSlR5E9fXQsvA" name="State1"/>
+ <subvertex xmi:type="uml:State" xmi:id="_1wykgMjFEeSlR5E9fXQsvA" name="State2"/>
+ <subvertex xmi:type="uml:State" xmi:id="_3nluEMjFEeSlR5E9fXQsvA" name="State3"/>
+ </region>
+ </packagedElement>
+</uml:Model>
diff --git a/plugins/org.eclipse.emf.compare.diagram.papyrus.tests/src/org/eclipse/emf/compare/diagram/papyrus/tests/merge/data/assocs/twoway/t1/package-info.java b/plugins/org.eclipse.emf.compare.diagram.papyrus.tests/src/org/eclipse/emf/compare/diagram/papyrus/tests/merge/data/assocs/twoway/t1/package-info.java new file mode 100644 index 000000000..7d956b494 --- /dev/null +++ b/plugins/org.eclipse.emf.compare.diagram.papyrus.tests/src/org/eclipse/emf/compare/diagram/papyrus/tests/merge/data/assocs/twoway/t1/package-info.java @@ -0,0 +1,19 @@ +/******************************************************************************* + * Copyright (c) 2015 Obeo. + * 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: + * Obeo - initial API and implementation + *******************************************************************************/ + +/** + * <p>This package contains test data for checkging reconnection of a transition. + * An existing transition's target is changed.</p> + * See <a href="http://eclip.se/450096">bug 450096</a> + * + * @author <a href="mailto:laurent.delaigue@obeo.fr">Laurent Delaigue</a> + */ +package org.eclipse.emf.compare.diagram.papyrus.tests.merge.data.assocs.twoway.t1;
\ No newline at end of file diff --git a/plugins/org.eclipse.emf.compare.diagram.papyrus.tests/src/org/eclipse/emf/compare/diagram/papyrus/tests/merge/data/assocs/twoway/t1/right.di b/plugins/org.eclipse.emf.compare.diagram.papyrus.tests/src/org/eclipse/emf/compare/diagram/papyrus/tests/merge/data/assocs/twoway/t1/right.di new file mode 100644 index 000000000..8634d4c00 --- /dev/null +++ b/plugins/org.eclipse.emf.compare.diagram.papyrus.tests/src/org/eclipse/emf/compare/diagram/papyrus/tests/merge/data/assocs/twoway/t1/right.di @@ -0,0 +1,2 @@ +<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI"/>
diff --git a/plugins/org.eclipse.emf.compare.diagram.papyrus.tests/src/org/eclipse/emf/compare/diagram/papyrus/tests/merge/data/assocs/twoway/t1/right.notation b/plugins/org.eclipse.emf.compare.diagram.papyrus.tests/src/org/eclipse/emf/compare/diagram/papyrus/tests/merge/data/assocs/twoway/t1/right.notation new file mode 100644 index 000000000..79cacc70c --- /dev/null +++ b/plugins/org.eclipse.emf.compare.diagram.papyrus.tests/src/org/eclipse/emf/compare/diagram/papyrus/tests/merge/data/assocs/twoway/t1/right.notation @@ -0,0 +1,73 @@ +<?xml version="1.0" encoding="UTF-8"?>
+<notation:Diagram xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:notation="http://www.eclipse.org/gmf/runtime/1.0.2/notation" xmlns:style="http://www.eclipse.org/papyrus/infra/viewpoints/policy/style" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xmi:id="_qC9nsLwdEeSIRf-5f0gG0g" type="PapyrusUMLStateMachineDiagram" name="NewDiagram" measurementUnit="Pixel">
+ <children xmi:type="notation:Shape" xmi:id="_qC9nsbwdEeSIRf-5f0gG0g" type="2000">
+ <children xmi:type="notation:DecorationNode" xmi:id="_qC9nsrwdEeSIRf-5f0gG0g" type="2001">
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_qC9ns7wdEeSIRf-5f0gG0g" width="700" height="20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_qC9ntLwdEeSIRf-5f0gG0g" type="2002">
+ <children xmi:type="notation:Shape" xmi:id="_qC9ntbwdEeSIRf-5f0gG0g" type="3000">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_qC9ntrwdEeSIRf-5f0gG0g" source="RegionAnnotationKey">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_qC9nt7wdEeSIRf-5f0gG0g" key="RegionZoneKey" value=""/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="_qC9nuLwdEeSIRf-5f0gG0g" type="3002">
+ <children xmi:type="notation:Shape" xmi:id="_zf4R0MjFEeSlR5E9fXQsvA" type="6000">
+ <children xmi:type="notation:DecorationNode" xmi:id="_zf5f8MjFEeSlR5E9fXQsvA" type="6001">
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_1aMCYMjFEeSlR5E9fXQsvA" width="203"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_zf5f8cjFEeSlR5E9fXQsvA" type="6002">
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_zf5f8sjFEeSlR5E9fXQsvA" y="-1" width="203"/>
+ </children>
+ <element xmi:type="uml:State" href="right.uml#_zfvH4MjFEeSlR5E9fXQsvA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_zf4R0cjFEeSlR5E9fXQsvA" x="112" y="66" width="203" height="69"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_1w1AwMjFEeSlR5E9fXQsvA" type="6000">
+ <children xmi:type="notation:DecorationNode" xmi:id="_1w1n0MjFEeSlR5E9fXQsvA" type="6001">
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_2GKXkMjFEeSlR5E9fXQsvA" width="169"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_1w1n0cjFEeSlR5E9fXQsvA" type="6002">
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_1w1n0sjFEeSlR5E9fXQsvA" y="-1" width="169"/>
+ </children>
+ <element xmi:type="uml:State" href="right.uml#_1wykgMjFEeSlR5E9fXQsvA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_1w1AwcjFEeSlR5E9fXQsvA" x="397" y="12" width="169" height="62"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_3noKUMjFEeSlR5E9fXQsvA" type="6000">
+ <children xmi:type="notation:DecorationNode" xmi:id="_3noKUsjFEeSlR5E9fXQsvA" type="6001"/>
+ <children xmi:type="notation:DecorationNode" xmi:id="_3noxYMjFEeSlR5E9fXQsvA" type="6002">
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_3noxYcjFEeSlR5E9fXQsvA"/>
+ </children>
+ <element xmi:type="uml:State" href="right.uml#_3nluEMjFEeSlR5E9fXQsvA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_3noKUcjFEeSlR5E9fXQsvA" x="401" y="113" width="157" height="73"/>
+ </children>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_qC9nubwdEeSIRf-5f0gG0g"/>
+ </children>
+ <element xmi:type="uml:Region" href="right.uml#_qC4IILwdEeSIRf-5f0gG0g"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_qC9nurwdEeSIRf-5f0gG0g" width="700" height="287"/>
+ </children>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_qC9nu7wdEeSIRf-5f0gG0g" y="20" width="700" height="287"/>
+ </children>
+ <element xmi:type="uml:StateMachine" href="right.uml#_qCgUsLwdEeSIRf-5f0gG0g"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_qC9nvLwdEeSIRf-5f0gG0g" x="30" y="30" width="700" height="307"/>
+ </children>
+ <styles xmi:type="notation:StringValueStyle" xmi:id="_qC9nvbwdEeSIRf-5f0gG0g" name="diagram_compatibility_version" stringValue="1.0.0"/>
+ <styles xmi:type="notation:DiagramStyle" xmi:id="_qC9nvrwdEeSIRf-5f0gG0g"/>
+ <styles xmi:type="style:PapyrusViewStyle" xmi:id="_qC9nv7wdEeSIRf-5f0gG0g">
+ <owner xmi:type="uml:Model" href="right.uml#_qBqAILwdEeSIRf-5f0gG0g"/>
+ </styles>
+ <element xmi:type="uml:StateMachine" href="right.uml#_qCgUsLwdEeSIRf-5f0gG0g"/>
+ <edges xmi:type="notation:Connector" xmi:id="_4tqlUMjFEeSlR5E9fXQsvA" type="7000" source="_zf4R0MjFEeSlR5E9fXQsvA" target="_3noKUMjFEeSlR5E9fXQsvA">
+ <children xmi:type="notation:DecorationNode" xmi:id="_4trMYMjFEeSlR5E9fXQsvA" type="7001">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_4trzcMjFEeSlR5E9fXQsvA"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_4trzccjFEeSlR5E9fXQsvA" type="7002">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_4trzcsjFEeSlR5E9fXQsvA"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_4trzc8jFEeSlR5E9fXQsvA" type="7003">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_4trzdMjFEeSlR5E9fXQsvA" y="60"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_4tqlUcjFEeSlR5E9fXQsvA"/>
+ <element xmi:type="uml:Transition" href="right.uml#_4rv5wMjFEeSlR5E9fXQsvA"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_4tqlUsjFEeSlR5E9fXQsvA" points="[8, -3, -98, 33]$[90, -33, -16, 3]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_4uHRQMjFEeSlR5E9fXQsvA" id="(0.9605911330049262,0.43478260869565216)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_4uHRQcjFEeSlR5E9fXQsvA" id="(0.19745222929936307,0.5753424657534246)"/>
+ </edges>
+</notation:Diagram>
diff --git a/plugins/org.eclipse.emf.compare.diagram.papyrus.tests/src/org/eclipse/emf/compare/diagram/papyrus/tests/merge/data/assocs/twoway/t1/right.uml b/plugins/org.eclipse.emf.compare.diagram.papyrus.tests/src/org/eclipse/emf/compare/diagram/papyrus/tests/merge/data/assocs/twoway/t1/right.uml new file mode 100644 index 000000000..844c728eb --- /dev/null +++ b/plugins/org.eclipse.emf.compare.diagram.papyrus.tests/src/org/eclipse/emf/compare/diagram/papyrus/tests/merge/data/assocs/twoway/t1/right.uml @@ -0,0 +1,11 @@ +<?xml version="1.0" encoding="UTF-8"?>
+<uml:Model xmi:version="20131001" xmlns:xmi="http://www.omg.org/spec/XMI/20131001" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xmi:id="_qBqAILwdEeSIRf-5f0gG0g" name="model">
+ <packagedElement xmi:type="uml:StateMachine" xmi:id="_qCgUsLwdEeSIRf-5f0gG0g" name="StateMachine1">
+ <region xmi:type="uml:Region" xmi:id="_qC4IILwdEeSIRf-5f0gG0g" name="Region1">
+ <transition xmi:type="uml:Transition" xmi:id="_4rv5wMjFEeSlR5E9fXQsvA" source="_zfvH4MjFEeSlR5E9fXQsvA" target="_3nluEMjFEeSlR5E9fXQsvA"/>
+ <subvertex xmi:type="uml:State" xmi:id="_zfvH4MjFEeSlR5E9fXQsvA" name="State1"/>
+ <subvertex xmi:type="uml:State" xmi:id="_1wykgMjFEeSlR5E9fXQsvA" name="State2"/>
+ <subvertex xmi:type="uml:State" xmi:id="_3nluEMjFEeSlR5E9fXQsvA" name="State3"/>
+ </region>
+ </packagedElement>
+</uml:Model>
diff --git a/plugins/org.eclipse.emf.compare.diagram.papyrus.tests/src/org/eclipse/emf/compare/diagram/papyrus/tests/suite/AllTests.java b/plugins/org.eclipse.emf.compare.diagram.papyrus.tests/src/org/eclipse/emf/compare/diagram/papyrus/tests/suite/AllTests.java index e680ec845..2cca78cca 100644 --- a/plugins/org.eclipse.emf.compare.diagram.papyrus.tests/src/org/eclipse/emf/compare/diagram/papyrus/tests/suite/AllTests.java +++ b/plugins/org.eclipse.emf.compare.diagram.papyrus.tests/src/org/eclipse/emf/compare/diagram/papyrus/tests/suite/AllTests.java @@ -17,6 +17,7 @@ import junit.textui.TestRunner; import org.eclipse.emf.compare.ComparePackage; import org.eclipse.emf.compare.diagram.internal.extensions.ExtensionsPackage; +import org.eclipse.emf.compare.diagram.papyrus.tests.merge.AssocMergeTest; import org.eclipse.emf.compare.diagram.papyrus.tests.merge.EdgeMergeTest; import org.eclipse.emf.compare.diagram.papyrus.tests.merge.NodeMergeTest; import org.eclipse.emf.compare.diagram.papyrus.tests.modelextension.ModelExtensionUtilTest; @@ -45,7 +46,7 @@ import org.junit.runners.Suite.SuiteClasses; */ @SuppressWarnings("restriction") @RunWith(Suite.class) -@SuiteClasses({ EdgeMergeTest.class, NodeMergeTest.class, +@SuiteClasses({AssocMergeTest.class, EdgeMergeTest.class, NodeMergeTest.class, ModelExtensionUtilTest.class, SaveParameterHookTest.class, SaveParameterHookIntegrationTest.class, MergeRenamingMatchResource2WayTest.class, diff --git a/plugins/org.eclipse.emf.compare.diagram.papyrus/.checkstyle b/plugins/org.eclipse.emf.compare.diagram.papyrus/.checkstyle new file mode 100644 index 000000000..9d20703eb --- /dev/null +++ b/plugins/org.eclipse.emf.compare.diagram.papyrus/.checkstyle @@ -0,0 +1,13 @@ +<?xml version="1.0" encoding="UTF-8"?> + +<fileset-config file-format-version="1.2.0" simple-config="true" sync-formatter="false"> + <local-check-config name="EMF Compare" location="/org.eclipse.emf.compare-parent/codeStyle/EMFCompareCheckstyle5Configuration.xml" type="project" description=""> + <additional-data name="protect-config-file" value="false"/> + </local-check-config> + <fileset name="all" enabled="true" check-config-name="EMF Compare" local="true"> + <file-match-pattern match-pattern="." include-pattern="true"/> + </fileset> + <filter name="FilesFromPackage" enabled="true"> + <filter-data value="src-gen"/> + </filter> +</fileset-config> diff --git a/plugins/org.eclipse.emf.compare.diagram.papyrus/.classpath b/plugins/org.eclipse.emf.compare.diagram.papyrus/.classpath new file mode 100644 index 000000000..304e86186 --- /dev/null +++ b/plugins/org.eclipse.emf.compare.diagram.papyrus/.classpath @@ -0,0 +1,7 @@ +<?xml version="1.0" encoding="UTF-8"?> +<classpath> + <classpathentry kind="src" path="src"/> + <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="output" path="bin"/> +</classpath> diff --git a/plugins/org.eclipse.emf.compare.diagram.papyrus/.project b/plugins/org.eclipse.emf.compare.diagram.papyrus/.project new file mode 100644 index 000000000..4d60b2b5f --- /dev/null +++ b/plugins/org.eclipse.emf.compare.diagram.papyrus/.project @@ -0,0 +1,34 @@ +<?xml version="1.0" encoding="UTF-8"?> +<projectDescription> + <name>org.eclipse.emf.compare.diagram.papyrus</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> + <buildCommand> + <name>net.sf.eclipsecs.core.CheckstyleBuilder</name> + <arguments> + </arguments> + </buildCommand> + </buildSpec> + <natures> + <nature>org.eclipse.jdt.core.javanature</nature> + <nature>org.eclipse.pde.PluginNature</nature> + <nature>net.sf.eclipsecs.core.CheckstyleNature</nature> + </natures> +</projectDescription> diff --git a/plugins/org.eclipse.emf.compare.diagram.papyrus/.settings/edu.umd.cs.findbugs.core.prefs b/plugins/org.eclipse.emf.compare.diagram.papyrus/.settings/edu.umd.cs.findbugs.core.prefs new file mode 100644 index 000000000..1fab65578 --- /dev/null +++ b/plugins/org.eclipse.emf.compare.diagram.papyrus/.settings/edu.umd.cs.findbugs.core.prefs @@ -0,0 +1,132 @@ +#FindBugs User Preferences +#Tue Mar 12 08:11:54 CET 2013 +cloud_id=edu.umd.cs.findbugs.cloud.doNothingCloud +detectorAppendingToAnObjectOutputStream=AppendingToAnObjectOutputStream|true +detectorAtomicityProblem=AtomicityProblem|true +detectorBadAppletConstructor=BadAppletConstructor|false +detectorBadResultSetAccess=BadResultSetAccess|true +detectorBadSyntaxForRegularExpression=BadSyntaxForRegularExpression|true +detectorBadUseOfReturnValue=BadUseOfReturnValue|true +detectorBadlyOverriddenAdapter=BadlyOverriddenAdapter|true +detectorBooleanReturnNull=BooleanReturnNull|true +detectorCallToUnsupportedMethod=CallToUnsupportedMethod|false +detectorCheckExpectedWarnings=CheckExpectedWarnings|false +detectorCheckImmutableAnnotation=CheckImmutableAnnotation|true +detectorCheckTypeQualifiers=CheckTypeQualifiers|true +detectorCloneIdiom=CloneIdiom|true +detectorComparatorIdiom=ComparatorIdiom|true +detectorConfusedInheritance=ConfusedInheritance|true +detectorConfusionBetweenInheritedAndOuterMethod=ConfusionBetweenInheritedAndOuterMethod|true +detectorCrossSiteScripting=CrossSiteScripting|true +detectorDefaultEncodingDetector=DefaultEncodingDetector|true +detectorDoInsideDoPrivileged=DoInsideDoPrivileged|true +detectorDontCatchIllegalMonitorStateException=DontCatchIllegalMonitorStateException|true +detectorDontIgnoreResultOfPutIfAbsent=DontIgnoreResultOfPutIfAbsent|true +detectorDontUseEnum=DontUseEnum|true +detectorDroppedException=DroppedException|true +detectorDumbMethodInvocations=DumbMethodInvocations|true +detectorDumbMethods=DumbMethods|true +detectorDuplicateBranches=DuplicateBranches|true +detectorEmptyZipFileEntry=EmptyZipFileEntry|true +detectorEqualsOperandShouldHaveClassCompatibleWithThis=EqualsOperandShouldHaveClassCompatibleWithThis|true +detectorExplicitSerialization=ExplicitSerialization|true +detectorFinalizerNullsFields=FinalizerNullsFields|true +detectorFindBadCast2=FindBadCast2|true +detectorFindBadForLoop=FindBadForLoop|true +detectorFindCircularDependencies=FindCircularDependencies|false +detectorFindDeadLocalStores=FindDeadLocalStores|true +detectorFindDoubleCheck=FindDoubleCheck|true +detectorFindEmptySynchronizedBlock=FindEmptySynchronizedBlock|true +detectorFindFieldSelfAssignment=FindFieldSelfAssignment|true +detectorFindFinalizeInvocations=FindFinalizeInvocations|true +detectorFindFloatEquality=FindFloatEquality|true +detectorFindHEmismatch=FindHEmismatch|true +detectorFindInconsistentSync2=FindInconsistentSync2|true +detectorFindJSR166LockMonitorenter=FindJSR166LockMonitorenter|true +detectorFindLocalSelfAssignment2=FindLocalSelfAssignment2|true +detectorFindMaskedFields=FindMaskedFields|true +detectorFindMismatchedWaitOrNotify=FindMismatchedWaitOrNotify|true +detectorFindNakedNotify=FindNakedNotify|true +detectorFindNonShortCircuit=FindNonShortCircuit|true +detectorFindNullDeref=FindNullDeref|true +detectorFindNullDerefsInvolvingNonShortCircuitEvaluation=FindNullDerefsInvolvingNonShortCircuitEvaluation|true +detectorFindOpenStream=FindOpenStream|true +detectorFindPuzzlers=FindPuzzlers|true +detectorFindRefComparison=FindRefComparison|true +detectorFindReturnRef=FindReturnRef|true +detectorFindRunInvocations=FindRunInvocations|true +detectorFindSelfComparison=FindSelfComparison|true +detectorFindSelfComparison2=FindSelfComparison2|true +detectorFindSleepWithLockHeld=FindSleepWithLockHeld|true +detectorFindSpinLoop=FindSpinLoop|true +detectorFindSqlInjection=FindSqlInjection|true +detectorFindTwoLockWait=FindTwoLockWait|true +detectorFindUncalledPrivateMethods=FindUncalledPrivateMethods|true +detectorFindUnconditionalWait=FindUnconditionalWait|true +detectorFindUninitializedGet=FindUninitializedGet|true +detectorFindUnrelatedTypesInGenericContainer=FindUnrelatedTypesInGenericContainer|true +detectorFindUnreleasedLock=FindUnreleasedLock|true +detectorFindUnsatisfiedObligation=FindUnsatisfiedObligation|true +detectorFindUnsyncGet=FindUnsyncGet|true +detectorFindUseOfNonSerializableValue=FindUseOfNonSerializableValue|true +detectorFindUselessControlFlow=FindUselessControlFlow|true +detectorFormatStringChecker=FormatStringChecker|true +detectorHugeSharedStringConstants=HugeSharedStringConstants|true +detectorIDivResultCastToDouble=IDivResultCastToDouble|true +detectorIncompatMask=IncompatMask|true +detectorInconsistentAnnotations=InconsistentAnnotations|true +detectorInefficientMemberAccess=InefficientMemberAccess|false +detectorInefficientToArray=InefficientToArray|true +detectorInfiniteLoop=InfiniteLoop|true +detectorInfiniteRecursiveLoop=InfiniteRecursiveLoop|true +detectorInheritanceUnsafeGetResource=InheritanceUnsafeGetResource|true +detectorInitializationChain=InitializationChain|true +detectorInitializeNonnullFieldsInConstructor=InitializeNonnullFieldsInConstructor|true +detectorInstantiateStaticClass=InstantiateStaticClass|true +detectorIntCast2LongAsInstant=IntCast2LongAsInstant|true +detectorInvalidJUnitTest=InvalidJUnitTest|true +detectorIteratorIdioms=IteratorIdioms|true +detectorLazyInit=LazyInit|true +detectorLoadOfKnownNullValue=LoadOfKnownNullValue|true +detectorLostLoggerDueToWeakReference=LostLoggerDueToWeakReference|true +detectorMethodReturnCheck=MethodReturnCheck|true +detectorMultithreadedInstanceAccess=MultithreadedInstanceAccess|true +detectorMutableLock=MutableLock|true +detectorMutableStaticFields=MutableStaticFields|true +detectorNaming=Naming|true +detectorNoteUnconditionalParamDerefs=NoteUnconditionalParamDerefs|true +detectorNumberConstructor=NumberConstructor|true +detectorOverridingEqualsNotSymmetrical=OverridingEqualsNotSymmetrical|true +detectorPreferZeroLengthArrays=PreferZeroLengthArrays|true +detectorPublicSemaphores=PublicSemaphores|false +detectorQuestionableBooleanAssignment=QuestionableBooleanAssignment|true +detectorReadOfInstanceFieldInMethodInvokedByConstructorInSuperclass=ReadOfInstanceFieldInMethodInvokedByConstructorInSuperclass|true +detectorReadReturnShouldBeChecked=ReadReturnShouldBeChecked|true +detectorRedundantInterfaces=RedundantInterfaces|true +detectorRepeatedConditionals=RepeatedConditionals|true +detectorRuntimeExceptionCapture=RuntimeExceptionCapture|true +detectorSerializableIdiom=SerializableIdiom|true +detectorStartInConstructor=StartInConstructor|true +detectorStaticCalendarDetector=StaticCalendarDetector|true +detectorStringConcatenation=StringConcatenation|true +detectorSuperfluousInstanceOf=SuperfluousInstanceOf|true +detectorSuspiciousThreadInterrupted=SuspiciousThreadInterrupted|true +detectorSwitchFallthrough=SwitchFallthrough|true +detectorSynchronizeAndNullCheckField=SynchronizeAndNullCheckField|true +detectorSynchronizeOnClassLiteralNotGetClass=SynchronizeOnClassLiteralNotGetClass|true +detectorSynchronizingOnContentsOfFieldToProtectField=SynchronizingOnContentsOfFieldToProtectField|true +detectorURLProblems=URLProblems|true +detectorUncallableMethodOfAnonymousClass=UncallableMethodOfAnonymousClass|true +detectorUnnecessaryMath=UnnecessaryMath|true +detectorUnreadFields=UnreadFields|true +detectorUselessSubclassMethod=UselessSubclassMethod|false +detectorVarArgsProblems=VarArgsProblems|true +detectorVolatileUsage=VolatileUsage|true +detectorWaitInLoop=WaitInLoop|true +detectorWrongMapIterator=WrongMapIterator|true +detectorXMLFactoryBypass=XMLFactoryBypass|true +detector_threshold=2 +effort=default +filter_settings=Medium|BAD_PRACTICE,CORRECTNESS,MALICIOUS_CODE,MT_CORRECTNESS,PERFORMANCE,SECURITY,STYLE|false|15 +filter_settings_neg=NOISE,I18N,EXPERIMENTAL| +run_at_full_build=true diff --git a/plugins/org.eclipse.emf.compare.diagram.papyrus/.settings/edu.umd.cs.findbugs.plugin.eclipse.prefs b/plugins/org.eclipse.emf.compare.diagram.papyrus/.settings/edu.umd.cs.findbugs.plugin.eclipse.prefs new file mode 100644 index 000000000..4235f7661 --- /dev/null +++ b/plugins/org.eclipse.emf.compare.diagram.papyrus/.settings/edu.umd.cs.findbugs.plugin.eclipse.prefs @@ -0,0 +1,3 @@ +eclipse.preferences.version=1 +edu.umd.cs.findbugs.plugin.eclipse.findbugsMarkerScariest=Error +edu.umd.cs.findbugs.plugin.eclipse.findbugsMarkerScary=Error diff --git a/plugins/org.eclipse.emf.compare.diagram.papyrus/.settings/org.eclipse.core.resources.prefs b/plugins/org.eclipse.emf.compare.diagram.papyrus/.settings/org.eclipse.core.resources.prefs new file mode 100644 index 000000000..99f26c020 --- /dev/null +++ b/plugins/org.eclipse.emf.compare.diagram.papyrus/.settings/org.eclipse.core.resources.prefs @@ -0,0 +1,2 @@ +eclipse.preferences.version=1 +encoding/<project>=UTF-8 diff --git a/plugins/org.eclipse.emf.compare.diagram.papyrus/.settings/org.eclipse.core.runtime.prefs b/plugins/org.eclipse.emf.compare.diagram.papyrus/.settings/org.eclipse.core.runtime.prefs new file mode 100644 index 000000000..5a0ad22d2 --- /dev/null +++ b/plugins/org.eclipse.emf.compare.diagram.papyrus/.settings/org.eclipse.core.runtime.prefs @@ -0,0 +1,2 @@ +eclipse.preferences.version=1 +line.separator=\n diff --git a/plugins/org.eclipse.emf.compare.diagram.papyrus/.settings/org.eclipse.jdt.core.prefs b/plugins/org.eclipse.emf.compare.diagram.papyrus/.settings/org.eclipse.jdt.core.prefs new file mode 100644 index 000000000..8598aa198 --- /dev/null +++ b/plugins/org.eclipse.emf.compare.diagram.papyrus/.settings/org.eclipse.jdt.core.prefs @@ -0,0 +1,383 @@ +eclipse.preferences.version=1 +org.eclipse.jdt.core.compiler.annotation.inheritNullAnnotations=disabled +org.eclipse.jdt.core.compiler.annotation.missingNonNullByDefaultAnnotation=ignore +org.eclipse.jdt.core.compiler.annotation.nonnull=org.eclipse.jdt.annotation.NonNull +org.eclipse.jdt.core.compiler.annotation.nonnullbydefault=org.eclipse.jdt.annotation.NonNullByDefault +org.eclipse.jdt.core.compiler.annotation.nonnullisdefault=disabled +org.eclipse.jdt.core.compiler.annotation.nullable=org.eclipse.jdt.annotation.Nullable +org.eclipse.jdt.core.compiler.annotation.nullanalysis=disabled +org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled +org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5 +org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve +org.eclipse.jdt.core.compiler.compliance=1.5 +org.eclipse.jdt.core.compiler.debug.lineNumber=generate +org.eclipse.jdt.core.compiler.debug.localVariable=generate +org.eclipse.jdt.core.compiler.debug.sourceFile=generate +org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning +org.eclipse.jdt.core.compiler.problem.assertIdentifier=error +org.eclipse.jdt.core.compiler.problem.autoboxing=warning +org.eclipse.jdt.core.compiler.problem.comparingIdentical=error +org.eclipse.jdt.core.compiler.problem.deadCode=error +org.eclipse.jdt.core.compiler.problem.deprecation=warning +org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled +org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=disabled +org.eclipse.jdt.core.compiler.problem.discouragedReference=warning +org.eclipse.jdt.core.compiler.problem.emptyStatement=error +org.eclipse.jdt.core.compiler.problem.enumIdentifier=error +org.eclipse.jdt.core.compiler.problem.explicitlyClosedAutoCloseable=ignore +org.eclipse.jdt.core.compiler.problem.fallthroughCase=ignore +org.eclipse.jdt.core.compiler.problem.fatalOptionalError=disabled +org.eclipse.jdt.core.compiler.problem.fieldHiding=warning +org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning +org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=error +org.eclipse.jdt.core.compiler.problem.forbiddenReference=error +org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=error +org.eclipse.jdt.core.compiler.problem.includeFieldsInNullAnalysis=disabled +org.eclipse.jdt.core.compiler.problem.includeNullInfoFromAsserts=enabled +org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning +org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=ignore +org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=warning +org.eclipse.jdt.core.compiler.problem.localVariableHiding=warning +org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning +org.eclipse.jdt.core.compiler.problem.missingDefaultCase=ignore +org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=error +org.eclipse.jdt.core.compiler.problem.missingEnumCaseDespiteDefault=disabled +org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=error +org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=warning +org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotationForInterfaceMethodImplementation=disabled +org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning +org.eclipse.jdt.core.compiler.problem.missingSynchronizedOnInheritedMethod=warning +org.eclipse.jdt.core.compiler.problem.noEffectAssignment=error +org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=error +org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=warning +org.eclipse.jdt.core.compiler.problem.nonnullParameterAnnotationDropped=warning +org.eclipse.jdt.core.compiler.problem.nullAnnotationInferenceConflict=error +org.eclipse.jdt.core.compiler.problem.nullReference=warning +org.eclipse.jdt.core.compiler.problem.nullSpecInsufficientInfo=warning +org.eclipse.jdt.core.compiler.problem.nullSpecViolation=error +org.eclipse.jdt.core.compiler.problem.nullUncheckedConversion=warning +org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning +org.eclipse.jdt.core.compiler.problem.parameterAssignment=warning +org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=error +org.eclipse.jdt.core.compiler.problem.potentialNullReference=warning +org.eclipse.jdt.core.compiler.problem.potentialNullSpecViolation=error +org.eclipse.jdt.core.compiler.problem.potentiallyUnclosedCloseable=warning +org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning +org.eclipse.jdt.core.compiler.problem.redundantNullAnnotation=warning +org.eclipse.jdt.core.compiler.problem.redundantNullCheck=warning +org.eclipse.jdt.core.compiler.problem.redundantSpecificationOfTypeArguments=ignore +org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=warning +org.eclipse.jdt.core.compiler.problem.reportMethodCanBePotentiallyStatic=ignore +org.eclipse.jdt.core.compiler.problem.reportMethodCanBeStatic=ignore +org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled +org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning +org.eclipse.jdt.core.compiler.problem.suppressOptionalErrors=disabled +org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled +org.eclipse.jdt.core.compiler.problem.syntacticNullAnalysisForFields=disabled +org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore +org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning +org.eclipse.jdt.core.compiler.problem.unavoidableGenericTypeProblems=enabled +org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning +org.eclipse.jdt.core.compiler.problem.unclosedCloseable=warning +org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore +org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning +org.eclipse.jdt.core.compiler.problem.unnecessaryElse=ignore +org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning +org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore +org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=ignore +org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=enabled +org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=enabled +org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled +org.eclipse.jdt.core.compiler.problem.unusedImport=warning +org.eclipse.jdt.core.compiler.problem.unusedLabel=warning +org.eclipse.jdt.core.compiler.problem.unusedLocal=warning +org.eclipse.jdt.core.compiler.problem.unusedObjectAllocation=ignore +org.eclipse.jdt.core.compiler.problem.unusedParameter=warning +org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled +org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled +org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled +org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning +org.eclipse.jdt.core.compiler.problem.unusedTypeParameter=ignore +org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning +org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning +org.eclipse.jdt.core.compiler.source=1.5 +org.eclipse.jdt.core.formatter.align_type_members_on_columns=false +org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16 +org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0 +org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16 +org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16 +org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16 +org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16 +org.eclipse.jdt.core.formatter.alignment_for_assignment=0 +org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16 +org.eclipse.jdt.core.formatter.alignment_for_compact_if=16 +org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80 +org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0 +org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16 +org.eclipse.jdt.core.formatter.alignment_for_method_declaration=0 +org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16 +org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16 +org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16 +org.eclipse.jdt.core.formatter.alignment_for_resources_in_try=80 +org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16 +org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=0 +org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16 +org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=0 +org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16 +org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16 +org.eclipse.jdt.core.formatter.alignment_for_union_type_in_multicatch=16 +org.eclipse.jdt.core.formatter.blank_lines_after_imports=1 +org.eclipse.jdt.core.formatter.blank_lines_after_package=1 +org.eclipse.jdt.core.formatter.blank_lines_before_field=1 +org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0 +org.eclipse.jdt.core.formatter.blank_lines_before_imports=1 +org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1 +org.eclipse.jdt.core.formatter.blank_lines_before_method=1 +org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1 +org.eclipse.jdt.core.formatter.blank_lines_before_package=0 +org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1 +org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1 +org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line +org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=true +org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=true +org.eclipse.jdt.core.formatter.comment.format_block_comments=true +org.eclipse.jdt.core.formatter.comment.format_header=false +org.eclipse.jdt.core.formatter.comment.format_html=true +org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=true +org.eclipse.jdt.core.formatter.comment.format_line_comments=true +org.eclipse.jdt.core.formatter.comment.format_source_code=true +org.eclipse.jdt.core.formatter.comment.indent_parameter_description=true +org.eclipse.jdt.core.formatter.comment.indent_root_tags=true +org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert +org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=insert +org.eclipse.jdt.core.formatter.comment.line_length=110 +org.eclipse.jdt.core.formatter.comment.new_lines_at_block_boundaries=true +org.eclipse.jdt.core.formatter.comment.new_lines_at_javadoc_boundaries=true +org.eclipse.jdt.core.formatter.comment.preserve_white_space_between_code_and_line_comments=false +org.eclipse.jdt.core.formatter.compact_else_if=true +org.eclipse.jdt.core.formatter.continuation_indentation=2 +org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=2 +org.eclipse.jdt.core.formatter.disabling_tag=@formatter\:off +org.eclipse.jdt.core.formatter.enabling_tag=@formatter\:on +org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false +org.eclipse.jdt.core.formatter.format_line_comment_starting_on_first_column=true +org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true +org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true +org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true +org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true +org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true +org.eclipse.jdt.core.formatter.indent_empty_lines=false +org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true +org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true +org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true +org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=true +org.eclipse.jdt.core.formatter.indentation.size=8 +org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_field=insert +org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable=insert +org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_method=insert +org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_package=insert +org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_type=insert +org.eclipse.jdt.core.formatter.insert_new_line_after_label=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=insert +org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert +org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=insert +org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert +org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert +org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert +org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert +org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert +org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert +org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert +org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert +org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert +org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert +org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert +org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert +org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert +org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert +org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert +org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_try=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert +org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert +org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_try_resources=insert +org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert +org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert +org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_try=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert +org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert +org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert +org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_try=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert +org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert +org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert +org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert +org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_try_resources=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert +org.eclipse.jdt.core.formatter.join_lines_in_comments=true +org.eclipse.jdt.core.formatter.join_wrapped_lines=true +org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false +org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false +org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false +org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false +org.eclipse.jdt.core.formatter.lineSplit=110 +org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false +org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false +org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0 +org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1 +org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true +org.eclipse.jdt.core.formatter.tabulation.char=tab +org.eclipse.jdt.core.formatter.tabulation.size=4 +org.eclipse.jdt.core.formatter.use_on_off_tags=true +org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false +org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true +org.eclipse.jdt.core.formatter.wrap_before_or_operator_multicatch=true +org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested=false diff --git a/plugins/org.eclipse.emf.compare.diagram.papyrus/.settings/org.eclipse.jdt.ui.prefs b/plugins/org.eclipse.emf.compare.diagram.papyrus/.settings/org.eclipse.jdt.ui.prefs new file mode 100644 index 000000000..4e1442ee9 --- /dev/null +++ b/plugins/org.eclipse.emf.compare.diagram.papyrus/.settings/org.eclipse.jdt.ui.prefs @@ -0,0 +1,60 @@ +eclipse.preferences.version=1 +editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true +formatter_profile=_EMF Compare +formatter_settings_version=12 +org.eclipse.jdt.ui.ignorelowercasenames=true +org.eclipse.jdt.ui.importorder=fr;com;java;javax;org; +org.eclipse.jdt.ui.ondemandthreshold=99 +org.eclipse.jdt.ui.staticondemandthreshold=99 +sp_cleanup.add_default_serial_version_id=true +sp_cleanup.add_generated_serial_version_id=false +sp_cleanup.add_missing_annotations=true +sp_cleanup.add_missing_deprecated_annotations=true +sp_cleanup.add_missing_methods=false +sp_cleanup.add_missing_nls_tags=false +sp_cleanup.add_missing_override_annotations=true +sp_cleanup.add_missing_override_annotations_interface_methods=false +sp_cleanup.add_serial_version_id=false +sp_cleanup.always_use_blocks=true +sp_cleanup.always_use_parentheses_in_expressions=false +sp_cleanup.always_use_this_for_non_static_field_access=false +sp_cleanup.always_use_this_for_non_static_method_access=false +sp_cleanup.convert_to_enhanced_for_loop=false +sp_cleanup.correct_indentation=false +sp_cleanup.format_source_code=true +sp_cleanup.format_source_code_changes_only=false +sp_cleanup.make_local_variable_final=false +sp_cleanup.make_parameters_final=false +sp_cleanup.make_private_fields_final=true +sp_cleanup.make_type_abstract_if_missing_method=false +sp_cleanup.make_variable_declarations_final=false +sp_cleanup.never_use_blocks=false +sp_cleanup.never_use_parentheses_in_expressions=true +sp_cleanup.on_save_use_additional_actions=true +sp_cleanup.organize_imports=true +sp_cleanup.qualify_static_field_accesses_with_declaring_class=false +sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true +sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true +sp_cleanup.qualify_static_member_accesses_with_declaring_class=false +sp_cleanup.qualify_static_method_accesses_with_declaring_class=false +sp_cleanup.remove_private_constructors=true +sp_cleanup.remove_trailing_whitespaces=false +sp_cleanup.remove_trailing_whitespaces_all=true +sp_cleanup.remove_trailing_whitespaces_ignore_empty=false +sp_cleanup.remove_unnecessary_casts=false +sp_cleanup.remove_unnecessary_nls_tags=true +sp_cleanup.remove_unused_imports=true +sp_cleanup.remove_unused_local_variables=false +sp_cleanup.remove_unused_private_fields=true +sp_cleanup.remove_unused_private_members=false +sp_cleanup.remove_unused_private_methods=true +sp_cleanup.remove_unused_private_types=true +sp_cleanup.sort_members=false +sp_cleanup.sort_members_all=false +sp_cleanup.use_blocks=true +sp_cleanup.use_blocks_only_for_return_and_throw=false +sp_cleanup.use_parentheses_in_expressions=false +sp_cleanup.use_this_for_non_static_field_access=false +sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=true +sp_cleanup.use_this_for_non_static_method_access=false +sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=true diff --git a/plugins/org.eclipse.emf.compare.diagram.papyrus/.settings/org.eclipse.pde.api.tools.prefs b/plugins/org.eclipse.emf.compare.diagram.papyrus/.settings/org.eclipse.pde.api.tools.prefs new file mode 100644 index 000000000..01461e0e0 --- /dev/null +++ b/plugins/org.eclipse.emf.compare.diagram.papyrus/.settings/org.eclipse.pde.api.tools.prefs @@ -0,0 +1,97 @@ +ANNOTATION_ELEMENT_TYPE_ADDED_METHOD_WITHOUT_DEFAULT_VALUE=Warning +ANNOTATION_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Warning +ANNOTATION_ELEMENT_TYPE_REMOVED_FIELD=Warning +ANNOTATION_ELEMENT_TYPE_REMOVED_METHOD=Warning +ANNOTATION_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Warning +API_COMPONENT_ELEMENT_TYPE_REMOVED_API_TYPE=Warning +API_COMPONENT_ELEMENT_TYPE_REMOVED_REEXPORTED_API_TYPE=Warning +API_COMPONENT_ELEMENT_TYPE_REMOVED_REEXPORTED_TYPE=Warning +API_COMPONENT_ELEMENT_TYPE_REMOVED_TYPE=Warning +API_USE_SCAN_FIELD_SEVERITY=Error +API_USE_SCAN_METHOD_SEVERITY=Error +API_USE_SCAN_TYPE_SEVERITY=Error +CLASS_ELEMENT_TYPE_ADDED_METHOD=Warning +CLASS_ELEMENT_TYPE_ADDED_RESTRICTIONS=Warning +CLASS_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Warning +CLASS_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Warning +CLASS_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Warning +CLASS_ELEMENT_TYPE_CHANGED_NON_ABSTRACT_TO_ABSTRACT=Warning +CLASS_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Warning +CLASS_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Warning +CLASS_ELEMENT_TYPE_REMOVED_CONSTRUCTOR=Warning +CLASS_ELEMENT_TYPE_REMOVED_FIELD=Warning +CLASS_ELEMENT_TYPE_REMOVED_METHOD=Warning +CLASS_ELEMENT_TYPE_REMOVED_SUPERCLASS=Warning +CLASS_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Warning +CLASS_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Warning +CONSTRUCTOR_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Warning +CONSTRUCTOR_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Warning +CONSTRUCTOR_ELEMENT_TYPE_CHANGED_VARARGS_TO_ARRAY=Warning +CONSTRUCTOR_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Warning +ENUM_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Warning +ENUM_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Warning +ENUM_ELEMENT_TYPE_REMOVED_ENUM_CONSTANT=Warning +ENUM_ELEMENT_TYPE_REMOVED_FIELD=Warning +ENUM_ELEMENT_TYPE_REMOVED_METHOD=Warning +ENUM_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Warning +FIELD_ELEMENT_TYPE_ADDED_VALUE=Warning +FIELD_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Warning +FIELD_ELEMENT_TYPE_CHANGED_FINAL_TO_NON_FINAL_STATIC_CONSTANT=Warning +FIELD_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Warning +FIELD_ELEMENT_TYPE_CHANGED_NON_STATIC_TO_STATIC=Warning +FIELD_ELEMENT_TYPE_CHANGED_STATIC_TO_NON_STATIC=Warning +FIELD_ELEMENT_TYPE_CHANGED_TYPE=Warning +FIELD_ELEMENT_TYPE_CHANGED_VALUE=Warning +FIELD_ELEMENT_TYPE_REMOVED_TYPE_ARGUMENT=Warning +FIELD_ELEMENT_TYPE_REMOVED_VALUE=Warning +ILLEGAL_EXTEND=Warning +ILLEGAL_IMPLEMENT=Warning +ILLEGAL_INSTANTIATE=Warning +ILLEGAL_OVERRIDE=Warning +ILLEGAL_REFERENCE=Warning +INTERFACE_ELEMENT_TYPE_ADDED_FIELD=Warning +INTERFACE_ELEMENT_TYPE_ADDED_METHOD=Warning +INTERFACE_ELEMENT_TYPE_ADDED_RESTRICTIONS=Warning +INTERFACE_ELEMENT_TYPE_ADDED_SUPER_INTERFACE_WITH_METHODS=Warning +INTERFACE_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Warning +INTERFACE_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Warning +INTERFACE_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Warning +INTERFACE_ELEMENT_TYPE_REMOVED_FIELD=Warning +INTERFACE_ELEMENT_TYPE_REMOVED_METHOD=Warning +INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Warning +INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Warning +INVALID_JAVADOC_TAG=Ignore +INVALID_REFERENCE_IN_SYSTEM_LIBRARIES=Error +LEAK_EXTEND=Warning +LEAK_FIELD_DECL=Warning +LEAK_IMPLEMENT=Warning +LEAK_METHOD_PARAM=Warning +LEAK_METHOD_RETURN_TYPE=Warning +METHOD_ELEMENT_TYPE_ADDED_RESTRICTIONS=Warning +METHOD_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Warning +METHOD_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Warning +METHOD_ELEMENT_TYPE_CHANGED_NON_ABSTRACT_TO_ABSTRACT=Warning +METHOD_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Warning +METHOD_ELEMENT_TYPE_CHANGED_NON_STATIC_TO_STATIC=Warning +METHOD_ELEMENT_TYPE_CHANGED_STATIC_TO_NON_STATIC=Warning +METHOD_ELEMENT_TYPE_CHANGED_VARARGS_TO_ARRAY=Warning +METHOD_ELEMENT_TYPE_REMOVED_ANNOTATION_DEFAULT_VALUE=Warning +METHOD_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Warning +MISSING_EE_DESCRIPTIONS=Error +TYPE_PARAMETER_ELEMENT_TYPE_ADDED_CLASS_BOUND=Warning +TYPE_PARAMETER_ELEMENT_TYPE_ADDED_INTERFACE_BOUND=Warning +TYPE_PARAMETER_ELEMENT_TYPE_CHANGED_CLASS_BOUND=Warning +TYPE_PARAMETER_ELEMENT_TYPE_CHANGED_INTERFACE_BOUND=Warning +TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_CLASS_BOUND=Warning +TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_INTERFACE_BOUND=Warning +UNUSED_PROBLEM_FILTERS=Warning +automatically_removed_unused_problem_filters=false +eclipse.preferences.version=1 +incompatible_api_component_version=Warning +incompatible_api_component_version_include_major_without_breaking_change=Disabled +incompatible_api_component_version_include_minor_without_api_change=Disabled +invalid_since_tag_version=Warning +malformed_since_tag=Warning +missing_since_tag=Warning +report_api_breakage_when_major_version_incremented=Disabled +report_resolution_errors_api_component=Warning diff --git a/plugins/org.eclipse.emf.compare.diagram.papyrus/META-INF/MANIFEST.MF b/plugins/org.eclipse.emf.compare.diagram.papyrus/META-INF/MANIFEST.MF new file mode 100644 index 000000000..4a34b5868 --- /dev/null +++ b/plugins/org.eclipse.emf.compare.diagram.papyrus/META-INF/MANIFEST.MF @@ -0,0 +1,16 @@ +Manifest-Version: 1.0 +Bundle-ManifestVersion: 2 +Bundle-Name: %pluginName +Bundle-SymbolicName: org.eclipse.emf.compare.diagram.papyrus;singleton:=true +Bundle-Version: 1.0.0.qualifier +Bundle-RequiredExecutionEnvironment: J2SE-1.5 +Require-Bundle: org.eclipse.core.runtime;bundle-version="3.10.0", + org.eclipse.emf.compare.rcp;bundle-version="2.3.0", + org.eclipse.emf.compare;bundle-version="3.2.0", + org.eclipse.uml2.uml;bundle-version="5.0.0", + org.eclipse.gmf.runtime.notation;bundle-version="1.8.0" +Bundle-ActivationPolicy: lazy +Import-Package: com.google.common.collect;version="[11.0.0,16.0.0)" +Bundle-Activator: org.eclipse.emf.compare.diagram.papyrus.internal.CompareDiagramPapyrusPlugin +Bundle-Vendor: %providerName +Export-Package: org.eclipse.emf.compare.diagram.papyrus.internal diff --git a/plugins/org.eclipse.emf.compare.diagram.papyrus/build.properties b/plugins/org.eclipse.emf.compare.diagram.papyrus/build.properties new file mode 100644 index 000000000..cc91072ec --- /dev/null +++ b/plugins/org.eclipse.emf.compare.diagram.papyrus/build.properties @@ -0,0 +1,4 @@ +source.. = src/ +bin.includes = META-INF/,\ + .,\ + plugin.xml diff --git a/plugins/org.eclipse.emf.compare.diagram.papyrus/plugin.properties b/plugins/org.eclipse.emf.compare.diagram.papyrus/plugin.properties new file mode 100644 index 000000000..c7798b58a --- /dev/null +++ b/plugins/org.eclipse.emf.compare.diagram.papyrus/plugin.properties @@ -0,0 +1,12 @@ +#******************************************************************************* + # Copyright (c) 2015 Obeo. + # 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: + # Obeo - initial API and implementation + #******************************************************************************/ +pluginName = EMF Compare Papyrus Diagram Comparison Support +providerName = Eclipse Modeling Project diff --git a/plugins/org.eclipse.emf.compare.diagram.papyrus/plugin.xml b/plugins/org.eclipse.emf.compare.diagram.papyrus/plugin.xml new file mode 100644 index 000000000..e2ba4b072 --- /dev/null +++ b/plugins/org.eclipse.emf.compare.diagram.papyrus/plugin.xml @@ -0,0 +1,29 @@ +<?xml version="1.0" encoding="UTF-8"?> +<?eclipse version="3.4"?> + +<!-- + Copyright (c) 2015 Obeo. + 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: + Obeo - initial API and implementation +--> + +<plugin> + <extension + point="org.eclipse.emf.compare.rcp.postProcessor"> + <processor + class="org.eclipse.emf.compare.diagram.papyrus.internal.PapyrusDiagramPostProcessor" + description="Post-processor that handles specifics of Papyrus UML diagrams." + label="Papyrus Diagram Post-Processor" + ordinal="35"> + <nsURI + value="http://www.eclipse.org/gmf/runtime/\d.\d.\d/notation"> + </nsURI> + </processor> + </extension> + +</plugin> diff --git a/plugins/org.eclipse.emf.compare.diagram.papyrus/pom.xml b/plugins/org.eclipse.emf.compare.diagram.papyrus/pom.xml new file mode 100644 index 000000000..0312a4a5f --- /dev/null +++ b/plugins/org.eclipse.emf.compare.diagram.papyrus/pom.xml @@ -0,0 +1,15 @@ +<?xml version="1.0" encoding="UTF-8"?> +<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <modelVersion>4.0.0</modelVersion> + <parent> + <groupId>org.eclipse.emf.compare</groupId> + <artifactId>emf.compare-bundle-parent</artifactId> + <version>1.0.0-SNAPSHOT</version> + <relativePath>../../org.eclipse.emf.compare-parent/bundle-parent</relativePath> + </parent> + <groupId>org.eclipse.emf.compare</groupId> + <artifactId>org.eclipse.emf.compare.diagram.papyrus</artifactId> + <version>1.0.0-SNAPSHOT</version> + <packaging>eclipse-plugin</packaging> +</project> diff --git a/plugins/org.eclipse.emf.compare.diagram.papyrus/src/org/eclipse/emf/compare/diagram/papyrus/internal/AbstractPapyrusDiagramDiffHandler.java b/plugins/org.eclipse.emf.compare.diagram.papyrus/src/org/eclipse/emf/compare/diagram/papyrus/internal/AbstractPapyrusDiagramDiffHandler.java new file mode 100644 index 000000000..d4936de32 --- /dev/null +++ b/plugins/org.eclipse.emf.compare.diagram.papyrus/src/org/eclipse/emf/compare/diagram/papyrus/internal/AbstractPapyrusDiagramDiffHandler.java @@ -0,0 +1,116 @@ +/******************************************************************************* + * Copyright (c) 2015 Obeo. + * 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: + * Obeo - initial API and implementation + *******************************************************************************/ +package org.eclipse.emf.compare.diagram.papyrus.internal; + +import org.eclipse.emf.compare.Diff; +import org.eclipse.emf.compare.Match; +import org.eclipse.emf.compare.ReferenceChange; +import org.eclipse.emf.compare.utils.MatchUtil; +import org.eclipse.emf.ecore.EObject; +import org.eclipse.emf.ecore.EReference; +import org.eclipse.gmf.runtime.notation.Connector; +import org.eclipse.gmf.runtime.notation.NotationPackage; +import org.eclipse.uml2.uml.Property; +import org.eclipse.uml2.uml.Transition; +import org.eclipse.uml2.uml.UMLPackage; + +/** + * Super-class of handlers of this project to mutualize some code. + * + * @author <a href="mailto:laurent.delaigue@obeo.fr">Laurent Delaigue</a> + */ +public abstract class AbstractPapyrusDiagramDiffHandler implements IDiffHandler { + + /** + * Indicates whether the given {@link Diff} is a change of the reference <code>uml::Property.type</code>. + * + * @param diff + * The diff + * @return <code>true</code> if and only if the given diff is a {@link ReferenceChange} that concerns the + * <code>uml::TypedElement.type</code> reference, on an Property + */ + protected boolean isPropertyTypeChange(ReferenceChange diff) { + EReference ref = diff.getReference(); + return ref == UMLPackage.Literals.TYPED_ELEMENT__TYPE + && getOriginMatchObject(diff) instanceof Property; + } + + /** + * Indicates whether the given {@link ReferenceChange} is a change of the "source" or "target" EReference + * of a uml::Transition. + * + * @param diff + * The diff + * @return <code>true</code> if and only if the change is that of a Transition's target or source + * reference. + */ + protected boolean isTransitionReferenceChange(ReferenceChange diff) { + EReference ref = diff.getReference(); + return (ref == UMLPackage.Literals.TRANSITION__TARGET || ref == UMLPackage.Literals.TRANSITION__SOURCE) + && getOriginMatchObject(diff) instanceof Transition; + } + + /** + * Indicates whether the given {@link ReferenceChange} is a change of the "source" or "target" EReference + * of a notation::Connector. + * + * @param diff + * the ref change + * @return <code>true</code> if and only if the change is that of a Connector'target or source reference. + */ + protected boolean isConnectorReferenceChange(ReferenceChange diff) { + EReference ref = diff.getReference(); + return (ref == NotationPackage.Literals.EDGE__TARGET || ref == NotationPackage.Literals.EDGE__SOURCE) + && getOriginMatchObject(diff) instanceof Connector; + } + + /** + * Indicates whether the given {@link ReferenceChange} is a part of a more global ADD or DELETE change. + * + * @param refChange + * The ref change + * @return <code>true</code> if and only if the given change is part of an ADD or DELETE. + */ + protected boolean isContainedInAddOrDelete(ReferenceChange refChange) { + EObject eContainer = refChange.getMatch().eContainer(); + if (eContainer instanceof Match) { + if (MatchUtil.getOriginValue(refChange.getMatch().getComparison(), refChange) == null) { + return true; + } + } + return false; + } + + /** + * Provides the EObject of the given diff's match that is on the "origin" side, which is LEFT for 2-way + * and ORIGIN for 3-way. + * + * @param diff + * The diff + * @return The EObject of the diff's match that is on the LEFT if the diff's comparison is 2-way, and on + * the ORIGIN side if the diff's comparison is 3-way. + */ + protected EObject getOriginMatchObject(Diff diff) { + Match match = diff.getMatch(); + final EObject result; + if (match == null) { + result = null; // diff is a ResourceLocationChange, for instance + } else { + if (match.getOrigin() != null) { + result = match.getOrigin(); + } else { + result = match.getLeft(); + } + } + return result; + } + +} diff --git a/plugins/org.eclipse.emf.compare.diagram.papyrus/src/org/eclipse/emf/compare/diagram/papyrus/internal/CompareDiagramPapyrusPlugin.java b/plugins/org.eclipse.emf.compare.diagram.papyrus/src/org/eclipse/emf/compare/diagram/papyrus/internal/CompareDiagramPapyrusPlugin.java new file mode 100644 index 000000000..723d40226 --- /dev/null +++ b/plugins/org.eclipse.emf.compare.diagram.papyrus/src/org/eclipse/emf/compare/diagram/papyrus/internal/CompareDiagramPapyrusPlugin.java @@ -0,0 +1,49 @@ +/******************************************************************************* + * Copyright (c) 2015 Obeo. + * 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: + * Obeo - initial API and implementation + *******************************************************************************/ +package org.eclipse.emf.compare.diagram.papyrus.internal; + +import org.eclipse.core.runtime.Plugin; +import org.osgi.framework.BundleContext; + +/** + * Activator. + * + * @author <a href="mailto:laurent.delaigue@obeo.fr">Laurent Delaigue</a> + */ +public class CompareDiagramPapyrusPlugin extends Plugin { + + /** The plugin ID. */ + public static final String PLUGIN_ID = "org.eclipse.emf.compare.diagram.papyrus"; //$NON-NLS-1$ + + /** This plug-in's shared instance. */ + private static CompareDiagramPapyrusPlugin plugin; + + /** + * Returns the shared instance. + * + * @return the shared instance + */ + public static CompareDiagramPapyrusPlugin getDefault() { + return plugin; + } + + @Override + public void start(BundleContext context) throws Exception { + super.start(context); + plugin = this; + } + + @Override + public void stop(BundleContext context) throws Exception { + plugin = null; + super.stop(context); + } +} diff --git a/plugins/org.eclipse.emf.compare.diagram.papyrus/src/org/eclipse/emf/compare/diagram/papyrus/internal/DiffIndexer.java b/plugins/org.eclipse.emf.compare.diagram.papyrus/src/org/eclipse/emf/compare/diagram/papyrus/internal/DiffIndexer.java new file mode 100644 index 000000000..6f7842240 --- /dev/null +++ b/plugins/org.eclipse.emf.compare.diagram.papyrus/src/org/eclipse/emf/compare/diagram/papyrus/internal/DiffIndexer.java @@ -0,0 +1,68 @@ +/******************************************************************************* + * Copyright (c) 2015 Obeo. + * 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: + * Obeo - initial API and implementation + *******************************************************************************/ +package org.eclipse.emf.compare.diagram.papyrus.internal; + +import com.google.common.collect.LinkedHashMultimap; + +import java.util.Set; + +import org.eclipse.emf.compare.Diff; + +/** + * A DiffIndexer allows to store {@link Diff}s by arbitrary keys. It basically wrpas a Multimap, but it could + * be enriched to index several different kinds of relations between {@link Diff}s. + * + * @author <a href="mailto:laurent.delaigue@obeo.fr">Laurent Delaigue</a> + */ +public class DiffIndexer { + + /** The multimap used to indef Diffs. */ + private final LinkedHashMultimap<Object, Diff> equivalentDiffsByKey; + + /** + * Constructor. + */ + public DiffIndexer() { + this.equivalentDiffsByKey = LinkedHashMultimap.create(); + } + + /** + * Store a Diff in the index. + * + * @param key + * The key to use + * @param diff + * The Diff to index + */ + public void putEquivalentDiff(Object key, Diff diff) { + equivalentDiffsByKey.put(key, diff); + } + + /** + * Retrieve all the {@link Diff}s for the given key. + * + * @param key + * The key + * @return A Set od diffs indexed for the given key, which may be empty but never <code>null</code>. + */ + public Set<Diff> getEquivalentDiffs(Object key) { + return equivalentDiffsByKey.get(key); + } + + /** + * Retrieve all the keys in the index. + * + * @return a Set of all the keys contained in this indexer. + */ + public Set<Object> getEquivalentDiffsKeySet() { + return equivalentDiffsByKey.keySet(); + } +} diff --git a/plugins/org.eclipse.emf.compare.diagram.papyrus/src/org/eclipse/emf/compare/diagram/papyrus/internal/FeatureInstance.java b/plugins/org.eclipse.emf.compare.diagram.papyrus/src/org/eclipse/emf/compare/diagram/papyrus/internal/FeatureInstance.java new file mode 100644 index 000000000..05ae36c6e --- /dev/null +++ b/plugins/org.eclipse.emf.compare.diagram.papyrus/src/org/eclipse/emf/compare/diagram/papyrus/internal/FeatureInstance.java @@ -0,0 +1,92 @@ +/******************************************************************************* + * Copyright (c) 2015 Obeo. + * 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: + * Obeo - initial API and implementation + *******************************************************************************/ +package org.eclipse.emf.compare.diagram.papyrus.internal; + +import org.eclipse.emf.ecore.EObject; +import org.eclipse.emf.ecore.EStructuralFeature; + +/** + * Instance of a feature for an EObject, designed to be used as a key in a Map. + * + * @author <a href="mailto:laurent.delaigue@obeo.fr">Laurent Delaigue</a> + */ +class FeatureInstance { + /** The EObject. */ + private final EObject eObject; + + /** The feature. */ + private final EStructuralFeature feature; + + /** + * Constructor. + * + * @param eObject + * The EObject + * @param feature + * The feature + */ + public FeatureInstance(EObject eObject, EStructuralFeature feature) { + super(); + this.eObject = eObject; + this.feature = feature; + } + + @Override + public int hashCode() { + final int prime = 31; + int result = 1; + // CHECKSTYLE:OFF Code generated by JDT + result = prime * result + ((eObject == null) ? 0 : eObject.hashCode()); + result = prime * result + ((feature == null) ? 0 : feature.hashCode()); + // CHECKSTYLE:ON + return result; + } + + // CHECKSTYLE:OFF Code generated by JDT + @Override + public boolean equals(Object obj) { + if (this == obj) { + return true; + } + if (obj == null) { + return false; + } + if (getClass() != obj.getClass()) { + return false; + } + FeatureInstance other = (FeatureInstance)obj; + if (eObject != other.eObject) { + return false; + } + if (feature != other.feature) { + return false; + } + return true; + // CHECKSTYLE:ON + } + + @Override + public String toString() { + StringBuilder b = new StringBuilder(); + if (eObject == null) { + b.append("<null>."); //$NON-NLS-1$ + } else { + b.append(eObject.eClass().getName()).append('@'); + b.append(Integer.toHexString(eObject.hashCode())).append('.'); + } + if (feature == null) { + b.append("<null>"); //$NON-NLS-1$ + } else { + b.append(feature.getName()); + } + return b.toString(); + } +} diff --git a/plugins/org.eclipse.emf.compare.diagram.papyrus/src/org/eclipse/emf/compare/diagram/papyrus/internal/IDiffHandler.java b/plugins/org.eclipse.emf.compare.diagram.papyrus/src/org/eclipse/emf/compare/diagram/papyrus/internal/IDiffHandler.java new file mode 100644 index 000000000..5ea6b094a --- /dev/null +++ b/plugins/org.eclipse.emf.compare.diagram.papyrus/src/org/eclipse/emf/compare/diagram/papyrus/internal/IDiffHandler.java @@ -0,0 +1,29 @@ +/******************************************************************************* + * Copyright (c) 2015 Obeo. + * 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: + * Obeo - initial API and implementation + *******************************************************************************/ +package org.eclipse.emf.compare.diagram.papyrus.internal; + +import org.eclipse.emf.compare.Diff; + +/** + * A Diff handler performs some treatment on a given {@link Diff}. + * + * @author <a href="mailto:laurent.delaigue@obeo.fr">Laurent Delaigue</a> + */ +public interface IDiffHandler { + + /** + * Handles the given diff. + * + * @param diff + * The diff ta handle. + */ + void handle(Diff diff); +} diff --git a/plugins/org.eclipse.emf.compare.diagram.papyrus/src/org/eclipse/emf/compare/diagram/papyrus/internal/PapyrusDiagram2WayDiffHandler.java b/plugins/org.eclipse.emf.compare.diagram.papyrus/src/org/eclipse/emf/compare/diagram/papyrus/internal/PapyrusDiagram2WayDiffHandler.java new file mode 100644 index 000000000..573ec48d2 --- /dev/null +++ b/plugins/org.eclipse.emf.compare.diagram.papyrus/src/org/eclipse/emf/compare/diagram/papyrus/internal/PapyrusDiagram2WayDiffHandler.java @@ -0,0 +1,108 @@ +/******************************************************************************* + * Copyright (c) 2015 Obeo. + * 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: + * Obeo - initial API and implementation + *******************************************************************************/ +package org.eclipse.emf.compare.diagram.papyrus.internal; + +import org.eclipse.emf.compare.Diff; +import org.eclipse.emf.compare.DifferenceKind; +import org.eclipse.emf.compare.Match; +import org.eclipse.emf.compare.ReferenceChange; +import org.eclipse.emf.ecore.EObject; +import org.eclipse.gmf.runtime.notation.Connector; +import org.eclipse.gmf.runtime.notation.NotationPackage; +import org.eclipse.uml2.uml.Association; +import org.eclipse.uml2.uml.Property; +import org.eclipse.uml2.uml.Transition; +import org.eclipse.uml2.uml.UMLPackage; + +/** + * <p> + * Handles a diff for 2-way comparisons by indexing the given diff with a relevant key if this diff can be + * related to another diff in the same model. It only cares about notation and UML diffs that can be related + * with one another (changing the target of an Edge and the related change of UML Property if the Edge + * represents an Association, an so on). + * </p> + * This should only be used with 2-way comparisons! + * + * @author <a href="mailto:laurent.delaigue@obeo.fr">Laurent Delaigue</a> + */ +public class PapyrusDiagram2WayDiffHandler extends AbstractPapyrusDiagramDiffHandler { + /** The indexer. */ + private final DiffIndexer indexer; + + /** + * Constructor. + * + * @param indexer + * The indexer + */ + public PapyrusDiagram2WayDiffHandler(DiffIndexer indexer) { + this.indexer = indexer; + } + + /** + * Handle the given diff. + * + * @param diff + * he diff to handle + */ + public void handle(Diff diff) { + if (diff instanceof ReferenceChange && diff.getKind() == DifferenceKind.CHANGE) { + ReferenceChange refChange = (ReferenceChange)diff; + // Check the match is not contained in an ADD or DELETE + if (!isContainedInAddOrDelete(refChange)) { + handleActualReferenceChange(refChange); + } + } + } + + /** + * Handles an actual reference change, that is to say a reference change that is not contained in an ADD + * or a DELETE diff. + * + * @param refChange + * The {@link ReferenceChange} to handle + */ + private void handleActualReferenceChange(ReferenceChange refChange) { + if (isConnectorReferenceChange(refChange)) { + // Changing the target of an edge that represents an + // association has consequences + Match match = refChange.getMatch(); + Connector left = (Connector)match.getLeft(); + EObject leftElement = left.getElement(); + if (leftElement instanceof Association) { + Association assoc = (Association)leftElement; + for (Property memberEnd : assoc.getMemberEnds()) { + indexer.putEquivalentDiff(memberEnd, refChange); + } + } else if (leftElement instanceof Transition) { + if (refChange.getReference() == NotationPackage.Literals.EDGE__SOURCE) { + indexer.putEquivalentDiff(new FeatureInstance(leftElement, + UMLPackage.Literals.TRANSITION__SOURCE), refChange); + } else if (refChange.getReference() == NotationPackage.Literals.EDGE__TARGET) { + indexer.putEquivalentDiff(new FeatureInstance(leftElement, + UMLPackage.Literals.TRANSITION__TARGET), refChange); + } + } + } else if (isPropertyTypeChange(refChange)) { + // We record property type changes for properties + // because those that participate in relations + // materialize in notation files by a target change in + // the related Connector + indexer.putEquivalentDiff(refChange.getMatch().getLeft(), refChange); + } else if (isTransitionReferenceChange(refChange)) { + indexer.putEquivalentDiff(new FeatureInstance(refChange.getMatch().getLeft(), refChange + .getReference()), refChange); + } + // TODO Manage other kinds of relations (Dependency, what + // else in UML?) + } + +} diff --git a/plugins/org.eclipse.emf.compare.diagram.papyrus/src/org/eclipse/emf/compare/diagram/papyrus/internal/PapyrusDiagram3WayDiffHandler.java b/plugins/org.eclipse.emf.compare.diagram.papyrus/src/org/eclipse/emf/compare/diagram/papyrus/internal/PapyrusDiagram3WayDiffHandler.java new file mode 100644 index 000000000..3cdc279e7 --- /dev/null +++ b/plugins/org.eclipse.emf.compare.diagram.papyrus/src/org/eclipse/emf/compare/diagram/papyrus/internal/PapyrusDiagram3WayDiffHandler.java @@ -0,0 +1,132 @@ +/******************************************************************************* + * Copyright (c) 2015 Obeo. + * 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: + * Obeo - initial API and implementation + *******************************************************************************/ +package org.eclipse.emf.compare.diagram.papyrus.internal; + +import org.eclipse.emf.compare.Diff; +import org.eclipse.emf.compare.DifferenceKind; +import org.eclipse.emf.compare.Match; +import org.eclipse.emf.compare.ReferenceChange; +import org.eclipse.emf.ecore.EObject; +import org.eclipse.gmf.runtime.notation.Connector; +import org.eclipse.gmf.runtime.notation.NotationPackage; +import org.eclipse.uml2.uml.Association; +import org.eclipse.uml2.uml.Property; +import org.eclipse.uml2.uml.Transition; +import org.eclipse.uml2.uml.UMLPackage; + +/** + * <p> + * Handles a diff for 3-way comparisons by indexing the given diff with a relevant key if this diff can be + * related to another diff in the same model. It only cares about notation and UML diffs that can be related + * with one another (changing the target of an Edge and the related change of UML Property if the Edge + * represents an Association, an so on). + * </p> + * This should only be used with 3-way comparisons! + * + * @author <a href="mailto:laurent.delaigue@obeo.fr">Laurent Delaigue</a> + */ +public class PapyrusDiagram3WayDiffHandler extends AbstractPapyrusDiagramDiffHandler { + /** + * Constructor. + * + * @param indexer + * The indexer + */ + private final DiffIndexer indexer; + + /** + * Constructor. + * + * @param indexer + * The indexer + */ + public PapyrusDiagram3WayDiffHandler(DiffIndexer indexer) { + this.indexer = indexer; + } + + /** + * Handle the given diff. + * + * @param diff + * he diff to handle + */ + public void handle(Diff diff) { + if (diff instanceof ReferenceChange && diff.getKind() == DifferenceKind.CHANGE) { + ReferenceChange refChange = (ReferenceChange)diff; + if (!isContainedInAddOrDelete(refChange)) { + handleActualReferenceChange(refChange); + } + } + } + + /** + * Handles a {@link ReferenceChange} that is not part of an ADD or DELETE. + * + * @param refChange + * The {@link ReferenceChange} to handle + */ + private void handleActualReferenceChange(ReferenceChange refChange) { + if (isConnectorReferenceChange(refChange)) { + // Changing the target of an edge that represents an + // association has consequences + Connector connectorOnDiffSide = (Connector)getMatchObjectOnSameSideAs(refChange); + EObject element = connectorOnDiffSide.getElement(); + if (element instanceof Association) { + Association assoc = (Association)element; + for (Property memberEnd : assoc.getMemberEnds()) { + indexer.putEquivalentDiff(new SidedEObject(memberEnd, refChange.getSource()), refChange); + } + } else if (element instanceof Transition) { + if (refChange.getReference() == NotationPackage.Literals.EDGE__SOURCE) { + indexer.putEquivalentDiff(new SidedFeatureInstance(element, + UMLPackage.Literals.TRANSITION__SOURCE, refChange.getSource()), refChange); + } else if (refChange.getReference() == NotationPackage.Literals.EDGE__TARGET) { + indexer.putEquivalentDiff(new SidedFeatureInstance(element, + UMLPackage.Literals.TRANSITION__TARGET, refChange.getSource()), refChange); + } + } + } else if (isPropertyTypeChange(refChange)) { + // We record property type changes for properties + // because those that participate in relations + // materialize in notation files by a target change in + // the related Connector + indexer.putEquivalentDiff(new SidedEObject(getMatchObjectOnSameSideAs(refChange), refChange + .getSource()), refChange); + } else if (isTransitionReferenceChange(refChange)) { + indexer.putEquivalentDiff(new SidedFeatureInstance(getMatchObjectOnSameSideAs(refChange), + refChange.getReference(), refChange.getSource()), refChange); + } + // TODO Manage other kinds of relations (Dependency, what + // else in UML?) + } + + /** + * Proides the EObject of the given diff's match that is on the same side as the given diff. + * + * @param diff + * The diff + * @return The EObject of the given diff's match that's on the same side as the diff. + */ + protected EObject getMatchObjectOnSameSideAs(Diff diff) { + Match match = diff.getMatch(); + // CHECKSTYLE:OFF No need of a default case + switch (diff.getSource()) { + case LEFT: + return match.getLeft(); + case RIGHT: + return match.getRight(); + } + // CHECKSTYLE:ON + throw new IllegalStateException( + "The diff should be part of a 3-way comparison and have a non-null source."); //$NON-NLS-1$ + } + +} diff --git a/plugins/org.eclipse.emf.compare.diagram.papyrus/src/org/eclipse/emf/compare/diagram/papyrus/internal/PapyrusDiagramPostComparison.java b/plugins/org.eclipse.emf.compare.diagram.papyrus/src/org/eclipse/emf/compare/diagram/papyrus/internal/PapyrusDiagramPostComparison.java new file mode 100644 index 000000000..7044ee137 --- /dev/null +++ b/plugins/org.eclipse.emf.compare.diagram.papyrus/src/org/eclipse/emf/compare/diagram/papyrus/internal/PapyrusDiagramPostComparison.java @@ -0,0 +1,92 @@ +/******************************************************************************* + * Copyright (c) 2015 Obeo. + * 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: + * Obeo - initial API and implementation + *******************************************************************************/ +package org.eclipse.emf.compare.diagram.papyrus.internal; + +import com.google.common.collect.Sets; + +import java.util.Collections; +import java.util.Set; + +import org.eclipse.emf.compare.Comparison; +import org.eclipse.emf.compare.Diff; + +/** + * This class materializes the post-comparison treatment. This treatment manages relations between notation + * changes and UML semantic changes when such changes should be linked. For instance, when the target of a + * connector is changed in the representation, it is also changed in the UML model. + * + * @author <a href="mailto:laurent.delaigue@obeo.fr">Laurent Delaigue</a> + */ +public class PapyrusDiagramPostComparison implements Runnable { + /** The comparison. */ + private final Comparison comparison; + + /** The indexer. */ + private final DiffIndexer indexer; + + /** + * Constructor. + * + * @param comparison + * The comparison + */ + public PapyrusDiagramPostComparison(Comparison comparison) { + this.comparison = comparison; + indexer = new DiffIndexer(); + } + + /** + * Executes the treatment. The algorithm takes 2 passes: + * <ol> + * <li>Index all {@link Diff}s that may be related with another {@link Diff}, using specific keys</li> + * <li>for each key in the index, create bi-directional implication links between the concerned diffs</li> + * </ol> + * This algorithm is linear, indexing in the first pass prevents fancy searches in the comparison model + * which may impede scalability. + */ + public void run() { + IDiffHandler handler = getHandler(); + for (Diff diff : comparison.getDifferences()) { + handler.handle(diff); + } + linkEquivalentDiffsWithRequiresRelations(); + } + + /** + * Once all related differences are indexed, walk through the index and create the implication links + * between all concerned {@link Diff}s. The indexing of {@link Diff}s must have been done before calling + * this method. + */ + private void linkEquivalentDiffsWithRequiresRelations() { + for (Object key : indexer.getEquivalentDiffsKeySet()) { + Set<Diff> diffs = indexer.getEquivalentDiffs(key); + if (diffs.size() > 1) { + for (Diff diff : diffs) { + diff.getRequires().addAll(Sets.difference(diffs, Collections.singleton(diff))); + } + } + } + } + + /** + * Provide the {@link IDiffHandler} for the comparison used by this instance. + * + * @return An indexer that manages 3-way comparisons if the comparison is 3-way, or an indexer that + * manages 2-way comparisons otherwise. + */ + protected IDiffHandler getHandler() { + if (comparison.isThreeWay()) { + return new PapyrusDiagram3WayDiffHandler(indexer); + } else { + return new PapyrusDiagram2WayDiffHandler(indexer); + } + } +} diff --git a/plugins/org.eclipse.emf.compare.diagram.papyrus/src/org/eclipse/emf/compare/diagram/papyrus/internal/PapyrusDiagramPostProcessor.java b/plugins/org.eclipse.emf.compare.diagram.papyrus/src/org/eclipse/emf/compare/diagram/papyrus/internal/PapyrusDiagramPostProcessor.java new file mode 100644 index 000000000..568e446c5 --- /dev/null +++ b/plugins/org.eclipse.emf.compare.diagram.papyrus/src/org/eclipse/emf/compare/diagram/papyrus/internal/PapyrusDiagramPostProcessor.java @@ -0,0 +1,73 @@ +/******************************************************************************* + * Copyright (c) 2015 Obeo. + * 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: + * Obeo - initial API and implementation + *******************************************************************************/ +package org.eclipse.emf.compare.diagram.papyrus.internal; + +import org.eclipse.emf.common.util.Monitor; +import org.eclipse.emf.compare.Comparison; +import org.eclipse.emf.compare.postprocessor.IPostProcessor; + +/** + * Post-processor used to manage interactions between papyrus diagrams (*.notation files) and the related UML + * models (*.uml files). + * + * @author <a href="mailto:laurent.delaigue@obeo.fr">Laurent Delaigue</a> + */ +public class PapyrusDiagramPostProcessor implements IPostProcessor { + + /** + * {@inheritDoc} + */ + public void postMatch(Comparison comparison, Monitor monitor) { + // Nothing to do here + } + + /** + * {@inheritDoc} + */ + public void postDiff(Comparison comparison, Monitor monitor) { + // Nothing to do here + } + + /** + * {@inheritDoc} + */ + public void postRequirements(Comparison comparison, Monitor monitor) { + // Nothing to do here + } + + /** + * {@inheritDoc} + */ + public void postEquivalences(Comparison comparison, Monitor monitor) { + // Nothing to do here + } + + /** + * {@inheritDoc} + */ + public void postConflicts(Comparison comparison, Monitor monitor) { + // Nothing to do here + } + + /** + * creates links between notation and UML changes when they should be linked. + * + * @param comparison + * The comparison + * @param monitor + * The progress monitor + */ + public void postComparison(Comparison comparison, Monitor monitor) { + if (monitor == null || !monitor.isCanceled()) { + new PapyrusDiagramPostComparison(comparison).run(); + } + } +} diff --git a/plugins/org.eclipse.emf.compare.diagram.papyrus/src/org/eclipse/emf/compare/diagram/papyrus/internal/SidedEObject.java b/plugins/org.eclipse.emf.compare.diagram.papyrus/src/org/eclipse/emf/compare/diagram/papyrus/internal/SidedEObject.java new file mode 100644 index 000000000..496fd15e9 --- /dev/null +++ b/plugins/org.eclipse.emf.compare.diagram.papyrus/src/org/eclipse/emf/compare/diagram/papyrus/internal/SidedEObject.java @@ -0,0 +1,83 @@ +/******************************************************************************* + * Copyright (c) 2015 Obeo. + * 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: + * Obeo - initial API and implementation + *******************************************************************************/ +package org.eclipse.emf.compare.diagram.papyrus.internal; + +import org.eclipse.emf.compare.DifferenceSource; +import org.eclipse.emf.ecore.EObject; + +/** + * Instance of a feature for an EObject, designed to be used as a key in a Map. + * + * @author <a href="mailto:laurent.delaigue@obeo.fr">Laurent Delaigue</a> + */ +class SidedEObject { + /** The EObject. */ + private final EObject eObject; + + /** The side. */ + private final DifferenceSource side; + + /** + * Constructor. + * + * @param eObject + * The EObject + * @param side + * The side + */ + public SidedEObject(EObject eObject, DifferenceSource side) { + super(); + this.eObject = eObject; + this.side = side; + } + + @Override + public int hashCode() { + final int prime = 31; + int result = 1; + // CHECKSTYLE:OFF Code generated by JDT + result = prime * result + ((eObject == null) ? 0 : eObject.hashCode()); + result = prime * result + ((side == null) ? 0 : side.hashCode()); + // CHECKSTYLE:ON + return result; + } + + // CHECKSTYLE:OFF Code generated by JDT + @Override + public boolean equals(Object obj) { + if (this == obj) { + return true; + } + if (obj == null) { + return false; + } + if (getClass() != obj.getClass()) { + return false; + } + SidedEObject other = (SidedEObject)obj; + if (eObject != other.eObject) { + return false; + } + if (side != other.side) { + return false; + } + return true; + // CHECKSTYLE:ON + } + + @Override + public String toString() { + if (eObject == null) { + return "<null>-" + side; //$NON-NLS-1$ + } + return eObject.eClass().getName() + '-' + side.getName(); + } +} diff --git a/plugins/org.eclipse.emf.compare.diagram.papyrus/src/org/eclipse/emf/compare/diagram/papyrus/internal/SidedFeatureInstance.java b/plugins/org.eclipse.emf.compare.diagram.papyrus/src/org/eclipse/emf/compare/diagram/papyrus/internal/SidedFeatureInstance.java new file mode 100644 index 000000000..e56a0e5cd --- /dev/null +++ b/plugins/org.eclipse.emf.compare.diagram.papyrus/src/org/eclipse/emf/compare/diagram/papyrus/internal/SidedFeatureInstance.java @@ -0,0 +1,75 @@ +/******************************************************************************* + * Copyright (c) 2015 Obeo. + * 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: + * Obeo - initial API and implementation + *******************************************************************************/ +package org.eclipse.emf.compare.diagram.papyrus.internal; + +import org.eclipse.emf.compare.DifferenceSource; +import org.eclipse.emf.ecore.EObject; +import org.eclipse.emf.ecore.EStructuralFeature; + +/** + * Instance of a feature for an EObject on a side of a comparison. + * + * @author <a href="mailto:laurent.delaigue@obeo.fr">Laurent Delaigue</a> + */ +class SidedFeatureInstance extends FeatureInstance { + /** The side. */ + private final DifferenceSource side; + + /** + * Constructor. + * + * @param eObject + * The EObject + * @param feature + * The feature + * @param side + * The side + */ + public SidedFeatureInstance(EObject eObject, EStructuralFeature feature, DifferenceSource side) { + super(eObject, feature); + this.side = side; + } + + @Override + public int hashCode() { + final int prime = 31; + int result = super.hashCode(); + // CHECKSTYLE:OFF Code generated by JDT + result = prime * result + ((side == null) ? 0 : side.hashCode()); + // CHECKSTYLE:ON + return result; + } + + // CHECKSTYLE:OFF Code generated by JDT + @Override + public boolean equals(Object obj) { + if (this == obj) { + return true; + } + if (!super.equals(obj)) { + return false; + } + if (getClass() != obj.getClass()) { + return false; + } + SidedFeatureInstance other = (SidedFeatureInstance)obj; + if (side != other.side) { + return false; + } + return true; + // CHECKSTYLE:ON + } + + @Override + public String toString() { + return super.toString() + '-' + side.getName(); + } +} |