diff options
author | Kilian Matt | 2011-03-09 21:27:22 +0000 |
---|---|---|
committer | Kilian Matt | 2011-03-09 21:27:22 +0000 |
commit | e4c27097b8e3b8ba00b731ff4d134e4e4cb71d94 (patch) | |
tree | c707828941548504745815b53979dc0fd084a4a6 /tbr | |
parent | 45beae1dac0ee69bffc6c3d8029e2c11c9fecf09 (diff) | |
download | org.eclipse.mylyn.reviews-e4c27097b8e3b8ba00b731ff4d134e4e4cb71d94.tar.gz org.eclipse.mylyn.reviews-e4c27097b8e3b8ba00b731ff4d134e4e4cb71d94.tar.xz org.eclipse.mylyn.reviews-e4c27097b8e3b8ba00b731ff4d134e4e4cb71d94.zip |
ANTLR Dsl Cleanup
Ignore recognition errors from lexer/parser
Prevented NPE
Diffstat (limited to 'tbr')
4 files changed, 46 insertions, 44 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 75b03c6e4..45dff3685 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 @@ -114,15 +114,15 @@ public class ReviewTaskMapper implements IReviewMapper { public org.eclipse.mylyn.reviews.tasks.core.ReviewResult mapCurrentReviewResult( ITaskProperties taskProperties) { Assert.isNotNull(taskProperties); - if (taskProperties.getNewCommentText() == null) + if (taskProperties.getNewCommentText() == null || taskProperties.getNewCommentText().isEmpty()) return null; ReviewResult result = null; try { ReviewDslResult res = parser.parseReviewResult(taskProperties .getNewCommentText()); - result = new ReviewResult(); if (res == null) return null; + result = new ReviewResult(); result.setComment(res.getComment()); result.setRating(mapRating(res.getRating())); // FIXME filecomment, linecomment diff --git a/tbr/org.eclipse.mylyn.reviews.tasks.dsl/src/org/eclipse/mylyn/reviews/tasks/dsl/internal/ReviewDslLexer.java b/tbr/org.eclipse.mylyn.reviews.tasks.dsl/src/org/eclipse/mylyn/reviews/tasks/dsl/internal/ReviewDslLexer.java index 69cf5513f..6e041e406 100644 --- a/tbr/org.eclipse.mylyn.reviews.tasks.dsl/src/org/eclipse/mylyn/reviews/tasks/dsl/internal/ReviewDslLexer.java +++ b/tbr/org.eclipse.mylyn.reviews.tasks.dsl/src/org/eclipse/mylyn/reviews/tasks/dsl/internal/ReviewDslLexer.java @@ -61,6 +61,11 @@ public class ReviewDslLexer extends Lexer { super(input); } public String getGrammarFileName() { return "ReviewDsl.g"; } +@Override + + public void reportError(RecognitionException arg0) { + /* ignore */ + } // $ANTLR start T12 public final void mT12() throws RecognitionException { diff --git a/tbr/org.eclipse.mylyn.reviews.tasks.dsl/src/org/eclipse/mylyn/reviews/tasks/dsl/internal/ReviewDslMapper.java b/tbr/org.eclipse.mylyn.reviews.tasks.dsl/src/org/eclipse/mylyn/reviews/tasks/dsl/internal/ReviewDslMapper.java index 93fed7352..2f111f18e 100644 --- a/tbr/org.eclipse.mylyn.reviews.tasks.dsl/src/org/eclipse/mylyn/reviews/tasks/dsl/internal/ReviewDslMapper.java +++ b/tbr/org.eclipse.mylyn.reviews.tasks.dsl/src/org/eclipse/mylyn/reviews/tasks/dsl/internal/ReviewDslMapper.java @@ -19,14 +19,13 @@ import org.antlr.runtime.tree.TreeAdaptor; import org.eclipse.mylyn.reviews.tasks.dsl.IReviewDslMapper; import org.eclipse.mylyn.reviews.tasks.dsl.ParseException; import org.eclipse.mylyn.reviews.tasks.dsl.ReviewDslAttachmentScopeItem; +import org.eclipse.mylyn.reviews.tasks.dsl.ReviewDslAttachmentScopeItem.Type; import org.eclipse.mylyn.reviews.tasks.dsl.ReviewDslChangesetScopeItem; import org.eclipse.mylyn.reviews.tasks.dsl.ReviewDslResult; -import org.eclipse.mylyn.reviews.tasks.dsl.ReviewDslAttachmentScopeItem.Type; import org.eclipse.mylyn.reviews.tasks.dsl.ReviewDslResult.FileComment; import org.eclipse.mylyn.reviews.tasks.dsl.ReviewDslResult.LineComment; import org.eclipse.mylyn.reviews.tasks.dsl.ReviewDslResult.Rating; import org.eclipse.mylyn.reviews.tasks.dsl.ReviewDslScope; -import org.eclipse.mylyn.reviews.tasks.dsl.ReviewDslScopeItem; import org.eclipse.mylyn.reviews.tasks.dsl.internal.ReviewDslParser.attachmentSource_return; import org.eclipse.mylyn.reviews.tasks.dsl.internal.ReviewDslParser.changesetDef_return; import org.eclipse.mylyn.reviews.tasks.dsl.internal.ReviewDslParser.fileComment_return; @@ -39,12 +38,15 @@ import org.eclipse.mylyn.reviews.tasks.dsl.internal.ReviewDslParser.reviewScope_ /** * * @author mattk - * + * */ public class ReviewDslMapper implements IReviewDslMapper { - /* (non-Javadoc) - * @see org.eclipse.mylyn.reviews.tasks.dsl.internal.IReviewDslMapper#parseReviewResult(java.lang.String) + /* + * (non-Javadoc) + * + * @see org.eclipse.mylyn.reviews.tasks.dsl.internal.IReviewDslMapper# + * parseReviewResult(java.lang.String) */ @Override public ReviewDslResult parseReviewResult(String text) throws ParseException { @@ -52,25 +54,30 @@ public class ReviewDslMapper implements IReviewDslMapper { TokenStream input = new CommonTokenStream(lexer); ReviewDslParser parser = new ReviewDslParser(input); try { - return mapResult(parser.reviewResult(), parser.getTreeAdaptor()); - } catch (RecognitionException e) { + return mapResult(parser.reviewResult()); + } catch (Exception e) { throw new ParseException(e.getMessage()); } } - private ReviewDslResult mapResult(reviewResult_return reviewResult, - TreeAdaptor treeAdaptor) { - ReviewDslResult result = new ReviewDslResult(); - - result.setRating(Rating.valueOf(reviewResult.result)); - result.setComment(convertStr(reviewResult.comment)); - if (reviewResult.fileComments != null) { - for (int i = 0; i < reviewResult.fileComments.size(); i++) { - fileComment_return fc = (fileComment_return) reviewResult.fileComments - .get(i); - result.getFileComments().add(map(fc)); + private ReviewDslResult mapResult(reviewResult_return reviewResult) { + ReviewDslResult result = null; + try { + result = new ReviewDslResult(); + result.setRating(Rating.valueOf(reviewResult.result)); + result.setComment(convertStr(reviewResult.comment)); + if (reviewResult.fileComments != null) { + for (int i = 0; i < reviewResult.fileComments.size(); i++) { + fileComment_return fc = (fileComment_return) reviewResult.fileComments + .get(i); + result.getFileComments().add(map(fc)); + } + } + if(result.getRating()==null && result.getComment()==null && result.getFileComments().size()==0) { + return null; } + } catch (Exception ex) { } return result; } @@ -114,8 +121,11 @@ public class ReviewDslMapper implements IReviewDslMapper { return string.substring(startIdx, endIdx); } - /* (non-Javadoc) - * @see org.eclipse.mylyn.reviews.tasks.dsl.internal.IReviewDslMapper#parseReviewScope(java.lang.String) + /* + * (non-Javadoc) + * + * @see org.eclipse.mylyn.reviews.tasks.dsl.internal.IReviewDslMapper# + * parseReviewScope(java.lang.String) */ @Override public ReviewDslScope parseReviewScope(String text) throws ParseException { @@ -161,27 +171,24 @@ public class ReviewDslMapper implements IReviewDslMapper { private ReviewDslAttachmentScopeItem parseResource( resourceDef_return child, TreeAdaptor treeAdaptor) { - AttachmentSource source = parseAttachmentSource( - (attachmentSource_return) child.source); + AttachmentSource source = parseAttachmentSource((attachmentSource_return) child.source); return new ReviewDslAttachmentScopeItem(Type.RESOURCE, source.fileName, source.author, source.createdDate, source.taskId); } private ReviewDslAttachmentScopeItem parsePatch(patchDef_return child, TreeAdaptor treeAdaptor) { - - AttachmentSource source = parseAttachmentSource( - (attachmentSource_return) child.source); + + AttachmentSource source = parseAttachmentSource((attachmentSource_return) child.source); return new ReviewDslAttachmentScopeItem(Type.PATCH, source.fileName, source.author, source.createdDate, source.taskId); } - private AttachmentSource parseAttachmentSource( - attachmentSource_return child) { + private AttachmentSource parseAttachmentSource(attachmentSource_return child) { AttachmentSource source = new AttachmentSource(); source.fileName = convertStr(child.filename); source.author = convertStr(child.author); - source.createdDate =convertStr(child.createdDate); + source.createdDate = convertStr(child.createdDate); source.taskId = convertStr(child.taskId); return source; } @@ -193,20 +200,6 @@ public class ReviewDslMapper implements IReviewDslMapper { public String taskId; } - public static void main(String[] args) throws Exception { - // String text = "Review result: TODO Comment: \"test\""; - String text = "Review scope: Patch from Attachment \"0001-Extension-point-for-scm-connector-defined-jaxb-model.patch\" by \"Jane@inso.tuwien.ac.at\" on \"2010-06-25 17:42:00\" of task 85"; - IReviewDslMapper reviewDslMapper = new ReviewDslMapper(); - ReviewDslScope parseReviewScope = reviewDslMapper - .parseReviewScope(text); - - if (parseReviewScope != null) { - for (ReviewDslScopeItem item : parseReviewScope.getItems()) { - System.err.println(item); - } - } - } - @Override public ReviewDslResult parseChangedReviewScope(String text) { // TODO Auto-generated method stub diff --git a/tbr/org.eclipse.mylyn.reviews.tasks.dsl/src/org/eclipse/mylyn/reviews/tasks/dsl/internal/ReviewDslParser.java b/tbr/org.eclipse.mylyn.reviews.tasks.dsl/src/org/eclipse/mylyn/reviews/tasks/dsl/internal/ReviewDslParser.java index 5291ed392..2646a22a0 100644 --- a/tbr/org.eclipse.mylyn.reviews.tasks.dsl/src/org/eclipse/mylyn/reviews/tasks/dsl/internal/ReviewDslParser.java +++ b/tbr/org.eclipse.mylyn.reviews.tasks.dsl/src/org/eclipse/mylyn/reviews/tasks/dsl/internal/ReviewDslParser.java @@ -1151,4 +1151,8 @@ public class ReviewDslParser extends Parser { public static final BitSet FOLLOW_set_in_taskIdDef0 = new BitSet( new long[] { 0x0000000000000002L }); + @Override + public void reportError(RecognitionException arg0) { + /* */ + } }
\ No newline at end of file |