void AbstractDOMCachingXMLObject::releaseDOM()\r
{\r
Category& log=Category::getInstance(XMLTOOLING_LOGCAT".DOM");\r
- if (log.isDebugEnabled())\r
- log.debug("releasing cached DOM reprsentation for %s", getElementQName().toString().c_str());\r
+ if (log.isDebugEnabled()) {\r
+ string qname=getElementQName().toString();\r
+ log.debug("releasing cached DOM representation for (%s)", qname.empty() ? "unknown" : qname.c_str());\r
+ }\r
setDOM(NULL);\r
}\r
\r
void AbstractDOMCachingXMLObject::releaseParentDOM(bool propagateRelease)\r
{\r
- Category& log=Category::getInstance(XMLTOOLING_LOGCAT".DOM");\r
- if (log.isDebugEnabled()) {\r
- log.debug(\r
- "releasing cached DOM representation for parent of %s with propagation set to %s",\r
- getElementQName().toString().c_str(), propagateRelease ? "true" : "false"\r
- );\r
- }\r
-\r
DOMCachingXMLObject* domCachingParent = dynamic_cast<DOMCachingXMLObject*>(getParent());\r
if (domCachingParent) {\r
+ Category::getInstance(XMLTOOLING_LOGCAT".DOM").debug(\r
+ "releasing cached DOM representation for parent object with propagation set to %s",\r
+ propagateRelease ? "true" : "false"\r
+ );\r
domCachingParent->releaseDOM();\r
if (propagateRelease)\r
domCachingParent->releaseParentDOM(propagateRelease);\r
\r
void AbstractDOMCachingXMLObject::releaseChildrenDOM(bool propagateRelease)\r
{\r
- Category& log=Category::getInstance(XMLTOOLING_LOGCAT".DOM");\r
- if (log.isDebugEnabled()) {\r
- log.debug(\r
- "releasing cached DOM representation for children of %s with propagation set to %s",\r
- getElementQName().toString().c_str(), propagateRelease ? "true" : "false"\r
- );\r
- }\r
- \r
vector<XMLObject*> children;\r
- if (getOrderedChildren(children))\r
+ if (getOrderedChildren(children)) {\r
+ Category::getInstance(XMLTOOLING_LOGCAT".DOM").debug(\r
+ "releasing cached DOM representation for children with propagation set to %s",\r
+ propagateRelease ? "true" : "false"\r
+ );\r
for_each(children.begin(),children.end(),bind2nd(_release(),propagateRelease));\r
+ }\r
}\r
\r
XMLObject* AbstractDOMCachingXMLObject::prepareForAssignment(const XMLObject* oldValue, XMLObject* newValue) {\r
\r
if (newValue && newValue->hasParent())\r
- throw XMLObjectException("child XMLObject cannot be added - it is already the child of another XMLObject");\r
+ throw XMLObjectException("Child XMLObject cannot be added - it is already the child of another XMLObject");\r
\r
if (!oldValue) {\r
if (newValue) {\r