Fix NPE attempting to save draft comment with range
Change-Id: I0e3c734d7b6e232c6607a1768609a03ddaa6ea99
diff --git a/gerrit-reviewdb/src/main/java/com/google/gerrit/reviewdb/client/PatchLineComment.java b/gerrit-reviewdb/src/main/java/com/google/gerrit/reviewdb/client/PatchLineComment.java
index 52113da..8f867c6 100644
--- a/gerrit-reviewdb/src/main/java/com/google/gerrit/reviewdb/client/PatchLineComment.java
+++ b/gerrit-reviewdb/src/main/java/com/google/gerrit/reviewdb/client/PatchLineComment.java
@@ -215,6 +215,16 @@
parentUuid = inReplyTo;
}
+ public void setRange(Range r) {
+ if (r != null) {
+ range = new CommentRange(
+ r.startLine, r.startCharacter,
+ r.endLine, r.endCharacter);
+ } else {
+ range = null;
+ }
+ }
+
public void setRange(CommentRange r) {
range = r;
}
@@ -274,11 +284,4 @@
builder.append('}');
return builder.toString();
}
-
- public void fromRange(Range r) {
- range = r == null
- ? null
- : new CommentRange(range.startLine, range.startCharacter,
- range.endLine, range.endCharacter);
- }
}
diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/change/CreateDraft.java b/gerrit-server/src/main/java/com/google/gerrit/server/change/CreateDraft.java
index 72ecc3a..809621e 100644
--- a/gerrit-server/src/main/java/com/google/gerrit/server/change/CreateDraft.java
+++ b/gerrit-server/src/main/java/com/google/gerrit/server/change/CreateDraft.java
@@ -89,7 +89,7 @@
line, rsrc.getAccountId(), Url.decode(in.inReplyTo), now);
c.setSide(in.side == Side.PARENT ? (short) 0 : (short) 1);
c.setMessage(in.message.trim());
- c.fromRange(in.range);
+ c.setRange(in.range);
setCommentRevId(c, patchListCache, rsrc.getChange(), rsrc.getPatchSet());
plcUtil.insertComments(db.get(), update, Collections.singleton(c));
update.commit();
diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/change/PutDraft.java b/gerrit-server/src/main/java/com/google/gerrit/server/change/PutDraft.java
index 98f34d5..6888814 100644
--- a/gerrit-server/src/main/java/com/google/gerrit/server/change/PutDraft.java
+++ b/gerrit-server/src/main/java/com/google/gerrit/server/change/PutDraft.java
@@ -115,7 +115,7 @@
}
e.setMessage(in.message.trim());
if (in.range != null || in.line != null) {
- e.fromRange(in.range);
+ e.setRange(in.range);
e.setLine(in.range != null ? in.range.endLine : in.line);
}
e.setWrittenOn(TimeUtil.nowTs());