#include "internal.h"
#include "exceptions.h"
+#include "logging.h"
#include "util/NDC.h"
#include "util/ParserPool.h"
#include "util/XMLHelper.h"
#include <functional>
#include <sys/types.h>
#include <sys/stat.h>
-#include <log4cpp/Category.hh>
#include <xercesc/util/PlatformUtils.hpp>
#include <xercesc/util/XMLUniDefs.hpp>
#include <xercesc/sax/SAXException.hpp>
#include <xercesc/framework/LocalFileInputSource.hpp>
#include <xercesc/framework/Wrapper4InputSource.hpp>
+using namespace xmltooling::logging;
using namespace xmltooling;
using namespace std;
-using namespace log4cpp;
ParserPool::ParserPool(bool namespaceAware, bool schemaAware)
- : m_namespaceAware(namespaceAware), m_schemaAware(schemaAware), m_lock(Mutex::create()) {}
+ : m_namespaceAware(namespaceAware), m_schemaAware(schemaAware), m_lock(Mutex::create()), m_security(new SecurityManager()) {}
ParserPool::~ParserPool()
{
m_pool.pop();
}
delete m_lock;
+ delete m_security;
}
DOMDocument* ParserPool::newDocument()
case DOMError::DOM_SEVERITY_WARNING:
log.warnStream() << "warning on line " << locator->getLineNumber()
<< ", column " << locator->getColumnNumber()
- << ", message: " << temp.get() << CategoryStream::ENDLINE;
+ << ", message: " << temp.get() << logging::eol;
return true;
case DOMError::DOM_SEVERITY_ERROR:
log.errorStream() << "error on line " << locator->getLineNumber()
<< ", column " << locator->getColumnNumber()
- << ", message: " << temp.get() << CategoryStream::ENDLINE;
+ << ", message: " << temp.get() << logging::eol;
throw XMLParserException(string("error during XML parsing: ") + (temp.get() ? temp.get() : "no message"));
case DOMError::DOM_SEVERITY_FATAL_ERROR:
- log.critStream() << "fatal error on line " << locator->getLineNumber()
+ log.errorStream() << "fatal error on line " << locator->getLineNumber()
<< ", column " << locator->getColumnNumber()
- << ", message: " << temp.get() << CategoryStream::ENDLINE;
+ << ", message: " << temp.get() << logging::eol;
throw XMLParserException(string("fatal error during XML parsing: ") + (temp.get() ? temp.get() : "no message"));
}
throw XMLParserException(string("unclassified error during XML parsing: ") + (temp.get() ? temp.get() : "no message"));
parser->setProperty(XMLUni::fgXercesSchemaExternalSchemaLocation,const_cast<XMLCh*>(temp.get()));
#endif
}
+ parser->setProperty(XMLUni::fgXercesSecurityManager, m_security);
parser->setFeature(XMLUni::fgXercesUserAdoptsDOMDocument,true);
parser->setEntityResolver(this);
parser->setErrorHandler(this);
catch(ios_base::failure& e) {
Category::getInstance(XMLTOOLING_LOGCAT".StreamInputSource").critStream()
<< "XML::StreamInputSource::StreamBinInputStream::readBytes caught an exception: " << e.what()
- << CategoryStream::ENDLINE;
+ << logging::eol;
*toFill=0;
return 0;
}