diff options
author | tfesenko | 2011-02-04 15:32:57 +0000 |
---|---|---|
committer | tfesenko | 2011-02-04 15:32:57 +0000 |
commit | 675074d3bf5fb91c58adc64141102dd04fa8aced (patch) | |
tree | f7c36fb45541d96ab416ab5463c91f2952bb9201 /extraplugins | |
parent | 05263fc2c91f149dff7139a7fec986e25d96e445 (diff) | |
download | org.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')
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); |