Skip to main content
summaryrefslogtreecommitdiffstats
path: root/tbr
diff options
context:
space:
mode:
authorKilian Matt2011-03-09 21:27:22 +0000
committerKilian Matt2011-03-09 21:27:22 +0000
commite4c27097b8e3b8ba00b731ff4d134e4e4cb71d94 (patch)
treec707828941548504745815b53979dc0fd084a4a6 /tbr
parent45beae1dac0ee69bffc6c3d8029e2c11c9fecf09 (diff)
downloadorg.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')
-rw-r--r--tbr/org.eclipse.mylyn.reviews.tasks.core/src/org/eclipse/mylyn/reviews/tasks/core/internal/ReviewTaskMapper.java4
-rw-r--r--tbr/org.eclipse.mylyn.reviews.tasks.dsl/src/org/eclipse/mylyn/reviews/tasks/dsl/internal/ReviewDslLexer.java5
-rw-r--r--tbr/org.eclipse.mylyn.reviews.tasks.dsl/src/org/eclipse/mylyn/reviews/tasks/dsl/internal/ReviewDslMapper.java77
-rw-r--r--tbr/org.eclipse.mylyn.reviews.tasks.dsl/src/org/eclipse/mylyn/reviews/tasks/dsl/internal/ReviewDslParser.java4
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

Back to the top