Java 类com.esotericsoftware.kryo.serializers.MapSerializer 实例源码

项目:jsflight    文件:Http2JMeter.java   
/**
 * Just to test IdGeneration Recording
 * @param file
 * @return
 * @throws Exception
 */
public List<IdRecordInfo> getIdRecords(String file) throws Exception
{
    List<IdRecordInfo> infos = new ArrayList<>();
    FastInput input = new FastInput(new FileInputStream(file));
    Kryo kryo = new Kryo();
    kryo.register(HashMap.class, new MapSerializer());

    while (input.available() > 0)
    {
        InternalEventRecorder.InternalEventRecord record = kryo.readObject(input,
                InternalEventRecorder.InternalEventRecord.class);
        String tag = new String(record.tag).trim();
        if (tag.equalsIgnoreCase(IdRecordInfo.ID_RECORD_TAG))
        {
            infos.add((IdRecordInfo)record.data);
        }
    }

    return infos;
}
项目:kryo-mavenized    文件:MapSerializerTest.java   
public void testMaps () {
    kryo.register(HashMap.class);
    kryo.register(LinkedHashMap.class);
    HashMap map = new HashMap();
    map.put("123", "456");
    map.put("789", "abc");
    roundTrip(18, 21, map);
    roundTrip(2, 5, new LinkedHashMap());
    roundTrip(18, 21, new LinkedHashMap(map));

    MapSerializer serializer = new MapSerializer();
    kryo.register(HashMap.class, serializer);
    kryo.register(LinkedHashMap.class, serializer);
    serializer.setKeyClass(String.class, kryo.getSerializer(String.class));
    serializer.setKeysCanBeNull(false);
    serializer.setValueClass(String.class, kryo.getSerializer(String.class));
    roundTrip(14, 17, map);
    serializer.setValuesCanBeNull(false);
    roundTrip(14, 17, map);
}
项目:kryo-mavenized    文件:MapSerializerTest.java   
private void execute (Map<Object, Object> map, int inserts) {
    Random random = new Random();
    for (int i = 0; i < inserts; i++)
        map.put(random.nextLong(), random.nextBoolean());

    Kryo kryo = new Kryo();
    kryo.register(HashMap.class, new MapSerializer());
    kryo.register(ConcurrentHashMap.class, new MapSerializer());

    Output output = new Output(2048, -1);
    kryo.writeClassAndObject(output, map);
    output.close();

    Input input = new Input(output.toBytes());
    Object deserialized = kryo.readClassAndObject(input);
    input.close();

    Assert.assertEquals(map, deserialized);
}
项目:onos    文件:AnnotationsSerializer.java   
/**
 * Returns a MapSerializer for {@code Map<String, String>} with
 * no null key or value.
 *
 * @return serializer
 */
