Mercurial > dive4elements > river
view artifacts/src/main/java/org/dive4elements/river/artifacts/model/fixings/FixResultColumns.java @ 9479:2b83d3a96703
i18n TODO "benutzerdefiniert" = "custom" fixed
author | gernotbelger |
---|---|
date | Mon, 10 Sep 2018 15:31:55 +0200 |
parents | 9744ce3c3853 |
children |
line wrap: on
line source
/** Copyright (C) 2017 by Bundesanstalt für Gewässerkunde * Software engineering by * Björnsen Beratende Ingenieure GmbH * Dr. Schumacher Ingenieurbüro für Wasser und Umwelt * * This file is Free Software under the GNU AGPL (>=v3) * and comes with ABSOLUTELY NO WARRANTY! Check out the * documentation coming with Dive4Elements River for details. */ package org.dive4elements.river.artifacts.model.fixings; import java.io.Serializable; import java.util.ArrayList; import java.util.Collection; import java.util.Collections; import java.util.HashMap; import java.util.List; import java.util.Map; /** * @author Gernot Belger */ public class FixResultColumns implements Serializable { private static final long serialVersionUID = 1L; private final Map<Integer, FixResultColumn> resultColumns = new HashMap<>(); public FixResultColumns() { } public Collection<FixResultColumn> getSortedColumns() { final Collection<FixResultColumn> values = this.resultColumns.values(); final List<FixResultColumn> sorted = new ArrayList<>(values); Collections.sort(sorted, new FixResultColumn.DateComparator()); return sorted; } public FixResultColumn getColumn(final int columnId) { return this.resultColumns.get(columnId); } public void addQWD(final FixingColumnWithData event, final double km, final QWD qwd) { final FixResultColumn columnResult = getOrCreateColumResult(event); columnResult.addQWD(km, qwd); } public void sortAll() { for (final FixResultColumn column : this.resultColumns.values()) column.getQWDs().sort(); } private FixResultColumn getOrCreateColumResult(final FixingColumnWithData event) { final FixResultColumn existingColumn = this.resultColumns.get(event.getId()); if (existingColumn != null) return existingColumn; final FixResultColumn newColumn = new FixResultColumn(event.getId(), event.getDate(), event.getStationRange()); this.resultColumns.put(event.getId(), newColumn); return newColumn; } }