| author | Miles Parker | 2012-09-19 18:46:43 (EDT) |
|---|---|---|
| committer | Miles Parker | 2012-09-19 18:46:43 (EDT) |
| commit | 695ced47e5206f5eb03cbba78e1b407a9e131582 (patch) (side-by-side diff) | |
| tree | c7e895afac5c0ce39566a91e1fa84734483fc79c | |
| parent | 22a7f89e18d5a8a0eb14e71d2733996875afe395 (diff) | |
| download | org.eclipse.mylyn.reviews.r4e-695ced47e5206f5eb03cbba78e1b407a9e131582.zip org.eclipse.mylyn.reviews.r4e-695ced47e5206f5eb03cbba78e1b407a9e131582.tar.gz org.eclipse.mylyn.reviews.r4e-695ced47e5206f5eb03cbba78e1b407a9e131582.tar.bz2 | |
389468: Add Due Date to EMF R4EReview EClassrefs/changes/67/7767/3
Change-Id: Id53a256040ef23e37bd18626ac7f8a00574dd019
Task-Url: https://bugs.eclipse.org/bugs/show_bug.cgi?id=389468
10 files changed, 296 insertions, 77 deletions
diff --git a/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/RModelPackage.java b/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/RModelPackage.java index 03404c0..c5a7368 100644 --- a/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/RModelPackage.java +++ b/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/RModelPackage.java @@ -433,13 +433,22 @@ public interface RModelPackage extends EPackage { int R4E_REVIEW__END_DATE = ModelPackage.REVIEW_FEATURE_COUNT + 10;
/**
+ * The feature id for the '<em><b>Due Date</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int R4E_REVIEW__DUE_DATE = ModelPackage.REVIEW_FEATURE_COUNT + 11;
+
+ /**
* The feature id for the '<em><b>Anomaly Template</b></em>' containment reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
* @ordered
*/
- int R4E_REVIEW__ANOMALY_TEMPLATE = ModelPackage.REVIEW_FEATURE_COUNT + 11;
+ int R4E_REVIEW__ANOMALY_TEMPLATE = ModelPackage.REVIEW_FEATURE_COUNT + 12;
/**
* The feature id for the '<em><b>Type</b></em>' attribute.
@@ -448,7 +457,7 @@ public interface RModelPackage extends EPackage { * @generated
* @ordered
*/
- int R4E_REVIEW__TYPE = ModelPackage.REVIEW_FEATURE_COUNT + 12;
+ int R4E_REVIEW__TYPE = ModelPackage.REVIEW_FEATURE_COUNT + 13;
/**
* The feature id for the '<em><b>Users Map</b></em>' map.
@@ -457,7 +466,7 @@ public interface RModelPackage extends EPackage { * @generated
* @ordered
*/
- int R4E_REVIEW__USERS_MAP = ModelPackage.REVIEW_FEATURE_COUNT + 13;
+ int R4E_REVIEW__USERS_MAP = ModelPackage.REVIEW_FEATURE_COUNT + 14;
/**
* The feature id for the '<em><b>Created By</b></em>' reference.
@@ -466,7 +475,7 @@ public interface RModelPackage extends EPackage { * @generated
* @ordered
*/
- int R4E_REVIEW__CREATED_BY = ModelPackage.REVIEW_FEATURE_COUNT + 14;
+ int R4E_REVIEW__CREATED_BY = ModelPackage.REVIEW_FEATURE_COUNT + 15;
/**
* The feature id for the '<em><b>Ids Map</b></em>' map.
@@ -475,7 +484,7 @@ public interface RModelPackage extends EPackage { * @generated
* @ordered
*/
- int R4E_REVIEW__IDS_MAP = ModelPackage.REVIEW_FEATURE_COUNT + 15;
+ int R4E_REVIEW__IDS_MAP = ModelPackage.REVIEW_FEATURE_COUNT + 16;
/**
* The feature id for the '<em><b>Active Meeting</b></em>' containment reference.
@@ -484,7 +493,7 @@ public interface RModelPackage extends EPackage { * @generated
* @ordered
*/
- int R4E_REVIEW__ACTIVE_MEETING = ModelPackage.REVIEW_FEATURE_COUNT + 16;
+ int R4E_REVIEW__ACTIVE_MEETING = ModelPackage.REVIEW_FEATURE_COUNT + 17;
/**
* The number of structural features of the '<em>R4E Review</em>' class.
@@ -493,7 +502,7 @@ public interface RModelPackage extends EPackage { * @generated
* @ordered
*/
- int R4E_REVIEW_FEATURE_COUNT = ModelPackage.REVIEW_FEATURE_COUNT + 17;
+ int R4E_REVIEW_FEATURE_COUNT = ModelPackage.REVIEW_FEATURE_COUNT + 18;
/**
* The meta object id for the '{@link org.eclipse.mylyn.reviews.r4e.core.model.impl.R4EAnomalyImpl <em>R4E Anomaly</em>}' class.
@@ -921,6 +930,15 @@ public interface RModelPackage extends EPackage { int R4E_FORMAL_REVIEW__END_DATE = R4E_REVIEW__END_DATE;
/**
+ * The feature id for the '<em><b>Due Date</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int R4E_FORMAL_REVIEW__DUE_DATE = R4E_REVIEW__DUE_DATE;
+
+ /**
* The feature id for the '<em><b>Anomaly Template</b></em>' containment reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
@@ -3119,6 +3137,17 @@ public interface RModelPackage extends EPackage { EAttribute getR4EReview_EndDate();
/**
+ * Returns the meta object for the attribute '{@link org.eclipse.mylyn.reviews.r4e.core.model.R4EReview#getDueDate <em>Due Date</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Due Date</em>'.
+ * @see org.eclipse.mylyn.reviews.r4e.core.model.R4EReview#getDueDate()
+ * @see #getR4EReview()
+ * @generated
+ */
+ EAttribute getR4EReview_DueDate();
+
+ /**
* Returns the meta object for the containment reference '{@link org.eclipse.mylyn.reviews.r4e.core.model.R4EReview#getAnomalyTemplate <em>Anomaly Template</em>}'.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
@@ -4925,6 +4954,14 @@ public interface RModelPackage extends EPackage { EAttribute R4E_REVIEW__END_DATE = eINSTANCE.getR4EReview_EndDate();
/**
+ * The meta object literal for the '<em><b>Due Date</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute R4E_REVIEW__DUE_DATE = eINSTANCE.getR4EReview_DueDate();
+
+ /**
* The meta object literal for the '<em><b>Anomaly Template</b></em>' containment reference feature.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
diff --git a/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/drules/util/DRModelSwitch.java b/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/drules/util/DRModelSwitch.java index 5022d15..2110a35 100644 --- a/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/drules/util/DRModelSwitch.java +++ b/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/drules/util/DRModelSwitch.java @@ -19,6 +19,8 @@ import java.util.List; import org.eclipse.emf.ecore.EClass;
import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.util.Switch;
import org.eclipse.mylyn.reviews.frame.core.model.ReviewComponent;
import org.eclipse.mylyn.reviews.frame.core.model.SubModelRoot;
import org.eclipse.mylyn.reviews.r4e.core.model.drules.*;
@@ -36,7 +38,7 @@ import org.eclipse.mylyn.reviews.r4e.core.model.drules.*; * @see org.eclipse.mylyn.reviews.r4e.core.model.drules.DRModelPackage
* @generated
*/
-public class DRModelSwitch<T> {
+public class DRModelSwitch<T> extends Switch<T> {
/**
* The cached model package
* <!-- begin-user-doc -->
@@ -58,34 +60,16 @@ public class DRModelSwitch<T> { }
/**
- * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result.
+ * Checks whether this is a switch for the given package.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- * @return the first non-null result returned by a <code>caseXXX</code> call.
+ * @parameter ePackage the package in question.
+ * @return whether this is a switch for the given package.
* @generated
*/
- public T doSwitch(EObject theEObject) {
- return doSwitch(theEObject.eClass(), theEObject);
- }
-
- /**
- * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the first non-null result returned by a <code>caseXXX</code> call.
- * @generated
- */
- protected T doSwitch(EClass theEClass, EObject theEObject) {
- if (theEClass.eContainer() == modelPackage) {
- return doSwitch(theEClass.getClassifierID(), theEObject);
- }
- else {
- List<EClass> eSuperTypes = theEClass.getESuperTypes();
- return
- eSuperTypes.isEmpty() ?
- defaultCase(theEObject) :
- doSwitch(eSuperTypes.get(0), theEObject);
- }
+ @Override
+ protected boolean isSwitchFor(EPackage ePackage) {
+ return ePackage == modelPackage;
}
/**
@@ -95,6 +79,7 @@ public class DRModelSwitch<T> { * @return the first non-null result returned by a <code>caseXXX</code> call.
* @generated
*/
+ @Override
protected T doSwitch(int classifierID, EObject theEObject) {
switch (classifierID) {
case DRModelPackage.R4E_DESIGN_RULE_COLLECTION: {
@@ -231,6 +216,7 @@ public class DRModelSwitch<T> { * @see #doSwitch(org.eclipse.emf.ecore.EObject)
* @generated
*/
+ @Override
public T defaultCase(EObject object) {
return null;
}
diff --git a/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/impl/R4EReviewImpl.java b/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/impl/R4EReviewImpl.java index d520796..900b571 100644 --- a/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/impl/R4EReviewImpl.java +++ b/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/impl/R4EReviewImpl.java @@ -62,6 +62,7 @@ import org.eclipse.mylyn.reviews.r4e.core.utils.VersionUtils; * <li>{@link org.eclipse.mylyn.reviews.r4e.core.model.impl.R4EReviewImpl#getDecision <em>Decision</em>}</li>
* <li>{@link org.eclipse.mylyn.reviews.r4e.core.model.impl.R4EReviewImpl#getStartDate <em>Start Date</em>}</li>
* <li>{@link org.eclipse.mylyn.reviews.r4e.core.model.impl.R4EReviewImpl#getEndDate <em>End Date</em>}</li>
+ * <li>{@link org.eclipse.mylyn.reviews.r4e.core.model.impl.R4EReviewImpl#getDueDate <em>Due Date</em>}</li>
* <li>{@link org.eclipse.mylyn.reviews.r4e.core.model.impl.R4EReviewImpl#getAnomalyTemplate <em>Anomaly Template</em>}</li>
* <li>{@link org.eclipse.mylyn.reviews.r4e.core.model.impl.R4EReviewImpl#getType <em>Type</em>}</li>
* <li>{@link org.eclipse.mylyn.reviews.r4e.core.model.impl.R4EReviewImpl#getUsersMap <em>Users Map</em>}</li>
@@ -265,6 +266,26 @@ public class R4EReviewImpl extends ReviewImpl implements R4EReview { protected Date endDate = END_DATE_EDEFAULT;
/**
+ * The default value of the '{@link #getDueDate() <em>Due Date</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getDueDate()
+ * @generated
+ * @ordered
+ */
+ protected static final Date DUE_DATE_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getDueDate() <em>Due Date</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getDueDate()
+ * @generated
+ * @ordered
+ */
+ protected Date dueDate = DUE_DATE_EDEFAULT;
+
+ /**
* The cached value of the '{@link #getAnomalyTemplate() <em>Anomaly Template</em>}' containment reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
@@ -616,6 +637,27 @@ public class R4EReviewImpl extends ReviewImpl implements R4EReview { * <!-- end-user-doc -->
* @generated
*/
+ public Date getDueDate() {
+ return dueDate;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setDueDate(Date newDueDate) {
+ Date oldDueDate = dueDate;
+ dueDate = newDueDate;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, RModelPackage.R4E_REVIEW__DUE_DATE, oldDueDate, dueDate));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
public R4EAnomaly getAnomalyTemplate() {
if (anomalyTemplate != null && anomalyTemplate.eIsProxy()) {
InternalEObject oldAnomalyTemplate = (InternalEObject)anomalyTemplate;
@@ -879,6 +921,8 @@ public class R4EReviewImpl extends ReviewImpl implements R4EReview { return getStartDate();
case RModelPackage.R4E_REVIEW__END_DATE:
return getEndDate();
+ case RModelPackage.R4E_REVIEW__DUE_DATE:
+ return getDueDate();
case RModelPackage.R4E_REVIEW__ANOMALY_TEMPLATE:
if (resolve) return getAnomalyTemplate();
return basicGetAnomalyTemplate();
@@ -944,6 +988,9 @@ public class R4EReviewImpl extends ReviewImpl implements R4EReview { case RModelPackage.R4E_REVIEW__END_DATE:
setEndDate((Date)newValue);
return;
+ case RModelPackage.R4E_REVIEW__DUE_DATE:
+ setDueDate((Date)newValue);
+ return;
case RModelPackage.R4E_REVIEW__ANOMALY_TEMPLATE:
setAnomalyTemplate((R4EAnomaly)newValue);
return;
@@ -1007,6 +1054,9 @@ public class R4EReviewImpl extends ReviewImpl implements R4EReview { case RModelPackage.R4E_REVIEW__END_DATE:
setEndDate(END_DATE_EDEFAULT);
return;
+ case RModelPackage.R4E_REVIEW__DUE_DATE:
+ setDueDate(DUE_DATE_EDEFAULT);
+ return;
case RModelPackage.R4E_REVIEW__ANOMALY_TEMPLATE:
setAnomalyTemplate((R4EAnomaly)null);
return;
@@ -1059,6 +1109,8 @@ public class R4EReviewImpl extends ReviewImpl implements R4EReview { return START_DATE_EDEFAULT == null ? startDate != null : !START_DATE_EDEFAULT.equals(startDate);
case RModelPackage.R4E_REVIEW__END_DATE:
return END_DATE_EDEFAULT == null ? endDate != null : !END_DATE_EDEFAULT.equals(endDate);
+ case RModelPackage.R4E_REVIEW__DUE_DATE:
+ return DUE_DATE_EDEFAULT == null ? dueDate != null : !DUE_DATE_EDEFAULT.equals(dueDate);
case RModelPackage.R4E_REVIEW__ANOMALY_TEMPLATE:
return anomalyTemplate != null;
case RModelPackage.R4E_REVIEW__TYPE:
@@ -1137,6 +1189,8 @@ public class R4EReviewImpl extends ReviewImpl implements R4EReview { result.append(startDate);
result.append(", endDate: ");
result.append(endDate);
+ result.append(", dueDate: ");
+ result.append(dueDate);
result.append(", type: ");
result.append(type);
result.append(')');
diff --git a/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/impl/RModelFactoryImpl.java b/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/impl/RModelFactoryImpl.java index 8c53621..975f26f 100644 --- a/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/impl/RModelFactoryImpl.java +++ b/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/impl/RModelFactoryImpl.java @@ -26,6 +26,7 @@ import org.eclipse.emf.ecore.EObject; import org.eclipse.emf.ecore.EPackage; import org.eclipse.emf.ecore.impl.EFactoryImpl; import org.eclipse.emf.ecore.plugin.EcorePlugin; +import org.eclipse.mylyn.reviews.r4e.core.model.*; import org.eclipse.emf.ecore.resource.Resource; import org.eclipse.mylyn.reviews.r4e.core.model.R4EAnomaly; import org.eclipse.mylyn.reviews.r4e.core.model.R4EAnomalyState; @@ -578,7 +579,7 @@ public class RModelFactoryImpl extends EFactoryImpl implements RModelFactory, Pe * @generated */ public String convertR4EAnomalyStateToString(EDataType eDataType, Object instanceValue) { - return instanceValue == null ? null : instanceValue.toString(); + return convertR4EAnomalyState((R4EAnomalyState)instanceValue); } /** @@ -616,7 +617,7 @@ public class RModelFactoryImpl extends EFactoryImpl implements RModelFactory, Pe * @generated */ public String convertR4EReviewPhaseToString(EDataType eDataType, Object instanceValue) { - return instanceValue == null ? null : instanceValue.toString(); + return convertR4EReviewPhase((R4EReviewPhase)instanceValue); } /** @@ -654,7 +655,7 @@ public class RModelFactoryImpl extends EFactoryImpl implements RModelFactory, Pe * @generated */ public String convertR4EUserRoleToString(EDataType eDataType, Object instanceValue) { - return instanceValue == null ? null : instanceValue.toString(); + return convertR4EUserRole((R4EUserRole)instanceValue); } /** @@ -692,7 +693,7 @@ public class RModelFactoryImpl extends EFactoryImpl implements RModelFactory, Pe * @generated */ public String convertR4EDecisionToString(EDataType eDataType, Object instanceValue) { - return instanceValue == null ? null : instanceValue.toString(); + return convertR4EDecision((R4EDecision)instanceValue); } /** @@ -730,7 +731,7 @@ public class RModelFactoryImpl extends EFactoryImpl implements RModelFactory, Pe * @generated */ public String convertR4EReviewTypeToString(EDataType eDataType, Object instanceValue) { - return instanceValue == null ? null : instanceValue.toString(); + return convertR4EReviewType((R4EReviewType)instanceValue); } /** @@ -768,7 +769,7 @@ public class RModelFactoryImpl extends EFactoryImpl implements RModelFactory, Pe * @generated */ public String convertR4EContextTypeToString(EDataType eDataType, Object instanceValue) { - return instanceValue == null ? null : instanceValue.toString(); + return convertR4EContextType((R4EContextType)instanceValue); } /** @@ -786,7 +787,7 @@ public class RModelFactoryImpl extends EFactoryImpl implements RModelFactory, Pe * @generated */ public IResource createIResourceFromString(EDataType eDataType, String initialValue) { - return (IResource)super.createFromString(eDataType, initialValue); + return createIResource(initialValue); } /** @@ -804,7 +805,7 @@ public class RModelFactoryImpl extends EFactoryImpl implements RModelFactory, Pe * @generated */ public String convertIResourceToString(EDataType eDataType, Object instanceValue) { - return super.convertToString(eDataType, instanceValue); + return convertIResource((IResource)instanceValue); } /** @@ -840,7 +841,7 @@ public class RModelFactoryImpl extends EFactoryImpl implements RModelFactory, Pe * @generated */ public String convertIFileRevisionToString(EDataType eDataType, Object instanceValue) { - return super.convertToString(eDataType, instanceValue); + return convertIFileRevision((IFileRevision)instanceValue); } /** diff --git a/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/impl/RModelPackageImpl.java b/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/impl/RModelPackageImpl.java index d9d6c52..44aa8f8 100644 --- a/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/impl/RModelPackageImpl.java +++ b/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/impl/RModelPackageImpl.java @@ -637,8 +637,17 @@ public class RModelPackageImpl extends EPackageImpl implements RModelPackage { * <!-- end-user-doc --> * @generated */ + public EAttribute getR4EReview_DueDate() { + return (EAttribute)r4EReviewEClass.getEStructuralFeatures().get(10); + } + + /** + * <!-- begin-user-doc --> + * <!-- end-user-doc --> + * @generated + */ public EReference getR4EReview_AnomalyTemplate() { - return (EReference)r4EReviewEClass.getEStructuralFeatures().get(10); + return (EReference)r4EReviewEClass.getEStructuralFeatures().get(11); } /** @@ -647,7 +656,7 @@ public class RModelPackageImpl extends EPackageImpl implements RModelPackage { * @generated */ public EAttribute getR4EReview_Type() { - return (EAttribute)r4EReviewEClass.getEStructuralFeatures().get(11); + return (EAttribute)r4EReviewEClass.getEStructuralFeatures().get(12); } /** @@ -656,7 +665,7 @@ public class RModelPackageImpl extends EPackageImpl implements RModelPackage { * @generated */ public EReference getR4EReview_UsersMap() { - return (EReference)r4EReviewEClass.getEStructuralFeatures().get(12); + return (EReference)r4EReviewEClass.getEStructuralFeatures().get(13); } /** @@ -665,7 +674,7 @@ public class RModelPackageImpl extends EPackageImpl implements RModelPackage { * @generated */ public EReference getR4EReview_IdsMap() { - return (EReference)r4EReviewEClass.getEStructuralFeatures().get(14); + return (EReference)r4EReviewEClass.getEStructuralFeatures().get(15); } /** @@ -674,7 +683,7 @@ public class RModelPackageImpl extends EPackageImpl implements RModelPackage { * @generated */ public EReference getR4EReview_ActiveMeeting() { - return (EReference)r4EReviewEClass.getEStructuralFeatures().get(15); + return (EReference)r4EReviewEClass.getEStructuralFeatures().get(16); } /** @@ -683,7 +692,7 @@ public class RModelPackageImpl extends EPackageImpl implements RModelPackage { * @generated */ public EReference getR4EReview_CreatedBy() { - return (EReference)r4EReviewEClass.getEStructuralFeatures().get(13); + return (EReference)r4EReviewEClass.getEStructuralFeatures().get(14); } /** @@ -2015,6 +2024,7 @@ public class RModelPackageImpl extends EPackageImpl implements RModelPackage { createEReference(r4EReviewEClass, R4E_REVIEW__DECISION); createEAttribute(r4EReviewEClass, R4E_REVIEW__START_DATE); createEAttribute(r4EReviewEClass, R4E_REVIEW__END_DATE); + createEAttribute(r4EReviewEClass, R4E_REVIEW__DUE_DATE); createEReference(r4EReviewEClass, R4E_REVIEW__ANOMALY_TEMPLATE); createEAttribute(r4EReviewEClass, R4E_REVIEW__TYPE); createEReference(r4EReviewEClass, R4E_REVIEW__USERS_MAP); @@ -2287,6 +2297,7 @@ public class RModelPackageImpl extends EPackageImpl implements RModelPackage { initEReference(getR4EReview_Decision(), this.getR4EReviewDecision(), null, "decision", null, 0, 1, R4EReview.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEAttribute(getR4EReview_StartDate(), ecorePackage.getEDate(), "startDate", null, 0, 1, R4EReview.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEAttribute(getR4EReview_EndDate(), ecorePackage.getEDate(), "endDate", null, 0, 1, R4EReview.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEAttribute(getR4EReview_DueDate(), ecorePackage.getEDate(), "dueDate", null, 0, 1, R4EReview.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEReference(getR4EReview_AnomalyTemplate(), this.getR4EAnomaly(), null, "anomalyTemplate", null, 1, 1, R4EReview.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEAttribute(getR4EReview_Type(), this.getR4EReviewType(), "type", "", 0, 1, R4EReview.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); initEReference(getR4EReview_UsersMap(), this.getMapToUsers(), null, "usersMap", null, 0, -1, R4EReview.class, IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, IS_ORDERED); diff --git a/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/util/RModelSwitch.java b/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/util/RModelSwitch.java index 0aea8d0..463e2c1 100644 --- a/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/util/RModelSwitch.java +++ b/org.eclipse.mylyn.reviews.r4e.core/src/org/eclipse/mylyn/reviews/r4e/core/model/util/RModelSwitch.java @@ -20,6 +20,8 @@ import java.util.Map; import org.eclipse.emf.ecore.EClass;
import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.util.Switch;
import org.eclipse.mylyn.reviews.frame.core.model.Comment;
import org.eclipse.mylyn.reviews.frame.core.model.CommentType;
import org.eclipse.mylyn.reviews.frame.core.model.Item;
@@ -72,7 +74,7 @@ import org.eclipse.mylyn.reviews.r4e.core.model.RModelPackage; * @see org.eclipse.mylyn.reviews.r4e.core.model.RModelPackage
* @generated
*/
-public class RModelSwitch<T> {
+public class RModelSwitch<T> extends Switch<T> {
/**
* The cached model package
* <!-- begin-user-doc -->
@@ -94,34 +96,16 @@ public class RModelSwitch<T> { }
/**
- * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result.
+ * Checks whether this is a switch for the given package.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- * @return the first non-null result returned by a <code>caseXXX</code> call.
+ * @parameter ePackage the package in question.
+ * @return whether this is a switch for the given package.
* @generated
*/
- public T doSwitch(EObject theEObject) {
- return doSwitch(theEObject.eClass(), theEObject);
- }
-
- /**
- * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the first non-null result returned by a <code>caseXXX</code> call.
- * @generated
- */
- protected T doSwitch(EClass theEClass, EObject theEObject) {
- if (theEClass.eContainer() == modelPackage) {
- return doSwitch(theEClass.getClassifierID(), theEObject);
- }
- else {
- List<EClass> eSuperTypes = theEClass.getESuperTypes();
- return
- eSuperTypes.isEmpty() ?
- defaultCase(theEObject) :
- doSwitch(eSuperTypes.get(0), theEObject);
- }
+ @Override
+ protected boolean isSwitchFor(EPackage ePackage) {
+ return ePackage == modelPackage;
}
/**
@@ -131,6 +115,7 @@ public class RModelSwitch<T> { * @return the first non-null result returned by a <code>caseXXX</code> call.
* @generated
*/
+ @Override
protected T doSwitch(int classifierID, EObject theEObject) {
switch (classifierID) {
case RModelPackage.R4E_REVIEW_GROUP: {
@@ -1098,6 +1083,7 @@ public class RModelSwitch<T> { * @see #doSwitch(org.eclipse.emf.ecore.EObject)
* @generated
*/
+ @Override
public T defaultCase(EObject object) {
return null;
}
diff --git a/org.eclipse.mylyn.reviews.r4e.transform/src/org/eclipse/mylyn/reviews/r4e/internal/transform/impl/ModelTransformImpl.java b/org.eclipse.mylyn.reviews.r4e.transform/src/org/eclipse/mylyn/reviews/r4e/internal/transform/impl/ModelTransformImpl.java index 4fc80f3..e7fc336 100644 --- a/org.eclipse.mylyn.reviews.r4e.transform/src/org/eclipse/mylyn/reviews/r4e/internal/transform/impl/ModelTransformImpl.java +++ b/org.eclipse.mylyn.reviews.r4e.transform/src/org/eclipse/mylyn/reviews/r4e/internal/transform/impl/ModelTransformImpl.java @@ -295,6 +295,7 @@ public class ModelTransformImpl implements ModelTransform { destReview.setType(origReview.getType());
destReview.setEnabled(origReview.isEnabled());
destReview.setEndDate(origReview.getEndDate());
+ destReview.setDueDate(origReview.getDueDate());
destReview.setEntryCriteria(origReview.getEntryCriteria());
destReview.setExtraNotes(origReview.getExtraNotes());
destReview.setName(origReview.getName());
diff --git a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/properties/general/ReviewProperties.java b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/properties/general/ReviewProperties.java index 43259ed..1b7eddc 100644 --- a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/properties/general/ReviewProperties.java +++ b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/properties/general/ReviewProperties.java @@ -67,6 +67,17 @@ public class ReviewProperties extends ModelElementProperties { REVIEW_END_DATE_ID, R4EUIConstants.END_DATE_LABEL);
/**
+ * Field REVIEW_START_DATE_ID. (value is ""reviewElement.startDate"")
+ */
+ protected static final String REVIEW_DUE_DATE_ID = "reviewElement.dueDate";
+
+ /**
+ * Field REVIEW_START_DATE_PROPERTY_DESCRIPTOR.
+ */
+ protected static final PropertyDescriptor REVIEW_DUE_DATE_PROPERTY_DESCRIPTOR = new PropertyDescriptor(
+ REVIEW_DUE_DATE_ID, R4EUIConstants.DUE_DATE_LABEL);
+
+ /**
* Field REVIEW_DESCRIPTION_ID. (value is ""reviewElement.description"")
*/
protected static final String REVIEW_DESCRIPTION_ID = "reviewElement.description";
@@ -159,10 +170,11 @@ public class ReviewProperties extends ModelElementProperties { */
private static final IPropertyDescriptor[] DESCRIPTORS = { REVIEW_NAME_PROPERTY_DESCRIPTOR,
REVIEW_START_DATE_PROPERTY_DESCRIPTOR, REVIEW_END_DATE_PROPERTY_DESCRIPTOR,
- REVIEW_DESCRIPTION_PROPERTY_DESCRIPTOR, REVIEW_PROJECT_PROPERTY_DESCRIPTOR,
- REVIEW_COMPONENTS_PROPERTY_DESCRIPTOR, REVIEW_ENTRY_CRITERIA_PROPERTY_DESCRIPTOR,
- REVIEW_OBJECTIVES_PROPERTY_DESCRIPTOR, REVIEW_REFERENCE_MATERIAL_PROPERTY_DESCRIPTOR,
- REVIEW_PHASE_INFO_PROPERTY_DESCRIPTOR, REVIEW_DECISION_INFO_PROPERTY_DESCRIPTOR };
+ REVIEW_DUE_DATE_PROPERTY_DESCRIPTOR, REVIEW_DESCRIPTION_PROPERTY_DESCRIPTOR,
+ REVIEW_PROJECT_PROPERTY_DESCRIPTOR, REVIEW_COMPONENTS_PROPERTY_DESCRIPTOR,
+ REVIEW_ENTRY_CRITERIA_PROPERTY_DESCRIPTOR, REVIEW_OBJECTIVES_PROPERTY_DESCRIPTOR,
+ REVIEW_REFERENCE_MATERIAL_PROPERTY_DESCRIPTOR, REVIEW_PHASE_INFO_PROPERTY_DESCRIPTOR,
+ REVIEW_DECISION_INFO_PROPERTY_DESCRIPTOR };
// ------------------------------------------------------------------------
// Constructors
@@ -214,6 +226,11 @@ public class ReviewProperties extends ModelElementProperties { return R4EUIConstants.IN_PROGRESS_MSG;
}
return ((R4EUIReviewBasic) getElement()).getReview().getEndDate().toString();
+ } else if (REVIEW_DUE_DATE_ID.equals(aId)) {
+ if (null == ((R4EUIReviewBasic) getElement()).getReview().getDueDate()) {
+ return R4EUIConstants.NO_DUE_DATE_MSG;
+ }
+ return ((R4EUIReviewBasic) getElement()).getReview().getDueDate().toString();
} else if (REVIEW_DESCRIPTION_ID.equals(aId)) {
return ((R4EUIReviewBasic) getElement()).getReview().getExtraNotes();
} else if (REVIEW_PROJECT_ID.equals(aId)) {
diff --git a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/properties/tabbed/ReviewTabPropertySection.java b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/properties/tabbed/ReviewTabPropertySection.java index f6770e0..fb2669a 100644 --- a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/properties/tabbed/ReviewTabPropertySection.java +++ b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/properties/tabbed/ReviewTabPropertySection.java @@ -15,6 +15,7 @@ package org.eclipse.mylyn.reviews.r4e.ui.internal.properties.tabbed; import java.text.DateFormat; import java.text.SimpleDateFormat; import java.util.ArrayList; +import java.util.Calendar; import java.util.Collection; import java.util.Date; import java.util.List; @@ -56,6 +57,7 @@ import org.eclipse.swt.layout.GridData; import org.eclipse.swt.layout.GridLayout; import org.eclipse.swt.widgets.Button; import org.eclipse.swt.widgets.Composite; +import org.eclipse.swt.widgets.DateTime; import org.eclipse.swt.widgets.Display; import org.eclipse.swt.widgets.Event; import org.eclipse.swt.widgets.Item; @@ -123,6 +125,16 @@ public class ReviewTabPropertySection extends ModelElementTabPropertySection imp private Text fEndDateText = null; /** + * Field fDueDateText. + */ + private Button fDueDateActive = null; + + /** + * Field fDueDateText. + */ + private DateTime fDueDateControl = null; + + /** * Field fDescriptionText. */ protected Text fDescriptionText = null; @@ -487,6 +499,78 @@ public class ReviewTabPropertySection extends ModelElementTabPropertySection imp fEndDateText.setToolTipText(R4EUIConstants.REVIEW_END_DATE_TOOLTIP); fEndDateText.setLayoutData(gridData); + final CLabel dueDateLabel = aWidgetFactory.createCLabel(reviewDetailsSectionClient, + R4EUIConstants.DUE_DATE_LABEL); + gridData = new GridData(SWT.FILL, SWT.CENTER, false, false); + gridData.horizontalSpan = 1; + dueDateLabel.setToolTipText(R4EUIConstants.REVIEW_DUE_DATE_TOOLTIP); + dueDateLabel.setLayoutData(gridData); + + Composite dueDatePanel = aWidgetFactory.createComposite(reviewDetailsSectionClient); + gridData = new GridData(SWT.FILL, SWT.CENTER, true, false); + gridData.horizontalSpan = 3; + dueDatePanel.setLayout(new GridLayout(2, false)); + dueDatePanel.setLayoutData(gridData); + + fDueDateActive = aWidgetFactory.createButton(dueDatePanel, null, SWT.CHECK); + fDueDateActive.setToolTipText(R4EUIConstants.REVIEW_ASSIGN_DUE_DATE_TOOLTIP); + fDueDateActive.addSelectionListener(new SelectionListener() { + + public void widgetSelected(SelectionEvent e) { + boolean active = fDueDateActive.getSelection(); + fDueDateControl.setVisible(active); + fDueDateControl.setEnabled(active); + try { + if (!active) { + updateModelDueDate(null); + } else { + Calendar tommorrow = Calendar.getInstance(); + tommorrow.add(Calendar.DAY_OF_MONTH, 1); + tommorrow.set(Calendar.HOUR, 0); + tommorrow.set(Calendar.MINUTE, 0); + tommorrow.set(Calendar.SECOND, 0); + tommorrow.set(Calendar.MILLISECOND, 0); + updateModelDueDate(tommorrow.getTime()); + } + } catch (ResourceHandlingException e1) { + UIUtils.displayResourceErrorDialog(e1); + } catch (OutOfSyncException e1) { + UIUtils.displaySyncErrorDialog(e1); + } + } + + public void widgetDefaultSelected(SelectionEvent e) { + // ignore + + } + }); + aWidgetFactory.adapt(fDueDateActive, true, true); + + fDueDateControl = new DateTime(dueDatePanel, SWT.DATE); + fDueDateControl.setToolTipText(R4EUIConstants.REVIEW_DUE_DATE_TOOLTIP); + aWidgetFactory.adapt(fDueDateControl, true, true); + fDueDateControl.addSelectionListener(new SelectionListener() { + + public void widgetSelected(SelectionEvent e) { + Calendar controlCalendar = Calendar.getInstance(); + controlCalendar.set(fDueDateControl.getYear(), fDueDateControl.getMonth(), fDueDateControl.getDay()); + controlCalendar.set(Calendar.HOUR, 0); + controlCalendar.set(Calendar.MINUTE, 0); + controlCalendar.set(Calendar.SECOND, 0); + controlCalendar.set(Calendar.MILLISECOND, 0); + try { + updateModelDueDate(controlCalendar.getTime()); + } catch (ResourceHandlingException e1) { + UIUtils.displayResourceErrorDialog(e1); + } catch (OutOfSyncException e1) { + UIUtils.displaySyncErrorDialog(e1); + } + } + + public void widgetDefaultSelected(SelectionEvent e) { + } + }); + //Project final CLabel projectLabel = aWidgetFactory.createCLabel(reviewDetailsSectionClient, R4EUIConstants.PROJECT_LABEL); @@ -1124,10 +1208,11 @@ public class ReviewTabPropertySection extends ModelElementTabPropertySection imp fStartDateText.setText(dateFormat.format(modelReview.getStartDate())); if (null == modelReview.getEndDate()) { - fEndDateText.setText("(In Progress)"); + fEndDateText.setText(R4EUIConstants.IN_PROGRESS_MSG); } else { fEndDateText.setText(dateFormat.format(modelReview.getEndDate())); } + refreshDueDate(); final String[] availableProjects = (String[]) ((R4EUIReviewGroup) uiReview.getParent()).getReviewGroup() .getAvailableProjects() @@ -1377,6 +1462,28 @@ public class ReviewTabPropertySection extends ModelElementTabPropertySection imp R4EUIModelController.getNavigatorView().getTreeViewer().refresh(); } + private void refreshDueDate() { + Date date = ((R4EUIReviewBasic) fProperties.getElement()).getReview().getDueDate(); + boolean dateActive = date != null; + fDueDateActive.setSelection(dateActive); + fDueDateControl.setEnabled(dateActive); + fDueDateControl.setVisible(dateActive); + if (dateActive) { + Calendar calendar = Calendar.getInstance(); + calendar.setTime(date); + fDueDateControl.setDate(calendar.get(Calendar.YEAR), calendar.get(Calendar.MONTH), + calendar.get(Calendar.DAY_OF_MONTH)); + } + } + + private void updateModelDueDate(Date date) throws ResourceHandlingException, OutOfSyncException { + final String currentUser = R4EUIModelController.getReviewer(); + R4EReview modelReview = ((R4EUIReviewBasic) fProperties.getElement()).getReview(); + final Long bookNum = R4EUIModelController.FResourceUpdater.checkOut(modelReview, currentUser); + modelReview.setDueDate(date); + R4EUIModelController.FResourceUpdater.checkIn(bookNum); + } + /** * Method setEnabledFields. */ @@ -1393,6 +1500,8 @@ public class ReviewTabPropertySection extends ModelElementTabPropertySection imp fDescriptionText.setEditable(false); fStartDateText.setForeground(UIUtils.DISABLED_FONT_COLOR); fEndDateText.setForeground(UIUtils.DISABLED_FONT_COLOR); + fDueDateControl.setForeground(UIUtils.DISABLED_FONT_COLOR); + fDueDateActive.setForeground(UIUtils.DISABLED_FONT_COLOR); fProjectCombo.setEnabled(false); fComponents.setEnabled(false); fEntryCriteriaText.setForeground(UIUtils.DISABLED_FONT_COLOR); @@ -1454,6 +1563,8 @@ public class ReviewTabPropertySection extends ModelElementTabPropertySection imp fPhaseCombo.setEnabled(true); fStartDateText.setForeground(UIUtils.ENABLED_FONT_COLOR); fEndDateText.setForeground(UIUtils.ENABLED_FONT_COLOR); + fDueDateControl.setForeground(UIUtils.ENABLED_FONT_COLOR); + fDueDateActive.setForeground(UIUtils.ENABLED_FONT_COLOR); fDescriptionText.setForeground(UIUtils.ENABLED_FONT_COLOR); fDescriptionText.setEditable(true); fProjectCombo.setEnabled(true); diff --git a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/utils/R4EUIConstants.java b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/utils/R4EUIConstants.java index ad49f10..731a582 100644 --- a/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/utils/R4EUIConstants.java +++ b/org.eclipse.mylyn.reviews.r4e.ui/src/org/eclipse/mylyn/reviews/r4e/ui/internal/utils/R4EUIConstants.java @@ -646,6 +646,11 @@ public class R4EUIConstants { // $codepro.audit.disable convertClassToInterface public static final String IN_PROGRESS_MSG = "(In Progress)";
/**
+ * Field IN_PROGRESS_MSG. (value is ""(In Progress)"")
+ */
+ public static final String NO_DUE_DATE_MSG = "(No Due Date)";
+
+ /**
* Field STATE_LABEL. (value is ""State: "")
*/
public static final String STATE_LABEL = "State: ";
@@ -1987,6 +1992,16 @@ public class R4EUIConstants { // $codepro.audit.disable convertClassToInterface public static final String REVIEW_END_DATE_TOOLTIP = "The Closing Date for this Review";
/**
+ * Field REVIEW_DUE_DATE_TOOLTIP. (value is ""The Closing Date for this Review"")
+ */
+ public static final String REVIEW_DUE_DATE_TOOLTIP = "The Due Date for this Review";
+
+ /**
+ * Field REVIEW_DUE_DATE_TOOLTIP. (value is ""The Closing Date for this Review"")
+ */
+ public static final String REVIEW_ASSIGN_DUE_DATE_TOOLTIP = "Assign a due date for Review.";
+
+ /**
* Field REVIEW_PHASE_TABLE_TOOLTIP. (value is ""The Review Phase Map that show the Review Progression"")
*/
public static final String REVIEW_PHASE_TABLE_TOOLTIP = "The Review Phase Map that show the Review Progression";
|

