/******************************************************************************* * Copyright (c) 2012, 2014 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.merge; import org.eclipse.emf.common.util.Monitor; import org.eclipse.emf.compare.ConflictKind; import org.eclipse.emf.compare.Diff; import org.eclipse.emf.compare.DifferenceState; /** * A simple merger for pseudo conflict. It only marks the differences as merged without doing anything except * browsing the requirements and the equivalences. * * @author <a href="mailto:mikael.barbero@obeo.fr">Mikael Barbero</a> */ public class PseudoConflictMerger extends AbstractMerger { /** * {@inheritDoc} * * @see org.eclipse.emf.compare.merge.IMerger#isMergerFor(org.eclipse.emf.compare.Diff) */ public boolean isMergerFor(Diff target) { return target.getConflict() != null && target.getConflict().getKind() == ConflictKind.PSEUDO; } /** * {@inheritDoc} * * @see org.eclipse.emf.compare.merge.AbstractMerger#copyLeftToRight(org.eclipse.emf.compare.Diff, * org.eclipse.emf.common.util.Monitor) */ @Override public void copyLeftToRight(Diff target, Monitor monitor) { super.copyLeftToRight(target, monitor); for (Diff pseudoConflictedDiff : target.getConflict().getDifferences()) { pseudoConflictedDiff.setState(DifferenceState.MERGED); } } /** * {@inheritDoc} * * @see org.eclipse.emf.compare.merge.AbstractMerger#copyRightToLeft(org.eclipse.emf.compare.Diff, * org.eclipse.emf.common.util.Monitor) */ @Override public void copyRightToLeft(Diff target, Monitor monitor) { super.copyRightToLeft(target, monitor); for (Diff pseudoConflictedDiff : target.getConflict().getDifferences()) { pseudoConflictedDiff.setState(DifferenceState.MERGED); } } }