Skip to content

Commit 899e82d

Browse files
authored
Added missing methods to record builder. (#2012)
1 parent 871a1b9 commit 899e82d

18 files changed

Lines changed: 131 additions & 162 deletions

File tree

benchmark/src/main/java/org/finos/vuu/benchmark/BenchmarkHelper.java

Lines changed: 15 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,6 @@
1313
import org.finos.vuu.core.table.Columns;
1414
import org.finos.vuu.core.table.DataTable;
1515
import org.finos.vuu.core.table.InMemDataTable;
16-
import org.finos.vuu.core.table.RowWithData;
1716
import org.finos.vuu.core.table.ViewPortColumnCreator;
1817
import org.finos.vuu.core.tree.TreeSessionTable;
1918
import org.finos.vuu.net.ClientSessionId;
@@ -66,17 +65,23 @@ public void addTableData(DataTable dataTable, int size) {
6665
}
6766

6867
public void addTableData(DataTable dataTable, int offset, int size) {
68+
var rowBuilder = dataTable.rowBuilder();
69+
var ricColumn = dataTable.columnForName("ric");
70+
var exchangeColumn = dataTable.columnForName("exchange");
71+
var bidColumn = dataTable.columnForName("bid");
72+
var askColumn = dataTable.columnForName("ask");
73+
var lastColumn = dataTable.columnForName("last");
74+
var closeColumn = dataTable.columnForName("close");
6975
for (int i = offset; i < offset + size; i++) {
7076
var ric = "TST-" + i;
71-
var exchange = "exchange-" + i;
72-
dataTable.processUpdate(ric, new RowWithData(ric, Map.of(
73-
"ric", ric,
74-
"bid", 101,
75-
"ask", 100,
76-
"last", 105,
77-
"close", 106,
78-
"exchange", exchange
79-
)));
77+
rowBuilder.setKey(ric);
78+
rowBuilder.setString(ricColumn, ric);
79+
rowBuilder.setString(exchangeColumn, "exchange-" + i);
80+
rowBuilder.setDouble(bidColumn, 101);
81+
rowBuilder.setDouble(askColumn, 100);
82+
rowBuilder.setDouble(lastColumn, 105);
83+
rowBuilder.setDouble(closeColumn, 106);
84+
dataTable.processUpdate(rowBuilder.build());
8085
}
8186
}
8287

example/basket/src/main/scala/org/finos/vuu/core/module/basket/provider/BasketConstituentProvider.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@ class BasketConstituentProvider(val table: DataTable)(implicit lifecycle: Lifecy
6060
.setString(volumeCol, Option(volume).getOrElse("").toString)
6161
.setString(descCol, name.toString)
6262
.setString(sideCol, side)
63-
.asRow
63+
.build
6464

6565
table.processUpdate(rowData)
6666
}

example/basket/src/main/scala/org/finos/vuu/core/module/basket/provider/BasketProvider.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ class BasketProvider(val table: DataTable)(implicit lifecycle: LifecycleContaine
2828
.setString(idColumn, id)
2929
.setString(nameColumn, id)
3030
//as row clears out the data from the builder
31-
.asRow)
31+
.build)
3232
})
3333
}
3434
override val lifecycleId: String = "org.finos.vuu.core.module.basket.provider.BasketProvider"

example/main-java/src/main/java/org/finos/vuu/module/JavaExampleModule.java

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -26,8 +26,8 @@
2626
import java.util.List;
2727

2828
import static org.finos.vuu.util.ScalaCollectionConverter.emptyList;
29+
import static org.finos.vuu.util.ScalaCollectionConverter.emptySeq;
2930
import static org.finos.vuu.util.ScalaCollectionConverter.toScala;
30-
import static org.finos.vuu.util.ScalaCollectionConverter.toScalaSeq;
3131

