All Downloads are FREE. Search and download functionalities are using the official Maven repository.

spring.spring-dspace-addon-import-services.xml Maven / Gradle / Ivy

The newest version!
<?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"
       xmlns:context="http://www.springframework.org/schema/context"
       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"
       default-autowire-candidates="*Service,*DAO,javax.sql.DataSource">

    <context:annotation-config/> <!-- allows us to use spring annotations in beans -->

    <bean id="org.dspace.importer.external.service.ImportService"
        class="org.dspace.importer.external.service.ImportService"
        lazy-init="false" autowire="byType" destroy-method="destroy">
        <property name="importSources">
            <list>
                <ref bean="pubmedImportService" />
                <ref bean="bibtexImportService" />
                <ref bean="risImportService" />
                <ref bean="csvImportService" />
                <ref bean="tsvImportService" />
                <ref bean="endnoteImportService" />
                <ref bean="DoiImportService" />
            </list>
         </property>
    </bean>

    <bean id="DoiImportService"
          class="org.dspace.importer.external.MultipleParallelImportMetadataSourceServiceImpl" scope="singleton">
        <constructor-arg name="innerProviders">
            <list>
                <ref bean="CrossRefImportService"/>
                <ref bean="DataCiteImportService"/>
            </list>
        </constructor-arg>
        <constructor-arg name="sourceName">
            <value>doi</value>
        </constructor-arg>
    </bean>

    <bean id="DataCiteImportService"
          class="org.dspace.importer.external.datacite.DataCiteImportMetadataSourceServiceImpl" scope="singleton">
        <property name="metadataFieldMapping" ref="DataCiteMetadataFieldMapping"/>
        <property name="entityFilterQuery" value="${datacite.publicationimport.entityfilterquery}" />
    </bean>
    <bean id="DataCiteMetadataFieldMapping"
          class="org.dspace.importer.external.datacite.DataCiteFieldMapping">
    </bean>

    <bean id="DataCiteProjectImportService"
          class="org.dspace.importer.external.datacite.DataCiteProjectImportMetadataSourceServiceImpl" scope="singleton">
        <property name="metadataFieldMapping" ref="DataCiteProjectMetadataFieldMapping"/>
        <property name="entityFilterQuery" value="${datacite.projectimport.entityfilterquery}" />
    </bean>
    <bean id="DataCiteProjectMetadataFieldMapping"
          class="org.dspace.importer.external.datacite.DataCiteProjectFieldMapping">
    </bean>

    <bean id="ArXivImportService"
          class="org.dspace.importer.external.arxiv.service.ArXivImportMetadataSourceServiceImpl" scope="singleton">
        <property name="metadataFieldMapping" ref="ArXivMetadataFieldMapping"/>
        <property name="baseAddress" value="http://export.arxiv.org/api/query"/>
    </bean>
    <bean id="ArXivMetadataFieldMapping"
          class="org.dspace.importer.external.arxiv.metadatamapping.ArXivFieldMapping">
    </bean>

    <bean id="pubmedImportService"
          class="org.dspace.importer.external.pubmed.service.PubmedImportMetadataSourceServiceImpl">
        <property name="metadataFieldMapping" ref="pubmedMetadataFieldMapping"/>
        <property name="urlFetch" value="${pubmed.url.fetch}"/>
        <property name="urlSearch" value="${pubmed.url.search}"/>
        <property name="generateQueryForItem" ref="pubmedService"></property>
        <property name="interRequestTime" value="500"/>
        <property name="supportedExtensions">
            <list>
                 <value>xml</value>
            </list>
        </property>
    </bean>

    <bean id="pubmedMetadataFieldMapping"
          class="org.dspace.importer.external.pubmed.metadatamapping.PubmedFieldMapping">
    </bean>

    <bean id="risImportService"
          class="org.dspace.importer.external.ris.service.RisImportMetadataSourceServiceImpl">
          <property name="supportedExtensions">
               <list>
                     <value>ris</value>
               </list>
          </property>
    </bean>

    <bean id="bibtexImportService"
          class="org.dspace.importer.external.bibtex.service.BibtexImportMetadataSourceServiceImpl">
          <property name="supportedExtensions">
               <list>
                     <value>bib</value>
                     <value>bibtex</value>
               </list>
          </property>
    </bean>

    <bean id="csvImportService"
          class="org.dspace.importer.external.csv.service.CharacterSeparatedImportMetadataSourceServiceImpl">
          <property name="metadataFieldMap" ref="csvMetadataFieldMap"></property>
          <property name="skipLines" value="1" />
          <property name="supportedExtensions">
               <list>
                     <value>csv</value>
               </list>
          </property>
    </bean>

    <bean id="tsvImportService"
          class="org.dspace.importer.external.csv.service.CharacterSeparatedImportMetadataSourceServiceImpl">
          <property name="importSource" value="TsvMetadataSource" />
          <property name="separator" value="\u0009" />
          <property name="skipLines" value="1" />
          <property name="metadataFieldMap" ref="tsvMetadataFieldMap" />
          <property name="supportedExtensions">
               <list>
                     <value>tsv</value>
               </list>
          </property>
    </bean>

    <bean id="endnoteImportService"
          class="org.dspace.importer.external.endnote.service.EndnoteImportMetadataSourceServiceImpl">
          <property name="metadataFieldMap" ref="endnoteMetadataFieldMap"></property>
          <property name="supportedExtensions">
               <list>
                     <value>enl</value>
                     <value>enw</value>
               </list>
          </property>
    </bean>

    <bean id="openaireImportServiceByAuthor"
          class="org.dspace.importer.external.openaire.service.OpenAireImportMetadataSourceServiceImpl" scope="singleton">
        <property name="metadataFieldMapping" ref="openairePublicationMetadataFieldMapping"/>
        <property name="queryParam" value="author"/>
    </bean>
    <bean id="openaireImportServiceByTitle"
          class="org.dspace.importer.external.openaire.service.OpenAireImportMetadataSourceServiceImpl" scope="singleton">
        <property name="metadataFieldMapping" ref="openairePublicationMetadataFieldMapping"/>
        <property name="queryParam" value="title"/>
    </bean>
    <bean id="openairePublicationMetadataFieldMapping"
          class="org.dspace.importer.external.openaire.metadatamapping.OpenAIREPublicationFieldMapping">
    </bean>

    <bean id="CrossRefImportService" class="org.dspace.importer.external.crossref.CrossRefImportMetadataSourceServiceImpl" scope="singleton">
        <property name="metadataFieldMapping" ref="CrossRefMetadataFieldMapping"/>
        <property name="url" value="${crossref.url}"/>
    </bean>
    <bean id="CrossRefMetadataFieldMapping" class="org.dspace.importer.external.crossref.CrossRefFieldMapping"/>

    <bean id="EpoImportService" class="org.dspace.importer.external.epo.service.EpoImportMetadataSourceServiceImpl" scope="singleton">
        <property name="metadataFieldMapping" ref="epoMetadataFieldMapping"/>
        <property name="consumerKey" value="${epo.consumerKey}" />
        <property name="consumerSecret" value="${epo.consumerSecretKey}" />
        <property name="url" value="${epo.url}" />
        <property name="authUrl" value="${epo.authUrl}" />
        <property name="searchUrl" value="${epo.searchUrl}" />
        <!-- date filed mapped metadata, see epo-integration.xml -->
        <property name="dateFiled" ref="epo.dc.date.filed" />
        <property name="applicationNumber" ref="epo.dc.identifier" />
    </bean>
    <bean id="epoMetadataFieldMapping" class="org.dspace.importer.external.epo.service.EpoFieldMapping"/>

    <bean id="ScopusImportService" class="org.dspace.importer.external.scopus.service.ScopusImportMetadataSourceServiceImpl" scope="singleton">
        <property name="metadataFieldMapping" ref="scopusMetadataFieldMapping"/>
        <property name="url" value="${scopus.url}"/>
        <property name="apiKey" value="${scopus.apiKey}"/>
        <property name="instKey" value="${scopus.instToken}"/>
        <property name="viewMode" value="${scopus.search-api.viewMode}"/>
    </bean>
    <bean id="scopusMetadataFieldMapping" class="org.dspace.importer.external.scopus.service.ScopusFieldMapping"/>

    <bean id="rorImportService" class="org.dspace.importer.external.ror.service.RorImportMetadataSourceServiceImpl">
          <property name="metadataFieldMapping" ref="rorMetadataFieldMapping"/>
          <property name="url" value="${ror.orgunit-import.api-url}"/>
    </bean>
    <bean id="rorMetadataFieldMapping" class="org.dspace.importer.external.ror.service.RorFieldMapping"/>

    <bean id="vufindImportService" class="org.dspace.importer.external.vufind.VuFindImportMetadataSourceServiceImpl" scope="singleton">
          <!-- Set to empty to use the default set of fields  -->
          <constructor-arg type="java.lang.String" value=""/>
          <property name="metadataFieldMapping" ref="vufindMetadataFieldMapping"/>
          <property name="url" value="${vufind.url}"/>
          <property name="urlSearch" value="${vufind.url.search}"/>
    </bean>
    <bean id="vufindMetadataFieldMapping" class="org.dspace.importer.external.vufind.metadatamapping.VuFindFieldMapping"/>

    <bean id="ScieloImportService" class="org.dspace.importer.external.scielo.service.ScieloImportMetadataSourceServiceImpl" scope="singleton">
        <property name="metadataFieldMapping" ref="scieloMetadataFieldMapping"/>
        <property name="url" value="${scielo.url}"/>
    </bean>
    <bean id="scieloMetadataFieldMapping" class="org.dspace.importer.external.scielo.service.ScieloFieldMapping"/>

    <bean id="WosImportService" class="org.dspace.importer.external.wos.service.WOSImportMetadataSourceServiceImpl" scope="singleton">
        <property name="metadataFieldMapping" ref="wosMetadataFieldMapping"/>
        <property name="apiKey" value="${wos.apiKey}"/>
        <property name="url" value="${wos.url}"/>
        <property name="urlSearch" value="${wos.url.search}"/>
    </bean>
    <bean id="wosMetadataFieldMapping" class="org.dspace.importer.external.wos.service.WOSFieldMapping"/>

    <bean id="PubmedEuropeImportService" class="org.dspace.importer.external.pubmedeurope.PubmedEuropeMetadataSourceServiceImpl" scope="singleton">
        <property name="metadataFieldMapping" ref="PubmedEuropeMetadataFieldMapping"/>
        <property name="url" value="${pubmedeurope.url}"/>
    </bean>
    <bean id="PubmedEuropeMetadataFieldMapping" class="org.dspace.importer.external.pubmedeurope.PubmedEuropeFieldMapping"/>

    <bean id="CiniiImportService" class="org.dspace.importer.external.cinii.CiniiImportMetadataSourceServiceImpl" scope="singleton">
        <property name="metadataFieldMapping" ref="CiniiMetadataFieldMapping"/>
        <property name="url" value="${cinii.url}"/>
        <property name="urlSearch" value="${cinii.url.search}"/>
    </bean>
    <bean id="CiniiMetadataFieldMapping" class="org.dspace.importer.external.cinii.CiniiFieldMapping"/>

    <bean id="ADSImportService" class="org.dspace.importer.external.ads.ADSImportMetadataSourceServiceImpl" scope="singleton">
        <property name="apiKey" value="${ads.key}" />
        <property name="url" value="${ads.url}" />
        <property name="resultFieldList" value="${ads.resultFieldList}" />
        <property name="metadataFieldMapping" ref="ADSMetadataFieldMapping"/>
    </bean>
    <bean id="ADSMetadataFieldMapping" class="org.dspace.importer.external.ads.ADSFieldMapping"/>

    <!-- Metadatafield used to check against if it's already imported or not during the JSONLookupSearcher-->
    <bean id="lookupID" class="org.dspace.importer.external.metadatamapping.MetadataFieldConfig">
        <constructor-arg value="dc.identifier.other"/>
    </bean>

    <bean id="openalexImportPublicationService"
          class="org.dspace.importer.external.openalex.service.OpenAlexImportMetadataSourceServiceImpl">
        <property name="metadataFieldMapping" ref="openalexPublicationMetadataFieldMapping"/>
        <property name="url" value="${openalex.url.works}"/>
    </bean>

    <bean id="openalexImportPublicationByAuthorIdService"
          class="org.dspace.importer.external.openalex.service.OpenAlexImportMetadataSourceServiceImpl">
        <property name="metadataFieldMapping" ref="openalexPublicationMetadataFieldMapping"/>
        <property name="url" value="${openalex.url.works}?filter=authorships.author.id:"/>
    </bean>

    <bean id="openalexImportPublicationByDOIService"
          class="org.dspace.importer.external.openalex.service.OpenAlexImportMetadataSourceServiceImpl">
        <property name="metadataFieldMapping" ref="openalexPublicationMetadataFieldMapping"/>
        <property name="url" value="${openalex.url.works}?filter=doi:"/>
    </bean>

    <bean id="openalexImportPersonService"
          class="org.dspace.importer.external.openalex.service.OpenAlexImportMetadataSourceServiceImpl">
        <property name="metadataFieldMapping" ref="openalexPersonMetadataFieldMapping"/>
        <property name="url" value="${openalex.url.authors}"/>
    </bean>

    <bean id="openalexImportJournalService"
          class="org.dspace.importer.external.openalex.service.OpenAlexImportMetadataSourceServiceImpl">
        <property name="metadataFieldMapping" ref="openalexJournalMetadataFieldMapping"/>
        <property name="url" value="${openalex.url.sources}"/>
    </bean>

    <bean id="openalexImportInstitutionService"
          class="org.dspace.importer.external.openalex.service.OpenAlexImportMetadataSourceServiceImpl">
        <property name="metadataFieldMapping" ref="openalexInstitutionMetadataFieldMapping"/>
        <property name="url" value="${openalex.url.institutions}"/>
    </bean>

    <bean id="openalexImportPublisherService"
          class="org.dspace.importer.external.openalex.service.OpenAlexImportMetadataSourceServiceImpl">
        <property name="metadataFieldMapping" ref="openalexPublisherMetadataFieldMapping"/>
        <property name="url" value="${openalex.url.publishers}"/>
    </bean>

    <bean id="openalexImportFunderService"
          class="org.dspace.importer.external.openalex.service.OpenAlexImportMetadataSourceServiceImpl">
        <property name="metadataFieldMapping" ref="openalexFunderMetadataFieldMapping"/>
        <property name="url" value="${openalex.url.funders}"/>
    </bean>


    <bean id="openalexPublicationMetadataFieldMapping"
          class="org.dspace.importer.external.openalex.metadatamapping.OpenAlexPublicationFieldMapping">
    </bean>

    <bean id="openalexPersonMetadataFieldMapping"
          class="org.dspace.importer.external.openalex.metadatamapping.OpenAlexPersonFieldMapping">
    </bean>

    <bean id="openalexJournalMetadataFieldMapping"
          class="org.dspace.importer.external.openalex.metadatamapping.OpenAlexJournalFieldMapping">
    </bean>

    <bean id="openalexInstitutionMetadataFieldMapping"
          class="org.dspace.importer.external.openalex.metadatamapping.OpenAlexInstitutionFieldMapping">
    </bean>

    <bean id="openalexPublisherMetadataFieldMapping"
          class="org.dspace.importer.external.openalex.metadatamapping.OpenAlexPublisherFieldMapping">
    </bean>

    <bean id="openalexFunderMetadataFieldMapping"
          class="org.dspace.importer.external.openalex.metadatamapping.OpenAlexFunderFieldMapping">
    </bean>

</beans>




© 2015 - 2025 Weber Informatics LLC | Privacy Policy