\r
#include "internal.h"\r
#include "util/NDC.h"\r
+#include "util/PathResolver.h"\r
#include "util/ReloadableXMLFile.h"\r
#include "util/XMLConstants.h"\r
#include "util/XMLHelper.h"\r
\r
using namespace xmltooling::logging;\r
using namespace xmltooling;\r
+using namespace xercesc;\r
using namespace std;\r
\r
static const XMLCh uri[] = UNICODE_LITERAL_3(u,r,i);\r
}\r
\r
if (m_local) {\r
+ XMLToolingConfig::getConfig().getPathResolver()->resolve(m_source, PathResolver::XMLTOOLING_CFG_FILE);\r
+\r
flag=e->getAttributeNS(NULL,reloadChanges);\r
if (!XMLString::equals(flag,xmlconstants::XML_FALSE) && !XMLString::equals(flag,xmlconstants::XML_ZERO)) {\r
#ifdef WIN32\r
if (source && *source) {\r
auto_ptr_char temp2(source);\r
m_backing=temp2.get();\r
+ XMLToolingConfig::getConfig().getPathResolver()->resolve(m_backing, PathResolver::XMLTOOLING_RUN_FILE);\r
log.debug("backup remote resource with (%s)", m_backing.c_str());\r
}\r
source = e->getAttributeNS(NULL,reloadInterval);\r
return this;\r
\r
// Elevate lock and recheck.\r
+ m_log.debug("timestamp of local resource changed, elevating to a write lock");\r
m_lock->unlock();\r
m_lock->wrlock();\r
if (m_filestamp>=stat_buf.st_mtime) {\r
// Somebody else handled it, just downgrade.\r
+ m_log.debug("update of local resource handled by another thread, downgrading lock");\r
m_lock->unlock();\r
m_lock->rdlock();\r
return this;\r
return this;\r
\r
// Elevate lock and recheck.\r
+ m_log.debug("reload interval for remote resource elapsed, elevating to a write lock");\r
m_lock->unlock();\r
m_lock->wrlock();\r
if (now - m_filestamp < m_reloadInterval) {\r
// Somebody else handled it, just downgrade.\r
+ m_log.debug("update of remote resource handled by another thread, downgrading lock");\r
m_lock->unlock();\r
m_lock->rdlock();\r
return this;\r
}\r
\r
// If we made it here, the swap may or may not have worked, but we need to relock.\r
+ m_log.debug("attempt to update resource complete, relocking");\r
m_lock->rdlock();\r
return this;\r
}\r