diff --git a/CHANGELOG.md b/CHANGELOG.md index 3bdcb8c0730e90929ce25970850b0c801f1f6d09..119f21b574bb6a3eec6cdf71be265450e8497290 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -15,6 +15,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Changed * Integer values are 32 bit now. +* Rename UnkownConnectionError to ConnectionConfigurationError ### Deprecated diff --git a/include/caosdb/exceptions.h b/include/caosdb/exceptions.h index 304216679200329660c5068362fa9e089f089235..e10b3db97ff7a427f9e1e00398f43b8bdb94517d 100644 --- a/include/caosdb/exceptions.h +++ b/include/caosdb/exceptions.h @@ -103,10 +103,10 @@ public: /** * @brief The connection isn't known to the ConnectionManager under this name. */ -class UnknownConnectionError : public Exception { +class ConnectionConfigurationError : public Exception { public: - explicit UnknownConnectionError(const std::string &what_arg) - : Exception(StatusCode::UNKNOWN_CONNECTION_ERROR, what_arg) {} + explicit ConnectionConfigurationError(const std::string &what_arg) + : Exception(StatusCode::CONNECTION_CONFIGURATION_ERROR, what_arg) {} }; } // namespace caosdb::exceptions diff --git a/include/caosdb/status_code.h b/include/caosdb/status_code.h index f6122601f740e54f3f2b9bd72966e6c68de0b279..e1a382191b5bd4559c554e2fc3e084103c27c3cc 100644 --- a/include/caosdb/status_code.h +++ b/include/caosdb/status_code.h @@ -62,7 +62,7 @@ enum StatusCode { GENERIC_ERROR = 21, GENERIC_TRANSACTION_ERROR = 22, CONFIGURATION_ERROR = 23, - UNKNOWN_CONNECTION_ERROR = 24, + CONNECTION_CONFIGURATION_ERROR = 24, TRANSACTION_STATUS_ERROR = 25, TRANSACTION_TYPE_ERROR = 26, UNSUPPORTED_FEATURE = 27, @@ -77,7 +77,6 @@ enum StatusCode { FILE_DOWNLOAD_ERROR = 36, ENUM_MAPPING_ERROR = 37, SPOILED = 38, - FILE_CANNOT_BE_READ = 39, OTHER_CLIENT_ERROR = 9999, }; diff --git a/include/caosdb/utility.h b/include/caosdb/utility.h index 68e34eaceb2fa25c5fe07c8db822a8639382bbc5..5af1b491c0b5b9d48606ba6b46130b3ef3de1d9c 100644 --- a/include/caosdb/utility.h +++ b/include/caosdb/utility.h @@ -88,13 +88,7 @@ auto getEnumValueFromName<caosdb::entity::Role>(const std::string &name) -> caos */ inline auto load_string_file(const path &path) -> std::string { std::string result; - // TODO(htw) - // try { boost::filesystem::load_string_file(path, result); - // } catch (const std::exception &exc) { - // throw caosdb::exceptions::Exception(StatusCode::FILE_CANNOT_BE_READ , - // "Cannot read the following file: "+ path.string()); - // } return result; } diff --git a/src/caosdb/connection.cpp b/src/caosdb/connection.cpp index 9d27c5c2b14ca0df8ada7ddc8bf5250059291c46..d1b80d068554b8796ccfa1dfa1368070f52281bd 100644 --- a/src/caosdb/connection.cpp +++ b/src/caosdb/connection.cpp @@ -109,8 +109,8 @@ auto ConnectionManager::mGetConnection(const std::string &name) const auto connection = ConfigurationManager::GetConnectionConfiguration(name); connections[name] = std::make_shared<Connection>(*connection.release()); } catch (const caosdb::exceptions::ConfigurationError &exc) { - throw caosdb::exceptions::UnknownConnectionError("Error with the connection named '" + name + - "': " + exc.what()); + throw caosdb::exceptions::ConnectionConfigurationError("Error with the connection named '" + + name + "': " + exc.what()); } } return this->connections.at(name); diff --git a/src/caosdb/status_code_description.cpp b/src/caosdb/status_code_description.cpp index d5e08e7820ca0f7380723087570f838465a9c261..5823943cfd7f79416cabb61662f778bac5de9bf8 100644 --- a/src/caosdb/status_code_description.cpp +++ b/src/caosdb/status_code_description.cpp @@ -131,8 +131,9 @@ auto get_status_description(int code) -> const std::string & { "The transaction terminated unsuccessfully with transaction errors."}, {StatusCode::CONFIGURATION_ERROR, "An error occurred during the configuration of the ConfigurationManager."}, - {StatusCode::UNKNOWN_CONNECTION_ERROR, - "The ConnectionManager does not know any connection of this name."}, + {StatusCode::CONNECTION_CONFIGURATION_ERROR, + "Wither there is no connection of the given name or the given connection has a faulty " + "configuration"}, {StatusCode::TRANSACTION_STATUS_ERROR, "The Transaction is in a wrong state for the attempted action."}, {StatusCode::TRANSACTION_TYPE_ERROR, diff --git a/src/ccaosdb.cpp b/src/ccaosdb.cpp index 853b3c179f082c6afdae8e2126bf52e69d34e680..77759fce1d216f215dfccd343aa8202b2ec911fa 100644 --- a/src/ccaosdb.cpp +++ b/src/ccaosdb.cpp @@ -248,7 +248,6 @@ ERROR_RETURN_CODE(GENERIC_ERROR, if (out->_deletable) { return caosdb::StatusCode::EXTERN_C_ASSIGNMENT_ERROR; } - // TODO(htw) eitehr check for file existence or call CreateCertificateProvider? out->wrapped_certificate_provider = new caosdb::configuration::PemFileCertificateProvider(std::string(path)); out->_deletable = true; diff --git a/test/test_connection.cpp b/test/test_connection.cpp index 3b81ab9f3e307c2aaaa248a5d5ae4350537448b9..4a5260e10964bc652c4ac803bf376b6b6cf39ead 100644 --- a/test/test_connection.cpp +++ b/test/test_connection.cpp @@ -22,7 +22,7 @@ #include "caosdb/certificate_provider.h" // for PemCertificateProvider #include "caosdb/configuration.h" // for InsecureConnectionConfigura... #include "caosdb/connection.h" // for ConnectionManager -#include "caosdb/exceptions.h" // for UnknownConnectionError +#include "caosdb/exceptions.h" // for ConnectionConfigurationError #include "caosdb_test_utility.h" // for EXPECT_THROW_MESSAGE, TEST_... #include <gtest/gtest-message.h> // for Message #include <gtest/gtest-test-part.h> // for SuiteApiResolver, TestPartR... @@ -66,13 +66,13 @@ TEST_F(test_connection, configure_ssl_localhost_8080) { TEST_F(test_connection, connection_manager_unknown_connection) { EXPECT_THROW_MESSAGE( - ConnectionManager::GetConnection("test"), caosdb::exceptions::UnknownConnectionError, + ConnectionManager::GetConnection("test"), caosdb::exceptions::ConnectionConfigurationError, "Error with the connection named 'test': The connection 'test' has not been defined."); } TEST_F(test_connection, connection_missing_certificate) { EXPECT_THROW_MESSAGE(ConnectionManager::GetConnection("missing"), - caosdb::exceptions::UnknownConnectionError, + caosdb::exceptions::ConnectionConfigurationError, std::string("Error with the connection named 'missing': ") + "File does not exist (server_certificate_path): /missing"); }