Merge branch 'release/4.6.0'
[taxeditor.git] / eu.etaxonomy.taxeditor.cdmlib / src / main / resources / eu / etaxonomy / cdm / remotingApplicationContext.xml
index a4819b226cf98266382f24a10902db4693015c84..7dc046a2e40c02011b2ae00794b1ba4ec4ac8a33 100644 (file)
@@ -1,39 +1,79 @@
 <?xml version="1.0" encoding="UTF-8"?>\r
 <beans xmlns="http://www.springframework.org/schema/beans"\r
-       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"\r
-       xmlns:context="http://www.springframework.org/schema/context"\r
-       xmlns:tx="http://www.springframework.org/schema/tx"\r
-       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/context http://www.springframework.org/schema/context/spring-context-2.5.xsd">\r
-       \r
-\r
-    <!--  <bean id="remoteTermInitializer" class="eu.etaxonomy.cdm.remote.service.RemoteTermInitializer"/>-->\r
-        \r
-       <context:annotation-config/>\r
-       \r
-       <context:component-scan base-package="eu/etaxonomy/cdm/api/application">\r
-               <context:exclude-filter type="regex" expression="eu\.etaxonomy\.cdm\.api\.application\.CdmApplicationDefaultConfiguration" /> \r
-       </context:component-scan>\r
+  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context"\r
+  xmlns:tx="http://www.springframework.org/schema/tx"\r
+  xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.1.xsd
+    http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.1.xsd
+    http://www.springframework.org/schema/context  http://www.springframework.org/schema/context/spring-context-3.1.xsd">\r
+\r
+  <import resource="classpath:/eu/etaxonomy/cdm/httpInvokerServiceClients.xml" />\r
+\r
+  <bean id="cdmEntitySessionManager"  \r
+    class="eu.etaxonomy.taxeditor.session.CdmEntitySessionManager" />\r
+\r
+  <bean id="cdmApplicationRemoteConfiguration" \r
+    class="eu.etaxonomy.cdm.api.application.CdmApplicationRemoteConfiguration" />\r
+\r
+  <bean id="cdmServiceRequestExecutor" \r
+    class="eu.etaxonomy.taxeditor.service.CdmServiceRequestExecutor" />\r
+    \r
+  <bean id="cachedCommonService" \r
+    class="eu.etaxonomy.taxeditor.service.CachedCommonServiceImpl" />    \r
+  \r
+  <bean id="defaultExport"\r
+    class="eu.etaxonomy.cdm.io.common.CdmApplicationAwareDefaultExport" />\r
+    \r
+  <bean id="jaxbExport"\r
+    class="eu.etaxonomy.cdm.io.jaxb.JaxbExport" />\r
+    \r
+  <bean id="accessDecisionManager" \r
+    class="eu.etaxonomy.cdm.persistence.hibernate.permission.UnanimousBasedUnrevokable" >\r
     \r
-       <import resource="classpath:/eu/etaxonomy/cdm/remoting_services_security.xml"/> \r
+    <property name="decisionVoters">\r
+      <list>\r
+        <bean\r
+          class="eu.etaxonomy.cdm.persistence.hibernate.permission.voter.GrantAlwaysVoter" />\r
+        <bean\r
+          class="eu.etaxonomy.cdm.persistence.hibernate.permission.voter.TaxonNodeVoter" />\r
+        <bean\r
+          class="eu.etaxonomy.cdm.persistence.hibernate.permission.voter.TaxonBaseVoter" />\r
+        <bean\r
+          class="eu.etaxonomy.cdm.persistence.hibernate.permission.voter.DescriptionBaseVoter" />\r
+        <bean\r
+          class="eu.etaxonomy.cdm.persistence.hibernate.permission.voter.DescriptionElementVoter" />\r
+      </list>\r
+    </property>\r
+  </bean>\r
 \r
-       <import resource="classpath:/eu/etaxonomy/cdm/httpInvokerServiceClients.xml"/>\r
+  <!-- CdmPermissionEvaluator.hasPermissions() evaluates the CdmPermissions \r
+    like TAXONNODE.UPDATE{20c8f083-5870-4cbd-bf56-c5b2b98ab6a7} -->\r
+  <bean id="cdmPermissionEvaluator" \r
+    class="eu.etaxonomy.cdm.persistence.hibernate.permission.CdmPermissionEvaluator">\r
+    <property name="accessDecisionManager" ref="accessDecisionManager" />\r
+  </bean>\r
 \r
-       <!-- EditGeoService was moved to ext. Therefore it will not be found by the default component scan.
-       We added it here because the Editor needs it. However, this is only a temporary solution.
-       In the future we want to pass in an application context with the editor. -->\r
+  <bean id="authenticationManager"\r
+    class="org.springframework.security.authentication.ProviderManager">\r
+    <property name="providers">\r
+      <list>\r
+        <ref local="daoAuthenticationProvider" />\r
+      </list>\r
+    </property>\r
+  </bean>\r
 \r
+  <bean id="daoAuthenticationProvider" \r
+    class="org.springframework.security.authentication.dao.DaoAuthenticationProvider">\r
+    <property name="userDetailsService" ref="userService" />\r
+    <property name="saltSource" ref="saltSource" />\r
+    <property name="passwordEncoder" ref="passwordEncoder" />\r
+  </bean>\r
 \r
-       <!-- <bean id="conversationHolder" class="eu.etaxonomy.cdm.api.conversation.ConversationHolder" scope="prototype"/> -->\r
+  <bean id="passwordEncoder" \r
+    class="org.springframework.security.authentication.encoding.Md5PasswordEncoder" />\r
 \r
-       <!-- TODO move to io -->\r
-<!-- \r
-       <context:component-scan base-package="eu/etaxonomy/cdm/io">\r
-               <context:exclude-filter type="regex" expression="eu\.etaxonomy\.cdm\.io\.berlinModel.*" />\r
-       </context:component-scan>\r
- -->\r
-       <!-- enable the configuration of transactional behavior based on annotations -->\r
-       <!-- <tx:annotation-driven transaction-manager="transactionManager"/> -->\r
+  <bean id="saltSource" \r
+    class="org.springframework.security.authentication.dao.ReflectionSaltSource">\r
+    <property name="userPropertyToUse" value="getUsername" />\r
+  </bean>\r
 \r
 </beans>\r