From dc056e7e9c0ddbf3992ed576e27bcecd5f86415d Mon Sep 17 00:00:00 2001 From: NatureFreshMilk Date: Tue, 12 Feb 2019 13:58:48 +0100 Subject: [PATCH] settings separation --- server/app/app.go | 2 +- server/settings/dbsettings.go | 100 ++++++++++++++++++++++++++++++++ server/settings/settings.go | 106 +++------------------------------- 3 files changed, 110 insertions(+), 98 deletions(-) create mode 100644 server/settings/dbsettings.go diff --git a/server/app/app.go b/server/app/app.go index f78ca9e..252200d 100644 --- a/server/app/app.go +++ b/server/app/app.go @@ -25,7 +25,7 @@ type App struct { Blockdb db.DBAccessor Objectdb mapobjectdb.DBAccessor TileDB *tiledb.TileDB - Settings *settings.Settings + Settings settings.Settings BlockAccessor *mapblockaccessor.MapBlockAccessor Colormapping *colormapping.ColorMapping diff --git a/server/settings/dbsettings.go b/server/settings/dbsettings.go new file mode 100644 index 0000000..2af9753 --- /dev/null +++ b/server/settings/dbsettings.go @@ -0,0 +1,100 @@ +package settings + +import ( + "mapserver/mapobjectdb" + "strconv" +) + +type DBSettings struct { + db mapobjectdb.DBAccessor +} + +func New(db mapobjectdb.DBAccessor) Settings { + return &DBSettings{ + db: db, + } +} + +func (this *DBSettings) GetString(key string, defaultValue string) string { + str, err := this.db.GetSetting(key, defaultValue) + if err != nil { + panic(err) + } + + return str +} + +func (this *DBSettings) SetString(key string, value string) { + err := this.db.SetSetting(key, value) + if err != nil { + panic(err) + } +} + +func (this *DBSettings) GetInt(key string, defaultValue int) int { + str, err := this.db.GetSetting(key, strconv.Itoa(defaultValue)) + if err != nil { + panic(err) + } + + value, err := strconv.Atoi(str) + if err != nil { + panic(err) + } + + return value +} + +func (this *DBSettings) SetInt(key string, value int) { + err := this.db.SetSetting(key, strconv.Itoa(value)) + if err != nil { + panic(err) + } +} + +func (this *DBSettings) GetInt64(key string, defaultValue int64) int64 { + str, err := this.db.GetSetting(key, strconv.FormatInt(defaultValue, 10)) + if err != nil { + panic(err) + } + + value, err := strconv.ParseInt(str, 10, 64) + if err != nil { + panic(err) + } + + return value +} + +func (this *DBSettings) SetInt64(key string, value int64) { + err := this.db.SetSetting(key, strconv.FormatInt(value, 10)) + if err != nil { + panic(err) + } +} + +func (this *DBSettings) GetBool(key string, defaultValue bool) bool { + defStr := "false" + if defaultValue { + defStr = "true" + } + + str, err := this.db.GetSetting(key, defStr) + if err != nil { + panic(err) + } + + return str == "true" +} + +func (this *DBSettings) SetBool(key string, value bool) { + defStr := "false" + if value { + defStr = "true" + } + + err := this.db.SetSetting(key, defStr) + if err != nil { + panic(err) + } +} diff --git a/server/settings/settings.go b/server/settings/settings.go index 9ed629d..77aee4a 100644 --- a/server/settings/settings.go +++ b/server/settings/settings.go @@ -1,10 +1,5 @@ package settings -import ( - "mapserver/mapobjectdb" - "strconv" -) - const ( SETTING_LAST_MTIME = "last_mtime" SETTING_LASTX = "last_x" @@ -14,96 +9,13 @@ const ( SETTING_LEGACY_PROCESSED = "legacy_processed" ) -type Settings struct { - db mapobjectdb.DBAccessor -} - -func New(db mapobjectdb.DBAccessor) *Settings { - return &Settings{ - db: db, - } -} - -func (this *Settings) GetString(key string, defaultValue string) string { - str, err := this.db.GetSetting(key, defaultValue) - if err != nil { - panic(err) - } - - return str -} - -func (this *Settings) SetString(key string, value string) { - err := this.db.SetSetting(key, value) - if err != nil { - panic(err) - } -} - -func (this *Settings) GetInt(key string, defaultValue int) int { - str, err := this.db.GetSetting(key, strconv.Itoa(defaultValue)) - if err != nil { - panic(err) - } - - value, err := strconv.Atoi(str) - if err != nil { - panic(err) - } - - return value -} - -func (this *Settings) SetInt(key string, value int) { - err := this.db.SetSetting(key, strconv.Itoa(value)) - if err != nil { - panic(err) - } -} - -func (this *Settings) GetInt64(key string, defaultValue int64) int64 { - str, err := this.db.GetSetting(key, strconv.FormatInt(defaultValue, 10)) - if err != nil { - panic(err) - } - - value, err := strconv.ParseInt(str, 10, 64) - if err != nil { - panic(err) - } - - return value -} - -func (this *Settings) SetInt64(key string, value int64) { - err := this.db.SetSetting(key, strconv.FormatInt(value, 10)) - if err != nil { - panic(err) - } -} - -func (this *Settings) GetBool(key string, defaultValue bool) bool { - defStr := "false" - if defaultValue { - defStr = "true" - } - - str, err := this.db.GetSetting(key, defStr) - if err != nil { - panic(err) - } - - return str == "true" -} - -func (this *Settings) SetBool(key string, value bool) { - defStr := "false" - if value { - defStr = "true" - } - - err := this.db.SetSetting(key, defStr) - if err != nil { - panic(err) - } +type Settings interface { + GetString(key string, defaultValue string) string + SetString(key string, value string) + GetInt(key string, defaultValue int) int + SetInt(key string, value int) + GetInt64(key string, defaultValue int64) int64 + SetInt64(key string, value int64) + GetBool(key string, defaultValue bool) bool + SetBool(key string, value bool) }