<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">
<beans>
	<bean id="socialToolForLAMSMessageService" class="org.lamsfoundation.lams.util.MessageService"
		>
		<property name="messageSource">
			<bean id="messageSource"
				class="org.springframework.context.support.ResourceBundleMessageSource">
				<property name="basename">
					<value>org.uach.lams.tool.socialToolForLAMS.ApplicationResources</value>
				</property>
			</bean>
		</property>
	</bean>

	<!-- core beans -->
	<bean id="socialToolForLAMSDao" class="org.uach.lams.tool.socialToolForLAMS.persistence.SocialToolForLAMSDao">
		<property name="sessionFactory">
			<ref bean="coreSessionFactory" />
		</property>
	</bean>
	<bean id="socialToolForLAMSUserDao"
		class="org.uach.lams.tool.socialToolForLAMS.persistence.SocialToolForLAMSUserDao">
		<property name="sessionFactory">
			<ref bean="coreSessionFactory" />
		</property>
	</bean>

	<bean id="socialToolForLAMSAttachmentDao"
		class="org.uach.lams.tool.socialToolForLAMS.persistence.SocialToolForLAMSAttachmentDao">
		<property name="sessionFactory">
			<ref bean="coreSessionFactory" />
		</property>
	</bean>

	<bean id="socialToolForLAMSMessageDao"
		class="org.uach.lams.tool.socialToolForLAMS.persistence.SocialToolForLAMSMessageDao">
		<property name="sessionFactory">
			<ref bean="coreSessionFactory" />
		</property>
	</bean>

	<bean id="timestampDao"
		class="org.uach.lams.tool.socialToolForLAMS.persistence.TimestampDao">
		<property name="sessionFactory">
			<ref bean="coreSessionFactory" />
		</property>
	</bean>

	<bean id="socialToolForLAMSMessageSeqDao"
		class="org.uach.lams.tool.socialToolForLAMS.persistence.SocialToolForLAMSMessageSeqDao">
		<property name="sessionFactory">
			<ref bean="coreSessionFactory" />
		</property>
	</bean>
	<bean id="socialToolForLAMSToolSessionDao"
		class="org.uach.lams.tool.socialToolForLAMS.persistence.SocialToolForLAMSToolSessionDao">
		<property name="sessionFactory">
			<ref bean="coreSessionFactory" />
		</property>
	</bean>

	<!-- Managers -->
	<bean id="socialToolForLAMSToolContentHandler"
		class="org.uach.lams.tool.socialToolForLAMS.util.SocialToolForLAMSToolContentHandler">
		<property name="repositoryService">
			<ref bean="repositoryService" />
		</property>
	</bean>

	<bean id="socialToolForLAMSOutputFactory"
		class="org.uach.lams.tool.socialToolForLAMS.service.SocialToolForLAMSOutputFactory">
		<property name="toolMessageService">
			<ref bean="socialToolForLAMSMessageService" />
		</property>
	</bean>

	<bean id="socialToolForLAMSManagerTarget" class="org.uach.lams.tool.socialToolForLAMS.service.SocialToolForLAMSService">
		<property name="socialToolForLAMSDao">
			<ref local="socialToolForLAMSDao" />
		</property>
		<property name="socialToolForLAMSUserDao">
			<ref local="socialToolForLAMSUserDao" />
		</property>
		<property name="socialToolForLAMSAttachmentDao">
			<ref local="socialToolForLAMSAttachmentDao" />
		</property>
		<property name="socialToolForLAMSMessageDao">
			<ref local="socialToolForLAMSMessageDao" />
		</property>
		<property name="socialToolForLAMSMessageSeqDao">
			<ref local="socialToolForLAMSMessageSeqDao" />
		</property>
		<property name="timestampDao">
			<ref local="timestampDao" />
		</property>
		<property name="socialToolForLAMSToolSessionDao">
			<ref local="socialToolForLAMSToolSessionDao" />
		</property>
		<property name="socialToolForLAMSToolContentHandler">
			<ref local="socialToolForLAMSToolContentHandler" />
		</property>
		<property name="repositoryService">
			<ref bean="repositoryService" />
		</property>
		<property name="toolService">
			<ref bean="lamsToolService" />
		</property>
		<property name="learnerService">
			<ref bean="learnerService" />
		</property>
		<property name="userManagementService">
			<ref bean="userManagementService" />
		</property>
		<property name="exportContentService">
			<ref bean="exportToolContentService" />
		</property>
		<property name="auditService">
			<ref bean="auditService" />
		</property>
		<property name="messageService">
			<ref bean="socialToolForLAMSMessageService" />
		</property>
		<property name="coreNotebookService">
			<ref bean="coreNotebookService" />
		</property>
		<property name="socialToolForLAMSOutputFactory">
			<ref local="socialToolForLAMSOutputFactory" />
		</property>
		<property name="eventNotificationService">
			<ref bean="eventNotificationService" />
		</property>
		<property name="gradebookService">
			<ref bean="gradebookService" />
		</property>
	</bean>

	<bean id="socialToolForLAMSService"
		class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean">
		<property name="transactionManager">
			<ref bean="transactionManager" />
		</property>
		<property name="target">
			<ref local="socialToolForLAMSManagerTarget" />
		</property>
		<property name="proxyTargetClass">
			<value>false</value>
		</property>
		<property name="transactionAttributes">
			<props>
				<prop key="create*">PROPAGATION_REQUIRED,-java.lang.Exception</prop>
				<prop key="update*">PROPAGATION_REQUIRED,-java.lang.Exception</prop>
				<prop key="delete*">PROPAGATION_REQUIRED,-java.lang.Exception</prop>

				<prop key="replyTopic">PROPAGATION_REQUIRED,-java.lang.Exception</prop>
				<prop key="releaseMarksForSession">PROPAGATION_REQUIRED,-java.lang.Exception</prop>
				<prop key="finishUserSession">PROPAGATION_REQUIRED,-java.lang.Exception</prop>
				<!--  Tool Content Manager and Tool Session Manager calls -->
				<prop key="copyToolContent">PROPAGATION_REQUIRED,-java.lang.Exception</prop>
				<prop key="removeToolContent">PROPAGATION_REQUIRED,-java.lang.Exception</prop>
				<prop key="setAsDefineLater">PROPAGATION_REQUIRED,-java.lang.Exception</prop>
				<prop key="setAsRunOffline">PROPAGATION_REQUIRED,-java.lang.Exception</prop>
				<prop key="exportToolSession">PROPAGATION_REQUIRED,-java.lang.Exception</prop>
				<prop key="leaveToolSession">PROPAGATION_REQUIRED,-java.lang.Exception</prop>
				<prop key="removeToolSession">PROPAGATION_REQUIRED,-java.lang.Exception</prop>
				<prop key="cloneContentTopics">PROPAGATION_REQUIRED,-java.lang.Exception</prop>

				<prop key="importToolContent">PROPAGATION_REQUIRED,-java.lang.Exception</prop>
				<prop key="exportToolContent">PROPAGATION_REQUIRED,-java.lang.Exception</prop>
				<prop key="import102ToolContent">PROPAGATION_REQUIRED,-java.lang.Exception</prop>
				<prop key="setReflectiveData">PROPAGATION_REQUIRED,-java.lang.Exception</prop>
			</props>
		</property>
	</bean>

</beans>
