Java源码示例:org.apache.avro.message.SchemaStore

示例1
@Test
public void testCompatibleReadWithSchemaFromLookup() throws Exception {
  MessageEncoder<Record> v1Encoder = new IcebergEncoder<>(SCHEMA_V1);

  SchemaStore.Cache schemaCache = new SchemaStore.Cache();
  schemaCache.addSchema(AvroSchemaUtil.convert(SCHEMA_V1, "table"));
  IcebergDecoder<Record> v2Decoder = new IcebergDecoder<>(SCHEMA_V2, schemaCache);

  ByteBuffer v1Buffer = v1Encoder.encode(V1_RECORDS.get(2));

  Record record = v2Decoder.decode(v1Buffer);

  Assert.assertEquals(v2Record(4L, "m-4", null), record);
}
 
示例2
@Test
public void testCompatibleReadWithSchemaFromLookup() throws Exception {
  MessageEncoder<Record> v1Encoder = new IcebergEncoder<>(SCHEMA_V1);

  SchemaStore.Cache schemaCache = new SchemaStore.Cache();
  schemaCache.addSchema(AvroSchemaUtil.convert(SCHEMA_V1, "table"));
  IcebergDecoder<Record> v2Decoder = new IcebergDecoder<>(SCHEMA_V2, schemaCache);

  ByteBuffer v1Buffer = v1Encoder.encode(V1_RECORDS.get(2));

  Record record = v2Decoder.decode(v1Buffer);

  Assert.assertEquals(v2Record(4L, "m-4", null), record);
}
 
示例3
/**
 * Create a new BinaryMessageDecoder instance for this class that uses the specified {@link SchemaStore}.
 * @param resolver a {@link SchemaStore} used to find schemas by fingerprint
 */
public static BinaryMessageDecoder<BillingBookingResponse> createDecoder(SchemaStore resolver) {
  return new BinaryMessageDecoder<BillingBookingResponse>(MODEL$, SCHEMA$, resolver);
}
 
示例4
/**
 * Create a new BinaryMessageDecoder instance for this class that uses the specified {@link SchemaStore}.
 * @param resolver a {@link SchemaStore} used to find schemas by fingerprint
 */
public static BinaryMessageDecoder<BookingOrder> createDecoder(SchemaStore resolver) {
  return new BinaryMessageDecoder<BookingOrder>(MODEL$, SCHEMA$, resolver);
}
 
示例5
/**
 * Create a new BinaryMessageDecoder instance for this class that uses the specified {@link SchemaStore}.
 * @param resolver a {@link SchemaStore} used to find schemas by fingerprint
 */
public static BinaryMessageDecoder<BillingBookingResponse> createDecoder(SchemaStore resolver) {
  return new BinaryMessageDecoder<BillingBookingResponse>(MODEL$, SCHEMA$, resolver);
}
 
示例6
/**
 * Create a new BinaryMessageDecoder instance for this class that uses the specified {@link SchemaStore}.
 * @param resolver a {@link SchemaStore} used to find schemas by fingerprint
 */
public static BinaryMessageDecoder<BookingOrder> createDecoder(SchemaStore resolver) {
  return new BinaryMessageDecoder<BookingOrder>(MODEL$, SCHEMA$, resolver);
}
 
示例7
/**
 * Create a new BinaryMessageDecoder instance for this class that uses the specified {@link SchemaStore}.
 * @param resolver a {@link SchemaStore} used to find schemas by fingerprint
 */
public static BinaryMessageDecoder<BookingOrder> createDecoder(SchemaStore resolver) {
  return new BinaryMessageDecoder<BookingOrder>(MODEL$, SCHEMA$, resolver);
}
 
示例8
/**
 * Create a new BinaryMessageDecoder instance for this class that uses the specified {@link SchemaStore}.
 * @param resolver a {@link SchemaStore} used to find schemas by fingerprint
 */
public static BinaryMessageDecoder<BookingOrder> createDecoder(SchemaStore resolver) {
  return new BinaryMessageDecoder<BookingOrder>(MODEL$, SCHEMA$, resolver);
}
 
示例9
/**
 * Create a new BinaryMessageDecoder instance for this class that uses the specified {@link SchemaStore}.
 * @param resolver a {@link SchemaStore} used to find schemas by fingerprint
 */
public static BinaryMessageDecoder<DifferentSchemaRecord> createDecoder(SchemaStore resolver) {
  return new BinaryMessageDecoder<DifferentSchemaRecord>(MODEL$, SCHEMA$, resolver);
}
 
示例10
/**
 * Create a new BinaryMessageDecoder instance for this class that uses the specified {@link SchemaStore}.
 * @param resolver a {@link SchemaStore} used to find schemas by fingerprint
 */
public static BinaryMessageDecoder<SchemaRecord> createDecoder(SchemaStore resolver) {
  return new BinaryMessageDecoder<SchemaRecord>(MODEL$, SCHEMA$, resolver);
}
 
