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