Examples of VersionedSchema


Examples of com.linkedin.databus2.schemas.VersionedSchema

                     srcidCounts.get((short)2).intValue());

        //check metadata schemas

        EventCountingConsumer myCons = (EventCountingConsumer) mockConsumer;
        VersionedSchema metadataSchema = myCons.getMetadataSchema();
        Assert.assertTrue(null != metadataSchema);

        log.info("Metadata VersionedSchema = " + metadataSchema);
        Assert.assertEquals(metadataSchema.getVersion(),2);
        Assert.assertEquals(metadataSchema.getSchemaBaseName(), SchemaRegistryService.DEFAULT_METADATA_SCHEMA_SOURCE);

        verifyNoLocks(log, eventsBuf);
        log.info("end\n");
    }
View Full Code Here

Examples of com.linkedin.databus2.schemas.VersionedSchema

    dbName = dbName.trim().toLowerCase();
    config.setName(dbName);
    config.setUri(uri);
    for (String srcName : srcNames)
    {
      VersionedSchema schema = null;
      schema = s.fetchLatestVersionedSchemaBySourceName(srcName);

      String dbObjectName = SchemaHelper.getMetaField(schema.getSchema(), "dbFieldName");

      LogicalSourceConfig c = new LogicalSourceConfig();
      c.setId(manager.getSrcId(srcName));
      c.setName(srcName);
      c.setUri(dbName + "." + dbObjectName);
View Full Code Here

Examples of com.linkedin.databus2.schemas.VersionedSchema

    _staticConfigBuilder.setSourceName("5002", "test5.source2");

    _schemaRegistry = new VersionedSchemaSetBackedRegistryService();

    String schema31Str = "{\"name\":\"source1_v1\",\"namespace\":\"test3\",\"type\":\"record\",\"fields\":[{\"type\":\"int\",\"name\":\"intField\"}]}";
    VersionedSchema vschema31 = new VersionedSchema("test3.source1", (short)1, Schema.parse(schema31Str), null);
    String schema32Str = "{\"name\":\"source2_v1\",\"namespace\":\"test3\",\"type\":\"record\",\"fields\":[{\"type\":\"string\",\"name\":\"strField\"}]}";
    VersionedSchema vschema32 = new VersionedSchema("test3.source2", (short)1, Schema.parse(schema32Str), null);
    _schemaRegistry.registerSchema(vschema31);
    _schemaRegistry.registerSchema(vschema32);

    String schema41Str = "{\"name\":\"source1_v1\",\"namespace\":\"test4\",\"type\":\"record\",\"fields\":[{\"type\":\"int\",\"name\":\"intField\"}]}";
    VersionedSchema vschema41 = new VersionedSchema("test4.source1", (short)1, Schema.parse(schema41Str), null);
    String schema42Str = "{\"name\":\"source2_v1\",\"namespace\":\"test4\",\"type\":\"record\",\"fields\":[{\"type\":\"string\",\"name\":\"strField\"}]}";
    VersionedSchema vschema42 = new VersionedSchema("test4.source2", (short)1, Schema.parse(schema42Str), null);
    _schemaRegistry.registerSchema(vschema41);
    _schemaRegistry.registerSchema(vschema42);

    String schema51Str = "{\"name\":\"source1_v1\",\"namespace\":\"test5\",\"type\":\"record\",\"fields\":[{\"type\":\"int\",\"name\":\"intField\"}]}";
    VersionedSchema vschema51 = new VersionedSchema("test5.source1", (short)1, Schema.parse(schema51Str), null);
    //String schema52Str = "{\"name\":\"source2_v1\",\"namespace\":\"test5\",\"type\":\"record\",\"fields\":[{\"type\":\"string\",\"name\":\"strField\"}]}";
    VersionedSchema vschema52 = new VersionedSchema("test5.source2", (short)1, Schema.parse(schema51Str), null);
    _schemaRegistry.registerSchema(vschema51);
    _schemaRegistry.registerSchema(vschema52);

    // See https://iwww.corp.linkedin.com/wiki/cf/display/ENGS/Espresso+Metadata+Schema for
    // the real definition.
    String metadataSchemaStr = "{\"name\":\"metadata\",\"namespace\":\"test_namespace\",\"type\":\"record\",\"fields\":[{\"name\":\"randomStrField\",\"type\":\"string\"}]}";
    // TODO (DDSDBUS-2093/2096):  update this according to real schema-registry metadata API.
    // (Right now the "metadata" string here is used as a key for lookups within the relay's
    // schema registry, but that could conflict with an actual source schema named "metadata".)
    VersionedSchema metaSchema = new VersionedSchema("metadata", (short)1, Schema.parse(metadataSchemaStr), null);
    _schemaRegistry.registerSchema(metaSchema);

    _staticConfigBuilder.getSchemaRegistry().setType(RegistryType.EXISTING.toString());
    _staticConfigBuilder.getSchemaRegistry().useExistingService(_schemaRegistry);
    _staticConfig = _staticConfigBuilder.build();
View Full Code Here

Examples of com.linkedin.databus2.schemas.VersionedSchema

    SchemaRegistryService schemaRegistry =
        FileSystemSchemaRegistryService.build(_bsStaticConfig.getSchemaRegistry().getFileSystem());
    LOG.info("Schema = " + schemaRegistry.fetchLatestSchemaBySourceName(_queryStaticConfig.getSourceName()));

    _schema = Schema.parse(schemaRegistry.fetchLatestSchemaBySourceName(_queryStaticConfig.getSourceName()));
    VersionedSchema vs = new VersionedSchema(_schema.getFullName(), (short)1, _schema, null);

    VersionedSchemaSet schemaSet = new VersionedSchemaSet();
    schemaSet.add(vs);
    _decoder = new DbusEventAvroDecoder(schemaSet);
  }
