@Override public long getLong() { try { long longValue; if (value.isIntegralNumber() && !value.isBigInteger()) { longValue = value.longValue(); if (longValue >= minValue && longValue <= maxValue) { return longValue; } } else if (value.isValueNode()) { longValue = parseLong(value.asText()); if (longValue >= minValue && longValue <= maxValue) { return longValue; } } } catch (NumberFormatException ignore) { // ignore } throw new PrestoException( DECODER_CONVERSION_NOT_SUPPORTED, format("could not parse value '%s' as '%s' for column '%s'", value.asText(), columnHandle.getType(), columnHandle.getName())); }
@Override protected long getMillis() { if (value.isIntegralNumber() && !value.isBigInteger()) { return value.longValue(); } if (value.isValueNode()) { try { return parseLong(value.asText()); } catch (NumberFormatException e) { throw new PrestoException( DECODER_CONVERSION_NOT_SUPPORTED, format("could not parse value '%s' as '%s' for column '%s'", value.asText(), columnHandle.getType(), columnHandle.getName())); } } throw new PrestoException( DECODER_CONVERSION_NOT_SUPPORTED, format("could not parse non-value node as '%s' for column '%s'", columnHandle.getType(), columnHandle.getName())); } }
@Override protected long getMillis() { try { if (value.isIntegralNumber() && !value.isBigInteger()) { return multiplyExact(value.longValue(), 1000); } if (value.isValueNode()) { return multiplyExact(parseLong(value.asText()), 1000); } throw new PrestoException( DECODER_CONVERSION_NOT_SUPPORTED, format("could not parse non-value node as '%s' for column '%s'", columnHandle.getType(), columnHandle.getName())); } catch (NumberFormatException | ArithmeticException e) { throw new PrestoException( DECODER_CONVERSION_NOT_SUPPORTED, format("could not parse value '%s' as '%s' for column '%s'", value.asText(), columnHandle.getType(), columnHandle.getName())); } } }
if ( json.isBigInteger() ) { return json.asInt();
if ( json.isBigInteger() ) { return json.asInt();
public Map<String, Object> getParams(JsonNode next) { if (next.has("params")) { Iterator<Entry<String, JsonNode>> it2 = next.get("params").fields(); Map<String, Object> params = new HashMap<String, Object>(); while (it2.hasNext()) { Entry<String, JsonNode> param = it2.next(); JsonNode value = param.getValue(); if (value.isTextual()) { params.put(param.getKey(), value.asText()); } else if (value.isInt()) { params.put(param.getKey(), value.asInt()); } else if (value.isBoolean()) { params.put(param.getKey(), value.asBoolean()); } else if (value.isDouble() || value.isFloat() || value.isBigDecimal()) { params.put(param.getKey(), value.asDouble()); } else if (value.isLong() || value.isBigInteger()) { params.put(param.getKey(), value.asLong()); } else { params.put(param.getKey(), value); } params.put(param.getKey(), param.getValue().asText()); } return params; } return null; }
public Map<String, Object> getParams(JsonNode next) { if (next.has("params")) { Iterator<Entry<String, JsonNode>> it2 = next.get("params").fields(); Map<String, Object> params = new HashMap<String, Object>(); while (it2.hasNext()) { Entry<String, JsonNode> param = it2.next(); JsonNode value = param.getValue(); if (value.isTextual()) { params.put(param.getKey(), value.asText()); } else if (value.isInt()) { params.put(param.getKey(), value.asInt()); } else if (value.isBoolean()) { params.put(param.getKey(), value.asBoolean()); } else if (value.isDouble() || value.isFloat() || value.isBigDecimal()) { params.put(param.getKey(), value.asDouble()); } else if (value.isLong() || value.isBigInteger()) { params.put(param.getKey(), value.asLong()); } else { params.put(param.getKey(), value); } params.put(param.getKey(), param.getValue().asText()); } return params; } return null; }
@Override public long getLong() { try { long longValue; if (value.isIntegralNumber() && !value.isBigInteger()) { longValue = value.longValue(); if (longValue >= minValue && longValue <= maxValue) { return longValue; } } else if (value.isValueNode()) { longValue = parseLong(value.asText()); if (longValue >= minValue && longValue <= maxValue) { return longValue; } } } catch (NumberFormatException ignore) { // ignore } throw new PrestoException( DECODER_CONVERSION_NOT_SUPPORTED, format("could not parse value '%s' as '%s' for column '%s'", value.asText(), columnHandle.getType(), columnHandle.getName())); }
@Override public long getLong() { try { long longValue; if (value.isIntegralNumber() && !value.isBigInteger()) { longValue = value.longValue(); if (longValue >= minValue && longValue <= maxValue) { return longValue; } } else if (value.isValueNode()) { longValue = parseLong(value.asText()); if (longValue >= minValue && longValue <= maxValue) { return longValue; } } } catch (NumberFormatException ignore) { // ignore } throw new PrestoException( DECODER_CONVERSION_NOT_SUPPORTED, format("could not parse value '%s' as '%s' for column '%s'", value.asText(), columnHandle.getType(), columnHandle.getName())); }
@Override public long getLong() { try { long longValue; if (value.isIntegralNumber() && !value.isBigInteger()) { longValue = value.longValue(); if (longValue >= minValue && longValue <= maxValue) { return longValue; } } else if (value.isValueNode()) { longValue = parseLong(value.asText()); if (longValue >= minValue && longValue <= maxValue) { return longValue; } } } catch (NumberFormatException ignore) { // ignore } throw new PrestoException( DECODER_CONVERSION_NOT_SUPPORTED, format("could not parse value '%s' as '%s' for column '%s'", value.asText(), columnHandle.getType(), columnHandle.getName())); }
@Override protected long getMillis() { if (value.isIntegralNumber() && !value.isBigInteger()) { return value.longValue(); } if (value.isValueNode()) { try { return parseLong(value.asText()); } catch (NumberFormatException e) { throw new PrestoException( DECODER_CONVERSION_NOT_SUPPORTED, format("could not parse value '%s' as '%s' for column '%s'", value.asText(), columnHandle.getType(), columnHandle.getName())); } } throw new PrestoException( DECODER_CONVERSION_NOT_SUPPORTED, format("could not parse non-value node as '%s' for column '%s'", columnHandle.getType(), columnHandle.getName())); } }
@Override protected long getMillis() { if (value.isIntegralNumber() && !value.isBigInteger()) { return value.longValue(); } if (value.isValueNode()) { try { return parseLong(value.asText()); } catch (NumberFormatException e) { throw new PrestoException( DECODER_CONVERSION_NOT_SUPPORTED, format("could not parse value '%s' as '%s' for column '%s'", value.asText(), columnHandle.getType(), columnHandle.getName())); } } throw new PrestoException( DECODER_CONVERSION_NOT_SUPPORTED, format("could not parse non-value node as '%s' for column '%s'", columnHandle.getType(), columnHandle.getName())); } }
@Override protected long getMillis() { if (value.isIntegralNumber() && !value.isBigInteger()) { return value.longValue(); } if (value.isValueNode()) { try { return parseLong(value.asText()); } catch (NumberFormatException e) { throw new PrestoException( DECODER_CONVERSION_NOT_SUPPORTED, format("could not parse value '%s' as '%s' for column '%s'", value.asText(), columnHandle.getType(), columnHandle.getName())); } } throw new PrestoException( DECODER_CONVERSION_NOT_SUPPORTED, format("could not parse non-value node as '%s' for column '%s'", columnHandle.getType(), columnHandle.getName())); } }
@Override protected long getMillis() { try { if (value.isIntegralNumber() && !value.isBigInteger()) { return multiplyExact(value.longValue(), 1000); } if (value.isValueNode()) { return multiplyExact(parseLong(value.asText()), 1000); } throw new PrestoException( DECODER_CONVERSION_NOT_SUPPORTED, format("could not parse non-value node as '%s' for column '%s'", columnHandle.getType(), columnHandle.getName())); } catch (NumberFormatException | ArithmeticException e) { throw new PrestoException( DECODER_CONVERSION_NOT_SUPPORTED, format("could not parse value '%s' as '%s' for column '%s'", value.asText(), columnHandle.getType(), columnHandle.getName())); } } }
@Override protected long getMillis() { try { if (value.isIntegralNumber() && !value.isBigInteger()) { return multiplyExact(value.longValue(), 1000); } if (value.isValueNode()) { return multiplyExact(parseLong(value.asText()), 1000); } throw new PrestoException( DECODER_CONVERSION_NOT_SUPPORTED, format("could not parse non-value node as '%s' for column '%s'", columnHandle.getType(), columnHandle.getName())); } catch (NumberFormatException | ArithmeticException e) { throw new PrestoException( DECODER_CONVERSION_NOT_SUPPORTED, format("could not parse value '%s' as '%s' for column '%s'", value.asText(), columnHandle.getType(), columnHandle.getName())); } } }
@Override protected long getMillis() { try { if (value.isIntegralNumber() && !value.isBigInteger()) { return multiplyExact(value.longValue(), 1000); } if (value.isValueNode()) { return multiplyExact(parseLong(value.asText()), 1000); } throw new PrestoException( DECODER_CONVERSION_NOT_SUPPORTED, format("could not parse non-value node as '%s' for column '%s'", columnHandle.getType(), columnHandle.getName())); } catch (NumberFormatException | ArithmeticException e) { throw new PrestoException( DECODER_CONVERSION_NOT_SUPPORTED, format("could not parse value '%s' as '%s' for column '%s'", value.asText(), columnHandle.getType(), columnHandle.getName())); } } }
private RelationalOperand parseRelationalOperand(JsonNode node) { Object value; if (node.isTextual()) { value = node.textValue(); } else if (node.isBoolean()) { value = node.booleanValue(); } else if (node.isInt()) { value = node.intValue(); } else if (node.isLong()) { value = node.longValue(); } else if (node.isBigInteger()) { value = node.bigIntegerValue(); } else if (node.isFloat()) { value = node.floatValue(); } else if (node.isDouble()) { value = node.doubleValue(); } else if (node.isBigDecimal()) { value = node.decimalValue(); } else if (node.isNull()) { value = null; } else { throw new IllegalArgumentException("Unexpected value of: " + node); } return new Value(value); }
} else if (datum.isFloat()) { record.put(fieldName, datum.floatValue()); } else if (datum.isBigInteger()) { record.put(fieldName, datum.bigIntegerValue()); } else if (datum.isBigDecimal()) {
@Override protected Number _fromJson(JsonNode json) { if (json.isBigDecimal()) { return json.decimalValue(); } else if (json.isBigInteger()) { return json.bigIntegerValue(); } // no methods for Byte, even though numberNode(Byte) is provided. // experimentations shows that bytes show up as ints. Oh well.. else if (json.isDouble()) { return json.doubleValue(); } else if (json.isFloat()) { return json.floatValue(); } else if (json.isInt()) { return json.intValue(); } else if (json.isLong()) { return json.longValue(); } else if (json.isShort()) { return json.shortValue(); } else { return null; } }
private Object handleNumberNode(JsonNode valueNode, JsonField jsonField) { if (valueNode.isInt()) { jsonField.setFieldType(FieldType.INTEGER); return valueNode.intValue(); } else if (valueNode.isDouble()) { jsonField.setFieldType(FieldType.DOUBLE); return valueNode.doubleValue(); } else if (valueNode.isBigDecimal()) { jsonField.setFieldType(FieldType.DECIMAL); return valueNode.decimalValue(); } else if (valueNode.isFloat()) { jsonField.setFieldType(FieldType.DOUBLE); return valueNode.floatValue(); } else if (valueNode.isLong()) { jsonField.setFieldType(FieldType.LONG); return valueNode.longValue(); } else if (valueNode.isShort()) { jsonField.setFieldType(FieldType.SHORT); return valueNode.shortValue(); } else if (valueNode.isBigInteger()) { jsonField.setFieldType(FieldType.BIG_INTEGER); return valueNode.bigIntegerValue(); } else { jsonField.setFieldType(FieldType.NUMBER); return valueNode.numberValue(); } }