Search in sources :

Example 16 with JsonObjectMapperProvider

use of com.facebook.airlift.json.JsonObjectMapperProvider in project presto by prestodb.

the class TestTupleDomain method testJsonSerialization.

@Test
public void testJsonSerialization() throws Exception {
    TestingTypeManager typeManager = new TestingTypeManager();
    TestingBlockEncodingSerde blockEncodingSerde = new TestingBlockEncodingSerde();
    ObjectMapper mapper = new JsonObjectMapperProvider().get().registerModule(new SimpleModule().addDeserializer(ColumnHandle.class, new JsonDeserializer<ColumnHandle>() {

        @Override
        public ColumnHandle deserialize(JsonParser jsonParser, DeserializationContext deserializationContext) throws IOException {
            return new JsonObjectMapperProvider().get().readValue(jsonParser, TestingColumnHandle.class);
        }
    }).addDeserializer(Type.class, new TestingTypeDeserializer(typeManager)).addSerializer(Block.class, new TestingBlockJsonSerde.Serializer(blockEncodingSerde)).addDeserializer(Block.class, new TestingBlockJsonSerde.Deserializer(blockEncodingSerde)));
    TupleDomain<ColumnHandle> tupleDomain = TupleDomain.all();
    assertEquals(tupleDomain, mapper.readValue(mapper.writeValueAsString(tupleDomain), new TypeReference<TupleDomain<ColumnHandle>>() {
    }));
    tupleDomain = TupleDomain.none();
    assertEquals(tupleDomain, mapper.readValue(mapper.writeValueAsString(tupleDomain), new TypeReference<TupleDomain<ColumnHandle>>() {
    }));
    tupleDomain = TupleDomain.fromFixedValues(ImmutableMap.of(A, NullableValue.of(BIGINT, 1L), B, NullableValue.asNull(VARCHAR)));
    assertEquals(tupleDomain, mapper.readValue(mapper.writeValueAsString(tupleDomain), new TypeReference<TupleDomain<ColumnHandle>>() {
    }));
}
Also used : TestingColumnHandle(com.facebook.presto.spi.TestingColumnHandle) ColumnHandle(com.facebook.presto.spi.ColumnHandle) TestingBlockEncodingSerde(com.facebook.presto.common.block.TestingBlockEncodingSerde) IOException(java.io.IOException) TestingColumnHandle(com.facebook.presto.spi.TestingColumnHandle) Type(com.facebook.presto.common.type.Type) TestingTypeDeserializer(com.facebook.presto.common.type.TestingTypeDeserializer) JsonObjectMapperProvider(com.facebook.airlift.json.JsonObjectMapperProvider) JsonDeserializer(com.fasterxml.jackson.databind.JsonDeserializer) TestingTypeDeserializer(com.facebook.presto.common.type.TestingTypeDeserializer) DeserializationContext(com.fasterxml.jackson.databind.DeserializationContext) Block(com.facebook.presto.common.block.Block) TestingBlockJsonSerde(com.facebook.presto.common.block.TestingBlockJsonSerde) TypeReference(com.fasterxml.jackson.core.type.TypeReference) TestingTypeManager(com.facebook.presto.common.type.TestingTypeManager) ObjectMapper(com.fasterxml.jackson.databind.ObjectMapper) SimpleModule(com.fasterxml.jackson.databind.module.SimpleModule) JsonParser(com.fasterxml.jackson.core.JsonParser) Test(org.testng.annotations.Test)

Example 17 with JsonObjectMapperProvider

use of com.facebook.airlift.json.JsonObjectMapperProvider in project presto by prestodb.

the class TestHttpQueryStatsClient method setUp.

