Java 类com.esotericsoftware.kryo.serializers.FieldSerializer 实例源码
项目:cas4.0.x-server-wechat
文件:KryoTranscoderTests.java
public KryoTranscoderTests(final int bufferSize) {
this.principalAttributes = new HashMap<String, Object>();
this.principalAttributes.put(ST_ID, TGT_ID);
transcoder = new KryoTranscoder(bufferSize);
final Map<Class<?>, Serializer> serializerMap = new HashMap<Class<?>, Serializer>();
serializerMap.put(
MockServiceTicket.class,
new FieldSerializer(transcoder.getKryo(), MockServiceTicket.class));
serializerMap.put(
MockTicketGrantingTicket.class,
new FieldSerializer(transcoder.getKryo(), MockTicketGrantingTicket.class));
serializerMap.put(
TicketGrantingTicketImpl.class,
new FieldSerializer(transcoder.getKryo(), TicketGrantingTicketImpl.class));
serializerMap.put(
ServiceTicketImpl.class,
new FieldSerializer(transcoder.getKryo(), ServiceTicketImpl.class));
transcoder.setSerializerMap(serializerMap);
transcoder.initialize();
}
项目:quadracoatl
文件:ConfiguringSerializerFactory.java
@Override
public Serializer<?> makeSerializer(Kryo kryo, Class<?> type) {
if (type.isAnnotationPresent(Transient.class)) {
LOGGER.info(type.getName(), " -> DummySerializer");
return new DummySerializer();
}
LOGGER.info(type.getName(), " -> FieldSerializer");
checkDefaultConstructor(type);
FieldSerializer<?> fieldSerializer = new FieldSerializer<>(kryo, type);
fieldSerializer.setAcceptsNull(true);
fieldSerializer.setCopyTransient(false);
fieldSerializer.setFieldsCanBeNull(true);
return fieldSerializer;
}
项目:MindsEye
文件:KryoUtil.java
@Override
protected Kryo initialValue() {
final Kryo kryo = new KryoReflectionFactorySupport() {
@Override
public Serializer<?> getDefaultSerializer(@SuppressWarnings("rawtypes") final Class clazz) {
if (EnumSet.class.isAssignableFrom(clazz)) {
return new EnumSetSerializer();
}
if (EnumMap.class.isAssignableFrom(clazz)) {
return new EnumMapSerializer();
}
final Serializer<?> serializer = super.getDefaultSerializer(clazz);
if (serializer instanceof FieldSerializer) {
((FieldSerializer<?>) serializer).setCopyTransient(false);
}
return serializer;
}
};
return kryo;
}
项目:openyu-commons
文件:FieldSerializerTest.java
public void testTransients() {
kryo.register(HasTransients.class);
HasTransients objectWithTransients1 = new HasTransients();
objectWithTransients1.transientField1 = "Test";
objectWithTransients1.anotherField2 = 5;
objectWithTransients1.anotherField3 = "Field2";
FieldSerializer<HasTransients> ser = (FieldSerializer<HasTransients>) kryo
.getSerializer(HasTransients.class);
ser.setCopyTransient(false);
HasTransients objectWithTransients3 = kryo.copy(objectWithTransients1);
assertTrue(
"Objects should be different if copy does not include transient fields",
!objectWithTransients3.equals(objectWithTransients1));
assertEquals("transient fields should be null",
objectWithTransients3.transientField1, null);
ser.setCopyTransient(true);
HasTransients objectWithTransients2 = kryo.copy(objectWithTransients1);
assertEquals(
"Objects should be equal if copy includes transient fields",
objectWithTransients2, objectWithTransients1);
}
项目:titan0.5.4-hbase1.1.1-custom
文件:KryoSerializer.java
final boolean isValidObject(final Object o) {
if (o==null) return true;
Boolean status = objectVerificationCache.getIfPresent(o.getClass());
if (status==null) {
Kryo kryo = getKryo();
if (!(kryo.getSerializer(o.getClass()) instanceof FieldSerializer)) status=Boolean.TRUE;
else if (!isValidClass(o.getClass())) status=Boolean.FALSE;
else {
try {
Output out = new Output(128, maxOutputSize);
kryo.writeClassAndObject(out,o);
Input in = new Input(out.getBuffer(),0,out.position());
Object ocopy = kryo.readClassAndObject(in);
status=(o.equals(ocopy)?Boolean.TRUE:Boolean.FALSE);
} catch (Throwable e) {
status=Boolean.FALSE;
}
}
objectVerificationCache.put(o.getClass(),status);
}
return status;
}
项目:object-graph
文件:NodeSerializer.java
@Override
public Node copy(Kryo kryo, Node original) {
try {
Object root = kryo.getContext().get("root");
if (root == null) {
// original is the root
kryo.getContext().put("root", original);
root = original;
}
Serializer<Node> serializer = new FieldSerializer<>(kryo, original.getClass());
Node ret = serializer.copy(kryo, original);
if (root == original) {
// Register tree only from the root (should save some work)
ParentRegistry.registerTree(ret);
}
return ret;
} finally {
kryo.getContext().remove("root");
}
}
项目:springboot-shiro-cas-mybatis
文件:KryoTranscoderTests.java
public KryoTranscoderTests() {
transcoder = new KryoTranscoder();
final Map<Class<?>, Serializer> serializerMap = new HashMap<Class<?>, Serializer>();
serializerMap.put(
MockServiceTicket.class,
new FieldSerializer(transcoder.getKryo(), MockServiceTicket.class));
serializerMap.put(
MockTicketGrantingTicket.class,
new FieldSerializer(transcoder.getKryo(), MockTicketGrantingTicket.class));
transcoder.setSerializerMap(serializerMap);
transcoder.initialize();
this.principalAttributes = new HashMap<>();
this.principalAttributes.put(NICKNAME_KEY, NICKNAME_VALUE);
}
项目:springboot-shiro-cas-mybatis
文件:KryoTranscoderTests.java
public KryoTranscoderTests() {
transcoder = new KryoTranscoder();
final Map<Class<?>, Serializer> serializerMap = new HashMap<Class<?>, Serializer>();
serializerMap.put(
MockServiceTicket.class,
new FieldSerializer(transcoder.getKryo(), MockServiceTicket.class));
serializerMap.put(
MockTicketGrantingTicket.class,
new FieldSerializer(transcoder.getKryo(), MockTicketGrantingTicket.class));
transcoder.setSerializerMap(serializerMap);
transcoder.initialize();
this.principalAttributes = new HashMap<>();
this.principalAttributes.put(NICKNAME_KEY, NICKNAME_VALUE);
}
项目:cas-5.1.0
文件:KryoTranscoderTests.java
public KryoTranscoderTests() {
transcoder = new KryoTranscoder();
final Map<Class<?>, Serializer> serializerMap = new HashMap<>();
serializerMap.put(
MockServiceTicket.class,
new FieldSerializer(transcoder.getKryo(), MockServiceTicket.class));
serializerMap.put(
MockTicketGrantingTicket.class,
new FieldSerializer(transcoder.getKryo(), MockTicketGrantingTicket.class));
transcoder.setSerializerMap(serializerMap);
transcoder.initialize();
this.principalAttributes = new HashMap<>();
this.principalAttributes.put(NICKNAME_KEY, NICKNAME_VALUE);
}
项目:cas-server-4.2.1
文件:KryoTranscoderTests.java
public KryoTranscoderTests() {
transcoder = new KryoTranscoder();
final Map<Class<?>, Serializer> serializerMap = new HashMap<Class<?>, Serializer>();
serializerMap.put(
MockServiceTicket.class,
new FieldSerializer(transcoder.getKryo(), MockServiceTicket.class));
serializerMap.put(
MockTicketGrantingTicket.class,
new FieldSerializer(transcoder.getKryo(), MockTicketGrantingTicket.class));
transcoder.setSerializerMap(serializerMap);
transcoder.initialize();
this.principalAttributes = new HashMap<>();
this.principalAttributes.put(NICKNAME_KEY, NICKNAME_VALUE);
}
项目:dremio-oss
文件:RelDataTypeSerializer.java
@Override
public T read(final Kryo kryo, final Input input, final Class<T> type) {
// do not use delegate.read because we do not want it to cache the object. Rather, we will cache the normalized type.
final T dataType = kryo.newInstance(type);
final FieldSerializer.CachedField[] fields = delegate.getFields();
for (int i = 0, n = fields.length; i < n; i++) {
fields[i].read(input, dataType);
}
// be gentle to calcite and normalize the returned data type. normalization here means to use same type instances.
final T result = (T) typeFactory.copyType(dataType);
kryo.reference(result);
return result;
}
项目:dremio-oss
文件:ImmutableCollectionSerializers.java
public static void register(final Kryo kryo) {
// register list
ImmutableListSerializer.register(kryo);
// register set
ImmutableSetSerializer.register(kryo);
// register set
ImmutableMapSerializer.register(kryo);
// others
kryo.addDefaultSerializer(FlatLists.AbstractFlatList.class, FieldSerializer.class);
kryo.addDefaultSerializer(ImmutableNullableList.class, ImmutableNullableListSerializer.class);
}
项目:cas4.1.9
文件:KryoTranscoderTests.java
public KryoTranscoderTests() {
transcoder = new KryoTranscoder();
final Map<Class<?>, Serializer> serializerMap = new HashMap<Class<?>, Serializer>();
serializerMap.put(
MockServiceTicket.class,
new FieldSerializer(transcoder.getKryo(), MockServiceTicket.class));
serializerMap.put(
MockTicketGrantingTicket.class,
new FieldSerializer(transcoder.getKryo(), MockTicketGrantingTicket.class));
transcoder.setSerializerMap(serializerMap);
transcoder.initialize();
this.principalAttributes = new HashMap<>();
this.principalAttributes.put(NICKNAME_KEY, NICKNAME_VALUE);
}
项目:openyu-commons
文件:FieldSerializerTest.java
public void testDefaultTypes() {
kryo.register(DefaultTypes.class);
kryo.register(byte[].class);
DefaultTypes test = new DefaultTypes();
test.booleanField = true;
test.byteField = 123;
test.charField = 'Z';
test.shortField = 12345;
test.intField = 123456;
test.longField = 123456789;
test.floatField = 123.456f;
test.doubleField = 1.23456d;
test.BooleanField = true;
test.ByteField = -12;
test.CharacterField = 'X';
test.ShortField = -12345;
test.IntegerField = -123456;
test.LongField = -123456789l;
test.FloatField = -123.3f;
test.DoubleField = -0.121231d;
test.StringField = "stringvalue";
test.byteArrayField = new byte[] { 2, 1, 0, -1, -2 };
roundTrip(78, 88, test);
kryo.register(HasStringField.class);
test.hasStringField = new HasStringField();
FieldSerializer serializer = (FieldSerializer) kryo
.getSerializer(DefaultTypes.class);
serializer.getField("hasStringField").setCanBeNull(false);
roundTrip(79, 89, test);
serializer.setFixedFieldTypes(true);
serializer.getField("hasStringField").setCanBeNull(false);
roundTrip(78, 88, test);
}
项目:openyu-commons
文件:FieldSerializerTest.java
public void testFieldRemoval() {
kryo.register(DefaultTypes.class);
kryo.register(byte[].class);
kryo.register(HasStringField.class);
HasStringField hasStringField = new HasStringField();
hasStringField.text = "moo";
roundTrip(4, 4, hasStringField);
DefaultTypes test = new DefaultTypes();
test.intField = 12;
test.StringField = "value";
test.CharacterField = 'X';
test.child = new DefaultTypes();
roundTrip(71, 91, test);
supportsCopy = false;
test.StringField = null;
roundTrip(67, 87, test);
FieldSerializer serializer = (FieldSerializer) kryo
.getSerializer(DefaultTypes.class);
serializer.removeField("LongField");
serializer.removeField("floatField");
serializer.removeField("FloatField");
roundTrip(55, 75, test);
supportsCopy = true;
}
项目:object-graph
文件:NodeSerializer.java
@Override
public Node read(Kryo kryo, Input input, Class<Node> nodeClass) {
// TODO check if it is needed the same trick as in copy()
Serializer<Node> serializer = new FieldSerializer<>(kryo, nodeClass);
Node ret = serializer.read(kryo, input, nodeClass);
ParentRegistry.registerTree(ret);
return ret;
}
项目:kryo-mavenized
文件:FieldSerializerTest.java
public void testDefaultTypes () {
kryo.register(DefaultTypes.class);
kryo.register(byte[].class);
DefaultTypes test = new DefaultTypes();
test.booleanField = true;
test.byteField = 123;
test.charField = 'Z';
test.shortField = 12345;
test.intField = 123456;
test.longField = 123456789;
test.floatField = 123.456f;
test.doubleField = 1.23456d;
test.BooleanField = true;
test.ByteField = -12;
test.CharacterField = 'X';
test.ShortField = -12345;
test.IntegerField = -123456;
test.LongField = -123456789l;
test.FloatField = -123.3f;
test.DoubleField = -0.121231d;
test.StringField = "stringvalue";
test.byteArrayField = new byte[] {2, 1, 0, -1, -2};
roundTrip(78, 88, test);
kryo.register(HasStringField.class);
test.hasStringField = new HasStringField();
FieldSerializer serializer = (FieldSerializer)kryo.getSerializer(DefaultTypes.class);
serializer.getField("hasStringField").setCanBeNull(false);
roundTrip(79, 89, test);
serializer.setFixedFieldTypes(true);
serializer.getField("hasStringField").setCanBeNull(false);
roundTrip(78, 88, test);
}
项目:kryo-mavenized
文件:FieldSerializerTest.java
public void testFieldRemoval () {
kryo.register(DefaultTypes.class);
kryo.register(byte[].class);
kryo.register(HasStringField.class);
HasStringField hasStringField = new HasStringField();
hasStringField.text = "moo";
roundTrip(4, 4, hasStringField);
DefaultTypes test = new DefaultTypes();
test.intField = 12;
test.StringField = "value";
test.CharacterField = 'X';
test.child = new DefaultTypes();
roundTrip(71, 91, test);
supportsCopy = false;
test.StringField = null;
roundTrip(67, 87, test);
FieldSerializer serializer = (FieldSerializer)kryo.getSerializer(DefaultTypes.class);
serializer.removeField("LongField");
serializer.removeField("floatField");
serializer.removeField("FloatField");
roundTrip(55, 75, test);
supportsCopy = true;
}
项目:streaming-storm
文件:StreamingKMeansTopologyTest.java
@Before
public void setupConfig() {
_conf = new Config();
_conf.setNumWorkers(2);
_conf.registerSerialization(Path.class, FieldSerializer.class);
_conf.registerSerialization(SequenceFile.Writer.class, FieldSerializer.class);
_conf.registerSerialization(DenseVector.class, VectorSerializer.class);
_conf.registerSerialization(Centroid.class, CentroidSerializer.class);
_conf.put(Config.TOPOLOGY_TICK_TUPLE_FREQ_SECS, 5);
_conf.put(HypercubeSpout.NUM_POINTS, 2000);
_conf.put(HypercubeSpout.NUM_DIMENSION, 500);
_conf.put(HypercubeSpout.NUM_CLUSTERS, NUM_CLUSTERS);
_conf.put(HypercubeSpout.RADIUS, 0.0001);
_conf.put(HypercubeSpout.UNIFORM_FRACTION, 0.0);
_conf.put(DefaultOptionCreator.DISTANCE_MEASURE_OPTION, SquaredEuclideanDistanceMeasure.class.getName());
_conf.put(StreamingKMeansDriver.NUM_PROJECTIONS_OPTION, 3);
_conf.put(StreamingKMeansDriver.SEARCH_SIZE_OPTION, 2);
_conf.put(StreamingKMeansDriver.SEARCHER_CLASS_OPTION, FastProjectionSearch.class.getName());
_conf.put(StreamingKMeansDriver.ESTIMATED_NUM_MAP_CLUSTERS, ESTIMATED_NUM_MAP_CLUSTERS);
_conf.put(StreamingKMeansDriver.ESTIMATED_DISTANCE_CUTOFF, 1e-7);
_conf.put(HypercubeSpout.OUTPUT_PATH, INPUT_PATH);
_conf.put(LocalSequenceFileWriterBolt.OUTPUT_PATH, OUTPUT_PATH);
}
项目:confit
文件:KryoReflectionFactorySupport.java
@Override
public Serializer<?> getDefaultSerializer(@SuppressWarnings("rawtypes") final Class type) {
final Serializer<?> result = super.getDefaultSerializer(type);
if(result instanceof FieldSerializer) {
// don't ignore synthetic fields so that inner classes work (see KryoTest.testInnerClass)
((FieldSerializer<?>) result).setIgnoreSyntheticFields(false);
}
return result;
}
项目:dremio-oss
文件:RelDataTypeSerializer.java
protected RelDataTypeSerializer(final Kryo kryo, final Class type, final RelDataTypeFactory typeFactory) {
this.typeFactory = Preconditions.checkNotNull(typeFactory, "factory is required");
this.delegate = new FieldSerializer<>(kryo, type);
}
项目:hive-phoenix-handler
文件:Utilities.java
@SuppressWarnings("rawtypes")
protected static void removeField(Kryo kryo, Class type, String fieldName) {
FieldSerializer fld = new FieldSerializer(kryo, type);
fld.removeField(fieldName);
kryo.register(type, fld);
}
项目:learning-spark-examples
文件:BasicAvgWithKryo.java
public void registerClasses(Kryo kryo) {
kryo.register(AvgCount.class, new FieldSerializer(kryo, AvgCount.class));
}
项目:storm-data-contracts
文件:ContractFactory.java
public ContractFactory(Class<T> clazz) {
this.kryo = new Kryo();
kryo.register(clazz, new FieldSerializer(kryo, clazz));
newInstance = createAndInitializeInstance(clazz);
}
项目:gatk
文件:GATKRegistrator.java
@SuppressWarnings({"unchecked", "rawtypes"})
@Override
public void registerClasses(Kryo kryo) {
// JsonSerializer is needed for the Google Genomics classes like Read and Reference.
kryo.register(Read.class, new JsonSerializer<Read>());
//relatively inefficient serialization of Collections created with Collections.nCopies(), without this
//any Collection created with Collections.nCopies fails to serialize at run time
kryo.register(Collections.nCopies(2, "").getClass(), new FieldSerializer<>(kryo, Collections.nCopies(2, "").getClass()));
// htsjdk.variant.variantcontext.CommonInfo has a Map<String, Object> that defaults to
// a Collections.unmodifiableMap. This can't be handled by the version of kryo used in Spark, it's fixed
// in newer versions (3.0.x), but we can't use those because of incompatibility with Spark. We just include the
// fix here.
// We are tracking this issue with (#874)
kryo.register(Collections.unmodifiableMap(Collections.EMPTY_MAP).getClass(), new UnmodifiableCollectionsSerializer());
kryo.register(Collections.unmodifiableList(Collections.EMPTY_LIST).getClass(), new UnmodifiableCollectionsSerializer());
kryo.register(SAMRecordToGATKReadAdapter.class, new SAMRecordToGATKReadAdapterSerializer());
kryo.register(SAMRecord.class, new SAMRecordSerializer());
//register to avoid writing the full name of this class over and over
kryo.register(PairedEnds.class, new FieldSerializer<>(kryo, PairedEnds.class));
// register the ADAM data types using Avro serialization, including:
// AlignmentRecord
// Genotype
// Variant
// DatabaseVariantAnnotation
// NucleotideContigFragment
// Contig
// StructuralVariant
// VariantCallingAnnotations
// VariantEffect
// DatabaseVariantAnnotation
// Dbxref
// Feature
// ReferencePosition
// ReferencePositionPair
// SingleReadBucket
// IndelRealignmentTarget
// TargetSet
// ZippedTargetSet
ADAMregistrator.registerClasses(kryo);
}
项目:kingdom
文件:DeflateTest.java
static public void register (Kryo kryo) {
kryo.register(short[].class);
kryo.register(SomeData.class, new DeflateSerializer(new FieldSerializer(kryo, SomeData.class)));
kryo.register(ArrayList.class, new CollectionSerializer());
}
项目:object-graph
文件:NodeSerializer.java
@Override
public void write(Kryo kryo, Output output, Node node) {
Serializer<Node> serializer = new FieldSerializer<>(kryo, node.getClass());
serializer.write(kryo, output, node);
}
项目:kryonet
文件:DeflateTest.java
static public void register (Kryo kryo) {
kryo.register(short[].class);
kryo.register(SomeData.class, new DeflateSerializer(new FieldSerializer(kryo, SomeData.class)));
kryo.register(ArrayList.class, new CollectionSerializer());
}