Project

General

Profile

Download (30 KB) Statistics
| Branch: | Tag: | Revision:
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.reference.Reference">
157
              <bean class="eu.etaxonomy.cdm.remote.json.processor.bean.ReferenceBaseBeanProcessor"/>
158
         </entry>
159
         <entry key="eu.etaxonomy.cdm.model.name.TaxonName">
160
            <bean
161
              class="eu.etaxonomy.cdm.remote.json.processor.bean.TaxonNameBeanProcessor">
162
              <property name="skipTaggedName" value="true" />
163
            </bean>
164
         </entry>
165
         <entry key="eu.etaxonomy.cdm.model.name.TypeDesignationBase">
166
            <bean class="eu.etaxonomy.cdm.remote.json.processor.bean.TypeDesignationBaseBeanProcessor"/>
167
         </entry>
168
         <entry key="eu.etaxonomy.cdm.model.description.KeyStatement">
169
              <bean class="eu.etaxonomy.cdm.remote.json.processor.bean.KeyStatementBeanProcessor" />
170
         </entry>
171
         <entry key="eu.etaxonomy.cdm.model.agent.TeamOrPersonBase">
172
              <bean class="eu.etaxonomy.cdm.remote.json.processor.bean.TeamOrPersonBaseBeanProcessor" />
173
         </entry>
174
         <entry key="eu.etaxonomy.cdm.model.description.DescriptionElementBase">
175
              <bean class="eu.etaxonomy.cdm.remote.json.processor.bean.DescriptionElementBeanProcessor" />
176
         </entry>
