Code Review
/
controller.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
review
|
tree
raw
|
inline
| side by side
BUG-7556: update version tracking
[controller.git]
/
opendaylight
/
md-sal
/
sal-remoterpc-connector
/
src
/
main
/
java
/
org
/
opendaylight
/
controller
/
remote
/
rpc
/
registry
/
gossip
/
BucketImpl.java
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 01c77f1f085823928c91dc1feb451ad6a2158c0d..ade614b8d765ed23205d0565bbf0b428db484897 100644
(file)
--- 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,38
+7,43
@@
*/
package org.opendaylight.controller.remote.rpc.registry.gossip;
*/
package org.opendaylight.controller.remote.rpc.registry.gossip;
+import com.google.common.base.Preconditions;
+import com.google.common.base.Verify;
import java.io.Serializable;
import java.io.Serializable;
-
public class BucketImpl<T extends Copier
<T>> implements Bucket<T>, Serializable {
- private static final long serialVersionUID =
1
L;
+
final class BucketImpl<T extends BucketData
<T>> implements Bucket<T>, Serializable {
+ private static final long serialVersionUID =
294779770032719196
L;
- 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;
- @Override
- public Long getVersion() {
-
return version
;
+ BucketImpl(final Long version, final T data) {
+ this.version = Preconditions.checkNotNull(version);
+
this.data = Preconditions.checkNotNull(data)
;
}
@Override
}
@Override
- public T getData() {
- if (this.data == null)
- return null;
-
- return data.copy();
+ public long getVersion() {
+ return version.longValue();
}
}
- public void setData(T data){
- this.version = System.currentTimeMillis()+1;
-
this.data =
data;
+ @Override
+ public T getData() {
+
return
data;
}
@Override
public String toString() {
}
@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;
}
}
}
}