delete this;\r
}\r
\r
+ const char* getID() const {\r
+ return m_obj.name();\r
+ }\r
const char* getClientAddress() const {\r
return m_obj["client_addr"].string();\r
}\r
xmltooling::NDC ndc("addAttributes");\r
#endif\r
\r
- m_cache->m_log.debug("adding attributes to session (%s)", m_obj.name());\r
+ m_cache->m_log.debug("adding attributes to session (%s)", getID());\r
\r
int ver;\r
do {\r
string record(str.str()); \r
\r
try {\r
- ver = m_cache->m_storage->updateText(m_obj.name(), "session", record.c_str(), 0, m_obj["version"].integer()-1);\r
+ ver = m_cache->m_storage->updateText(getID(), "session", record.c_str(), 0, m_obj["version"].integer()-1);\r
}\r
catch (exception&) {\r
// Roll back modification to record.\r
else if (ver < 0) {\r
// Out of sync.\r
m_cache->m_log.warn("storage service indicates the record is out of sync, updating with a fresh copy...");\r
- ver = m_cache->m_storage->readText(m_obj.name(), "session", &record, NULL);\r
+ ver = m_cache->m_storage->readText(getID(), "session", &record, NULL);\r
if (!ver) {\r
- m_cache->m_log.error("readText failed on StorageService for session (%s)", m_obj.name());\r
+ m_cache->m_log.error("readText failed on StorageService for session (%s)", getID());\r
throw IOException("Unable to read back stored session.");\r
}\r
\r
Locker locker(xlog);\r
xlog->log.infoStream() <<\r
"Added the following attributes to session (ID: " <<\r
- m_obj.name() <<\r
+ getID() <<\r
") for (applicationId: " <<\r
m_obj["application_id"].string() <<\r
") {";\r
return i->second;\r
\r
string tokenstr;\r
- if (!m_cache->m_storage->readText(m_obj.name(), id, &tokenstr, NULL))\r
+ if (!m_cache->m_storage->readText(getID(), id, &tokenstr, NULL))\r
throw FatalProfileException("Assertion not found in cache.");\r
\r
// Parse and bind the document into an XMLObject.\r
\r
auto_ptr_char id(assertion->getID());\r
\r
- m_cache->m_log.debug("adding assertion (%s) to session (%s)", id.get(), m_obj.name());\r
+ m_cache->m_log.debug("adding assertion (%s) to session (%s)", id.get(), getID());\r
\r
time_t exp;\r
- if (!m_cache->m_storage->readText(m_obj.name(), "session", NULL, &exp))\r
+ if (!m_cache->m_storage->readText(getID(), "session", NULL, &exp))\r
throw IOException("Unable to load expiration time for stored session.");\r
\r
ostringstream tokenstr;\r
tokenstr << *assertion;\r
- m_cache->m_storage->createText(m_obj.name(), id.get(), tokenstr.str().c_str(), exp);\r
+ m_cache->m_storage->createText(getID(), id.get(), tokenstr.str().c_str(), exp);\r
\r
int ver;\r
do {\r
string record(str.str()); \r
\r
try {\r
- ver = m_cache->m_storage->updateText(m_obj.name(), "session", record.c_str(), 0, m_obj["version"].integer()-1);\r
+ ver = m_cache->m_storage->updateText(getID(), "session", record.c_str(), 0, m_obj["version"].integer()-1);\r
}\r
catch (exception&) {\r
token.destroy();\r
m_obj["version"].integer(m_obj["version"].integer()-1);\r
- m_cache->m_storage->deleteText(m_obj.name(), id.get());\r
+ m_cache->m_storage->deleteText(getID(), id.get());\r
throw;\r
}\r
\r
} \r
if (!ver) {\r
// Fatal problem with update.\r
- m_cache->m_log.error("updateText failed on StorageService for session (%s)", m_obj.name());\r
- m_cache->m_storage->deleteText(m_obj.name(), id.get());\r
+ m_cache->m_log.error("updateText failed on StorageService for session (%s)", getID());\r
+ m_cache->m_storage->deleteText(getID(), id.get());\r
throw IOException("Unable to update stored session.");\r
}\r
else if (ver < 0) {\r
// Out of sync.\r
m_cache->m_log.warn("storage service indicates the record is out of sync, updating with a fresh copy...");\r
- ver = m_cache->m_storage->readText(m_obj.name(), "session", &record, NULL);\r
+ ver = m_cache->m_storage->readText(getID(), "session", &record, NULL);\r
if (!ver) {\r
- m_cache->m_log.error("readText failed on StorageService for session (%s)", m_obj.name());\r
- m_cache->m_storage->deleteText(m_obj.name(), id.get());\r
+ m_cache->m_log.error("readText failed on StorageService for session (%s)", getID());\r
+ m_cache->m_storage->deleteText(getID(), id.get());\r
throw IOException("Unable to read back stored session.");\r
}\r
\r
Locker locker(xlog);\r
xlog->log.info(\r
"Added assertion (ID: %s) to session for (applicationId: %s) with (ID: %s)",\r
- id.get(), m_obj["application_id"].string(), m_obj.name()\r
+ id.get(), m_obj["application_id"].string(), getID()\r
);\r
}\r
\r