Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTanja Mayerhofer2016-09-21 17:37:40 -0400
committerPhilip Langer2016-10-05 06:21:16 -0400
commitcd602d97ac023dc2cac936e946e0e5c45cd5ecad (patch)
tree51a90a2e12d52c6f48cbb7a10dd7c2b51e2d4cec
parent2a559dada31c6ebdf4f6ba067619b54a1375187b (diff)
downloadorg.eclipse.emf.compare-cd602d97ac023dc2cac936e946e0e5c45cd5ecad.tar.gz
org.eclipse.emf.compare-cd602d97ac023dc2cac936e946e0e5c45cd5ecad.tar.xz
org.eclipse.emf.compare-cd602d97ac023dc2cac936e946e0e5c45cd5ecad.zip
[501864] Replace refining diffs in SMV conflict nodes with refined diffs
If a conflict contains refining diffs, the conflict node shown in the SMV replaces these refining diffs with their refined diffs. The refining diffs are shown as children of the refined diffs. Bug: 501864 Change-Id: I21ae22c41e0f384904228fa0b0ffd07cd1c10dad Signed-off-by: Tanja Mayerhofer <tmayerhofer@eclipsesource.com> Signed-off-by: Philip Langer <planger@eclipsesource.com>
-rw-r--r--plugins/org.eclipse.emf.compare.rcp.ui/src/org/eclipse/emf/compare/rcp/ui/internal/structuremergeviewer/filters/impl/TechnicalitiesFilter.java22
-rw-r--r--plugins/org.eclipse.emf.compare.rcp.ui/src/org/eclipse/emf/compare/rcp/ui/internal/structuremergeviewer/groups/impl/ThreeWayComparisonGroupProvider.java79
-rw-r--r--plugins/org.eclipse.emf.compare.uml2.rcp.ui.tests/META-INF/MANIFEST.MF3
-rw-r--r--plugins/org.eclipse.emf.compare.uml2.rcp.ui.tests/src/org/eclipse/emf/compare/uml2/rcp/ui/tests/groups/ConflictsGroupTest.java130
-rw-r--r--plugins/org.eclipse.emf.compare.uml2.rcp.ui.tests/src/org/eclipse/emf/compare/uml2/rcp/ui/tests/groups/data/uml/conflictrefiningdiffs/UMLConflictWithRefiningDiffInputData.java32
-rw-r--r--plugins/org.eclipse.emf.compare.uml2.rcp.ui.tests/src/org/eclipse/emf/compare/uml2/rcp/ui/tests/groups/data/uml/conflictrefiningdiffs/left.uml9
-rw-r--r--plugins/org.eclipse.emf.compare.uml2.rcp.ui.tests/src/org/eclipse/emf/compare/uml2/rcp/ui/tests/groups/data/uml/conflictrefiningdiffs/origin.uml6
-rw-r--r--plugins/org.eclipse.emf.compare.uml2.rcp.ui.tests/src/org/eclipse/emf/compare/uml2/rcp/ui/tests/groups/data/uml/conflictrefiningdiffs/right.uml4
-rw-r--r--plugins/org.eclipse.emf.compare.uml2.rcp.ui.tests/src/org/eclipse/emf/compare/uml2/rcp/ui/tests/suite/AllTests.java14
9 files changed, 287 insertions, 12 deletions
diff --git a/plugins/org.eclipse.emf.compare.rcp.ui/src/org/eclipse/emf/compare/rcp/ui/internal/structuremergeviewer/filters/impl/TechnicalitiesFilter.java b/plugins/org.eclipse.emf.compare.rcp.ui/src/org/eclipse/emf/compare/rcp/ui/internal/structuremergeviewer/filters/impl/TechnicalitiesFilter.java
index 4c7a7988e..4053b3813 100644
--- a/plugins/org.eclipse.emf.compare.rcp.ui/src/org/eclipse/emf/compare/rcp/ui/internal/structuremergeviewer/filters/impl/TechnicalitiesFilter.java
+++ b/plugins/org.eclipse.emf.compare.rcp.ui/src/org/eclipse/emf/compare/rcp/ui/internal/structuremergeviewer/filters/impl/TechnicalitiesFilter.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2016 Obeo.
+ * Copyright (c) 2016 Obeo and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
@@ -7,14 +7,15 @@
*
* Contributors:
* Obeo - initial API and implementation
+ * Philip Langer - bug 501864
*******************************************************************************/
package org.eclipse.emf.compare.rcp.ui.internal.structuremergeviewer.filters.impl;
import static com.google.common.collect.Iterators.any;
+import static org.eclipse.emf.compare.utils.EMFComparePredicates.hasDirectOrIndirectConflict;
import com.google.common.base.Predicate;
-import org.eclipse.emf.compare.Conflict;
import org.eclipse.emf.compare.ConflictKind;
import org.eclipse.emf.compare.Diff;
import org.eclipse.emf.compare.FeatureMapChange;
@@ -91,8 +92,7 @@ public class TechnicalitiesFilter extends AbstractDifferenceFilter {
if (data instanceof Diff) {
Diff diff = (Diff)data;
if (diff.getMatch().getComparison().isThreeWay()) {
- Conflict conflict = diff.getConflict();
- ret = conflict != null && conflict.getKind() == ConflictKind.PSEUDO;
+ ret = hasDirectOrIndirectPseudoConflictOnly(diff);
}
}
}
@@ -101,6 +101,20 @@ public class TechnicalitiesFilter extends AbstractDifferenceFilter {
};
/**
+ * Specifies whether the given diff has a direct or indirect pseudo conflict, but not a direct or indirect
+ * real conflict.
+ *
+ * @param diff
+ * The diff to check.
+ * @return <code>true</code> if it only has a direct or indirect pseudo conflict, <code>false</code>
+ * otherwise.
+ */
+ private static boolean hasDirectOrIndirectPseudoConflictOnly(Diff diff) {
+ return hasDirectOrIndirectConflict(ConflictKind.PSEUDO).apply(diff)
+ && !hasDirectOrIndirectConflict(ConflictKind.REAL).apply(diff);
+ }
+
+ /**
* The predicate use to filter identical elements.
*/
private static final Predicate<? super EObject> PREDICATE_IDENTICAL_ELEMENTS = new Predicate<EObject>() {
diff --git a/plugins/org.eclipse.emf.compare.rcp.ui/src/org/eclipse/emf/compare/rcp/ui/internal/structuremergeviewer/groups/impl/ThreeWayComparisonGroupProvider.java b/plugins/org.eclipse.emf.compare.rcp.ui/src/org/eclipse/emf/compare/rcp/ui/internal/structuremergeviewer/groups/impl/ThreeWayComparisonGroupProvider.java
index 7eec360ef..a5f162cc0 100644
--- a/plugins/org.eclipse.emf.compare.rcp.ui/src/org/eclipse/emf/compare/rcp/ui/internal/structuremergeviewer/groups/impl/ThreeWayComparisonGroupProvider.java
+++ b/plugins/org.eclipse.emf.compare.rcp.ui/src/org/eclipse/emf/compare/rcp/ui/internal/structuremergeviewer/groups/impl/ThreeWayComparisonGroupProvider.java
@@ -9,14 +9,17 @@
* Obeo - initial API and implementation
* Stefan Dirix - bug 488941
* Simon Delisle, Edgar Mueller - bug 486923
+ * Tanja Mayerhofer - bug 501864
*******************************************************************************/
package org.eclipse.emf.compare.rcp.ui.internal.structuremergeviewer.groups.impl;
+import static com.google.common.base.Preconditions.checkNotNull;
import static com.google.common.base.Predicates.and;
import static com.google.common.collect.Iterables.any;
import static com.google.common.collect.Iterators.concat;
import static com.google.common.collect.Iterators.filter;
import static com.google.common.collect.Iterators.transform;
+import static com.google.common.collect.Lists.newArrayList;
import static org.eclipse.emf.compare.utils.EMFComparePredicates.fromSide;
import static org.eclipse.emf.compare.utils.EMFComparePredicates.hasConflict;
import static org.eclipse.emf.compare.utils.EMFComparePredicates.hasState;
@@ -29,14 +32,20 @@ import com.google.common.collect.UnmodifiableIterator;
import java.util.Collection;
import java.util.Iterator;
+import java.util.LinkedHashSet;
+import java.util.List;
+import java.util.Set;
import org.eclipse.emf.common.notify.Adapter;
+import org.eclipse.emf.common.util.BasicEList;
+import org.eclipse.emf.common.util.EList;
import org.eclipse.emf.compare.Comparison;
import org.eclipse.emf.compare.Conflict;
import org.eclipse.emf.compare.ConflictKind;
import org.eclipse.emf.compare.Diff;
import org.eclipse.emf.compare.DifferenceSource;
import org.eclipse.emf.compare.DifferenceState;
+import org.eclipse.emf.compare.impl.ConflictImpl;
import org.eclipse.emf.compare.provider.utils.ComposedStyledString;
import org.eclipse.emf.compare.provider.utils.IStyledString;
import org.eclipse.emf.compare.provider.utils.IStyledString.IComposedStyledString;
@@ -111,13 +120,81 @@ public class ThreeWayComparisonGroupProvider extends AbstractDifferenceGroupProv
@Override
protected void doBuildSubTrees() {
for (Conflict conflict : getComparison().getConflicts()) {
- ConflictNodeBuilder builder = new ConflictNodeBuilder(conflict, this);
+ ConflictGroup conflictGroup = new ConflictGroup(conflict);
+ ConflictNodeBuilder builder = new ConflictNodeBuilder(conflictGroup, this);
ConflictNode conflictNode = builder.buildNode();
children.add(conflictNode);
}
}
/**
+ * This implementation of {@link Conflict} is used to re-define conflicts for the SMV. Conflicts are
+ * re-define to contain refined diffs instead of refining diffs.
+ *
+ * @author <a href="mailto:tmayerhofer@eclipsesource.com">Tanja Mayerhofer</a>
+ */
+ public static class ConflictGroup extends ConflictImpl {
+
+ private final Conflict conflict;
+
+ private EList<Diff> diffs = new BasicEList<Diff>();
+
+ public ConflictGroup(Conflict conflict) {
+ this.conflict = checkNotNull(conflict);
+ this.diffs.addAll(computeDiffs());
+ }
+
+ /**
+ * Computes the re-defined diffs of the conflict. In particular, refining diffs are replaces by
+ * refined diffs.
+ *
+ * @return The set of re-defined diffs of the conflict
+ */
+ private Set<Diff> computeDiffs() {
+ LinkedHashSet<Diff> computedDiffs = new LinkedHashSet<Diff>();
+ for (Diff diff : conflict.getDifferences()) {
+ if (diff.getRefines().isEmpty()) {
+ computedDiffs.add(diff);
+ } else {
+ computedDiffs.addAll(getRootRefinedDiffs(diff));
+ }
+ }
+ return computedDiffs;
+ }
+
+ /**
+ * Determines the leaf refined diff of a refining diff, i.e., a refined diff that is not refining
+ * another diff.
+ *
+ * @param diff
+ * The diff for which the leaf refined diff is to be determined
+ * @return The leaf refined diff of the provided (refining diff)
+ */
+ private List<Diff> getRootRefinedDiffs(Diff diff) {
+ List<Diff> rootRefinedDiffs = newArrayList();
+ for (Diff refinedDiff : diff.getRefines()) {
+ if (refinedDiff.getRefines().isEmpty()) {
+ rootRefinedDiffs.add(refinedDiff);
+ } else {
+ rootRefinedDiffs.addAll(getRootRefinedDiffs(refinedDiff));
+ }
+ }
+ return rootRefinedDiffs;
+ }
+
+ @Override
+ public ConflictKind getKind() {
+ return this.conflict.getKind();
+ }
+
+ @Override
+ public EList<Diff> getDifferences() {
+ return this.diffs;
+ }
+
+ }
+
+ /**
* {@inheritDoc}
*
* @see org.eclipse.emf.compare.rcp.ui.internal.structuremergeviewer.groups.impl.BasicDifferenceGroupImpl#getStyledName()
diff --git a/plugins/org.eclipse.emf.compare.uml2.rcp.ui.tests/META-INF/MANIFEST.MF b/plugins/org.eclipse.emf.compare.uml2.rcp.ui.tests/META-INF/MANIFEST.MF
index 48e5c73af..c952a8367 100644
--- a/plugins/org.eclipse.emf.compare.uml2.rcp.ui.tests/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.emf.compare.uml2.rcp.ui.tests/META-INF/MANIFEST.MF
@@ -16,7 +16,8 @@ Require-Bundle: org.eclipse.ui,
org.eclipse.emf.compare.uml2.rcp.ui;bundle-version="2.2.0",
org.eclipse.uml2.uml.resources,
org.eclipse.emf.compare.uml2.tests,
- org.eclipse.emf.compare.rcp
+ org.eclipse.emf.compare.rcp,
+ org.eclipse.emf.compare.rcp.ui.tests;bundle-version="4.3.0"
Bundle-RequiredExecutionEnvironment: J2SE-1.5
Bundle-ActivationPolicy: lazy
Bundle-Localization: plugin
diff --git a/plugins/org.eclipse.emf.compare.uml2.rcp.ui.tests/src/org/eclipse/emf/compare/uml2/rcp/ui/tests/groups/ConflictsGroupTest.java b/plugins/org.eclipse.emf.compare.uml2.rcp.ui.tests/src/org/eclipse/emf/compare/uml2/rcp/ui/tests/groups/ConflictsGroupTest.java
new file mode 100644
index 000000000..f526960c8
--- /dev/null
+++ b/plugins/org.eclipse.emf.compare.uml2.rcp.ui.tests/src/org/eclipse/emf/compare/uml2/rcp/ui/tests/groups/ConflictsGroupTest.java
@@ -0,0 +1,130 @@
+/*******************************************************************************
+ * Copyright (c) 2016 Obeo and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Obeo - initial API and implementation
+ * Tanja Mayerhofer - bug 501864
+ *******************************************************************************/
+package org.eclipse.emf.compare.uml2.rcp.ui.tests.groups;
+
+import static org.eclipse.emf.compare.utils.EMFComparePredicates.hasConflict;
+import static org.junit.Assert.assertEquals;
+
+import com.google.common.collect.Lists;
+
+import java.io.IOException;
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.compare.Comparison;
+import org.eclipse.emf.compare.ConflictKind;
+import org.eclipse.emf.compare.provider.spec.CompareItemProviderAdapterFactorySpec;
+import org.eclipse.emf.compare.rcp.ui.internal.EMFCompareRCPUIMessages;
+import org.eclipse.emf.compare.rcp.ui.internal.structuremergeviewer.groups.impl.ThreeWayComparisonGroupProvider.ConflictsGroupImpl;
+import org.eclipse.emf.compare.rcp.ui.internal.structuremergeviewer.nodes.ConflictNode;
+import org.eclipse.emf.compare.rcp.ui.internal.structuremergeviewer.nodes.DiffNode;
+import org.eclipse.emf.compare.rcp.ui.internal.structuremergeviewer.nodes.MatchNode;
+import org.eclipse.emf.compare.rcp.ui.tests.structuremergeviewer.groups.provider.AbstractTestTreeNodeItemProviderAdapter;
+import org.eclipse.emf.compare.uml2.rcp.ui.tests.groups.data.uml.conflictrefiningdiffs.UMLConflictWithRefiningDiffInputData;
+import org.eclipse.emf.ecore.EReference;
+import org.eclipse.emf.ecore.provider.EcoreItemProviderAdapterFactory;
+import org.eclipse.emf.ecore.util.ECrossReferenceAdapter;
+import org.eclipse.emf.edit.provider.AdapterFactoryItemDelegator;
+import org.eclipse.emf.edit.provider.ComposedAdapterFactory;
+import org.eclipse.emf.edit.provider.ReflectiveItemProviderAdapterFactory;
+import org.eclipse.emf.edit.tree.TreeNode;
+import org.eclipse.emf.edit.tree.TreePackage;
+import org.junit.Test;
+
+@SuppressWarnings("restriction")
+public class ConflictsGroupTest extends AbstractTestTreeNodeItemProviderAdapter {
+
+ private AdapterFactoryItemDelegator itemDelegator;
+
+ @Override
+ public void before() throws IOException {
+ super.before();
+
+ final Collection<AdapterFactory> factories = Lists.newArrayList();
+ factories.add(new CompareItemProviderAdapterFactorySpec());
+ factories.add(treeItemProviderAdapterFactory);
+ factories.add(new EcoreItemProviderAdapterFactory());
+ factories.add(new ReflectiveItemProviderAdapterFactory());
+
+ final AdapterFactory composedAdapterFactory = new ComposedAdapterFactory(factories);
+ itemDelegator = new AdapterFactoryItemDelegator(composedAdapterFactory);
+ }
+
+ /**
+ * Tests that for conflicts containing refining diffs, the refining diffs are replaced with their refined
+ * diffs when displayed in the SMV. This test is related to <a
+ * href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=501864"</a>
+ *
+ * @throws IOException
+ */
+ @Test
+ public void testReplacementOfRefiningDiffs() throws IOException {
+ Comparison comparison = getComparison(new UMLConflictWithRefiningDiffInputData());
+ ECrossReferenceAdapter crossReferenceAdapter = new ECrossReferenceAdapter() {
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.emf.ecore.util.ECrossReferenceAdapter#isIncluded(org.eclipse.emf.ecore.EReference)
+ */
+ @Override
+ protected boolean isIncluded(EReference eReference) {
+ return eReference == TreePackage.Literals.TREE_NODE__DATA;
+ }
+ };
+ final ConflictsGroupImpl conflictsGroup = new ConflictsGroupImpl(comparison,
+ hasConflict(ConflictKind.REAL, ConflictKind.PSEUDO),
+ EMFCompareRCPUIMessages.getString("ThreeWayComparisonGroupProvider.conflicts.label"), //$NON-NLS-1$
+ crossReferenceAdapter);
+ conflictsGroup.buildSubTree();
+
+ List<? extends TreeNode> conflictNodes = conflictsGroup.getChildren();
+ assertEquals(1, conflictNodes.size());
+
+ ConflictNode conflictNode = (ConflictNode)conflictNodes.get(0);
+ List<? extends TreeNode> matchNodes = conflictNode.getChildren();
+ assertEquals(1, matchNodes.size());
+
+ // Match node for OpauqeAction
+ MatchNode matchNode = (MatchNode)matchNodes.get(0);
+ checkText(matchNode, "Opaque Action OpaqueAction"); //$NON-NLS-1$
+
+ List<? extends TreeNode> diffNodes = matchNode.getChildren();
+ assertEquals(2, diffNodes.size());
+
+ // Diff node for deletion of OpaqueAction
+ DiffNode diffNodeDeletion = (DiffNode)diffNodes.get(0);
+ checkText(diffNodeDeletion, "Opaque Action OpaqueAction [ownedNode delete]"); //$NON-NLS-1$
+ assertEquals(0, diffNodeDeletion.getChildren().size());
+
+ // Diff node for opaque element change of OpaqueAction
+ DiffNode diffNodeChange = (DiffNode)diffNodes.get(1);
+ checkText(diffNodeChange, "Opaque Element Body Change Natural language"); //$NON-NLS-1$
+
+ List<? extends TreeNode> diffNodeChildren = diffNodeChange.getChildren();
+ assertEquals(2, diffNodeChildren.size());
+
+ // Diff node for body add of OpaqueAction
+ DiffNode diffNodeBodyAdd = (DiffNode)diffNodeChildren.get(0);
+ checkText(diffNodeBodyAdd, "This is a natural language definition of Opaque... [body add]"); //$NON-NLS-1$
+ assertEquals(0, diffNodeBodyAdd.getChildren().size());
+
+ // Diff node for language add of OpaqueAction
+ DiffNode diffNodeLanguageAdd = (DiffNode)diffNodeChildren.get(1);
+ checkText(diffNodeLanguageAdd, "Natural language [language add]"); //$NON-NLS-1$
+ assertEquals(0, diffNodeLanguageAdd.getChildren().size());
+ }
+
+ protected void checkText(TreeNode childNode, String expected) {
+ assertEquals(expected, itemDelegator.getText(childNode));
+ }
+}
diff --git a/plugins/org.eclipse.emf.compare.uml2.rcp.ui.tests/src/org/eclipse/emf/compare/uml2/rcp/ui/tests/groups/data/uml/conflictrefiningdiffs/UMLConflictWithRefiningDiffInputData.java b/plugins/org.eclipse.emf.compare.uml2.rcp.ui.tests/src/org/eclipse/emf/compare/uml2/rcp/ui/tests/groups/data/uml/conflictrefiningdiffs/UMLConflictWithRefiningDiffInputData.java
new file mode 100644
index 000000000..b807fd7e7
--- /dev/null
+++ b/plugins/org.eclipse.emf.compare.uml2.rcp.ui.tests/src/org/eclipse/emf/compare/uml2/rcp/ui/tests/groups/data/uml/conflictrefiningdiffs/UMLConflictWithRefiningDiffInputData.java
@@ -0,0 +1,32 @@
+/*******************************************************************************
+ * Copyright (c) 2016 EclipseSource Services GmbH and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Tanja Mayerhofer - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.emf.compare.uml2.rcp.ui.tests.groups.data.uml.conflictrefiningdiffs;
+
+import java.io.IOException;
+
+import org.eclipse.emf.compare.tests.edit.data.ResourceScopeProvider;
+import org.eclipse.emf.compare.tests.framework.AbstractInputData;
+import org.eclipse.emf.ecore.resource.Resource;
+
+public class UMLConflictWithRefiningDiffInputData extends AbstractInputData implements ResourceScopeProvider {
+
+ public Resource getLeft() throws IOException {
+ return loadFromClassLoader("left.uml"); //$NON-NLS-1$
+ }
+
+ public Resource getRight() throws IOException {
+ return loadFromClassLoader("right.uml"); //$NON-NLS-1$
+ }
+
+ public Resource getOrigin() throws IOException {
+ return loadFromClassLoader("origin.uml"); //$NON-NLS-1$
+ }
+}
diff --git a/plugins/org.eclipse.emf.compare.uml2.rcp.ui.tests/src/org/eclipse/emf/compare/uml2/rcp/ui/tests/groups/data/uml/conflictrefiningdiffs/left.uml b/plugins/org.eclipse.emf.compare.uml2.rcp.ui.tests/src/org/eclipse/emf/compare/uml2/rcp/ui/tests/groups/data/uml/conflictrefiningdiffs/left.uml
new file mode 100644
index 000000000..3cd1a0067
--- /dev/null
+++ b/plugins/org.eclipse.emf.compare.uml2.rcp.ui.tests/src/org/eclipse/emf/compare/uml2/rcp/ui/tests/groups/data/uml/conflictrefiningdiffs/left.uml
@@ -0,0 +1,9 @@
+<?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="_lVcg8H_MEeayp7MnooaiIA" name="model">
+ <packagedElement xmi:type="uml:Activity" xmi:id="_lVsYkH_MEeayp7MnooaiIA" name="Activity1" node="_sI5KsH_MEeayp7MnooaiIA">
+ <node xmi:type="uml:OpaqueAction" xmi:id="_sI5KsH_MEeayp7MnooaiIA" name="OpaqueAction">
+ <language>Natural language</language>
+ <body>This is a natural language definition of OpaqueAction.</body>
+ </node>
+ </packagedElement>
+</uml:Model>
diff --git a/plugins/org.eclipse.emf.compare.uml2.rcp.ui.tests/src/org/eclipse/emf/compare/uml2/rcp/ui/tests/groups/data/uml/conflictrefiningdiffs/origin.uml b/plugins/org.eclipse.emf.compare.uml2.rcp.ui.tests/src/org/eclipse/emf/compare/uml2/rcp/ui/tests/groups/data/uml/conflictrefiningdiffs/origin.uml
new file mode 100644
index 000000000..5ecbfa50e
--- /dev/null
+++ b/plugins/org.eclipse.emf.compare.uml2.rcp.ui.tests/src/org/eclipse/emf/compare/uml2/rcp/ui/tests/groups/data/uml/conflictrefiningdiffs/origin.uml
@@ -0,0 +1,6 @@
+<?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="_lVcg8H_MEeayp7MnooaiIA" name="model">
+ <packagedElement xmi:type="uml:Activity" xmi:id="_lVsYkH_MEeayp7MnooaiIA" name="Activity1" node="_sI5KsH_MEeayp7MnooaiIA">
+ <node xmi:type="uml:OpaqueAction" xmi:id="_sI5KsH_MEeayp7MnooaiIA" name="OpaqueAction"/>
+ </packagedElement>
+</uml:Model>
diff --git a/plugins/org.eclipse.emf.compare.uml2.rcp.ui.tests/src/org/eclipse/emf/compare/uml2/rcp/ui/tests/groups/data/uml/conflictrefiningdiffs/right.uml b/plugins/org.eclipse.emf.compare.uml2.rcp.ui.tests/src/org/eclipse/emf/compare/uml2/rcp/ui/tests/groups/data/uml/conflictrefiningdiffs/right.uml
new file mode 100644
index 000000000..9c784e1a8
--- /dev/null
+++ b/plugins/org.eclipse.emf.compare.uml2.rcp.ui.tests/src/org/eclipse/emf/compare/uml2/rcp/ui/tests/groups/data/uml/conflictrefiningdiffs/right.uml
@@ -0,0 +1,4 @@
+<?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="_lVcg8H_MEeayp7MnooaiIA" name="model">
+ <packagedElement xmi:type="uml:Activity" xmi:id="_lVsYkH_MEeayp7MnooaiIA" name="Activity1"/>
+</uml:Model>
diff --git a/plugins/org.eclipse.emf.compare.uml2.rcp.ui.tests/src/org/eclipse/emf/compare/uml2/rcp/ui/tests/suite/AllTests.java b/plugins/org.eclipse.emf.compare.uml2.rcp.ui.tests/src/org/eclipse/emf/compare/uml2/rcp/ui/tests/suite/AllTests.java
index b6335d66e..e154b0a14 100644
--- a/plugins/org.eclipse.emf.compare.uml2.rcp.ui.tests/src/org/eclipse/emf/compare/uml2/rcp/ui/tests/suite/AllTests.java
+++ b/plugins/org.eclipse.emf.compare.uml2.rcp.ui.tests/src/org/eclipse/emf/compare/uml2/rcp/ui/tests/suite/AllTests.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2014 Obeo.
+ * Copyright (c) 2014, 2106 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
@@ -7,13 +7,11 @@
*
* Contributors:
* Obeo - initial API and implementation
+ * Tanja Mayerhofer - bug 501864
*******************************************************************************/
package org.eclipse.emf.compare.uml2.rcp.ui.tests.suite;
-import junit.framework.JUnit4TestAdapter;
-import junit.framework.Test;
-import junit.textui.TestRunner;
-
+import org.eclipse.emf.compare.uml2.rcp.ui.tests.groups.ConflictsGroupTest;
import org.eclipse.emf.compare.uml2.rcp.ui.tests.groups.UMLDifferencesOrderTest;
import org.eclipse.emf.compare.uml2.rcp.ui.tests.profile.DynamicProfileIntegrationDisplayTest;
import org.eclipse.emf.compare.uml2.rcp.ui.tests.profile.StaticProfileIntegrationDisplayTest;
@@ -21,6 +19,10 @@ import org.junit.runner.RunWith;
import org.junit.runners.Suite;
import org.junit.runners.Suite.SuiteClasses;
+import junit.framework.JUnit4TestAdapter;
+import junit.framework.Test;
+import junit.textui.TestRunner;
+
/**
* This test suite allows us to launch all tests for EMF Compare at once.
*
@@ -28,7 +30,7 @@ import org.junit.runners.Suite.SuiteClasses;
*/
@RunWith(Suite.class)
@SuiteClasses({UMLDifferencesOrderTest.class, DynamicProfileIntegrationDisplayTest.class,
- StaticProfileIntegrationDisplayTest.class })
+ StaticProfileIntegrationDisplayTest.class, ConflictsGroupTest.class })
public class AllTests {
/**

Back to the top