Fix NPE in GetHistoryEntriesCommand

The code was not checking the value returned by getTrid() to make sure it was
not null.

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=172384499
This commit is contained in:
mountford 2017-05-07 15:06:14 -04:00 committed by jianglai
parent 07240162a2
commit 108deb7f9d
3 changed files with 90 additions and 5 deletions

View file

@ -31,6 +31,7 @@ import google.registry.model.annotations.ReportedOn;
import google.registry.model.domain.Period;
import google.registry.model.eppcommon.Trid;
import java.util.Set;
import javax.annotation.Nullable;
import org.joda.time.DateTime;
/** A record of an EPP command that mutated a resource. */
@ -121,8 +122,8 @@ public class HistoryEntry extends ImmutableObject implements Buildable {
*/
String otherClientId;
/** Transaction id that made this change. */
Trid trid;
/** Transaction id that made this change, or null if the entry was not created by a flow. */
@Nullable Trid trid;
/** Whether this change was created by a superuser. */
boolean bySuperuser;
@ -170,7 +171,8 @@ public class HistoryEntry extends ImmutableObject implements Buildable {
return otherClientId;
}
public Trid getTrid() {
/** Returns the TRID, which may be null if the entry was not created by a normal flow. */
@Nullable public Trid getTrid() {
return trid;
}

View file

@ -77,8 +77,8 @@ final class GetHistoryEntriesCommand implements RemoteApiCommand {
"Client: %s\nTime: %s\nClient TRID: %s\nServer TRID: %s\n%s\n",
entry.getClientId(),
entry.getModificationTime(),
entry.getTrid().getClientTransactionId(),
entry.getTrid().getServerTransactionId(),
(entry.getTrid() == null) ? null : entry.getTrid().getClientTransactionId(),
(entry.getTrid() == null) ? null : entry.getTrid().getServerTransactionId(),
entry.getXmlBytes() == null
? String.format("[no XML stored for %s]\n", entry.getType())
: XmlTransformer.prettyPrint(entry.getXmlBytes()));