To make IoC even handier, IoC properties support has been added to the Repository.
This means that you can do:
<!DOCTYPE rep SYSTEM "/dtd/rep.dtd">
<rep>
<property name="datasource"><datasource>postgresql</datasource>
<participant param="rep/datasources.xml">ParticipantDatasources</participant>
<participant param="rep/scheduler.xml" name="scheduler">ParticipantMemoryScheduler</participant>
<participant param="rep/site.xml">ParticipantSite</participant>
</rep>
The datasource will then be picked up by all the participants (all the elements in the site will have this datasource defined, for instance).
This is how the priority graph for property resolving and retrieval has been implemented:
