if (kryo.isFinal(parameterTypes[ii])) cachedMethod.serializers[ii] = kryo.getSerializer(parameterTypes[ii]);
@Test public void test_registers_when_valid_class_name() { Class arbitraryClass = BlowfishTupleSerializer.class; String secretKey = "0123456789abcdef"; Map<String, Object> conf = Utils.readDefaultConfig(); conf.put(Config.TOPOLOGY_TUPLE_SERIALIZER, arbitraryClass.getName()); conf.put(BlowfishTupleSerializer.SECRET_KEY, secretKey); Kryo kryo = SerializationFactory.getKryo(conf); Assert.assertEquals(arbitraryClass, kryo.getSerializer(ListDelegate.class).getClass()); }
@Test public void test_registers_default_when_not_in_conf() throws ClassNotFoundException { Map<String, Object> conf = Utils.readDefaultConfig(); String className = (String) conf.get(Config.TOPOLOGY_TUPLE_SERIALIZER); Class configuredClass = Class.forName(className); Kryo kryo = SerializationFactory.getKryo(conf); Assert.assertEquals(configuredClass, kryo.getSerializer(ListDelegate.class).getClass()); }
private void validateStateDescriptorConfigured(SingleOutputStreamOperator<?> result) { OneInputTransformation<?, ?> transform = (OneInputTransformation<?, ?>) result.getTransformation(); WindowOperator<?, ?, ?, ?, ?> op = (WindowOperator<?, ?, ?, ?, ?>) transform.getOperator(); StateDescriptor<?, ?> descr = op.getStateDescriptor(); // this would be the first statement to fail if state descriptors were not properly initialized TypeSerializer<?> serializer = descr.getSerializer(); assertTrue(serializer instanceof KryoSerializer); Kryo kryo = ((KryoSerializer<?>) serializer).getKryo(); assertTrue("serializer registration was not properly passed on", kryo.getSerializer(File.class) instanceof JavaSerializer); }
private void validateListStateDescriptorConfigured(SingleOutputStreamOperator<?> result) { OneInputTransformation<?, ?> transform = (OneInputTransformation<?, ?>) result.getTransformation(); WindowOperator<?, ?, ?, ?, ?> op = (WindowOperator<?, ?, ?, ?, ?>) transform.getOperator(); StateDescriptor<?, ?> descr = op.getStateDescriptor(); assertTrue(descr instanceof ListStateDescriptor); ListStateDescriptor<?> listDescr = (ListStateDescriptor<?>) descr; // this would be the first statement to fail if state descriptors were not properly initialized TypeSerializer<?> serializer = listDescr.getSerializer(); assertTrue(serializer instanceof ListSerializer); TypeSerializer<?> elementSerializer = listDescr.getElementSerializer(); assertTrue(elementSerializer instanceof KryoSerializer); Kryo kryo = ((KryoSerializer<?>) elementSerializer).getKryo(); assertTrue("serializer registration was not properly passed on", kryo.getSerializer(File.class) instanceof JavaSerializer); } }
@Override public List<Registration> getRegistrations() { List<Registration> registrations = new ArrayList<Registration>(); if (!CollectionUtils.isEmpty(this.registeredClasses)) { for (Map.Entry<Integer, Class<?>> entry : this.registeredClasses.entrySet()) { registrations.add( new Registration(entry.getValue(), kryo.getSerializer(entry.getValue()), entry.getKey())); } } return registrations; }
@Override public Serializer newSerializer(Class<?> type) { if ( CGLibProxySerializer.canSerialize( type ) ) { return kryo.getSerializer(CGLibProxySerializer.CGLibProxyMarker.class); } return null; }
@Override public List<Registration> getRegistrations() { List<Registration> registrations = new ArrayList<Registration>(); if (!CollectionUtils.isEmpty(this.registeredClasses)) { for (int i = 0; i < this.registeredClasses.size(); i++) { registrations.add(new Registration(this.registeredClasses.get(i), kryo.getSerializer(this.registeredClasses.get(i)), i + this.initialValue)); } } return registrations; }
protected void popSerializerAndValueClass(Kryo kryo) { _currentValueClass = _valueConcreteType; _currentSerializer = _valueSerializer; if (_currentValueClass == null && _valueConcreteGenericType != null) { _currentValueClass = _valueConcreteGenericType; _currentSerializer = kryo.getSerializer(_currentValueClass); } _valueConcreteGenericType = null; }
public EnumNameSerializer (Kryo kryo, Class<? extends Enum> type) { this.enumType = type; stringSerializer = kryo.getSerializer(String.class); setImmutable(true); }
@Override public List<Registration> getRegistrations() { List<Registration> registrations = new ArrayList<Registration>(); if (!CollectionUtils.isEmpty(this.registeredClasses)) { for (Map.Entry<Integer, Class<?>> entry : this.registeredClasses.entrySet()) { registrations.add( new Registration(entry.getValue(), kryo.getSerializer(entry.getValue()), entry.getKey())); } } return registrations; }
public EnumNameSerializer (Kryo kryo, Class<? extends Enum> type) { this.enumType = type; stringSerializer = kryo.getSerializer(String.class); setImmutable(true); }
@Override public List<Registration> getRegistrations() { List<Registration> registrations = new ArrayList<>(); if (!CollectionUtils.isEmpty(registeredClasses)) { for (Map.Entry<Integer, Class<?>> entry : registeredClasses.entrySet()) { registrations.add(new Registration(entry.getValue(), kryo.getSerializer(entry.getValue()), entry.getKey())); } } return registrations; } }
@Override public List<Registration> getRegistrations() { List<Registration> registrations = new ArrayList<Registration>(); if (!CollectionUtils.isEmpty(this.registeredClasses)) { for (int i = 0; i < this.registeredClasses.size(); i++) { registrations.add(new Registration(this.registeredClasses.get(i), kryo.getSerializer(this.registeredClasses.get(i)), i + this.initialValue)); } } return registrations; }
@Override public List<Registration> getRegistrations() { List<Registration> registrations = new ArrayList<>(); if (!CollectionUtils.isEmpty(registeredClasses)) { for (int i = 0; i < registeredClasses.size(); i++) { registrations.add(new Registration(registeredClasses.get(i), kryo.getSerializer(registeredClasses.get (i)), i + initialValue)); } } return registrations; }
private Serializer serializer (Kryo kryo, Class<? extends Component> type, EntityEdit edit) { Serializer serializer = serializers.get(type); if (serializer == null) { serializer = kryo.getSerializer(type); if (serializer.getClass() == FieldSerializer.class) { serializer = new ComponentFieldSerializer(kryo, type); } serializers.put(type, serializer); } if (serializer instanceof ComponentFieldSerializer) { ((ComponentFieldSerializer)serializer).init(edit); } else { throw new RuntimeException("Custom serializer for " + type + " must extend ComponentFieldSerializer."); } return serializer; }
public String[] read (Kryo kryo, Input input, Class<String[]> type) { int length = input.readVarInt(true); if (length == NULL) return null; String[] array = new String[--length]; if (kryo.getReferences() && kryo.getReferenceResolver().useReferences(String.class)) { Serializer serializer = kryo.getSerializer(String.class); for (int i = 0; i < length; i++) { array[i] = kryo.readObjectOrNull(input, String.class, serializer); } } else { for (int i = 0; i < length; i++) array[i] = input.readString(); } return array; }
public String[] read (Kryo kryo, Input input, Class<String[]> type) { int length = input.readVarInt(true); if (length == NULL) return null; String[] array = new String[--length]; if (kryo.getReferences() && kryo.getReferenceResolver().useReferences(String.class)) { Serializer serializer = kryo.getSerializer(String.class); for (int i = 0; i < length; i++) { array[i] = kryo.readObjectOrNull(input, String.class, serializer); } } else { for (int i = 0; i < length; i++) array[i] = input.readString(); } return array; }
public void write (Kryo kryo, Output output, String[] object) { if (object == null) { output.writeVarInt(NULL, true); return; } output.writeVarInt(object.length + 1, true); if (kryo.getReferences() && kryo.getReferenceResolver().useReferences(String.class)) { Serializer serializer = kryo.getSerializer(String.class); for (int i = 0, n = object.length; i < n; i++) kryo.writeObjectOrNull(output, object[i], serializer); } else { for (int i = 0, n = object.length; i < n; i++) output.writeString(object[i]); } }
public void write (Kryo kryo, Output output, String[] object) { if (object == null) { output.writeVarInt(NULL, true); return; } output.writeVarInt(object.length + 1, true); if (kryo.getReferences() && kryo.getReferenceResolver().useReferences(String.class)) { Serializer serializer = kryo.getSerializer(String.class); for (int i = 0, n = object.length; i < n; i++) kryo.writeObjectOrNull(output, object[i], serializer); } else { for (int i = 0, n = object.length; i < n; i++) output.writeString(object[i]); } }