PLT-530 - MarketDataEnvironment, part 2

This PR adds overrides to two of the curve building classes in analytics to expose a more modern API. The original method parameters include arrays, concrete map types and maps with array values. The new methods use ``List``, ``Map`` and ``Multimap``.

I checked with him when I made the change to make sure the ordering wasn’t important and he confirmed it’s not. But I thought it was better to add a new method and leave the existing code untouched. I don’t think the copying is too much of an overhead given this is only called during curve calibration so it’s not done many times.


On 4 December 2014 at 09:35:01, Julian Howarth (notifications@github.com) wrote:
> > + */
> > + public Pair makeCurvesFromDerivatives(  
> > + List> curveBundleList,
> > + IssuerProviderDiscount knownData,
> > + Map currenciesByCurveName,
> > + Multimap iborIndicesByCurveName,
> > + Multimap onIndicesByCurveName,
> > + LinkedListMultimap>>  
> issuerMap,
> > + InstrumentDerivativeVisitor calculator,  
> > + InstrumentDerivativeVisitor  
> sensitivityCalculator) {
> > +
> > + // adapt arguments for the legacy version
> > + @SuppressWarnings("unchecked")
> > + MultiCurveBundle[] curveBundles =
> > + curveBundleList.toArray(new MultiCurveBundle[curveBundleList.size()]);  
> > + LinkedHashMap discountingMap = new LinkedHashMap<>(currenciesByCurveName);  
>  
> Check with @marc-opengamma, but I don't think there is any reason for these to be LinkedHashMaps.  
> If this is correct then we can remove the copying here. I would argue that this is as good  
> an opportunity we're going to get to make the change
>  
> ---
> Reply to this email directly or view it on GitHub:
> https://github.com/OpenGamma/OG-Platform/pull/294/files#r21293557