missing fields for dna sample display for #3329 (Implement DNASample for Dataportal...
[cdmlib.git] / cdmlib-remote / src / main / resources / eu / etaxonomy / cdm / remote / json / jsonConfigurations.xml
1 <?xml version="1.0" encoding="UTF-8"?>
2 <beans xmlns="http://www.springframework.org/schema/beans"
3 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
4 xmlns:tx="http://www.springframework.org/schema/tx"
5 xmlns:context="http://www.springframework.org/schema/context"
6 xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
7 http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-2.5.xsd
8 http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.5.xsd
9 ">
10
11 <bean id="genericApiCardinalityPropertyFilter" class="eu.etaxonomy.cdm.remote.json.util.CardinalityPropertyFilter">
12 <property name="includeToOneRelations" value="false" />
13 <property name="includeToManyRelations" value="false" />
14 <property name="exceptions">
15 <set>
16 <!--
17 the exceptions listed here should be covered by implementations of
18 eu.etaxonomy.cdm.persistence.dao.AutoPropertyInitializer.
19 The according configuration files are
20 - /cdmlib-persistence/src/main/resources/eu/etaxonomy/cdm/persistence_security.xml
21 - /cdmlib-persistence/src/main/resources/eu/etaxonomy/cdm/persistence.xml
22 whereas persistence.xml will be removed in the near future.
23 -->
24 <value>FeatureTree.root</value>
25 <value>FeatureNode.children</value>
26 <value>FeatureNode.feature</value>
27
28 <value>TreeNode.data</value>
29 <value>TreeNode.data</value>
30
31 <value>PolytomousKey.root</value>
32 <value>PolytomousKeyNode.children</value>
33 <value>PolytomousKeyNode.question</value>
34 <value>PolytomousKeyNode.feature</value>
35 <value>PolytomousKeyNode.statement</value>
36 <value>PolytomousKeyNode.modifyingText</value>
37
38 <value>LinkedPolytomousKeyNodeRowDto.childStatement</value>
39 <value>LinkedPolytomousKeyNodeRowDto.rowQuestion</value>
40 <value>LinkedPolytomousKeyNodeRowDto.rowFeature</value>
41 <!-- value>LinkedPolytomousKeyNodeRowDto.keyNode</value-->
42
43 <value>Media.representations</value>
44 <value>MediaRepresentation.parts</value>
45
46 <value>Sequence.locus</value>
47 <value>Sequence.genBankAccession</value>
48
49 <value>Annotation.annotationType</value>
50
51 <value>DerivationEvent.derivatives</value>
52 <value>DerivationEvent.originals</value>
53
54 <value>Point.referenceSystem</value>
55
56 <!-- CardinalityPropertyFilter should allow defining exceptions for abstract super classes : -->
57 <!-- <value>eu.etaxonomy.cdm.model.description.DescriptionElementBase.feature</value> -->
58
59 <value>Synonym.sec</value>
60 <value>Taxon.sec</value>
61
62 <value>StateData.state</value>
63 <value>StateData.modifiers</value>
64 <value>StateData.modifyingText</value>
65
66 <value>TextData.feature</value>
67 <value>CategoricalData.feature</value>
68 <value>CommonTaxonName.feature</value>
69 <value>Distribution.feature</value>
70 <value>IndividualsAssociation.feature</value>
71 <value>QuantitativeData.feature</value>
72 <value>TaxonInteraction.feature</value>
73 <value>TextData.feature</value>
74 <value>IdentifiableSource.citation</value>
75
76 <value>SearchResult.entity</value>
77 </set>
78 </property>
79 </bean>
80
81 <bean id="nameCatalogueApiCardinalityPropertyFilter" class="eu.etaxonomy.cdm.remote.json.util.CardinalityPropertyFilter">
82 <property name="includeToOneRelations" value="true" />
83 <property name="includeToManyRelations" value="true" />
84 <property name="exceptions">
85 <set>
86 </set>
87 </property>
88 </bean>
89
90 <!--
91 =================================================
92 default configuration for RESTful read(/write) service
93 =================================================
94 -->
95 <bean name="jsonConfig" class="eu.etaxonomy.cdm.remote.json.JsonConfigFactoryBean"
96 init-method="init">
97 <property name="jsonBeanProcessorMatcher">
98 <bean
99 class="eu.etaxonomy.cdm.remote.json.processor.matcher.CdmProxyBeanProcessorMatcher" />
100 </property>
101 <property name="jsonBeanProcessors">
102 <map>
103 <entry key="org.hibernate.proxy.HibernateProxy">
104 <bean class="eu.etaxonomy.cdm.remote.json.processor.bean.HibernateProxyBeanProcessor" />
105 </entry>
106 <entry key="eu.etaxonomy.cdm.model.common.TermBase">
107 <bean class="eu.etaxonomy.cdm.remote.json.processor.bean.TermBaseBeanProcessor">
108 <property name="excludes">
109 <set value-type="java.lang.String">
110 <value>partOf</value><!-- FIXME exclude partOf to avoid lazy loading exceptions -->
111 <value>kindOf</value><!-- FIXME exclude kindOf to avoid lazy loading exceptions -->
112 <value>infraGenericMarker</value><!-- FIXME leads to IllegalStateException if not excluded -->
113 </set>
114 </property>
115 </bean>
116 </entry>
117 <entry key="eu.etaxonomy.cdm.model.description.TextData">
118 <bean class="eu.etaxonomy.cdm.remote.json.processor.bean.TextDataBeanProcessor" />
119 </entry>
120 <entry key="eu.etaxonomy.cdm.model.taxon.TaxonNode">
121 <bean class="eu.etaxonomy.cdm.remote.json.processor.bean.TaxonNodeBeanProcessor" />
122 </entry>
123 <entry key="eu.etaxonomy.cdm.model.reference.Reference">
124 <bean class="eu.etaxonomy.cdm.remote.json.processor.bean.ReferenceBaseBeanProcessor"/>
125 </entry>
126 <entry key="eu.etaxonomy.cdm.model.name.TypeDesignationBase">
127 <bean class="eu.etaxonomy.cdm.remote.json.processor.bean.TypeDesignationBaseBeanProcessor"/>
128 </entry>
129 <entry key="eu.etaxonomy.cdm.model.description.KeyStatement">
130 <bean class="eu.etaxonomy.cdm.remote.json.processor.bean.KeyStatementBeanProcessor" />
131 </entry>
132 <entry key="eu.etaxonomy.cdm.model.agent.TeamOrPersonBase">
133 <bean class="eu.etaxonomy.cdm.remote.json.processor.bean.TeamOrPersonBaseBeanProcessor" />
134 </entry>
135 <entry key="org.apache.lucene.document.Document">
136 <bean class="eu.etaxonomy.cdm.remote.json.processor.bean.LuceneDocumentBeanProcessor" />
137 </entry>
138 </map>
139 </property>
140 <property name="jsonPropertyFilter">
141 <bean class="net.sf.json.filters.OrPropertyFilter">
142 <constructor-arg>
143 <bean class="eu.etaxonomy.cdm.remote.json.util.InitializedHibernatePropertyFilter" />
144 </constructor-arg>
145 <constructor-arg ref="genericApiCardinalityPropertyFilter">
146 </constructor-arg>
147 </bean>
148 </property>
149 <property name="jsonValueProcessors">
150 <map>
151 <entry key="org.hibernate.proxy.HibernateProxy">
152 <bean
153 class="eu.etaxonomy.cdm.remote.json.processor.value.HibernateJSONValueProcessor" />
154 </entry>
155 <entry key="java.util.UUID">
156 <bean
157 class="eu.etaxonomy.cdm.remote.json.processor.value.UUIDJSONValueProcessor" />
158 </entry>
159 <entry key="org.joda.time.DateTime">
160 <bean
161 class="eu.etaxonomy.cdm.remote.json.processor.value.DateTimeJSONValueProcessor" />
162 </entry>
163 <entry key="java.util.Calendar">
164 <bean
165 class="eu.etaxonomy.cdm.remote.json.processor.value.CalendarJSONValueProcessor" />
166 </entry>
167 <entry key="org.joda.time.Partial">
168 <bean
169 class="eu.etaxonomy.cdm.remote.json.processor.value.PartialJSONValueProcessor" />
170 </entry>
171 <entry key="java.lang.Class">
172 <bean
173 class="eu.etaxonomy.cdm.remote.json.processor.value.ClassJSONValueProcessor" />
174 </entry>
175 <entry key="java.util.Map">
176 <bean class="eu.etaxonomy.cdm.remote.json.processor.value.MapJSONValueProcessor" />
177 </entry>
178 <entry key="java.net.URI">
179 <bean class="eu.etaxonomy.cdm.remote.json.processor.value.URIJSONValueProcessor"/>
180 </entry>
181 </map>
182 </property>
183 <property name="ignoreDefaultExcludes" value="true" />
184 <property name="excludes">
185 <list value-type="java.lang.String">
186 <value>declaringClass</value><!-- DefaultExclude -->
187 <value>metaClass</value><!-- DefaultExclude -->
188 <value>id</value>
189 <value>cacheStrategy</value>
190 <value>createdBy</value>
191 <value>updatedBy</value>
192 </list>
193 </property>
194 </bean>
195
196 <!--
197 =================================================
198 configuration for RESTful classification service
199 =================================================
200 -->
201 <bean name="jsonConfigClassification" class="eu.etaxonomy.cdm.remote.json.JsonConfigFactoryBean"
202 init-method="init">
203 <property name="jsonBeanProcessorMatcher">
204 <bean
205 class="eu.etaxonomy.cdm.remote.json.processor.matcher.HibernateProxyBeanProcessorMatcher" />
206 </property>
207 <property name="jsonBeanProcessors">
208 <map>
209 <entry key="org.hibernate.proxy.HibernateProxy">
210 <bean
211 class="eu.etaxonomy.cdm.remote.json.processor.bean.HibernateProxyBeanProcessor" />
212 </entry>
213 <entry key="eu.etaxonomy.cdm.model.taxon.TaxonNode">
214 <bean
215 class="eu.etaxonomy.cdm.remote.json.processor.bean.TaxonNodeDaoBeanProcessor" />
216 </entry>
217 </map>
218 </property>
219 <property name="jsonPropertyFilter">
220 <bean class="net.sf.json.filters.OrPropertyFilter">
221 <constructor-arg>
222 <bean class="eu.etaxonomy.cdm.remote.json.util.InitializedHibernatePropertyFilter" />
223 </constructor-arg>
224 <constructor-arg ref="genericApiCardinalityPropertyFilter">
225 </constructor-arg>
226 </bean>
227 </property>
228 <property name="jsonValueProcessors">
229 <map>
230 <entry key="org.hibernate.proxy.HibernateProxy">
231 <bean
232 class="eu.etaxonomy.cdm.remote.json.processor.value.HibernateJSONValueProcessor" />
233 </entry>
234 <entry key="java.util.UUID">
235 <bean
236 class="eu.etaxonomy.cdm.remote.json.processor.value.UUIDJSONValueProcessor" />
237 </entry>
238 <entry key="org.joda.time.DateTime">
239 <bean
240 class="eu.etaxonomy.cdm.remote.json.processor.value.DateTimeJSONValueProcessor" />
241 </entry>
242 <entry key="java.util.Calendar">
243 <bean
244 class="eu.etaxonomy.cdm.remote.json.processor.value.CalendarJSONValueProcessor" />
245 </entry>
246 <entry key="org.joda.time.Partial">
247 <bean
248 class="eu.etaxonomy.cdm.remote.json.processor.value.PartialJSONValueProcessor" />
249 </entry>
250 <entry key="java.lang.Class">
251 <bean
252 class="eu.etaxonomy.cdm.remote.json.processor.value.ClassJSONValueProcessor" />
253 </entry>
254 <entry key="java.util.Map">
255 <bean class="eu.etaxonomy.cdm.remote.json.processor.value.MapJSONValueProcessor" />
256 </entry>
257 <entry key="java.net.URI">
258 <bean class="eu.etaxonomy.cdm.remote.json.processor.value.URIJSONValueProcessor"/>
259 </entry>
260 </map>
261 </property>
262 <property name="ignoreDefaultExcludes" value="true" />
263 <property name="excludes">
264 <list value-type="java.lang.String">
265 <value>declaringClass</value><!-- DefaultExclude -->
266 <value>metaClass</value><!-- DefaultExclude -->
267 <value>id</value>
268 <value>cacheStrategy</value>
269 <value>createdBy</value>
270 <value>updatedBy</value>
271 </list>
272 </property>
273 </bean>
274
275 <!--
276 =================================================
277 configuration for RESTful portal service
278 =================================================
279 -->
280
281 <bean name="jsonConfigPortal" class="eu.etaxonomy.cdm.remote.json.JsonConfigFactoryBean"
282 init-method="init">
283 <property name="jsonBeanProcessorMatcher">
284 <bean
285 class="eu.etaxonomy.cdm.remote.json.processor.matcher.CdmProxyBeanProcessorMatcher" />
286 </property>
287 <property name="jsonBeanProcessors">
288 <map>
289 <entry key="org.hibernate.proxy.HibernateProxy">
290 <bean
291 class="eu.etaxonomy.cdm.remote.json.processor.bean.HibernateProxyBeanProcessor" />
292 </entry>
293 <entry key="eu.etaxonomy.cdm.model.taxon.Taxon">
294 <bean class="eu.etaxonomy.cdm.remote.json.processor.bean.TaxonBeanProcessor" />
295 </entry>
296 <entry key="eu.etaxonomy.cdm.model.name.TaxonNameBase">
297 <bean
298 class="eu.etaxonomy.cdm.remote.json.processor.bean.TaxonNameBaseBeanProcessor" />
299 </entry>
300 <entry key="eu.etaxonomy.cdm.model.name.NameRelationship">
301 <bean
302 class="eu.etaxonomy.cdm.remote.json.processor.bean.NameRelationshipBeanProcessor" />
303 </entry>
304 <entry key="eu.etaxonomy.cdm.model.taxon.TaxonRelationship">
305 <bean
306 class="eu.etaxonomy.cdm.remote.json.processor.bean.TaxonRelationshipBeanProcessor" />
307 </entry>
308 <entry key="eu.etaxonomy.cdm.model.common.TermBase">
309 <bean
310 class="eu.etaxonomy.cdm.remote.json.processor.bean.TermBaseBeanProcessor">
311 <property name="replaceRepresentations" value="true" />
312 <property name="excludes">
313 <set value-type="java.lang.String">
314 <value>infraGenericMarker</value><!-- FIXME leads to IllegalStateException if not excluded -->
315 <value>partOf</value><!-- DefinedTermBase -->
316 <value>kindOf</value><!-- DefinedTermBase -->
317 <value>includes</value><!-- DefinedTermBase -->
318 <value>generalizationOf</value><!-- DefinedTermBase -->
319 <value>vocabulary</value><!-- DefinedTermBase -->
320 <!--
321 FIXME must exclude partOf, kindOf, includes, generalizationOf .. to
322 avoid class cast or lazy loading exceptions in TDWG Areas
323 -->
324 </set>
325 </property>
326 </bean>
327 </entry>
328 <entry key="eu.etaxonomy.cdm.model.description.TextData">
329 <bean
330 class="eu.etaxonomy.cdm.remote.json.processor.bean.TextDataBeanProcessor">
331 <property name="replaceMultilanguageText" value="true" />
332 </bean>
333 </entry>
334 <entry key="eu.etaxonomy.cdm.model.media.Media">
335 <bean class="eu.etaxonomy.cdm.remote.json.processor.bean.MediaBeanProcessor">
336 <property name="replaceTitle" value="true" />
337 <property name="replaceDescription" value="true" />
338 </bean>
339 </entry>
340 <entry key="eu.etaxonomy.cdm.model.reference.Reference">
341 <bean class="eu.etaxonomy.cdm.remote.json.processor.bean.ReferenceBaseBeanProcessor"/>
342 </entry>
343 <entry key="eu.etaxonomy.cdm.model.description.TaxonNameDescription">
344 <bean class="eu.etaxonomy.cdm.remote.json.processor.bean.TaxonNameDescriptionBeanProcessor">
345 <property name="excludes">
346 <set value-type="java.lang.String">
347 <value>taxonName</value>
348 </set>
349 </property>
350 </bean>
351 </entry>
352 <entry key="eu.etaxonomy.cdm.api.facade.DerivedUnitFacade">
353 <bean class="eu.etaxonomy.cdm.remote.json.processor.bean.DerivedUnitFacadeBeanProcessor"/>
354 </entry>
355 <entry key="eu.etaxonomy.cdm.model.location.Point">
356 <bean class="eu.etaxonomy.cdm.remote.json.processor.bean.PointBeanProcessor"/>
357 </entry>
358 <entry key="eu.etaxonomy.cdm.model.agent.TeamOrPersonBase">
359 <bean class="eu.etaxonomy.cdm.remote.json.processor.bean.TeamOrPersonBaseBeanProcessor" />
360 </entry>
361 <entry key="org.apache.lucene.document.Document">
362 <bean class="eu.etaxonomy.cdm.remote.json.processor.bean.LuceneDocumentBeanProcessor" />
363 </entry>
364 </map>
365 </property>
366 <property name="jsonPropertyFilter">
367 <bean class="eu.etaxonomy.cdm.remote.json.util.InitializedHibernatePropertyFilter" />
368 </property>
369 <property name="jsonValueProcessors">
370 <map>
371 <entry key="org.hibernate.proxy.HibernateProxy">
372 <bean
373 class="eu.etaxonomy.cdm.remote.json.processor.value.HibernateJSONValueProcessor" />
374 </entry>
375 <entry key="java.util.UUID">
376 <bean
377 class="eu.etaxonomy.cdm.remote.json.processor.value.UUIDJSONValueProcessor" />
378 </entry>
379 <entry key="org.joda.time.DateTime">
380 <bean
381 class="eu.etaxonomy.cdm.remote.json.processor.value.DateTimeJSONValueProcessor" />
382 </entry>
383 <entry key="java.util.Calendar">
384 <bean
385 class="eu.etaxonomy.cdm.remote.json.processor.value.CalendarJSONValueProcessor" />
386 </entry>
387 <entry key="org.joda.time.Partial">
388 <bean
389 class="eu.etaxonomy.cdm.remote.json.processor.value.PartialJSONValueProcessor" />
390 </entry>
391 <entry key="java.lang.Class">
392 <bean
393 class="eu.etaxonomy.cdm.remote.json.processor.value.ClassJSONValueProcessor" />
394 </entry>
395 <entry key="java.util.Map">
396 <bean class="eu.etaxonomy.cdm.remote.json.processor.value.MapJSONValueProcessor" />
397 </entry>
398 <entry key="java.net.URI">
399 <bean class="eu.etaxonomy.cdm.remote.json.processor.value.URIJSONValueProcessor"/>
400 </entry>
401 </map>
402 </property>
403 <property name="ignoreDefaultExcludes" value="true" />
404 <property name="excludes">
405 <list value-type="java.lang.String">
406 <value>declaringClass</value><!-- DefaultExclude -->
407 <value>metaClass</value><!-- DefaultExclude -->
408 <value>id</value>
409 <value>annotations</value>
410 <value>cacheStrategy</value>
411 <value>markers</value>
412 <value>createdBy</value>
413 <value>updatedBy</value>
414 <value>inDescription</value>
415 </list>
416 </property>
417 </bean>
418
419 <!--
420 =================================================
421 default configuration name catalogue service
422 =================================================
423 -->
424 <bean name="nameCatalogueJsonConfig" class="eu.etaxonomy.cdm.remote.json.JsonConfigFactoryBean"
425 init-method="init">
426 <property name="jsonPropertyFilter">
427 <bean class="net.sf.json.filters.OrPropertyFilter">
428 <constructor-arg>
429 <bean class="eu.etaxonomy.cdm.remote.json.util.InitializedHibernatePropertyFilter" />
430 </constructor-arg>
431 <constructor-arg ref="nameCatalogueApiCardinalityPropertyFilter">
432 </constructor-arg>
433 </bean>
434 </property>
435 <property name="jsonValueProcessors">
436 <map>
437 <entry key="org.hibernate.proxy.HibernateProxy">
438 <bean
439 class="eu.etaxonomy.cdm.remote.json.processor.value.HibernateJSONValueProcessor" />
440 </entry>
441 <entry key="java.util.UUID">
442 <bean
443 class="eu.etaxonomy.cdm.remote.json.processor.value.UUIDJSONValueProcessor" />
444 </entry>
445 <entry key="org.joda.time.DateTime">
446 <bean
447 class="eu.etaxonomy.cdm.remote.json.processor.value.DateTimeJSONValueProcessor" />
448 </entry>
449 <entry key="java.util.Calendar">
450 <bean
451 class="eu.etaxonomy.cdm.remote.json.processor.value.CalendarJSONValueProcessor" />
452 </entry>
453 <entry key="org.joda.time.Partial">
454 <bean
455 class="eu.etaxonomy.cdm.remote.json.processor.value.PartialJSONValueProcessor" />
456 </entry>
457 <entry key="java.util.Map">
458 <bean class="eu.etaxonomy.cdm.remote.json.processor.value.MapJSONValueProcessor" />
459 </entry>
460 <entry key="java.net.URI">
461 <bean class="eu.etaxonomy.cdm.remote.json.processor.value.URIJSONValueProcessor"/>
462 </entry>
463
464 </map>
465 </property>
466 <property name="ignoreDefaultExcludes" value="true" />
467 <property name="excludes">
468 <list value-type="java.lang.String">
469 <value>class</value>
470 <value>declaringClass</value><!-- DefaultExclude -->
471 <value>metaClass</value><!-- DefaultExclude -->
472 <value>id</value>
473 <value>cacheStrategy</value>
474 <value>createdBy</value>
475 <value>updatedBy</value>
476 </list>
477 </property>
478 </bean>
479
480 </beans>