private static BitSet scanNullFields(Row row, boolean hasNullableFields) { BitSet nullFields = new BitSet(row.getFieldCount()); if (hasNullableFields) { for (int idx = 0; idx < row.getFieldCount(); ++idx) { if (row.getValue(idx) == null) { nullFields.set(idx); } } } return nullFields; } }
public static String beamRow2CsvLine(Row row, CSVFormat csvFormat) { StringWriter writer = new StringWriter(); try (CSVPrinter printer = csvFormat.print(writer)) { for (int i = 0; i < row.getFieldCount(); i++) { printer.print(row.getValue(i).toString()); } printer.println(); } catch (IOException e) { throw new IllegalArgumentException("encodeRecord failed!", e); } return writer.toString(); }
@SuppressWarnings("unchecked") static void encodeDelegate( Coder[] coders, Row value, OutputStream outputStream, boolean hasNullableFields) throws IOException { NULL_LIST_CODER.encode(scanNullFields(value, hasNullableFields), outputStream); for (int idx = 0; idx < value.getFieldCount(); ++idx) { Object fieldValue = value.getValue(idx); if (value.getValue(idx) != null) { coders[idx].encode(fieldValue, outputStream); } } }
@Override public int hashCode() { int h = 1; for (int i = 0; i < getFieldCount(); i++) { h = 31 * h + Equals.deepHashCode(getValue(i), getSchema().getField(i).getType()); } return h; }
List<FieldValueSetter> setters = setterFactory.createSetters(clazz, schema); checkState( setters.size() == row.getFieldCount(), "Did not have a matching number of setters and fields."); for (int i = 0; i < row.getFieldCount(); ++i) { FieldType type = schema.getField(i).getType(); FieldValueSetter setter = setters.get(i);
@Override public CovarianceAccumulator addInput(CovarianceAccumulator currentVariance, Row rawInput) { if (rawInput == null) { return currentVariance; } checkArgument(rawInput.getFieldCount() > 1); return currentVariance.combineWith( CovarianceAccumulator.ofSingleElement( SqlFunctions.toBigDecimal((Object) rawInput.getValue(0)), SqlFunctions.toBigDecimal((Object) rawInput.getValue(1)))); }
@Override public boolean equals(Object o) { if (this == o) { return true; } if (!(o instanceof Row)) { return false; } Row other = (Row) o; if (!Objects.equals(getSchema(), other.getSchema())) { return false; } for (int i = 0; i < getFieldCount(); i++) { if (!Equals.deepEquals(getValue(i), other.getValue(i), getSchema().getField(i).getType())) { return false; } } return true; }
public static TableRow toTableRow(Row row) { TableRow output = new TableRow(); for (int i = 0; i < row.getFieldCount(); i++) { Object value = row.getValue(i);
assertEquals(1, tableWithRows.getRows().size()); Row row = tableWithRows.getRows().get(0); assertEquals(3, row.getFieldCount());
@Test public void testToRow() throws NoSuchSchemaException { SchemaRegistry registry = SchemaRegistry.createDefault(); SimplePOJO pojo = createSimple("string"); Row row = registry.getToRowFunction(SimplePOJO.class).apply(pojo); assertEquals(12, row.getFieldCount()); assertEquals("string", row.getString("str")); assertEquals((byte) 1, (Object) row.getByte("aByte")); assertEquals((short) 2, (Object) row.getInt16("aShort")); assertEquals((int) 3, (Object) row.getInt32("anInt")); assertEquals((long) 4, (Object) row.getInt64("aLong")); assertEquals(true, row.getBoolean("aBoolean")); assertEquals(DATE.toInstant(), row.getDateTime("dateTime")); assertEquals(INSTANT, row.getDateTime("instant").toInstant()); assertArrayEquals(BYTE_ARRAY, row.getBytes("bytes")); assertArrayEquals(BYTE_BUFFER.array(), row.getBytes("byteBuffer")); assertEquals(BigDecimal.ONE, row.getDecimal("bigDecimal")); assertEquals("stringbuilder", row.getString("stringBuilder")); }
@Test public void testToRow() throws NoSuchSchemaException { SchemaRegistry registry = SchemaRegistry.createDefault(); SimpleBean bean = createSimple("string"); Row row = registry.getToRowFunction(SimpleBean.class).apply(bean); assertEquals(12, row.getFieldCount()); assertEquals("string", row.getString("str")); assertEquals((byte) 1, (Object) row.getByte("aByte")); assertEquals((short) 2, (Object) row.getInt16("aShort")); assertEquals((int) 3, (Object) row.getInt32("anInt")); assertEquals((long) 4, (Object) row.getInt64("aLong")); assertEquals(true, (Object) row.getBoolean("aBoolean")); assertEquals(DATE.toInstant(), row.getDateTime("dateTime")); assertEquals(DATE.toInstant(), row.getDateTime("instant")); assertArrayEquals(BYTE_ARRAY, row.getBytes("bytes")); assertArrayEquals(BYTE_ARRAY, row.getBytes("byteBuffer")); assertEquals(BigDecimal.ONE, row.getDecimal("bigDecimal")); assertEquals("stringbuilder", row.getString("stringBuilder")); }