Skip to content
Open
Show file tree
Hide file tree
Changes from 55 commits
Commits
Show all changes
57 commits
Select commit Hold shift + click to select a range
0a3847d
#2231 move builders to corresponding packages
tanjjj Aug 26, 2026
e2c0cb7
#2231 add ColumnNames
tanjjj Aug 26, 2026
522e3b3
#2231 add VUU_MESSAGE to default column
tanjjj Aug 26, 2026
dc02878
#2231 add table action
tanjjj Aug 26, 2026
8ebfaf6
#2231 add default implementation to EditSessionRpcHandler
tanjjj Aug 26, 2026
09aa568
#2231 add default implementation to EditSessionRpcHandler
tanjjj Aug 26, 2026
a06e83c
#2231 format
tanjjj Aug 26, 2026
d8551d8
#2231 move java rpc handler examples to a package
tanjjj Aug 26, 2026
b413167
#2231 make java example extend EditSessionRpcHandler
tanjjj Aug 26, 2026
2ddc207
#2231 format
tanjjj Aug 26, 2026
c063c69
#2231 add default implementation for EndEditSessionRpcHandler
tanjjj Aug 26, 2026
78e4db9
#2231 add default implementation for EndEditSessionRpcHandler
tanjjj Aug 26, 2026
51837fe
#2231 fix java example
tanjjj Aug 26, 2026
4846385
#2231 add ViewPortDefHelper
tanjjj Aug 26, 2026
37a4fcc
#2231 fix java test
tanjjj Aug 27, 2026
53e35be
#2231 add rpcNotSupportedMsg
tanjjj Aug 27, 2026
dc23566
#2231 add rpcNotSupportedMsg
tanjjj Aug 27, 2026
f47c1f5
#2231 update java example
tanjjj Aug 27, 2026
563b084
#2231 add default implementation to ImportSesssionRpcHandler
tanjjj Aug 27, 2026
07d7c96
#2231 add default implementation to ImportSesssionRpcHandler
tanjjj Aug 27, 2026
eda89dc
#2231 add default implementation to ImportSesssionRpcHandler
tanjjj Aug 27, 2026
b96712d
#2231 update end session handler
tanjjj Aug 27, 2026
353f741
#2231 rename
tanjjj Aug 27, 2026
4a20d76
#2231 log msg
tanjjj Aug 27, 2026
23ad500
#2231 move to rpc.sessiontable
tanjjj Aug 27, 2026
2c6c0a5
#2231 test class
tanjjj Aug 27, 2026
e49e6d2
#2231 move createViewPortAndVerifyDataSize to WebSocketApiTestBase
tanjjj Aug 27, 2026
9d36178
#2231 move ViewPortDefHelper to scala
tanjjj Aug 27, 2026
d1fb37f
#2231 move ViewPortDefHelper to scala
tanjjj Aug 27, 2026
3574e0a
#2231 move ViewPortDefHelper to scala
tanjjj Aug 27, 2026
05b468c
#2231 move common test code to TestProviderFactory
tanjjj Aug 27, 2026
77656fe
#2231 add tests for default implementation of import rpc
tanjjj Aug 27, 2026
973b597
#2231 check max size
tanjjj Aug 27, 2026
3354274
#2231 add test
tanjjj Aug 27, 2026
8003d8c
#2231 add TestTable
tanjjj Aug 27, 2026
9e70d8d
#2231 test threshold
tanjjj Aug 27, 2026
36bc409
#2231 add java import example
tanjjj Aug 27, 2026
735d0cc
#2231 fix java example
tanjjj Aug 27, 2026
ed91482
#2231 fix java example
tanjjj Aug 27, 2026
e9d511f
#2231 fix java example
tanjjj Aug 27, 2026
f836558
#2231 add permission check
tanjjj Aug 27, 2026
d955cf1
#2231 test
tanjjj Aug 27, 2026
a29494a
#2231 remove permission check and tidy up traits
tanjjj Aug 28, 2026
5cbc715
#2231 add java example
tanjjj Aug 28, 2026
51a77d6
#2231 tests
tanjjj Aug 28, 2026
bf3ab28
#2231 tests
tanjjj Aug 28, 2026
219048a
#2231 tests
tanjjj Aug 28, 2026
0df85f9
#2231 move column names
tanjjj Aug 28, 2026
663f1fd
#2231 fix test
tanjjj Aug 28, 2026
394aaa8
#2231 todo
tanjjj Aug 28, 2026
0ad945a
#2231 format
tanjjj Aug 28, 2026
11fb00f
#2231 tidy up CreateSessionTableRpcHandler
tanjjj Aug 28, 2026
e0e59ad
#2231 tidy up CreateSessionTableRpcHandler
tanjjj Aug 28, 2026
dbaf41f
#2231 fix import
tanjjj Aug 28, 2026
e7f43a0
#2231 update create session result
tanjjj Aug 28, 2026
31d2b88
#2231 update create session result
tanjjj Aug 28, 2026
bf126db
#2231 update
tanjjj Aug 30, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,9 @@
import org.finos.vuu.api.TableDef;
import org.finos.vuu.core.table.Column;
import org.finos.vuu.core.table.Columns;
import org.finos.vuu.util.JoinTableDefBuilder;
import org.finos.vuu.util.JoinToBuilder;
import org.finos.vuu.util.TableDefBuilder;
import org.finos.vuu.api.JoinTableDefBuilder;
import org.finos.vuu.api.JoinToBuilder;
import org.finos.vuu.api.TableDefBuilder;

