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

13
src/listmanager_dummy.hh

@ -39,6 +39,19 @@ namespace pEp {
void create_tables();
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
#endif // LIBPEPADAPTER_LISTMANAGER_DUMMY_HH

Loading…
Cancel
Save