Package com.linkedin.databus2.schemas

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


      }
    }
    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

  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

  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

    {
      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);
    }
View Full Code Here

    if (bootstrapOn)
    {
      ++ _bstEventsNum;
      if (_bstEventsNum % BOOTSTRAP_EVENT_LOG_FREQUENCY == 1)
      {
        final VersionedSchema payloadSchema = eventDecoder.getPayloadSchema(e);
        String schemaName = (null == payloadSchema) ? "unknown source: " + e.getSourceId() :
                            payloadSchema.getSchema().getName();
        String keyStr = null;
        try
        {
          if (e.isKeyString())
          {
View Full Code Here

    PhysicalSourceStaticConfig pssc = buildSimplePssc(sourceIds, sourceNames, uri);
    LOG.info("Uri=" + uri);

    // create schema
    Schema s = Schema.parse(sourceAvroSchema);
    VersionedSchema vs =
        new VersionedSchema(new VersionedSchemaId("source1", (short) 3), s, null);

    // mock for schema registry
    SchemaRegistryService srs = EasyMock.createMock(SchemaRegistryService.class);
    EasyMock.expect(srs.fetchLatestVersionedSchemaBySourceName("source1"))
            .andReturn(vs)
View Full Code Here

    try
    {
      final long timestampInNanos = bh.getTimestamp() * 1000000L;
      final long scn = scn(_currFileNum, (int)bh.getPosition());
      final boolean isReplicated = false;
      VersionedSchema vs = _schemaRegistryService.fetchLatestVersionedSchemaBySourceName(_tableUriToSrcNameMap.get(_currTableName));
      Schema schema = vs.getSchema();

      if ( _log.isDebugEnabled())
        _log.debug("File Number :" + _currFileNum + ", Position :" + (int)bh.getPosition() + ", SCN =" + scn);

      for(Row r: rl)
View Full Code Here

      GenericRecord metadata1 = avroDecoder.getMetadata(e, null);

      Schema pschema = Schema.createUnion(Arrays.asList(avroDecoder.getPayloadSchema(e).getSchema(),
                                                        Schema.create(Type.NULL)));
      Field pfield = new Field("payload", pschema, "payload", null);
      VersionedSchema metaschema = avroDecoder.getMetadataSchema(e);
      Schema mschema = null != metaschema ?
          Schema.createUnion(Arrays.asList(metaschema.getSchema(), Schema.create(Type.NULL))) :
          Schema.createUnion(Arrays.asList(Schema.create(Type.INT), Schema.create(Type.NULL)));
      Field mfield = new Field("metadata", mschema, "metadata", null);
      Schema combined = Schema.createRecord(Arrays.asList(pfield, mfield));
      GenericRecord r = new GenericData.Record(combined);
      r.put(0, payload1);
View Full Code Here

    if (versionedSchemas != null && !versionedSchemas.isEmpty())
    {
      for (SchemaId id:  versionedSchemas.keySet())
      {
        VersionedSchema entry = versionedSchemas.get(id);
        if (entry.getOrigSchemaStr() == null)
        {
          throw new RequestProcessingException("Null schema string for metadata version " + entry.getVersion());
        }
        registeredMetadata.add(new RegisterResponseMetadataEntry((short)entry.getVersion(),
                                                                 entry.getOrigSchemaStr(),
                                                                 id.getByteArray()));
      }
    }
  }
View Full Code Here

TOP

Related Classes of com.linkedin.databus2.schemas.VersionedSchema

Copyright © 2018 www.massapicom. 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.