Migration notes 1.0
This page explains the changes required to migrate to the stated version of the Atoti Market Data.
Migrate to 1.0.1
Upgrading from Atoti Market Data 1.0.0 - See Atoti Market Data 1.0.1 Release Notes.
Summary
API changes
IInterpolationService
andICachingInterpolationService
no longer throwActiveViamException
.- The
MarketDataMeasureBuilderHelper
instance variables are nowprivate
. - The
AContextualMarketDataRetriever#createCacheKey
method now has aMarketDataRetrieverContext
object as a parameter. - Caching method parameters and variables have changed from
IQueryCache
andObject
toConcurrentMap
andCompositeKey
. TheIQueryCache
toConcurrentMap
change should not require any migration.
Behavior changes
The interpolation mode is now part of the cache key in the Interpolating...
retrievers.
Migrate to 1.0.0
Upgrading from Atoti Market Data 0.9.0 - See Atoti Market Data 1.0.0 Release Notes.
Summary
API changes
- Coordinates are now
Object[]
instead ofList<Object>
throughout the module. The following classes have been updated to bind to the correct generics:- Coordinate translators
- Retrievers
- The
executeRetrieval(C translatedCoordinates)
andgenerateMarketData(C translatedCoordinates, MarketDataRetrievalContext context)
methods inAContextualMarketDataRetriever
have been renamed todoGetMarketData(C translatedCoordinates)
anddoGetMarketData(C translatedCoordinates, MarketDataRetrieverContext context)
respectively. The default behavior has changed as follows:getMarketData(C coordinates, MarketDataRetrievalContext context)
handles key translation and caching and callsdoGetMarketData(C translatedCoordinates, MarketDataRetrieverContext context)
.doGetMarketData(C translatedCoordinates, MarketDataRetrieverContext context)
callsdoGetMarketData(C translatedCoordinates)
.doGetMarketData(C translatedCoordinates)
is abstract.- For extensions, the expectation is to:
- implement
doGetMarketData(C translatedCoordinates)
for custom behavior that doesn’t require the context. - implement both methods when the context is required. The
SingleContextualMarketDataRetriever
implementsdoGetMarketData(Object[] translatedCoordinates)
as a simple call toretriever.getMarketData(translatedCoordinates)
.
- implement
- Removed all 3-axis interpolation interfaces and implementations:
- 3-axis market data representation (
ICubeMarketData
,CubeMarketData
,CubeInterpolationData
). - Trivariate interpolators and their factories (
ITrivariate
,TricubicInterpolator
,ITricubicInterpolatorFactory
,ITrilinearInterpolatorFactory
,TricubicInterpolatorFactory
,TrilinearInterpolatorFactory
). - Interpolating retrievers (
InterpolatingCubeContextualMarketDataRetriever
). - Configuration classes (
TricubicInterpolatorConfig
,TrilinearInterpolatorConfig
).
- 3-axis market data representation (
- Removed retriever factories for all types of market data except FX retrieval.
- Added the generic retriever type to the signature of
APropertyMarketDataPostProcessor<T extends IDefaultMarketDataRetriever>
to bind the container to a specific type. - Builders have been removed from post-processors: instead of static methods present in the post-processor classes themselves, separate classes have been created to build post-processed measures. Examples on how to use the new builders can be found in this page: Market data post-processors
- The FX pivot currency is now injected into the FX post-processors via the
setPivotCurrency
rather than added as a property.
Behavior changes
- All support for cube market data interpolation has been removed in:
- market data retrieval.
- the interpolation services.
- the API.