private static MapSerializer stringMapSerializer() {
    MapSerializer serializer = new MapSerializer();
    serializer.setKeysCanBeNull(false);
    serializer.setKeyClass(String.class, STR_SERIALIZER);
    serializer.setValuesCanBeNull(false);
    serializer.setValueClass(String.class, STR_SERIALIZER);
    return serializer;
}
项目:jsflight    文件:Http2JMeter.java   
public List<RestoredRequest> getRequests(String file, int limit) throws IOException
{
    List<RestoredRequest> requests = new ArrayList<>();
    FastInput input = new FastInput(new FileInputStream(file));

    Kryo kryo = new Kryo();
    kryo.register(HashMap.class, new MapSerializer());
    while (input.available() > 0)
    {
        InternalEventRecorder.InternalEventRecord record = kryo.readObject(input,
                InternalEventRecorder.InternalEventRecord.class);

        String tag = new String(record.tag).trim();

        if (tag.equalsIgnoreCase(HttpRecorderHelper.HTTP_RECORDER_TAG))
        {
            HttpRecordInformation information = (HttpRecordInformation)record.data;
            RestoredRequest request = new RestoredRequest();

            if (information.params != null && information.params.length > 0)
            {
                FastInput paramsInput = new FastInput(new ByteArrayInputStream(information.params));

                request.parameters = kryo.readObject(paramsInput, HashMap.class);
                request.headers = kryo.readObject(paramsInput, HashMap.class);
                request.contentLength = kryo.readObjectOrNull(paramsInput, Integer.class);
                request.contentType = kryo.readObjectOrNull(paramsInput, String.class);
                request.uri = kryo.readObjectOrNull(paramsInput, String.class);
                request.method = kryo.readObjectOrNull(paramsInput, String.class);
                request.contextPath = kryo.readObjectOrNull(paramsInput, String.class);
                request.cookies = kryo.readObject(paramsInput, HashMap.class);
            }
            if (information.payload != null && information.payload.length > 0)
            {
                request.payload = new String(information.payload);
            }

            request.additional = information.additional;
            request.timestampNs = record.timestampNs;

            if (limit > 0 && requests.size() >= limit)
            {
                break;
            }
            requests.add(request);
        }
    }
    return requests;
}
项目:jsflight    文件:HttpRecorderHelper.java   
public static RecordableHttpServletRequest prepareRequestToRecord(HttpServletRequest original,
        HttpRecordInformation info)
{
    // buffer is 1kb at least
    ByteArrayOutputStream stream = new ByteArrayOutputStream(1024 * 1024);

    FastOutput out = new FastOutput(stream);
    Kryo kryo = threadKryo.get();
    if (kryo == null)
    {
        kryo = new Kryo();
        kryo.register(HashMap.class, new MapSerializer());
        kryo.register(ConcurrentHashMap.class, new MapSerializer());
        threadKryo.set(kryo);
    }
    HashMap<String, String[]> item = new HashMap<>();
    if (original.getParameterMap() != null)
    {
        item.putAll(original.getParameterMap());
    }

    HashMap<String, String> headers = new HashMap<>();
    Enumeration<String> names = original.getHeaderNames();
    while (names.hasMoreElements())
    {
        String header = names.nextElement();
        headers.put(header, original.getHeader(header));
    }
    try
    {
        kryo.writeObject(out, item);

        kryo.writeObject(out, headers);

        kryo.writeObjectOrNull(out, original.getContentLength(), Integer.class);

        kryo.writeObjectOrNull(out, original.getContentType(), String.class);

        kryo.writeObjectOrNull(out, original.getRequestURI(), String.class);

        kryo.writeObjectOrNull(out, original.getMethod(), String.class);
        kryo.writeObjectOrNull(out, original.getServletContext().getContextPath(), String.class);

        HashMap<String, String> cookies = new HashMap<>();
        if (original.getCookies() != null && original.getCookies().length > 0)
        {
            for (Cookie cookie : original.getCookies())
            {
                cookies.put(cookie.getName(), cookie.getValue());
            }
        }

        kryo.writeObject(out, cookies);
        out.flush();
        out.close();

    }
    catch (Exception e)
    {
        e.printStackTrace(System.err);
        throw e;
    }

    info.params = stream.toByteArray();
    return new RecordableHttpServletRequest(original);
}
项目:EsperDist    文件:Kryo.java   
/** @param referenceResolver May be null to disable references. */
public Kryo (ClassResolver classResolver, ReferenceResolver referenceResolver, StreamFactory streamFactory) {
    if (classResolver == null) throw new IllegalArgumentException("classResolver cannot be null.");

    this.classResolver = classResolver;
    classResolver.setKryo(this);

    this.streamFactory = streamFactory;
    streamFactory.setKryo(this);

    this.referenceResolver = referenceResolver;
    if (referenceResolver != null) {
        referenceResolver.setKryo(this);
        references = true;
    }

    addDefaultSerializer(byte[].class, ByteArraySerializer.class);
    addDefaultSerializer(char[].class, CharArraySerializer.class);
    addDefaultSerializer(short[].class, ShortArraySerializer.class);
    addDefaultSerializer(int[].class, IntArraySerializer.class);
    addDefaultSerializer(long[].class, LongArraySerializer.class);
    addDefaultSerializer(float[].class, FloatArraySerializer.class);
    addDefaultSerializer(double[].class, DoubleArraySerializer.class);
    addDefaultSerializer(boolean[].class, BooleanArraySerializer.class);
    addDefaultSerializer(String[].class, StringArraySerializer.class);
    addDefaultSerializer(Object[].class, ObjectArraySerializer.class);
    addDefaultSerializer(KryoSerializable.class, KryoSerializableSerializer.class);
    addDefaultSerializer(BigInteger.class, BigIntegerSerializer.class);
    addDefaultSerializer(BigDecimal.class, BigDecimalSerializer.class);
    addDefaultSerializer(Class.class, ClassSerializer.class);
    addDefaultSerializer(Date.class, DateSerializer.class);
    addDefaultSerializer(Enum.class, EnumSerializer.class);
    addDefaultSerializer(EnumSet.class, EnumSetSerializer.class);
    addDefaultSerializer(Currency.class, CurrencySerializer.class);
    addDefaultSerializer(StringBuffer.class, StringBufferSerializer.class);
    addDefaultSerializer(StringBuilder.class, StringBuilderSerializer.class);
    addDefaultSerializer(Collections.EMPTY_LIST.getClass(), CollectionsEmptyListSerializer.class);
    addDefaultSerializer(Collections.EMPTY_MAP.getClass(), CollectionsEmptyMapSerializer.class);
    addDefaultSerializer(Collections.EMPTY_SET.getClass(), CollectionsEmptySetSerializer.class);
    addDefaultSerializer(Collections.singletonList(null).getClass(), CollectionsSingletonListSerializer.class);
    addDefaultSerializer(Collections.singletonMap(null, null).getClass(), CollectionsSingletonMapSerializer.class);
    addDefaultSerializer(Collections.singleton(null).getClass(), CollectionsSingletonSetSerializer.class);
    addDefaultSerializer(TreeSet.class, TreeSetSerializer.class);
    addDefaultSerializer(Collection.class, CollectionSerializer.class);
    addDefaultSerializer(TreeMap.class, TreeMapSerializer.class);
    addDefaultSerializer(Map.class, MapSerializer.class);
    addDefaultSerializer(TimeZone.class, TimeZoneSerializer.class);
    addDefaultSerializer(Calendar.class, CalendarSerializer.class);
    addDefaultSerializer(Locale.class, LocaleSerializer.class);
    lowPriorityDefaultSerializerCount = defaultSerializers.size();

    // Primitives and string. Primitive wrappers automatically use the same registration as primitives.
    register(int.class, new IntSerializer());
    register(String.class, new StringSerializer());
    register(float.class, new FloatSerializer());
    register(boolean.class, new BooleanSerializer());
    register(byte.class, new ByteSerializer());
    register(char.class, new CharSerializer());
    register(short.class, new ShortSerializer());
    register(long.class, new LongSerializer());
    register(double.class, new DoubleSerializer());
    register(void.class, new VoidSerializer());

    // Lambdas support
    // Enable only if JVM supports it
    try {
        String version = System.getProperty("java.version");
        char minor = version.charAt(2);
        if (minor >= '8') {
            register(Class.forName("java.lang.invoke.SerializedLambda"));
            register(Closure.class, (Serializer)Class.forName("com.esotericsoftware.kryo.serializers.ClosureSerializer")
                .newInstance());
        }
    } catch (Exception e) {
        Log.trace("Serialization of Java8 lambdas is not available on this system.");
    }
}
项目:EsperDist    文件:Kryo.java   
/** @param referenceResolver May be null to disable references. */
public Kryo (ClassResolver classResolver, ReferenceResolver referenceResolver, StreamFactory streamFactory) {
    if (classResolver == null) throw new IllegalArgumentException("classResolver cannot be null.");

    this.classResolver = classResolver;
    classResolver.setKryo(this);

    this.streamFactory = streamFactory;
    streamFactory.setKryo(this);

    this.referenceResolver = referenceResolver;
    if (referenceResolver != null) {
        referenceResolver.setKryo(this);
        references = true;
    }

    addDefaultSerializer(byte[].class, ByteArraySerializer.class);
    addDefaultSerializer(char[].class, CharArraySerializer.class);
    addDefaultSerializer(short[].class, ShortArraySerializer.class);
    addDefaultSerializer(int[].class, IntArraySerializer.class);
    addDefaultSerializer(long[].class, LongArraySerializer.class);
    addDefaultSerializer(float[].class, FloatArraySerializer.class);
    addDefaultSerializer(double[].class, DoubleArraySerializer.class);
    addDefaultSerializer(boolean[].class, BooleanArraySerializer.class);
    addDefaultSerializer(String[].class, StringArraySerializer.class);
    addDefaultSerializer(Object[].class, ObjectArraySerializer.class);
    addDefaultSerializer(KryoSerializable.class, KryoSerializableSerializer.class);
    addDefaultSerializer(BigInteger.class, BigIntegerSerializer.class);
    addDefaultSerializer(BigDecimal.class, BigDecimalSerializer.class);
    addDefaultSerializer(Class.class, ClassSerializer.class);
    addDefaultSerializer(Date.class, DateSerializer.class);
    addDefaultSerializer(Enum.class, EnumSerializer.class);
    addDefaultSerializer(EnumSet.class, EnumSetSerializer.class);
    addDefaultSerializer(Currency.class, CurrencySerializer.class);
    addDefaultSerializer(StringBuffer.class, StringBufferSerializer.class);
    addDefaultSerializer(StringBuilder.class, StringBuilderSerializer.class);
    addDefaultSerializer(Collections.EMPTY_LIST.getClass(), CollectionsEmptyListSerializer.class);
    addDefaultSerializer(Collections.EMPTY_MAP.getClass(), CollectionsEmptyMapSerializer.class);
    addDefaultSerializer(Collections.EMPTY_SET.getClass(), CollectionsEmptySetSerializer.class);
    addDefaultSerializer(Collections.singletonList(null).getClass(), CollectionsSingletonListSerializer.class);
    addDefaultSerializer(Collections.singletonMap(null, null).getClass(), CollectionsSingletonMapSerializer.class);
    addDefaultSerializer(Collections.singleton(null).getClass(), CollectionsSingletonSetSerializer.class);
    addDefaultSerializer(TreeSet.class, TreeSetSerializer.class);
    addDefaultSerializer(Collection.class, CollectionSerializer.class);
    addDefaultSerializer(TreeMap.class, TreeMapSerializer.class);
    addDefaultSerializer(Map.class, MapSerializer.class);
    addDefaultSerializer(TimeZone.class, TimeZoneSerializer.class);
    addDefaultSerializer(Calendar.class, CalendarSerializer.class);
    addDefaultSerializer(Locale.class, LocaleSerializer.class);
    lowPriorityDefaultSerializerCount = defaultSerializers.size();

    // Primitives and string. Primitive wrappers automatically use the same registration as primitives.
    register(int.class, new IntSerializer());
    register(String.class, new StringSerializer());
    register(float.class, new FloatSerializer());
    register(boolean.class, new BooleanSerializer());
    register(byte.class, new ByteSerializer());
    register(char.class, new CharSerializer());
    register(short.class, new ShortSerializer());
    register(long.class, new LongSerializer());
    register(double.class, new DoubleSerializer());
    register(void.class, new VoidSerializer());
}
项目:JourneyPlanner    文件:Kryo.java   
/** @param referenceResolver May be null to disable references. */
public Kryo (ClassResolver classResolver, ReferenceResolver referenceResolver, StreamFactory streamFactory) {
    if (classResolver == null) throw new IllegalArgumentException("classResolver cannot be null.");

    this.classResolver = classResolver;
    classResolver.setKryo(this);

    this.streamFactory = streamFactory;
    streamFactory.setKryo(this);

    this.referenceResolver = referenceResolver;
    if (referenceResolver != null) {
        referenceResolver.setKryo(this);
        references = true;
    }

    addDefaultSerializer(byte[].class, ByteArraySerializer.class);
    addDefaultSerializer(char[].class, CharArraySerializer.class);
    addDefaultSerializer(short[].class, ShortArraySerializer.class);
    addDefaultSerializer(int[].class, IntArraySerializer.class);
    addDefaultSerializer(long[].class, LongArraySerializer.class);
    addDefaultSerializer(float[].class, FloatArraySerializer.class);
    addDefaultSerializer(double[].class, DoubleArraySerializer.class);
    addDefaultSerializer(boolean[].class, BooleanArraySerializer.class);
    addDefaultSerializer(String[].class, StringArraySerializer.class);
    addDefaultSerializer(Object[].class, ObjectArraySerializer.class);
    addDefaultSerializer(KryoSerializable.class, KryoSerializableSerializer.class);
    addDefaultSerializer(BigInteger.class, BigIntegerSerializer.class);
    addDefaultSerializer(BigDecimal.class, BigDecimalSerializer.class);
    addDefaultSerializer(Class.class, ClassSerializer.class);
    addDefaultSerializer(Date.class, DateSerializer.class);
    addDefaultSerializer(Enum.class, EnumSerializer.class);
    addDefaultSerializer(EnumSet.class, EnumSetSerializer.class);
    addDefaultSerializer(Currency.class, CurrencySerializer.class);
    addDefaultSerializer(StringBuffer.class, StringBufferSerializer.class);
    addDefaultSerializer(StringBuilder.class, StringBuilderSerializer.class);
    addDefaultSerializer(Collections.EMPTY_LIST.getClass(), CollectionsEmptyListSerializer.class);
    addDefaultSerializer(Collections.EMPTY_MAP.getClass(), CollectionsEmptyMapSerializer.class);
    addDefaultSerializer(Collections.EMPTY_SET.getClass(), CollectionsEmptySetSerializer.class);
    addDefaultSerializer(Collections.singletonList(null).getClass(), CollectionsSingletonListSerializer.class);
    addDefaultSerializer(Collections.singletonMap(null, null).getClass(), CollectionsSingletonMapSerializer.class);
    addDefaultSerializer(Collections.singleton(null).getClass(), CollectionsSingletonSetSerializer.class);
    addDefaultSerializer(TreeSet.class, TreeSetSerializer.class);
    addDefaultSerializer(Collection.class, CollectionSerializer.class);
    addDefaultSerializer(TreeMap.class, TreeMapSerializer.class);
    addDefaultSerializer(Map.class, MapSerializer.class);
    addDefaultSerializer(TimeZone.class, TimeZoneSerializer.class);
    addDefaultSerializer(Calendar.class, CalendarSerializer.class);
    addDefaultSerializer(Locale.class, LocaleSerializer.class);
    lowPriorityDefaultSerializerCount = defaultSerializers.size();

    // Primitives and string. Primitive wrappers automatically use the same registration as primitives.
    register(int.class, new IntSerializer());
    register(String.class, new StringSerializer());
    register(float.class, new FloatSerializer());
    register(boolean.class, new BooleanSerializer());
    register(byte.class, new ByteSerializer());
    register(char.class, new CharSerializer());
    register(short.class, new ShortSerializer());
    register(long.class, new LongSerializer());
    register(double.class, new DoubleSerializer());
    register(void.class, new VoidSerializer());

    // Lambdas support
    // Enable only if JVM supports it
    try {
        String version = System.getProperty("java.version");
        char minor = version.charAt(2);
        if (minor >= '8') {
            register(Class.forName("java.lang.invoke.SerializedLambda"));
            register(Closure.class, (Serializer)Class.forName("com.esotericsoftware.kryo.serializers.ClosureSerializer")
                .newInstance());
        }
    } catch (Exception e) {
        Log.trace("Serialization of Java8 lambdas is not available on this system.");
    }
}
项目:Test_Projects    文件:HbaseReadTimeSeries.java   
public SentinelEventDecoder() {
    kryo = new Kryo();
    kryo.register(HashMap.class, new MapSerializer());
}
项目:kryo-mavenized    文件:Kryo.java   
/** @param referenceResolver May be null to disable references. */
public Kryo (ClassResolver classResolver, ReferenceResolver referenceResolver, StreamFactory streamFactory) {
    if (classResolver == null) throw new IllegalArgumentException("classResolver cannot be null.");

    this.classResolver = classResolver;
    classResolver.setKryo(this);

    this.streamFactory = streamFactory;
    streamFactory.setKryo(this);

    this.referenceResolver = referenceResolver;
    if (referenceResolver != null) {
        referenceResolver.setKryo(this);
        references = true;
    }

    addDefaultSerializer(byte[].class, ByteArraySerializer.class);
    addDefaultSerializer(char[].class, CharArraySerializer.class);
    addDefaultSerializer(short[].class, ShortArraySerializer.class);
    addDefaultSerializer(int[].class, IntArraySerializer.class);
    addDefaultSerializer(long[].class, LongArraySerializer.class);
    addDefaultSerializer(float[].class, FloatArraySerializer.class);
    addDefaultSerializer(double[].class, DoubleArraySerializer.class);
    addDefaultSerializer(boolean[].class, BooleanArraySerializer.class);
    addDefaultSerializer(String[].class, StringArraySerializer.class);
    addDefaultSerializer(Object[].class, ObjectArraySerializer.class);
    addDefaultSerializer(BigInteger.class, BigIntegerSerializer.class);
    addDefaultSerializer(BigDecimal.class, BigDecimalSerializer.class);
    addDefaultSerializer(Class.class, ClassSerializer.class);
    addDefaultSerializer(Date.class, DateSerializer.class);
    addDefaultSerializer(Enum.class, EnumSerializer.class);
    addDefaultSerializer(EnumSet.class, EnumSetSerializer.class);
    addDefaultSerializer(Currency.class, CurrencySerializer.class);
    addDefaultSerializer(StringBuffer.class, StringBufferSerializer.class);
    addDefaultSerializer(StringBuilder.class, StringBuilderSerializer.class);
    addDefaultSerializer(Collections.EMPTY_LIST.getClass(), CollectionsEmptyListSerializer.class);
    addDefaultSerializer(Collections.EMPTY_MAP.getClass(), CollectionsEmptyMapSerializer.class);
    addDefaultSerializer(Collections.EMPTY_SET.getClass(), CollectionsEmptySetSerializer.class);
    addDefaultSerializer(Collections.singletonList(null).getClass(), CollectionsSingletonListSerializer.class);
    addDefaultSerializer(Collections.singletonMap(null, null).getClass(), CollectionsSingletonMapSerializer.class);
    addDefaultSerializer(Collections.singleton(null).getClass(), CollectionsSingletonSetSerializer.class);
    addDefaultSerializer(Collection.class, CollectionSerializer.class);
    addDefaultSerializer(TreeMap.class, TreeMapSerializer.class);
    addDefaultSerializer(Map.class, MapSerializer.class);
    addDefaultSerializer(KryoSerializable.class, KryoSerializableSerializer.class);
    addDefaultSerializer(TimeZone.class, TimeZoneSerializer.class);
    addDefaultSerializer(Calendar.class, CalendarSerializer.class);
    lowPriorityDefaultSerializerCount = defaultSerializers.size();

    // Primitives and string. Primitive wrappers automatically use the same registration as primitives.
    register(int.class, new IntSerializer());
    register(String.class, new StringSerializer());
    register(float.class, new FloatSerializer());
    register(boolean.class, new BooleanSerializer());
    register(byte.class, new ByteSerializer());
    register(char.class, new CharSerializer());
    register(short.class, new ShortSerializer());
    register(long.class, new LongSerializer());
    register(double.class, new DoubleSerializer());
}