| /******************************************************************************* |
| * Copyright (c) 2011, 2012 Ericsson AB and others. |
| * |
| * 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 |
| * |
| * Description: |
| * |
| * This class encapsulates the properties for the Anomaly UI model element |
| * |
| * Contributors: |
| * Sebastien Dubois - Created for Mylyn Review R4E project |
| * |
| ******************************************************************************/ |
| |
| package org.eclipse.mylyn.reviews.r4e.ui.internal.properties.general; |
| |
| import org.eclipse.mylyn.reviews.r4e.core.model.R4ECommentType; |
| import org.eclipse.mylyn.reviews.r4e.core.model.drules.R4EDesignRuleRank; |
| import org.eclipse.mylyn.reviews.r4e.ui.internal.model.R4EUIAnomalyBasic; |
| import org.eclipse.mylyn.reviews.r4e.ui.internal.model.R4EUIModelElement; |
| import org.eclipse.mylyn.reviews.r4e.ui.internal.utils.R4EUIConstants; |
| import org.eclipse.mylyn.reviews.r4e.ui.internal.utils.UIUtils; |
| import org.eclipse.ui.views.properties.IPropertyDescriptor; |
| import org.eclipse.ui.views.properties.PropertyDescriptor; |
| |
| /** |
| * @author Sebastien Dubois |
| * @version $Revision: 1.0 $ |
| */ |
| public class AnomalyBasicProperties extends ModelElementProperties { |
| |
| // ------------------------------------------------------------------------ |
| // Constants |
| // ------------------------------------------------------------------------ |
| |
| /** |
| * Field ANOMALY_TITLE_ID. (value is ""anomalyElement.title"") |
| */ |
| private static final String ANOMALY_TITLE_ID = "anomalyElement.title"; |
| |
| /** |
| * Field ANOMALY_TITLE_PROPERTY_DESCRIPTOR. |
| */ |
| protected static final PropertyDescriptor ANOMALY_TITLE_PROPERTY_DESCRIPTOR = new PropertyDescriptor( |
| ANOMALY_TITLE_ID, R4EUIConstants.TITLE_LABEL); |
| |
| /** |
| * Field ANOMALY_POSITION_ID. (value is ""anomalyElement.position"") |
| */ |
| private static final String ANOMALY_POSITION_ID = "anomalyElement.position"; |
| |
| /** |
| * Field ANOMALY_POSITION_PROPERTY_DESCRIPTOR. |
| */ |
| protected static final PropertyDescriptor ANOMALY_POSITION_PROPERTY_DESCRIPTOR = new PropertyDescriptor( |
| ANOMALY_POSITION_ID, R4EUIConstants.POSITION_LABEL); |
| |
| /** |
| * Field ANOMALY_AUTHOR_ID. (value is ""anomalyElement.author"") |
| */ |
| private static final String ANOMALY_AUTHOR_ID = "anomalyElement.author"; |
| |
| /** |
| * Field ANOMALY_AUTHOR_PROPERTY_DESCRIPTOR. |
| */ |
| protected static final PropertyDescriptor ANOMALY_AUTHOR_PROPERTY_DESCRIPTOR = new PropertyDescriptor( |
| ANOMALY_AUTHOR_ID, R4EUIConstants.AUTHOR_LABEL); |
| |
| /** |
| * Field ANOMALY_CREATION_DATE_ID. (value is ""anomalyElement.creationDate"") |
| */ |
| private static final String ANOMALY_CREATION_DATE_ID = "anomalyElement.creationDate"; |
| |
| /** |
| * Field ANOMALY_CREATION_DATE_PROPERTY_DESCRIPTOR. |
| */ |
| protected static final PropertyDescriptor ANOMALY_CREATION_DATE_PROPERTY_DESCRIPTOR = new PropertyDescriptor( |
| ANOMALY_CREATION_DATE_ID, R4EUIConstants.CREATION_DATE_LABEL); |
| |
| /** |
| * Field ANOMALY_DESCRIPTION_ID. (value is ""anomalyElement.description"") |
| */ |
| private static final String ANOMALY_DESCRIPTION_ID = "anomalyElement.description"; |
| |
| /** |
| * Field ANOMALY_DESCRIPTION_PROPERTY_DESCRIPTOR. |
| */ |
| protected static final PropertyDescriptor ANOMALY_DESCRIPTION_PROPERTY_DESCRIPTOR = new PropertyDescriptor( |
| ANOMALY_DESCRIPTION_ID, R4EUIConstants.DESCRIPTION_LABEL); |
| |
| /** |
| * Field ANOMALY_DUE_DATE_ID. (value is ""anomalyElement.dueDate"") |
| */ |
| private static final String ANOMALY_DUE_DATE_ID = "anomalyElement.dueDate"; |
| |
| /** |
| * Field ANOMALY_DUE_DATE_PROPERTY_DESCRIPTOR. |
| */ |
| protected static final PropertyDescriptor ANOMALY_DUE_DATE_PROPERTY_DESCRIPTOR = new PropertyDescriptor( |
| ANOMALY_DUE_DATE_ID, R4EUIConstants.DUE_DATE_LABEL); |
| |
| /** |
| * Field ANOMALY_CLASS_ID. (value is ""anomalyElement.class"") |
| */ |
| private static final String ANOMALY_CLASS_ID = "anomalyElement.class"; |
| |
| /** |
| * Field ANOMALY_CLASS_PROPERTY_DESCRIPTOR. |
| */ |
| protected static final PropertyDescriptor ANOMALY_CLASS_PROPERTY_DESCRIPTOR = new PropertyDescriptor( |
| ANOMALY_CLASS_ID, R4EUIConstants.CLASS_LABEL); |
| |
| /** |
| * Field ANOMALY_RANK_ID. (value is ""anomalyElement.rank"") |
| */ |
| private static final String ANOMALY_RANK_ID = "anomalyElement.rank"; |
| |
| /** |
| * Field ANOMALY_RANK_PROPERTY_DESCRIPTOR. |
| */ |
| protected static final PropertyDescriptor ANOMALY_RANK_PROPERTY_DESCRIPTOR = new PropertyDescriptor( |
| ANOMALY_RANK_ID, R4EUIConstants.RANK_LABEL); |
| |
| /** |
| * Field ANOMALY_RULE_ID_ID. (value is ""anomalyElement.ruleId"") |
| */ |
| private static final String ANOMALY_RULE_ID_ID = "anomalyElement.ruleId"; |
| |
| /** |
| * Field ANOMALY_RULE_ID_PROPERTY_DESCRIPTOR. |
| */ |
| protected static final PropertyDescriptor ANOMALY_RULE_ID_PROPERTY_DESCRIPTOR = new PropertyDescriptor( |
| ANOMALY_RULE_ID_ID, R4EUIConstants.RULE_ID_LABEL); |
| |
| /** |
| * Field ANOMALY_ASSIGNED_TO_ID. (value is ""anomalyElement.assignedTo"") |
| */ |
| private static final String ANOMALY_ASSIGNED_TO_ID = "anomalyElement.assignedTo"; |
| |
| /** |
| * Field ANOMALY_ASSIGNED_TO_PROPERTY_DESCRIPTOR. |
| */ |
| protected static final PropertyDescriptor ANOMALY_ASSIGNED_TO_PROPERTY_DESCRIPTOR = new PropertyDescriptor( |
| ANOMALY_ASSIGNED_TO_ID, R4EUIConstants.ASSIGNED_TO_LABEL); |
| |
| /** |
| * Field DESCRIPTORS. |
| */ |
| private static final IPropertyDescriptor[] DESCRIPTORS = { ANOMALY_TITLE_PROPERTY_DESCRIPTOR, |
| ANOMALY_POSITION_PROPERTY_DESCRIPTOR, ANOMALY_AUTHOR_PROPERTY_DESCRIPTOR, |
| ANOMALY_CREATION_DATE_PROPERTY_DESCRIPTOR, ANOMALY_DESCRIPTION_PROPERTY_DESCRIPTOR, |
| ANOMALY_DUE_DATE_PROPERTY_DESCRIPTOR, ANOMALY_CLASS_PROPERTY_DESCRIPTOR, ANOMALY_RANK_PROPERTY_DESCRIPTOR, |
| ANOMALY_RULE_ID_PROPERTY_DESCRIPTOR, ANOMALY_ASSIGNED_TO_PROPERTY_DESCRIPTOR }; |
| |
| // ------------------------------------------------------------------------ |
| // Constructors |
| // ------------------------------------------------------------------------ |
| |
| /** |
| * Constructor for AnomalyProperties. |
| * |
| * @param aElement |
| * R4EUIModelElement |
| */ |
| public AnomalyBasicProperties(R4EUIModelElement aElement) { |
| super(aElement); |
| } |
| |
| // ------------------------------------------------------------------------ |
| // Methods |
| // ------------------------------------------------------------------------ |
| |
| /** |
| * Method getPropertyDescriptors. |
| * |
| * @return IPropertyDescriptor[] |
| * @see org.eclipse.ui.views.properties.IPropertySource#getPropertyDescriptors() |
| */ |
| @Override |
| public IPropertyDescriptor[] getPropertyDescriptors() { |
| return DESCRIPTORS; |
| } |
| |
| /** |
| * Method getPropertyValue. |
| * |
| * @param aId |
| * Object |
| * @return Object |
| * @see org.eclipse.ui.views.properties.IPropertySource#getPropertyValue(Object) |
| */ |
| @Override |
| public Object getPropertyValue(Object aId) { |
| if (ANOMALY_TITLE_ID.equals(aId)) { |
| return ((R4EUIAnomalyBasic) getElement()).getAnomaly().getTitle(); |
| } else if (ANOMALY_POSITION_ID.equals(aId)) { |
| if (null == ((R4EUIAnomalyBasic) getElement()).getPosition()) { |
| return R4EUIConstants.GLOBAL_ANOMALY_PROPERTY_VALUE; |
| } |
| return ((R4EUIAnomalyBasic) getElement()).getPosition().toString(); |
| } else if (ANOMALY_AUTHOR_ID.equals(aId)) { |
| return ((R4EUIAnomalyBasic) getElement()).getAnomaly().getAuthor().getId(); |
| } else if (ANOMALY_CREATION_DATE_ID.equals(aId)) { |
| return ((R4EUIAnomalyBasic) getElement()).getAnomaly().getCreatedOn().toString(); |
| } else if (ANOMALY_DESCRIPTION_ID.equals(aId)) { |
| return ((R4EUIAnomalyBasic) getElement()).getAnomaly().getDescription(); |
| } else if (ANOMALY_DUE_DATE_ID.equals(aId)) { |
| if (null != ((R4EUIAnomalyBasic) getElement()).getAnomaly().getDueDate()) { |
| return ((R4EUIAnomalyBasic) getElement()).getAnomaly().getDueDate().toString(); |
| } |
| } else if (ANOMALY_CLASS_ID.equals(aId)) { |
| final R4ECommentType type = (R4ECommentType) ((R4EUIAnomalyBasic) getElement()).getAnomaly().getType(); |
| if (null != type) { |
| return UIUtils.getClasses()[Integer.valueOf(type.getType().getValue()).intValue()]; |
| } |
| } else if (ANOMALY_RANK_ID.equals(aId)) { |
| //Bug 368865: Mapping needed for DEPRECATED value to MINOR |
| final int rankValue = ((R4EUIAnomalyBasic) getElement()).getAnomaly().getRank().getValue(); |
| final int intValue = Integer.valueOf(rankValue == R4EDesignRuleRank.DEPRECATED_VALUE |
| ? R4EDesignRuleRank.MINOR_VALUE |
| : rankValue); |
| return UIUtils.getRanks()[intValue]; |
| } else if (ANOMALY_RULE_ID_ID.equals(aId)) { |
| return ((R4EUIAnomalyBasic) getElement()).getAnomaly().getRuleID(); |
| } else if (ANOMALY_ASSIGNED_TO_ID.equals(aId)) { |
| return ((R4EUIAnomalyBasic) getElement()).getAnomaly().getAssignedTo(); |
| } |
| return null; |
| } |
| } |