From b2cf41a0882b03bd04779c4ef5b262cf999a6106 Mon Sep 17 00:00:00 2001 From: Thorsten Sommer Date: Tue, 5 Jan 2016 20:50:43 +0100 Subject: [PATCH] Version 2.0.7 --- ConfigurationDB/ConnectDatabase.go | 6 +-- CustomerDB/ConnectDatabase.go | 10 ++-- Handlers/AddHandler.go | 73 +++++++++++++++--------------- Log/DeviceDatabase/InitDB.go | 6 +-- System/Version/Variables.go | 2 +- 5 files changed, 49 insertions(+), 48 deletions(-) diff --git a/ConfigurationDB/ConnectDatabase.go b/ConfigurationDB/ConnectDatabase.go index 3ae047e..1479fa7 100644 --- a/ConfigurationDB/ConnectDatabase.go +++ b/ConfigurationDB/ConnectDatabase.go @@ -14,7 +14,7 @@ func connectDatabase(config Meta.Configuration) { defer func() { if err := recover(); err != nil { fmt.Printf("[Error] Was not able to connect to the configuration database: %s. Please read https://github.com/SommerEngineering/Ocean.\n", err) - os.Exit(0) + os.Exit(1) } }() @@ -22,7 +22,7 @@ func connectDatabase(config Meta.Configuration) { if newSession, errDial := mgo.Dial(config.ConfigDBHostname); errDial != nil { Log.LogFull(senderName, LM.CategorySYSTEM, LM.LevelERROR, LM.SeverityUnknown, LM.ImpactUnknown, LM.MessageNameDATABASE, `It was not possible to connect to the MongoDB host `+config.ConfigDBHostname, errDial.Error()) fmt.Printf("[Error] Was not able to connect to the configuration database: %s. Please read https://github.com/SommerEngineering/Ocean.\n", errDial.Error()) - os.Exit(0) + os.Exit(1) } else { session = newSession } @@ -34,7 +34,7 @@ func connectDatabase(config Meta.Configuration) { if errLogin := db.Login(config.ConfigDBConfigurationCollectionUsername, config.ConfigDBConfigurationCollectionPassword); errLogin != nil { Log.LogFull(senderName, LM.CategorySYSTEM, LM.LevelSECURITY, LM.SeverityUnknown, LM.ImpactUnknown, LM.MessageNameDATABASE, `It was not possible to login the user `+config.ConfigDBConfigurationCollectionUsername, errLogin.Error()) fmt.Printf("[Error] Was not able to connect to the configuration database: %s. Please read https://github.com/SommerEngineering/Ocean.\n", errLogin.Error()) - os.Exit(0) + os.Exit(1) } // In case of write operations, wait for the majority of servers to be done: diff --git a/CustomerDB/ConnectDatabase.go b/CustomerDB/ConnectDatabase.go index b27aad7..7dd9091 100644 --- a/CustomerDB/ConnectDatabase.go +++ b/CustomerDB/ConnectDatabase.go @@ -13,7 +13,7 @@ func connectDatabase(host, username, password, database string) { defer func() { if err := recover(); err != nil { fmt.Printf("[Error] Was not able to connect to the customer database: %s. Please read https://github.com/SommerEngineering/Ocean.\n", err) - os.Exit(0) + os.Exit(2) } }() @@ -21,7 +21,7 @@ func connectDatabase(host, username, password, database string) { if newSession, errDial := mgo.Dial(host); errDial != nil { Log.LogFull(senderName, LM.CategorySYSTEM, LM.LevelERROR, LM.SeverityUnknown, LM.ImpactUnknown, LM.MessageNameDATABASE, `It was not possible to connect to the MongoDB host `+host, errDial.Error()) fmt.Printf("[Error] Was not able to connect to the customer database: %s. Please read https://github.com/SommerEngineering/Ocean.\n", errDial.Error()) - os.Exit(0) + os.Exit(2) } else { mainSession = newSession } @@ -31,14 +31,14 @@ func connectDatabase(host, username, password, database string) { if db == nil { Log.LogFull(senderName, LM.CategorySYSTEM, LM.LevelERROR, LM.SeverityCritical, LM.ImpactCritical, LM.MessageNameDATABASE, `Was not able to get the customer database.`) fmt.Printf("[Error] Was not able to connect to the customer database. Please read https://github.com/SommerEngineering/Ocean.\n") - os.Exit(0) + os.Exit(2) } // Login: if errLogin := db.Login(username, password); errLogin != nil { Log.LogFull(senderName, LM.CategorySYSTEM, LM.LevelSECURITY, LM.SeverityUnknown, LM.ImpactUnknown, LM.MessageNameDATABASE, `It was not possible to login the user `+databaseUsername, errLogin.Error()) fmt.Printf("[Error] Was not able to connect to the customer database: %s. Please read https://github.com/SommerEngineering/Ocean.\n", errLogin.Error()) - os.Exit(0) + os.Exit(2) } // In case of write operations, wait for the majority of servers to be done: @@ -53,7 +53,7 @@ func connectDatabase(host, username, password, database string) { if gridFS == nil { Log.LogFull(senderName, LM.CategorySYSTEM, LM.LevelERROR, LM.SeverityCritical, LM.ImpactCritical, LM.MessageNameDATABASE, `Was not able to get the GridFS from the database.`) fmt.Printf("[Error] Was not able to connect to the customer database. Please read https://github.com/SommerEngineering/Ocean.\n") - os.Exit(0) + os.Exit(2) } // Ensure the indexes for the GridFS: diff --git a/Handlers/AddHandler.go b/Handlers/AddHandler.go index e750812..5cf3620 100644 --- a/Handlers/AddHandler.go +++ b/Handlers/AddHandler.go @@ -1,36 +1,37 @@ -package Handlers - -import ( - "fmt" - "github.com/SommerEngineering/Ocean/Log" - LM "github.com/SommerEngineering/Ocean/Log/Meta" - "net/http" -) - -// Function to add a new public handler. -func AddPublicHandler(pattern string, handler func(http.ResponseWriter, *http.Request)) { - // In case of an error, catch the error: - defer func() { - if err := recover(); err != nil { - Log.LogFull(senderName, LM.CategorySYSTEM, LM.LevelERROR, LM.SeverityUnknown, LM.ImpactUnknown, LM.MessageNameSTATE, fmt.Sprintf("Was not able to add a public handler, because the path '%s' is already in use. %s", pattern, err)) - return - } - }() - - // Add the handler: - muxPublic.HandleFunc(pattern, handler) -} - -// Function to add a new private handler. -func AddAdminHandler(pattern string, handler func(http.ResponseWriter, *http.Request)) { - // In case of an error, catch the error: - defer func() { - if err := recover(); err != nil { - Log.LogFull(senderName, LM.CategorySYSTEM, LM.LevelERROR, LM.SeverityUnknown, LM.ImpactUnknown, LM.MessageNameSTATE, fmt.Sprintf("Was not able to add a private admin handler, because the path '%s' is already in use. %s", pattern, err)) - return - } - }() - - // Add the handler: - muxAdmin.HandleFunc(pattern, handler) -} +package Handlers + +import ( + "fmt" + "net/http" + + "github.com/SommerEngineering/Ocean/Log" + LM "github.com/SommerEngineering/Ocean/Log/Meta" +) + +// Function to add a new public handler. +func AddPublicHandler(pattern string, handler func(http.ResponseWriter, *http.Request)) { + // In case of an error, catch the error: + defer func() { + if err := recover(); err != nil { + Log.LogFull(senderName, LM.CategorySYSTEM, LM.LevelERROR, LM.SeverityUnknown, LM.ImpactUnknown, LM.MessageNameSTATE, fmt.Sprintf("Was not able to add a public handler, because the path '%s' is already in use. %s", pattern, err)) + return + } + }() + + // Add the handler: + muxPublic.HandleFunc(pattern, handler) +} + +// Function to add a new private handler. +func AddAdminHandler(pattern string, handler func(http.ResponseWriter, *http.Request)) { + // In case of an error, catch the error: + defer func() { + if err := recover(); err != nil { + Log.LogFull(senderName, LM.CategorySYSTEM, LM.LevelERROR, LM.SeverityUnknown, LM.ImpactUnknown, LM.MessageNameSTATE, fmt.Sprintf("Was not able to add a private admin handler, because the path '%s' is already in use. %s", pattern, err)) + return + } + }() + + // Add the handler: + muxAdmin.HandleFunc(pattern, handler) +} diff --git a/Log/DeviceDatabase/InitDB.go b/Log/DeviceDatabase/InitDB.go index de9b41c..44046f7 100644 --- a/Log/DeviceDatabase/InitDB.go +++ b/Log/DeviceDatabase/InitDB.go @@ -18,7 +18,7 @@ func initDatabase() { defer func() { if err := recover(); err != nil { fmt.Printf("[Error] Was not able to connect to the logging database: %s. Please read https://github.com/SommerEngineering/Ocean.\n", err) - os.Exit(0) + os.Exit(2) } }() @@ -57,7 +57,7 @@ func initDatabase() { if newSession, errDial := mgo.Dial(databaseHost); errDial != nil { Log.LogFull(senderName, LM.CategorySYSTEM, LM.LevelERROR, LM.SeverityUnknown, LM.ImpactUnknown, LM.MessageNameDATABASE, `It was not possible to connect to the MongoDB host `+databaseHost, errDial.Error()) fmt.Printf("[Error] Was not able to connect to the logging database: %s. Please read https://github.com/SommerEngineering/Ocean.\n", errDial.Error()) - os.Exit(0) + os.Exit(2) } else { logDBSession = newSession } @@ -69,7 +69,7 @@ func initDatabase() { if errLogin := logDB.Login(databaseUsername, databasePassword); errLogin != nil { Log.LogFull(senderName, LM.CategorySYSTEM, LM.LevelSECURITY, LM.SeverityUnknown, LM.ImpactUnknown, LM.MessageNameDATABASE, `It was not possible to login the user `+databaseUsername, errLogin.Error()) fmt.Printf("[Error] Was not able to connect to the logging database: %s. Please read https://github.com/SommerEngineering/Ocean.\n", errLogin.Error()) - os.Exit(0) + os.Exit(2) } // Get the collection: diff --git a/System/Version/Variables.go b/System/Version/Variables.go index c0c9aaa..beb335b 100644 --- a/System/Version/Variables.go +++ b/System/Version/Variables.go @@ -1,5 +1,5 @@ package Version var ( - oceansVersion string = `2.0.6` // Ocean's current version + oceansVersion string = `2.0.7` // Ocean's current version )