Skip to content
Snippets Groups Projects
Commit 57b9e067 authored by Julien Maurer's avatar Julien Maurer
Browse files

Merge branch 'WriteDecorHandleFix' into '23.0'

ReadDecorHandleKey: Fix for updated parent container name.

See merge request !64173
parents 8394c6f9 e1d29ffa
No related branches found
No related tags found
2 merge requests!642172023-07-07: Daily sweep of 23.0 into main,!64173ReadDecorHandleKey: Fix for updated parent container name.
......@@ -177,8 +177,11 @@ template <class T>
StatusCode ReadDecorHandleKey<T>::initialize (bool used /*= true*/)
{
// If a parent container is used, its key may have changed
if (m_contKey)
if (m_contKey){
m_contHandleKey = m_contKey->key();
std::string decorKey=decorKeyFromKey(this->key());
VarHandleKey::operator=(makeContDecorKey (m_contKey->key(), decorKey));
}
if (m_contHandleKey.initialize (used).isFailure())
return StatusCode::FAILURE;
......
......@@ -73,6 +73,14 @@ void test1()
SG::ReadDecorHandleKey<MyObj> k (&owner, "CCCKey", r, "dec", "doc string");
check(owner, k);
}
{
TestOwner owner;
SG::ReadHandleKey<MyObj> w ("xxx");
SG::ReadDecorHandleKey<MyObj> k (&owner, "CCCKey", w, "dec", "doc string");
w="ccc";
k.initialize().ignore();
check(owner, k);
}
}
......
......@@ -107,6 +107,7 @@ void test1()
auto check = [](TestOwner& owner, SG::WriteDecorHandleKey<MyObj>& k) {
assert (k.clid() == 293847295);
assert (k.key() == "ccc.dec");
//assert (k.objKey() == "ccc.dec");
assert (k.mode() == Gaudi::DataHandle::Writer);
assert (k.contHandleKey().clid() == 293847295);
assert (k.contHandleKey().key() == "ccc");
......@@ -129,6 +130,15 @@ void test1()
check(owner, k);
}
{
TestOwner owner;
SG::WriteHandleKey<MyObj> w ("xxx");
SG::WriteDecorHandleKey<MyObj> k (&owner, "CCCKey", w, "dec", "doc string");
w="ccc";
k.initialize().ignore();
check(owner, k);
}
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment