Project

General

Profile

Download (5.77 KB) Statistics
| Branch: | Tag: | Revision:
1
<?xml version="1.0" encoding="UTF-8"?>
2
<beans xmlns="http://www.springframework.org/schema/beans"
3
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context"
4
  xmlns:tx="http://www.springframework.org/schema/tx" xmlns:aop="http://www.springframework.org/schema/aop"
5
  xsi:schemaLocation="http://www.springframework.org/schema/beans
6
    http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
7
    http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-2.5.xsd
8
    http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.5.xsd
9
    http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.5.xsd
10
    ">
11

    
12
    <bean id="transactionManager" class="org.springframework.orm.hibernate4.HibernateTransactionManager">
13
      <property name="sessionFactory" ref="sessionFactory" />
14
    </bean>
15

    
16
    <bean id="sessionFactory" class="org.springframework.orm.hibernate4.LocalSessionFactoryBean" depends-on="tableGeneratorGlobalOverride">
17
        <property name="namingStrategy">
18
          <bean class="org.hibernate.cfg.DefaultComponentSafeNamingStrategy" />
19
        </property>
20

    
21
        <property name="entityInterceptor" ref="securityHibernateInterceptor" />
22

    
23
        <property name="configLocation" value="classpath:eu/etaxonomy/cdm/hibernate.cfg.xml"/>
24

    
25
       <!-- Looks like this is not needed anymore for hibernate 4 -->
26
<!--         <property  name="configurationClass" value="org.hibernate.cfg.AnnotationConfiguration"/> -->
27

    
28
        <!--
29
              If dataSource is set, this will override corresponding settings in Hibernate properties.
30
              If this is set, the Hibernate settings should not define a connection provider to
31
              avoid meaningless double configuration.
32

    
33
              see also org.springframework.orm.hibernate3.AbstractSessionFactoryBean.setDataSource(DataSource dataSource)
34
           -->
35
        <property name="dataSource" ref="dataSource"/>
36
        <property name="hibernateProperties" ref="hibernateProperties"/>
37
    </bean>
38

    
39
    <!--
40
       Configuration for the BeanInitialization
41
     -->
42
    <bean id="titleCacheAutoInitializer" class="eu.etaxonomy.cdm.persistence.dao.initializer.TitleCacheAutoInitializer"></bean>
43
    <bean id="annotationTypeAutoInitializer" class="eu.etaxonomy.cdm.persistence.dao.initializer.AnnotationTypeAutoInitializer"></bean>
44
    <bean id="markerTypeAutoInitializer" class="eu.etaxonomy.cdm.persistence.dao.initializer.MarkerTypeAutoInitializer"></bean>
45
    <bean id="gatheringEventLocationAutoInitializer" class="eu.etaxonomy.cdm.persistence.dao.initializer.GatheringEventLocationAutoInitializer"></bean>
46
    <bean id="termBaseAutoInitializer" class="eu.etaxonomy.cdm.persistence.dao.initializer.TermBaseAutoInitializer"></bean>
47
    <bean id="mediaAutoInitializer" class="eu.etaxonomy.cdm.persistence.dao.initializer.MediaAutoInitializer"></bean>
48
    <bean id="typeDesignationAutoInitializer" class="eu.etaxonomy.cdm.persistence.dao.initializer.TypeDesignationAutoInitializer"></bean>
49

    
50
    <bean id="defaultBeanInitializer" class="eu.etaxonomy.cdm.persistence.dao.hibernate.HibernateBeanInitializer">
51
       <property name="beanAutoInitializers">
52
           <map>
53
               <entry key="eu.etaxonomy.cdm.model.common.IdentifiableEntity"  value-ref="titleCacheAutoInitializer" />
54
               <entry key="eu.etaxonomy.cdm.model.common.Annotation"  value-ref="annotationTypeAutoInitializer" />
55
               <entry key="eu.etaxonomy.cdm.model.common.Marker"  value-ref="markerTypeAutoInitializer" />
56
               <entry key="eu.etaxonomy.cdm.model.occurrence.GatheringEvent"  value-ref="gatheringEventLocationAutoInitializer" />
57
               <entry key="eu.etaxonomy.cdm.model.common.TermBase"  value-ref="termBaseAutoInitializer" />
58
               <entry key="eu.etaxonomy.cdm.model.media.Media"  value-ref="mediaAutoInitializer" />
59
               <entry key="eu.etaxonomy.cdm.model.name.TypeDesignationBase"  value-ref="typeDesignationAutoInitializer" />
60
           </map>
61
       </property>
62
    </bean>
63

    
64
    <!--
65
      ============================== SECURITY ==============================
66
    -->
67
    <bean id="accessDecisionManager" class="org.springframework.security.access.vote.UnanimousBased">
68
        <property name="decisionVoters">
69
            <list>
70
                <bean class="eu.etaxonomy.cdm.persistence.hibernate.permission.voter.GrantAlwaysVoter" />
71
                <bean class="eu.etaxonomy.cdm.persistence.hibernate.permission.voter.TaxonNodeVoter" />
72
                <bean class="eu.etaxonomy.cdm.persistence.hibernate.permission.voter.TaxonBaseVoter" />
73
                <bean class="eu.etaxonomy.cdm.persistence.hibernate.permission.voter.DescriptionBaseVoter" />
74
                <bean class="eu.etaxonomy.cdm.persistence.hibernate.permission.voter.DescriptionElementVoter" />
75
            </list>
76
        </property>
77
    </bean>
78

    
79
    <!--
80
        CdmPermissionEvaluator.hasPermissions() evaluates the CdmPermissions like TAXONNODE.UPDATE{20c8f083-5870-4cbd-bf56-c5b2b98ab6a7}
81
    -->
82
    <bean id="cdmPermissionEvaluator" class="eu.etaxonomy.cdm.persistence.hibernate.permission.CdmPermissionEvaluator">
83
        <property name="accessDecisionManager" ref="accessDecisionManager" />
84
    </bean>
85

    
86
    <!-- The CdmSecurityHibernateInterceptor checks onSave() and on flushDirty() if the currently authenticated principal or token  has
87
    sufficient permissions on the entity to be persisted -->
88
    <bean id="securityHibernateInterceptor" class="eu.etaxonomy.cdm.persistence.hibernate.CdmSecurityHibernateInterceptor">
89
        <property name="permissionEvaluator" ref="cdmPermissionEvaluator" />
90
    </bean>
91

    
92
</beans>
(6-6/7)