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.site" class="org.dataone.cn.indexer.parser.SolrField">
60
		<constructor-arg name="name" value="site" />
61
		<constructor-arg name="xpath" value='//dataset/coverage/geographicCoverage/geographicDescription/text()' />
62
		<property name="multivalue" value="true" />
63
	</bean>
64
	
65
	<bean id="eml.beginDate" class="org.dataone.cn.indexer.parser.SolrField">
66
		<constructor-arg name="name" value="beginDate" />
67
		<constructor-arg name="xpath"
68
			value="//dataset/coverage/temporalCoverage/rangeOfDates/beginDate/calendarDate/text()" />
69
		<property name="multivalue" value="false" />
70
		<property name="converter" ref="dateConverter" />
71
	</bean>
72

    
73
	<bean id="eml.endDate" class="org.dataone.cn.indexer.parser.SolrField">
74
		<constructor-arg name="name" value="endDate" />
75
		<constructor-arg name="xpath"
76
			value="//dataset/coverage/temporalCoverage/rangeOfDates/endDate/calendarDate/text()" />
77
		<property name="multivalue" value="false" />
78
		<property name="converter" ref="dateConverter" />
79
	</bean>
80
	
81
	<bean id="eml.singleBeginDate" class="org.dataone.cn.indexer.parser.SolrField">
82
		<constructor-arg name="name" value="beginDate" />
83
		<constructor-arg name="xpath"
84
			value="//dataset/coverage/temporalCoverage/singleDateTime/calendarDate/text()" />
85
		<property name="multivalue" value="false" />
86
		<property name="converter" ref="dateConverter" />
87
	</bean>
88
	
89
	<bean id="eml.singleEndDate" class="org.dataone.cn.indexer.parser.SolrField">
90
		<constructor-arg name="name" value="endDate" />
91
		<constructor-arg name="xpath"
92
			value="//dataset/coverage/temporalCoverage/singleDateTime/calendarDate/text()" />
93
		<property name="multivalue" value="false" />
94
		<property name="converter" ref="dateConverter" />
95
	</bean>
96
	
97
	<bean id="eml.pubDate" class="org.dataone.cn.indexer.parser.SolrField">
98
		<constructor-arg name="name" value="pubDate" />
99
		<constructor-arg name="xpath" value="//dataset/pubDate/text()" />
100
		<property name="multivalue" value="false" />
101
		<property name="converter" ref="dateConverter" />
102
	</bean>
103

    
104
	<bean id="eml.title" class="org.dataone.cn.indexer.parser.SolrField">
105
		<constructor-arg name="name" value="title" />
106
		<constructor-arg name="xpath" value="//dataset/title/text()" />
107
		<property name="multivalue" value="false" />
108
	</bean>
109
	
110
	<bean id="eml.project" class="org.dataone.cn.indexer.parser.SolrField">
111
		<constructor-arg name="name" value="project" />
112
		<constructor-arg name="xpath" value="//dataset/project/title/text()" />
113
		<property name="multivalue" value="false" />
114
	</bean>	
115

    
116
	<bean id="eml.authorSurName" class="org.dataone.cn.indexer.parser.SolrField">
117
		<constructor-arg name="name" value="authorSurName" />
118
		<constructor-arg name="xpath"
119
			value="//dataset/creator[1]/individualName[1]/surName/text()" />
120
	</bean>
121
	
122
	<bean id="eml.authorGivenName" class="org.dataone.cn.indexer.parser.SolrField">
123
		<constructor-arg name="name" value="authorGivenName" />
124
		<constructor-arg name="xpath"
125
			value="//dataset/creator[1]/individualName[1]/givenName/text()" />
126
	</bean>
127

    
128
	<bean id="eml.authorSurNameSort" class="org.dataone.cn.indexer.parser.SolrField">
129
		<constructor-arg name="name" value="authorSurNameSort" />
130
		<constructor-arg name="xpath"
131
			value="//dataset/creator[1]/individualName[1]/surName/text()" />
132
	</bean>
133
	
134
	<bean id="eml.authorGivenNameSort" class="org.dataone.cn.indexer.parser.SolrField">
135
		<constructor-arg name="name" value="authorGivenNameSort" />
136
		<constructor-arg name="xpath"
137
			value="//dataset/creator[1]/individualName[1]/givenName/text()" />
138
	</bean>
139

    
140
	<bean id="eml.author" class="org.dataone.cn.indexer.parser.CommonRootSolrField"
141
			p:multivalue="false"
142
			p:root-ref="eml.authorNameRoot">
143
			<constructor-arg name="name" value="author" />
144
	</bean>
145
	
146
	<bean id="eml.authorNameRoot" class="org.dataone.cn.indexer.parser.utility.RootElement"
