X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?p=controller.git;a=blobdiff_plain;f=opendaylight%2Fmd-sal%2Fsal-remoterpc-connector%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fremote%2Frpc%2Fregistry%2Fgossip%2FBucketImpl.java;h=ade614b8d765ed23205d0565bbf0b428db484897;hp=4c4573d909491f0414d6bd00ebac5eb35a2c7b94;hb=d04b71990a802071a786fe8f0df57bc4adbdec3f;hpb=bfd413d87f82ee3ffed67a141a980805950a0f06 diff --git a/opendaylight/md-sal/sal-remoterpc-connector/src/main/java/org/opendaylight/controller/remote/rpc/registry/gossip/BucketImpl.java b/opendaylight/md-sal/sal-remoterpc-connector/src/main/java/org/opendaylight/controller/remote/rpc/registry/gossip/BucketImpl.java index 4c4573d909..ade614b8d7 100644 --- a/opendaylight/md-sal/sal-remoterpc-connector/src/main/java/org/opendaylight/controller/remote/rpc/registry/gossip/BucketImpl.java +++ b/opendaylight/md-sal/sal-remoterpc-connector/src/main/java/org/opendaylight/controller/remote/rpc/registry/gossip/BucketImpl.java @@ -7,35 +7,28 @@ */ package org.opendaylight.controller.remote.rpc.registry.gossip; +import com.google.common.base.Preconditions; +import com.google.common.base.Verify; import java.io.Serializable; -public class BucketImpl> implements Bucket, Serializable { +final class BucketImpl> implements Bucket, Serializable { private static final long serialVersionUID = 294779770032719196L; - private Long version = System.currentTimeMillis(); + // Guaranteed to be non-null. + // This is kept a Long for binary compatibility of serialization format. + private final Long version; - private T data; + // Guaranteed to be non-null + private final T data; - public BucketImpl() { - } - - public BucketImpl(T data) { - this.data = data; - } - - public BucketImpl(Bucket other) { - this.version = other.getVersion(); - this.data = other.getData(); - } - - public void setData(T data) { - this.data = data; - this.version = System.currentTimeMillis()+1; + BucketImpl(final Long version, final T data) { + this.version = Preconditions.checkNotNull(version); + this.data = Preconditions.checkNotNull(data); } @Override - public Long getVersion() { - return version; + public long getVersion() { + return version.longValue(); } @Override @@ -45,9 +38,12 @@ public class BucketImpl> implements Bucket, Serializable @Override public String toString() { - return "BucketImpl{" + - "version=" + version + - ", data=" + data + - '}'; + return "BucketImpl{" + "version=" + version + ", data=" + data + '}'; + } + + private Object readResolve() { + Verify.verifyNotNull(version); + Verify.verifyNotNull(data); + return this; } }