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 and ICachingInterpolationService no longer throw ActiveViamException.
  • The MarketDataMeasureBuilderHelper instance variables are now private.
  • The AContextualMarketDataRetriever#createCacheKey method now has a MarketDataRetrieverContext object as a parameter.
  • Caching method parameters and variables have changed from IQueryCache and Object to ConcurrentMap and CompositeKey. The IQueryCache to ConcurrentMap 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 of List<Object> throughout the module. The following classes have been updated to bind to the correct generics:
    • Coordinate translators
    • Retrievers
  • The executeRetrieval(C translatedCoordinates) and generateMarketData(C translatedCoordinates, MarketDataRetrievalContext context) methods in AContextualMarketDataRetriever have been renamed to doGetMarketData(C translatedCoordinates) and doGetMarketData(C translatedCoordinates, MarketDataRetrieverContext context) respectively. The default behavior has changed as follows:
    • getMarketData(C coordinates, MarketDataRetrievalContext context) handles key translation and caching and calls doGetMarketData(C translatedCoordinates, MarketDataRetrieverContext context).
    • doGetMarketData(C translatedCoordinates, MarketDataRetrieverContext context) calls doGetMarketData(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 implements doGetMarketData(Object[] translatedCoordinates) as a simple call to retriever.getMarketData(translatedCoordinates).
  • 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).
  • 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.