private void testRoundTrip(HiveColumnHandle expected) {
    String json = codec.toJson(expected);
    HiveColumnHandle actual = codec.fromJson(json);

    assertEquals(actual.getClientId(), expected.getClientId());
    assertEquals(actual.getName(), expected.getName());
    assertEquals(actual.getHiveType(), expected.getHiveType());
    assertEquals(actual.getHiveColumnIndex(), expected.getHiveColumnIndex());
    assertEquals(actual.isPartitionKey(), expected.isPartitionKey());
  }
Пример #2
0
  @Test
  public void testJsonRoundTrip() {
    JsonCodec<LocalFileSplit> codec = jsonCodec(LocalFileSplit.class);
    String json = codec.toJson(split);
    LocalFileSplit copy = codec.fromJson(json);

    assertEquals(copy.getAddress(), split.getAddress());
    assertEquals(copy.getTableName(), split.getTableName());
    assertEquals(copy.getEffectivePredicate(), split.getEffectivePredicate());

    assertEquals(copy.getAddresses(), ImmutableList.of(address));
    assertEquals(copy.isRemotelyAccessible(), false);
  }
Пример #3
0
  @Test
  public void testJsonRoundTrip() {
    Properties schema = new Properties();
    schema.setProperty("foo", "bar");
    schema.setProperty("bar", "baz");

    ImmutableList<HivePartitionKey> partitionKeys =
        ImmutableList.of(
            new HivePartitionKey("a", HIVE_STRING, "apple"),
            new HivePartitionKey("b", HiveType.HIVE_LONG, "42"));
    ImmutableList<HostAddress> addresses =
        ImmutableList.of(
            HostAddress.fromParts("127.0.0.1", 44), HostAddress.fromParts("127.0.0.1", 45));
    HiveSplit expected =
        new HiveSplit(
            "clientId",
            "db",
            "table",
            "partitionId",
            "path",
            42,
            88,
            schema,
            partitionKeys,
            addresses,
            OptionalInt.empty(),
            true,
            TupleDomain.<HiveColumnHandle>all(),
            ImmutableMap.of(1, HIVE_STRING));

    String json = codec.toJson(expected);
    HiveSplit actual = codec.fromJson(json);

    assertEquals(actual.getClientId(), expected.getClientId());
    assertEquals(actual.getDatabase(), expected.getDatabase());
    assertEquals(actual.getTable(), expected.getTable());
    assertEquals(actual.getPartitionName(), expected.getPartitionName());
    assertEquals(actual.getPath(), expected.getPath());
    assertEquals(actual.getStart(), expected.getStart());
    assertEquals(actual.getLength(), expected.getLength());
    assertEquals(actual.getSchema(), expected.getSchema());
    assertEquals(actual.getPartitionKeys(), expected.getPartitionKeys());
    assertEquals(actual.getAddresses(), expected.getAddresses());
    assertEquals(actual.getColumnCoercions(), expected.getColumnCoercions());
    assertEquals(actual.isForceLocalScheduling(), expected.isForceLocalScheduling());
  }
Пример #4
0
  @Test
  public void testRoundTrip() {
    ObjectMapperProvider objectMapperProvider = new ObjectMapperProvider();
    objectMapperProvider.setJsonDeserializers(
        ImmutableMap.<Class<?>, JsonDeserializer<?>>of(
            Type.class, new TypeDeserializer(new TypeRegistry())));
    JsonCodec<Signature> codec =
        new JsonCodecFactory(objectMapperProvider, true).jsonCodec(Signature.class);

    Signature expected =
        new Signature("function", BIGINT, ImmutableList.of(BOOLEAN, DOUBLE, VARCHAR));

    String json = codec.toJson(expected);
    Signature actual = codec.fromJson(json);

    assertEquals(actual.getName(), expected.getName());
    assertEquals(actual.getReturnType(), expected.getReturnType());
    assertEquals(actual.getArgumentTypes(), expected.getArgumentTypes());
  }
 public void save(Deployment deployment) throws IOException {
   String json = jsonCodec.toJson(DeploymentRepresentation.from(deployment));
   Files.write(json, deploymentFile, UTF_8);
 }
 private static void assertJsonRoundTrip(ClientTypeSignature signature) {
   String json = CLIENT_TYPE_SIGNATURE_CODEC.toJson(signature);
   ClientTypeSignature copy = CLIENT_TYPE_SIGNATURE_CODEC.fromJson(json);
   assertEquals(copy, signature);
 }