public static Optional fromJson()

in xtable-api/src/main/java/org/apache/xtable/model/metadata/TableSyncMetadata.java [91:112]


  public static Optional<TableSyncMetadata> fromJson(String metadata) {
    if (metadata == null || metadata.isEmpty()) {
      return Optional.empty();
    } else {
      try {
        TableSyncMetadata parsedMetadata = MAPPER.readValue(metadata, TableSyncMetadata.class);
        if (parsedMetadata.getLastInstantSynced() == null) {
          throw new ParseException("LastInstantSynced is required in TableSyncMetadata");
        }
        if (parsedMetadata.getVersion() > CURRENT_VERSION) {
          throw new ParseException(
              "Unable handle metadata version: "
                  + parsedMetadata.getVersion()
                  + " max supported version: "
                  + CURRENT_VERSION);
        }
        return Optional.of(parsedMetadata);
      } catch (IOException e) {
        throw new ParseException("Failed to deserialize TableSyncMetadata", e);
      }
    }
  }