/******************************************************************************* * Copyright (c) 2008-2011 Chair for Applied Software Engineering, * Technische Universitaet Muenchen. * 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: * Otto von Wesendonk - initial API and implementation ******************************************************************************/ package org.eclipse.emf.emfstore.internal.client.model.changeTracking.merging.conflict; import org.apache.commons.lang.StringUtils; import org.eclipse.emf.ecore.EObject; import org.eclipse.emf.emfstore.internal.client.model.changeTracking.merging.DecisionManager; import org.eclipse.emf.emfstore.internal.server.model.versioning.operations.AbstractOperation; import org.eclipse.emf.emfstore.internal.server.model.versioning.operations.FeatureOperation; /** * Holding the data for the context of an conflict. * * @author wesendon */ public class ConflictContext { private final EObject modelElement; private final String attribute; private final String opponent; /** * Default constructor. * * @param modelElement element * @param attribute attribute * @param opponent opponent */ public ConflictContext(EObject modelElement, String attribute, String opponent) { this.modelElement = modelElement; this.attribute = attribute; this.opponent = opponent; } /** * Alternative constructor. * * @param modelElement element * @param opponent opponent */ public ConflictContext(EObject modelElement, String opponent) { this.modelElement = modelElement; attribute = null; this.opponent = opponent; } /** * Alternative constructor. * * @param manager decisionmanager * @param myOperation my op * @param theirOperation their op */ public ConflictContext(DecisionManager manager, AbstractOperation myOperation, AbstractOperation theirOperation) { this(manager.getModelElement(myOperation.getModelElementId()), myOperation instanceof FeatureOperation ? ((FeatureOperation) myOperation).getFeatureName() : StringUtils.EMPTY, manager.getAuthorForOperation(theirOperation)); } /** * Get ModelELement. * * @return element */ public EObject getModelElement() { return modelElement; } /** * Get Attribute. * * @return attribute */ public String getAttribute() { return attribute; } /** * Get Opponent. * * @return opponent */ public String getOpponent() { return opponent; } /** * Get label for Modelelement. * * @return label */ public String getModelElementTitleLabel() { return Messages.ConflictContext_ModelElement_Label; } /** * Get label of attribute. * * @return label */ public String getAttributeTitleLabel() { return Messages.ConflictContext_Attribute_Label; } /** * Get label of opponent. * * @return label */ public String getOpponentTitleLabel() { return Messages.ConflictContext_Opponent_Label; } }