# HG changeset patch # User Sascha L. Teichmann # Date 1558617946 -7200 # Node ID 44574af7e3d363c28404ab517fdf7fd9d33c9713 # Parent 5e284f39a08108a7d27daa3516d208c946283faf# Parent f2e8f8beb913be7eff03c574094adbf0c41f897b Merged. diff -r f2e8f8beb913 -r 44574af7e3d3 pkg/controllers/bottlenecks.go --- a/pkg/controllers/bottlenecks.go Thu May 23 15:25:17 2019 +0200 +++ b/pkg/controllers/bottlenecks.go Thu May 23 15:25:46 2019 +0200 @@ -117,9 +117,8 @@ // afdRefs are the typical available fairway depth reference values. var afdRefs = []referenceValue{ - {0, 200}, - {1, 230}, - {2, 250}, + {0, 230}, + {1, 250}, } func (measurement *availMeasurement) getDepth() float64 { @@ -343,60 +342,6 @@ return []referenceValue{{0, value}}, nil } -func loadLNWLReferenceValues( - ctx context.Context, - conn *sql.Conn, - bottleneck string, -) ([]referenceValue, error) { - rows, err := conn.QueryContext(ctx, selectGaugeLevelsSQL, bottleneck) - if err != nil { - return nil, err - } - defer rows.Close() - - var levels []referenceValue - -loop: - for rows.Next() { - var what string - var value int - if err := rows.Scan(&what, &value); err != nil { - return nil, err - } - var level int - switch { - case strings.HasPrefix(what, "LDC"): - level = 0 - case strings.HasPrefix(what, "MW"): - level = 1 - case strings.HasPrefix(what, "HDC"): - level = 2 - default: - return nil, fmt.Errorf("Unexpected reference level type '%s'", what) - } - for i := range levels { - if levels[i].level == level { - levels[i].value = float64(value) - continue loop - } - } - levels = append(levels, referenceValue{ - level: level, - value: float64(value), - }) - } - - if err := rows.Err(); err != nil { - return nil, err - } - - sort.Slice(levels, func(i, j int) bool { - return levels[i].level < levels[j].level - }) - - return levels, nil -} - func breaksToReferenceValue(breaks string) []referenceValue { parts := strings.Split(breaks, ",") values := map[float64]struct{}{} @@ -478,12 +423,12 @@ ctx := req.Context() - var lnwlRefs []referenceValue - if lnwlRefs, err = loadLNWLReferenceValues(ctx, conn, bn); err != nil { + var ldcRefs []referenceValue + if ldcRefs, err = loadLDCReferenceValue(ctx, conn, bn); err != nil { return } - if len(lnwlRefs) == 0 { + if len(ldcRefs) == 0 { err = JSONError{ Code: http.StatusNotFound, Message: "No gauge reference values found for bottleneck", @@ -506,7 +451,7 @@ lnwl := ms.classify( from, to, - lnwlRefs, + ldcRefs, (*availMeasurement).getValue, ) @@ -537,19 +482,10 @@ out := output{} - for i := range lnwlRefs { - var level string - switch lnwlRefs[i].level { - case 0: - level = "LDC" - case 1: - level = "MW" - case 2: - level = "HDC" - } + for i := range ldcRefs { out.LNWL = append(out.LNWL, lnwlOutput{ - Level: level, - Value: lnwlRefs[i].value, + Level: "LDC", + Value: ldcRefs[i].value, Percent: lnwlPercents[i], }) }