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() | //dataset/coverage/temporalCoverage/singleDateTime/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() | //dataset/coverage/temporalCoverage/singleDateTime/calendarDate/text()" />
77
		<property name="multivalue" value="false" />
78
		<property name="converter" ref="dateConverter" />
79
	</bean>
80
	
81
	<bean id="eml.pubDate" class="org.dataone.cn.indexer.parser.SolrField">
82
		<constructor-arg name="name" value="pubDate" />
83
		<constructor-arg name="xpath" value="//dataset/pubDate/text()" />
84
		<property name="multivalue" value="false" />
85
		<property name="converter" ref="dateConverter" />
86
	</bean>
87

    
88
	<bean id="eml.title" class="org.dataone.cn.indexer.parser.SolrField">
89
		<constructor-arg name="name" value="title" />
90
		<constructor-arg name="xpath" value="//dataset/title/text()" />
91
		<property name="multivalue" value="false" />
92
	</bean>
93
	
94
	<bean id="eml.project" class="org.dataone.cn.indexer.parser.SolrField">
95
		<constructor-arg name="name" value="project" />
96
		<constructor-arg name="xpath" value="//dataset/project/title/text()" />
97
		<property name="multivalue" value="false" />
98
	</bean>	
99

    
100
	<bean id="eml.authorSurName" class="org.dataone.cn.indexer.parser.SolrField">
101
		<constructor-arg name="name" value="authorSurName" />
102
		<constructor-arg name="xpath"
103
			value="//dataset/creator[1]/individualName[1]/surName/text()" />
104
	</bean>
105
	
106
	<bean id="eml.authorGivenName" class="org.dataone.cn.indexer.parser.SolrField">
107
		<constructor-arg name="name" value="authorGivenName" />
108
		<constructor-arg name="xpath"
109
			value="//dataset/creator[1]/individualName[1]/givenName/text()" />
110
	</bean>
111

    
112
	<bean id="eml.authorSurNameSort" class="org.dataone.cn.indexer.parser.SolrField">
113
		<constructor-arg name="name" value="authorSurNameSort" />
114
		<constructor-arg name="xpath"
115
			value="//dataset/creator[1]/individualName[1]/surName/text()" />
116
	</bean>
117
	
118
	<bean id="eml.authorGivenNameSort" class="org.dataone.cn.indexer.parser.SolrField">
119
		<constructor-arg name="name" value="authorGivenNameSort" />
120
		<constructor-arg name="xpath"
121
			value="//dataset/creator[1]/individualName[1]/givenName/text()" />
122
	</bean>
123

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

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

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

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

    
246
	<bean id="eml.phylum" class="org.dataone.cn.indexer.parser.SolrField">
247
		<constructor-arg name="name" value="phylum" />
248
		<constructor-arg name="xpath" 
249
			value='//taxonomicClassification/taxonRankValue[../taxonRankName="Phylum"]/text() | //taxonomicClassification/taxonRankValue[../taxonRankName="Division"]/text()' />
250
		<property name="multivalue" value="true" />
251
		<property name="dedupe" value="true" />
252
	</bean>
253
		
254
	<bean id="eml.family" class="org.dataone.cn.indexer.parser.SolrField">
255
		<constructor-arg name="name" value="family" />
256
		<constructor-arg name="xpath" 
257
			value='//taxonomicClassification/taxonRankValue[../taxonRankName="Family"]/text()' />
258
		<property name="multivalue" value="true" />
259
		<property name="dedupe" value="true" />
260
	</bean>
261

    
262
	<bean id="eml.class" class="org.dataone.cn.indexer.parser.SolrField">
263
		<constructor-arg name="name" value="class" />
264
		<constructor-arg name="xpath" 
265
			value='//taxonomicClassification/taxonRankValue[../taxonRankName="Class"]/text()' />
266
		<property name="multivalue" value="true" />
267
		<property name="dedupe" value="true" />
268
	</bean>
269
	
270
	
271
	<bean id="eml.scientificName" class="org.dataone.cn.indexer.parser.CommonRootSolrField"
272
			p:multivalue="true"
273
			p:root-ref="eml.scientificNameRoot">
274
			<constructor-arg name="name" value="scientificName" />
275
	</bean>
276
	
277
	<bean id="eml.scientificNameRoot" class="org.dataone.cn.indexer.parser.utility.RootElement"
278
		p:name="scientificName"
279
		p:xPath='//taxonomicClassification[../taxonRankName="Genus"]'
280
		p:template="[genus] [species]">
281
		<property name="leafs">
282
			<list>
283
				<ref bean="eml.genusLeaf"/>
284
				<ref bean="eml.speciesLeaf"/>
285
			</list>
286
		</property>
287
	</bean>	
288
	
289
	<bean id="eml.genusLeaf" class="org.dataone.cn.indexer.parser.utility.LeafElement"
290
		p:name="genus"
291
		p:xPath='../taxonRankValue/text()' />
292
		
293
	<bean id="eml.speciesLeaf" class="org.dataone.cn.indexer.parser.utility.LeafElement"
294
		p:name="species"
295
		p:xPath='taxonRankValue/text()' />	
296
	
297

    
298
	<bean id="eml.attributeName" class="org.dataone.cn.indexer.parser.SolrField">
299
		<constructor-arg name="name" value="attributeName" />
300
		<constructor-arg name="xpath"
301
			value='//dataTable/attributeList/attribute/attributeName/text()' />
302
		<property name="multivalue" value="true" />
303
		<property name="dedupe" value="false" />
304
	</bean>
305
	
306
	<bean id="eml.attributeLabel" class="org.dataone.cn.indexer.parser.SolrField">
307
		<constructor-arg name="name" value="attributeLabel" />
308
		<constructor-arg name="xpath"
309
			value='//dataTable/attributeList/attribute/attributeLabel/text()' />
310
		<property name="multivalue" value="true" />
311
		<property name="dedupe" value="false" />
312
	</bean>
313
	
314
	<bean id="eml.attributeDescription" class="org.dataone.cn.indexer.parser.SolrField">
315
		<constructor-arg name="name" value="attributeDescription" />
316
		<constructor-arg name="xpath"
317
			value='//dataTable/attributeList/attribute/attributeDefinition/text()' />
318
		<property name="multivalue" value="true" />
319
		<property name="dedupe" value="false" />
320
	</bean>
321
	
322
	<bean id="eml.attributeUnit" class="org.dataone.cn.indexer.parser.SolrField">
323
		<constructor-arg name="name" value="attributeUnit" />
324
		<constructor-arg name="xpath"
325
			value='//dataTable//standardUnit/text() | //dataTable//customUnit/text()' />
326
		<property name="multivalue" value="true" />
327
		<property name="dedupe" value="false" />
328
	</bean>
329

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