summaryrefslogtreecommitdiff
path: root/configmgr/source/treemgr/configset.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'configmgr/source/treemgr/configset.cxx')
-rw-r--r--configmgr/source/treemgr/configset.cxx54
1 files changed, 31 insertions, 23 deletions
diff --git a/configmgr/source/treemgr/configset.cxx b/configmgr/source/treemgr/configset.cxx
index 56bfe20eba26..7697295ff9a4 100644
--- a/configmgr/source/treemgr/configset.cxx
+++ b/configmgr/source/treemgr/configset.cxx
@@ -2,9 +2,9 @@
*
* $RCSfile: configset.cxx,v $
*
- * $Revision: 1.13 $
+ * $Revision: 1.14 $
*
- * last change: $Author: jb $ $Date: 2001-06-21 12:02:38 $
+ * last change: $Author: jb $ $Date: 2001-07-05 17:05:51 $
*
* The Contents of this file are made available subject to the terms of
* either of the following licenses
@@ -122,11 +122,19 @@ ElementTree ElementRef::getElementTree() const
}
//-----------------------------------------------------------------------------
+Path::Component ElementRef::getFullName() const
+{
+ if (!isValid()) return Path::makeEmptyComponent();
+
+ return m_aTreeHolder->getExtendedRootName();
+}
+//-----------------------------------------------------------------------------
+
Name ElementRef::getName() const
{
if (!isValid()) return Name();
- return m_aTreeHolder->getRootName();
+ return m_aTreeHolder->getSimpleRootName();
}
//-----------------------------------------------------------------------------
// class ElementTree
@@ -286,9 +294,9 @@ Name SetElementInfo::getTemplatePackage() const
}
//-----------------------------------------------------------------------------
-RelativePath SetElementInfo::getTemplatePath() const
+OUString SetElementInfo::getTemplatePathString() const
{
- return m_aTemplate->getPath();
+ return m_aTemplate->getPathString();
}
//-----------------------------------------------------------------------------
@@ -514,7 +522,7 @@ static void doValidateElement(ElementRef const& aElement)
//-----------------------------------------------------------------------------
/// validates that the given element is valid in this context and returns its name
-Name TreeSetUpdater::implValidateElement(ElementRef const& aElement)
+Path::Component TreeSetUpdater::implValidateElement(ElementRef const& aElement)
{
doValidateElement(aElement);
@@ -523,12 +531,12 @@ Name TreeSetUpdater::implValidateElement(ElementRef const& aElement)
// OSL_ENSURE( !pElement || pElement->isTemplateInstance(), "INTERNAL ERROR: Set Element without associated template found");
// OSL_ENSURE( !pElement || pElement->isInstanceOf(m_aTemplate), "INTERNAL ERROR: Set Update: existing element does not match template");
- return aElement.getName();
+ return aElement.getFullName();
}
//-----------------------------------------------------------------------------
/// validates that the given element is valid and can be replaced in this context and returns its name
-Name ValueSetUpdater::implValidateElement(ElementRef const& aElement)
+Path::Component ValueSetUpdater::implValidateElement(ElementRef const& aElement)
{
doValidateElement(aElement);
@@ -543,7 +551,7 @@ Name ValueSetUpdater::implValidateElement(ElementRef const& aElement)
"INTERNAL ERROR: Set Update: existing element does not match template type");
#endif
- return aElement.getName();
+ return aElement.getFullName();
}
//-----------------------------------------------------------------------------
static void checkEligibleChild(ElementTree const& aElementTree, Tree const& aParentTree)
@@ -581,8 +589,8 @@ void TreeSetUpdater::implValidateTree(ElementTree const& aElementTree)
if (!aElementTree->isInstanceOf(m_aTemplate))
{
- throw TypeMismatch( aElementTree->getTemplate()->getPath().toString(),
- m_aTemplate->getPath().toString(), " - new element without template in Set Update");
+ throw TypeMismatch( aElementTree->getTemplate()->getPathString(),
+ m_aTemplate->getPathString(), " - new element without template in Set Update");
}
}
//-----------------------------------------------------------------------------
@@ -639,7 +647,7 @@ NodeChange TreeSetUpdater::validateInsertElement (Name const& aName, ElementTree
implValidateTree(aNewElement);
- std::auto_ptr<SetChangeImpl> pChange( new SetInsertTreeImpl(aName, aNewElement.get()) );
+ std::auto_ptr<SetChangeImpl> pChange( new SetInsertTreeImpl(aNewElement->makeExtendedName(aName), aNewElement.get()) );
pChange->setTarget(TreeImplHelper::impl(m_aParentTree), TreeImplHelper::offset(m_aSetNode));
@@ -655,7 +663,9 @@ NodeChange ValueSetUpdater::validateInsertElement (Name const& aName, UnoAny con
UnoAny aValidValue = implValidateValue(aNewValue);
- std::auto_ptr<SetChangeImpl> pChange( new SetInsertValueImpl(aName, makeValueElement(aName, aValidValue)) );
+ ElementTreeHolder aNewElement = makeValueElement(aName, aValidValue);
+
+ std::auto_ptr<SetChangeImpl> pChange( new SetInsertValueImpl(aNewElement->makeExtendedName(aName), aNewElement) );
pChange->setTarget(TreeImplHelper::impl(m_aParentTree), TreeImplHelper::offset(m_aSetNode));
@@ -665,7 +675,7 @@ NodeChange ValueSetUpdater::validateInsertElement (Name const& aName, UnoAny con
NodeChange TreeSetUpdater::validateReplaceElement(ElementRef const& aElement, ElementTree const& aNewElement)
{
- Name aName = implValidateElement(aElement);
+ Path::Component aName = implValidateElement(aElement);
implValidateTree(aNewElement);
@@ -679,13 +689,15 @@ NodeChange TreeSetUpdater::validateReplaceElement(ElementRef const& aElement, El
NodeChange ValueSetUpdater::validateReplaceElement(ElementRef const& aElement, UnoAny const& aNewValue)
{
- Name aName = implValidateElement(aElement);
+ Path::Component aName = implValidateElement(aElement);
ElementNodeRef aElementNode = extractElementNode(aElement);
UnoAny aValidValue = implValidateValue(aElementNode, aNewValue);
- std::auto_ptr<SetChangeImpl> pChange( new SetReplaceValueImpl(aName, makeValueElement(aName, aElementNode,aValidValue)) );
+ ElementTreeHolder aNewElement = makeValueElement(aName.getName(), aElementNode, aValidValue);
+
+ std::auto_ptr<SetChangeImpl> pChange( new SetReplaceValueImpl(aName, aNewElement) );
pChange->setTarget(TreeImplHelper::impl(m_aParentTree), TreeImplHelper::offset(m_aSetNode));
@@ -695,7 +707,7 @@ NodeChange ValueSetUpdater::validateReplaceElement(ElementRef const& aElement, U
NodeChange TreeSetUpdater::validateRemoveElement (ElementRef const& aElement)
{
- Name aName = implValidateElement(aElement);
+ Path::Component aName = implValidateElement(aElement);
std::auto_ptr<SetChangeImpl> pChange( new SetRemoveTreeImpl(aName) );
@@ -708,7 +720,7 @@ NodeChange TreeSetUpdater::validateRemoveElement (ElementRef const& aElement)
NodeChange ValueSetUpdater::validateRemoveElement (ElementRef const& aElement)
{
- Name aName = implValidateElement(aElement);
+ Path::Component aName = implValidateElement(aElement);
std::auto_ptr<SetChangeImpl> pChange( new SetRemoveValueImpl(aName) );
@@ -763,11 +775,7 @@ Name ElementHelper::getElementName(ElementRef const& aElement)
{
OSL_PRECOND( aElement.isValid(), "ERROR: Configuration: ElementRef operation requires valid node" );
- Tree aElementTree = impl_extractElementTree(aElement);
-
- OSL_ASSERT( aElementTree.isEmpty() == !aElement.isValid() );
-
- return aElementTree.getRootName();
+ return aElement.getName();
}
//-----------------------------------------------------------------------------
}