alfresco-community-repo/config/alfresco/hibernate-context.xml
2006-09-12 18:55:07 +00:00

277 lines
15 KiB
XML

<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE beans PUBLIC '-//SPRING//DTD BEAN//EN' 'http://www.springframework.org/dtd/spring-beans.dtd'>
<beans>
<!-- load hibernate configuration properties -->
<bean id="hibernateConfigProperties" class="org.springframework.beans.factory.config.PropertiesFactoryBean">
<property name="locations">
<list>
<value>classpath:alfresco/domain/hibernate-cfg.properties</value>
</list>
</property>
</bean>
<!-- load hibernate entity cache strategies -->
<bean id="cacheStrategiesPlaceholderConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="ignoreUnresolvablePlaceholders">
<value>true</value>
</property>
<property name="locations">
<list>
<value>classpath:alfresco/domain/cache-strategies.properties</value>
</list>
</property>
</bean>
<!-- Hibernate session factory -->
<bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean" parent="sessionFactoryBase">
<property name="dataSource">
<ref bean="dataSource" />
</property>
</bean>
<bean id="sessionFactoryBase" abstract="true">
<property name="schemaUpdate">
<value>false</value>
</property>
<property name="mappingResources">
<list>
<!-- -->
<!-- Alfresco Node Storage -->
<!-- -->
<value>org/alfresco/repo/domain/hibernate/Node.hbm.xml</value>
<value>org/alfresco/repo/domain/hibernate/Store.hbm.xml</value>
<value>org/alfresco/repo/domain/hibernate/Transaction.hbm.xml</value>
<value>org/alfresco/repo/domain/hibernate/VersionCount.hbm.xml</value>
<value>org/alfresco/repo/domain/hibernate/AppliedPatch.hbm.xml</value>
<value>org/alfresco/repo/domain/hibernate/Permission.hbm.xml</value>
<value>org/alfresco/repo/avm/hibernate/AVM.hbm.xml</value>
<!-- Audit config -->
<!-- TODO: Move into org/alfresco/repo/domain/hibernate/ -->
<value>org/alfresco/repo/audit/hibernate/Audit.hbm.xml</value>
<!-- -->
<!-- JBoss jBPM Workflow Engine -->
<!-- -->
<!-- TODO: Determine if it's possible to inject the following mappings -->
<!-- from elsewhere -->
<!-- -->
<value>org/jbpm/graph/action/Script.hbm.xml</value>
<value>org/jbpm/db/hibernate.queries.hbm.xml</value>
<value>org/jbpm/graph/def/ProcessDefinition.hbm.xml</value>
<value>org/jbpm/graph/def/Node.hbm.xml</value>
<value>org/jbpm/graph/def/Transition.hbm.xml</value>
<value>org/jbpm/graph/def/Event.hbm.xml</value>
<value>org/jbpm/graph/def/Action.hbm.xml</value>
<value>org/jbpm/graph/def/SuperState.hbm.xml</value>
<value>org/jbpm/graph/def/ExceptionHandler.hbm.xml</value>
<value>org/jbpm/instantiation/Delegation.hbm.xml</value>
<value>org/jbpm/graph/node/StartState.hbm.xml</value>
<value>org/jbpm/graph/node/EndState.hbm.xml</value>
<value>org/jbpm/graph/node/ProcessState.hbm.xml</value>
<value>org/jbpm/graph/node/Decision.hbm.xml</value>
<value>org/jbpm/graph/node/Fork.hbm.xml</value>
<value>org/jbpm/graph/node/Join.hbm.xml</value>
<value>org/jbpm/graph/node/State.hbm.xml</value>
<value>org/jbpm/graph/node/TaskNode.hbm.xml</value>
<value>org/jbpm/context/def/ContextDefinition.hbm.xml</value>
<value>org/jbpm/context/def/VariableAccess.hbm.xml</value>
<value>org/jbpm/taskmgmt/def/TaskMgmtDefinition.hbm.xml</value>
<value>org/jbpm/taskmgmt/def/Swimlane.hbm.xml</value>
<value>org/jbpm/taskmgmt/def/Task.hbm.xml</value>
<value>org/jbpm/taskmgmt/def/TaskController.hbm.xml</value>
<value>org/jbpm/module/def/ModuleDefinition.hbm.xml</value>
<value>org/jbpm/bytes/ByteArray.hbm.xml</value>
<value>org/jbpm/file/def/FileDefinition.hbm.xml</value>
<value>org/jbpm/scheduler/def/CreateTimerAction.hbm.xml</value>
<value>org/jbpm/scheduler/def/CancelTimerAction.hbm.xml</value>
<value>org/jbpm/graph/exe/Comment.hbm.xml</value>
<value>org/jbpm/graph/exe/ProcessInstance.hbm.xml</value>
<value>org/jbpm/graph/exe/Token.hbm.xml</value>
<value>org/jbpm/graph/exe/RuntimeAction.hbm.xml</value>
<value>org/jbpm/module/exe/ModuleInstance.hbm.xml</value>
<value>org/jbpm/context/exe/ContextInstance.hbm.xml</value>
<value>org/jbpm/context/exe/TokenVariableMap.hbm.xml</value>
<value>org/jbpm/context/exe/VariableInstance.hbm.xml</value>
<value>org/jbpm/context/exe/variableinstance/ByteArrayInstance.hbm.xml</value>
<value>org/jbpm/context/exe/variableinstance/DateInstance.hbm.xml</value>
<value>org/jbpm/context/exe/variableinstance/DoubleInstance.hbm.xml</value>
<value>org/jbpm/context/exe/variableinstance/HibernateLongInstance.hbm.xml</value>
<value>org/jbpm/context/exe/variableinstance/HibernateStringInstance.hbm.xml</value>
<value>org/jbpm/context/exe/variableinstance/LongInstance.hbm.xml</value>
<value>org/jbpm/context/exe/variableinstance/NullInstance.hbm.xml</value>
<value>org/jbpm/context/exe/variableinstance/StringInstance.hbm.xml</value>
<value>org/jbpm/msg/Message.hbm.xml</value>
<value>org/jbpm/msg/db/TextMessage.hbm.xml</value>
<value>org/jbpm/command/ExecuteActionCommand.hbm.xml</value>
<value>org/jbpm/command/ExecuteNodeCommand.hbm.xml</value>
<value>org/jbpm/command/SignalCommand.hbm.xml</value>
<value>org/jbpm/command/TaskInstanceEndCommand.hbm.xml</value>
<value>org/jbpm/taskmgmt/exe/TaskMgmtInstance.hbm.xml</value>
<value>org/jbpm/taskmgmt/exe/TaskInstance.hbm.xml</value>
<value>org/jbpm/taskmgmt/exe/PooledActor.hbm.xml</value>
<value>org/jbpm/taskmgmt/exe/SwimlaneInstance.hbm.xml</value>
<value>org/jbpm/scheduler/exe/Timer.hbm.xml</value>
<value>org/jbpm/logging/log/ProcessLog.hbm.xml</value>
<value>org/jbpm/logging/log/MessageLog.hbm.xml</value>
<value>org/jbpm/logging/log/CompositeLog.hbm.xml</value>
<value>org/jbpm/graph/log/ActionLog.hbm.xml</value>
<value>org/jbpm/graph/log/NodeLog.hbm.xml</value>
<value>org/jbpm/graph/log/ProcessInstanceCreateLog.hbm.xml</value>
<value>org/jbpm/graph/log/ProcessInstanceEndLog.hbm.xml</value>
<value>org/jbpm/graph/log/SignalLog.hbm.xml</value>
<value>org/jbpm/graph/log/TokenCreateLog.hbm.xml</value>
<value>org/jbpm/graph/log/TokenEndLog.hbm.xml</value>
<value>org/jbpm/graph/log/TransitionLog.hbm.xml</value>
<value>org/jbpm/context/log/VariableLog.hbm.xml</value>
<value>org/jbpm/context/log/VariableCreateLog.hbm.xml</value>
<value>org/jbpm/context/log/VariableDeleteLog.hbm.xml</value>
<value>org/jbpm/context/log/VariableUpdateLog.hbm.xml</value>
<value>org/jbpm/context/log/variableinstance/ByteArrayUpdateLog.hbm.xml</value>
<value>org/jbpm/context/log/variableinstance/DateUpdateLog.hbm.xml</value>
<value>org/jbpm/context/log/variableinstance/DoubleUpdateLog.hbm.xml</value>
<value>org/jbpm/context/log/variableinstance/HibernateLongUpdateLog.hbm.xml</value>
<value>org/jbpm/context/log/variableinstance/HibernateStringUpdateLog.hbm.xml</value>
<value>org/jbpm/context/log/variableinstance/LongUpdateLog.hbm.xml</value>
<value>org/jbpm/context/log/variableinstance/StringUpdateLog.hbm.xml</value>
<value>org/jbpm/taskmgmt/log/TaskLog.hbm.xml</value>
<value>org/jbpm/taskmgmt/log/TaskCreateLog.hbm.xml</value>
<value>org/jbpm/taskmgmt/log/TaskAssignLog.hbm.xml</value>
<value>org/jbpm/taskmgmt/log/TaskEndLog.hbm.xml</value>
<value>org/jbpm/taskmgmt/log/SwimlaneLog.hbm.xml</value>
<value>org/jbpm/taskmgmt/log/SwimlaneCreateLog.hbm.xml</value>
<value>org/jbpm/taskmgmt/log/SwimlaneAssignLog.hbm.xml</value>
<!-- Alfresco TaskInstance sub-type -->
<value>org/alfresco/repo/workflow/jbpm/WorkflowTaskInstance.hbm.xml</value>
</list>
</property>
<property name="hibernateProperties" ref="hibernateConfigProperties" />
<property name="entityCacheStrategies" >
<props>
<prop key="org.alfresco.repo.domain.hibernate.NodeImpl">${cache.strategy}</prop>
<prop key="org.alfresco.repo.domain.hibernate.NodeStatusImpl">${cache.strategy}</prop>
<prop key="org.alfresco.repo.domain.hibernate.ChildAssocImpl">${cache.strategy}</prop>
<prop key="org.alfresco.repo.domain.hibernate.NodeAssocImpl">${cache.strategy}</prop>
<prop key="org.alfresco.repo.domain.hibernate.StoreImpl">${cache.strategy}</prop>
<prop key="org.alfresco.repo.domain.hibernate.TransactionImpl">${cache.strategy}</prop>
<prop key="org.alfresco.repo.domain.hibernate.ServerImpl">${cache.strategy}</prop>
<prop key="org.alfresco.repo.domain.hibernate.VersionCountImpl">${cache.strategy}</prop>
<prop key="org.alfresco.repo.domain.hibernate.AppliedPatchImpl">${cache.strategy}</prop>
<prop key="org.alfresco.repo.domain.hibernate.DbAccessControlListImpl">${cache.strategy}</prop>
<prop key="org.alfresco.repo.domain.hibernate.DbAccessControlEntryImpl">${cache.strategy}</prop>
<prop key="org.alfresco.repo.domain.hibernate.DbPermissionImpl">${cache.strategy}</prop>
<prop key="org.alfresco.repo.domain.hibernate.DbAuthorityImpl">${cache.strategy}</prop>
<prop key="org.alfresco.repo.audit.hibernate.AuditConfigImpl">${cache.strategy}</prop>
<prop key="org.alfresco.repo.audit.hibernate.AuditDateImpl">${cache.strategy}</prop>
<prop key="org.alfresco.repo.audit.hibernate.AuditSourceImpl">${cache.strategy}</prop>
</props>
</property>
<property name="collectionCacheStrategies" >
<props>
<prop key="org.alfresco.repo.domain.hibernate.NodeImpl.properties">${cache.strategy}</prop>
<prop key="org.alfresco.repo.domain.hibernate.NodeImpl.aspects">${cache.strategy}</prop>
<prop key="org.alfresco.repo.domain.hibernate.NodeImpl.parentAssocs">${cache.strategy}</prop>
<prop key="org.alfresco.repo.domain.hibernate.DbAccessControlListImpl.entries">${cache.strategy}</prop>
<prop key="org.alfresco.repo.domain.hibernate.DbAuthorityImpl.externalKeys">${cache.strategy}</prop>
</props>
</property>
</bean>
<!-- create a transaction manager -->
<bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">
<property name="transactionSynchronizationName">
<value>SYNCHRONIZATION_ALWAYS</value>
</property>
<property name="sessionFactory">
<ref bean="sessionFactory" />
</property>
</bean>
<!-- Hibernate-specific implementations of persistence components -->
<bean id="versionCounterDaoComponent" class="org.alfresco.repo.domain.hibernate.VersionCounterDaoComponentImpl" init-method="init">
<property name="sessionFactory">
<ref bean="sessionFactory" />
</property>
<property name="policyComponent">
<ref bean="policyComponent" />
</property>
</bean>
<bean id="permissionsDaoComponent" class="org.alfresco.repo.domain.hibernate.PermissionsDaoComponentImpl">
<property name="sessionFactory">
<ref bean="sessionFactory" />
</property>
<property name="protocolToACLDAO">
<map>
<entry key="workspace"><ref bean="nodeACLDAO"></ref></entry>
<entry key="avm"><ref bean="avmACLDAO"/></entry>
</map>
</property>
<property name="defaultACLDAO">
<ref bean="nodeACLDAO"/>
</property>
</bean>
<bean id="nodeACLDAO" class="org.alfresco.repo.domain.hibernate.NodeAccessControlListDAO">
<property name="nodeDaoService">
<ref bean="nodeDaoService" />
</property>
<property name="sessionFactory">
<ref bean="sessionFactory"/>
</property>
</bean>
<bean id="avmACLDAO" class="org.alfresco.repo.domain.hibernate.AVMAccessControlListDAO">
<property name="avmRepository">
<ref bean="avmRepository"/>
</property>
</bean>
<bean id="nodeDaoServiceImpl" class="org.alfresco.repo.node.db.hibernate.HibernateNodeDaoServiceImpl">
<property name="sessionFactory">
<ref bean="sessionFactory" />
</property>
</bean>
<bean id="dbNodeDaoServiceTxnRegistration" class="org.alfresco.repo.transaction.TransactionalDaoInterceptor" >
<property name="daoService">
<ref bean="nodeDaoServiceImpl" />
</property>
</bean>
<bean id="persmissionsDaoServiceTxnRegistration" class="org.alfresco.repo.transaction.TransactionalDaoInterceptor" >
<property name="daoService">
<ref bean="permissionsDaoComponent" />
</property>
</bean>
<bean id="nodeDaoService" class="org.springframework.aop.framework.ProxyFactoryBean">
<property name="proxyInterfaces">
<value>org.alfresco.repo.node.db.NodeDaoService</value>
</property>
<property name="target">
<ref bean="nodeDaoServiceImpl" />
</property>
<property name="interceptorNames">
<list>
<value>dbNodeDaoServiceTxnRegistration</value>
</list>
</property>
</bean>
<bean id="auditDao" class="org.alfresco.repo.audit.hibernate.HibernateAuditDAO">
<property name="sessionFactory">
<ref bean="sessionFactory"/>
</property>
<property name="contentStore">
<ref bean="auditFileContentStore"/>
</property>
</bean>
</beans>