<?xml version="1.0" encoding="UTF-8"?>
<!--

    The contents of this file are subject to the license and copyright
    detailed in the LICENSE and NOTICE files at the root of the source
    tree and available online at

    http://www.dspace.org/license/

-->
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xsi:schemaLocation="http://www.springframework.org/schema/beans
           http://www.springframework.org/schema/beans/spring-beans-2.5.xsd">


    <!-- Identifier Service Application Interface.  Will be autowired with
         any Identifier Providers present in Spring context.
    -->
    <bean id="org.dspace.identifier.service.IdentifierService"
          class="org.dspace.identifier.IdentifierServiceImpl"
          autowire="byType"
          scope="singleton"/>

   <!-- provider for exposing default Handle services implementaion. -->
    <!--bean id="org.dspace.identifier.HandleIdentifierProvider" class="org.dspace.identifier.HandleIdentifierProvider"
          scope="singleton">
        <property name="configurationService" ref="org.dspace.services.ConfigurationService"/>
    </bean-->

    <bean id="org.dspace.identifier.VersionedHandleIdentifierProvider" class="org.dspace.identifier.VersionedHandleIdentifierProvider"
          scope="singleton">
        <property name="configurationService" ref="org.dspace.services.ConfigurationService"/>
    </bean>

    <bean name="org.dspace.core.DBConnection" class="org.dspace.core.HibernateDBConnection" lazy-init="true"/>
    <bean name="org.dspace.core.DatabaseSchemaValidator" class="org.dspace.core.HibernateDatabaseSchemaValidator" lazy-init="true"/>

    <!-- Register all our Flyway callback classes (which run before/after database migrations) -->
    <bean class="org.dspace.storage.rdbms.DatabaseRegistryUpdater"/>
    <bean class="org.dspace.storage.rdbms.GroupServiceInitializer"/>
    <bean class="org.dspace.storage.rdbms.PostgreSQLCryptoChecker"/>
    <bean class="org.dspace.storage.rdbms.SiteServiceInitializer"/>

    <!-- Initialize our LoggerService (i.e. log4j) -->
    <bean class="org.dspace.core.LoggerServiceImpl"/>
</beans>
