1 <?xml version="1.0" encoding="UTF-8"?>
4 * Copyright Igor Barma, Eric Brun, Alexandre Desoubeaux, Christian Martel,
7 * Ce logiciel est un programme informatique servant à l'évaluation des
10 * Ce logiciel est régi par la licence CeCILL soumise au droit français et
11 * respectant les principes de diffusion des logiciels libres. Vous pouvez
12 * utiliser, modifier et/ou redistribuer ce programme sous les conditions
13 * de la licence CeCILL telle que diffusée par le CEA, le CNRS et l'INRIA
14 * sur le site "http://www.cecill.info".
16 * En contrepartie de l'accessibilité au code source et des droits de copie,
17 * de modification et de redistribution accordés par cette licence, il n'est
18 * offert aux utilisateurs qu'une garantie limitée. Pour les mêmes raisons,
19 * seule une responsabilité restreinte pèse sur l'auteur du programme, le
20 * titulaire des droits patrimoniaux et les concédants successifs.
22 * A cet égard l'attention de l'utilisateur est attirée sur les risques
23 * associés au chargement, à l'utilisation, à la modification et/ou au
24 * développement et à la reproduction du logiciel par l'utilisateur étant
25 * donné sa spécificité de logiciel libre, qui peut le rendre complexe à
26 * manipuler et qui le réserve donc à des développeurs et des professionnels
27 * avertis possédant des connaissances informatiques approfondies. Les
28 * utilisateurs sont donc invités à charger et tester l'adéquation du
29 * logiciel à leurs besoins dans des conditions permettant d'assurer la
30 * sécurité de leurs systèmes et ou de leurs données et, plus généralement,
31 * à l'utiliser et l'exploiter dans les mêmes conditions de sécurité.
33 * Le fait que vous puissiez accéder à cet en-tête signifie que vous avez
34 * pris connaissance de la licence CeCILL, et que vous en avez accepté les
38 <beans xmlns="http://www.springframework.org/schema/beans"
39 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
40 xmlns:aop="http://www.springframework.org/schema/aop"
41 xmlns:tx="http://www.springframework.org/schema/tx"
42 xmlns:context="http://www.springframework.org/schema/context"
44 http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
45 http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.5.xsd
46 http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.5.xsd
47 http://www.springframework.org/schema/context
48 http://www.springframework.org/schema/context/spring-context-2.5.xsd
53 Manager Bean Section declaration.
57 <!-- Enable Spring transaction annotation -->
58 <tx:annotation-driven />
59 <context:annotation-config />
63 Define Transactional managers
67 <bean id="placeholderConfigRoles"
68 class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
69 <property name="location" value="WEB-INF/roles.properties" />
70 <property name="ignoreUnresolvablePlaceholders" value="true"/>
74 <bean id="entityManagerTarget" class="com.pentila.evalcomp.manager.EntityManager" >
75 <description>Manager Bean Target (Transaction) for Entities Management.</description>
77 <property name="entityDAO"><ref bean="entityDAO" /></property>
78 <property name="roleDAO"><ref bean="roleDAO" /></property>
80 <!-- <property name="messageManager"><ref bean="messageManager" /></property>-->
81 <property name="ressourceManager"><ref bean="ressourceManager" /></property>
82 <property name="definitionManager"><ref bean="definitionManager" /></property>
83 <property name="instanceManager"><ref bean="instanceManager" /></property>
85 <property name="REPOSIT_URL" value="${repositoryPath}" />
86 <property name="LOGOUT_URL" value="${logouturl}" />
87 <property name="REPOSIT_WORKSPACE_PATH" value="${defaultworkspace}" />
90 <bean id="evaluationObjectManagerTarget" class="com.pentila.evalcomp.manager.EvaluationObjectManager" >
91 <description>Manager Bean Target (Transaction) for EvaluationObject Management.</description>
92 <property name="evaluationObjectDAO"><ref bean="evaluationObjectDAO" /></property>
95 <bean id="messageManagerTarget" class="com.pentila.evalcomp.manager.MessageManager" >
96 <description>Manager Bean Target (Transaction) for Message Management.</description>
97 <property name="messageDAO"><ref bean="messageDAO" /></property>
98 <property name="messageRecipientDAO"><ref bean="messageRecipientDAO" /></property>
99 <!-- <property name="evaluationSubjectInstanceManager"><ref bean="evaluationSubjectInstanceManager" /></property>-->
102 <bean id="ressourceManagerTarget" class="com.pentila.evalcomp.manager.RessourceManager" >
103 <description>Manager Bean Target (Transaction) for Ressource and RessourceDefinition Management.</description>
104 <property name="ressourceDAO"><ref bean="ressourceDAO" /></property>
105 <property name="ressourceDefinitionDAO"><ref bean="ressourceDefinitionDAO" /></property>
106 <property name="plugins">
109 <key><value>JACKRABBIT</value></key>
110 <ref bean="jackrabbitplugin"/>
113 <!-- EXAMPLES PLUGINS
116 <key><value>MOODLE</value></key>
117 <ref bean="moodleplugin"/>
120 <key><value>ARIADNE</value></key>
121 <ref bean="ariadneplugin"/>
130 <bean id="jackrabbitplugin" class="com.pentila.evalcomp.repository.JackRabbitPlugin">
132 <description>JackRabbit Plugin declaration.</description>
133 <property name="pluginName" value="" />
134 <property name="pluginKey" value="JACKRABBIT" />
135 <property name="storage"><ref bean="storage" /></property>
138 <!-- EXAMPLES PLUGINS
140 <bean id="moodleplugin" class="com.pentila.evalcomp.manager.ressource.moodle.MoodlePlugin">
141 <description>Moodle Plugin declaration.</description>
142 <property name="pluginName" value="Cours Moodle" />
143 <property name="pluginKey" value="MOODLE" />
144 <property name="moodleWebService"><ref bean="moodleWebService" /></property>
149 <bean id="ariadneplugin" class="com.pentila.evalcomp.ariadne.AriadnePlugin">
150 <description>Ariadne Plugin declaration.</description>
151 <property name="pluginName" value="Ariadne" />
152 <property name="pluginKey" value="ARIADNE" />
153 <property name="gateway"><ref bean="ariadneImpl" /></property>
158 <bean id="ariadneImpl" class="com.pentila.evalcomp.ariadne.AriadneImpl">
159 <property name="host" value="ariadne.cs.kuleuven.be"/>
160 <property name="service" value="ariadne-dev-ws" />
169 TEST multi repository
171 <bean id="jackrabbitplugin2" class="com.pentila.evalcomp.repository.JackRabbitPlugin">
172 <property name="pluginKey" value="JACKRABBIT2" />
173 <property name="storage"><ref bean="storage2" /></property>
177 <bean id="evaluationSubjectInstanceManagerTarget" class="com.pentila.evalcomp.manager.EvaluationSubjectInstanceManager" >
178 <description>Manager Bean Target (Transaction) for EvaluationSubjectInstance Management.</description>
179 <property name="evaluationSubjectInstanceDAO"><ref bean="evaluationSubjectInstanceDAO" /></property>
180 <property name="competenceInstanceDAO"><ref bean="competenceInstanceDAO" /></property>
181 <property name="ressourceManager"><ref local="ressourceManager" /></property>
182 <property name="messageManager"><ref local="messageManager" /></property>
186 <bean id="processInstanciationDefinitionManagerTarget" class="com.pentila.evalcomp.manager.ProcessInstanciationDefinitionManager">
187 <description>Manager Bean Target (Transaction) for ProcessInstanciationDefinition Management.</description>
188 <property name="processInstanciationDefinitionDAO"><ref bean="processInstanciationDefinitionDAO" /></property>
189 <property name="processRoleDefinitionDAO"><ref bean="processRoleDefinitionDAO" /></property>
190 <property name="propertyDAO"><ref bean="propertyDAO" /></property>
193 <bean id="methodEvalManagerTarget" class="com.pentila.evalcomp.manager.MethodEvalManager" >
194 <description>Manager Bean Target (Transaction) for MethodEval Management.</description>
195 <property name="methodEvalDAO"><ref bean="methodEvalDAO" /></property>
196 <property name="levelDAO"><ref bean="levelDAO" /></property>
199 <bean id="definitionManagerTarget" class="com.pentila.evalcomp.manager.DefinitionManager">
200 <description>Manager Bean Target (Transaction) for EvaluationDefinition Management and more.</description>
201 <property name="evaluationDefinitionDAO" ><ref bean="evaluationDefinitionDAO" /></property>
202 <property name="scenarioDefinitionDAO" ><ref bean="scenarioDefinitionDAO" /></property>
203 <property name="entityDefinitionDAO" ><ref bean="entityDefinitionDAO" /></property>
204 <property name="evaluationSubjectDAO" ><ref bean="evaluationSubjectDAO" /></property>
205 <property name="eventActivityDAO"><ref bean="eventActivityDAO" /></property>
208 <!-- <property name="instanceManager"><ref local="instanceManager" /></property>-->
209 <property name="ressourceManager"><ref local="ressourceManager" /></property>
210 <property name="workflowManager"><ref local="workflowManager" /></property>
211 <property name="entityManager"><ref local="entityManager" /></property>
212 <property name="evaluationObjectManager" ><ref local="evaluationObjectManager" /></property>
213 <property name="processInstanciationDefinitionManager"><ref local="processInstanciationDefinitionManager" /></property>
214 <property name="methodEvalManager"><ref local="methodEvalManager" /></property>
219 <bean id="instanceManagerTarget" class="com.pentila.evalcomp.manager.InstanceManager">
220 <description>Manager Bean Target (Transaction) for EvaluationInstance Management and other Instances obejects. </description>
221 <property name="evaluationInstanceDAO" ><ref bean="evaluationInstanceDAO" /></property>
222 <property name="scenarioInstanceDAO"><ref bean="scenarioInstanceDAO" /></property>
223 <property name="acquitmentDAO"><ref bean="acquitmentDAO" /></property>
224 <property name="eventDAO"><ref bean="eventDAO" /></property>
226 <property name="evaluationSubjectInstanceManager"><ref local="evaluationSubjectInstanceManager" /></property>
227 <!-- <property name="workflowManager"><ref local="workflowManager" /></property>-->
228 <!-- <property name="definitionManager"><ref local="definitionManager" /></property>-->
229 <property name="entityManager"><ref local="entityManager" /></property>
233 <bean id="workflowManagerTarget"
234 class="com.pentila.evalcomp.manager.WorkflowManager">
235 <description>Manager Bean Target (Transaction) for Workflow Management.</description>
236 <property name="engine" ref="engine" />
237 <property name="instanceManager" ref="instanceManager" />
241 <!-- Define Bonita Engine creation and workflows loading -->
244 class="com.pentila.evalcomp.workflow.engine.Engine"
245 init-method="initializeWorkers"
247 <description>Engine to control Bonita Engine.</description>
248 <property name="workflowsdir"><value>${basedirectory}/${workflowdir}</value></property>
251 <!-- Define SynchroManager LDAP - DB and initialize (run)
253 m1, m2 etc ... are define in roles.properties file
258 <bean id="synchroManagerTarget" class="com.pentila.evalcomp.manager.SynchroManager" init-method="run">
259 <description>Manager Bean Target (Transaction) for Synchronization Entity Management.</description>
260 <property name="synchro" ><ref bean="synchroParameters" /></property>
261 <property name="dbManager" ><ref bean="dbManager" /></property>
262 <property name="ldapManager" ><ref bean="ldapManager" /></property>
263 <property name="importAnnuaire" ><ref bean="importAnnuaire" /></property>
264 <property name="rolesManager" ><ref bean="rolesManager" /></property>
268 <bean id="ldapTarget" class="com.pentila.evalcomp.ldap.impl.LdapToolsImpl" >
269 <description>Ldap target Bean for Synchronization.</description>
270 <property name="ldapTemplate"><ref bean="ldapTemplate" /></property>
274 <bean id="beansUtil" class="com.pentila.evalcomp.manager.Beans">
275 <description>Bean to get Access on Spring Beans Context.</description>
276 <property name="STATIC_SERVER_URL" value="${static_server_url}" />
282 Define ProxyTransaction objects for each Manager
287 <bean id="entityManager" parent="transactionProxy">
288 <description>Manager Bean Proxy (Transaction) for Entities Management.</description>
289 <property name="target">
290 <ref bean="entityManagerTarget"/>
294 <bean id="evaluationObjectManager" parent="transactionProxy">
295 <description>Manager Bean Proxy (Transaction) for EvaluationObject Management.</description>
296 <property name="target">
297 <ref bean="evaluationObjectManagerTarget"/>
301 <bean id="messageManager" parent="transactionProxy">
302 <description>Manager Bean Proxy (Transaction) for Message Management.</description>
303 <property name="target">
304 <ref bean="messageManagerTarget"/>
308 <bean id="ressourceManager" parent="transactionProxy">
309 <description>Manager Bean Proxy (Transaction) for Ressource Management.</description>
310 <property name="target">
311 <ref bean="ressourceManagerTarget"/>
315 <bean id="evaluationSubjectInstanceManager" parent="transactionProxy">
316 <description>Manager Bean Proxy (Transaction) for EvaluationSubjectInstance Management.</description>
317 <property name="target">
318 <ref bean="evaluationSubjectInstanceManagerTarget"/>
322 <bean id="processInstanciationDefinitionManager" parent="transactionProxy">
323 <description>Manager Bean Proxy (Transaction) for ProcessInstanciationDefinition Management.</description>
324 <property name="target">
325 <ref bean="processInstanciationDefinitionManagerTarget"/>
329 <bean id="methodEvalManager" parent="transactionProxy">
330 <description>Manager Bean Proxy (Transaction) for MethodEval Management.</description>
331 <property name="target">
332 <ref bean="methodEvalManagerTarget"/>
336 <bean id="definitionManager" parent="transactionProxy">
337 <description>Manager Bean Proxy (Transaction) for EvaluationDefinition Management.</description>
338 <property name="target">
339 <ref bean="definitionManagerTarget"/>
343 <bean id="instanceManager" parent="transactionProxy">
344 <description>Manager Bean Proxy (Transaction) for EvaluationInstance Management.</description>
345 <property name="target">
346 <ref bean="instanceManagerTarget"/>
350 <bean id="workflowManager" parent="transactionProxy">
351 <description>Manager Bean Proxy (Transaction) for Workflow Management.</description>
352 <property name="target">
353 <ref bean="workflowManagerTarget"/>
357 <bean id="synchroManager" parent="transactionProxy">
358 <description>Manager Bean Proxy (Transaction) for Synchrinization Management.</description>
359 <property name="target">
360 <ref bean="synchroManagerTarget"/>
364 <bean id="ldap" parent="transactionProxy">
365 <description>Manager Bean Proxy (Transaction) for LDAP Management.</description>
366 <property name="target">
367 <ref bean="ldapTarget"/>
374 DBUtil bean load needed initial DB schema datas (e.g first MethodEval)
379 <bean id="DBUtil" class="com.pentila.evalcomp.utilities.JdbcWorker" init-method="execute" depends-on="sessionFactory">
380 <description>Bean util for apply DB INSERT SQL at startup</description>
381 <property name="dataSource"><ref bean="dataSource" /></property>
382 <property name="sqlinitdir" value="${basedirectory}/${sqlinitevalcompdir}" />
385 <bean id="dataSource2" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
386 <description>DataSource for apply the Bonita DB Schema correction post-install</description>
387 <property name="driverClassName"><value>${hibernate.connection.driver_class}</value></property>
388 <property name="url"><value>${hibernate.connection.url}</value></property>
389 <property name="username"><value>${hibernate.connection.username}</value></property>
390 <property name="password"><value>${hibernate.connection.password}</value></property>
396 DBUtil2 to post-modify the Bonita DB Schema on some FK
397 Define a new dataSource bean for it
402 <bean id="DBUtil2" class="com.pentila.evalcomp.utilities.JdbcWorker" init-method="execute" depends-on="engine">
403 <description>Bean Util for apply Bonita DB Schema Fix</description>
405 <property name="dataSource"><ref bean="dataSource2" /></property>
406 <property name="sqlinitdir" value="${basedirectory}/${sqlbonitadir}" />
413 Create initBeanHelper to avoid inter-dependency error in bean managers graph
415 Prevent of Bean not yet initialize
419 <bean id="initBeanHelper" class="com.pentila.evalcomp.utilities.InitBeanHelper" init-method="run">
420 <description>Beans helper to Fix Interlace Bean Initialization.</description>
421 <property name="definitionManagerTarget"><ref bean="definitionManagerTarget" /></property>
422 <property name="instanceManagerTarget"><ref bean="instanceManagerTarget" /></property>
423 <property name="entityManagerTarget"><ref bean="entityManagerTarget"/> </property>
424 <property name="messageManagerTarget"><ref bean="messageManagerTarget"/> </property>
425 <property name="evaluationSubjectInstanceManagerTarget"><ref bean="evaluationSubjectInstanceManagerTarget"/> </property>
426 <property name="workflowManagerTarget"><ref bean="workflowManagerTarget"/> </property>
430 <!-- Synchronization Components -->
432 <bean id="dbManager" class="com.pentila.evalcomp.synchronization.DbManager">
433 <description>DB Manager Bean for Sychronization Entity Process.</description>
434 <property name="entityManager" ><ref bean="entityManager" /></property>
435 <property name="ldap" ><ref bean="ldapTarget" /></property>
436 <property name="synchro" ><ref bean="synchroParameters" /></property>
439 <bean id="ldapManager" class="com.pentila.evalcomp.synchronization.LdapManager">
440 <description>LDAP Manager Bean for Sychronization Entity Process.</description>
441 <property name="entityManager" ><ref bean="entityManager" /></property>
442 <property name="ldap" ><ref bean="ldapTarget" /></property>
443 <property name="synchro" ><ref bean="synchroParameters" /></property>
446 <bean id="importAnnuaire" class="com.pentila.evalcomp.synchronization.ImportAnnuaire">
447 <description>Special bean for XML Entities Importation.</description>
448 <property name="ldap" ><ref bean="ldapTarget" /></property>
451 <bean id="rolesManager" class="com.pentila.evalcomp.synchronization.RolesManager">
452 <description>Roles Manager in Synchronization.</description>
453 <property name="entityManager" ><ref bean="entityManager" /></property>
454 <property name="ldap" ><ref bean="ldapTarget" /></property>
455 <property name="roles">