@@ -199,13 +199,34 @@ def __init__(self, name, value):
199199 self .logger = logging .getLogger ("springpython.config.SetDef" )
200200
201201 def _replace_refs_with_actuals (self , obj , container ):
202+ self .logger .debug ("Replacing refs with actuals..." )
203+ self .logger .debug ("set before changes = %s" % self .value )
204+ new_set = set ()
202205 for item in self .value :
203206 if hasattr (item , "ref" ):
204- self .value .remove (item )
205- self .value .add (container .get_object (item .ref ))
207+ self .logger .debug ("Item !!!%s!!! is a ref, trying to replace with actual object !!!%s!!!" % (item , item .ref ))
208+ #self.value.remove(item)
209+ #self.value.add(container.get_object(item.ref))
210+ newly_fetched_value = container .get_object (item .ref )
211+ new_set .add (newly_fetched_value )
212+ self .logger .debug ("Item !!!%s!!! was removed, and newly fetched value !!!%s!!! was added." % (item , newly_fetched_value ))
213+ #new_set.add(container.get_object(item.ref))
206214 else :
207- self .value .remove (item )
208- self .value .add (self .scan_value (container , item ))
215+ self .logger .debug ("Item !!!%s!!! is NOT a ref, trying to replace with scanned value" % item )
216+ #self.value.remove(item)
217+ #self.value.add(self.scan_value(container, item))
218+ newly_scanned_value = self .scan_value (container , item )
219+ new_set .add (newly_scanned_value )
220+ self .logger .debug ("Item !!!%s!!! was removed, and newly scanned value !!!%s!!! was added." % (item , newly_scanned_value ))
221+ #new_set.add(self.scan_value(container, item))
222+ #self.value = new_set
223+ self .logger .debug ("set after changes = %s" % new_set )
224+ #return self.value
225+ try :
226+ setattr (obj , self .name , new_set )
227+ except AttributeError :
228+ pass
229+ return new_set
209230
210231class FrozenSetDef (ValueDef ):
211232 """Handles behavior for a frozen-set-based value."""
@@ -215,12 +236,12 @@ def __init__(self, name, value):
215236
216237 def _replace_refs_with_actuals (self , obj , container ):
217238 self .logger .debug ("Replacing refs with actuals..." )
218- new_set = set ( self .value )
219- self . logger . debug ( "Just created new set %s using value %s" % ( new_set , self . value ) )
220- for item in new_set :
239+ self . logger . debug ( "set before changes = %s" % self .value )
240+ new_set = set ( )
241+ for item in self . value :
221242 if hasattr (item , "ref" ):
222243 self .logger .debug ("Item <<<%s>>> is a ref, trying to replace with actual object <<<%s>>>" % (item , item .ref ))
223- new_set .remove (item )
244+ # new_set.remove(item)
224245 #debug begin
225246 newly_fetched_value = container .get_object (item .ref )
226247 new_set .add (newly_fetched_value )
@@ -229,24 +250,23 @@ def _replace_refs_with_actuals(self, obj, container):
229250 #new_set.add(container.get_object(item.ref))
230251 else :
231252 self .logger .debug ("Item <<<%s>>> is NOT a ref, trying to replace with scanned value" % item )
232- new_set .remove (item )
253+ # new_set.remove(item)
233254 #debug begin
234255 newly_scanned_value = self .scan_value (container , item )
235256 new_set .add (newly_scanned_value )
236257 self .logger .debug ("Item <<<%s>>> was removed, and newly scanned value <<<%s>>> was added." % (item , newly_scanned_value ))
237258 #debug end
238259 #new_set.add(self.scan_value(container, item))
239- self .logger .debug ("Newly built set = %s" % new_set )
240- frozen_set = frozenset (new_set )
241- self .logger .debug ("Newly frozen set = %s" % frozen_set )
260+ #self.logger.debug("Newly built set = %s" % new_set)
261+ #self.value = frozenset(new_set)
262+ new_frozen_set = frozenset (new_set )
263+ self .logger .debug ("set after changes = %s" % new_frozen_set )
264+ #return self.value
242265 try :
243- self .logger .debug ("Trying to overwrite %s's %s with %s" % (obj , self .name , frozen_set ))
244- setattr (obj , self .name , frozen_set )
245- except AttributeError , e :
246- self .logger .debug ("AttributeError: %s" % e )
266+ setattr (obj , self .name , new_frozen_set )
267+ except AttributeError :
247268 pass
248- self .logger .debug ("Returning frozenset %s" % frozen_set )
249- return frozen_set
269+ return new_frozen_set
250270
251271class Config (object ):
252272 """
0 commit comments