147
		p:name="author"
148
		p:xPath="//dataset/creator/individualName"
149
		p:template="[givenName] [surName]">
150
		<property name="leafs">
151
			<list>
152
				<ref bean="eml.givenNameLeaf"/>
153
				<ref bean="eml.surNameLeaf"/>
154
			</list>
155
		</property>
156
	</bean>
157
	
158
	<bean id="eml.givenNameLeaf" class="org.dataone.cn.indexer.parser.utility.LeafElement"
159
		p:name="givenName"
160
		p:xPath="givenName/text()" />
161
		
162
	<bean id="eml.surNameLeaf" class="org.dataone.cn.indexer.parser.utility.LeafElement"
163
		p:name="surName"
164
		p:xPath="surName/text()"/>
165
			
166
	<bean id="eml.author_lname" class="org.dataone.cn.indexer.parser.SolrField">
167
		<constructor-arg name="name" value="authorLastName" />
168
		<constructor-arg name="xpath"
169
			value="//dataset/creator/individualName/surName/text()" />
170
		<property name="multivalue" value="true" />
171
	</bean>
172
	
173
	<bean id="eml.investigator" class="org.dataone.cn.indexer.parser.SolrField">
174
		<constructor-arg name="name" value="investigator" />
175
		<constructor-arg name="xpath"
176
			value="//dataset/creator/individualName/surName/text()" />
177
		<property name="multivalue" value="true" />
178
	</bean>
179
	
180
	<bean id="eml.origin" class="org.dataone.cn.indexer.parser.CommonRootSolrField"
181
		p:multivalue="true"
182
		p:root-ref="eml.originRoot">
183
		<constructor-arg name="name" value="origin" />
184
	</bean>
185
	
186
	<bean id="eml.originRoot" class="org.dataone.cn.indexer.parser.utility.RootElement"
187
		p:name="origin"
188
		p:xPath="//dataset/creator" 
189
		p:template="[individualName]||[organizationName]">
190
		<property name="leafs"><list><ref bean="eml.organizationNameLeaf"/></list></property>
191
		<property name="subRoots"><list><ref bean="eml.individualNameRoot" /></list></property>
192
	</bean>
193
		
194
	<bean id="eml.organizationNameLeaf" class="org.dataone.cn.indexer.parser.utility.LeafElement"
195
		p:name="organizationName"
196
		p:xPath="organizationName/text()" />
197
		
198
	<bean id="eml.individualNameRoot" class="org.dataone.cn.indexer.parser.utility.RootElement"
199
		p:name="individualName"
200
		p:xPath="individualName"
201
		p:template="[givenName] [surName]">
202
		<property name="leafs">
203
			<list>
204
				<ref bean="eml.givenNameLeaf"/>
205
				<ref bean="eml.surNameLeaf"/>
206
			</list>
207
		</property>
208
	</bean>
209
	
210
	<bean id="eml.contactOrganization" class="org.dataone.cn.indexer.parser.SolrField">
211
		<constructor-arg name="name" value="contactOrganization" />
212
		<constructor-arg name="xpath"
213
		  value="//dataset/creator/organizationName/text()" />
214
		<property name="multivalue" value="true" />
215
		<property name="dedupe" value="true"/>
216
	</bean>
217
	
218
	<bean id="eml.fileID" class="org.dataone.cn.indexer.parser.ResolveSolrField">
219
		<constructor-arg name="name" value="fileID" />
220
	</bean>
221
	
222
	<bean id="eml.text" class="org.dataone.cn.indexer.parser.FullTextSolrField">
223
		<constructor-arg name="name" value="text" />
224
		<constructor-arg name="xpath"
225
			value="//dataset/*[not(self::dataTable)]//text()" />
226
		<property name="multivalue" value="false" />
227
		<property name="combineNodes" value="true"/>
228
	</bean>
229
	
230
	<bean id="eml.genus" class="org.dataone.cn.indexer.parser.SolrField">
231
		<constructor-arg name="name" value="genus" />
232
		<constructor-arg name="xpath" 
233
			value='//taxonomicClassification/taxonRankValue[../taxonRankName="Genus"]/text()' />
234
		<property name="multivalue" value="true" />
235
		<property name="dedupe" value="true" />
236
	</bean>
237

    
238
	<bean id="eml.species" class="org.dataone.cn.indexer.parser.SolrField">
239
		<constructor-arg name="name" value="species" />
240
		<constructor-arg name="xpath" 
241
			value='//taxonomicClassification/taxonRankValue[../taxonRankName="Species"]/text()' />
242
		<property name="multivalue" value="true" />
243
		<property name="dedupe" value="true" />
244
	</bean>