import java.util.List;
import java.util.stream.Stream;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,9 @@ import org.finos.vuu.core.module.basket.BasketModule
import org.finos.vuu.core.module.basket.BasketModule.{BasketConstituentColumnNames as BCColumnName, BasketTradingColumnNames as BTColumnName, BasketTradingConstituentColumnNames as ColumnName}
import org.finos.vuu.core.module.basket.result.ErrorReason
import org.finos.vuu.core.table.*
import org.finos.vuu.net.rpc.{DefaultRpcHandler, EditTableRpcHandler, RpcFunctionFailure, RpcFunctionResult, RpcFunctionSuccess, RpcParams}
import org.finos.vuu.net.rpc.{DefaultRpcHandler, RpcFunctionFailure, RpcFunctionResult, RpcFunctionSuccess, RpcParams}
import org.finos.vuu.net.ClientSessionId
import org.finos.vuu.net.rpc.sessiontable.EditTableRpcHandler
import org.finos.vuu.viewport.*

import scala.util.control.NonFatal
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ import org.finos.vuu.core.module.basket.BasketModule.BasketTradingConstituentCol
import org.finos.vuu.core.table.RowWithData
import org.finos.vuu.net.ClientSessionId
import org.finos.vuu.net.rpc.*
import org.finos.vuu.net.rpc.sessiontable.EditTableRpcHandler
import org.finos.vuu.viewport.*

