private static Date toDate(final String str) { try { return new SimpleDateFormat(dateFormatString).parse(str); } catch (final ParseException e) { final Date date = ConvertToDateTransformer.getInternalInstance().transformValue(str); if (date == null) { logger.error("Could not parse date: " + str, e); throw new IllegalArgumentException(e); } else { return date; } } }
@Override public Date[] transform(final InputRow inputRow) { final Date[] result = new Date[input.length]; for (int i = 0; i < input.length; i++) { final Object value = inputRow.getValue(input[i]); Date d = transformValue(value); if (d == null) { d = nullReplacement; } result[i] = d; } return result; }
protected static Number convertToDaysSinceEpoch(final String str) { if (str == null) { return null; } final LocalDate epoch = new LocalDate(1970, 1, 1); final Date date = ConvertToDateTransformer.getInternalInstance().transformValue(str); if (date == null) { logger.warn("Could not parse date string: '{}', returning null metric value.", str); return null; } return Days.daysBetween(epoch, new LocalDate(date)).getDays(); }
private static Comparable<?> getComparableValue(final Row row, final int columnIndex, final boolean isNumber, final boolean isDate) { final String value = (String) row.getValue(columnIndex); if (isNumber) { final Number result = ConvertToNumberTransformer.transformValue(value); if (result instanceof Comparable) { return (Comparable<?>) result; } return NumberComparator.getComparable(result); } if (isDate) { return ConvertToDateTransformer.getInternalInstance().transformValue(value); } return value.toLowerCase(); } }
rowNanos = ts.getNanos(); } else if (lastModified instanceof String) { final Date date = ConvertToDateTransformer.getInternalInstance().transformValue(lastModified); if (date == null) { rowMillis = -1L;
newTimestamp = ConvertToDateTransformer.getInternalInstance().transformValue(dateInput); if (newTimestamp == null) { throw new IllegalArgumentException("Could not convert input '" + dateInput + "' to date.");
private Object toOperand(final Object value) { final Class<?> dataType = inputColumn.getDataType(); if (ReflectionUtils.isBoolean(dataType)) { return ConvertToBooleanTransformer.transformValue(value, ConvertToBooleanTransformer.DEFAULT_TRUE_TOKENS, ConvertToBooleanTransformer.DEFAULT_FALSE_TOKENS); } else if (ReflectionUtils.isDate(dataType)) { return ConvertToDateTransformer.getInternalInstance().transformValue(value); } else if (ReflectionUtils.isNumber(dataType)) { return ConvertToNumberTransformer.transformValue(value); } else if (ReflectionUtils.isString(dataType)) { return ConvertToStringTransformer.transformValue(value); } else { return value; } }
private Object toOperand(final Object value) { if (value == null) { return null; } final Class<?> dataType = inputColumn.getDataType(); if (ReflectionUtils.isBoolean(dataType)) { return ConvertToBooleanTransformer.transformValue(value, ConvertToBooleanTransformer.DEFAULT_TRUE_TOKENS, ConvertToBooleanTransformer.DEFAULT_FALSE_TOKENS); } else if (ReflectionUtils.isDate(dataType)) { return ConvertToDateTransformer.getInternalInstance().transformValue(value); } else if (ReflectionUtils.isNumber(dataType)) { return ConvertToNumberTransformer.transformValue(value); } else if (ReflectionUtils.isString(dataType)) { if (operator == Operator.IN && value instanceof String) { return csvStringToArray((String) value); } else { return ConvertToStringTransformer.transformValue(value); } } else { return value; } }