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);
}