3232
public class JavaExampleModule extends DefaultModule {
3333

@@ -38,13 +38,13 @@ public ViewServerModule create(final TableDefContainer tableDefContainer, Clock
3838
return ModuleFactory.withNamespace(NAME, tableDefContainer)
3939
.addTable(new TableDef(
4040
"PersonManualMapped",
41-
"Id",
41+
"id",
4242
new ColumnBuilder()
43-
.addString("Id")
44-
.addString("Name")
45-
.addInt("Account")
43+
.addString("id")
44+
.addString("name")
45+
.addInt("account")
4646
.build(),
47-
toScalaSeq(List.of()),
47+
emptySeq(),
4848
false,
4949
VisualLinks.apply(emptyList()),
5050
Indices.apply(emptyList()),
@@ -61,11 +61,11 @@ public ViewServerModule create(final TableDefContainer tableDefContainer, Clock
6161
)
6262
.addTable(TableDef.apply(
6363
"PersonAutoMapped",
64-
"Id",
64+
"id",
6565
Columns.fromExternalSchema(EntitySchema.person),
66-
toScalaSeq(List.of())
66+
emptySeq()
6767
),
68-
(table, vs) -> new AutoMappedPersonProvider(table, new PersonStore(), clock)
68+
(table, vs) -> new AutoMappedPersonProvider(table, new PersonStore())
6969
)
7070
.asModule();
7171
}
Lines changed: 1 addition & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,5 @@
11
package org.finos.vuu.person;
22

3-
public class Person {
3+
public record Person(String id, String name, Integer accountNumber) {
44

5-
public String Id;
6-
public String Name;
7-
public Integer AccountNumber;
8-
9-
public Person(String id, String name, Integer accountNumber) {
10-
Id = id;
11-
Name = name;
12-
AccountNumber = accountNumber;
13-
}
145
}

example/main-java/src/main/java/org/finos/vuu/person/PersonRpcHandler.java

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,10 @@
22

33
import org.finos.vuu.core.table.DataTable;
44
import org.finos.vuu.core.table.TableContainer;
5-
import org.finos.vuu.net.rpc.*;
5+
import org.finos.vuu.net.rpc.DefaultRpcHandler;
6+
import org.finos.vuu.net.rpc.RpcFunctionResult;
7+
import org.finos.vuu.net.rpc.RpcFunctionSuccess;
8+
import org.finos.vuu.net.rpc.RpcParams;
69

710
public class PersonRpcHandler extends DefaultRpcHandler {
811
private final DataTable table;
@@ -17,7 +20,7 @@ public PersonRpcHandler(DataTable table, TableContainer tableContainer) {
1720

1821
public RpcFunctionResult processUpdateNameRpcRequest(RpcParams params) {
1922
var paramData = params.namedParams();
20-
updateName(paramData.get("Id").get().toString(), paramData.get("Name").get().toString());
23+
updateName(paramData.get("id").get().toString(), paramData.get("name").get().toString());
2124
return new RpcFunctionSuccess();
2225
}
2326

@@ -36,7 +39,7 @@ public String[] updateName(String id, String newName) {
3639

3740
public int getAccountId(String rowKey) {
3841
var rowData = this.table.pullRow(rowKey);
39-
var accountNumber = (int) rowData.get("Account");
42+
var accountNumber = (int) rowData.get("account");
4043
return accountNumber;
4144
}
4245
}

example/main-java/src/main/java/org/finos/vuu/person/auto/AutoMappedPersonProvider.java

Lines changed: 4 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
package org.finos.vuu.person.auto;
22

3-
import org.finos.toolbox.time.Clock;
43
import org.finos.vuu.core.table.DataTable;
54
import org.finos.vuu.core.table.RowWithData;
65
import org.finos.vuu.person.Person;
@@ -19,27 +18,20 @@ public class AutoMappedPersonProvider implements Provider {
1918

2019
private final DataTable table;
2120
private final PersonStore personStore;
22-
private final Clock clock;
2321
private final SchemaMapper schemaMapper;
2422

25-
public AutoMappedPersonProvider(final DataTable table, PersonStore personStore, Clock clock) {
23+
public AutoMappedPersonProvider(DataTable table, PersonStore personStore) {
2624
this.table = table;
2725
this.personStore = personStore;
28-
this.clock = clock;
29-
30-
schemaMapper = CreateSchemaMapper(table);
31-
}
32-
33-
private static SchemaMapper CreateSchemaMapper(DataTable table) {
34-
return SchemaMapperBuilder.apply(EntitySchema.person, table.getTableDef().getColumns())
26+
this.schemaMapper = SchemaMapperBuilder.apply(EntitySchema.person, table.getTableDef().getColumns())
3527
.build();
3628
}
3729

3830
@Override
3931
public void doStart() {
40-
for (Person person : personStore.GetAll()) {
32+
for (Person person : personStore.getAll()) {
4133
var rowMap = schemaMapper.toInternalRowMap(
42-
toScala(List.of(person.Id, person.Name, person.AccountNumber))
34+
toScala(List.of(person.id(), person.name(), person.accountNumber()))
4335
);
4436
var row = new RowWithData(getKeyValue(rowMap), rowMap);
4537
table.processUpdate(row.key(), row);

example/main-java/src/main/java/org/finos/vuu/person/auto/EntitySchema.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,6 @@ public class EntitySchema {
1212

1313
public static ExternalEntitySchema person = ExternalEntitySchemaBuilder.apply()
1414
.withEntity(Person.class)
15-
.withIndex("ID_INDEX", toScala(List.of("Id")))
15+
.withIndex("ID_INDEX", toScala(List.of("id")))
1616
.build();
1717
}

example/main-java/src/main/java/org/finos/vuu/person/datasource/PersonStore.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
public class PersonStore {
66

7-
public Person[] GetAll() {
7+
public Person[] getAll() {
88
return new Person[] {
99
new Person("uniqueId1", "Adam", 56440),
1010
new Person("uniqueId2", "Natalie", 41687)

example/main-java/src/main/java/org/finos/vuu/person/manual/PersonProvider.java

Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,29 +1,32 @@
11
package org.finos.vuu.person.manual;
22

33
import org.finos.vuu.core.table.DataTable;
4-
import org.finos.vuu.core.table.RowWithData;
54
import org.finos.vuu.person.Person;
65
import org.finos.vuu.person.datasource.PersonStore;
76
import org.finos.vuu.provider.Provider;
87

9-
import java.util.Map;
10-
118
public class PersonProvider implements Provider {
129

1310
private final DataTable table;
1411
private final PersonStore personStore;
1512

16-
public PersonProvider(final DataTable table, PersonStore personStore){
13+
public PersonProvider(DataTable table, PersonStore personStore){
1714
this.table = table;
1815
this.personStore = personStore;
1916
}
2017

2118
@Override
2219
public void doStart() {
23-
24-
for (Person person : personStore.GetAll()) {
25-
var row = new RowWithData(person.Id, Map.of( "Id", person.Id, "Name", person.Name, "Account", person.AccountNumber));
26-
table.processUpdate(person.Id, row);
20+
var rowBuilder = table.rowBuilder();
21+
var idColumn = table.columnForName("id");
22+
var nameColumn = table.columnForName("name");
23+
var accountColumn = table.columnForName("account");
24+
for (Person person : personStore.getAll()) {
25+
rowBuilder.setKey(person.id());
26+
rowBuilder.setString(idColumn, person.id());
27+
rowBuilder.setString(nameColumn, person.name());
28+
rowBuilder.setInt(accountColumn, person.accountNumber());
29+
table.processUpdate(rowBuilder.build());
2730
}
2831
}
2932

0 commit comments

Comments
 (0)