245

    
246
	<bean id="eml.kingdom" class="org.dataone.cn.indexer.parser.SolrField">
247
		<constructor-arg name="name" value="kingdom" />
248
		<constructor-arg name="xpath" 
249
			value='//taxonomicClassification/taxonRankValue[../taxonRankName="Kingdom"]/text()' />
250
		<property name="multivalue" value="true" />
251
		<property name="dedupe" value="true" />
252
	</bean>
253

    
254
	<bean id="eml.order" class="org.dataone.cn.indexer.parser.SolrField">
255
		<constructor-arg name="name" value="order" />
256
		<constructor-arg name="xpath" 
257
			value='//taxonomicClassification/taxonRankValue[../taxonRankName="Order"]/text()' />
258
		<property name="multivalue" value="true" />
259
		<property name="dedupe" value="true" />
260
	</bean>
261

    
262
	<bean id="eml.phylum" class="org.dataone.cn.indexer.parser.SolrField">
263
		<constructor-arg name="name" value="phylum" />
264
		<constructor-arg name="xpath" 
265
			value='//taxonomicClassification/taxonRankValue[../taxonRankName="Phylum"]/text() | //taxonomicClassification/taxonRankValue[../taxonRankName="Division"]/text()' />
266
		<property name="multivalue" value="true" />
267
		<property name="dedupe" value="true" />
268
	</bean>
269
		
270
	<bean id="eml.family" class="org.dataone.cn.indexer.parser.SolrField">
271
		<constructor-arg name="name" value="family" />
272
		<constructor-arg name="xpath" 
273
			value='//taxonomicClassification/taxonRankValue[../taxonRankName="Family"]/text()' />
274
		<property name="multivalue" value="true" />
275
		<property name="dedupe" value="true" />
276
	</bean>
277

    
278
	<bean id="eml.class" class="org.dataone.cn.indexer.parser.SolrField">
279
		<constructor-arg name="name" value="class" />
280
		<constructor-arg name="xpath" 
281
			value='//taxonomicClassification/taxonRankValue[../taxonRankName="Class"]/text()' />
282
		<property name="multivalue" value="true" />
283
		<property name="dedupe" value="true" />
284
	</bean>
285
	
286
	
287
	<bean id="eml.scientificName" class="org.dataone.cn.indexer.parser.CommonRootSolrField"
288
			p:multivalue="true"
289
			p:root-ref="eml.scientificNameRoot">
290
			<constructor-arg name="name" value="scientificName" />
291
	</bean>
292
	
293
	<bean id="eml.scientificNameRoot" class="org.dataone.cn.indexer.parser.utility.RootElement"
294
		p:name="scientificName"
295
		p:xPath='//taxonomicClassification[../taxonRankName="Genus"]'
296
		p:template="[genus] [species]">
297
		<property name="leafs">
298
			<list>
299
				<ref bean="eml.genusLeaf"/>
300
				<ref bean="eml.speciesLeaf"/>
301
			</list>
302
		</property>
303
	</bean>	
304
	
305
	<bean id="eml.genusLeaf" class="org.dataone.cn.indexer.parser.utility.LeafElement"
306
		p:name="genus"
307
		p:xPath='../taxonRankValue/text()' />
308
		
309
	<bean id="eml.speciesLeaf" class="org.dataone.cn.indexer.parser.utility.LeafElement"
310
		p:name="species"
311
		p:xPath='taxonRankValue/text()' />	
312
	
313

    
314
	<bean id="eml.attributeName" class="org.dataone.cn.indexer.parser.SolrField">
315
		<constructor-arg name="name" value="attributeName" />
316
		<constructor-arg name="xpath"
317
			value='//dataTable/attributeList/attribute/attributeName/text()' />
318
		<property name="multivalue" value="true" />
319
		<property name="dedupe" value="false" />
320
	</bean>
321
	
322
	<bean id="eml.attributeLabel" class="org.dataone.cn.indexer.parser.SolrField">
323
		<constructor-arg name="name" value="attributeLabel" />
324
		<constructor-arg name="xpath"
325
			value='//dataTable/attributeList/attribute/attributeLabel/text()' />
326
		<property name="multivalue" value="true" />
327
		<property name="dedupe" value="false" />
328
	</bean>
329
	
330
	<bean id="eml.attributeDescription" class="org.dataone.cn.indexer.parser.SolrField">
331
		<constructor-arg name="name" value="attributeDescription" />
332
		<constructor-arg name="xpath"
333
			value='//dataTable/attributeList/attribute/attributeDefinition/text()' />
334
		<property name="multivalue" value="true" />
335
		<property name="dedupe" value="false" />
336
	</bean>
337
	
