From 6133847de77bbb8f5ffd19af2f5103b7afc99b5a Mon Sep 17 00:00:00 2001
From: Walter Lampl <Walter.Lampl@cern.ch>
Date: Thu, 16 Jul 2020 14:49:28 +0200
Subject: [PATCH]  PublicHandleArraySemantics.store() : Accept
 PublicToolHandles and ServiceHandles as parameter

---
 Control/AthenaConfiguration/python/AtlasSemantics.py | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/Control/AthenaConfiguration/python/AtlasSemantics.py b/Control/AthenaConfiguration/python/AtlasSemantics.py
index 051d19087de6..82e5a7346d40 100644
--- a/Control/AthenaConfiguration/python/AtlasSemantics.py
+++ b/Control/AthenaConfiguration/python/AtlasSemantics.py
@@ -2,7 +2,7 @@
 
 from past.builtins import basestring
 import GaudiConfig2.semantics
-from GaudiKernel.GaudiHandles import PrivateToolHandleArray
+from GaudiKernel.GaudiHandles import PrivateToolHandleArray, PublicToolHandle, ServiceHandle
 import re
 import collections
 import copy
@@ -142,13 +142,17 @@ class PublicHandleArraySemantics(GaudiConfig2.semantics.PropertySemantics):
                                     format(value.__component_type__,v, self.name))
                 else:
                     newValue.append("{}/{}".format(v.__cpp_type__,v.name))
+
+            elif isinstance(v,(PublicToolHandle,ServiceHandle)):
+                newValue.append("{}/{}".format(v.getType(),v.getName()))
+
             elif isinstance(v,basestring):
                 #Check if componet is known ...
                 newValue.append(v)
                 pass
             else:
                 raise TypeError('Configurable expected, got {!r} in assignment to {}'.\
-                                format(value,self.name))
+                                format(v,self.name))
         return newValue
             
     def default(self, value):
-- 
GitLab