Code improvements
Improved Craplog methods to handle the elements of the warnlists/ blacklists
This commit is contained in:
parent
e7279651d8
commit
fc92115597
1 changed files with 24 additions and 56 deletions
|
@ -183,90 +183,58 @@ void Craplog::warnlistAdd( const unsigned& web_server_id, const int& log_field_i
|
||||||
void Craplog::blacklistRemove( const unsigned& web_server_id, const int& log_field_id, const std::string& item ) noexcept
|
void Craplog::blacklistRemove( const unsigned& web_server_id, const int& log_field_id, const std::string& item ) noexcept
|
||||||
{
|
{
|
||||||
auto& list = this->blacklists.at( web_server_id ).at( log_field_id ).list;
|
auto& list = this->blacklists.at( web_server_id ).at( log_field_id ).list;
|
||||||
// move the item to the end, then pop it
|
if ( const auto it{ std::find( list.cbegin(), list.cend(), item ) }; it != list.cend() ) {
|
||||||
const size_t max{ list.size()-1ul };
|
list.erase( it );
|
||||||
for ( size_t i{0}; i<max; ++i ) {
|
|
||||||
if ( list.at( i ) == item ) {
|
|
||||||
list.at( i ) = list.at( i+1ul );
|
|
||||||
list.at( i+1ul ) = item;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
list.pop_back();
|
|
||||||
}
|
}
|
||||||
void Craplog::warnlistRemove( const unsigned& web_server_id, const int& log_field_id, const std::string& item ) noexcept
|
void Craplog::warnlistRemove( const unsigned& web_server_id, const int& log_field_id, const std::string& item ) noexcept
|
||||||
{
|
{
|
||||||
auto& list = this->warnlists.at( web_server_id ).at( log_field_id ).list;
|
auto& list = this->warnlists.at( web_server_id ).at( log_field_id ).list;
|
||||||
// move the item to the end, then pop it
|
if ( const auto it{ std::find( list.cbegin(), list.cend(), item ) }; it != list.cend() ) {
|
||||||
const size_t max{ list.size()-1ul };
|
list.erase( it );
|
||||||
for ( size_t i{0}; i<max; ++i ) {
|
|
||||||
if ( list.at( i ) == item ) {
|
|
||||||
list.at( i ) = list.at( i+1ul );
|
|
||||||
list.at( i+1ul ) = item;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
list.pop_back();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
int Craplog::blacklistMoveUp( const unsigned& web_server_id, const int& log_field_id, const std::string& item ) noexcept
|
int Craplog::blacklistMoveUp( const unsigned& web_server_id, const int& log_field_id, const std::string& item ) noexcept
|
||||||
{
|
{
|
||||||
auto& list = this->blacklists.at( web_server_id ).at( log_field_id ).list;
|
auto& list = this->blacklists.at( web_server_id ).at( log_field_id ).list;
|
||||||
size_t i{ 1 };
|
if ( auto it{ std::find( std::next(list.begin()), list.end(), item ) }; it != list.cend() ) {
|
||||||
const size_t max{ list.size() };
|
const int pos{ static_cast<int>( std::distance(list.begin(), it) ) - 1 };
|
||||||
for ( ; i<max; ++i ) {
|
std::swap( *it, *std::prev(it) );
|
||||||
if ( list.at( i ) == item ) {
|
return pos;
|
||||||
list.at( i ) = list.at( i-1ul );
|
|
||||||
list.at( i-1ul ) = item;
|
|
||||||
--i;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
return static_cast<int>( i );
|
return -1;
|
||||||
}
|
}
|
||||||
int Craplog::warnlistMoveUp( const unsigned& web_server_id, const int& log_field_id, const std::string& item ) noexcept
|
int Craplog::warnlistMoveUp( const unsigned& web_server_id, const int& log_field_id, const std::string& item ) noexcept
|
||||||
{
|
{
|
||||||
auto& list = this->warnlists.at( web_server_id ).at( log_field_id ).list;
|
auto& list = this->warnlists.at( web_server_id ).at( log_field_id ).list;
|
||||||
size_t i{ 1 };
|
if ( auto it{ std::find( std::next(list.begin()), list.end(), item ) }; it != list.cend() ) {
|
||||||
const size_t max{ list.size() };
|
const int pos{ static_cast<int>( std::distance(list.begin(), it) ) - 1 };
|
||||||
for ( ; i<max; ++i ) {
|
std::swap( *it, *std::prev(it) );
|
||||||
if ( list.at( i ) == item ) {
|
return pos;
|
||||||
list.at( i ) = list.at( i-1ul );
|
|
||||||
list.at( i-1ul ) = item;
|
|
||||||
--i;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
return static_cast<int>( i );
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
int Craplog::blacklistMoveDown( const unsigned& web_server_id, const int& log_field_id, const std::string& item ) noexcept
|
int Craplog::blacklistMoveDown( const unsigned& web_server_id, const int& log_field_id, const std::string& item ) noexcept
|
||||||
{
|
{
|
||||||
auto& list = this->blacklists.at( web_server_id ).at( log_field_id ).list;
|
auto& list = this->blacklists.at( web_server_id ).at( log_field_id ).list;
|
||||||
size_t i{ 0 };
|
if ( auto it{ std::find( list.begin(), std::prev(list.end()), item ) }; it != list.cend() ) {
|
||||||
const size_t max{ list.size()-1ul };
|
const int pos{ static_cast<int>( std::distance(list.begin(), it) ) + 1 };
|
||||||
for ( ; i<max; ++i ) {
|
std::swap( *it, *std::next(it) );
|
||||||
if ( list.at( i ) == item ) {
|
return pos;
|
||||||
list.at( i ) = list.at( i+1ul );
|
|
||||||
list.at( i+1ul ) = item;
|
|
||||||
++i;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
return static_cast<int>( i );
|
return -1;
|
||||||
}
|
}
|
||||||
int Craplog::warnlistMoveDown( const unsigned& web_server_id, const int& log_field_id, const std::string& item ) noexcept
|
int Craplog::warnlistMoveDown( const unsigned& web_server_id, const int& log_field_id, const std::string& item ) noexcept
|
||||||
{
|
{
|
||||||
auto& list = this->warnlists.at( web_server_id ).at( log_field_id ).list;
|
auto& list = this->warnlists.at( web_server_id ).at( log_field_id ).list;
|
||||||
size_t i{ 0 };
|
if ( auto it{ std::find( list.begin(), std::prev(list.end()), item ) }; it != list.cend() ) {
|
||||||
const size_t max{ list.size()-1ul };
|
const int pos{ static_cast<int>( std::distance(list.begin(), it) ) + 1 };
|
||||||
for ( ; i<max; ++i ) {
|
std::swap( *it, *std::next(it) );
|
||||||
if ( list.at( i ) == item ) {
|
return pos;
|
||||||
list.at( i ) = list.at( i+1ul );
|
|
||||||
list.at( i+1ul ) = item;
|
|
||||||
++i;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
return static_cast<int>( i );
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
std::string Craplog::sanitizeBWitem( const int& log_field_id, const std::string& new_item ) const
|
std::string Craplog::sanitizeBWitem( const int& log_field_id, const std::string& new_item ) const
|
||||||
|
|
Loading…
Reference in a new issue