Browse Source

ListManagerDummy - Add custom exceptions and slight rename

LIB-12
heck 4 years ago
parent
commit
d7ef4bba10
  1. 52
      src/listmanager_dummy.cc
  2. 13
      src/listmanager_dummy.hh

52
src/listmanager_dummy.cc

@ -3,6 +3,7 @@
#include <exception> #include <exception>
using namespace std; using namespace std;
namespace pEp { namespace pEp {
bool ListManagerDummy::log_enabled = false; bool ListManagerDummy::log_enabled = false;
@ -21,7 +22,7 @@ namespace pEp {
db.create_or_open_db(); db.create_or_open_db();
} catch (...) { } catch (...) {
db.close_db(); db.close_db();
runtime_error e("ListManagerDummy - error opening db"); DBException e{ "ListManagerDummy - error opening db" };
throw_with_nested(e); throw_with_nested(e);
} }
} }
@ -31,7 +32,7 @@ namespace pEp {
create_tables(); create_tables();
} catch (...) { } catch (...) {
db.close_db(); db.close_db();
runtime_error e("ListManagerDummy - db init failed"); DBException e{ "ListManagerDummy - db init failed" };
throw_with_nested(e); throw_with_nested(e);
} }
is_db_initialized = true; is_db_initialized = true;
@ -46,7 +47,7 @@ namespace pEp {
sql = "PRAGMA foreign_keys=ON"; sql = "PRAGMA foreign_keys=ON";
db.execute(sql); db.execute(sql);
} catch (...) { } catch (...) {
runtime_error e("ListManagerDummy - db config failed"); DBException e{ "ListManagerDummy - db config failed" };
throw_with_nested(e); throw_with_nested(e);
} }
} }
@ -70,7 +71,7 @@ namespace pEp {
"FOREIGN KEY(list_address) REFERENCES lists(address) ON DELETE CASCADE);"; "FOREIGN KEY(list_address) REFERENCES lists(address) ON DELETE CASCADE);";
db.execute(sql); db.execute(sql);
} catch (...) { } catch (...) {
runtime_error e("ListManagerDummy - create tables failed"); DBException e("ListManagerDummy - create tables failed");
throw_with_nested(e); throw_with_nested(e);
} }
} }
@ -89,7 +90,7 @@ namespace pEp {
try { try {
db.delete_db(); db.delete_db();
} catch (...) { } catch (...) {
runtime_error e("ListManagerDummy: delete_db() failed"); DBException e{ "ListManagerDummy: delete_db() failed" };
throw_with_nested(e); throw_with_nested(e);
} }
} }
@ -105,9 +106,8 @@ namespace pEp {
db.execute(sql); db.execute(sql);
} catch (...) { } catch (...) {
runtime_error e( DBException e{ "ListManagerDummy: list_add(addr_list: \"" + addr_list +
"ListManagerDummy: list_add(addr_list: \"" + addr_list + "\"\taddr_mgr: \"" + "\"\taddr_mgr: \"" + addr_mgr + "\") - failed with exception" };
addr_mgr + "\") - failed with exception");
throw_with_nested(e); throw_with_nested(e);
} }
} }
@ -122,9 +122,8 @@ namespace pEp {
sql = "DELETE FROM lists WHERE lists.address = '" + addr_list + "';"; sql = "DELETE FROM lists WHERE lists.address = '" + addr_list + "';";
db.execute(sql); db.execute(sql);
} catch (...) { } catch (...) {
runtime_error e( DBException e{ "ListManagerDummy: list_delete(addr_list: \"" + addr_list +
"ListManagerDummy: list_delete(addr_list: \"" + addr_list + "\") - failed with exception" };
"\") - failed with exception");
throw_with_nested(e); throw_with_nested(e);
} }
} }
@ -140,9 +139,8 @@ namespace pEp {
"', '" + addr_list + "');"; "', '" + addr_list + "');";
db.execute(sql); db.execute(sql);
} catch (...) { } catch (...) {
runtime_error e( DBException e{ "ListManagerDummy: member_add(addr_list: \"" + addr_list +
"ListManagerDummy: member_add(addr_list: \"" + addr_list + "\", addr_member: \"" + "\", addr_member: \"" + addr_member + "\") - failed with exception" };
addr_member + "\") - failed with exception");
throw_with_nested(e); throw_with_nested(e);
} }
} }
@ -159,9 +157,8 @@ namespace pEp {
"') AND (member_of.list_address = '" + addr_list + "');"; "') AND (member_of.list_address = '" + addr_list + "');";
db.execute(sql); db.execute(sql);
} catch (...) { } catch (...) {
runtime_error e( DBException e{ "ListManagerDummy: member_remove(" + addr_list + ", " + addr_member +
"ListManagerDummy: member_remove(" + addr_list + ", " + addr_member + ") - failed with exception" };
") - failed with exception");
throw_with_nested(e); throw_with_nested(e);
} }
} }
@ -179,7 +176,7 @@ namespace pEp {
sql = "SELECT address FROM lists"; sql = "SELECT address FROM lists";
rs = db.execute(sql); rs = db.execute(sql);
} catch (...) { } catch (...) {
runtime_error e("ListManagerDummy: lists() failed"); DBException e{ "ListManagerDummy: lists() failed" };
throw_with_nested(e); throw_with_nested(e);
} }
@ -191,9 +188,9 @@ namespace pEp {
} }
// public // public
std::string ListManagerDummy::moderator(const std::string& list_address) std::string ListManagerDummy::moderator(const std::string& addr_list)
{ {
pEpLogClass("moderator(list_address:\"" + list_address + "\")"); pEpLogClass("moderator(list_address:\"" + addr_list + "\")");
ensure_db_initialized(); ensure_db_initialized();
string ret; string ret;
ResultSet rs; ResultSet rs;
@ -202,11 +199,11 @@ namespace pEp {
string sql; string sql;
sql = "SELECT moderator_address FROM lists " sql = "SELECT moderator_address FROM lists "
"WHERE lists.address = '" + "WHERE lists.address = '" +
list_address + "';"; addr_list + "';";
rs = db.execute(sql); rs = db.execute(sql);
} catch (...) { } catch (...) {
runtime_error e( DBException e{ "ListManagerDummy: moderator(list_address:\"" + addr_list +
"ListManagerDummy: moderator(list_address:\"" + list_address + "\") - failed"); "\") - failed" };
throw_with_nested(e); throw_with_nested(e);
} }
@ -220,9 +217,9 @@ namespace pEp {
} }
// public // public
std::vector<std::string> ListManagerDummy::members(const std::string& list_address) std::vector<std::string> ListManagerDummy::members(const std::string& addr_list)
{ {
pEpLogClass("members(list_address:\"" + list_address + "\")"); pEpLogClass("members(list_address:\"" + addr_list + "\")");
ensure_db_initialized(); ensure_db_initialized();
vector<string> ret; vector<string> ret;
ResultSet rs; ResultSet rs;
@ -231,10 +228,10 @@ namespace pEp {
string sql; string sql;
sql = "SELECT address FROM member_of " sql = "SELECT address FROM member_of "
"WHERE list_address = '" + "WHERE list_address = '" +
list_address + "'"; addr_list + "'";
rs = db.execute(sql); rs = db.execute(sql);
} catch (...) { } catch (...) {
runtime_error e("ListManagerDummy: members(list_address:\"" + list_address + "\")"); DBException e{ "ListManagerDummy: members(list_address:\"" + addr_list + "\")" };
throw_with_nested(e); throw_with_nested(e);
} }
@ -253,5 +250,4 @@ namespace pEp {
pEpLogClass("called"); pEpLogClass("called");
db.close_db(); db.close_db();
} }
} // namespace pEp } // namespace pEp

13
src/listmanager_dummy.hh

@ -39,6 +39,19 @@ namespace pEp {
void create_tables(); void create_tables();
Adapter::pEpLog::pEpLogger& m4gic_logger_n4ame = logger; Adapter::pEpLog::pEpLogger& m4gic_logger_n4ame = logger;
}; };
class DBException : public std::runtime_error {
public:
DBException(const std::string& string) : runtime_error(string) {}
};
class DoesNotExistException : public std::runtime_error {
public:
DoesNotExistException(const std::string& string) : runtime_error(string) {}
};
class AlreadyExistsException : public std::runtime_error {
public:
AlreadyExistsException(const std::string& string) : runtime_error(string) {}
};
} // namespace pEp } // namespace pEp
#endif // LIBPEPADAPTER_LISTMANAGER_DUMMY_HH #endif // LIBPEPADAPTER_LISTMANAGER_DUMMY_HH

Loading…
Cancel
Save