@BeforeMethod
public void setUp() {
    ObjectMapper objectMapper = new JsonObjectMapperProvider().get();
    TestingHttpClient httpClient = new TestingHttpClient(httpRequest -> httpResponse);
    this.queryStatsClient = new HttpQueryStatsClient(httpClient, objectMapper, BASE_URL);
}
Also used : JsonObjectMapperProvider(com.facebook.airlift.json.JsonObjectMapperProvider) TestingHttpClient(com.facebook.airlift.http.client.testing.TestingHttpClient) ObjectMapper(com.fasterxml.jackson.databind.ObjectMapper) BeforeMethod(org.testng.annotations.BeforeMethod)

Example 18 with JsonObjectMapperProvider

use of com.facebook.airlift.json.JsonObjectMapperProvider in project presto by prestodb.

the class JsonUtils method parseJson.

public static <T> T parseJson(Path path, Class<T> javaType) {
    if (!path.isAbsolute()) {
        path = path.toAbsolutePath();
    }
    checkArgument(exists(path), "File does not exist: %s", path);
    checkArgument(isReadable(path), "File is not readable: %s", path);
    try {
        byte[] json = Files.readAllBytes(path);
        ObjectMapper mapper = new JsonObjectMapperProvider().get().enable(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES);
        return mapper.readValue(json, javaType);
    } catch (IOException e) {
        throw new IllegalArgumentException(format("Invalid JSON file '%s' for '%s'", path, javaType), e);
    }
}
Also used : JsonObjectMapperProvider(com.facebook.airlift.json.JsonObjectMapperProvider) IOException(java.io.IOException) ObjectMapper(com.fasterxml.jackson.databind.ObjectMapper)

Example 19 with JsonObjectMapperProvider

use of com.facebook.airlift.json.JsonObjectMapperProvider in project presto by prestodb.

the class TestQueues method setup.

@BeforeMethod
public void setup() throws Exception {
    queryRunner = createQueryRunner();
    client = new JettyHttpClient();
    objectMapper = new JsonObjectMapperProvider().get();
    objectMapper.registerModule(new SimpleModule() {

        {
            addKeyDeserializer(VariableReferenceExpression.class, new Serialization.VariableReferenceExpressionDeserializer(createTestFunctionAndTypeManager()));
        }
    });
}
Also used : JettyHttpClient(com.facebook.airlift.http.client.jetty.JettyHttpClient) JsonObjectMapperProvider(com.facebook.airlift.json.JsonObjectMapperProvider) VariableReferenceExpression(com.facebook.presto.spi.relation.VariableReferenceExpression) SimpleModule(com.fasterxml.jackson.databind.module.SimpleModule) BeforeMethod(org.testng.annotations.BeforeMethod)

Aggregations

JsonObjectMapperProvider (com.facebook.airlift.json.JsonObjectMapperProvider)19 ObjectMapper (com.fasterxml.jackson.databind.ObjectMapper)12 Test (org.testng.annotations.Test)12 Type (com.facebook.presto.common.type.Type)9 SimpleModule (com.fasterxml.jackson.databind.module.SimpleModule)9 TestingTypeDeserializer (com.facebook.presto.common.type.TestingTypeDeserializer)7 TestingTypeManager (com.facebook.presto.common.type.TestingTypeManager)7 Block (com.facebook.presto.common.block.Block)6 TestingBlockEncodingSerde (com.facebook.presto.common.block.TestingBlockEncodingSerde)6 TestingBlockJsonSerde (com.facebook.presto.common.block.TestingBlockJsonSerde)6 TypeReference (com.fasterxml.jackson.core.type.TypeReference)4 IOException (java.io.IOException)3 JsonCodecFactory (com.facebook.airlift.json.JsonCodecFactory)2 ColumnHandle (com.facebook.presto.spi.ColumnHandle)2 TypeDeserializer (com.facebook.presto.type.TypeDeserializer)2 JsonParser (com.fasterxml.jackson.core.JsonParser)2 DeserializationContext (com.fasterxml.jackson.databind.DeserializationContext)2 JsonDeserializer (com.fasterxml.jackson.databind.JsonDeserializer)2 File (java.io.File)2 Map (java.util.Map)2