Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authortfesenko2011-02-04 15:32:57 +0000
committertfesenko2011-02-04 15:32:57 +0000
commit675074d3bf5fb91c58adc64141102dd04fa8aced (patch)
treef7c36fb45541d96ab416ab5463c91f2952bb9201 /extraplugins
parent05263fc2c91f149dff7139a7fec986e25d96e445 (diff)
downloadorg.eclipse.papyrus-675074d3bf5fb91c58adc64141102dd04fa8aced.tar.gz
org.eclipse.papyrus-675074d3bf5fb91c58adc64141102dd04fa8aced.tar.xz
org.eclipse.papyrus-675074d3bf5fb91c58adc64141102dd04fa8aced.zip
336361 - [UML Compare] Compare two elements: show right element as root
Diffstat (limited to 'extraplugins')
-rw-r--r--extraplugins/compare/org.eclipse.papyrus.compare/src/org/eclipse/papyrus/compare/diff/PapyrusDiffEngine.java2
-rw-r--r--extraplugins/compare/org.eclipse.papyrus.compare/src/org/eclipse/papyrus/compare/element/ElementContentDiffEngine.java33
2 files changed, 3 insertions, 32 deletions
diff --git a/extraplugins/compare/org.eclipse.papyrus.compare/src/org/eclipse/papyrus/compare/diff/PapyrusDiffEngine.java b/extraplugins/compare/org.eclipse.papyrus.compare/src/org/eclipse/papyrus/compare/diff/PapyrusDiffEngine.java
index 7943118ee17..dd23dfadc3c 100644
--- a/extraplugins/compare/org.eclipse.papyrus.compare/src/org/eclipse/papyrus/compare/diff/PapyrusDiffEngine.java
+++ b/extraplugins/compare/org.eclipse.papyrus.compare/src/org/eclipse/papyrus/compare/diff/PapyrusDiffEngine.java
@@ -109,7 +109,7 @@ public class PapyrusDiffEngine extends GenericDiffEngine {
return modelElement.eContainer();
}
- private DiffElement findDiffElementFor(DiffModel root, EObject modelElement) {
+ protected final DiffElement findDiffElementFor(DiffModel root, EObject modelElement) {
if(modelElement == null) {
return null;
}
diff --git a/extraplugins/compare/org.eclipse.papyrus.compare/src/org/eclipse/papyrus/compare/element/ElementContentDiffEngine.java b/extraplugins/compare/org.eclipse.papyrus.compare/src/org/eclipse/papyrus/compare/element/ElementContentDiffEngine.java
index 2e2bd9e2499..3ab02ba4043 100644
--- a/extraplugins/compare/org.eclipse.papyrus.compare/src/org/eclipse/papyrus/compare/element/ElementContentDiffEngine.java
+++ b/extraplugins/compare/org.eclipse.papyrus.compare/src/org/eclipse/papyrus/compare/element/ElementContentDiffEngine.java
@@ -44,41 +44,12 @@ public class ElementContentDiffEngine extends PapyrusDiffEngine {
@Override
protected void postProcess(DiffModel diffModel) {
super.postProcess(diffModel);
- DiffElement newRoot = getNewRoot(diffModel);
+ //#336361 - [UML Compare] Compare two elements: show right element as root
+ DiffElement newRoot = findDiffElementFor(diffModel, myRight);
diffModel.getOwnedElements().clear();
diffModel.getOwnedElements().add(newRoot);
}
- private DiffElement getNewRoot(DiffModel diffModel) {
- for (DiffElement curr: diffModel.getOwnedElements()) {
- for (EObject element: getModelElementsFor(curr)) {
- if (myRight.equals(element)) {
- return curr;
- }
- DiffElement found = getNewRoot(curr);
- if (found != null) {
- return found;
- }
- }
- }
- return null;
- }
-
- private DiffElement getNewRoot(DiffElement diffElement) {
- for (DiffElement curr: diffElement.getSubDiffElements()) {
- for (EObject element: getModelElementsFor(curr)) {
- if (myRight.equals(element)) {
- return curr;
- }
- DiffElement found = getNewRoot(curr);
- if (found != null) {
- return found;
- }
- }
- }
- return null;
- }
-
@Override
protected void visitElement(DiffModel root, DiffElement diffElement) {
super.visitElement(root, diffElement);

Back to the top