--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+* Copyright Igor Barma, Eric Brun, Alexandre Desoubeaux, Christian Martel,
+* (2 décembre 2008)
+*
+* Ce logiciel est un programme informatique servant à l'évaluation des
+* compétences.
+*
+* Ce logiciel est régi par la licence CeCILL soumise au droit français et
+* respectant les principes de diffusion des logiciels libres. Vous pouvez
+* utiliser, modifier et/ou redistribuer ce programme sous les conditions
+* de la licence CeCILL telle que diffusée par le CEA, le CNRS et l'INRIA
+* sur le site "http://www.cecill.info".
+*
+* En contrepartie de l'accessibilité au code source et des droits de copie,
+* de modification et de redistribution accordés par cette licence, il n'est
+* offert aux utilisateurs qu'une garantie limitée. Pour les mêmes raisons,
+* seule une responsabilité restreinte pèse sur l'auteur du programme, le
+* titulaire des droits patrimoniaux et les concédants successifs.
+*
+* A cet égard l'attention de l'utilisateur est attirée sur les risques
+* associés au chargement, à l'utilisation, à la modification et/ou au
+* développement et à la reproduction du logiciel par l'utilisateur étant
+* donné sa spécificité de logiciel libre, qui peut le rendre complexe à
+* manipuler et qui le réserve donc à des développeurs et des professionnels
+* avertis possédant des connaissances informatiques approfondies. Les
+* utilisateurs sont donc invités à charger et tester l'adéquation du
+* logiciel à leurs besoins dans des conditions permettant d'assurer la
+* sécurité de leurs systèmes et ou de leurs données et, plus généralement,
+* à l'utiliser et l'exploiter dans les mêmes conditions de sécurité.
+*
+* Le fait que vous puissiez accéder à cet en-tête signifie que vous avez
+* pris connaissance de la licence CeCILL, et que vous en avez accepté les
+* termes.
+-->
+
+<beans xmlns="http://www.springframework.org/schema/beans"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:aop="http://www.springframework.org/schema/aop"
+ xmlns:tx="http://www.springframework.org/schema/tx"
+ xmlns:context="http://www.springframework.org/schema/context"
+ xsi:schemaLocation="
+ http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
+ http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.5.xsd
+ http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.5.xsd
+ http://www.springframework.org/schema/context
+http://www.springframework.org/schema/context/spring-context-2.5.xsd
+ " >
+
+<description>
+
+Manager Bean Section declaration.
+
+</description>
+
+<!-- Enable Spring transaction annotation -->
+<tx:annotation-driven />
+<context:annotation-config />
+
+<!--
+
+Define Transactional managers
+
+ -->
+
+<bean id="placeholderConfigRoles"
+ class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
+ <property name="location" value="WEB-INF/roles.properties" />
+ <property name="ignoreUnresolvablePlaceholders" value="true"/>
+ </bean>
+
+
+<bean id="entityManagerTarget" class="com.pentila.evalcomp.manager.EntityManager" >
+<description>Manager Bean Target (Transaction) for Entities Management.</description>
+
+<property name="entityDAO"><ref bean="entityDAO" /></property>
+<property name="roleDAO"><ref bean="roleDAO" /></property>
+
+<!-- <property name="messageManager"><ref bean="messageManager" /></property>-->
+<property name="ressourceManager"><ref bean="ressourceManager" /></property>
+<property name="definitionManager"><ref bean="definitionManager" /></property>
+<property name="instanceManager"><ref bean="instanceManager" /></property>
+
+<property name="REPOSIT_URL" value="${repositoryPath}" />
+<property name="LOGOUT_URL" value="${logouturl}" />
+<property name="REPOSIT_WORKSPACE_PATH" value="${defaultworkspace}" />
+</bean>
+
+<bean id="evaluationObjectManagerTarget" class="com.pentila.evalcomp.manager.EvaluationObjectManager" >
+<description>Manager Bean Target (Transaction) for EvaluationObject Management.</description>
+<property name="evaluationObjectDAO"><ref bean="evaluationObjectDAO" /></property>
+</bean>
+
+<bean id="messageManagerTarget" class="com.pentila.evalcomp.manager.MessageManager" >
+<description>Manager Bean Target (Transaction) for Message Management.</description>
+<property name="messageDAO"><ref bean="messageDAO" /></property>
+<property name="messageRecipientDAO"><ref bean="messageRecipientDAO" /></property>
+<!-- <property name="evaluationSubjectInstanceManager"><ref bean="evaluationSubjectInstanceManager" /></property>-->
+</bean>
+
+<bean id="ressourceManagerTarget" class="com.pentila.evalcomp.manager.RessourceManager" >
+<description>Manager Bean Target (Transaction) for Ressource and RessourceDefinition Management.</description>
+<property name="ressourceDAO"><ref bean="ressourceDAO" /></property>
+<property name="ressourceDefinitionDAO"><ref bean="ressourceDefinitionDAO" /></property>
+<property name="plugins">
+<map>
+<entry>
+<key><value>JACKRABBIT</value></key>
+<ref bean="jackrabbitplugin"/>
+</entry>
+
+<!-- EXAMPLES PLUGINS
+
+<entry>
+<key><value>MOODLE</value></key>
+<ref bean="moodleplugin"/>
+</entry>
+<entry>
+<key><value>ARIADNE</value></key>
+<ref bean="ariadneplugin"/>
+</entry>
+
+-->
+
+</map>
+</property>
+</bean>
+
+<bean id="jackrabbitplugin" class="com.pentila.evalcomp.repository.JackRabbitPlugin">
+
+<description>JackRabbit Plugin declaration.</description>
+<property name="pluginName" value="" />
+<property name="pluginKey" value="JACKRABBIT" />
+<property name="storage"><ref bean="storage" /></property>
+</bean>
+
+<!-- EXAMPLES PLUGINS
+
+<bean id="moodleplugin" class="com.pentila.evalcomp.manager.ressource.moodle.MoodlePlugin">
+<description>Moodle Plugin declaration.</description>
+<property name="pluginName" value="Cours Moodle" />
+<property name="pluginKey" value="MOODLE" />
+<property name="moodleWebService"><ref bean="moodleWebService" /></property>
+
+</bean>
+
+
+<bean id="ariadneplugin" class="com.pentila.evalcomp.ariadne.AriadnePlugin">
+<description>Ariadne Plugin declaration.</description>
+<property name="pluginName" value="Ariadne" />
+<property name="pluginKey" value="ARIADNE" />
+<property name="gateway"><ref bean="ariadneImpl" /></property>
+
+</bean>
+
+
+<bean id="ariadneImpl" class="com.pentila.evalcomp.ariadne.AriadneImpl">
+<property name="host" value="ariadne.cs.kuleuven.be"/>
+<property name="service" value="ariadne-dev-ws" />
+</bean>
+
+
+-->
+
+
+<!--
+
+TEST multi repository
+
+<bean id="jackrabbitplugin2" class="com.pentila.evalcomp.repository.JackRabbitPlugin">
+<property name="pluginKey" value="JACKRABBIT2" />
+<property name="storage"><ref bean="storage2" /></property>
+</bean>
+-->
+
+<bean id="evaluationSubjectInstanceManagerTarget" class="com.pentila.evalcomp.manager.EvaluationSubjectInstanceManager" >
+<description>Manager Bean Target (Transaction) for EvaluationSubjectInstance Management.</description>
+<property name="evaluationSubjectInstanceDAO"><ref bean="evaluationSubjectInstanceDAO" /></property>
+<property name="competenceInstanceDAO"><ref bean="competenceInstanceDAO" /></property>
+<property name="ressourceManager"><ref local="ressourceManager" /></property>
+<property name="messageManager"><ref local="messageManager" /></property>
+
+</bean>
+
+<bean id="processInstanciationDefinitionManagerTarget" class="com.pentila.evalcomp.manager.ProcessInstanciationDefinitionManager">
+<description>Manager Bean Target (Transaction) for ProcessInstanciationDefinition Management.</description>
+<property name="processInstanciationDefinitionDAO"><ref bean="processInstanciationDefinitionDAO" /></property>
+<property name="processRoleDefinitionDAO"><ref bean="processRoleDefinitionDAO" /></property>
+<property name="propertyDAO"><ref bean="propertyDAO" /></property>
+</bean>
+
+<bean id="methodEvalManagerTarget" class="com.pentila.evalcomp.manager.MethodEvalManager" >
+<description>Manager Bean Target (Transaction) for MethodEval Management.</description>
+<property name="methodEvalDAO"><ref bean="methodEvalDAO" /></property>
+<property name="levelDAO"><ref bean="levelDAO" /></property>
+</bean>
+
+<bean id="definitionManagerTarget" class="com.pentila.evalcomp.manager.DefinitionManager">
+<description>Manager Bean Target (Transaction) for EvaluationDefinition Management and more.</description>
+<property name="evaluationDefinitionDAO" ><ref bean="evaluationDefinitionDAO" /></property>
+<property name="scenarioDefinitionDAO" ><ref bean="scenarioDefinitionDAO" /></property>
+<property name="entityDefinitionDAO" ><ref bean="entityDefinitionDAO" /></property>
+<property name="evaluationSubjectDAO" ><ref bean="evaluationSubjectDAO" /></property>
+<property name="eventActivityDAO"><ref bean="eventActivityDAO" /></property>
+
+
+<!-- <property name="instanceManager"><ref local="instanceManager" /></property>-->
+<property name="ressourceManager"><ref local="ressourceManager" /></property>
+<property name="workflowManager"><ref local="workflowManager" /></property>
+<property name="entityManager"><ref local="entityManager" /></property>
+<property name="evaluationObjectManager" ><ref local="evaluationObjectManager" /></property>
+<property name="processInstanciationDefinitionManager"><ref local="processInstanciationDefinitionManager" /></property>
+<property name="methodEvalManager"><ref local="methodEvalManager" /></property>
+
+
+</bean>
+
+<bean id="instanceManagerTarget" class="com.pentila.evalcomp.manager.InstanceManager">
+<description>Manager Bean Target (Transaction) for EvaluationInstance Management and other Instances obejects. </description>
+<property name="evaluationInstanceDAO" ><ref bean="evaluationInstanceDAO" /></property>
+<property name="scenarioInstanceDAO"><ref bean="scenarioInstanceDAO" /></property>
+<property name="acquitmentDAO"><ref bean="acquitmentDAO" /></property>
+<property name="eventDAO"><ref bean="eventDAO" /></property>
+
+<property name="evaluationSubjectInstanceManager"><ref local="evaluationSubjectInstanceManager" /></property>
+<!-- <property name="workflowManager"><ref local="workflowManager" /></property>-->
+<!-- <property name="definitionManager"><ref local="definitionManager" /></property>-->
+<property name="entityManager"><ref local="entityManager" /></property>
+</bean>
+
+
+<bean id="workflowManagerTarget"
+ class="com.pentila.evalcomp.manager.WorkflowManager">
+ <description>Manager Bean Target (Transaction) for Workflow Management.</description>
+ <property name="engine" ref="engine" />
+ <property name="instanceManager" ref="instanceManager" />
+ </bean>
+
+
+<!-- Define Bonita Engine creation and workflows loading -->
+
+<bean id="engine"
+ class="com.pentila.evalcomp.workflow.engine.Engine"
+ init-method="initializeWorkers"
+ >
+ <description>Engine to control Bonita Engine.</description>
+ <property name="workflowsdir"><value>${basedirectory}/${workflowdir}</value></property>
+</bean>
+
+<!-- Define SynchroManager LDAP - DB and initialize (run)
+
+m1, m2 etc ... are define in roles.properties file
+
+-->
+
+
+<bean id="synchroManagerTarget" class="com.pentila.evalcomp.manager.SynchroManager" init-method="run">
+<description>Manager Bean Target (Transaction) for Synchronization Entity Management.</description>
+<property name="synchro" ><ref bean="synchroParameters" /></property>
+<property name="dbManager" ><ref bean="dbManager" /></property>
+<property name="ldapManager" ><ref bean="ldapManager" /></property>
+<property name="importAnnuaire" ><ref bean="importAnnuaire" /></property>
+<property name="rolesManager" ><ref bean="rolesManager" /></property>
+</bean>
+
+
+<bean id="ldapTarget" class="com.pentila.evalcomp.ldap.impl.LdapToolsImpl" >
+<description>Ldap target Bean for Synchronization.</description>
+<property name="ldapTemplate"><ref bean="ldapTemplate" /></property>
+</bean>
+
+
+<bean id="beansUtil" class="com.pentila.evalcomp.manager.Beans">
+<description>Bean to get Access on Spring Beans Context.</description>
+<property name="STATIC_SERVER_URL" value="${static_server_url}" />
+</bean>
+
+
+<!--
+
+Define ProxyTransaction objects for each Manager
+
+-->
+
+
+<bean id="entityManager" parent="transactionProxy">
+ <description>Manager Bean Proxy (Transaction) for Entities Management.</description>
+ <property name="target">
+ <ref bean="entityManagerTarget"/>
+ </property>
+</bean>
+
+<bean id="evaluationObjectManager" parent="transactionProxy">
+<description>Manager Bean Proxy (Transaction) for EvaluationObject Management.</description>
+ <property name="target">
+ <ref bean="evaluationObjectManagerTarget"/>
+ </property>
+</bean>
+
+<bean id="messageManager" parent="transactionProxy">
+<description>Manager Bean Proxy (Transaction) for Message Management.</description>
+ <property name="target">
+ <ref bean="messageManagerTarget"/>
+ </property>
+</bean>
+
+<bean id="ressourceManager" parent="transactionProxy">
+<description>Manager Bean Proxy (Transaction) for Ressource Management.</description>
+ <property name="target">
+ <ref bean="ressourceManagerTarget"/>
+ </property>
+</bean>
+
+<bean id="evaluationSubjectInstanceManager" parent="transactionProxy">
+<description>Manager Bean Proxy (Transaction) for EvaluationSubjectInstance Management.</description>
+ <property name="target">
+ <ref bean="evaluationSubjectInstanceManagerTarget"/>
+ </property>
+</bean>
+
+<bean id="processInstanciationDefinitionManager" parent="transactionProxy">
+<description>Manager Bean Proxy (Transaction) for ProcessInstanciationDefinition Management.</description>
+ <property name="target">
+ <ref bean="processInstanciationDefinitionManagerTarget"/>
+ </property>
+</bean>
+
+<bean id="methodEvalManager" parent="transactionProxy">
+<description>Manager Bean Proxy (Transaction) for MethodEval Management.</description>
+ <property name="target">
+ <ref bean="methodEvalManagerTarget"/>
+ </property>
+</bean>
+
+<bean id="definitionManager" parent="transactionProxy">
+<description>Manager Bean Proxy (Transaction) for EvaluationDefinition Management.</description>
+ <property name="target">
+ <ref bean="definitionManagerTarget"/>
+ </property>
+</bean>
+
+<bean id="instanceManager" parent="transactionProxy">
+<description>Manager Bean Proxy (Transaction) for EvaluationInstance Management.</description>
+ <property name="target">
+ <ref bean="instanceManagerTarget"/>
+ </property>
+</bean>
+
+<bean id="workflowManager" parent="transactionProxy">
+<description>Manager Bean Proxy (Transaction) for Workflow Management.</description>
+ <property name="target">
+ <ref bean="workflowManagerTarget"/>
+ </property>
+</bean>
+
+<bean id="synchroManager" parent="transactionProxy">
+<description>Manager Bean Proxy (Transaction) for Synchrinization Management.</description>
+ <property name="target">
+ <ref bean="synchroManagerTarget"/>
+ </property>
+</bean>
+
+<bean id="ldap" parent="transactionProxy">
+<description>Manager Bean Proxy (Transaction) for LDAP Management.</description>
+ <property name="target">
+ <ref bean="ldapTarget"/>
+ </property>
+</bean>
+
+
+<!--
+
+DBUtil bean load needed initial DB schema datas (e.g first MethodEval)
+
+ -->
+
+
+<bean id="DBUtil" class="com.pentila.evalcomp.utilities.JdbcWorker" init-method="execute" depends-on="sessionFactory">
+<description>Bean util for apply DB INSERT SQL at startup</description>
+<property name="dataSource"><ref bean="dataSource" /></property>
+<property name="sqlinitdir" value="${basedirectory}/${sqlinitevalcompdir}" />
+</bean>
+
+<bean id="dataSource2" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
+<description>DataSource for apply the Bonita DB Schema correction post-install</description>
+ <property name="driverClassName"><value>${hibernate.connection.driver_class}</value></property>
+ <property name="url"><value>${hibernate.connection.url}</value></property>
+ <property name="username"><value>${hibernate.connection.username}</value></property>
+ <property name="password"><value>${hibernate.connection.password}</value></property>
+</bean>
+
+<!--
+
+
+DBUtil2 to post-modify the Bonita DB Schema on some FK
+Define a new dataSource bean for it
+
+
+-->
+
+<bean id="DBUtil2" class="com.pentila.evalcomp.utilities.JdbcWorker" init-method="execute" depends-on="engine">
+<description>Bean Util for apply Bonita DB Schema Fix</description>
+
+<property name="dataSource"><ref bean="dataSource2" /></property>
+<property name="sqlinitdir" value="${basedirectory}/${sqlbonitadir}" />
+</bean>
+
+
+
+<!--
+
+Create initBeanHelper to avoid inter-dependency error in bean managers graph
+
+Prevent of Bean not yet initialize
+
+ -->
+
+<bean id="initBeanHelper" class="com.pentila.evalcomp.utilities.InitBeanHelper" init-method="run">
+<description>Beans helper to Fix Interlace Bean Initialization.</description>
+<property name="definitionManagerTarget"><ref bean="definitionManagerTarget" /></property>
+<property name="instanceManagerTarget"><ref bean="instanceManagerTarget" /></property>
+<property name="entityManagerTarget"><ref bean="entityManagerTarget"/> </property>
+<property name="messageManagerTarget"><ref bean="messageManagerTarget"/> </property>
+<property name="evaluationSubjectInstanceManagerTarget"><ref bean="evaluationSubjectInstanceManagerTarget"/> </property>
+<property name="workflowManagerTarget"><ref bean="workflowManagerTarget"/> </property>
+
+</bean>
+
+<!-- Synchronization Components -->
+
+<bean id="dbManager" class="com.pentila.evalcomp.synchronization.DbManager">
+<description>DB Manager Bean for Sychronization Entity Process.</description>
+ <property name="entityManager" ><ref bean="entityManager" /></property>
+ <property name="ldap" ><ref bean="ldapTarget" /></property>
+ <property name="synchro" ><ref bean="synchroParameters" /></property>
+</bean>
+
+<bean id="ldapManager" class="com.pentila.evalcomp.synchronization.LdapManager">
+<description>LDAP Manager Bean for Sychronization Entity Process.</description>
+ <property name="entityManager" ><ref bean="entityManager" /></property>
+ <property name="ldap" ><ref bean="ldapTarget" /></property>
+ <property name="synchro" ><ref bean="synchroParameters" /></property>
+</bean>
+
+<bean id="importAnnuaire" class="com.pentila.evalcomp.synchronization.ImportAnnuaire">
+<description>Special bean for XML Entities Importation.</description>
+ <property name="ldap" ><ref bean="ldapTarget" /></property>
+</bean>
+
+<bean id="rolesManager" class="com.pentila.evalcomp.synchronization.RolesManager">
+<description>Roles Manager in Synchronization.</description>
+ <property name="entityManager" ><ref bean="entityManager" /></property>
+ <property name="ldap" ><ref bean="ldapTarget" /></property>
+ <property name="roles">
+ <list>
+ <value>${m1}</value>
+ <value>${m2}</value>
+ <value>${m3}</value>
+ <value>${m4}</value>
+ </list>
+ </property>
+</bean>
+
+
+
+
+</beans>