示例11
/**
 * Create a new BinaryMessageDecoder instance for this class that uses the specified {@link SchemaStore}.
 * @param resolver a {@link SchemaStore} used to find schemas by fingerprint
 */
public static BinaryMessageDecoder<Address> createDecoder(SchemaStore resolver) {
  return new BinaryMessageDecoder<Address>(MODEL$, SCHEMA$, resolver);
}
 
示例12
/**
 * Create a new BinaryMessageDecoder instance for this class that uses the specified {@link SchemaStore}.
 * @param resolver a {@link SchemaStore} used to find schemas by fingerprint
 */
public static BinaryMessageDecoder<SimpleUser> createDecoder(SchemaStore resolver) {
  return new BinaryMessageDecoder<SimpleUser>(MODEL$, SCHEMA$, resolver);
}
 
示例13
/**
 * Create a new BinaryMessageDecoder instance for this class that uses the specified {@link SchemaStore}.
 * @param resolver a {@link SchemaStore} used to find schemas by fingerprint
 */
public static BinaryMessageDecoder<User> createDecoder(SchemaStore resolver) {
  return new BinaryMessageDecoder<User>(MODEL$, SCHEMA$, resolver);
}
 
示例14
/**
 * Create a new BinaryMessageDecoder instance for this class that uses the specified {@link SchemaStore}.
 * @param resolver a {@link SchemaStore} used to find schemas by fingerprint
 */
public static BinaryMessageDecoder<SimpleRecord> createDecoder(SchemaStore resolver) {
  return new BinaryMessageDecoder<SimpleRecord>(MODEL$, SCHEMA$, resolver);
}
 
示例15
/**
 * Create a new BinaryMessageDecoder instance for this class that uses the specified {@link SchemaStore}.
 * @param resolver a {@link SchemaStore} used to find schemas by fingerprint
 */
public static BinaryMessageDecoder<Address> createDecoder(SchemaStore resolver) {
  return new BinaryMessageDecoder<Address>(MODEL$, SCHEMA$, resolver);
}
 
示例16
/**
 * Create a new BinaryMessageDecoder instance for this class that uses the specified {@link SchemaStore}.
 * @param resolver a {@link SchemaStore} used to find schemas by fingerprint
 */
public static BinaryMessageDecoder<ComplexPayloadAvro> createDecoder(SchemaStore resolver) {
  return new BinaryMessageDecoder<ComplexPayloadAvro>(MODEL$, SCHEMA$, resolver);
}
 
示例17
/**
 * Create a new BinaryMessageDecoder instance for this class that uses the specified {@link SchemaStore}.
 * @param resolver a {@link SchemaStore} used to find schemas by fingerprint
 */
public static BinaryMessageDecoder<InnerPayLoadAvro> createDecoder(SchemaStore resolver) {
  return new BinaryMessageDecoder<InnerPayLoadAvro>(MODEL$, SCHEMA$, resolver);
}
 
示例18
/**
 * Create a new BinaryMessageDecoder instance for this class that uses the specified {@link SchemaStore}.
 * @param resolver a {@link SchemaStore} used to find schemas by fingerprint
 */
public static BinaryMessageDecoder<Address> createDecoder(SchemaStore resolver) {
  return new BinaryMessageDecoder<Address>(MODEL$, SCHEMA$, resolver);
}
 
示例19
/**
 * Create a new BinaryMessageDecoder instance for this class that uses the specified {@link SchemaStore}.
 * @param resolver a {@link SchemaStore} used to find schemas by fingerprint
 */
public static BinaryMessageDecoder<User> createDecoder(SchemaStore resolver) {
  return new BinaryMessageDecoder<User>(MODEL$, SCHEMA$, resolver);
}
 
示例20
/**
 * Create a new BinaryMessageDecoder instance for this class that uses the specified {@link SchemaStore}.
 * @param resolver a {@link SchemaStore} used to find schemas by fingerprint
 */
public static BinaryMessageDecoder<Address> createDecoder(SchemaStore resolver) {
  return new BinaryMessageDecoder<Address>(MODEL$, SCHEMA$, resolver);
}
 
示例21
/**
 * Create a new BinaryMessageDecoder instance for this class that uses the specified {@link
 * SchemaStore}.
 *
 * @param resolver a {@link SchemaStore} used to find schemas by fingerprint
 */
public static BinaryMessageDecoder<TweetMsg> createDecoder(SchemaStore resolver) {
  return new BinaryMessageDecoder<TweetMsg>(MODEL$, SCHEMA$, resolver);
}
 
