Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMiles Parker2013-06-19 18:54:50 +0000
committerMiles Parker2013-06-20 22:11:06 +0000
commitb7e2cbb3eca6ab6af3010c707085177e21778df8 (patch)
tree847ac90b477fa50fe2630cfc748633fc9040f8ac
parent41226481fc48636d8511af75b88f6efc02140c80 (diff)
downloadorg.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
-rw-r--r--org.eclipse.mylyn.gerrit.core/src/org/eclipse/mylyn/internal/gerrit/core/remote/GerritRemoteFactoryProvider.java10
-rw-r--r--org.eclipse.mylyn.gerrit.core/src/org/eclipse/mylyn/internal/gerrit/core/remote/GerritReviewRemoteFactory.java24
-rw-r--r--org.eclipse.mylyn.gerrit.core/src/org/eclipse/mylyn/internal/gerrit/core/remote/GerritUserRemoteFactory.java18
-rw-r--r--org.eclipse.mylyn.gerrit.tests/src/org/eclipse/mylyn/internal/gerrit/core/remote/GerritReviewRemoteFactoryTest.java14
-rw-r--r--org.eclipse.mylyn.reviews.core.tests/src/org/eclipse/mylyn/reviews/core/model/CommentContainerTest.java30
-rw-r--r--org.eclipse.mylyn.reviews.core/model/reviews.ecore7
-rw-r--r--org.eclipse.mylyn.reviews.core/src/org/eclipse/mylyn/reviews/core/model/IComment.java12
-rw-r--r--org.eclipse.mylyn.reviews.core/src/org/eclipse/mylyn/reviews/core/model/IRepository.java26
-rw-r--r--org.eclipse.mylyn.reviews.core/src/org/eclipse/mylyn/reviews/core/model/IReviewItem.java12
-rw-r--r--org.eclipse.mylyn.reviews.core/src/org/eclipse/mylyn/reviews/internal/core/model/Comment.java96
-rw-r--r--org.eclipse.mylyn.reviews.core/src/org/eclipse/mylyn/reviews/internal/core/model/FileItem.java13
-rw-r--r--org.eclipse.mylyn.reviews.core/src/org/eclipse/mylyn/reviews/internal/core/model/FileVersion.java11
-rw-r--r--org.eclipse.mylyn.reviews.core/src/org/eclipse/mylyn/reviews/internal/core/model/Repository.java63
-rw-r--r--org.eclipse.mylyn.reviews.core/src/org/eclipse/mylyn/reviews/internal/core/model/ReviewItem.java41
-rw-r--r--org.eclipse.mylyn.reviews.core/src/org/eclipse/mylyn/reviews/internal/core/model/ReviewsPackage.java53
-rw-r--r--org.eclipse.mylyn.reviews.edit/plugin.properties1
-rw-r--r--org.eclipse.mylyn.reviews.edit/src/org/eclipse/mylyn/reviews/edit/provider/RepositoryItemProvider.java15
-rw-r--r--org.eclipse.mylyn.reviews.ui/src/org/eclipse/mylyn/reviews/ui/spi/editor/ReviewDetailSection.java1
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());

Back to the top