X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=third-party%2Fatomix%2Fstorage%2Fsrc%2Fmain%2Fjava%2Fio%2Fatomix%2Futils%2Fserializer%2FNamespace.java;h=6942ba27138a8274443ce925c1a62b01799ff9c1;hb=650b08e2767c28e99f03ffacd26c23a76ddd5338;hp=1d460f6532a8e981e50934ec3457bb72febf4bb6;hpb=4084cc147e2a22c0179f8b8eb82c8dde4d7ddbea;p=controller.git diff --git a/third-party/atomix/storage/src/main/java/io/atomix/utils/serializer/Namespace.java b/third-party/atomix/storage/src/main/java/io/atomix/utils/serializer/Namespace.java index 1d460f6532..6942ba2713 100644 --- a/third-party/atomix/storage/src/main/java/io/atomix/utils/serializer/Namespace.java +++ b/third-party/atomix/storage/src/main/java/io/atomix/utils/serializer/Namespace.java @@ -26,7 +26,6 @@ import com.esotericsoftware.kryo.pool.KryoPool; import com.esotericsoftware.kryo.serializers.CompatibleFieldSerializer; import com.google.common.base.MoreObjects; import com.google.common.collect.ImmutableList; -import org.apache.commons.lang3.tuple.Pair; import org.objenesis.strategy.StdInstantiatorStrategy; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -38,6 +37,8 @@ import java.nio.ByteBuffer; import java.util.ArrayList; import java.util.Arrays; import java.util.List; +import java.util.Map; +import java.util.Map.Entry; import java.util.Objects; import static java.util.Objects.requireNonNull; @@ -63,12 +64,12 @@ public final class Namespace implements KryoFactory, KryoPool { /** * ID to use if this KryoNamespace does not define registration id. */ - public static final int FLOATING_ID = -1; + private static final int FLOATING_ID = -1; /** * Smallest ID free to use for user defined registrations. */ - public static final int INITIAL_ID = 16; + private static final int INITIAL_ID = 16; static final String NO_NAME = "(no name)"; @@ -99,7 +100,7 @@ public final class Namespace implements KryoFactory, KryoPool { //@NotThreadSafe public static final class Builder { private int blockHeadId = INITIAL_ID; - private List[], Serializer>> types = new ArrayList<>(); + private List[], Serializer>> types = new ArrayList<>(); private List blocks = new ArrayList<>(); private ClassLoader classLoader = Thread.currentThread().getContextClassLoader(); private boolean registrationRequired = true; @@ -127,43 +128,6 @@ public final class Namespace implements KryoFactory, KryoPool { return new Namespace(blocks, classLoader, registrationRequired, compatible, friendlyName).populate(1); } - /** - * Sets the next Kryo registration Id for following register entries. - * - * @param id Kryo registration Id - * @return this - * @see Kryo#register(Class, Serializer, int) - */ - public Builder nextId(final int id) { - if (!types.isEmpty()) { - if (id != FLOATING_ID && id < blockHeadId + types.size()) { - - if (LOGGER.isWarnEnabled()) { - LOGGER.warn("requested nextId {} could potentially overlap " - + "with existing registrations {}+{} ", - id, blockHeadId, types.size(), new RuntimeException()); - } - } - blocks.add(new RegistrationBlock(this.blockHeadId, types)); - types = new ArrayList<>(); - } - this.blockHeadId = id; - return this; - } - - /** - * Registers classes to be serialized using Kryo default serializer. - * - * @param expectedTypes list of classes - * @return this - */ - public Builder register(final Class... expectedTypes) { - for (Class clazz : expectedTypes) { - types.add(Pair.of(new Class[]{clazz}, null)); - } - return this; - } - /** * Registers serializer for the given set of classes. *

@@ -175,7 +139,7 @@ public final class Namespace implements KryoFactory, KryoPool { * @return this */ public Builder register(Serializer serializer, final Class... classes) { - types.add(Pair.of(classes, requireNonNull(serializer))); + types.add(Map.entry(classes, serializer)); return this; } @@ -444,8 +408,8 @@ public final class Namespace implements KryoFactory, KryoPool { if (id == FLOATING_ID) { id = kryo.getNextRegistrationId(); } - for (Pair[], Serializer> entry : block.types()) { - register(kryo, entry.getLeft(), entry.getRight(), id++); + for (Entry[], Serializer> entry : block.types()) { + register(kryo, entry.getKey(), entry.getValue(), id++); } } return kryo; @@ -533,9 +497,9 @@ public final class Namespace implements KryoFactory, KryoPool { static final class RegistrationBlock { private final int begin; - private final ImmutableList[], Serializer>> types; + private final ImmutableList[], Serializer>> types; - RegistrationBlock(int begin, List[], Serializer>> types) { + RegistrationBlock(int begin, List[], Serializer>> types) { this.begin = begin; this.types = ImmutableList.copyOf(types); } @@ -544,7 +508,7 @@ public final class Namespace implements KryoFactory, KryoPool { return begin; } - public ImmutableList[], Serializer>> types() { + public ImmutableList[], Serializer>> types() { return types; }