示例22
/**
 * Creates a new decoder that constructs datum instances described by an
 * {@link org.apache.iceberg.Schema Iceberg schema}.
 * <p>
 * The {@code readSchema} is as used the expected schema (read schema). Datum instances created
 * by this class will are described by the expected schema.
 * <p>
 * The schema used to decode incoming buffers is determined by the schema fingerprint encoded in
 * the message header. This class can decode messages that were encoded using the
 * {@code readSchema} and other schemas that are added using
 * {@link #addSchema(org.apache.iceberg.Schema)}.
 * <p>
 * Schemas may also be returned from an Avro {@link SchemaStore}. Avro Schemas from the store
 * must be compatible with Iceberg and should contain id properties and use only Iceberg types.
 *
 * @param readSchema the {@link Schema} used to construct datum instances
 * @param resolver a {@link SchemaStore} used to find schemas by fingerprint
 */
public IcebergDecoder(org.apache.iceberg.Schema readSchema, SchemaStore resolver) {
  this.readSchema = readSchema;
  this.resolver = resolver;
  addSchema(this.readSchema);
}
 
示例23
/**
 * Create a new BinaryMessageDecoder instance for this class that uses the specified {@link SchemaStore}.
 * @param resolver a {@link SchemaStore} used to find schemas by fingerprint
 */
public static BinaryMessageDecoder<HasUnions> createDecoder(SchemaStore resolver) {
  return new BinaryMessageDecoder<HasUnions>(MODEL$, SCHEMA$, resolver);
}
 
示例24
/**
 * Create a new BinaryMessageDecoder instance for this class that uses the specified {@link SchemaStore}.
 * @param resolver a {@link SchemaStore} used to find schemas by fingerprint
 */
public static BinaryMessageDecoder<BookingOrder> createDecoder(SchemaStore resolver) {
  return new BinaryMessageDecoder<BookingOrder>(MODEL$, SCHEMA$, resolver);
}
 
示例25
/**
 * Create a new BinaryMessageDecoder instance for this class that uses the specified {@link SchemaStore}.
 * @param resolver a {@link SchemaStore} used to find schemas by fingerprint
 */
public static BinaryMessageDecoder<BookingOrder> createDecoder(SchemaStore resolver) {
  return new BinaryMessageDecoder<BookingOrder>(MODEL$, SCHEMA$, resolver);
}
 
示例26
/**
 * Creates a new decoder that constructs datum instances described by an
 * {@link com.netflix.iceberg.Schema Iceberg schema}.
 * <p>
 * The {@code readSchema} is as used the expected schema (read schema). Datum instances created
 * by this class will are described by the expected schema.
 * <p>
 * The schema used to decode incoming buffers is determined by the schema fingerprint encoded in
 * the message header. This class can decode messages that were encoded using the
 * {@code readSchema} and other schemas that are added using
 * {@link #addSchema(com.netflix.iceberg.Schema)}.
 * <p>
 * Schemas may also be returned from an Avro {@link SchemaStore}. Avro Schemas from the store
 * must be compatible with Iceberg and should contain id properties and use only Iceberg types.
 *
 * @param readSchema the {@link Schema} used to construct datum instances
 * @param resolver a {@link SchemaStore} used to find schemas by fingerprint
 */
public IcebergDecoder(com.netflix.iceberg.Schema readSchema, SchemaStore resolver) {
  this.readSchema = readSchema;
  this.resolver = resolver;
  addSchema(this.readSchema);
}
 
示例27
/**
 * Create a new BinaryMessageDecoder instance for this class that uses the specified {@link SchemaStore}.
 * @param resolver a {@link SchemaStore} used to find schemas by fingerprint
 */
public static BinaryMessageDecoder<TweetMsg> createDecoder(SchemaStore resolver) {
  return new BinaryMessageDecoder<TweetMsg>(MODEL$, SCHEMA$, resolver);
}
 
示例28
/**
 * Create a new BinaryMessageDecoder instance for this class that uses the specified {@link SchemaStore}.
 *
 * @param resolver a {@link SchemaStore} used to find schemas by fingerprint
 */
public static BinaryMessageDecoder<User> createDecoder(SchemaStore resolver) {
    return new BinaryMessageDecoder<User>(MODEL$, SCHEMA$, resolver);
}
 
示例29
/**
 * Create a new BinaryMessageDecoder instance for this class that uses the specified {@link SchemaStore}.
 * @param resolver a {@link SchemaStore} used to find schemas by fingerprint
 */
public static BinaryMessageDecoder<Address> createDecoder(SchemaStore resolver) {
  return new BinaryMessageDecoder<Address>(MODEL$, SCHEMA$, resolver);
}
 
示例30
/**
 * Create a new BinaryMessageDecoder instance for this class that uses the specified {@link SchemaStore}.
 * @param resolver a {@link SchemaStore} used to find schemas by fingerprint
 */
public static BinaryMessageDecoder<AvroHttpRequest> createDecoder(SchemaStore resolver) {
  return new BinaryMessageDecoder<AvroHttpRequest>(MODEL$, SCHEMA$, resolver);
}