| /******************************************************************************* |
| * 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; |
| } |
| } |