private Collection<Row> convertDataSetRows(List<SparkplugBProto.Payload.DataSet.Row> protoRows, List<Integer> protoTypes) throws Exception { Collection<Row> rows = new ArrayList<Row>(); if (protoRows != null) { for (SparkplugBProto.Payload.DataSet.Row protoRow : protoRows) { List<SparkplugBProto.Payload.DataSet.DataSetValue> protoValues = protoRow.getElementsList(); List<Value<?>> values = new ArrayList<Value<?>>(); for (int index = 0; index < protoRow.getElementsCount(); index++) { values.add(convertDataSetValue(protoTypes.get(index), protoValues.get(index))); } // Add the values to the row and the row to the rows rows.add(new RowBuilder().addValues(values).createRow()); } } return rows; }
.addType(DataSetDataType.DateTime) .addType(DataSetDataType.Text) .addRow(new RowBuilder() .addValue(new Value<Byte>(DataSetDataType.Int8, (byte)random.nextInt())) .addValue(new Value<Short>(DataSetDataType.Int16, (short)random.nextInt())) .addValue(new Value<Integer>(DataSetDataType.Int32, random.nextInt())) .addValue(new Value<Long>(DataSetDataType.Int64, random.nextLong())) .addValue(new Value<Short>(DataSetDataType.UInt8, (short)random.nextInt())) .addValue(new Value<Integer>(DataSetDataType.UInt16, random.nextInt())) .addValue(new Value<Long>(DataSetDataType.UInt32, random.nextLong())) .addValue(new Value<BigInteger>(DataSetDataType.UInt64, BigInteger.valueOf(random.nextLong()))) .addValue(new Value<Float>(DataSetDataType.Float, random.nextFloat())) .addValue(new Value<Double>(DataSetDataType.Double, random.nextDouble())) .addValue(new Value<Boolean>(DataSetDataType.Boolean, random.nextBoolean())) .addValue(new Value<String>(DataSetDataType.String, newUUID())) .addValue(new Value<Date>(DataSetDataType.DateTime, new Date())) .addValue(new Value<String>(DataSetDataType.Text, newUUID())) .createRow()) .addRow(new RowBuilder() .addValue(new Value<Byte>(DataSetDataType.Int8, (byte)random.nextInt())) .addValue(new Value<Short>(DataSetDataType.Int16, (short)random.nextInt())) .addValue(new Value<Integer>(DataSetDataType.Int32, random.nextInt())) .addValue(new Value<Long>(DataSetDataType.Int64, random.nextLong())) .addValue(new Value<Short>(DataSetDataType.UInt8, (short)random.nextInt())) .addValue(new Value<Integer>(DataSetDataType.UInt16, random.nextInt())) .addValue(new Value<Long>(DataSetDataType.UInt32, random.nextLong())) .addValue(new Value<BigInteger>(DataSetDataType.UInt64, BigInteger.valueOf(random.nextLong()))) .addValue(new Value<Float>(DataSetDataType.Float, random.nextFloat())) .addValue(new Value<Double>(DataSetDataType.Double, random.nextDouble()))
public DataSetBuilder(DataSet dataSet) { this.numOfColumns = dataSet.getNumOfColumns(); this.columnNames = new ArrayList<String>(dataSet.getColumnNames()); this.types = new ArrayList<DataSetDataType>(dataSet.getTypes()); this.rows = new ArrayList<Row>(dataSet.getRows().size()); for (Row row : dataSet.getRows()) { rows.add(new RowBuilder(row).createRow()); } }