Project configuration

Properties files

note

These properties files relate to configuring the Atoti FRTB application. For details of properties files for configuring inputs to the calculations, see Configuration files.

Location: The application properties files are provided in the frtb-starter module in the frtb-starter/src/main/resources/ directory

File Purpose
activepivot.remote.properties ActiveMonitor properties
application.yaml Sets port and context for the application
application.properties General properties
frtb-config.properties Cube levels for postprocessors and constant values used in tuple publishers and postprocessors
hibernate.properties Hibernate (persistence and query service) properties
signoff.properties General Sign-off module configurations
signoff.export.properties Sign-off export configurations

Spring annotations

Annotation Meaning Value
@ConditionalOnAdjustmentsWithDirectQuery Adjustments activated as read-only for DirectQuery directquery.withAdjustments AND starter.deployment.type=direct-query AND configuration.sign-off.enabled
@ConditionalOnClickHouse DirectQuery uses ClickHouse directquery.database.type=clickhouse AND starter.deployment.type=direct-query
@ConditionalOnDirectQueryDatabase DirectQuery is activated starter.deployment.type=direct-query
@ConditionalOnInMemoryDatabase In-memory mode is activated, DirectQuery is disabled starter.deployment.type=in-memory
@ConditionalOnMSSQL DirectQuery uses MSSQL (not implemented) directquery.database.type=mssql AND starter.deployment.type=direct-query
@ConditionalOnNoAdjustmentsWithDirectQuery SignOff is activated but DirectQuery has no information about adjustments NOT directquery.withAdjustments AND starter.deployment.type=direct-query AND configuration.sign-off.enabled
@ConditionalOnSignOffDisabled SignOff is not used NOT configuration.sign-off.enabled
@ConditionalOnSignOffEnabled SingOff is fully enabled on an in-memory setup configuration.sign-off.enabled AND NOT starter.deployment.type=direct-query
@ConditionalOnSignOffHierarchy The SignOff hierarchy is displayed for in-memory or DirectQuery cube configuration.sign-off.enabled
@ConditionalOnSnowflake DirectQuery uses SnowFlake directquery.database.type=snowflake AND starter.deployment.type=direct-query
@ConditionalOnHasCombinedCube The current node contains the “FRTBCombinedCube” combined.disable == false
@ConditionalOnHasDataCube The server contains data cubes starter.deployment.type != query-node
@ConditionalOnHasImaCube The server contains “InternalModelApproachCube” and allows other IMA cubes ima.disable == false
@ConditionalOnHasImaDrcCube The server contains the “IMADRCCube” ima.drc.disable == false AND ima.disable == false
@ConditionalOnHasImaPLCube The server contains the “PLCube” ima.plat-backtesting.disable == false AND ima.disable == false
@ConditionalOnHasImaStressCalibrationCube The server contains the “StressCalibrationCube” ima.stress-calibration.disable == false AND ima.disable == false
@ConditionalOnHasQueryCube The server contains the query cube starter.deployment.type = query-node OR combined.disable != false
@ConditionalOnLocalBus The server uses the internal bus to communicate between data cubes and query cube starter.deployment.transport == local
@ConditionalOnNettyBus The server uses the Netty bus to communicate between data cubes and query cube starter.deployment.transport == netty
@ConditionalOnQueryNode The server node contains only the query cube starter.deployment.type == query-node
@ConditionalNotOnDirectQueryDatabase If DirectQuery is not enabled starter.deployment.type != direct-query

Data Files

You will need to specify where your CSV files are placed. In the default implementation, the CSV files are required to provide Atoti Server with the necessary data and configuration to do the calculations in Atoti FRTB.

All the files need to be kept under one directory of your choice anywhere on the file system. The path to this directory needs to be specified in application.properties. The below property needs to be updated to specify an accessible directory containing the necessary files.

Example

Sample files can be found in the frtb-starter/src/test/resources/data folder.

note

These files can’t be found in the WAR generated by the build.

csvSource.dataset=data

tip

To get started with deployment (e.g. if you are not running the application directly from the IDE) you can easily copy/paste the whole sample data folder (from source zip) into somewhere accessible by your deployed runtime, and change the configuration in application.properties accordingly to point to that data.

Bookmarks

If you want to replace the bookmarks you have persisted in your content server, you can override all the content of the content server with content from a JSON file when the Atoti Server instance starts up.

To do this, in application.properties, set the value of the contentServer.factory-reset property to true:

contentServer.factory-reset=true

The data loaded into the content server is imported from a json file. The json file loaded by default is frtb-content-server.json. It is specified in application.properties as below:

contentServer.factory-reset.filename=frtb-content-server.json

Atoti FRTB provides a directory for the bookmarks which can be loaded using the contentServer.factory-reset=folder and contentServer.factory-reset.folder-name=dir-name.

See the bookmarks.zip in the distribution files for this release.

Atoti UI

You will need to specify in the Atoti UI configuration file where the Atoti Server project is running.

note

The end-user’s browser will be connecting to the URL you specify here, so you should specify the exact host name as opposed to localhost.

The standalone application contains an frtb_env.js file which will need to be updated with the correct server URL:

const FRTB_port = 8080
const FRTB_host = window.location.hostname
const FRTB_path = "/frtb-starter"

window.env = {
...
  csServers: [
    {
      name: 'Bookmarks',
      url: 'http://' + FRTB_host + ':' + FRTB_port + FRTB_path,
    }
  ],
  apServers: [
    {
      name: 'FRTB',
      url: 'http://' + FRTB_host + ':' + FRTB_port + FRTB_path,
      csServerName: 'Bookmarks',
    }
  ],
...
}

ActiveMonitor (optional)

If you choose to deploy ActiveMonitor, you will need to modify the following properties files:

  • activepivot.remote.properties (frtb-starter)

    # The URL to use to connect to the ActiveMonitor
    sentinel.remote.url=http://localhost:8081/frtb-activemonitor
    
    # The URL to use to connect to the ActiveMonitor repository
    repository.remote.url=http://localhost:8081/frtb-activemonitor
    
    # The URL of the current Atoti Server
    activepivot.snl.url=http://localhost:8080/frtb-starter
    
  • env.js (frtb-activeui)

    # The URL to use to connect to the ActiveMonitor
    activeMonitorServerUrl: 'http://localhost:8081/frtb-activemonitor',
    

DoctorPivot Configuration(optional)

  • No changes required

Data load controller

For configuration details, see FRTB-specific configuration.