Leosac  0.8.0
Open Source Access Control
XmlNodeNameEnforcer.cpp
Go to the documentation of this file.
1 /*
2  Copyright (C) 2014-2016 Leosac
3 
4  This file is part of Leosac.
5 
6  Leosac is free software: you can redistribute it and/or modify
7  it under the terms of the GNU Affero General Public License as published by
8  the Free Software Foundation, either version 3 of the License, or
9  (at your option) any later version.
10 
11  Leosac is distributed in the hope that it will be useful,
12  but WITHOUT ANY WARRANTY; without even the implied warranty of
13  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14  GNU Affero General Public License for more details.
15 
16  You should have received a copy of the GNU Affero General Public License
17  along with this program. If not, see <http://www.gnu.org/licenses/>.
18 */
19 
22 #include "tools/Colorize.hpp"
23 #include <sstream>
24 
25 using namespace Leosac;
26 using namespace Leosac::Tools;
27 
28 
30  : path_(path)
31 {
32 }
33 
34 void XmlNodeNameEnforcer::enforce(const std::string &expected,
35  const std::string &actual) const
36 {
37  if (actual != expected)
38  {
39  std::stringstream ss;
40  ss << "Invalid configuration file content. Expected xml tag "
41  << Colorize::green(expected) << " but found " << Colorize::green(actual)
42  << " instead.";
43  throw ConfigException(path_, ss.str());
44  }
45 }
46 
47 void XmlNodeNameEnforcer::operator()(const std::string &expected,
48  const std::string &actual) const
49 {
50  enforce(expected, actual);
51 }
Colorize.hpp
Leosac
This is the header file for a generated source file, GitSHA1.cpp.
Definition: APIStatusCode.hpp:22
ConfigException
Definition: configexception.hpp:87
Leosac::Colorize::green
std::string green(const T &in)
Definition: Colorize.hpp:82
Leosac::Tools::XmlNodeNameEnforcer::enforce
void enforce(const std::string &expected, const std::string &actual) const
Check that actual is equal to expected, otherwise throws a ConfigException with a meaningful message.
Definition: XmlNodeNameEnforcer.cpp:34
configexception.hpp
Leosac::Tools::XmlNodeNameEnforcer::operator()
void operator()(const std::string &expected, const std::string &actual) const
Forward the call to enforce().
Definition: XmlNodeNameEnforcer.cpp:47
Leosac::Tools::XmlNodeNameEnforcer::path_
std::string path_
Definition: XmlNodeNameEnforcer.hpp:53
Leosac::Tools::XmlNodeNameEnforcer::XmlNodeNameEnforcer
XmlNodeNameEnforcer(const std::string &path)
Definition: XmlNodeNameEnforcer.cpp:29
XmlNodeNameEnforcer.hpp
Leosac::Tools
Definition: DatabaseLogSink.hpp:27