private static RiskTableDefinition parseHeader()

in src/main/java/deltix/ember/sample/RiskUpdateSampleCSV.java [112:129]


    private static RiskTableDefinition parseHeader(String [] header) {
        List<ProjectionKey> projection = new ArrayList<>();
        List<RiskLimitDefinition> limits = new ArrayList<>();
        for (String column : header) {
            column = column.trim();
            try {
                projection.add(ProjectionKey.valueOf(column));
                if (!limits.isEmpty())
                    throw new IllegalArgumentException("Limit names must go after projection names: \"" + column + '"');
            } catch (IllegalArgumentException e) {
                RiskLimitDefinition limit = limitDefinitions.get(column);
                if (limit == null)
                    throw new IllegalArgumentException("Unknown limit name: \"" + column + '"');
                limits.add(limit);
            }
        }
        return new RiskTableDefinition(new Projection(projection), limits);
    }