From de0d409a2399bcecb998a5bdca066b51dc0a7eac Mon Sep 17 00:00:00 2001 From: Marcus Efraimsson Date: Wed, 2 May 2018 14:06:46 +0200 Subject: [PATCH] Revert "Opportunities to unindent code (unindent)" --- pkg/api/common.go | 6 +- pkg/components/dynmap/dynmap.go | 54 ++++++++------- pkg/components/simplejson/simplejson.go | 6 +- pkg/middleware/dashboard_redirect.go | 31 ++++----- pkg/tsdb/mssql/mssql.go | 23 +++---- pkg/tsdb/mysql/mysql.go | 23 +++---- pkg/tsdb/postgres/postgres.go | 23 +++---- pkg/tsdb/sql_engine.go | 89 ++++++++++++------------- 8 files changed, 131 insertions(+), 124 deletions(-) diff --git a/pkg/api/common.go b/pkg/api/common.go index cd64c57dc92..97f41ff7c72 100644 --- a/pkg/api/common.go +++ b/pkg/api/common.go @@ -99,8 +99,10 @@ func Error(status int, message string, err error) *NormalResponse { data["message"] = message } - if err != nil && setting.Env != setting.PROD { - data["error"] = err.Error() + if err != nil { + if setting.Env != setting.PROD { + data["error"] = err.Error() + } } resp := JSON(status, data) diff --git a/pkg/components/dynmap/dynmap.go b/pkg/components/dynmap/dynmap.go index 6d3546f3bc5..96effb24332 100644 --- a/pkg/components/dynmap/dynmap.go +++ b/pkg/components/dynmap/dynmap.go @@ -639,24 +639,26 @@ func (v *Value) Object() (*Object, error) { valid = true } - if !valid { - return nil, ErrNotObject - } - obj := new(Object) - obj.valid = valid - - m := make(map[string]*Value) - if valid { - for key, element := range v.data.(map[string]interface{}) { - m[key] = &Value{element, true} + obj := new(Object) + obj.valid = valid + + m := make(map[string]*Value) + + if valid { + for key, element := range v.data.(map[string]interface{}) { + m[key] = &Value{element, true} + + } } + + obj.data = v.data + obj.m = m + + return obj, nil } - obj.data = v.data - obj.m = m - - return obj, nil + return nil, ErrNotObject } // Attempts to typecast the current value into an object arrau. @@ -676,19 +678,23 @@ func (v *Value) ObjectArray() ([]*Object, error) { // Unsure if this is a good way to use slices, it's probably not var slice []*Object - if !valid { - return nil, ErrNotObjectArray - } - for _, element := range v.data.([]interface{}) { - childValue := Value{element, true} - childObject, err := childValue.Object() + if valid { - if err != nil { - return nil, ErrNotObjectArray + for _, element := range v.data.([]interface{}) { + childValue := Value{element, true} + childObject, err := childValue.Object() + + if err != nil { + return nil, ErrNotObjectArray + } + slice = append(slice, childObject) } - slice = append(slice, childObject) + + return slice, nil } - return slice, nil + + return nil, ErrNotObjectArray + } // Attempts to typecast the current value into a string. diff --git a/pkg/components/simplejson/simplejson.go b/pkg/components/simplejson/simplejson.go index 15293b0cd93..85e2f955943 100644 --- a/pkg/components/simplejson/simplejson.go +++ b/pkg/components/simplejson/simplejson.go @@ -168,8 +168,10 @@ func (j *Json) GetPath(branch ...string) *Json { // js.Get("top_level").Get("array").GetIndex(1).Get("key").Int() func (j *Json) GetIndex(index int) *Json { a, err := j.Array() - if err == nil && len(a) > index { - return &Json{a[index]} + if err == nil { + if len(a) > index { + return &Json{a[index]} + } } return &Json{nil} } diff --git a/pkg/middleware/dashboard_redirect.go b/pkg/middleware/dashboard_redirect.go index 1111929c2f6..2edf04d543e 100644 --- a/pkg/middleware/dashboard_redirect.go +++ b/pkg/middleware/dashboard_redirect.go @@ -24,12 +24,12 @@ func RedirectFromLegacyDashboardURL() macaron.Handler { return func(c *m.ReqContext) { slug := c.Params("slug") - if slug == "" { - return - } - if url, err := getDashboardURLBySlug(c.OrgId, slug); err == nil { - url = fmt.Sprintf("%s?%s", url, c.Req.URL.RawQuery) - c.Redirect(url, 301) + if slug != "" { + if url, err := getDashboardURLBySlug(c.OrgId, slug); err == nil { + url = fmt.Sprintf("%s?%s", url, c.Req.URL.RawQuery) + c.Redirect(url, 301) + return + } } } } @@ -39,16 +39,17 @@ func RedirectFromLegacyDashboardSoloURL() macaron.Handler { slug := c.Params("slug") renderRequest := c.QueryBool("render") - if slug == "" { - return - } - if url, err := getDashboardURLBySlug(c.OrgId, slug); err == nil { - if renderRequest && strings.Contains(url, setting.AppSubUrl) { - url = strings.Replace(url, setting.AppSubUrl, "", 1) + if slug != "" { + if url, err := getDashboardURLBySlug(c.OrgId, slug); err == nil { + if renderRequest && strings.Contains(url, setting.AppSubUrl) { + url = strings.Replace(url, setting.AppSubUrl, "", 1) + } + + url = strings.Replace(url, "/d/", "/d-solo/", 1) + url = fmt.Sprintf("%s?%s", url, c.Req.URL.RawQuery) + c.Redirect(url, 301) + return } - url = strings.Replace(url, "/d/", "/d-solo/", 1) - url = fmt.Sprintf("%s?%s", url, c.Req.URL.RawQuery) - c.Redirect(url, 301) } } } diff --git a/pkg/tsdb/mssql/mssql.go b/pkg/tsdb/mssql/mssql.go index 221670f1bdb..eb71259b46b 100644 --- a/pkg/tsdb/mssql/mssql.go +++ b/pkg/tsdb/mssql/mssql.go @@ -298,19 +298,18 @@ func (e MssqlQueryEndpoint) transformToTimeSeries(query *tsdb.Query, rows *core. key := elem.Value.(string) result.Series = append(result.Series, pointsBySeries[key]) - if !fillMissing { - break - } - series := pointsBySeries[key] - // fill in values from last fetched value till interval end - intervalStart := series.Points[len(series.Points)-1][1].Float64 - intervalEnd := float64(tsdbQuery.TimeRange.MustGetTo().UnixNano() / 1e6) + if fillMissing { + series := pointsBySeries[key] + // fill in values from last fetched value till interval end + intervalStart := series.Points[len(series.Points)-1][1].Float64 + intervalEnd := float64(tsdbQuery.TimeRange.MustGetTo().UnixNano() / 1e6) - // align interval start - intervalStart = math.Floor(intervalStart/fillInterval) * fillInterval - for i := intervalStart + fillInterval; i < intervalEnd; i += fillInterval { - series.Points = append(series.Points, tsdb.TimePoint{fillValue, null.FloatFrom(i)}) - rowCount++ + // align interval start + intervalStart = math.Floor(intervalStart/fillInterval) * fillInterval + for i := intervalStart + fillInterval; i < intervalEnd; i += fillInterval { + series.Points = append(series.Points, tsdb.TimePoint{fillValue, null.FloatFrom(i)}) + rowCount++ + } } } diff --git a/pkg/tsdb/mysql/mysql.go b/pkg/tsdb/mysql/mysql.go index 57986eb7c04..7eceaffdb09 100644 --- a/pkg/tsdb/mysql/mysql.go +++ b/pkg/tsdb/mysql/mysql.go @@ -309,19 +309,18 @@ func (e MysqlQueryEndpoint) transformToTimeSeries(query *tsdb.Query, rows *core. key := elem.Value.(string) result.Series = append(result.Series, pointsBySeries[key]) - if !fillMissing { - break - } - series := pointsBySeries[key] - // fill in values from last fetched value till interval end - intervalStart := series.Points[len(series.Points)-1][1].Float64 - intervalEnd := float64(tsdbQuery.TimeRange.MustGetTo().UnixNano() / 1e6) + if fillMissing { + series := pointsBySeries[key] + // fill in values from last fetched value till interval end + intervalStart := series.Points[len(series.Points)-1][1].Float64 + intervalEnd := float64(tsdbQuery.TimeRange.MustGetTo().UnixNano() / 1e6) - // align interval start - intervalStart = math.Floor(intervalStart/fillInterval) * fillInterval - for i := intervalStart + fillInterval; i < intervalEnd; i += fillInterval { - series.Points = append(series.Points, tsdb.TimePoint{fillValue, null.FloatFrom(i)}) - rowCount++ + // align interval start + intervalStart = math.Floor(intervalStart/fillInterval) * fillInterval + for i := intervalStart + fillInterval; i < intervalEnd; i += fillInterval { + series.Points = append(series.Points, tsdb.TimePoint{fillValue, null.FloatFrom(i)}) + rowCount++ + } } } diff --git a/pkg/tsdb/postgres/postgres.go b/pkg/tsdb/postgres/postgres.go index f66c09b5724..fdf09216e51 100644 --- a/pkg/tsdb/postgres/postgres.go +++ b/pkg/tsdb/postgres/postgres.go @@ -289,19 +289,18 @@ func (e PostgresQueryEndpoint) transformToTimeSeries(query *tsdb.Query, rows *co key := elem.Value.(string) result.Series = append(result.Series, pointsBySeries[key]) - if !fillMissing { - break - } - series := pointsBySeries[key] - // fill in values from last fetched value till interval end - intervalStart := series.Points[len(series.Points)-1][1].Float64 - intervalEnd := float64(tsdbQuery.TimeRange.MustGetTo().UnixNano() / 1e6) + if fillMissing { + series := pointsBySeries[key] + // fill in values from last fetched value till interval end + intervalStart := series.Points[len(series.Points)-1][1].Float64 + intervalEnd := float64(tsdbQuery.TimeRange.MustGetTo().UnixNano() / 1e6) - // align interval start - intervalStart = math.Floor(intervalStart/fillInterval) * fillInterval - for i := intervalStart + fillInterval; i < intervalEnd; i += fillInterval { - series.Points = append(series.Points, tsdb.TimePoint{fillValue, null.FloatFrom(i)}) - rowCount++ + // align interval start + intervalStart = math.Floor(intervalStart/fillInterval) * fillInterval + for i := intervalStart + fillInterval; i < intervalEnd; i += fillInterval { + series.Points = append(series.Points, tsdb.TimePoint{fillValue, null.FloatFrom(i)}) + rowCount++ + } } } diff --git a/pkg/tsdb/sql_engine.go b/pkg/tsdb/sql_engine.go index ecf46ac689d..274e5b05dc1 100644 --- a/pkg/tsdb/sql_engine.go +++ b/pkg/tsdb/sql_engine.go @@ -141,51 +141,50 @@ func (e *DefaultSqlEngine) Query( // ConvertSqlTimeColumnToEpochMs converts column named time to unix timestamp in milliseconds // to make native datetime types and epoch dates work in annotation and table queries. func ConvertSqlTimeColumnToEpochMs(values RowValues, timeIndex int) { - if timeIndex < 0 { - return - } - switch value := values[timeIndex].(type) { - case time.Time: - values[timeIndex] = EpochPrecisionToMs(float64(value.UnixNano())) - case *time.Time: - if value != nil { - values[timeIndex] = EpochPrecisionToMs(float64((*value).UnixNano())) - } - case int64: - values[timeIndex] = int64(EpochPrecisionToMs(float64(value))) - case *int64: - if value != nil { - values[timeIndex] = int64(EpochPrecisionToMs(float64(*value))) - } - case uint64: - values[timeIndex] = int64(EpochPrecisionToMs(float64(value))) - case *uint64: - if value != nil { - values[timeIndex] = int64(EpochPrecisionToMs(float64(*value))) - } - case int32: - values[timeIndex] = int64(EpochPrecisionToMs(float64(value))) - case *int32: - if value != nil { - values[timeIndex] = int64(EpochPrecisionToMs(float64(*value))) - } - case uint32: - values[timeIndex] = int64(EpochPrecisionToMs(float64(value))) - case *uint32: - if value != nil { - values[timeIndex] = int64(EpochPrecisionToMs(float64(*value))) - } - case float64: - values[timeIndex] = EpochPrecisionToMs(value) - case *float64: - if value != nil { - values[timeIndex] = EpochPrecisionToMs(*value) - } - case float32: - values[timeIndex] = EpochPrecisionToMs(float64(value)) - case *float32: - if value != nil { - values[timeIndex] = EpochPrecisionToMs(float64(*value)) + if timeIndex >= 0 { + switch value := values[timeIndex].(type) { + case time.Time: + values[timeIndex] = EpochPrecisionToMs(float64(value.UnixNano())) + case *time.Time: + if value != nil { + values[timeIndex] = EpochPrecisionToMs(float64((*value).UnixNano())) + } + case int64: + values[timeIndex] = int64(EpochPrecisionToMs(float64(value))) + case *int64: + if value != nil { + values[timeIndex] = int64(EpochPrecisionToMs(float64(*value))) + } + case uint64: + values[timeIndex] = int64(EpochPrecisionToMs(float64(value))) + case *uint64: + if value != nil { + values[timeIndex] = int64(EpochPrecisionToMs(float64(*value))) + } + case int32: + values[timeIndex] = int64(EpochPrecisionToMs(float64(value))) + case *int32: + if value != nil { + values[timeIndex] = int64(EpochPrecisionToMs(float64(*value))) + } + case uint32: + values[timeIndex] = int64(EpochPrecisionToMs(float64(value))) + case *uint32: + if value != nil { + values[timeIndex] = int64(EpochPrecisionToMs(float64(*value))) + } + case float64: + values[timeIndex] = EpochPrecisionToMs(value) + case *float64: + if value != nil { + values[timeIndex] = EpochPrecisionToMs(*value) + } + case float32: + values[timeIndex] = EpochPrecisionToMs(float64(value)) + case *float32: + if value != nil { + values[timeIndex] = EpochPrecisionToMs(float64(*value)) + } } } }