diff options
author | Kilian Matt | 2011-01-17 06:47:22 +0000 |
---|---|---|
committer | Kilian Matt | 2011-01-20 15:44:55 +0000 |
commit | 1d094212644335939789becb2b8c36e471ce3e12 (patch) | |
tree | e039fa76249616f85be45bc48176cfad530e1aa2 /tbr | |
parent | 2ba191b5217e14fa96ee37e65bec1100b1ff14ce (diff) | |
download | org.eclipse.mylyn.reviews-1d094212644335939789becb2b8c36e471ce3e12.tar.gz org.eclipse.mylyn.reviews-1d094212644335939789becb2b8c36e471ce3e12.tar.xz org.eclipse.mylyn.reviews-1d094212644335939789becb2b8c36e471ce3e12.zip |
Updated DSL to cover updated scopes
-changed DSL
-adapted ReviewTaskMapper to add all additional items from changed scopes
Diffstat (limited to 'tbr')
2 files changed, 43 insertions, 11 deletions
diff --git a/tbr/org.eclipse.mylyn.reviews.tasks.core/src/org/eclipse/mylyn/reviews/tasks/core/internal/ReviewTaskMapper.java b/tbr/org.eclipse.mylyn.reviews.tasks.core/src/org/eclipse/mylyn/reviews/tasks/core/internal/ReviewTaskMapper.java index 1469576d3..8ab9c07f9 100644 --- a/tbr/org.eclipse.mylyn.reviews.tasks.core/src/org/eclipse/mylyn/reviews/tasks/core/internal/ReviewTaskMapper.java +++ b/tbr/org.eclipse.mylyn.reviews.tasks.core/src/org/eclipse/mylyn/reviews/tasks/core/internal/ReviewTaskMapper.java @@ -17,20 +17,22 @@ import org.eclipse.core.runtime.Assert; import org.eclipse.core.runtime.CoreException; import org.eclipse.mylyn.reviews.tasks.core.Attachment; import org.eclipse.mylyn.reviews.tasks.core.IReviewMapper; +import org.eclipse.mylyn.reviews.tasks.core.IReviewScopeItem; import org.eclipse.mylyn.reviews.tasks.core.ITaskProperties; import org.eclipse.mylyn.reviews.tasks.core.PatchScopeItem; import org.eclipse.mylyn.reviews.tasks.core.Rating; import org.eclipse.mylyn.reviews.tasks.core.ResourceScopeItem; import org.eclipse.mylyn.reviews.tasks.core.ReviewScope; -import org.eclipse.mylyn.reviews.tasks.core.IReviewScopeItem; import org.eclipse.mylyn.reviews.tasks.core.TaskComment; import org.eclipse.mylyn.reviews.tasks.dsl.parser.antlr.ReviewDslParser; import org.eclipse.mylyn.reviews.tasks.dsl.reviewDsl.AttachmentSource; +import org.eclipse.mylyn.reviews.tasks.dsl.reviewDsl.ChangedReviewScope; import org.eclipse.mylyn.reviews.tasks.dsl.reviewDsl.PatchDef; import org.eclipse.mylyn.reviews.tasks.dsl.reviewDsl.ResourceDef; import org.eclipse.mylyn.reviews.tasks.dsl.reviewDsl.ResultEnum; import org.eclipse.mylyn.reviews.tasks.dsl.reviewDsl.ReviewDslFactory; import org.eclipse.mylyn.reviews.tasks.dsl.reviewDsl.ReviewResult; +import org.eclipse.mylyn.reviews.tasks.dsl.reviewDsl.ReviewScopeItem; import org.eclipse.mylyn.reviews.tasks.dsl.reviewDsl.Source; import org.eclipse.xtext.parser.IParseResult; import org.eclipse.xtext.parsetree.reconstr.Serializer; @@ -83,7 +85,25 @@ public class ReviewTaskMapper implements IReviewMapper { org.eclipse.mylyn.reviews.tasks.dsl.reviewDsl.ReviewScope scope = (org.eclipse.mylyn.reviews.tasks.dsl.reviewDsl.ReviewScope) parsed .getRootASTElement(); - return mapReviewScope(properties, scope); + ReviewScope originalScope = mapReviewScope(properties, scope); + for(TaskComment comment : properties.getComments()) { + if(properties.getReporter().equals(comment.getAuthor())) { + parsed= parser.doParse(comment.getText()); + if(parsed.getRootASTElement() instanceof ChangedReviewScope) { + ChangedReviewScope changedScope=(ChangedReviewScope) parsed.getRootASTElement(); + applyChangedScope(properties, originalScope, changedScope); + } + } + } + return originalScope; + } + + private void applyChangedScope(ITaskProperties properties, ReviewScope originalScope, + ChangedReviewScope changedScope) throws CoreException { + for(ReviewScopeItem scope :changedScope.getScope()) { + IReviewScopeItem item = mapReviewScopeItem(properties, scope); + originalScope.addScope(item); + } } private ReviewScope mapReviewScope(ITaskProperties properties, @@ -96,18 +116,27 @@ public class ReviewTaskMapper implements IReviewMapper { mappedScope.setCreator(properties.getReporter()); for (org.eclipse.mylyn.reviews.tasks.dsl.reviewDsl.ReviewScopeItem s : scope .getScope()) { - if (s instanceof PatchDef) { - PatchScopeItem item = mapPatchDef(properties, mappedScope, (PatchDef) s); - mappedScope.addScope(item); - } else if (s instanceof ResourceDef) { - ResourceDef res = (ResourceDef) s; - ResourceScopeItem item = mapResourceDef(properties, res); + IReviewScopeItem item = mapReviewScopeItem(properties, s); + if(item!=null) { mappedScope.addScope(item); } } return mappedScope; } + private IReviewScopeItem mapReviewScopeItem(ITaskProperties properties, + org.eclipse.mylyn.reviews.tasks.dsl.reviewDsl.ReviewScopeItem s) + throws CoreException { + IReviewScopeItem item = null; + if (s instanceof PatchDef) { + item = mapPatchDef(properties, (PatchDef) s); + } else if (s instanceof ResourceDef) { + ResourceDef res = (ResourceDef) s; + item = mapResourceDef(properties, res); + } + return item; + } + private ResourceScopeItem mapResourceDef(ITaskProperties properties, ResourceDef res) throws CoreException { Source source = res.getSource(); @@ -118,8 +147,7 @@ public class ReviewTaskMapper implements IReviewMapper { return new ResourceScopeItem(att); } - private PatchScopeItem mapPatchDef(ITaskProperties properties, - ReviewScope mappedScope, PatchDef patch) throws CoreException { + private PatchScopeItem mapPatchDef(ITaskProperties properties, PatchDef patch) throws CoreException { Source source = patch.getSource(); Attachment att = null; if (source instanceof AttachmentSource) { diff --git a/tbr/org.eclipse.mylyn.reviews.tasks.dsl/src/org/eclipse/mylyn/reviews/tasks/dsl/ReviewDsl.xtext b/tbr/org.eclipse.mylyn.reviews.tasks.dsl/src/org/eclipse/mylyn/reviews/tasks/dsl/ReviewDsl.xtext index 1a3e41c6e..a6cdc67f9 100644 --- a/tbr/org.eclipse.mylyn.reviews.tasks.dsl/src/org/eclipse/mylyn/reviews/tasks/dsl/ReviewDsl.xtext +++ b/tbr/org.eclipse.mylyn.reviews.tasks.dsl/src/org/eclipse/mylyn/reviews/tasks/dsl/ReviewDsl.xtext @@ -3,7 +3,7 @@ grammar org.eclipse.mylyn.reviews.tasks.dsl.ReviewDsl with org.eclipse.xtext.com generate reviewDsl "http://www.eclipse.org/mylyn/reviews/tasks/dsl/ReviewDsl" Model: - ReviewResult | ReviewScope; + ReviewResult | ReviewScope | ChangedReviewScope; ReviewResult: "Review result:" result=ResultEnum @@ -26,6 +26,10 @@ ReviewScope: scope+=ReviewScopeItem )+; +ChangedReviewScope: + "Updated review scope:" + //(refines" (refineOriginal?="original scope"| ("scope from comment #" refineComment=INT)) ":" + (scope+=ReviewScopeItem)+; //ChangesetDef: // ("Changeset" revision=INT " from " repoType=ID url=STRING ); ReviewScopeItem: |