<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:p="http://www.springframework.org/schema/p"
       xmlns:http="http://cxf.apache.org/transports/http/configuration" xmlns="http://www.springframework.org/schema/beans"
       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd


       http://cxf.apache.org/transports/http/configuration http://cxf.apache.org/schemas/configuration/http-conf.xsd">


	<bean id="dataciteESPlugin" class="eu.dnetlib.data.collector.plugins.datacite.DataciteCollectorPlugin">
		<property name="protocolDescriptor">
			<bean class="eu.dnetlib.data.collector.rmi.ProtocolDescriptor" p:name="dataciteESPlugins"/>
		</property>
	</bean>

	<bean id="schemaOrgPlugin" class="eu.dnetlib.data.collector.plugins.schemaorg.SchemaOrgPlugin">
		<property name="protocolDescriptor">
			<bean class="eu.dnetlib.data.collector.rmi.ProtocolDescriptor" p:name="schemaorg">
				<property name="params">
					<list>
						<bean class="eu.dnetlib.data.collector.rmi.ProtocolParameter"
							  p:name="consumerBlockPolling" />
						<bean class="eu.dnetlib.data.collector.rmi.ProtocolParameter"
							  p:name="consumerBlockPollingTimeout" />
						<bean class="eu.dnetlib.data.collector.rmi.ProtocolParameter"
							  p:name="consumerBlockPollingTimeoutUnit" />
						<bean class="eu.dnetlib.data.collector.rmi.ProtocolParameter"
							  p:name="endpointCharset" />
						<bean class="eu.dnetlib.data.collector.rmi.ProtocolParameter"
							  p:name="updatedDateFormat" />
						<bean class="eu.dnetlib.data.collector.rmi.ProtocolParameter"
							  p:name="createdDateFormat" />
						<bean class="eu.dnetlib.data.collector.rmi.ProtocolParameter"
							  p:name="publicationDateFormat" />
						<bean class="eu.dnetlib.data.collector.rmi.ProtocolParameter"
							  p:name="contributorFallbackType" />
						<bean class="eu.dnetlib.data.collector.rmi.ProtocolParameter"
							  p:name="identifierFallbackType" p:optional="true" />
						<bean class="eu.dnetlib.data.collector.rmi.ProtocolParameter"
							  p:name="identifierFallbackURL" p:optional="true" />
						<bean class="eu.dnetlib.data.collector.rmi.ProtocolParameter"
							  p:name="identifierMappingARK" p:optional="true" />
						<bean class="eu.dnetlib.data.collector.rmi.ProtocolParameter"
							  p:name="identifierMappingDOI" p:optional="true" />
						<bean class="eu.dnetlib.data.collector.rmi.ProtocolParameter"
							  p:name="identifierMappingHandle" p:optional="true" />
						<bean class="eu.dnetlib.data.collector.rmi.ProtocolParameter"
							  p:name="identifierMappingPURL" p:optional="true" />
						<bean class="eu.dnetlib.data.collector.rmi.ProtocolParameter"
							  p:name="identifierMappingURN" p:optional="true" />
						<bean class="eu.dnetlib.data.collector.rmi.ProtocolParameter"
							  p:name="identifierMappingURL" p:optional="true" />

						<bean class="eu.dnetlib.data.collector.rmi.ProtocolParameter"
							  p:name="repositoryAccessType" />

						<bean class="eu.dnetlib.data.collector.rmi.ProtocolParameter"
							  p:name="sitemap_queueSize" p:optional="true" />
						<bean class="eu.dnetlib.data.collector.rmi.ProtocolParameter"
							  p:name="sitemap_IndexCharset" p:optional="true" />
						<bean class="eu.dnetlib.data.collector.rmi.ProtocolParameter"
							  p:name="sitemap_FileCharset" p:optional="true" />
						<bean class="eu.dnetlib.data.collector.rmi.ProtocolParameter"
							  p:name="sitemap_FileSchema" p:optional="true" />
						<bean class="eu.dnetlib.data.collector.rmi.ProtocolParameter"
							  p:name="sitemap_FileType" p:optional="true" />
						<bean class="eu.dnetlib.data.collector.rmi.ProtocolParameter"
							  p:name="sitemap_producerBlockPollingTimeout" p:optional="true" />
						<bean class="eu.dnetlib.data.collector.rmi.ProtocolParameter"
							  p:name="sitemap_producerBlockPollingTimeoutUnit" p:optional="true" />

						<bean class="eu.dnetlib.data.collector.rmi.ProtocolParameter"
							  p:name="httpapi-kaggle_queueSize" p:optional="true" />
						<bean class="eu.dnetlib.data.collector.rmi.ProtocolParameter"
							  p:name="httpapi-kaggle_APICharset" p:optional="true" />
						<bean class="eu.dnetlib.data.collector.rmi.ProtocolParameter"
							  p:name="httpapi-kaggle_queryUrl" p:optional="true" />
						<bean class="eu.dnetlib.data.collector.rmi.ProtocolParameter"
							  p:name="httpapi-kaggle_queryPagePlaceholder" p:optional="true" />
						<bean class="eu.dnetlib.data.collector.rmi.ProtocolParameter"
							  p:name="httpapi-kaggle_responsePropertyTotalDataset" p:optional="true" />
						<bean class="eu.dnetlib.data.collector.rmi.ProtocolParameter"
							  p:name="httpapi-kaggle_responsePropertyDatasetList" p:optional="true" />
						<bean class="eu.dnetlib.data.collector.rmi.ProtocolParameter"
							  p:name="httpapi-kaggle_responsePropertyDatasetUrl" p:optional="true" />
						<bean class="eu.dnetlib.data.collector.rmi.ProtocolParameter"
							  p:name="httpapi-kaggle_responseBaseDatasetUrl" p:optional="true" />
						<bean class="eu.dnetlib.data.collector.rmi.ProtocolParameter"
							  p:name="kaggle_producerBlockPollingTimeout" p:optional="true" />
						<bean class="eu.dnetlib.data.collector.rmi.ProtocolParameter"
							  p:name="kaggle_producerBlockPollingTimeoutUnit" p:optional="true" />
					</list>
				</property>
			</bean>
		</property>
	</bean>
	
	<bean id="datasetsbyproject" class="eu.dnetlib.data.collector.plugins.datasets.DatasetsByProjectPlugin">
		<property name="protocolDescriptor">
			<bean class="eu.dnetlib.data.collector.rmi.ProtocolDescriptor" p:name="datasetsbyproject"/>
		</property>
	</bean>

	<bean id="re3dataPlugin" class="eu.dnetlib.data.collector.plugins.datasources.Re3DataCollectorPlugin">
		<property name="protocolDescriptor">
			<bean class="eu.dnetlib.data.collector.rmi.ProtocolDescriptor" p:name="re3data"/>
		</property>
	</bean>

	<bean id="gristPlugin" class="eu.dnetlib.data.collector.plugins.projects.grist.GristCollectorPlugin">
		<property name="protocolDescriptor">
			<bean class="eu.dnetlib.data.collector.rmi.ProtocolDescriptor" p:name="gristProjects"/>
		</property>
	</bean>

	<bean id="gtr2Plugin" class="eu.dnetlib.data.collector.plugins.projects.gtr2.Gtr2CollectorPlugin">
		<property name="protocolDescriptor">
			<bean class="eu.dnetlib.data.collector.rmi.ProtocolDescriptor" p:name="gtr2Projects"/>
		</property>
	</bean>

	<bean id="HTTPWithFileNamePlugin" class="eu.dnetlib.data.collector.plugins.httpfilename.HTTPWithFileNameCollectorPlugin">
		<property name="protocolDescriptor">

			<bean class="eu.dnetlib.data.collector.rmi.ProtocolDescriptor" p:name="HTTPWithFileName">
				<property name="params">
				<list>
				<bean class="eu.dnetlib.data.collector.rmi.ProtocolParameter"
					  p:name="filter" />
				</list>
				</property>
			</bean>
		</property>
	</bean>

	<bean id="excelPlugin" class="eu.dnetlib.data.collector.plugins.excel.ReadExcelPlugin">
		<property name="protocolDescriptor">
			<bean class="eu.dnetlib.data.collector.rmi.ProtocolDescriptor" p:name="excelFile">
				<property name="params">
					<list>
						<bean class="eu.dnetlib.data.collector.rmi.ProtocolParameter"
						      p:name="argument" />
						<bean class="eu.dnetlib.data.collector.rmi.ProtocolParameter"
						      p:name="header_row" />
						<bean class="eu.dnetlib.data.collector.rmi.ProtocolParameter"
						      p:name="file_to_save" />
						<bean class="eu.dnetlib.data.collector.rmi.ProtocolParameter"
						      p:name="remove_empty_lines" />
						<bean class="eu.dnetlib.data.collector.rmi.ProtocolParameter"
						      p:name="remove_lines_with_id" />
						<bean class="eu.dnetlib.data.collector.rmi.ProtocolParameter"
						      p:name="col_id" />
						<bean class="eu.dnetlib.data.collector.rmi.ProtocolParameter"
						      p:name="remove_tmp_file" />
						<bean class="eu.dnetlib.data.collector.rmi.ProtocolParameter"
						      p:name="sheet_number" />
						<bean class="eu.dnetlib.data.collector.rmi.ProtocolParameter"
						      p:name="tmp_file" />
						<bean class="eu.dnetlib.data.collector.rmi.ProtocolParameter"
						      p:name="separator" />
						<bean class="eu.dnetlib.data.collector.rmi.ProtocolParameter"
						      p:name="quote" />
					</list>
				</property>
			</bean>
		</property>
	</bean>

	<bean id="restCollectorPlugin" class="eu.dnetlib.data.collector.plugins.rest.RestCollectorPlugin">
		<property name="protocolDescriptor">
			<bean class="eu.dnetlib.data.collector.rmi.ProtocolDescriptor" p:name="rest_json2xml">
				<property name="params">
					<list>
						<bean class="eu.dnetlib.data.collector.rmi.ProtocolParameter"
							p:name="resumptionType" />					
						<bean class="eu.dnetlib.data.collector.rmi.ProtocolParameter"
							p:name="resumptionParam" />					
						<bean class="eu.dnetlib.data.collector.rmi.ProtocolParameter"
							p:name="resumptionXpath" />
						<bean class="eu.dnetlib.data.collector.rmi.ProtocolParameter"
							p:name="resultTotalXpath" />					
						<bean class="eu.dnetlib.data.collector.rmi.ProtocolParameter"
							p:name="resultFormatParam" />					
						<bean class="eu.dnetlib.data.collector.rmi.ProtocolParameter"
							p:name="resultFormatValue" />					
						<bean class="eu.dnetlib.data.collector.rmi.ProtocolParameter"
							p:name="resultSizeParam" />					
						<bean class="eu.dnetlib.data.collector.rmi.ProtocolParameter"
							p:name="resultSizeValue" />
                                                <bean class="eu.dnetlib.data.collector.rmi.ProtocolParameter"
							p:name="queryParams" />					
						<bean class="eu.dnetlib.data.collector.rmi.ProtocolParameter"
							p:name="entityXpath" />
					</list>
				</property>
			</bean>
		</property>
	</bean>

</beans>
