Project

General

Profile

1
<beans xmlns="http://www.springframework.org/schema/beans"
2
	xmlns:p="http://www.springframework.org/schema/p"
3
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
4
	xsi:schemaLocation="http://www.springframework.org/schema/beans 
5
						http://www.springframework.org/schema/beans/spring-beans.xsd
6
						http://www.springframework.org/schema/context  
7
    					http://www.springframework.org/schema/context/spring-context-3.0.xsd">
8

    
9

    
10
	<bean id="eml.abstract" class="org.dataone.cn.indexer.parser.MergeSolrField">
11
	  <constructor-arg name="name" value="abstract" />
12
	  <constructor-arg name="xpath"
13
	    value="//dataset/abstract/descendant::text()" />
14
	  <constructor-arg name="delimiter" value=" " />
15
	  <property name="multivalue" value="false" />
16
	  <property name="dedupe" value="false" />
17
	</bean>
18

    
19
	<bean id="eml.keywords" class="org.dataone.cn.indexer.parser.SolrField">
20
		<constructor-arg name="name" value="keywords" />
21
		<constructor-arg name="xpath"
22
			value="//dataset/keywordSet/keyword/text()" />
23
		<property name="multivalue" value="true" />
24
		<property name="dedupe" value="true" />
25
	</bean>
26

    
27
	<bean id="eml.southBoundCoord" class="org.dataone.cn.indexer.parser.SolrField">
28
		<constructor-arg name="name" value="southBoundCoord" />
29
		<constructor-arg name="xpath"
30
			value="//dataset/coverage/geographicCoverage/boundingCoordinates/southBoundingCoordinate/text()" />
31
		<property name="multivalue" value="false" />
32
		<property name="converter" ref="solrLatitudeConverter" />
33
	</bean>
34

    
35
	<bean id="eml.northBoundCoord" class="org.dataone.cn.indexer.parser.SolrField">
36
		<constructor-arg name="name" value="northBoundCoord" />
37
		<constructor-arg name="xpath"
38
			value="//dataset/coverage/geographicCoverage/boundingCoordinates/northBoundingCoordinate/text()" />
39
		<property name="multivalue" value="false" />
40
		<property name="converter" ref="solrLatitudeConverter" />
41
	</bean>
42

    
43
	<bean id="eml.westBoundCoord" class="org.dataone.cn.indexer.parser.SolrField">
44
		<constructor-arg name="name" value="westBoundCoord" />
45
		<constructor-arg name="xpath"
46
			value="//dataset/coverage/geographicCoverage/boundingCoordinates/westBoundingCoordinate/text()" />
47
		<property name="multivalue" value="false" />
48
		<property name="converter" ref="solrLongitudeConverter" />
49
	</bean>
50

    
51
	<bean id="eml.eastBoundCoord" class="org.dataone.cn.indexer.parser.SolrField">
52
		<constructor-arg name="name" value="eastBoundCoord" />
53
		<constructor-arg name="xpath"
54
			value="//dataset/coverage/geographicCoverage/boundingCoordinates/eastBoundingCoordinate/text()" />
55
		<property name="multivalue" value="false" />
56
		<property name="converter" ref="solrLongitudeConverter" />
57
	</bean>
58

    
59
	<bean id="eml.beginDate" class="org.dataone.cn.indexer.parser.SolrField">
60
		<constructor-arg name="name" value="beginDate" />
61
		<constructor-arg name="xpath"
62
			value="//dataset/coverage/temporalCoverage/rangeOfDates/beginDate/calendarDate/text()" />
63
		<property name="multivalue" value="false" />
64
		<property name="converter" ref="dateConverter" />
65
	</bean>
66

    
67
	<bean id="eml.endDate" class="org.dataone.cn.indexer.parser.SolrField">
68
		<constructor-arg name="name" value="endDate" />
69
		<constructor-arg name="xpath"
70
			value="//dataset/coverage/temporalCoverage/rangeOfDates/endDate/calendarDate/text()" />
71
		<property name="multivalue" value="false" />
72
		<property name="converter" ref="dateConverter" />
73
	</bean>
74
	
75
	<bean id="eml.pubDate" class="org.dataone.cn.indexer.parser.SolrField">
76
		<constructor-arg name="name" value="pubDate" />
77
		<constructor-arg name="xpath" value="//dataset/pubDate/text()" />
78
		<property name="multivalue" value="false" />
79
		<property name="converter" ref="dateConverter" />
80
	</bean>