View Full Code Here

Examples of com.linkedin.databus2.schemas.VersionedSchema

        Iterator<Map.Entry<Short, String>> it = schemaSet.entrySet().iterator();
        while (it.hasNext())
        {
          Map.Entry<Short, String> pairs = it.next();
          Schema s = Schema.parse(pairs.getValue());
          VersionedSchema vs = new VersionedSchema(s.getFullName(),
              pairs.getKey(), s, null);
          vSchemaSet.add(vs);
        }

        /* Try and identify the schema key */
        VersionedSchema vschema = schemaRegistry
            .fetchLatestVersionedSchemaBySourceName(source.getSourceName());
        Schema schema = Schema.parse(vschema.getSchema().toString());
        LOG.info("Schema =" + vschema.getSchema() + "version="
            + vschema.getVersion() + " name=" + vschema.getSchemaBaseName());

        /* Determine type of field txn */
        Field txnFieldType = schema.getField("txn");
        if (txnFieldType == null)
        {
View Full Code Here

Examples of com.linkedin.databus2.schemas.VersionedSchema

  public GenericRecord getGenericRecord(DbusEvent e, GenericRecord reuse)
  {
    byte[] md5 = new byte[16];
    e.schemaId(md5);
    SchemaId schemaId = new SchemaId(md5);
    VersionedSchema writerSchema = _schemaSet.getById(schemaId);

    if (null == writerSchema)
    {
      LOG.error("Unable to find schema for id " + schemaId + "; event = " + e);
      throw new DatabusRuntimeException("No schema available to decode event " + e);
    }

    ByteBuffer valueBuffer = e.value();

    byte[] valueBytes = null;
    if (valueBuffer.hasArray())
    {
      valueBytes = valueBuffer.array();
    }
    else
    {
      valueBytes = new byte[valueBuffer.remaining()];
      valueBuffer.get(valueBytes);
    }

    return getGenericRecord(valueBytes, writerSchema.getSchema(), reuse);
  }
View Full Code Here

Examples of com.linkedin.databus2.schemas.VersionedSchema

    {
      LOG.debug("No metadata for event " + e);
      return null;
    }

    VersionedSchema schema = getMetadataSchema(metadataPart);
    if (null == schema)
    {
      throw new DatabusRuntimeException("No schema available to decode metadata for event " + e);
    }

    byte[] dataBytes = null;
    if (dataBuffer.hasArray())
    {
      dataBytes = dataBuffer.array();
    }
    else
    {
      dataBytes = new byte[dataBuffer.remaining()];
      try
      {
        dataBuffer.get(dataBytes);
      }
      catch (BufferUnderflowException ex)
      {
        LOG.error("metadata buffer error (remaining = " + dataBuffer.remaining() + ") for event " + e, ex);
        return null;
      }
    }

    return getGenericRecord(dataBytes, schema.getSchema(), reuse);
  }
View Full Code Here

Examples of com.linkedin.databus2.schemas.VersionedSchema

      }
    }
    byte[] md5 = new byte[16];
    e.schemaId(md5);
    SchemaId schemaId = new SchemaId(md5);
    VersionedSchema writerSchema = _schemaSet.getById(schemaId);

    if (null == writerSchema)
    {
      LOG.error("Unable to find schema for id " + schemaId + "; event = " + e);
      throw new DatabusRuntimeException("No schema available to decode event " + e);
    }

    ByteBuffer valueBuffer = e.value();
    byte[] valueBytes = new byte[valueBuffer.remaining()];
    valueBuffer.get(valueBytes);
    try
    {
      //JsonDecoder jsonDec = new JsonDecoder(sourceSchema.getSchema(),new ByteArrayInputStream(valueBytes));
      binDecoder.set(DecoderFactory.defaultFactory().createBinaryDecoder(valueBytes, binDecoder.get()));
      SpecificDatumReader<SpecificRecord> reader =
          new SpecificDatumReader<SpecificRecord>(writerSchema.getSchema(), reuse.getSchema());
      return targetClass.cast(reader.read(reuse, binDecoder.get()));
    }
    catch (IOException e1)
    {
      LOG.error("getTypedValue IO error (" + e1.getMessage() + ") for event " + e, e1);
View Full Code Here

Examples of com.linkedin.databus2.schemas.VersionedSchema

  public void dumpEventValueInJSON(DbusEvent e, OutputStream out)
  {
    byte[] md5 = new byte[16];
    e.schemaId(md5);
    SchemaId schemaId = new SchemaId(md5);
    VersionedSchema sourceSchema = _schemaSet.getById(schemaId);
    ByteBuffer valueBuffer = e.value();
    byte[] valueBytes = new byte[valueBuffer.remaining()];
    valueBuffer.get(valueBytes);

    try {
      Schema schema = sourceSchema.getSchema();
      DatumReader<Object> reader = new GenericDatumReader<Object>(schema);
      binDecoder.set(DecoderFactory.defaultFactory().createBinaryDecoder(valueBytes, binDecoder.get()));

      Object datum = reader.read(null, binDecoder.get());
      DatumWriter<Object> writer = new GenericDatumWriter<Object>(schema);
View Full Code Here

Examples of com.linkedin.databus2.schemas.VersionedSchema

  public VersionedSchema getPayloadSchema(DbusEvent e)
  {
    byte[] md5 = new byte[16];
    e.schemaId(md5);
    SchemaId schemaId = new SchemaId(md5);
    VersionedSchema writerSchema = _schemaSet.getById(schemaId);
    return writerSchema;
  }
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.