diff options
author | Miles Parker | 2013-06-19 18:54:50 +0000 |
---|---|---|
committer | Miles Parker | 2013-06-20 22:11:06 +0000 |
commit | b7e2cbb3eca6ab6af3010c707085177e21778df8 (patch) | |
tree | 847ac90b477fa50fe2630cfc748633fc9040f8ac | |
parent | 41226481fc48636d8511af75b88f6efc02140c80 (diff) | |
download | org.eclipse.mylyn.reviews-b7e2cbb3eca6ab6af3010c707085177e21778df8.tar.gz org.eclipse.mylyn.reviews-b7e2cbb3eca6ab6af3010c707085177e21778df8.tar.xz org.eclipse.mylyn.reviews-b7e2cbb3eca6ab6af3010c707085177e21778df8.zip |
410673: [model] Add support for IDE/repository user
Change-Id: I2cf0573672f30a35288034c26ed619489957ea67
Task-Url: https://bugs.eclipse.org/bugs/show_bug.cgi?id=410673
18 files changed, 300 insertions, 147 deletions
diff --git a/org.eclipse.mylyn.gerrit.core/src/org/eclipse/mylyn/internal/gerrit/core/remote/GerritRemoteFactoryProvider.java b/org.eclipse.mylyn.gerrit.core/src/org/eclipse/mylyn/internal/gerrit/core/remote/GerritRemoteFactoryProvider.java index 31e825bf1..8538c27f0 100644 --- a/org.eclipse.mylyn.gerrit.core/src/org/eclipse/mylyn/internal/gerrit/core/remote/GerritRemoteFactoryProvider.java +++ b/org.eclipse.mylyn.gerrit.core/src/org/eclipse/mylyn/internal/gerrit/core/remote/GerritRemoteFactoryProvider.java @@ -75,12 +75,10 @@ public class GerritRemoteFactoryProvider extends ReviewsRemoteEditFactoryProvide if (id != null) { final RemoteEmfConsumer<IRepository, IUser, String, AccountInfo, Id, String> userConsumer = getUserFactory( cache).getConsumerForRemoteKey(parent, id); - if (userConsumer.getModelObject() == null) { - try { - userConsumer.pull(false, monitor); - } catch (CoreException e) { - StatusHandler.log(e.getStatus()); - } + try { + userConsumer.pull(false, monitor); + } catch (CoreException e) { + StatusHandler.log(e.getStatus()); } } } diff --git a/org.eclipse.mylyn.gerrit.core/src/org/eclipse/mylyn/internal/gerrit/core/remote/GerritReviewRemoteFactory.java b/org.eclipse.mylyn.gerrit.core/src/org/eclipse/mylyn/internal/gerrit/core/remote/GerritReviewRemoteFactory.java index 1b315c567..ee24574e9 100644 --- a/org.eclipse.mylyn.gerrit.core/src/org/eclipse/mylyn/internal/gerrit/core/remote/GerritReviewRemoteFactory.java +++ b/org.eclipse.mylyn.gerrit.core/src/org/eclipse/mylyn/internal/gerrit/core/remote/GerritReviewRemoteFactory.java @@ -50,6 +50,7 @@ import com.google.gerrit.common.data.ApprovalDetail; import com.google.gerrit.common.data.ApprovalType; import com.google.gerrit.common.data.ChangeInfo; import com.google.gerrit.common.data.PatchSetDetail; +import com.google.gerrit.reviewdb.Account; import com.google.gerrit.reviewdb.Change; import com.google.gerrit.reviewdb.ChangeMessage; import com.google.gerrit.reviewdb.PatchSetApproval; @@ -87,6 +88,16 @@ public class GerritReviewRemoteFactory extends ReviewRemoteFactory<GerritChange, GerritChange gerritChange = getGerritProvider().getClient().getChange(remoteKey, monitor); final ChangeDetailX detail = gerritChange.getChangeDetail(); + try { + getGerritProvider().pullUser(parent, detail.getAccounts(), + getGerritProvider().getClient().getAccount(monitor).getId(), monitor); + } catch (GerritException e) { + //We can't have a user if we aren't signed in! + if (!getGerritProvider().getClient().isNotSignedInException(e)) { + throw e; + } + } + //We need to ensure we have all possible users for review in pull phase, as we can't do any async calls in apply phase getGerritProvider().pullUser(parent, detail.getAccounts(), detail.getChange().getOwner(), monitor); for (ChangeMessage message : detail.getMessages()) { @@ -183,13 +194,22 @@ public class GerritReviewRemoteFactory extends ReviewRemoteFactory<GerritChange, ChangeDetailX detail = gerritChange.getChangeDetail(); Change change = detail.getChange(); + //Handle initial account and any incidental account changes + Account gerritAccount = getGerritProvider().getClient().getConfiguration().getAccount(); + if (gerritAccount != null) { + IUser account = getGerritProvider().createUser(parent, detail.getAccounts(), gerritAccount.getId()); + parent.setAccount(account); + } else { + parent.setAccount(null); + } + //Mutable Data review.setModificationDate(new Date(change.getLastUpdatedOn().getTime())); //Convert from SQL Timestamp review.setSubject(change.getSubject()); review.setMessage(detail.getDescription()); updateComments(parent, review, detail); - updateEmptyPatchSets(parent, review, gerritChange); + updatePatchSets(parent, review, gerritChange); updateApprovalsAndRequirements(parent, review, detail); updateDependencies(parent, review, detail); return true; @@ -212,7 +232,7 @@ public class GerritReviewRemoteFactory extends ReviewRemoteFactory<GerritChange, } } - public void updateEmptyPatchSets(IRepository parent, IReview review, GerritChange gerritChange) { + public void updatePatchSets(IRepository parent, IReview review, GerritChange gerritChange) { ChangeDetailX detail = gerritChange.getChangeDetail(); //Basic Patch Sets int oldPatchCount = review.getSets().size(); diff --git a/org.eclipse.mylyn.gerrit.core/src/org/eclipse/mylyn/internal/gerrit/core/remote/GerritUserRemoteFactory.java b/org.eclipse.mylyn.gerrit.core/src/org/eclipse/mylyn/internal/gerrit/core/remote/GerritUserRemoteFactory.java index b54b50fc5..ecf74dc71 100644 --- a/org.eclipse.mylyn.gerrit.core/src/org/eclipse/mylyn/internal/gerrit/core/remote/GerritUserRemoteFactory.java +++ b/org.eclipse.mylyn.gerrit.core/src/org/eclipse/mylyn/internal/gerrit/core/remote/GerritUserRemoteFactory.java @@ -13,6 +13,7 @@ package org.eclipse.mylyn.internal.gerrit.core.remote; import java.util.ArrayList; +import org.apache.commons.lang.ObjectUtils; import org.eclipse.core.runtime.CoreException; import org.eclipse.core.runtime.IProgressMonitor; import org.eclipse.mylyn.internal.gerrit.core.GerritUtil; @@ -49,9 +50,7 @@ public class GerritUserRemoteFactory extends @Override public IUser createModel(IRepository repository, AccountInfo info) { IUser user = IReviewsFactory.INSTANCE.createUser(); - user.setDisplayName(GerritUtil.getUserLabel(info)); user.setId(info.getId() + ""); - user.setEmail(info.getPreferredEmail()); repository.getUsers().add(user); return user; } @@ -67,8 +66,19 @@ public class GerritUserRemoteFactory extends } @Override - public boolean updateModel(IRepository item, IUser object, AccountInfo info) { - return false; + public boolean updateModel(IRepository item, IUser user, AccountInfo info) { + String gerritLabel = GerritUtil.getUserLabel(info); + boolean changed = false; + if (!gerritLabel.equals(user.getDisplayName())) { + user.setDisplayName(gerritLabel); + changed = true; + } + String gerritEmail = info.getPreferredEmail(); + if (!ObjectUtils.equals(gerritEmail, user.getEmail())) { + user.setEmail(gerritEmail); + changed = true; + } + return changed; } @Override diff --git a/org.eclipse.mylyn.gerrit.tests/src/org/eclipse/mylyn/internal/gerrit/core/remote/GerritReviewRemoteFactoryTest.java b/org.eclipse.mylyn.gerrit.tests/src/org/eclipse/mylyn/internal/gerrit/core/remote/GerritReviewRemoteFactoryTest.java index 9e1007495..b9835606a 100644 --- a/org.eclipse.mylyn.gerrit.tests/src/org/eclipse/mylyn/internal/gerrit/core/remote/GerritReviewRemoteFactoryTest.java +++ b/org.eclipse.mylyn.gerrit.tests/src/org/eclipse/mylyn/internal/gerrit/core/remote/GerritReviewRemoteFactoryTest.java @@ -100,7 +100,21 @@ public class GerritReviewRemoteFactoryTest extends GerritRemoteTest { } @Test + public void testAccount() throws Exception { + //Account + assertThat(reviewHarness.getRepository().getAccount(), notNullValue()); + assertThat(reviewHarness.getRepository().getAccount().getDisplayName(), is("tests")); + assertThat(reviewHarness.getRepository().getAccount().getEmail(), is("tests@mylyn.eclipse.org")); + assertThat(reviewHarness.getRepository().getUsers().get(0), is(reviewHarness.getRepository().getAccount())); + } + + @Test public void testUsers() throws Exception { + //Account + assertThat(reviewHarness.getRepository().getAccount(), notNullValue()); + assertThat(reviewHarness.getRepository().getAccount().getDisplayName(), is("tests")); + assertThat(reviewHarness.getRepository().getAccount().getEmail(), is("tests@mylyn.eclipse.org")); + //Users assertThat(reviewHarness.getRepository().getUsers().size(), is(1)); assertThat(reviewHarness.getRepository().getUsers().get(0).getDisplayName(), is("tests")); diff --git a/org.eclipse.mylyn.reviews.core.tests/src/org/eclipse/mylyn/reviews/core/model/CommentContainerTest.java b/org.eclipse.mylyn.reviews.core.tests/src/org/eclipse/mylyn/reviews/core/model/CommentContainerTest.java index 80a6ccd9a..4fd5e834f 100644 --- a/org.eclipse.mylyn.reviews.core.tests/src/org/eclipse/mylyn/reviews/core/model/CommentContainerTest.java +++ b/org.eclipse.mylyn.reviews.core.tests/src/org/eclipse/mylyn/reviews/core/model/CommentContainerTest.java @@ -10,7 +10,9 @@ */ package org.eclipse.mylyn.reviews.core.model; +import static org.hamcrest.Matchers.instanceOf; import static org.hamcrest.Matchers.is; +import static org.hamcrest.Matchers.nullValue; import static org.hamcrest.Matchers.sameInstance; import static org.junit.Assert.assertNull; import static org.junit.Assert.assertSame; @@ -20,6 +22,7 @@ import static org.junit.Assert.assertTrue; import java.util.Date; import java.util.List; +import org.eclipse.mylyn.reviews.internal.core.model.FileItem; import org.eclipse.mylyn.reviews.internal.core.model.ReviewsFactory; import org.junit.Test; @@ -148,16 +151,30 @@ public class CommentContainerTest { @Test public void testCreateFileItemComment() { - IReviewItem item = ReviewsFactory.eINSTANCE.createFileItem(); + IRepository repos = ReviewsFactory.eINSTANCE.createRepository(); + IReview review = ReviewsFactory.eINSTANCE.createReview(); + repos.getReviews().add(review); + IReviewItemSet set = ReviewsFactory.eINSTANCE.createReviewItemSet(); + review.getSets().add(set); + IFileItem item = ReviewsFactory.eINSTANCE.createFileItem(); + set.getItems().add(item); ILineLocation location = ReviewsFactory.eINSTANCE.createLineLocation(); - IUser definedUser = ReviewsFactory.eINSTANCE.createUser(); - definedUser.setDisplayName("Some User"); - item.setAddedBy(definedUser); + IUser fileAuthor = ReviewsFactory.eINSTANCE.createUser(); + fileAuthor.setDisplayName("Another User"); + item.setAddedBy(fileAuthor); + IUser account = ReviewsFactory.eINSTANCE.createUser(); + account.setDisplayName("This User"); + repos.setAccount(account); + IComment comment = item.createComment(location, "My Comment"); + assertThat(comment.getItem(), instanceOf(IFileItem.class)); + assertThat(comment.getReview(), sameInstance(review)); + assertThat(((FileItem) comment.getItem()).getReview(), sameInstance(review)); + assertThat(((FileItem) comment.getItem()).getReview().getRepository(), sameInstance(repos)); assertTrue(item.getComments().contains(comment)); assertSame(comment.getItem(), item); assertThat(comment.getDescription(), is("My Comment")); - assertThat(comment.getAuthor().getDisplayName(), is("Some User")); + assertThat(comment.getAuthor().getDisplayName(), is("This User")); assertTrue(new Date().getTime() - 100 < comment.getCreationDate().getTime()); } @@ -167,8 +184,7 @@ public class CommentContainerTest { ILineLocation location = ReviewsFactory.eINSTANCE.createLineLocation(); IComment comment = item.createComment(location, "My Comment"); assertThat(item.getComments().size(), is(1)); - assertThat(comment.getAuthor().getDisplayName(), is("<Undefined>")); - assertThat(comment.getAuthor().getDisplayName(), is("<Undefined>")); + assertThat(comment.getAuthor(), nullValue()); } @Test diff --git a/org.eclipse.mylyn.reviews.core/model/reviews.ecore b/org.eclipse.mylyn.reviews.core/model/reviews.ecore index 09131a92d..11bf4b0fd 100644 --- a/org.eclipse.mylyn.reviews.core/model/reviews.ecore +++ b/org.eclipse.mylyn.reviews.core/model/reviews.ecore @@ -49,7 +49,7 @@ <eStructuralFeatures xsi:type="ecore:EReference" name="locations" upperBound="-1" eType="#//Location" containment="true"/> <eStructuralFeatures xsi:type="ecore:EReference" name="review" lowerBound="1" - eType="#//Review" derived="true"/> + eType="#//Review" changeable="false" transient="true" derived="true" resolveProxies="false"/> <eStructuralFeatures xsi:type="ecore:EAttribute" name="title" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/> <eStructuralFeatures xsi:type="ecore:EReference" name="item" eType="#//CommentContainer" eOpposite="#//CommentContainer/comments"/> @@ -60,7 +60,8 @@ <eStructuralFeatures xsi:type="ecore:EReference" name="committedBy" lowerBound="1" eType="#//User"/> <eStructuralFeatures xsi:type="ecore:EReference" name="review" lowerBound="1" - eType="#//Review" volatile="true" transient="true" derived="true"/> + eType="#//Review" changeable="false" volatile="true" transient="true" derived="true" + resolveProxies="false"/> <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/> <eStructuralFeatures xsi:type="ecore:EAttribute" name="id" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/> <eStructuralFeatures xsi:type="ecore:EAttribute" name="reference" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/> @@ -78,6 +79,8 @@ <eStructuralFeatures xsi:type="ecore:EAttribute" name="taskConnectorKind" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/> <eStructuralFeatures xsi:type="ecore:EAttribute" name="taskRepository" eType="#//TaskRepository" transient="true"/> + <eStructuralFeatures xsi:type="ecore:EReference" name="account" lowerBound="1" + eType="#//User"/> <eStructuralFeatures xsi:type="ecore:EReference" name="reviews" upperBound="-1" eType="#//Review" containment="true" eOpposite="#//Review/repository" eKeys="#//Change/key"/> <eStructuralFeatures xsi:type="ecore:EReference" name="users" upperBound="-1" diff --git a/org.eclipse.mylyn.reviews.core/src/org/eclipse/mylyn/reviews/core/model/IComment.java b/org.eclipse.mylyn.reviews.core/src/org/eclipse/mylyn/reviews/core/model/IComment.java index 0aa8d36ef..dc110de42 100644 --- a/org.eclipse.mylyn.reviews.core/src/org/eclipse/mylyn/reviews/core/model/IComment.java +++ b/org.eclipse.mylyn.reviews.core/src/org/eclipse/mylyn/reviews/core/model/IComment.java @@ -168,23 +168,11 @@ public interface IComment extends IIndexed, IDated { * <!-- end-user-doc --> * * @return the value of the '<em>Review</em>' reference. - * @see #setReview(IReview) * @generated */ IReview getReview(); /** - * Sets the value of the '{@link org.eclipse.mylyn.reviews.core.model.IComment#getReview <em>Review</em>}' - * reference. <!-- begin-user-doc --> <!-- end-user-doc --> - * - * @param value - * the new value of the '<em>Review</em>' reference. - * @see #getReview() - * @generated - */ - void setReview(IReview value); - - /** * Returns the value of the '<em><b>Title</b></em>' attribute. <!-- begin-user-doc --> * <p> * If the meaning of the '<em>Title</em>' attribute isn't clear, there really should be more of a description diff --git a/org.eclipse.mylyn.reviews.core/src/org/eclipse/mylyn/reviews/core/model/IRepository.java b/org.eclipse.mylyn.reviews.core/src/org/eclipse/mylyn/reviews/core/model/IRepository.java index 88320696f..f55e28476 100644 --- a/org.eclipse.mylyn.reviews.core/src/org/eclipse/mylyn/reviews/core/model/IRepository.java +++ b/org.eclipse.mylyn.reviews.core/src/org/eclipse/mylyn/reviews/core/model/IRepository.java @@ -23,6 +23,7 @@ import org.eclipse.mylyn.tasks.core.TaskRepository; * <li>{@link org.eclipse.mylyn.reviews.core.model.IRepository#getTaskRepositoryUrl <em>Task Repository Url</em>}</li> * <li>{@link org.eclipse.mylyn.reviews.core.model.IRepository#getTaskConnectorKind <em>Task Connector Kind</em>}</li> * <li>{@link org.eclipse.mylyn.reviews.core.model.IRepository#getTaskRepository <em>Task Repository</em>}</li> + * <li>{@link org.eclipse.mylyn.reviews.core.model.IRepository#getAccount <em>Account</em>}</li> * <li>{@link org.eclipse.mylyn.reviews.core.model.IRepository#getReviews <em>Reviews</em>}</li> * <li>{@link org.eclipse.mylyn.reviews.core.model.IRepository#getUsers <em>Users</em>}</li> * <li>{@link org.eclipse.mylyn.reviews.core.model.IRepository#getDescription <em>Description</em>}</li> @@ -122,6 +123,31 @@ public interface IRepository extends EObject { void setTaskRepository(TaskRepository value); /** + * Returns the value of the '<em><b>Account</b></em>' reference. <!-- begin-user-doc --> + * <p> + * If the meaning of the '<em>Account</em>' reference isn't clear, there really should be more of a description + * here... + * </p> + * <!-- end-user-doc --> + * + * @return the value of the '<em>Account</em>' reference. + * @see #setAccount(IUser) + * @generated + */ + IUser getAccount(); + + /** + * Sets the value of the '{@link org.eclipse.mylyn.reviews.core.model.IRepository#getAccount <em>Account</em>}' + * reference. <!-- begin-user-doc --> <!-- end-user-doc --> + * + * @param value + * the new value of the '<em>Account</em>' reference. + * @see #getAccount() + * @generated + */ + void setAccount(IUser value); + + /** * Returns the value of the '<em><b>Reviews</b></em>' containment reference list. The list contents are of type * {@link org.eclipse.mylyn.reviews.core.model.IReview}. It is bidirectional and its opposite is ' * {@link org.eclipse.mylyn.reviews.core.model.IReview#getRepository <em>Repository</em>}'. <!-- begin-user-doc --> diff --git a/org.eclipse.mylyn.reviews.core/src/org/eclipse/mylyn/reviews/core/model/IReviewItem.java b/org.eclipse.mylyn.reviews.core/src/org/eclipse/mylyn/reviews/core/model/IReviewItem.java index bf03e717a..ff8b28d71 100644 --- a/org.eclipse.mylyn.reviews.core/src/org/eclipse/mylyn/reviews/core/model/IReviewItem.java +++ b/org.eclipse.mylyn.reviews.core/src/org/eclipse/mylyn/reviews/core/model/IReviewItem.java @@ -86,23 +86,11 @@ public interface IReviewItem extends ICommentContainer { * <!-- end-user-doc --> * * @return the value of the '<em>Review</em>' reference. - * @see #setReview(IReview) * @generated */ IReview getReview(); /** - * Sets the value of the '{@link org.eclipse.mylyn.reviews.core.model.IReviewItem#getReview <em>Review</em>}' - * reference. <!-- begin-user-doc --> <!-- end-user-doc --> - * - * @param value - * the new value of the '<em>Review</em>' reference. - * @see #getReview() - * @generated - */ - void setReview(IReview value); - - /** * Returns the value of the '<em><b>Name</b></em>' attribute. <!-- begin-user-doc --> * <p> * If the meaning of the '<em>Name</em>' attribute isn't clear, there really should be more of a description here... diff --git a/org.eclipse.mylyn.reviews.core/src/org/eclipse/mylyn/reviews/internal/core/model/Comment.java b/org.eclipse.mylyn.reviews.core/src/org/eclipse/mylyn/reviews/internal/core/model/Comment.java index 5518d5065..d47206ccc 100644 --- a/org.eclipse.mylyn.reviews.core/src/org/eclipse/mylyn/reviews/internal/core/model/Comment.java +++ b/org.eclipse.mylyn.reviews.core/src/org/eclipse/mylyn/reviews/internal/core/model/Comment.java @@ -30,6 +30,7 @@ import org.eclipse.mylyn.reviews.core.model.ICommentContainer; import org.eclipse.mylyn.reviews.core.model.IDated; import org.eclipse.mylyn.reviews.core.model.ILocation; import org.eclipse.mylyn.reviews.core.model.IReview; +import org.eclipse.mylyn.reviews.core.model.IReviewItem; import org.eclipse.mylyn.reviews.core.model.IUser; /** @@ -273,8 +274,9 @@ public class Comment extends EObjectImpl implements IComment { public void setAuthor(IUser newAuthor) { IUser oldAuthor = author; author = newAuthor; - if (eNotificationRequired()) + if (eNotificationRequired()) { eNotify(new ENotificationImpl(this, Notification.SET, ReviewsPackage.COMMENT__AUTHOR, oldAuthor, author)); + } } /** @@ -294,9 +296,10 @@ public class Comment extends EObjectImpl implements IComment { public void setDescription(String newDescription) { String oldDescription = description; description = newDescription; - if (eNotificationRequired()) + if (eNotificationRequired()) { eNotify(new ENotificationImpl(this, Notification.SET, ReviewsPackage.COMMENT__DESCRIPTION, oldDescription, description)); + } } /** @@ -316,9 +319,10 @@ public class Comment extends EObjectImpl implements IComment { public void setCreationDate(Date newCreationDate) { Date oldCreationDate = creationDate; creationDate = newCreationDate; - if (eNotificationRequired()) + if (eNotificationRequired()) { eNotify(new ENotificationImpl(this, Notification.SET, ReviewsPackage.COMMENT__CREATION_DATE, oldCreationDate, creationDate)); + } } /** @@ -338,9 +342,10 @@ public class Comment extends EObjectImpl implements IComment { public void setModificationDate(Date newModificationDate) { Date oldModificationDate = modificationDate; modificationDate = newModificationDate; - if (eNotificationRequired()) + if (eNotificationRequired()) { eNotify(new ENotificationImpl(this, Notification.SET, ReviewsPackage.COMMENT__MODIFICATION_DATE, oldModificationDate, modificationDate)); + } } /** @@ -360,8 +365,9 @@ public class Comment extends EObjectImpl implements IComment { public void setId(String newId) { String oldId = id; id = newId; - if (eNotificationRequired()) + if (eNotificationRequired()) { eNotify(new ENotificationImpl(this, Notification.SET, ReviewsPackage.COMMENT__ID, oldId, id)); + } } /** @@ -393,8 +399,9 @@ public class Comment extends EObjectImpl implements IComment { public void setDraft(boolean newDraft) { boolean oldDraft = draft; draft = newDraft; - if (eNotificationRequired()) + if (eNotificationRequired()) { eNotify(new ENotificationImpl(this, Notification.SET, ReviewsPackage.COMMENT__DRAFT, oldDraft, draft)); + } } /** @@ -416,14 +423,11 @@ public class Comment extends EObjectImpl implements IComment { * @generated */ public IReview getReview() { - if (review != null && review.eIsProxy()) { - InternalEObject oldReview = (InternalEObject) review; - review = (IReview) eResolveProxy(oldReview); - if (review != oldReview) { - if (eNotificationRequired()) - eNotify(new ENotificationImpl(this, Notification.RESOLVE, ReviewsPackage.COMMENT__REVIEW, - oldReview, review)); - } + if (getItem() instanceof IReview) { + return (IReview) getItem(); + } + if (getItem() instanceof IReviewItem) { + return ((IReviewItem) getItem()).getReview(); } return review; } @@ -433,27 +437,6 @@ public class Comment extends EObjectImpl implements IComment { * * @generated */ - public IReview basicGetReview() { - return review; - } - - /** - * <!-- begin-user-doc --> <!-- end-user-doc --> - * - * @generated - */ - public void setReview(IReview newReview) { - IReview oldReview = review; - review = newReview; - if (eNotificationRequired()) - eNotify(new ENotificationImpl(this, Notification.SET, ReviewsPackage.COMMENT__REVIEW, oldReview, review)); - } - - /** - * <!-- begin-user-doc --> <!-- end-user-doc --> - * - * @generated - */ public String getTitle() { return title; } @@ -466,8 +449,9 @@ public class Comment extends EObjectImpl implements IComment { public void setTitle(String newTitle) { String oldTitle = title; title = newTitle; - if (eNotificationRequired()) + if (eNotificationRequired()) { eNotify(new ENotificationImpl(this, Notification.SET, ReviewsPackage.COMMENT__TITLE, oldTitle, title)); + } } /** @@ -476,8 +460,9 @@ public class Comment extends EObjectImpl implements IComment { * @generated */ public ICommentContainer getItem() { - if (eContainerFeatureID() != ReviewsPackage.COMMENT__ITEM) + if (eContainerFeatureID() != ReviewsPackage.COMMENT__ITEM) { return null; + } return (ICommentContainer) eContainer(); } @@ -487,8 +472,9 @@ public class Comment extends EObjectImpl implements IComment { * @generated */ public ICommentContainer basicGetItem() { - if (eContainerFeatureID() != ReviewsPackage.COMMENT__ITEM) + if (eContainerFeatureID() != ReviewsPackage.COMMENT__ITEM) { return null; + } return (ICommentContainer) eInternalContainer(); } @@ -510,19 +496,24 @@ public class Comment extends EObjectImpl implements IComment { public void setItem(ICommentContainer newItem) { if (newItem != eInternalContainer() || (eContainerFeatureID() != ReviewsPackage.COMMENT__ITEM && newItem != null)) { - if (EcoreUtil.isAncestor(this, newItem)) + if (EcoreUtil.isAncestor(this, newItem)) { throw new IllegalArgumentException("Recursive containment not allowed for " + toString()); //$NON-NLS-1$ + } NotificationChain msgs = null; - if (eInternalContainer() != null) + if (eInternalContainer() != null) { msgs = eBasicRemoveFromContainer(msgs); - if (newItem != null) + } + if (newItem != null) { msgs = ((InternalEObject) newItem).eInverseAdd(this, ReviewsPackage.COMMENT_CONTAINER__COMMENTS, ICommentContainer.class, msgs); + } msgs = basicSetItem(newItem, msgs); - if (msgs != null) + if (msgs != null) { msgs.dispatch(); - } else if (eNotificationRequired()) + } + } else if (eNotificationRequired()) { eNotify(new ENotificationImpl(this, Notification.SET, ReviewsPackage.COMMENT__ITEM, newItem, newItem)); + } } /** @@ -534,8 +525,9 @@ public class Comment extends EObjectImpl implements IComment { public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) { switch (featureID) { case ReviewsPackage.COMMENT__ITEM: - if (eInternalContainer() != null) + if (eInternalContainer() != null) { msgs = eBasicRemoveFromContainer(msgs); + } return basicSetItem((ICommentContainer) otherEnd, msgs); } return super.eInverseAdd(otherEnd, featureID, msgs); @@ -599,14 +591,13 @@ public class Comment extends EObjectImpl implements IComment { case ReviewsPackage.COMMENT__LOCATIONS: return getLocations(); case ReviewsPackage.COMMENT__REVIEW: - if (resolve) - return getReview(); - return basicGetReview(); + return getReview(); case ReviewsPackage.COMMENT__TITLE: return getTitle(); case ReviewsPackage.COMMENT__ITEM: - if (resolve) + if (resolve) { return getItem(); + } return basicGetItem(); } return super.eGet(featureID, resolve, coreType); @@ -647,9 +638,6 @@ public class Comment extends EObjectImpl implements IComment { getLocations().clear(); getLocations().addAll((Collection<? extends ILocation>) newValue); return; - case ReviewsPackage.COMMENT__REVIEW: - setReview((IReview) newValue); - return; case ReviewsPackage.COMMENT__TITLE: setTitle((String) newValue); return; @@ -692,9 +680,6 @@ public class Comment extends EObjectImpl implements IComment { case ReviewsPackage.COMMENT__LOCATIONS: getLocations().clear(); return; - case ReviewsPackage.COMMENT__REVIEW: - setReview((IReview) null); - return; case ReviewsPackage.COMMENT__TITLE: setTitle(TITLE_EDEFAULT); return; @@ -790,8 +775,9 @@ public class Comment extends EObjectImpl implements IComment { */ @Override public String toString() { - if (eIsProxy()) + if (eIsProxy()) { return super.toString(); + } StringBuffer result = new StringBuffer(super.toString()); result.append(" (creationDate: "); //$NON-NLS-1$ diff --git a/org.eclipse.mylyn.reviews.core/src/org/eclipse/mylyn/reviews/internal/core/model/FileItem.java b/org.eclipse.mylyn.reviews.core/src/org/eclipse/mylyn/reviews/internal/core/model/FileItem.java index 993c6215a..81ba92685 100644 --- a/org.eclipse.mylyn.reviews.core/src/org/eclipse/mylyn/reviews/internal/core/model/FileItem.java +++ b/org.eclipse.mylyn.reviews.core/src/org/eclipse/mylyn/reviews/internal/core/model/FileItem.java @@ -23,6 +23,7 @@ import org.eclipse.emf.ecore.util.EcoreUtil; import org.eclipse.mylyn.reviews.core.model.IComment; import org.eclipse.mylyn.reviews.core.model.IFileItem; import org.eclipse.mylyn.reviews.core.model.IFileVersion; +import org.eclipse.mylyn.reviews.core.model.IReview; import org.eclipse.mylyn.reviews.core.model.IReviewItemSet; /** @@ -263,6 +264,18 @@ public class FileItem extends ReviewItem implements IFileItem { /** * <!-- begin-user-doc --> <!-- end-user-doc --> * + * @generated NOT + */ + public IReview getReview() { + if (getSet() != null) { + return getSet().getReview(); + } + return null; + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * * @generated */ public IReviewItemSet basicGetSet() { diff --git a/org.eclipse.mylyn.reviews.core/src/org/eclipse/mylyn/reviews/internal/core/model/FileVersion.java b/org.eclipse.mylyn.reviews.core/src/org/eclipse/mylyn/reviews/internal/core/model/FileVersion.java index 05c173d77..a0fe37a47 100644 --- a/org.eclipse.mylyn.reviews.core/src/org/eclipse/mylyn/reviews/internal/core/model/FileVersion.java +++ b/org.eclipse.mylyn.reviews.core/src/org/eclipse/mylyn/reviews/internal/core/model/FileVersion.java @@ -17,6 +17,7 @@ import org.eclipse.emf.ecore.impl.ENotificationImpl; import org.eclipse.mylyn.reviews.core.model.IFileItem; import org.eclipse.mylyn.reviews.core.model.IFileVersion; import org.eclipse.mylyn.reviews.core.model.IFileVersion; +import org.eclipse.mylyn.reviews.core.model.IReview; import org.eclipse.team.core.history.IFileRevision; /** @@ -226,6 +227,16 @@ public class FileVersion extends ReviewItem implements IFileVersion { } return file; } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * + * @generated NOT + */ + @Override + public IReview getReview() { + return getFile().getReview(); + } /** * <!-- begin-user-doc --> <!-- end-user-doc --> diff --git a/org.eclipse.mylyn.reviews.core/src/org/eclipse/mylyn/reviews/internal/core/model/Repository.java b/org.eclipse.mylyn.reviews.core/src/org/eclipse/mylyn/reviews/internal/core/model/Repository.java index d54ae607f..641560da8 100644 --- a/org.eclipse.mylyn.reviews.core/src/org/eclipse/mylyn/reviews/internal/core/model/Repository.java +++ b/org.eclipse.mylyn.reviews.core/src/org/eclipse/mylyn/reviews/internal/core/model/Repository.java @@ -40,6 +40,7 @@ import org.eclipse.mylyn.tasks.core.TaskRepository; * <li>{@link org.eclipse.mylyn.reviews.internal.core.model.Repository#getTaskConnectorKind <em>Task Connector Kind * </em>}</li> * <li>{@link org.eclipse.mylyn.reviews.internal.core.model.Repository#getTaskRepository <em>Task Repository</em>}</li> + * <li>{@link org.eclipse.mylyn.reviews.internal.core.model.Repository#getAccount <em>Account</em>}</li> * <li>{@link org.eclipse.mylyn.reviews.internal.core.model.Repository#getReviews <em>Reviews</em>}</li> * <li>{@link org.eclipse.mylyn.reviews.internal.core.model.Repository#getUsers <em>Users</em>}</li> * <li>{@link org.eclipse.mylyn.reviews.internal.core.model.Repository#getDescription <em>Description</em>}</li> @@ -120,6 +121,16 @@ public class Repository extends EObjectImpl implements IRepository { protected TaskRepository taskRepository = TASK_REPOSITORY_EDEFAULT; /** + * The cached value of the '{@link #getAccount() <em>Account</em>}' reference. <!-- begin-user-doc --> <!-- + * end-user-doc --> + * + * @see #getAccount() + * @generated + * @ordered + */ + protected IUser account; + + /** * The cached value of the '{@link #getReviews() <em>Reviews</em>}' containment reference list. <!-- begin-user-doc * --> <!-- end-user-doc --> * @@ -262,6 +273,46 @@ public class Repository extends EObjectImpl implements IRepository { * * @generated */ + public IUser getAccount() { + if (account != null && account.eIsProxy()) { + InternalEObject oldAccount = (InternalEObject) account; + account = (IUser) eResolveProxy(oldAccount); + if (account != oldAccount) { + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.RESOLVE, ReviewsPackage.REPOSITORY__ACCOUNT, + oldAccount, account)); + } + } + return account; + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * + * @generated + */ + public IUser basicGetAccount() { + return account; + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * + * @generated + */ + public void setAccount(IUser newAccount) { + IUser oldAccount = account; + account = newAccount; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, ReviewsPackage.REPOSITORY__ACCOUNT, oldAccount, + account)); + } + + /** + * <!-- begin-user-doc --> <!-- end-user-doc --> + * + * @generated + */ public List<IReview> getReviews() { if (reviews == null) { reviews = new EObjectContainmentWithInverseEList.Resolving<IReview>(IReview.class, this, @@ -353,6 +404,10 @@ public class Repository extends EObjectImpl implements IRepository { return getTaskConnectorKind(); case ReviewsPackage.REPOSITORY__TASK_REPOSITORY: return getTaskRepository(); + case ReviewsPackage.REPOSITORY__ACCOUNT: + if (resolve) + return getAccount(); + return basicGetAccount(); case ReviewsPackage.REPOSITORY__REVIEWS: return getReviews(); case ReviewsPackage.REPOSITORY__USERS: @@ -385,6 +440,9 @@ public class Repository extends EObjectImpl implements IRepository { case ReviewsPackage.REPOSITORY__TASK_REPOSITORY: setTaskRepository((TaskRepository) newValue); return; + case ReviewsPackage.REPOSITORY__ACCOUNT: + setAccount((IUser) newValue); + return; case ReviewsPackage.REPOSITORY__REVIEWS: getReviews().clear(); getReviews().addAll((Collection<? extends IReview>) newValue); @@ -420,6 +478,9 @@ public class Repository extends EObjectImpl implements IRepository { case ReviewsPackage.REPOSITORY__TASK_REPOSITORY: setTaskRepository(TASK_REPOSITORY_EDEFAULT); return; + case ReviewsPackage.REPOSITORY__ACCOUNT: + setAccount((IUser) null); + return; case ReviewsPackage.REPOSITORY__REVIEWS: getReviews().clear(); return; @@ -455,6 +516,8 @@ public class Repository extends EObjectImpl implements IRepository { return TASK_REPOSITORY_EDEFAULT == null ? taskRepository != null : !TASK_REPOSITORY_EDEFAULT.equals(taskRepository); + case ReviewsPackage.REPOSITORY__ACCOUNT: + return account != null; case ReviewsPackage.REPOSITORY__REVIEWS: return reviews != null && !reviews.isEmpty(); case ReviewsPackage.REPOSITORY__USERS: diff --git a/org.eclipse.mylyn.reviews.core/src/org/eclipse/mylyn/reviews/internal/core/model/ReviewItem.java b/org.eclipse.mylyn.reviews.core/src/org/eclipse/mylyn/reviews/internal/core/model/ReviewItem.java index 40c721f3d..7b3cbef39 100644 --- a/org.eclipse.mylyn.reviews.core/src/org/eclipse/mylyn/reviews/internal/core/model/ReviewItem.java +++ b/org.eclipse.mylyn.reviews.core/src/org/eclipse/mylyn/reviews/internal/core/model/ReviewItem.java @@ -232,29 +232,7 @@ public abstract class ReviewItem extends CommentContainer implements IReviewItem * @generated */ public IReview getReview() { - IReview review = basicGetReview(); - return review != null && review.eIsProxy() ? (IReview) eResolveProxy((InternalEObject) review) : review; - } - - /** - * <!-- begin-user-doc --> <!-- end-user-doc --> - * - * @generated - */ - public IReview basicGetReview() { // TODO: implement this method to return the 'Review' reference - // -> do not perform proxy resolution - // Ensure that you remove @generated or mark it @generated NOT - throw new UnsupportedOperationException(); - } - - /** - * <!-- begin-user-doc --> <!-- end-user-doc --> - * - * @generated - */ - public void setReview(IReview newReview) { - // TODO: implement this method to set the 'Review' reference // Ensure that you remove @generated or mark it @generated NOT throw new UnsupportedOperationException(); } @@ -331,12 +309,9 @@ public abstract class ReviewItem extends CommentContainer implements IReviewItem @Override public IComment createComment(ILocation initalLocation, String commentText) { IComment comment = super.createComment(initalLocation, commentText); - IUser user = getAddedBy(); - if (user == null) { - user = ReviewsFactory.eINSTANCE.createUser(); - user.setDisplayName("<Undefined>"); //$NON-NLS-1$ + if (getReview() != null && getReview().getRepository() != null) { + comment.setAuthor(getReview().getRepository().getAccount()); } - comment.setAuthor(user); return comment; } @@ -357,9 +332,7 @@ public abstract class ReviewItem extends CommentContainer implements IReviewItem return getCommittedBy(); return basicGetCommittedBy(); case ReviewsPackage.REVIEW_ITEM__REVIEW: - if (resolve) - return getReview(); - return basicGetReview(); + return getReview(); case ReviewsPackage.REVIEW_ITEM__NAME: return getName(); case ReviewsPackage.REVIEW_ITEM__ID: @@ -385,9 +358,6 @@ public abstract class ReviewItem extends CommentContainer implements IReviewItem case ReviewsPackage.REVIEW_ITEM__COMMITTED_BY: setCommittedBy((IUser) newValue); return; - case ReviewsPackage.REVIEW_ITEM__REVIEW: - setReview((IReview) newValue); - return; case ReviewsPackage.REVIEW_ITEM__NAME: setName((String) newValue); return; @@ -415,9 +385,6 @@ public abstract class ReviewItem extends CommentContainer implements IReviewItem case ReviewsPackage.REVIEW_ITEM__COMMITTED_BY: setCommittedBy((IUser) null); return; - case ReviewsPackage.REVIEW_ITEM__REVIEW: - setReview((IReview) null); - return; case ReviewsPackage.REVIEW_ITEM__NAME: setName(NAME_EDEFAULT); return; @@ -444,7 +411,7 @@ public abstract class ReviewItem extends CommentContainer implements IReviewItem case ReviewsPackage.REVIEW_ITEM__COMMITTED_BY: return committedBy != null; case ReviewsPackage.REVIEW_ITEM__REVIEW: - return basicGetReview() != null; + return getReview() != null; case ReviewsPackage.REVIEW_ITEM__NAME: return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name); case ReviewsPackage.REVIEW_ITEM__ID: diff --git a/org.eclipse.mylyn.reviews.core/src/org/eclipse/mylyn/reviews/internal/core/model/ReviewsPackage.java b/org.eclipse.mylyn.reviews.core/src/org/eclipse/mylyn/reviews/internal/core/model/ReviewsPackage.java index 73a41f262..3066db16b 100644 --- a/org.eclipse.mylyn.reviews.core/src/org/eclipse/mylyn/reviews/internal/core/model/ReviewsPackage.java +++ b/org.eclipse.mylyn.reviews.core/src/org/eclipse/mylyn/reviews/internal/core/model/ReviewsPackage.java @@ -789,13 +789,21 @@ public class ReviewsPackage extends EPackageImpl { public static final int REPOSITORY__TASK_REPOSITORY = 3; /** + * The feature id for the '<em><b>Account</b></em>' reference. <!-- begin-user-doc --> <!-- end-user-doc --> + * + * @generated + * @ordered + */ + public static final int REPOSITORY__ACCOUNT = 4; + + /** * The feature id for the '<em><b>Reviews</b></em>' containment reference list. <!-- begin-user-doc --> <!-- * end-user-doc --> * * @generated * @ordered */ - public static final int REPOSITORY__REVIEWS = 4; + public static final int REPOSITORY__REVIEWS = 5; /** * The feature id for the '<em><b>Users</b></em>' containment reference list. <!-- begin-user-doc --> <!-- @@ -804,7 +812,7 @@ public class ReviewsPackage extends EPackageImpl { * @generated * @ordered */ - public static final int REPOSITORY__USERS = 5; + public static final int REPOSITORY__USERS = 6; /** * The feature id for the '<em><b>Description</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc --> @@ -812,7 +820,7 @@ public class ReviewsPackage extends EPackageImpl { * @generated * @ordered */ - public static final int REPOSITORY__DESCRIPTION = 6; + public static final int REPOSITORY__DESCRIPTION = 7; /** * The number of structural features of the '<em>Repository</em>' class. <!-- begin-user-doc --> <!-- end-user-doc @@ -821,7 +829,7 @@ public class ReviewsPackage extends EPackageImpl { * @generated * @ordered */ - public static final int REPOSITORY_FEATURE_COUNT = 7; + public static final int REPOSITORY_FEATURE_COUNT = 8; /** * The meta object id for the '{@link org.eclipse.mylyn.reviews.internal.core.model.FileItem <em>File Item</em>}' @@ -2409,6 +2417,19 @@ public class ReviewsPackage extends EPackageImpl { } /** + * Returns the meta object for the reference '{@link org.eclipse.mylyn.reviews.core.model.IRepository#getAccount + * <em>Account</em>}'. <!-- begin-user-doc --> <!-- end-user-doc --> + * + * @return the meta object for the reference '<em>Account</em>'. + * @see org.eclipse.mylyn.reviews.core.model.IRepository#getAccount() + * @see #getRepository() + * @generated + */ + public EReference getRepository_Account() { + return (EReference) repositoryEClass.getEStructuralFeatures().get(4); + } + + /** * Returns the meta object for the containment reference list ' * {@link org.eclipse.mylyn.reviews.core.model.IRepository#getReviews <em>Reviews</em>}'. <!-- begin-user-doc --> * <!-- end-user-doc --> @@ -2419,7 +2440,7 @@ public class ReviewsPackage extends EPackageImpl { * @generated */ public EReference getRepository_Reviews() { - return (EReference) repositoryEClass.getEStructuralFeatures().get(4); + return (EReference) repositoryEClass.getEStructuralFeatures().get(5); } /** @@ -2433,7 +2454,7 @@ public class ReviewsPackage extends EPackageImpl { * @generated */ public EReference getRepository_Users() { - return (EReference) repositoryEClass.getEStructuralFeatures().get(5); + return (EReference) repositoryEClass.getEStructuralFeatures().get(6); } /** @@ -2447,7 +2468,7 @@ public class ReviewsPackage extends EPackageImpl { * @generated */ public EAttribute getRepository_Description() { - return (EAttribute) repositoryEClass.getEStructuralFeatures().get(6); + return (EAttribute) repositoryEClass.getEStructuralFeatures().get(7); } /** @@ -3137,6 +3158,7 @@ public class ReviewsPackage extends EPackageImpl { createEAttribute(repositoryEClass, REPOSITORY__TASK_REPOSITORY_URL); createEAttribute(repositoryEClass, REPOSITORY__TASK_CONNECTOR_KIND); createEAttribute(repositoryEClass, REPOSITORY__TASK_REPOSITORY); + createEReference(repositoryEClass, REPOSITORY__ACCOUNT); createEReference(repositoryEClass, REPOSITORY__REVIEWS); createEReference(repositoryEClass, REPOSITORY__USERS); createEAttribute(repositoryEClass, REPOSITORY__DESCRIPTION); @@ -3367,7 +3389,7 @@ public class ReviewsPackage extends EPackageImpl { getComment_Review(), this.getReview(), null, - "review", null, 1, 1, IComment.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, IS_ORDERED); //$NON-NLS-1$ + "review", null, 1, 1, IComment.class, IS_TRANSIENT, !IS_VOLATILE, !IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, IS_ORDERED); //$NON-NLS-1$ initEAttribute( getComment_Title(), ecorePackage.getEString(), @@ -3394,7 +3416,7 @@ public class ReviewsPackage extends EPackageImpl { getReviewItem_Review(), this.getReview(), null, - "review", null, 1, 1, IReviewItem.class, IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, IS_ORDERED); //$NON-NLS-1$ + "review", null, 1, 1, IReviewItem.class, IS_TRANSIENT, IS_VOLATILE, !IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, IS_ORDERED); //$NON-NLS-1$ initEAttribute( getReviewItem_Name(), ecorePackage.getEString(), @@ -3445,6 +3467,11 @@ public class ReviewsPackage extends EPackageImpl { this.getTaskRepository(), "taskRepository", null, 0, 1, IRepository.class, IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$ initEReference( + getRepository_Account(), + this.getUser(), + null, + "account", null, 1, 1, IRepository.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); //$NON-NLS-1$ + initEReference( getRepository_Reviews(), this.getReview(), this.getReview_Repository(), @@ -4057,6 +4084,14 @@ public class ReviewsPackage extends EPackageImpl { public static final EAttribute REPOSITORY__TASK_REPOSITORY = eINSTANCE.getRepository_TaskRepository(); /** + * The meta object literal for the '<em><b>Account</b></em>' reference feature. <!-- begin-user-doc --> <!-- + * end-user-doc --> + * + * @generated + */ + public static final EReference REPOSITORY__ACCOUNT = eINSTANCE.getRepository_Account(); + + /** * The meta object literal for the '<em><b>Reviews</b></em>' containment reference list feature. <!-- * begin-user-doc --> <!-- end-user-doc --> * diff --git a/org.eclipse.mylyn.reviews.edit/plugin.properties b/org.eclipse.mylyn.reviews.edit/plugin.properties index 1f82617f4..c8da9cbf0 100644 --- a/org.eclipse.mylyn.reviews.edit/plugin.properties +++ b/org.eclipse.mylyn.reviews.edit/plugin.properties @@ -138,3 +138,4 @@ _UI_ReviewStatus_Submitted_literal = SUBMITTED _UI_ReviewStatus_Merged_literal = MERGED _UI_ReviewStatus_Abandoned_literal = ABANDONED _UI_ReviewStatus_Draft_literal = DRAFT +_UI_Repository_account_feature = Account diff --git a/org.eclipse.mylyn.reviews.edit/src/org/eclipse/mylyn/reviews/edit/provider/RepositoryItemProvider.java b/org.eclipse.mylyn.reviews.edit/src/org/eclipse/mylyn/reviews/edit/provider/RepositoryItemProvider.java index b0497feb6..9b487e406 100644 --- a/org.eclipse.mylyn.reviews.edit/src/org/eclipse/mylyn/reviews/edit/provider/RepositoryItemProvider.java +++ b/org.eclipse.mylyn.reviews.edit/src/org/eclipse/mylyn/reviews/edit/provider/RepositoryItemProvider.java @@ -65,6 +65,7 @@ public class RepositoryItemProvider extends ItemProviderAdapter implements IEdit addTaskRepositoryUrlPropertyDescriptor(object); addTaskConnectorKindPropertyDescriptor(object); addTaskRepositoryPropertyDescriptor(object); + addAccountPropertyDescriptor(object); addDescriptionPropertyDescriptor(object); } return itemPropertyDescriptors; @@ -121,6 +122,20 @@ public class RepositoryItemProvider extends ItemProviderAdapter implements IEdit } /** + * This adds a property descriptor for the Account feature. <!-- begin-user-doc --> <!-- end-user-doc --> + * + * @generated + */ + protected void addAccountPropertyDescriptor(Object object) { + itemPropertyDescriptors.add(createItemPropertyDescriptor( + ((ComposeableAdapterFactory) adapterFactory).getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_Repository_account_feature"), //$NON-NLS-1$ + getString("_UI_PropertyDescriptor_description", "_UI_Repository_account_feature", "_UI_Repository_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + ReviewsPackage.Literals.REPOSITORY__ACCOUNT, true, false, true, null, null, null)); + } + + /** * This adds a property descriptor for the Description feature. <!-- begin-user-doc --> <!-- end-user-doc --> * * @generated diff --git a/org.eclipse.mylyn.reviews.ui/src/org/eclipse/mylyn/reviews/ui/spi/editor/ReviewDetailSection.java b/org.eclipse.mylyn.reviews.ui/src/org/eclipse/mylyn/reviews/ui/spi/editor/ReviewDetailSection.java index df2cc9c35..378fa4a66 100644 --- a/org.eclipse.mylyn.reviews.ui/src/org/eclipse/mylyn/reviews/ui/spi/editor/ReviewDetailSection.java +++ b/org.eclipse.mylyn.reviews.ui/src/org/eclipse/mylyn/reviews/ui/spi/editor/ReviewDetailSection.java @@ -61,7 +61,6 @@ public abstract class ReviewDetailSection extends AbstractReviewSection { @Override protected Control createContent(FormToolkit toolkit, Composite parent) { Control content = super.createContent(toolkit, parent); - getReview().getChildren(); createReviewersSubSection(composite); createDependenciesSubSection(toolkit, composite, "Depends On", getReview().getParents()); createDependenciesSubSection(toolkit, composite, "Needed By", getReview().getChildren()); |