81

    
82
	<bean id="eml.title" class="org.dataone.cn.indexer.parser.SolrField">
83
		<constructor-arg name="name" value="title" />
84
		<constructor-arg name="xpath" value="//dataset/title/text()" />
85
		<property name="multivalue" value="false" />
86
	</bean>
87
	
88
	<bean id="eml.project" class="org.dataone.cn.indexer.parser.SolrField">
89
		<constructor-arg name="name" value="project" />
90
		<constructor-arg name="xpath" value="//dataset/project/title/text()" />
91
		<property name="multivalue" value="false" />
92
	</bean>	
93

    
94
	<bean id="eml.author" class="org.dataone.cn.indexer.parser.CommonRootSolrField"
95
			p:multivalue="false"
96
			p:root-ref="authorNameRoot">
97
			<constructor-arg name="name" value="author" />
98
	</bean>
99
	
100
	<bean id="authorNameRoot" class="org.dataone.cn.indexer.parser.utility.RootElement"
101
		p:name="author"
102
		p:xPath="//dataset/creator/individualName"
103
		p:template="[givenName] [surName]">
104
		<property name="leafs">
105
			<list>
106
				<ref bean="givenNameLeaf"/>
107
				<ref bean="surNameLeaf"/>
108
			</list>
109
		</property>
110
	</bean>
111
	
112
	<bean id="eml.author_lname" class="org.dataone.cn.indexer.parser.SolrField">
113
		<constructor-arg name="name" value="authorLastName" />
114
		<constructor-arg name="xpath"
115
			value="//dataset/creator/individualName/surName/text()" />
116
		<property name="multivalue" value="true" />
117
	</bean>
118
	
119
	<bean id="eml.investigator" class="org.dataone.cn.indexer.parser.SolrField">
120
		<constructor-arg name="name" value="investigator" />
121
		<constructor-arg name="xpath"
122
			value="//dataset/creator/individualName/surName/text()" />
123
		<property name="multivalue" value="true" />
124
	</bean>
125
	
126
	<bean id="eml.origin" class="org.dataone.cn.indexer.parser.CommonRootSolrField"
127
		p:multivalue="true"
128
		p:root-ref="originRoot">
129
		<constructor-arg name="name" value="origin" />
130
	</bean>
131
	
132
	<bean id="originRoot" class="org.dataone.cn.indexer.parser.utility.RootElement"
133
		p:name="origin"
134
		p:xPath="//dataset/creator" 
135
		p:template="[individualName]||[organizationName]">
136
		<property name="leafs"><list><ref bean="organizationNameLeaf"/></list></property>
137
		<property name="subRoots"><list><ref bean="individualNameRoot" /></list></property>
138
	</bean>
139
		
140
	<bean id="organizationNameLeaf" class="org.dataone.cn.indexer.parser.utility.LeafElement"
141
		p:name="organizationName"
142
		p:xPath="organizationName/text()" />
143
		
144
	<bean id="individualNameRoot" class="org.dataone.cn.indexer.parser.utility.RootElement"
145
		p:name="individualName"
146
		p:xPath="individualName"
147
		p:template="[givenName] [surName]">
148
		<property name="leafs">
149
			<list>
150
				<ref bean="givenNameLeaf"/>
151
				<ref bean="surNameLeaf"/>
152
			</list>
153
		</property>
154
	</bean>
155
	
156
	<bean id="givenNameLeaf" class="org.dataone.cn.indexer.parser.utility.LeafElement"
157
		p:name="givenName"
158
		p:xPath="givenName/text()" />
159
		
160
	<bean id="surNameLeaf" class="org.dataone.cn.indexer.parser.utility.LeafElement"
161
		p:name="surName"
162
		p:xPath="surName/text()"/>
163
	
164
	<bean id="eml.contactOrganization" class="org.dataone.cn.indexer.parser.SolrField">
165
		<constructor-arg name="name" value="contactOrganization" />
166
		<constructor-arg name="xpath"
167
		  value="//dataset/creator/organizationName/text()" />
168
		<property name="multivalue" value="true" />
169
		<property name="dedupe" value="true"/>
170
	</bean>
171
	
172
	<bean id="eml.fileID" class="org.dataone.cn.indexer.parser.ResolveSolrField">
173
		<constructor-arg name="name" value="fileID" />
174
	</bean>
175
	
176
	<bean id="eml.fullText" class="org.dataone.cn.indexer.parser.FullTextSolrField">
177
		<constructor-arg name="name" value="text" />
178
		<constructor-arg name="xpath"
