Merge branch 'release/5.22.0'
[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-4.3.xsd
7 http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.3.xsd
8 http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-4.3.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.initializer.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>TermTree.root</value>
25 <value>TermNode.children</value>
26 <value>TermNode.feature</value>
27
28 <value>NomenclaturalStatus.source</value>
29 <value>DescriptionElementSource.citation</value>
30
31 <value>TreeNode.data</value>
32 <value>TreeNode.data</value>
33
34 <value>PolytomousKey.root</value>
35 <value>PolytomousKeyNode.children</value>
36 <value>PolytomousKeyNode.question</value>
37 <value>PolytomousKeyNode.feature</value>
38 <value>PolytomousKeyNode.statement</value>
39 <value>PolytomousKeyNode.modifyingText</value>
40 <value>PolytomousKeyNode.otherNode</value>
41
42 <value>LinkedPolytomousKeyNodeRowDto.childStatement</value>
43 <value>LinkedPolytomousKeyNodeRowDto.rowQuestion</value>
44 <value>LinkedPolytomousKeyNodeRowDto.rowFeature</value>
45 <!-- value>LinkedPolytomousKeyNodeRowDto.keyNode</value-->
46
47 <value>Media.representations</value>
48 <value>MediaRepresentation.parts</value>
49
50 <value>Sequence.marker</value>
51 <value>Sequence.genBankAccessionNumber</value>
52 <value>Sequence.genBankUri</value>
53
54 <value>Annotation.annotationType</value>
55 <value>Marker.markerType</value>
56
57 <value>DerivationEvent.derivatives</value>
58 <value>DerivationEvent.originals</value>
59
60 <value>Point.referenceSystem</value>
61
62 <!-- CardinalityPropertyFilter should allow defining exceptions for abstract super classes : -->
63 <!-- <value>eu.etaxonomy.cdm.model.description.DescriptionElementBase.feature</value> -->
64
65 <value>Synonym.sec</value>
66 <value>Taxon.sec</value>
67
68 <value>StateData.state</value>
69 <value>StateData.modifiers</value>
70 <value>StateData.modifyingText</value>
71
72 <value>TextData.feature</value>
73 <value>CategoricalData.feature</value>
74 <value>CommonTaxonName.feature</value>
75 <value>Distribution.feature</value>
76 <value>IndividualsAssociation.feature</value>
77 <value>QuantitativeData.feature</value>
78 <value>TaxonInteraction.feature</value>
79 <value>TextData.feature</value>
80 <value>IdentifiableSource.citation</value>
81 <value>NamedSource.citation</value>
82
83 <value>Registration.name</value>
84 <value>Registration.typeDesignations</value>
85 <value>Registration.institution</value>
86
87 <value>SearchResult.entity</value>
88
89 <value>CdmEntity.entity</value>
90 </set>
91 </property>
92 </bean>
93
94 <bean id="nameCatalogueApiCardinalityPropertyFilter" class="eu.etaxonomy.cdm.remote.json.util.CardinalityPropertyFilter">
95 <property name="includeToOneRelations" value="true" />
96 <property name="includeToManyRelations" value="true" />
97 <property name="exceptions">
98 <set>
99 </set>
100 </property>
101 </bean>
102
103 <!--
104 =================================================
105 default configuration for RESTful read(/write) service
106 =================================================
107 -->
108 <bean name="jsonConfig" class="eu.etaxonomy.cdm.remote.json.JsonConfigFactoryBean"
109 init-method="init">
110 <property name="jsonBeanProcessorMatcher">
111 <bean
112 class="eu.etaxonomy.cdm.remote.json.processor.matcher.CdmProxyBeanProcessorMatcher" />
113 </property>
114 <property name="defaultValueProcessorMatcher">
115 <bean
116 class="eu.etaxonomy.cdm.remote.json.processor.matcher.CdmDefaultValueProcessorMatcher" />
117 </property>
118 <property name="defaultValueProcessorMap">
119 <map>
120 <entry key="java.lang.Number">
121 <bean
122 class="eu.etaxonomy.cdm.remote.json.processor.value.CdmDefaultValueProcessor" />
123 </entry>
124 </map>
125 </property>
126 <property name="jsonBeanProcessors">
127 <map>
128 <entry key="org.hibernate.proxy.HibernateProxy">
129 <bean class="eu.etaxonomy.cdm.remote.json.processor.bean.HibernateProxyBeanProcessor" />
130 </entry>
131 <entry key="eu.etaxonomy.cdm.model.term.TermBase">
132 <bean class="eu.etaxonomy.cdm.remote.json.processor.bean.TermBaseBeanProcessor">
133 <property name="excludes">
134 <set value-type="java.lang.String">
135 <value>partOf</value><!-- FIXME exclude partOf to avoid lazy loading exceptions -->
136 <value>kindOf</value><!-- FIXME exclude kindOf to avoid lazy loading exceptions -->
137 <value>infraGenericMarker</value><!-- FIXME leads to IllegalStateException if not excluded -->
138 </set>
139 </property>
140 </bean>
141 </entry>
142 <entry key="eu.etaxonomy.cdm.model.term.Representation">
143 <bean class="eu.etaxonomy.cdm.remote.json.processor.bean.RepresentationBeanProcessor"/>
144 </entry>
145 <entry key="eu.etaxonomy.cdm.model.media.Media">
146 <bean class="eu.etaxonomy.cdm.remote.json.processor.bean.MediaBeanProcessor">
147 <property name="replaceTitle" value="true" />
148 <property name="replaceDescription" value="true" />
149 </bean>
150 </entry>
151 <entry key="eu.etaxonomy.cdm.model.taxon.TaxonNode">
152 <bean class="eu.etaxonomy.cdm.remote.json.processor.bean.TaxonNodeBeanProcessor" />
153 </entry>
154 <entry key="eu.etaxonomy.cdm.persistence.dto.TaxonNodeDto">
155 <bean class="eu.etaxonomy.cdm.remote.json.processor.bean.TaxonNodeDtoBeanProcessor" />
156 </entry>
157 <entry key="eu.etaxonomy.cdm.model.location.Point">
158 <bean class="eu.etaxonomy.cdm.remote.json.processor.bean.PointBeanProcessor"/>
159 </entry>
160 <entry key="eu.etaxonomy.cdm.model.reference.Reference">
161 <bean class="eu.etaxonomy.cdm.remote.json.processor.bean.ReferenceBaseBeanProcessor"/>
162 </entry>
163 <entry key="eu.etaxonomy.cdm.model.name.TaxonName">
164 <bean
165 class="eu.etaxonomy.cdm.remote.json.processor.bean.TaxonNameBeanProcessor">
166 <property name="skipTaggedName" value="true" />
167 </bean>
168 </entry>
169 <entry key="eu.etaxonomy.cdm.model.name.TypeDesignationBase">
170 <bean class="eu.etaxonomy.cdm.remote.json.processor.bean.TypeDesignationBaseBeanProcessor"/>
171 </entry>
172 <entry key="eu.etaxonomy.cdm.model.description.KeyStatement">
173 <bean class="eu.etaxonomy.cdm.remote.json.processor.bean.KeyStatementBeanProcessor" />
174 </entry>
175 <entry key="eu.etaxonomy.cdm.model.agent.TeamOrPersonBase">
176 <bean class="eu.etaxonomy.cdm.remote.json.processor.bean.TeamOrPersonBaseBeanProcessor" />
177 </entry>
178 <entry key="eu.etaxonomy.cdm.model.description.DescriptionElementBase">
179 <bean class="eu.etaxonomy.cdm.remote.json.processor.bean.DescriptionElementBeanProcessor" />
180 </entry>
181 <!-- TODO this bean processor is unused but preserved for the time when the REST API will be revised (#8637)
182 <entry key="eu.etaxonomy.cdm.model.reference.CdmLinkSource">
183 <bean class="eu.etaxonomy.cdm.remote.json.processor.bean.CdmLinkSourceBeanProcessor" />
184 </entry>
185 -->
186 <entry key="eu.etaxonomy.cdm.model.description.StateData">
187 <bean class="eu.etaxonomy.cdm.remote.json.processor.bean.StateDataBeanProcessor" />
188 </entry>
189 <entry key="org.apache.lucene.document.Document">
190 <bean class="eu.etaxonomy.cdm.remote.json.processor.bean.LuceneDocumentBeanProcessor" />
191 </entry>
192 <entry key="eu.etaxonomy.cdm.api.service.dto.RegistrationDTO">
193 <bean class="eu.etaxonomy.cdm.remote.json.processor.bean.RegistrationDtoBeanProcessor" />
194 </entry>
195 </map>
196 </property>
197 <property name="jsonPropertyFilter">
198 <bean class="net.sf.json.filters.OrPropertyFilter">
199 <constructor-arg>
200 <bean class="eu.etaxonomy.cdm.remote.json.util.InitializedHibernatePropertyFilter" />
201 </constructor-arg>
202 <constructor-arg ref="genericApiCardinalityPropertyFilter">
203 </constructor-arg>
204 </bean>
205 </property>
206 <property name="jsonValueProcessorsByClass">
207 <map>
208 <entry key="org.hibernate.proxy.HibernateProxy">
209 <bean
210 class="eu.etaxonomy.cdm.remote.json.processor.value.HibernateJSONValueProcessor" />
211 </entry>
212 <entry key="java.util.UUID">
213 <bean
214 class="eu.etaxonomy.cdm.remote.json.processor.value.UUIDJSONValueProcessor" />
215 </entry>
216 <entry key="org.joda.time.DateTime">
217 <bean
218 class="eu.etaxonomy.cdm.remote.json.processor.value.DateTimeJSONValueProcessor" />
219 </entry>
220 <entry key="java.util.Calendar">
221 <bean
222 class="eu.etaxonomy.cdm.remote.json.processor.value.CalendarJSONValueProcessor" />
223 </entry>
224 <entry key="org.joda.time.Partial">
225 <bean
226 class="eu.etaxonomy.cdm.remote.json.processor.value.PartialJSONValueProcessor" />
227 </entry>
228 <entry key="java.lang.Class">
229 <bean
230 class="eu.etaxonomy.cdm.remote.json.processor.value.ClassJSONValueProcessor" />
231 </entry>
232 <entry key="java.util.Map">
233 <bean class="eu.etaxonomy.cdm.remote.json.processor.value.MapJSONValueProcessor" />
234 </entry>
235 <entry key="java.util.LinkedHashMap">
236 <bean class="eu.etaxonomy.cdm.remote.json.processor.value.MapJSONValueProcessor" />
237 </entry>
238 <entry key="eu.etaxonomy.cdm.api.service.name.TypeDesignationWorkingSet">
239 <bean class="eu.etaxonomy.cdm.remote.json.processor.value.MapJSONValueProcessor" />
240 </entry>
241 <entry key="eu.etaxonomy.cdm.common.URI">
242 <bean class="eu.etaxonomy.cdm.remote.json.processor.value.URIJSONValueProcessor"/>
243 </entry>
244 <entry key="eu.etaxonomy.cdm.model.taxon.TaxonNodeStatus">
245 <bean class="eu.etaxonomy.cdm.remote.json.processor.value.KeyTermValueProcessor"/>
246 </entry>
247 <entry key="eu.etaxonomy.cdm.model.occurrence.SpecimenOrObservationType">
248 <bean class="eu.etaxonomy.cdm.remote.json.processor.value.KeyTermValueProcessor"/>
249 </entry>
250 </map>
251 </property>
252 <property name="ignoreDefaultExcludes" value="true" />
253 <property name="excludes">
254 <list value-type="java.lang.String">
255 <value>declaringClass</value><!-- DefaultExclude -->
256 <value>metaClass</value><!-- DefaultExclude -->
257 <value>id</value>
258 <value>cacheStrategy</value>
259 <value>createdBy</value>
260 <value>updatedBy</value>
261 <!-- TODO this bean processor is unused but preserved for the time when the REST API will be revised (#8637)
262 <value>cdmSourceTarget</value><! - - OriginalSourceBase.getCdmSourceTarget() -->
263 </list>
264 </property>
265 </bean>
266
267 <!--
268 =================================================
269 configuration for RESTful classification service
270 =================================================
271 -->
272 <bean name="jsonConfigClassification" class="eu.etaxonomy.cdm.remote.json.JsonConfigFactoryBean"
273 init-method="init">
274 <property name="jsonBeanProcessorMatcher">
275 <bean
276 class="eu.etaxonomy.cdm.remote.json.processor.matcher.HibernateProxyBeanProcessorMatcher" />
277 </property>
278 <property name="jsonBeanProcessors">
279 <map>
280 <entry key="org.hibernate.proxy.HibernateProxy">
281 <bean
282 class="eu.etaxonomy.cdm.remote.json.processor.bean.HibernateProxyBeanProcessor" />
283 </entry>
284 <entry key="eu.etaxonomy.cdm.model.taxon.TaxonNode">
285 <bean
286 class="eu.etaxonomy.cdm.remote.json.processor.bean.TaxonNode2DtoBeanProcessor" />
287 </entry>
288 <entry key="eu.etaxonomy.cdm.persistence.dto.TaxonNodeDto">
289 <bean
290 class="eu.etaxonomy.cdm.remote.json.processor.bean.TaxonNodeDtoBeanProcessor" />
291 </entry>
292 </map>
293 </property>
294 <property name="jsonPropertyFilter">
295 <bean class="net.sf.json.filters.OrPropertyFilter">
296 <constructor-arg>
297 <bean class="eu.etaxonomy.cdm.remote.json.util.InitializedHibernatePropertyFilter" />
298 </constructor-arg>
299 <constructor-arg ref="genericApiCardinalityPropertyFilter">
300 </constructor-arg>
301 </bean>
302 </property>
303 <property name="jsonValueProcessorsByClass">
304 <map>
305 <entry key="org.hibernate.proxy.HibernateProxy">
306 <bean
307 class="eu.etaxonomy.cdm.remote.json.processor.value.HibernateJSONValueProcessor" />
308 </entry>
309 <entry key="java.util.UUID">
310 <bean
311 class="eu.etaxonomy.cdm.remote.json.processor.value.UUIDJSONValueProcessor" />
312 </entry>
313 <entry key="org.joda.time.DateTime">
314 <bean
315 class="eu.etaxonomy.cdm.remote.json.processor.value.DateTimeJSONValueProcessor" />
316 </entry>
317 <entry key="java.util.Calendar">
318 <bean
319 class="eu.etaxonomy.cdm.remote.json.processor.value.CalendarJSONValueProcessor" />
320 </entry>
321 <entry key="org.joda.time.Partial">
322 <bean
323 class="eu.etaxonomy.cdm.remote.json.processor.value.PartialJSONValueProcessor" />
324 </entry>
325 <entry key="java.lang.Class">
326 <bean
327 class="eu.etaxonomy.cdm.remote.json.processor.value.ClassJSONValueProcessor" />
328 </entry>
329 <entry key="java.util.Map">
330 <bean class="eu.etaxonomy.cdm.remote.json.processor.value.MapJSONValueProcessor" />
331 </entry>
332 <entry key="eu.etaxonomy.cdm.common.URI">
333 <bean class="eu.etaxonomy.cdm.remote.json.processor.value.URIJSONValueProcessor"/>
334 </entry>
335 <entry key="eu.etaxonomy.cdm.model.taxon.TaxonNodeStatus">
336 <bean class="eu.etaxonomy.cdm.remote.json.processor.value.KeyTermValueProcessor" />
337 </entry>
338 <entry key="eu.etaxonomy.cdm.model.occurrence.SpecimenOrObservationType">
339 <bean class="eu.etaxonomy.cdm.remote.json.processor.value.KeyTermValueProcessor"/>
340 </entry>
341 </map>
342 </property>
343 <property name="ignoreDefaultExcludes" value="true" />
344 <property name="excludes">
345 <list value-type="java.lang.String">
346 <value>declaringClass</value><!-- DefaultExclude -->
347 <value>metaClass</value><!-- DefaultExclude -->
348 <value>id</value>
349 <value>cacheStrategy</value>
350 <value>createdBy</value>
351 <value>updatedBy</value>
352 </list>
353 </property>
354 </bean>
355
356 <!--
357 =================================================
358 configuration for RESTful portal service
359 =================================================
360 -->
361
362 <bean name="jsonConfigPortal" class="eu.etaxonomy.cdm.remote.json.JsonConfigFactoryBean"
363 init-method="init">
364 <property name="jsonBeanProcessorMatcher">
365 <bean
366 class="eu.etaxonomy.cdm.remote.json.processor.matcher.CdmProxyBeanProcessorMatcher" />
367 </property>
368 <property name="defaultValueProcessorMatcher">
369 <bean
370 class="eu.etaxonomy.cdm.remote.json.processor.matcher.CdmDefaultValueProcessorMatcher" />
371 </property>
372 <property name="defaultValueProcessorMap">
373 <map>
374 <entry key="java.lang.Number">
375 <bean
376 class="eu.etaxonomy.cdm.remote.json.processor.value.CdmDefaultValueProcessor" />
377 </entry>
378 </map>
379 </property>
380 <property name="jsonBeanProcessors">
381 <map>
382 <entry key="org.hibernate.proxy.HibernateProxy">
383 <bean
384 class="eu.etaxonomy.cdm.remote.json.processor.bean.HibernateProxyBeanProcessor" />
385 </entry>
386 <entry key="eu.etaxonomy.cdm.model.taxon.TaxonBase">
387 <bean class="eu.etaxonomy.cdm.remote.json.processor.bean.TaxonBaseBeanProcessor">
388 <property name="excludes">
389 <set value-type="java.lang.String">
390 <value>acceptedTaxon</value><!-- #6211 to avoid infinite loops in the synonymy -->
391 </set>
392 </property>
393 </bean>
394 </entry>
395 <entry key="eu.etaxonomy.cdm.model.name.TaxonName">
396 <bean class="eu.etaxonomy.cdm.remote.json.processor.bean.TaxonNameBeanProcessor">
397 <property name="excludes">
398 <set value-type="java.lang.String">
399 <value>homotypicalGroup</value>
400 </set>
401 </property>
402 </bean>
403 </entry>
404 <entry key="eu.etaxonomy.cdm.model.taxon.TaxonNode">
405 <bean class="eu.etaxonomy.cdm.remote.json.processor.bean.TaxonNodeBeanProcessor">
406 <property name="replaceMultilanguageText" value="true" />
407 </bean>
408 </entry>
409 <entry key="eu.etaxonomy.cdm.persistence.dto.TaxonNodeDto">
410 <bean class="eu.etaxonomy.cdm.remote.json.processor.bean.TaxonNodeDtoBeanProcessor" />
411 </entry>
412 <entry key="eu.etaxonomy.cdm.model.name.TypeDesignationBase">
413 <bean class="eu.etaxonomy.cdm.remote.json.processor.bean.TypeDesignationBaseBeanProcessor">
414 <property name="replaceMultilanguageText" value="true" />
415 </bean>
416 </entry>
417 <entry key="eu.etaxonomy.cdm.model.name.NameRelationship">
418 <bean
419 class="eu.etaxonomy.cdm.remote.json.processor.bean.NameRelationshipBeanProcessor" />
420 </entry>
421 <entry key="eu.etaxonomy.cdm.model.taxon.TaxonRelationship">
422 <bean
423 class="eu.etaxonomy.cdm.remote.json.processor.bean.TaxonRelationshipBeanProcessor" />
424 </entry>
425 <entry key="eu.etaxonomy.cdm.model.term.TermBase">
426 <bean
427 class="eu.etaxonomy.cdm.remote.json.processor.bean.TermBaseBeanProcessor">
428 <property name="replaceRepresentations" value="true" />
429 <property name="excludes">
430 <set value-type="java.lang.String">
431 <value>infraGenericMarker</value><!-- FIXME leads to IllegalStateException if not excluded -->
432 <value>partOf</value><!-- DefinedTermBase -->
433 <value>kindOf</value><!-- DefinedTermBase -->
434 <value>includes</value><!-- DefinedTermBase -->
435 <value>generalizationOf</value><!-- DefinedTermBase -->
436 <value>vocabulary</value><!-- DefinedTermBase -->
437 <!--
438 FIXME must exclude partOf, kindOf, includes, generalizationOf .. to
439 avoid class cast or lazy loading exceptions in TDWG Areas
440 -->
441 </set>
442 </property>
443 </bean>
444 </entry>
445 <entry key="eu.etaxonomy.cdm.model.media.Media">
446 <bean class="eu.etaxonomy.cdm.remote.json.processor.bean.MediaBeanProcessor">
447 <property name="replaceTitle" value="true" />
448 <property name="replaceDescription" value="true" />
449 </bean>
450 </entry>
451 <entry key="eu.etaxonomy.cdm.model.reference.Reference">
452 <bean class="eu.etaxonomy.cdm.remote.json.processor.bean.ReferenceBaseBeanProcessor"/>
453 </entry>
454 <entry key="eu.etaxonomy.cdm.model.description.TaxonNameDescription">
455 <bean class="eu.etaxonomy.cdm.remote.json.processor.bean.TaxonNameDescriptionBeanProcessor">
456 <property name="excludes">
457 <set value-type="java.lang.String">
458 <value>taxonName</value>
459 </set>
460 </property>
461 </bean>
462 </entry>
463 <entry key="eu.etaxonomy.cdm.api.facade.DerivedUnitFacade">
464 <bean class="eu.etaxonomy.cdm.remote.json.processor.bean.DerivedUnitFacadeBeanProcessor"/>
465 </entry>
466 <entry key="eu.etaxonomy.cdm.model.location.Point">
467 <bean class="eu.etaxonomy.cdm.remote.json.processor.bean.PointBeanProcessor"/>
468 </entry>
469 <entry key="eu.etaxonomy.cdm.model.agent.TeamOrPersonBase">
470 <bean class="eu.etaxonomy.cdm.remote.json.processor.bean.TeamOrPersonBaseBeanProcessor" />
471 </entry>
472 <!-- TODO this bean processor is unused but preserved for the time when the REST API will be revised (#8637)
473 <entry key="eu.etaxonomy.cdm.model.reference.CdmLinkSource">
474 <bean class="eu.etaxonomy.cdm.remote.json.processor.bean.CdmLinkSourceBeanProcessor" />
475 </entry>
476 -->
477 <entry key="org.apache.lucene.document.Document">
478 <bean class="eu.etaxonomy.cdm.remote.json.processor.bean.LuceneDocumentBeanProcessor" />
479 </entry>
480 <entry key="eu.etaxonomy.cdm.common.TreeNode">
481 <bean class="eu.etaxonomy.cdm.remote.json.processor.bean.TreeNodeBeanProcessor" />
482 </entry>
483 <entry key="eu.etaxonomy.cdm.model.description.DescriptionElementBase">
484 <bean class="eu.etaxonomy.cdm.remote.json.processor.bean.DescriptionElementBeanProcessor">
485 <property name="replaceMultilanguageText" value="true" />
486 </bean>
487 </entry>
488 <entry key="eu.etaxonomy.cdm.model.description.StateData">
489 <bean class="eu.etaxonomy.cdm.remote.json.processor.bean.StateDataBeanProcessor">
490 <property name="replaceMultilanguageText" value="true" />
491 </bean>
492 </entry>
493 <entry key="eu.etaxonomy.cdm.model.description.KeyStatement">
494 <bean class="eu.etaxonomy.cdm.remote.json.processor.bean.KeyStatementBeanProcessor" />
495 </entry>
496 <entry key="eu.etaxonomy.cdm.api.service.dto.RegistrationDTO">
497 <bean class="eu.etaxonomy.cdm.remote.json.processor.bean.RegistrationDtoBeanProcessor" />
498 </entry>
499 </map>
500 </property>
501 <property name="jsonPropertyFilter">
502 <bean class="eu.etaxonomy.cdm.remote.json.util.InitializedHibernatePropertyFilter" />
503 </property>
504 <property name="jsonValueProcessorsByClass">
505 <map>
506 <entry key="org.hibernate.proxy.HibernateProxy">
507 <bean
508 class="eu.etaxonomy.cdm.remote.json.processor.value.HibernateJSONValueProcessor" />
509 </entry>
510 <entry key="java.util.UUID">
511 <bean
512 class="eu.etaxonomy.cdm.remote.json.processor.value.UUIDJSONValueProcessor" />
513 </entry>
514 <entry key="org.joda.time.DateTime">
515 <bean
516 class="eu.etaxonomy.cdm.remote.json.processor.value.DateTimeJSONValueProcessor" />
517 </entry>
518 <entry key="java.util.Calendar">
519 <bean
520 class="eu.etaxonomy.cdm.remote.json.processor.value.CalendarJSONValueProcessor" />
521 </entry>
522 <entry key="org.joda.time.Partial">
523 <bean
524 class="eu.etaxonomy.cdm.remote.json.processor.value.PartialJSONValueProcessor" />
525 </entry>
526 <entry key="java.lang.Class">
527 <bean
528 class="eu.etaxonomy.cdm.remote.json.processor.value.ClassJSONValueProcessor" />
529 </entry>
530 <entry key="java.util.Map">
531 <bean class="eu.etaxonomy.cdm.remote.json.processor.value.MapJSONValueProcessor" />
532 </entry>
533 <entry key="java.util.LinkedHashMap">
534 <bean class="eu.etaxonomy.cdm.remote.json.processor.value.MapJSONValueProcessor" />
535 </entry>
536 <entry key="eu.etaxonomy.cdm.api.service.name.TypeDesignationWorkingSet">
537 <bean class="eu.etaxonomy.cdm.remote.json.processor.value.MapJSONValueProcessor" />
538 </entry>
539 <entry key="eu.etaxonomy.cdm.common.URI">
540 <bean class="eu.etaxonomy.cdm.remote.json.processor.value.URIJSONValueProcessor"/>
541 </entry>
542 <entry key="eu.etaxonomy.cdm.model.taxon.TaxonNodeStatus">
543 <bean class="eu.etaxonomy.cdm.remote.json.processor.value.KeyTermValueProcessor" />
544 </entry>
545 <entry key="eu.etaxonomy.cdm.model.occurrence.SpecimenOrObservationType">
546 <bean class="eu.etaxonomy.cdm.remote.json.processor.value.KeyTermValueProcessor"/>
547 </entry>
548 </map>
549 </property>
550 <property name="ignoreDefaultExcludes" value="true" />
551 <property name="excludes">
552 <list value-type="java.lang.String">
553 <value>declaringClass</value><!-- DefaultExclude -->
554 <value>metaClass</value><!-- DefaultExclude -->
555 <value>id</value>
556 <!--
557 commented out,
558 see #3347 (services and REST service controller for molecular classes implemented)
559 <value>annotations</value>
560 <value>markers</value>
561 -->
562 <value>cacheStrategy</value>
563 <value>createdBy</value>
564 <value>updatedBy</value>
565 <value>inDescription</value>
566 <!-- TODO this bean processor is unused but preserved for the time when the REST API will be revised (#8637)
567 <value>cdmSourceTarget</value>< !- - OriginalSourceBase.getCdmSourceTarget() -->
568 </list>
569 </property>
570 </bean>
571
572 <!--
573 =================================================
574 default configuration name catalogue service
575 =================================================
576 -->
577 <bean name="nameCatalogueJsonConfig" class="eu.etaxonomy.cdm.remote.json.JsonConfigFactoryBean"
578 init-method="init">
579 <property name="jsonPropertyFilter">
580 <bean class="net.sf.json.filters.OrPropertyFilter">
581 <constructor-arg>
582 <bean class="eu.etaxonomy.cdm.remote.json.util.InitializedHibernatePropertyFilter" />
583 </constructor-arg>
584 <constructor-arg ref="nameCatalogueApiCardinalityPropertyFilter">
585 </constructor-arg>
586 </bean>
587 </property>
588 <property name="jsonValueProcessorsByClass">
589 <map>
590 <entry key="org.hibernate.proxy.HibernateProxy">
591 <bean
592 class="eu.etaxonomy.cdm.remote.json.processor.value.HibernateJSONValueProcessor" />
593 </entry>
594 <entry key="java.util.UUID">
595 <bean
596 class="eu.etaxonomy.cdm.remote.json.processor.value.UUIDJSONValueProcessor" />
597 </entry>
598 <entry key="org.joda.time.DateTime">
599 <bean
600 class="eu.etaxonomy.cdm.remote.json.processor.value.DateTimeJSONValueProcessor" />
601 </entry>
602 <entry key="java.util.Calendar">
603 <bean
604 class="eu.etaxonomy.cdm.remote.json.processor.value.CalendarJSONValueProcessor" />
605 </entry>
606 <entry key="org.joda.time.Partial">
607 <bean
608 class="eu.etaxonomy.cdm.remote.json.processor.value.PartialJSONValueProcessor" />
609 </entry>
610 <entry key="java.util.Map">
611 <bean class="eu.etaxonomy.cdm.remote.json.processor.value.MapJSONValueProcessor" />
612 </entry>
613 <entry key="eu.etaxonomy.cdm.common.URI">
614 <bean class="eu.etaxonomy.cdm.remote.json.processor.value.URIJSONValueProcessor"/>
615 </entry>
616 </map>
617 </property>
618 <property name="ignoreDefaultExcludes" value="true" />
619 <property name="excludes">
620 <list value-type="java.lang.String">
621 <value>class</value>
622 <value>declaringClass</value><!-- DefaultExclude -->
623 <value>metaClass</value><!-- DefaultExclude -->
624 <value>id</value>
625 <value>cacheStrategy</value>
626 <value>createdBy</value>
627 <value>updatedBy</value>
628 </list>
629 </property>
630 </bean>
631
632 <bean name="occurrenceCatalogueJsonConfig" class="eu.etaxonomy.cdm.remote.json.JsonConfigFactoryBean"
633 init-method="init">
634 <property name="jsonPropertyFilter">
635 <bean class="net.sf.json.filters.OrPropertyFilter">
636 <constructor-arg>
637 <bean class="eu.etaxonomy.cdm.remote.json.util.InitializedHibernatePropertyFilter" />
638 </constructor-arg>
639 <constructor-arg ref="nameCatalogueApiCardinalityPropertyFilter">
640 </constructor-arg>
641 </bean>
642 </property>
643 <property name="jsonValueProcessorsByClass">
644 <map>
645 <entry key="org.hibernate.proxy.HibernateProxy">
646 <bean
647 class="eu.etaxonomy.cdm.remote.json.processor.value.HibernateJSONValueProcessor" />
648 </entry>
649 <entry key="java.util.UUID">
650 <bean
651 class="eu.etaxonomy.cdm.remote.json.processor.value.UUIDJSONValueProcessor" />
652 </entry>
653 <entry key="org.joda.time.DateTime">
654 <bean
655 class="eu.etaxonomy.cdm.remote.json.processor.value.DateTimeJSONValueProcessor" />
656 </entry>
657 <entry key="java.util.Calendar">
658 <bean
659 class="eu.etaxonomy.cdm.remote.json.processor.value.CalendarJSONValueProcessor" />
660 </entry>
661 <entry key="org.joda.time.Partial">
662 <bean
663 class="eu.etaxonomy.cdm.remote.json.processor.value.PartialJSONValueProcessor" />
664 </entry>
665 <entry key="java.util.Map">
666 <bean class="eu.etaxonomy.cdm.remote.json.processor.value.MapJSONValueProcessor" />
667 </entry>
668 <entry key="eu.etaxonomy.cdm.common.URI">
669 <bean class="eu.etaxonomy.cdm.remote.json.processor.value.URIJSONValueProcessor"/>
670 </entry>
671
672 </map>
673 </property>
674 <property name="ignoreDefaultExcludes" value="true" />
675 <property name="excludes">
676 <list value-type="java.lang.String">
677 <value>class</value>
678 <value>declaringClass</value><!-- DefaultExclude -->
679 <value>metaClass</value><!-- DefaultExclude -->
680 <value>id</value>
681 <value>cacheStrategy</value>
682 <value>createdBy</value>
683 <value>updatedBy</value>
684 </list>
685 </property>
686 </bean>
687
688
689 </beans>