public List buildTransformationsPlan()

in java/ws-server/src/main/java/com/epam/deltix/tbwg/webapp/services/charting/provider/TransformationServiceImpl.java [202:235]


    public List<LinesQueryResult> buildTransformationsPlan(List<MessageSource> sources) {
        List<LinesQueryResult> results = new ArrayList<>();
        for (int i = 0; i < sources.size(); ++i) {
            MessageSource source = sources.get(i);
            LinesQuery query = source.getQuery();
            if (query.getType() == ChartType.PRICES_L2) {
                if (source.getTypes().contains(PackageHeader.CLASS_NAME)) {
                    results.add(new L2PricesPlanBuilder(query.getMaxPointsCount(), false).build(source));
                    continue;
                } else if (source.getTypes().contains(Level2Message.CLASS_NAME) ||
                           source.getTypes().contains(L2Message.CLASS_NAME))
                {
                    results.add(new L2PricesPlanBuilder(query.getMaxPointsCount(), true).build(source));
                    continue;
                }
            }
            if (query.getType() == ChartType.BARS) {
                if (source.getTypes().contains(PackageHeader.CLASS_NAME)) {
                    results.add(new BarPlanBuilder(false).build(source));
                    continue;
                } else if (source.getTypes().contains(BestBidOfferMessage.CLASS_NAME)) {
                    results.add(new BarPlanBuilder(true).build(source));
                    continue;
                } else if (source.getTypes().contains(BarMessage.CLASS_NAME)) {
                    results.add(new BarConversionPlanBuilder().build(source));
                    continue;
                }
            }

            throw new IllegalArgumentException("Unknown type of getQuery");
        }

        return results;
    }