179
			value="//dataset/*[not(self::dataTable)]//text()" />
180
		<property name="multivalue" value="false" />
181
		<property name="combineNodes" value="true"/>
182
	</bean>
183
        
184
        <bean id="eml.genus" class="org.dataone.cn.indexer.parser.SolrField">
185
		<constructor-arg name="name" value="genus" />
186
		<constructor-arg name="xpath" 
187
			value='//taxonomicClassification/taxonRankValue[../taxonRankName="Genus"]/text()' />
188
		<property name="multivalue" value="true" />
189
		<property name="dedupe" value="true" />
190
	</bean>
191

    
192
	<bean id="eml.species" class="org.dataone.cn.indexer.parser.SolrField">
193
		<constructor-arg name="name" value="species" />
194
		<constructor-arg name="xpath" 
195
			value='//taxonomicClassification/taxonRankValue[../taxonRankName="Species"]/text()' />
196
		<property name="multivalue" value="true" />
197
		<property name="dedupe" value="true" />
198
	</bean>
199

    
200
	<bean id="eml.kingdom" class="org.dataone.cn.indexer.parser.SolrField">
201
		<constructor-arg name="name" value="kingdom" />
202
		<constructor-arg name="xpath" 
203
			value='//taxonomicClassification/taxonRankValue[../taxonRankName="Kingdom"]/text()' />
204
		<property name="multivalue" value="true" />
205
		<property name="dedupe" value="true" />
206
	</bean>
207

    
208
	<bean id="eml.order" class="org.dataone.cn.indexer.parser.SolrField">
209
		<constructor-arg name="name" value="order" />
210
		<constructor-arg name="xpath" 
211
			value='//taxonomicClassification/taxonRankValue[../taxonRankName="Order"]/text()' />
212
		<property name="multivalue" value="true" />
213
		<property name="dedupe" value="true" />
214
	</bean>
215

    
216
	<bean id="eml.phylum" class="org.dataone.cn.indexer.parser.SolrField">
217
		<constructor-arg name="name" value="phylum" />
218
		<constructor-arg name="xpath" 
219
			value='//taxonomicClassification/taxonRankValue[../taxonRankName="Phylum"]/text() | //taxonomicClassification/taxonRankValue[../taxonRankName="Division"]/text()' />
220
		<property name="multivalue" value="true" />
221
		<property name="dedupe" value="true" />
222
	</bean>
223

    
224

    
225
	<bean id="eml.family" class="org.dataone.cn.indexer.parser.SolrField">
226
		<constructor-arg name="name" value="family" />
227
		<constructor-arg name="xpath" 
228
			value='//taxonomicClassification/taxonRankValue[../taxonRankName="Family"]/text()' />
229
		<property name="multivalue" value="true" />
230
		<property name="dedupe" value="true" />
231
	</bean>
232

    
233
	<bean id="eml.class" class="org.dataone.cn.indexer.parser.SolrField">
234
		<constructor-arg name="name" value="class" />
235
		<constructor-arg name="xpath" 
236
			value='//taxonomicClassification/taxonRankValue[../taxonRankName="Class"]/text()' />
237
		<property name="multivalue" value="true" />
238
		<property name="dedupe" value="true" />
239
	</bean>
240

    
241

    
242

    
243
	<bean id="eml.scientificName" class="org.dataone.cn.indexer.parser.CommonRootSolrField"
244
		p:multivalue="true" p:root-ref="eml.scientificNameRoot">
245
		<constructor-arg name="name" value="scientificName" />
246
	</bean>
247

    
248

    
249
	<bean id="eml.scientificNameRoot" class="org.dataone.cn.indexer.parser.utility.RootElement"
250
		p:name="scientificName"
251
		p:xPath='//taxonomicClassification[../taxonRankName="Genus"]'
252
		p:template="[genus] [species]">
253
		<property name="leafs">
254
			<list>
255
				<ref bean="eml.genusLeaf"/>
256
				<ref bean="eml.speciesLeaf"/>
257
			</list>
258
		</property>
259
	</bean>	
260

    
261

    
262
	<bean id="eml.genusLeaf" class="org.dataone.cn.indexer.parser.utility.LeafElement"
263
		p:name="genus"
264
		p:xPath='../taxonRankValue/text()' />
265

    
266

    
267
	<bean id="eml.speciesLeaf" class="org.dataone.cn.indexer.parser.utility.LeafElement"
268
		p:name="species"
269
		p:xPath='taxonRankValue/text()' />
270

    
271
</beans>
(1-1/9)