89 lines
5.3 KiB
XML
89 lines
5.3 KiB
XML
<?xml version="1.0" encoding="UTF-8"?>
|
|
<beans xmlns="http://www.springframework.org/schema/beans"
|
|
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
|
xmlns:context="http://www.springframework.org/schema/context"
|
|
xmlns:task="http://www.springframework.org/schema/task"
|
|
xmlns:p="http://www.springframework.org/schema/p"
|
|
xmlns:util="http://www.springframework.org/schema/util"
|
|
xsi:schemaLocation="
|
|
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
|
|
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd
|
|
http://www.springframework.org/schema/task http://www.springframework.org/schema/task/spring-task.xsd
|
|
http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util.xsd">
|
|
|
|
<context:property-placeholder/>
|
|
<context:annotation-config/>
|
|
<context:component-scan base-package="org.fcrepo"/>
|
|
|
|
<bean name="modeshapeRepofactory"
|
|
class="org.fcrepo.kernel.modeshape.spring.ModeShapeRepositoryFactoryBean"
|
|
p:repositoryConfiguration="file:///opt/fcrepo/config/repository.json"
|
|
depends-on="authenticationProvider"/>
|
|
<bean name="authenticationProvider" class="org.fcrepo.auth.common.ShiroAuthenticationProvider"/>
|
|
<bean name="headerProvider" class="org.fcrepo.auth.common.HttpHeaderPrincipalProvider">
|
|
<property name="headerName" value="X-Islandora"/>
|
|
<property name="separator" value=","/>
|
|
</bean>
|
|
<bean name="delegatedPrincipalProvider" class="org.fcrepo.auth.common.DelegateHeaderPrincipalProvider"/>
|
|
<bean name="accessRolesProvider" class="org.fcrepo.auth.webac.WebACRolesProvider"/>
|
|
<bean id="webACAuthorizingRealm" class="org.fcrepo.auth.webac.WebACAuthorizingRealm" />
|
|
<bean id="servletContainerAuthenticatingRealm" class="org.fcrepo.auth.common.ServletContainerAuthenticatingRealm" />
|
|
<bean id="securityManager" class="org.apache.shiro.web.mgt.DefaultWebSecurityManager">
|
|
<property name="realms">
|
|
<util:set set-class="java.util.HashSet">
|
|
<ref bean="webACAuthorizingRealm"/>
|
|
<ref bean="servletContainerAuthenticatingRealm"/>
|
|
</util:set>
|
|
</property>
|
|
</bean>
|
|
<bean id="lifecycleBeanPostProcessor" class="org.apache.shiro.spring.LifecycleBeanPostProcessor"/>
|
|
<bean id="servletContainerAuthFilter" class="org.fcrepo.auth.common.ServletContainerAuthFilter"/>
|
|
<bean id="webACFilter" class="org.fcrepo.auth.webac.WebACFilter"/>
|
|
<bean id="shiroFilter" class="org.apache.shiro.spring.web.ShiroFilterFactoryBean">
|
|
<property name="securityManager" ref="securityManager"/>
|
|
<property name="filterChainDefinitions">
|
|
<value>
|
|
/** = servletContainerAuthFilter,headerProvider,delegatedPrincipalProvider,webACFilter
|
|
</value>
|
|
</property>
|
|
</bean>
|
|
|
|
<util:list id="translationChain" value-type="org.fcrepo.kernel.api.identifiers.InternalIdentifierConverter">
|
|
<bean class="org.fcrepo.kernel.modeshape.identifiers.HashConverter"/>
|
|
<bean class="org.fcrepo.kernel.modeshape.identifiers.NamespaceConverter"/>
|
|
</util:list>
|
|
|
|
<bean class="org.fcrepo.jms.JMSTopicPublisher">
|
|
<constructor-arg value="fedora"/>
|
|
</bean>
|
|
<bean id="connectionFactory"
|
|
class="org.apache.activemq.ActiveMQConnectionFactory" depends-on="jmsBroker"
|
|
p:brokerURL="vm://${fcrepo.jms.host:localhost}:${fcrepo.dynamic.jms.port:61616}?create=false"/>
|
|
<bean name="jmsBroker" class="org.apache.activemq.xbean.BrokerFactoryBean"
|
|
p:config="${fcrepo.activemq.configuration:classpath:/config/activemq.xml}" p:start="true"/>
|
|
<bean class="org.fcrepo.jms.DefaultMessageFactory"/>
|
|
<bean class="org.fcrepo.kernel.modeshape.observer.SimpleObserver"/>
|
|
<bean name="fedoraEventFilter" class="org.fcrepo.kernel.modeshape.observer.DefaultFilter"/>
|
|
<bean name="fedoraEventMapper" class="org.fcrepo.kernel.modeshape.observer.eventmappings.AllNodeEventsOneEvent"/>
|
|
<bean name="fedoraInternalEventBus" class="com.google.common.eventbus.EventBus"/>
|
|
<bean name="rdfNamespaceRegistry" class="org.fcrepo.kernel.api.rdf.RdfNamespaceRegistry"
|
|
init-method="init" destroy-method="shutdown">
|
|
<property name="configPath" value="${fcrepo.namespace.registry:classpath:/namespaces.yml}" />
|
|
<property name="monitorForChanges" value="true" />
|
|
</bean>
|
|
<bean name="externalContentPathValidator" class="org.fcrepo.http.api.ExternalContentPathValidator"
|
|
init-method="init" destroy-method="shutdown">
|
|
<property name="configPath" value="${fcrepo.external.content.allowed:#{null}}" />
|
|
<property name="monitorForChanges" value="true" />
|
|
</bean>
|
|
<bean name="externalContentHandlerFactory" class="org.fcrepo.http.api.ExternalContentHandlerFactory">
|
|
<property name="validator" ref="externalContentPathValidator" />
|
|
</bean>
|
|
<task:scheduler id="taskScheduler" />
|
|
<task:executor id="taskExecutor" pool-size="1" />
|
|
<task:annotation-driven executor="taskExecutor" scheduler="taskScheduler" />
|
|
<bean class="org.modeshape.jcr.ModeShapeEngine" init-method="start"/>
|
|
<bean id="connectionManager" class="org.apache.http.impl.conn.PoolingHttpClientConnectionManager" />
|
|
<bean class="org.fcrepo.http.commons.session.SessionFactory"/>
|
|
</beans>
|