class BasketTradingConstituentService extends EditTableRpcHandler with DefaultRpcHandler with StrictLogging {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,8 @@ import org.finos.vuu.core.module.basket.BasketConstants.Side
import org.finos.vuu.core.module.basket.BasketModule
import org.finos.vuu.core.module.basket.BasketModule.BasketTradingConstituentTable
import org.finos.vuu.core.table.*
import org.finos.vuu.net.rpc.{DefaultRpcHandler, EditTableRpcHandler, RpcFunctionResult, RpcFunctionSuccess, RpcParams}
import org.finos.vuu.net.rpc.sessiontable.EditTableRpcHandler
import org.finos.vuu.net.rpc.{DefaultRpcHandler, RpcFunctionResult, RpcFunctionSuccess, RpcParams}
import org.finos.vuu.order.oms.{CancelOrder, NewOrder, OmsApi}

trait BasketTradingServiceIF {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ package org.finos.vuu.core.module.basket
import org.finos.toolbox.jmx.{MetricsProvider, MetricsProviderImpl}
import org.finos.toolbox.lifecycle.LifecycleContainer
import org.finos.toolbox.time.{Clock, TestFriendlyClock}
import org.finos.vuu.api.ViewPortDef
import org.finos.vuu.api.{ViewPortDef}
import org.finos.vuu.core.module.TableDefContainer
import org.finos.vuu.core.module.basket.BasketModule.{BasketColumnNames as B, BasketConstituentColumnNames as BC}
import org.finos.vuu.core.module.price.PriceModule
Expand Down Expand Up @@ -34,7 +34,7 @@ class BasketCreateTest extends VuuServerTestCase {
vuuServer.login("testUser")
val basketId = ".FTSE"

vuuServer.overrideViewPortDef("prices", (table, _, _, _) => ViewPortDef(table.getTableDef.getColumns, null))
vuuServer.overrideViewPortDef("prices", ViewPortDef.defaultViewPortDefFunc)

val pricesProvider = vuuServer.getProvider(PriceModule.NAME, PriceModule.PriceTable)
val basketProvider = vuuServer.getProvider(BasketModule.NAME, BasketModule.BasketTable)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ package org.finos.vuu.core.module.editable

import org.finos.vuu.core.table.RowWithData
import org.finos.vuu.net.rpc.*
import org.finos.vuu.net.rpc.sessiontable.EditTableRpcHandler

class FixSequenceRpcService extends EditTableRpcHandler with DefaultRpcHandler {

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,8 @@ import org.finos.vuu.core.module.ModuleFactory.stringToString
import org.finos.vuu.core.module.{ModuleFactory, TableDefContainer, ViewServerModule}
import org.finos.vuu.core.table.{Columns, RowWithData}
import org.finos.vuu.net.ClientSessionId
import org.finos.vuu.net.rpc.{EditTableRpcHandler, RpcFunctionResult, RpcFunctionSuccess, RpcParams}
import org.finos.vuu.net.rpc.sessiontable.EditTableRpcHandler
import org.finos.vuu.net.rpc.{RpcFunctionResult, RpcFunctionSuccess, RpcParams}
import org.finos.vuu.viewport.ViewPort

class EditTableTestService(val originalData: Map[String, Any]) extends EditTableRpcHandler with StrictLogging {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,20 +12,22 @@
import org.finos.vuu.core.table.DefaultColumn;
import org.finos.vuu.core.table.TableContainer;
import org.finos.vuu.net.rpc.AllowAllRpcPermissionChecker$;
import org.finos.vuu.net.rpc.DefaultRpcHandlerImpl;
import org.finos.vuu.net.rpc.RpcHandler;
import org.finos.vuu.person.DeleteRecordRpcHandler;
import org.finos.vuu.person.DeleteRecordRpcHandlerIF;
import org.finos.vuu.person.EditPersonRecordRpcHandler;
import org.finos.vuu.person.PersonRpcHandler;
import org.finos.vuu.person.UpdateRecordRpcHandler;
import org.finos.vuu.person.rpc.DeleteRecordRpcHandler;
import org.finos.vuu.person.rpc.DeleteRecordRpcHandlerIF;
import org.finos.vuu.person.rpc.EditPersonRecordRpcHandler;
import org.finos.vuu.person.rpc.EditRecordRpcHandler;
import org.finos.vuu.person.rpc.ImportRecordRpcHandler;
import org.finos.vuu.person.rpc.PersonRpcHandler;
import org.finos.vuu.person.auto.AutoMappedPersonProvider;
import org.finos.vuu.person.auto.EntitySchema;
import org.finos.vuu.person.datasource.PersonStore;
import org.finos.vuu.person.manual.PersonProvider;
import org.finos.vuu.util.RpcHandlerBuilder;
import org.finos.vuu.util.SessionTableDefBuilder;
import org.finos.vuu.util.SortSpecBuilder;
import org.finos.vuu.util.TableDefBuilder;
import org.finos.vuu.net.rpc.RpcHandlerBuilder;
import org.finos.vuu.api.SessionTableDefBuilder;
import org.finos.vuu.net.SortSpecBuilder;
import org.finos.vuu.api.TableDefBuilder;

public class JavaExampleModule extends DefaultModule {

Expand All @@ -49,7 +51,7 @@ public ViewServerModule create(final TableDefContainer tableDefContainer, Clock
(table, vs) -> new PersonProvider(table, new PersonStore()),
(table, provider, providerContainer, tableContainer) -> new ViewPortDef(
table.getTableDef().getColumns(),
buildRpcHandler2(table, tableContainer)
buildRpcHandler2(table)
)
)
.addTable(new TableDefBuilder()
Expand All @@ -70,6 +72,30 @@ public ViewServerModule create(final TableDefContainer tableDefContainer, Clock
buildRpcHandler3(tableContainer)
)
)
.addTable(new TableDefBuilder()
.name("edit-PersonManualMapped")
.keyField("id")
.customColumns(new ColumnBuilder().addString("id").addString("name")
.addInt("account").build())
.build(),
(table, vs) -> new PersonProvider(table, new PersonStore()),
(table, p, pc, tableContainer) -> new ViewPortDef(
table.getTableDef().getColumns(),
buildEditRpcHandler(tableContainer)
)
)
.addTable(new TableDefBuilder()
.name("import-PersonManualMapped")
.keyField("id")
.customColumns(new ColumnBuilder().addString("id").addString("name")
.addInt("account").build())
.build(),
(table, vs) -> new PersonProvider(table, new PersonStore()),
(table, p, pc, tableContainer) -> new ViewPortDef(
table.getTableDef().getColumns(),
buildImportRpcHandler(tableContainer)
)
)
.addSessionTable(new SessionTableDefBuilder()
.name("export-PersonManualMapped2")
.keyField("Id")
Expand Down Expand Up @@ -106,17 +132,25 @@ private RpcHandler buildRpcHandler(DataTable table) {
}

// Example of a mixture of RPC handlers in scala and in java
private RpcHandler buildRpcHandler2(DataTable table, TableContainer tableContainer) {
private RpcHandler buildRpcHandler2(DataTable table) {
RpcHandler defaultHandler = new DefaultRpcHandlerImpl();
PersonRpcHandler personRpcHandler = new PersonRpcHandler(table);
DeleteRecordRpcHandlerIF deleteRecordRpcHandler = new DeleteRecordRpcHandler();
UpdateRecordRpcHandler updateRecordRpcHandler = new UpdateRecordRpcHandler(tableContainer);
updateRecordRpcHandler.registerRpc("UpdateName", personRpcHandler::processUpdateNameRpcRequest);
updateRecordRpcHandler.registerRpc("GetAccountId", personRpcHandler::processGetAccountIdRpcRequest);
updateRecordRpcHandler.registerRpc("DeleteRecprd", deleteRecordRpcHandler::deleteRecord);
return updateRecordRpcHandler;
defaultHandler.registerRpc("UpdateName", personRpcHandler::processUpdateNameRpcRequest);
defaultHandler.registerRpc("GetAccountId", personRpcHandler::processGetAccountIdRpcRequest);
defaultHandler.registerRpc("DeleteRecprd", deleteRecordRpcHandler::deleteRecord);
return defaultHandler;
}

private RpcHandler buildRpcHandler3(TableContainer tableContainer) {
return new EditPersonRecordRpcHandler(AllowAllRpcPermissionChecker$.MODULE$, tableContainer);
}

private RpcHandler buildEditRpcHandler(TableContainer tableContainer) {
return new EditRecordRpcHandler(tableContainer);
}

private RpcHandler buildImportRpcHandler(TableContainer tableContainer) {
return new ImportRecordRpcHandler(tableContainer);
}
}

This file was deleted.

This file was deleted.

Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package org.finos.vuu.person;
package org.finos.vuu.person.rpc;

import org.finos.vuu.net.rpc.RpcFunctionResult;
import org.finos.vuu.net.rpc.RpcFunctionSuccess;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package org.finos.vuu.person;
package org.finos.vuu.person.rpc;

import org.finos.vuu.net.rpc.RpcFunctionResult;
import org.finos.vuu.net.rpc.RpcFunctionSuccess;
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
package org.finos.vuu.person.rpc;

import org.finos.vuu.core.table.TableContainer;
import org.finos.vuu.net.rpc.DefaultRpcHandlerImpl;
import org.finos.vuu.net.rpc.sessiontable.CreateSessionTableRpcHandler;
import org.finos.vuu.net.rpc.RpcPermissionChecker;

public class EditPersonRecordRpcHandler extends DefaultRpcHandlerImpl implements CreateSessionTableRpcHandler {

private final RpcPermissionChecker rpcPermissionChecker;
private final TableContainer tableContainer;

public EditPersonRecordRpcHandler(RpcPermissionChecker rpcPermissionChecker, TableContainer tableContainer) {
super();
registerCreateSessionTableRpcs();
this.rpcPermissionChecker = rpcPermissionChecker;
this.tableContainer = tableContainer;
}

@Override
public RpcPermissionChecker rpcPermissionChecker() {
return rpcPermissionChecker;
}

@Override
public TableContainer tableContainer() {
return tableContainer;
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
package org.finos.vuu.person.rpc;

import org.finos.vuu.core.table.TableContainer;
import org.finos.vuu.net.rpc.DefaultRpcHandlerImpl;
import org.finos.vuu.net.rpc.RpcParams;
import org.finos.vuu.net.rpc.sessiontable.EditSessionRpcHandler;
import org.finos.vuu.net.rpc.sessiontable.EndSessionRpcHandler;

// An example of Java implementation of EditSessionRpcHandler and EndSessionRpcHandler
public class EditRecordRpcHandler extends DefaultRpcHandlerImpl implements EditSessionRpcHandler, EndSessionRpcHandler {
private final TableContainer tableContainer;

public EditRecordRpcHandler(TableContainer tableContainer) {
this.tableContainer = tableContainer;
registerEditTableRpcs();
registerEndEditSessionRpcs();
}

@Override
public TableContainer tableContainer() {
return tableContainer;
}

@Override
public boolean verifyPermission(RpcParams params) {
return true;
}

@Override
public boolean validateData(RpcParams params) {
return true;
}

@Override
public boolean submit(RpcParams params) {
return true;
}
}
Loading
Loading