X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?p=controller.git;a=blobdiff_plain;f=opendaylight%2Fmd-sal%2Fsal-clustering-commons%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fcluster%2Fdatastore%2Fnode%2Futils%2Fstream%2FAbstractLithiumDataOutput.java;h=2c3d0959a48b81b88d788d46ca0b8b34697f7023;hp=73a4bf78fe536200b759e97ee7c5a8e6fa1c7916;hb=77e52504cf30dd68a27273d5088427f43b0eda03;hpb=68f179dcd8483dd7f681e134268a1eee29d09d55 diff --git a/opendaylight/md-sal/sal-clustering-commons/src/main/java/org/opendaylight/controller/cluster/datastore/node/utils/stream/AbstractLithiumDataOutput.java b/opendaylight/md-sal/sal-clustering-commons/src/main/java/org/opendaylight/controller/cluster/datastore/node/utils/stream/AbstractLithiumDataOutput.java index 73a4bf78fe..2c3d0959a4 100644 --- a/opendaylight/md-sal/sal-clustering-commons/src/main/java/org/opendaylight/controller/cluster/datastore/node/utils/stream/AbstractLithiumDataOutput.java +++ b/opendaylight/md-sal/sal-clustering-commons/src/main/java/org/opendaylight/controller/cluster/datastore/node/utils/stream/AbstractLithiumDataOutput.java @@ -7,6 +7,7 @@ */ package org.opendaylight.controller.cluster.datastore.node.utils.stream; +import static com.google.common.base.Verify.verifyNotNull; import static java.util.Objects.requireNonNull; import com.google.common.annotations.VisibleForTesting; @@ -18,7 +19,9 @@ import java.math.BigInteger; import java.nio.charset.StandardCharsets; import java.util.HashMap; import java.util.Map; +import java.util.Optional; import java.util.Set; +import org.eclipse.jdt.annotation.NonNull; import org.opendaylight.yangtools.yang.common.Empty; import org.opendaylight.yangtools.yang.common.QName; import org.opendaylight.yangtools.yang.common.QNameModule; @@ -112,23 +115,24 @@ abstract class AbstractLithiumDataOutput extends AbstractNormalizedNodeDataOutpu final void defaultWriteModule(final QNameModule module) throws IOException { writeString(module.getNamespace().toString()); - writeString(module.getRevision().map(Revision::toString).orElse(null)); + final Optional revision = module.getRevision(); + if (revision.isPresent()) { + writeString(revision.get().toString()); + } else { + writeByte(TokenTypes.IS_NULL_VALUE); + } } @Override - protected final void writeString(final String string) throws IOException { - if (string != null) { - final Integer value = stringCodeMap.get(string); - if (value == null) { - stringCodeMap.put(string, stringCodeMap.size()); - writeByte(TokenTypes.IS_STRING_VALUE); - writeUTF(string); - } else { - writeByte(TokenTypes.IS_CODE_VALUE); - writeInt(value); - } + protected final void writeString(final @NonNull String string) throws IOException { + final Integer value = stringCodeMap.get(verifyNotNull(string)); + if (value == null) { + stringCodeMap.put(string, stringCodeMap.size()); + writeByte(TokenTypes.IS_STRING_VALUE); + writeUTF(string); } else { - writeByte(TokenTypes.IS_NULL_VALUE); + writeByte(TokenTypes.IS_CODE_VALUE); + writeInt(value); } }