Handle nullness properly in some message/flow/poll code

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=127543268
This commit is contained in:
mcilwain 2016-07-15 08:39:25 -07:00 committed by Ben McIlwain
parent eed319990a
commit 71ab4a648b
7 changed files with 27 additions and 10 deletions

View file

@ -27,6 +27,7 @@ import google.registry.model.eppoutput.Result;
import java.util.Collections;
import java.util.HashSet;
import java.util.Set;
import javax.annotation.Nullable;
import org.joda.time.DateTime;
/**
@ -78,8 +79,8 @@ public abstract class Flow {
protected EppOutput createOutput(
Result.Code code,
ResponseData responseData,
ImmutableList<? extends ResponseExtension> extensions) {
@Nullable ResponseData responseData,
@Nullable ImmutableList<? extends ResponseExtension> extensions) {
return EppOutput.create(new EppResponse.Builder()
.setTrid(trid)
.setResult(Result.create(code))

View file

@ -25,6 +25,7 @@ import google.registry.model.eppoutput.EppOutput;
import google.registry.model.eppoutput.EppResponse.ResponseExtension;
import google.registry.model.eppoutput.Result.Code;
import java.util.Set;
import javax.annotation.Nullable;
/**
* An EPP flow that deletes an {@link EppResource}.
@ -58,6 +59,7 @@ public abstract class ResourceDeleteFlow<R extends EppResource, C extends Single
}
/** Subclasses can override this to return response extensions. */
@Nullable
protected ImmutableList<? extends ResponseExtension> getDeleteResponseExtensions() {
return null;
}

View file

@ -31,6 +31,7 @@ import google.registry.model.eppoutput.Result;
import google.registry.model.poll.MessageQueueInfo;
import google.registry.model.poll.PollMessage;
import java.util.List;
import javax.annotation.Nullable;
/** Base class of EPP Poll command flows. Mostly provides datastore helper methods. */
public abstract class PollFlow extends LoggedInFlow {
@ -74,8 +75,8 @@ public abstract class PollFlow extends LoggedInFlow {
protected EppOutput createOutput(
Result.Code code,
MessageQueueInfo messageQueueInfo,
ImmutableList<ResponseData> responseData,
ImmutableList<ResponseExtension> responseExtensions) {
@Nullable ImmutableList<ResponseData> responseData,
@Nullable ImmutableList<ResponseExtension> responseExtensions) {
return EppOutput.create(new EppResponse.Builder()
.setTrid(trid)
.setResult(Result.create(code))

View file

@ -47,6 +47,7 @@ import google.registry.model.poll.PendingActionNotificationResponse.ContactPendi
import google.registry.model.poll.PendingActionNotificationResponse.DomainPendingActionNotificationResponse;
import google.registry.model.transfer.TransferResponse.ContactTransferResponse;
import google.registry.model.transfer.TransferResponse.DomainTransferResponse;
import javax.annotation.Nullable;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlElementRef;
import javax.xml.bind.annotation.XmlElementRefs;
@ -187,12 +188,12 @@ public class EppResponse extends ImmutableObject implements ResponseOrGreeting {
return this;
}
public Builder setResData(ImmutableList<? extends ResponseData> resData) {
public Builder setResData(@Nullable ImmutableList<? extends ResponseData> resData) {
getInstance().resData = resData;
return this;
}
public Builder setExtensions(ImmutableList<? extends ResponseExtension> extensions) {
public Builder setExtensions(@Nullable ImmutableList<? extends ResponseExtension> extensions) {
getInstance().extensions = extensions;
return this;
}

View file

@ -14,7 +14,10 @@
package google.registry.model.poll;
import static com.google.common.base.Preconditions.checkNotNull;
import google.registry.model.ImmutableObject;
import javax.annotation.Nullable;
import javax.xml.bind.annotation.XmlAttribute;
import javax.xml.bind.annotation.XmlElement;
import org.joda.time.DateTime;
@ -54,15 +57,15 @@ public class MessageQueueInfo extends ImmutableObject {
}
public static MessageQueueInfo create(
DateTime queueDate,
String msg,
@Nullable DateTime queueDate,
@Nullable String msg,
Integer queueLength,
String messageId) {
MessageQueueInfo instance = new MessageQueueInfo();
instance.queueDate = queueDate;
instance.msg = msg;
instance.queueLength = queueLength;
instance.messageId = messageId;
instance.queueLength = checkNotNull(queueLength);
instance.messageId = checkNotNull(messageId);
return instance;
}
}