The problem is, because the order of processing has been changed, at
this stage the top level composite has no components in it.

The top level, domain, composite simply has a set of includes and they
haven't yet been flattened into the top leve composite.

Therefore cloneCompositeImplementations has no effect as it was
originally coded.

The scneario I had problems with is as follows.

Composite1
   Component1
     implementation.composite Composite2
     property serviceName = service1
   Component2
     implementation.composite Composite2
     property serviceName = service2
   Component3
     implementation.composite Composite2
     property serviceName = service3

Composite2
     property serviceName
     Component4
        property serviceName = service1

When run all instances of Component4 has the propert serviceName set
to service3. It turned out this was because all components referred to
the same instance of Composite2.

Regards

Simon

Reply via email to