177
         <!-- TODO this bean processor is unused but preserved for the time when the REST API will be revised (#8637)
178
         <entry key="eu.etaxonomy.cdm.model.reference.CdmLinkSource">
179
              <bean class="eu.etaxonomy.cdm.remote.json.processor.bean.CdmLinkSourceBeanProcessor" />
180
         </entry>
181
         -->
182
         <entry key="eu.etaxonomy.cdm.model.description.StateData">
183
              <bean class="eu.etaxonomy.cdm.remote.json.processor.bean.StateDataBeanProcessor" />
184
         </entry>
185
         <entry key="org.apache.lucene.document.Document">
186
              <bean class="eu.etaxonomy.cdm.remote.json.processor.bean.LuceneDocumentBeanProcessor" />
187
         </entry>
188
         <entry key="eu.etaxonomy.cdm.api.service.dto.RegistrationDTO">
189
            <bean class="eu.etaxonomy.cdm.remote.json.processor.bean.RegistrationDtoBeanProcessor" />
190
        </entry>
191
      </map>
192
    </property>
193
    <property name="jsonPropertyFilter">
194
        <bean class="net.sf.json.filters.OrPropertyFilter">
195
          <constructor-arg>
196
              <bean class="eu.etaxonomy.cdm.remote.json.util.InitializedHibernatePropertyFilter" />
197
          </constructor-arg>
198
          <constructor-arg ref="genericApiCardinalityPropertyFilter">
199
          </constructor-arg>
200
        </bean>
201
    </property>
202
    <property name="jsonValueProcessorsByClass">
203
      <map>
204
        <entry key="org.hibernate.proxy.HibernateProxy">
205
          <bean
206
            class="eu.etaxonomy.cdm.remote.json.processor.value.HibernateJSONValueProcessor" />
207
        </entry>
208
        <entry key="java.util.UUID">
209
          <bean
210
            class="eu.etaxonomy.cdm.remote.json.processor.value.UUIDJSONValueProcessor" />
211
        </entry>
212
        <entry key="org.joda.time.DateTime">
213
          <bean
214
            class="eu.etaxonomy.cdm.remote.json.processor.value.DateTimeJSONValueProcessor" />
215
        </entry>
216
        <entry key="java.util.Calendar">
217
          <bean
218
            class="eu.etaxonomy.cdm.remote.json.processor.value.CalendarJSONValueProcessor" />
219
        </entry>
220
        <entry key="org.joda.time.Partial">
221
          <bean
222
            class="eu.etaxonomy.cdm.remote.json.processor.value.PartialJSONValueProcessor" />
223
        </entry>
224
        <entry key="java.lang.Class">
225
          <bean
226
            class="eu.etaxonomy.cdm.remote.json.processor.value.ClassJSONValueProcessor" />
227
        </entry>
228
        <entry key="java.util.Map">
229
            <bean class="eu.etaxonomy.cdm.remote.json.processor.value.MapJSONValueProcessor" />
230
        </entry>
231
        <entry key="java.util.LinkedHashMap">
232
            <bean class="eu.etaxonomy.cdm.remote.json.processor.value.MapJSONValueProcessor" />
233
        </entry>
234
        <entry key="eu.etaxonomy.cdm.api.service.name.TypeDesignationSetManager.TypeDesignationWorkingSet">
235
            <bean class="eu.etaxonomy.cdm.remote.json.processor.value.MapJSONValueProcessor" />
236
        </entry>
237
        <entry key="java.net.URI">
238
            <bean class="eu.etaxonomy.cdm.remote.json.processor.value.URIJSONValueProcessor"/>
239
        </entry>
240
        <entry key="eu.etaxonomy.cdm.model.taxon.TaxonNodeStatus">
241
            <bean class="eu.etaxonomy.cdm.remote.json.processor.value.KeyTermValueProcessor"/>
242
        </entry>
243
      </map>
244
    </property>
245
    <property name="ignoreDefaultExcludes" value="true" />
246
    <property name="excludes">
247
      <list value-type="java.lang.String">
248
        <value>declaringClass</value><!-- DefaultExclude -->
249
        <value>metaClass</value><!-- DefaultExclude -->
250
        <value>id</value>
251
        <value>cacheStrategy</value>
252
        <value>createdBy</value>
253
        <value>updatedBy</value>
254
        <!-- TODO this bean processor is unused but preserved for the time when the REST API will be revised (#8637)
255
        <value>cdmSourceTarget</value><! - - OriginalSourceBase.getCdmSourceTarget() -->
256
      </list>
257
    </property>
258
  </bean>
259

    
260
  <!--
261
         =================================================
262
            configuration for RESTful classification service
263
         =================================================
264
    -->
265
  <bean name="jsonConfigClassification" class="eu.etaxonomy.cdm.remote.json.JsonConfigFactoryBean"
266
    init-method="init">
267
    <property name="jsonBeanProcessorMatcher">
268
      <bean
269
        class="eu.etaxonomy.cdm.remote.json.processor.matcher.HibernateProxyBeanProcessorMatcher" />
270
    </property>
271
    <property name="jsonBeanProcessors">
272
      <map>
273
        <entry key="org.hibernate.proxy.HibernateProxy">
274
          <bean
275
            class="eu.etaxonomy.cdm.remote.json.processor.bean.HibernateProxyBeanProcessor" />
276
        </entry>
277
        <entry key="eu.etaxonomy.cdm.model.taxon.TaxonNode">
278
          <bean
279
            class="eu.etaxonomy.cdm.remote.json.processor.bean.TaxonNode2DtoBeanProcessor" />
280
        </entry>
281
        <entry key="eu.etaxonomy.cdm.persistence.dto.TaxonNodeDto">
282
          <bean
283
            class="eu.etaxonomy.cdm.remote.json.processor.bean.TaxonNodeDtoBeanProcessor" />
284
        </entry>
285
      </map>
286
    </property>
287
    <property name="jsonPropertyFilter">
288
      <bean class="net.sf.json.filters.OrPropertyFilter">
289
        <constructor-arg>
290
            <bean class="eu.etaxonomy.cdm.remote.json.util.InitializedHibernatePropertyFilter" />
291
        </constructor-arg>
292
        <constructor-arg ref="genericApiCardinalityPropertyFilter">
293
        </constructor-arg>
294
      </bean>
295
    </property>
296
    <property name="jsonValueProcessorsByClass">
297
      <map>
298
        <entry key="org.hibernate.proxy.HibernateProxy">
299
          <bean
300
            class="eu.etaxonomy.cdm.remote.json.processor.value.HibernateJSONValueProcessor" />
301
        </entry>
302
        <entry key="java.util.UUID">
303
          <bean
304
            class="eu.etaxonomy.cdm.remote.json.processor.value.UUIDJSONValueProcessor" />
305
        </entry>
306
        <entry key="org.joda.time.DateTime">
307
          <bean
308
            class="eu.etaxonomy.cdm.remote.json.processor.value.DateTimeJSONValueProcessor" />
309
        </entry>
310
        <entry key="java.util.Calendar">
311
          <bean
312
            class="eu.etaxonomy.cdm.remote.json.processor.value.CalendarJSONValueProcessor" />
313
        </entry>
314
        <entry key="org.joda.time.Partial">
315
          <bean
316
            class="eu.etaxonomy.cdm.remote.json.processor.value.PartialJSONValueProcessor" />
317
        </entry>
318
        <entry key="java.lang.Class">
319
          <bean
320
            class="eu.etaxonomy.cdm.remote.json.processor.value.ClassJSONValueProcessor" />
321
        </entry>
322
        <entry key="java.util.Map">
323
            <bean class="eu.etaxonomy.cdm.remote.json.processor.value.MapJSONValueProcessor" />
324
        </entry>
325
        <entry key="java.net.URI">
326
            <bean class="eu.etaxonomy.cdm.remote.json.processor.value.URIJSONValueProcessor"/>
327
        </entry>
328
        <entry key="eu.etaxonomy.cdm.model.taxon.TaxonNodeStatus">
329
            <bean class="eu.etaxonomy.cdm.remote.json.processor.value.KeyTermValueProcessor" />
330
        </entry>
331
      </map>
332
    </property>
333
    <property name="ignoreDefaultExcludes" value="true" />
334
    <property name="excludes">
335
      <list value-type="java.lang.String">
336
        <value>declaringClass</value><!-- DefaultExclude -->
337
        <value>metaClass</value><!-- DefaultExclude -->
338
        <value>id</value>
339
        <value>cacheStrategy</value>
340
        <value>createdBy</value>
341
        <value>updatedBy</value>
342
      </list>
343
    </property>
344
  </bean>
345

    
346
  <!--
347
       =================================================
348
         configuration for RESTful portal service
349
       =================================================
350
  -->
351

    
352
  <bean name="jsonConfigPortal" class="eu.etaxonomy.cdm.remote.json.JsonConfigFactoryBean"
353
    init-method="init">
354
    <property name="jsonBeanProcessorMatcher">
355
      <bean
356
        class="eu.etaxonomy.cdm.remote.json.processor.matcher.CdmProxyBeanProcessorMatcher" />
357
    </property>
358
    <property name="defaultValueProcessorMatcher">
359
      <bean
360
        class="eu.etaxonomy.cdm.remote.json.processor.matcher.CdmDefaultValueProcessorMatcher" />
361
    </property>
362
    <property name="defaultValueProcessorMap">
363
        <map>
364
          <entry key="java.lang.Number">
365
            <bean
366
              class="eu.etaxonomy.cdm.remote.json.processor.value.CdmDefaultValueProcessor" />
367
          </entry>
368
        </map>
369
    </property>
370
    <property name="jsonBeanProcessors">
371
      <map>
372
        <entry key="org.hibernate.proxy.HibernateProxy">
373
          <bean
374
            class="eu.etaxonomy.cdm.remote.json.processor.bean.HibernateProxyBeanProcessor" />
375
        </entry>
376
        <entry key="eu.etaxonomy.cdm.model.taxon.TaxonBase">
377
          <bean class="eu.etaxonomy.cdm.remote.json.processor.bean.TaxonBaseBeanProcessor">
378
          <property name="excludes">
379
             <set value-type="java.lang.String">
380
                 <value>acceptedTaxon</value><!-- #6211 to avoid infinite loops in the synonymy -->
381
             </set>
382
          </property>
383
         </bean>  
384
        </entry>
385
        <entry key="eu.etaxonomy.cdm.model.name.TaxonName">
386
          <bean class="eu.etaxonomy.cdm.remote.json.processor.bean.TaxonNameBeanProcessor">
387
            <property name="excludes">
388
                <set value-type="java.lang.String">
389
                    <value>homotypicalGroup</value>
390
                </set>
391
            </property>
392
          </bean>
393
        </entry>
394
        <entry key="eu.etaxonomy.cdm.model.taxon.TaxonNode">
395
            <bean class="eu.etaxonomy.cdm.remote.json.processor.bean.TaxonNodeBeanProcessor">
396
                <property name="replaceMultilanguageText" value="true" />
397
            </bean>
398
        </entry>
399
        <entry key="eu.etaxonomy.cdm.persistence.dto.TaxonNodeDto">
400
            <bean class="eu.etaxonomy.cdm.remote.json.processor.bean.TaxonNodeDtoBeanProcessor" />
401
        </entry>
402
        <entry key="eu.etaxonomy.cdm.model.name.TypeDesignationBase">
403
            <bean class="eu.etaxonomy.cdm.remote.json.processor.bean.TypeDesignationBaseBeanProcessor">
404
                <property name="replaceMultilanguageText" value="true" />
405
            </bean>
406
         </entry>
407
        <entry key="eu.etaxonomy.cdm.model.name.NameRelationship">
408
          <bean
409
            class="eu.etaxonomy.cdm.remote.json.processor.bean.NameRelationshipBeanProcessor" />
410
        </entry>
411
        <entry key="eu.etaxonomy.cdm.model.taxon.TaxonRelationship">
412
          <bean
413
            class="eu.etaxonomy.cdm.remote.json.processor.bean.TaxonRelationshipBeanProcessor" />
414
        </entry>
415
        <entry key="eu.etaxonomy.cdm.model.term.TermBase">
416
          <bean
417
            class="eu.etaxonomy.cdm.remote.json.processor.bean.TermBaseBeanProcessor">
418
            <property name="replaceRepresentations" value="true" />
419
            <property name="excludes">
420
                <set value-type="java.lang.String">
421
                  <value>infraGenericMarker</value><!-- FIXME leads to IllegalStateException if not excluded  -->
422
                  <value>partOf</value><!-- DefinedTermBase -->
423
                  <value>kindOf</value><!-- DefinedTermBase -->
424
                  <value>includes</value><!-- DefinedTermBase -->
425
                  <value>generalizationOf</value><!-- DefinedTermBase -->
426
                  <value>vocabulary</value><!-- DefinedTermBase -->
427
                  <!--
428
                      FIXME must exclude partOf, kindOf, includes, generalizationOf .. to
429
                      avoid class cast or lazy loading exceptions in TDWG Areas
430
                  -->
431
                </set>
432
            </property>
433
          </bean>
434
        </entry>
435
        <entry key="eu.etaxonomy.cdm.model.media.Media">
436
          <bean class="eu.etaxonomy.cdm.remote.json.processor.bean.MediaBeanProcessor">
437
            <property name="replaceTitle" value="true" />
438
            <property name="replaceDescription" value="true" />
439
          </bean>
440
        </entry>
441
        <entry key="eu.etaxonomy.cdm.model.reference.Reference">
442
          <bean class="eu.etaxonomy.cdm.remote.json.processor.bean.ReferenceBaseBeanProcessor"/>
443
        </entry>
444
        <entry key="eu.etaxonomy.cdm.model.description.TaxonNameDescription">
445
          <bean class="eu.etaxonomy.cdm.remote.json.processor.bean.TaxonNameDescriptionBeanProcessor">
446
              <property name="excludes">
447
                <set value-type="java.lang.String">
448
                  <value>taxonName</value>
449
                </set>
450
              </property>
451
          </bean>
452
        </entry>
453
        <entry key="eu.etaxonomy.cdm.api.facade.DerivedUnitFacade">
454
          <bean class="eu.etaxonomy.cdm.remote.json.processor.bean.DerivedUnitFacadeBeanProcessor"/>
455
        </entry>
456
        <entry key="eu.etaxonomy.cdm.model.location.Point">
457
          <bean class="eu.etaxonomy.cdm.remote.json.processor.bean.PointBeanProcessor"/>
458
        </entry>
459
        <entry key="eu.etaxonomy.cdm.model.agent.TeamOrPersonBase">
460
          <bean class="eu.etaxonomy.cdm.remote.json.processor.bean.TeamOrPersonBaseBeanProcessor" />
461
        </entry>
462
        <!-- TODO this bean processor is unused but preserved for the time when the REST API will be revised (#8637)
463
        <entry key="eu.etaxonomy.cdm.model.reference.CdmLinkSource">
464
              <bean class="eu.etaxonomy.cdm.remote.json.processor.bean.CdmLinkSourceBeanProcessor" />
465
         </entry>
466
         -->
467
        <entry key="org.apache.lucene.document.Document">
468
            <bean class="eu.etaxonomy.cdm.remote.json.processor.bean.LuceneDocumentBeanProcessor" />
469
        </entry>
470
        <entry key="eu.etaxonomy.cdm.common.TreeNode">
471
            <bean class="eu.etaxonomy.cdm.remote.json.processor.bean.TreeNodeBeanProcessor" />
472
        </entry>
473
        <entry key="eu.etaxonomy.cdm.model.description.DescriptionElementBase">
474
            <bean class="eu.etaxonomy.cdm.remote.json.processor.bean.DescriptionElementBeanProcessor">
475
                <property name="replaceMultilanguageText" value="true" />
476
            </bean>
477
        </entry>
478
        <entry key="eu.etaxonomy.cdm.model.description.StateData">
479
            <bean class="eu.etaxonomy.cdm.remote.json.processor.bean.StateDataBeanProcessor">
480
                <property name="replaceMultilanguageText" value="true" />
481
            </bean>
482
        </entry>
483
        <entry key="eu.etaxonomy.cdm.model.description.KeyStatement">
484
            <bean class="eu.etaxonomy.cdm.remote.json.processor.bean.KeyStatementBeanProcessor" />
485
        </entry>
486
        <entry key="eu.etaxonomy.cdm.api.service.dto.RegistrationDTO">
487
            <bean class="eu.etaxonomy.cdm.remote.json.processor.bean.RegistrationDtoBeanProcessor" />
488
        </entry>
489
      </map>
490
    </property>
491
        <property name="jsonPropertyFilter">
492
            <bean class="eu.etaxonomy.cdm.remote.json.util.InitializedHibernatePropertyFilter" />
493
        </property>
494
    <property name="jsonValueProcessorsByClass">
495
      <map>
496
        <entry key="org.hibernate.proxy.HibernateProxy">
497
          <bean
498
            class="eu.etaxonomy.cdm.remote.json.processor.value.HibernateJSONValueProcessor" />
499
        </entry>
500
        <entry key="java.util.UUID">
501
          <bean
502
            class="eu.etaxonomy.cdm.remote.json.processor.value.UUIDJSONValueProcessor" />
503
        </entry>
504
        <entry key="org.joda.time.DateTime">
505
          <bean
506
            class="eu.etaxonomy.cdm.remote.json.processor.value.DateTimeJSONValueProcessor" />
507
        </entry>
508
        <entry key="java.util.Calendar">
509
          <bean
510
            class="eu.etaxonomy.cdm.remote.json.processor.value.CalendarJSONValueProcessor" />
511
        </entry>
512
        <entry key="org.joda.time.Partial">
513
          <bean
514
            class="eu.etaxonomy.cdm.remote.json.processor.value.PartialJSONValueProcessor" />
515
        </entry>
516
        <entry key="java.lang.Class">
517
          <bean
518
            class="eu.etaxonomy.cdm.remote.json.processor.value.ClassJSONValueProcessor" />
519
        </entry>
520
        <entry key="java.util.Map">
521
            <bean class="eu.etaxonomy.cdm.remote.json.processor.value.MapJSONValueProcessor" />
522
        </entry>
523
        <entry key="java.util.LinkedHashMap">
524
            <bean class="eu.etaxonomy.cdm.remote.json.processor.value.MapJSONValueProcessor" />
525
        </entry>
526
        <entry key="eu.etaxonomy.cdm.api.service.name.TypeDesignationSetManager.TypeDesignationWorkingSet">
527
            <bean class="eu.etaxonomy.cdm.remote.json.processor.value.MapJSONValueProcessor" />
528
        </entry>
529
        <entry key="java.net.URI">
530
            <bean class="eu.etaxonomy.cdm.remote.json.processor.value.URIJSONValueProcessor"/>
531
        </entry>
532
        <entry key="eu.etaxonomy.cdm.model.taxon.TaxonNodeStatus">
533
            <bean class="eu.etaxonomy.cdm.remote.json.processor.value.KeyTermValueProcessor" />
534
        </entry>
535
      </map>
536
    </property>
537
    <property name="ignoreDefaultExcludes" value="true" />
538
    <property name="excludes">
539
      <list value-type="java.lang.String">
540
        <value>declaringClass</value><!-- DefaultExclude -->
541
        <value>metaClass</value><!-- DefaultExclude -->
542
        <value>id</value>
543
        <!--
544
            commented out,
545
            see  #3347 (services and REST service controller for molecular classes implemented)
546
        <value>annotations</value>
547
        <value>markers</value>
548
        -->
549
        <value>cacheStrategy</value>
550
        <value>createdBy</value>
551
        <value>updatedBy</value>
552
        <value>inDescription</value>
553
        <!-- TODO this bean processor is unused but preserved for the time when the REST API will be revised (#8637)
554
        <value>cdmSourceTarget</value>< !- - OriginalSourceBase.getCdmSourceTarget() -->
555
      </list>
556
    </property>
557
  </bean>
558

    
559
   <!--
560
         =================================================
561
            default configuration name catalogue service
562
         =================================================
563
    -->
564
  <bean name="nameCatalogueJsonConfig" class="eu.etaxonomy.cdm.remote.json.JsonConfigFactoryBean"
565
    init-method="init">
566
    <property name="jsonPropertyFilter">
567
        <bean class="net.sf.json.filters.OrPropertyFilter">
568
          <constructor-arg>
569
              <bean class="eu.etaxonomy.cdm.remote.json.util.InitializedHibernatePropertyFilter" />
570
          </constructor-arg>
571
          <constructor-arg ref="nameCatalogueApiCardinalityPropertyFilter">
572
          </constructor-arg>
573
        </bean>
574
    </property>
575
    <property name="jsonValueProcessorsByClass">
576
      <map>
577
        <entry key="org.hibernate.proxy.HibernateProxy">
578
          <bean
579
            class="eu.etaxonomy.cdm.remote.json.processor.value.HibernateJSONValueProcessor" />
580
        </entry>
581
        <entry key="java.util.UUID">
582
          <bean
583
            class="eu.etaxonomy.cdm.remote.json.processor.value.UUIDJSONValueProcessor" />
584
        </entry>
585
        <entry key="org.joda.time.DateTime">
586
          <bean
587
            class="eu.etaxonomy.cdm.remote.json.processor.value.DateTimeJSONValueProcessor" />
588
        </entry>
589
        <entry key="java.util.Calendar">
590
          <bean
591
            class="eu.etaxonomy.cdm.remote.json.processor.value.CalendarJSONValueProcessor" />
592
        </entry>
593
        <entry key="org.joda.time.Partial">
594
          <bean
595
            class="eu.etaxonomy.cdm.remote.json.processor.value.PartialJSONValueProcessor" />
596
        </entry>
597
        <entry key="java.util.Map">
598
            <bean class="eu.etaxonomy.cdm.remote.json.processor.value.MapJSONValueProcessor" />
599
        </entry>
600
          <entry key="java.net.URI">
601
              <bean class="eu.etaxonomy.cdm.remote.json.processor.value.URIJSONValueProcessor"/>
602
          </entry>
603
      </map>
604
    </property>
605
    <property name="ignoreDefaultExcludes" value="true" />
606
    <property name="excludes">
607
      <list value-type="java.lang.String">
608
        <value>class</value>
609
        <value>declaringClass</value><!-- DefaultExclude -->
610
        <value>metaClass</value><!-- DefaultExclude -->
611
        <value>id</value>
612
        <value>cacheStrategy</value>
613
        <value>createdBy</value>
614
        <value>updatedBy</value>
615
      </list>
616
    </property>
617
  </bean>
618

    
619
  <bean name="occurrenceCatalogueJsonConfig" class="eu.etaxonomy.cdm.remote.json.JsonConfigFactoryBean"
620
    init-method="init">
621
    <property name="jsonPropertyFilter">
622
        <bean class="net.sf.json.filters.OrPropertyFilter">
623
          <constructor-arg>
624
              <bean class="eu.etaxonomy.cdm.remote.json.util.InitializedHibernatePropertyFilter" />
625
          </constructor-arg>
626
          <constructor-arg ref="nameCatalogueApiCardinalityPropertyFilter">
627
          </constructor-arg>
628
        </bean>
629
    </property>
630
    <property name="jsonValueProcessorsByClass">
631
      <map>
632
        <entry key="org.hibernate.proxy.HibernateProxy">
633
          <bean
634
            class="eu.etaxonomy.cdm.remote.json.processor.value.HibernateJSONValueProcessor" />
635
        </entry>
636
        <entry key="java.util.UUID">
637
          <bean
638
            class="eu.etaxonomy.cdm.remote.json.processor.value.UUIDJSONValueProcessor" />
639
        </entry>
640
        <entry key="org.joda.time.DateTime">
641
          <bean
642
            class="eu.etaxonomy.cdm.remote.json.processor.value.DateTimeJSONValueProcessor" />
643
        </entry>
644
        <entry key="java.util.Calendar">
645
          <bean
646
            class="eu.etaxonomy.cdm.remote.json.processor.value.CalendarJSONValueProcessor" />
647
        </entry>
648
        <entry key="org.joda.time.Partial">
649
          <bean
650
            class="eu.etaxonomy.cdm.remote.json.processor.value.PartialJSONValueProcessor" />
651
        </entry>
652
        <entry key="java.util.Map">
653
            <bean class="eu.etaxonomy.cdm.remote.json.processor.value.MapJSONValueProcessor" />
654
        </entry>
655
          <entry key="java.net.URI">
656
              <bean class="eu.etaxonomy.cdm.remote.json.processor.value.URIJSONValueProcessor"/>
657
          </entry>
658

    
659
      </map>
660
    </property>
661
    <property name="ignoreDefaultExcludes" value="true" />
662
    <property name="excludes">
663
      <list value-type="java.lang.String">
664
        <value>class</value>
665
        <value>declaringClass</value><!-- DefaultExclude -->
666
        <value>metaClass</value><!-- DefaultExclude -->
667
        <value>id</value>
668
        <value>cacheStrategy</value>
669
        <value>createdBy</value>
670
        <value>updatedBy</value>
671
      </list>
672
    </property>
673
  </bean>
674

    
675

    
676
</beans>
    (1-1/1)