338
	<bean id="eml.attributeUnit" class="org.dataone.cn.indexer.parser.SolrField">
339
		<constructor-arg name="name" value="attributeUnit" />
340
		<constructor-arg name="xpath"
341
			value='//dataTable//standardUnit/text() | //dataTable//customUnit/text()' />
342
		<property name="multivalue" value="true" />
343
		<property name="dedupe" value="false" />
344
	</bean>
345

    
346
	<bean id="eml.attributeText" class="org.dataone.cn.indexer.parser.CommonRootSolrField"
347
			p:multivalue="true"
348
			p:root-ref="eml.attributeTextRoot">
349
			<constructor-arg name="name" value="attribute" />
350
	</bean>
351
	
352
	<bean id="eml.attributeTextRoot" class="org.dataone.cn.indexer.parser.utility.RootElement"
353
		p:name="attribute"
354
		p:xPath='//dataTable/attributeList/attribute'
355
		p:template="[attributeName] [attributeLabel] [attributeDescription] [attributeUnit]">
356
		<property name="leafs">
357
			<list>
358
				<ref bean="eml.attributeNameLeaf" />
359
				<ref bean="eml.attributeLabelLeaf" />
360
				<ref bean="eml.attributeDescriptionLeaf" />
361
				<ref bean="eml.attributeUnitLeaf" />
362
			</list>
363
		</property>
364
	</bean>	
365
	
366
	<bean id="eml.attributeNameLeaf" class="org.dataone.cn.indexer.parser.utility.LeafElement"
367
		p:name="attributeName"
368
		p:xPath='attributeName/text()' />
369
		
370
	<bean id="eml.attributeLabelLeaf" class="org.dataone.cn.indexer.parser.utility.LeafElement"
371
		p:name="attributeLabel"
372
		p:xPath='attributeLabel/text()' />
373
	
374
	<bean id="eml.attributeDescriptionLeaf" class="org.dataone.cn.indexer.parser.utility.LeafElement"
375
		p:name="attributeDescription"
376
		p:xPath='attributeDefinition/text()' />
377
		
378
	<bean id="eml.attributeUnitLeaf" class="org.dataone.cn.indexer.parser.utility.LeafElement"
379
		p:name="attributeUnit"
380
		p:xPath='.//standardUnit/text() | .//customUnit/text()' />	
381
	
382
	<bean id="eml.attributeName.noDupe" class="org.dataone.cn.indexer.parser.SolrField">
383
		<constructor-arg name="name" value="attributeName_noDupe" />
384
		<constructor-arg name="xpath"
385
			value='//dataTable/attributeList/attribute/attributeName/text()' />
386
		<property name="multivalue" value="true" />
387
		<property name="dedupe" value="true" />
388
	</bean>
389
	
390
	<bean id="eml.attributeLabel.noDupe" class="org.dataone.cn.indexer.parser.SolrField">
391
		<constructor-arg name="name" value="attributeLabel_noDupe" />
392
		<constructor-arg name="xpath"
393
			value='//dataTable/attributeList/attribute/attributeLabel/text()' />
394
		<property name="multivalue" value="true" />
395
		<property name="dedupe" value="true" />
396
	</bean>
397
	
398
	<bean id="eml.attributeDescription.noDupe" class="org.dataone.cn.indexer.parser.SolrField">
399
		<constructor-arg name="name" value="attributeDescription_noDupe" />
400
		<constructor-arg name="xpath"
401
			value='//dataTable/attributeList/attribute/attributeDefinition/text()' />
402
		<property name="multivalue" value="true" />
403
		<property name="dedupe" value="true" />
404
	</bean>
405
	
406
	<bean id="eml.attributeUnit.noDupe" class="org.dataone.cn.indexer.parser.SolrField">
407
		<constructor-arg name="name" value="attributeUnit_noDupe" />
408
		<constructor-arg name="xpath"
409
			value='//dataTable//standardUnit/text() | //dataTable//customUnit/text()' />
410
		<property name="multivalue" value="true" />
411
		<property name="dedupe" value="true" />
412
	</bean>
413
	
414
	<bean id="eml.fullText" class="org.dataone.cn.indexer.parser.AggregateSolrField" >
415
		<property name="name" value="text" />
416
		<property name="solrFields">
417
	   		<list>
418
	       		<ref bean="eml.text" />
419
	       		<ref bean="eml.attributeName.noDupe" />
420
	       		<ref bean="eml.attributeLabel.noDupe" />
421
	       		<ref bean="eml.attributeDescription.noDupe" />
422
	       		<ref bean="eml.attributeUnit.noDupe" />
423
	      	</list>
424
	  	</property>
425
	</bean>
426
</beans>
(2-2/10)