Setting up context values

This page provides a description of how we set up the default context values. The techniques employed are generic examples that can be extended, adapted and repeated for any use case that we need. In all cases, we make minimal changes to the Reference Implementation.

For more information about context values please see the Atoti Server documentation: Context Values.

The context values are defined in the configuration class ContextValueConfig within frtb-starter/src/main/java/com/activeviam/frtb/starter/cfg/impl as separate beans for each cube.

Cube Bean name
StandardisedApproachCube contextValueStandardisedApproachCube
InternalModelApproachCube contextValueInternalModelApproachCube
IMADRCCube contextValueIMADRCCube
PLCube contextValuePLCube
StressedCalibrationCube contextValueStressedCalibrationCube
FRTBCombinedCube contextValueFRTBCombinedCube

Example

@Bean
public List<IContextValue> contextValuePLCube(@Value("${" + CTX_QUERIES_TIME_LIMIT_DATA + ":300}") int queriesTimeLimit,
    @Value("${" + CTX_QUERIES_RESULT_LIMIT_INTERMEDIATE_SIZE + ":" + DEFAULT_INTERMEDIATE_LIMIT + "}") int queriesResultLimitIntermediateSize,
    @Value("${" + CTX_QUERIES_RESULT_LIMIT_TRANSIENT_SIZE + ":" + DEFAULT_TRANSIENT_LIMIT + "}") long queriesResultLimitTransientSize,
    @Value("${" + CTX_BACK_TESTING_LOOKBACK + ":250}") String backTesting,
    @Value("${" + CTX_PLA_LOOKBACK + ":250}") String plaLookBack
){
	return List.of(
		QueriesTimeLimit.of(queriesTimeLimit,TimeUnit.SECONDS),
		[...]
	);
}