Project

General

Profile

Download (29.2 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
      </map>
189
    </property>
190
    <property name="jsonPropertyFilter">
191
        <bean class="net.sf.json.filters.OrPropertyFilter">
192
          <constructor-arg>
193
              <bean class="eu.etaxonomy.cdm.remote.json.util.InitializedHibernatePropertyFilter" />
194
          </constructor-arg>
195
          <constructor-arg ref="genericApiCardinalityPropertyFilter">
196
          </constructor-arg>
197
        </bean>
198
    </property>
199
    <property name="jsonValueProcessorsByClass">
200
      <map>
201
        <entry key="org.hibernate.proxy.HibernateProxy">
202
          <bean
203
            class="eu.etaxonomy.cdm.remote.json.processor.value.HibernateJSONValueProcessor" />
204
        </entry>
205
        <entry key="java.util.UUID">
206
          <bean
207
            class="eu.etaxonomy.cdm.remote.json.processor.value.UUIDJSONValueProcessor" />
208
        </entry>
209
        <entry key="org.joda.time.DateTime">
210
          <bean
211
            class="eu.etaxonomy.cdm.remote.json.processor.value.DateTimeJSONValueProcessor" />
212
        </entry>
213
        <entry key="java.util.Calendar">
214
          <bean
215
            class="eu.etaxonomy.cdm.remote.json.processor.value.CalendarJSONValueProcessor" />
216
        </entry>
217
        <entry key="org.joda.time.Partial">
218
          <bean
219
            class="eu.etaxonomy.cdm.remote.json.processor.value.PartialJSONValueProcessor" />
220
        </entry>
221
        <entry key="java.lang.Class">
222
          <bean
223
            class="eu.etaxonomy.cdm.remote.json.processor.value.ClassJSONValueProcessor" />
224
        </entry>
225
        <entry key="java.util.Map">
226
            <bean class="eu.etaxonomy.cdm.remote.json.processor.value.MapJSONValueProcessor" />
227
        </entry>
228
        <entry key="java.util.LinkedHashMap">
229
            <bean class="eu.etaxonomy.cdm.remote.json.processor.value.MapJSONValueProcessor" />
230
        </entry>
231
        <entry key="eu.etaxonomy.cdm.api.service.name.TypeDesignationSetManager.TypeDesignationWorkingSet">
232
            <bean class="eu.etaxonomy.cdm.remote.json.processor.value.MapJSONValueProcessor" />
233
        </entry>
234
        <entry key="java.net.URI">
235
            <bean class="eu.etaxonomy.cdm.remote.json.processor.value.URIJSONValueProcessor"/>
236
        </entry>
237
        <entry key="eu.etaxonomy.cdm.model.taxon.TaxonNodeStatus">
238
            <bean class="eu.etaxonomy.cdm.remote.json.processor.value.KeyTermValueProcessor"/>
239
        </entry>
240
      </map>
241
    </property>
242
    <property name="ignoreDefaultExcludes" value="true" />
243
    <property name="excludes">
244
      <list value-type="java.lang.String">
245
        <value>declaringClass</value><!-- DefaultExclude -->
246
        <value>metaClass</value><!-- DefaultExclude -->
247
        <value>id</value>
248
        <value>cacheStrategy</value>
249
        <value>createdBy</value>
250
        <value>updatedBy</value>
251
        <!-- TODO this bean processor is unused but preserved for the time when the REST API will be revised (#8637)
252
        <value>cdmSourceTarget</value><! - - OriginalSourceBase.getCdmSourceTarget() -->
253
      </list>
254
    </property>
255
  </bean>
256

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

    
343
  <!--
344
       =================================================
345
         configuration for RESTful portal service
346
       =================================================
347
  -->
348

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

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

    
607
  <bean name="occurrenceCatalogueJsonConfig" class="eu.etaxonomy.cdm.remote.json.JsonConfigFactoryBean"
608
    init-method="init">
609
    <property name="jsonPropertyFilter">
610
        <bean class="net.sf.json.filters.OrPropertyFilter">
611
          <constructor-arg>
612
              <bean class="eu.etaxonomy.cdm.remote.json.util.InitializedHibernatePropertyFilter" />
613
          </constructor-arg>
614
          <constructor-arg ref="nameCatalogueApiCardinalityPropertyFilter">
615
          </constructor-arg>
616
        </bean>
617
    </property>
618
    <property name="jsonValueProcessorsByClass">
619
      <map>
620
        <entry key="org.hibernate.proxy.HibernateProxy">
621
          <bean
622
            class="eu.etaxonomy.cdm.remote.json.processor.value.HibernateJSONValueProcessor" />
623
        </entry>
624
        <entry key="java.util.UUID">
625
          <bean
626
            class="eu.etaxonomy.cdm.remote.json.processor.value.UUIDJSONValueProcessor" />
627
        </entry>
628
        <entry key="org.joda.time.DateTime">
629
          <bean
630
            class="eu.etaxonomy.cdm.remote.json.processor.value.DateTimeJSONValueProcessor" />
631
        </entry>
632
        <entry key="java.util.Calendar">
633
          <bean
634
            class="eu.etaxonomy.cdm.remote.json.processor.value.CalendarJSONValueProcessor" />
635
        </entry>
636
        <entry key="org.joda.time.Partial">
637
          <bean
638
            class="eu.etaxonomy.cdm.remote.json.processor.value.PartialJSONValueProcessor" />
639
        </entry>
640
        <entry key="java.util.Map">
641
            <bean class="eu.etaxonomy.cdm.remote.json.processor.value.MapJSONValueProcessor" />
642
        </entry>
643
          <entry key="java.net.URI">
644
              <bean class="eu.etaxonomy.cdm.remote.json.processor.value.URIJSONValueProcessor"/>
645
          </entry>
646

    
647
      </map>
648
    </property>
649
    <property name="ignoreDefaultExcludes" value="true" />
650
    <property name="excludes">
651
      <list value-type="java.lang.String">
652
        <value>class</value>
653
        <value>declaringClass</value><!-- DefaultExclude -->
654
        <value>metaClass</value><!-- DefaultExclude -->
655
        <value>id</value>
656
        <value>cacheStrategy</value>
657
        <value>createdBy</value>
658
        <value>updatedBy</value>
659
      </list>
660
    </property>
661
  </bean>
662

    
663

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