All Downloads are FREE. Search and download functionalities are using the official Maven repository.

io.camunda.connector.kafka.converter.JsonEnvelopeDecoder Maven / Gradle / Ivy

There is a newer version: 8.6.2
Show newest version
/*
 * Copyright Camunda Services GmbH and/or licensed to Camunda Services GmbH
 * under one or more contributor license agreements. Licensed under a proprietary license.
 * See the License.txt file for more information. You may not use this file
 * except in compliance with the proprietary license.
 */

package io.camunda.connector.kafka.converter;

import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.node.ObjectNode;
import io.confluent.kafka.schemaregistry.json.JsonSchema;
import io.confluent.kafka.schemaregistry.json.JsonSchemaUtils;
import java.util.Map;

public class JsonEnvelopeDecoder {
  private final ObjectMapper objectMapper = new ObjectMapper();

  public ObjectNode decode(String schema, Map payload) {
    JsonSchema jsonSchema = new JsonSchema(schema);
    JsonNode jsonPayload = objectMapper.convertValue(payload, ObjectNode.class);

    return JsonSchemaUtils.envelope(jsonSchema, jsonPayload);
  }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy