Project

General

Profile

Download (31 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
             <!-- all NamedSourceBase classes need to be added here -->   
29
             <value>NomenclaturalStatus.source</value>
30
             <value>DescriptionElementSource.citation</value>
31
             <value>SecundumSource.citation</value>
32
             <value>NamedSource.citation</value>
33

    
34
             <value>TreeNode.data</value>
35
             <value>TreeNode.data</value>
36

    
37
             <value>PolytomousKey.root</value>
38
             <value>PolytomousKeyNode.children</value>
39
             <value>PolytomousKeyNode.question</value>
40
             <value>PolytomousKeyNode.feature</value>
41
             <value>PolytomousKeyNode.statement</value>
42
             <value>PolytomousKeyNode.modifyingText</value>
43
             <value>PolytomousKeyNode.otherNode</value>
44

    
45
             <value>LinkedPolytomousKeyNodeRowDto.childStatement</value>
46
             <value>LinkedPolytomousKeyNodeRowDto.rowQuestion</value>
47
             <value>LinkedPolytomousKeyNodeRowDto.rowFeature</value>
48
             <!-- value>LinkedPolytomousKeyNodeRowDto.keyNode</value-->
49

    
50
             <value>Media.representations</value>
51
             <value>MediaRepresentation.parts</value>
52

    
53
             <value>Sequence.marker</value>
54
             <value>Sequence.genBankAccessionNumber</value>
55
             <value>Sequence.genBankUri</value>
56

    
57
             <value>Annotation.annotationType</value>
58
             <value>Marker.markerType</value>
59

    
60
             <value>DerivationEvent.derivatives</value>
61
             <value>DerivationEvent.originals</value>
62

    
63
             <value>Point.referenceSystem</value>
64

    
65
             <!-- CardinalityPropertyFilter should allow defining exceptions for abstract super classes : -->
66
             <!-- <value>eu.etaxonomy.cdm.model.description.DescriptionElementBase.feature</value> -->
67

    
68
             <value>Synonym.secSource</value>
69
             <value>Taxon.secSource</value>
70

    
71
             <value>StateData.state</value>
72
             <value>StateData.modifiers</value>
73
             <value>StateData.modifyingText</value>
74

    
75
             <value>TextData.feature</value>
76
             <value>CategoricalData.feature</value>
77
             <value>CommonTaxonName.feature</value>
78
             <value>Distribution.feature</value>
79
             <value>IndividualsAssociation.feature</value>
80
             <value>QuantitativeData.feature</value>
81
             <value>TaxonInteraction.feature</value>
82
             <value>TextData.feature</value>
83
             <value>IdentifiableSource.citation</value>
84
             <value>NamedSource.citation</value>
85
             
86
             <value>Registration.name</value>
87
             <value>Registration.typeDesignations</value>
88
             <value>Registration.institution</value>
89

    
90
             <value>SearchResult.entity</value>
91
             
92
             <value>CdmEntity.entity</value>
93
         </set>
94
       </property>
95
     </bean>
96

    
97
     <bean id="nameCatalogueApiCardinalityPropertyFilter" class="eu.etaxonomy.cdm.remote.json.util.CardinalityPropertyFilter">
98
       <property name="includeToOneRelations" value="true" />
99
       <property name="includeToManyRelations" value="true" />
100
       <property name="exceptions">
101
         <set>
102
         </set>
103
       </property>
104
     </bean>
105

    
106
  <!--
107
         =================================================
108
            default configuration for RESTful read(/write) service
109
         =================================================
110
    -->
111
  <bean name="jsonConfig" class="eu.etaxonomy.cdm.remote.json.JsonConfigFactoryBean"
112
    init-method="init">
113
    <property name="jsonBeanProcessorMatcher">
114
      <bean
115
        class="eu.etaxonomy.cdm.remote.json.processor.matcher.CdmProxyBeanProcessorMatcher" />
116
    </property>
117
    <property name="defaultValueProcessorMatcher">
118
      <bean
119
        class="eu.etaxonomy.cdm.remote.json.processor.matcher.CdmDefaultValueProcessorMatcher" />
120
    </property>
121
    <property name="defaultValueProcessorMap">
122
        <map>
123
          <entry key="java.lang.Number">
124
            <bean
125
              class="eu.etaxonomy.cdm.remote.json.processor.value.CdmDefaultValueProcessor" />
126
          </entry>
127
        </map>
128
    </property>
129
    <property name="jsonBeanProcessors">
130
      <map>
131
        <entry key="org.hibernate.proxy.HibernateProxy">
132
          <bean class="eu.etaxonomy.cdm.remote.json.processor.bean.HibernateProxyBeanProcessor" />
133
        </entry>
134
        <entry key="eu.etaxonomy.cdm.model.term.TermBase">
135
          <bean class="eu.etaxonomy.cdm.remote.json.processor.bean.TermBaseBeanProcessor">
136
             <property name="excludes">
137
               <set value-type="java.lang.String">
138
                   <value>partOf</value><!-- FIXME exclude partOf to avoid  lazy loading exceptions  -->
139
                   <value>kindOf</value><!-- FIXME exclude kindOf to avoid  lazy loading exceptions  -->
140
                   <value>infraGenericMarker</value><!-- FIXME leads to IllegalStateException if not excluded  -->
141
               </set>
142
            </property>
143
           </bean>
144
         </entry>
145
         <entry key="eu.etaxonomy.cdm.model.term.Representation">
146
          <bean class="eu.etaxonomy.cdm.remote.json.processor.bean.RepresentationBeanProcessor"/>
147
         </entry>
148
         <entry key="eu.etaxonomy.cdm.model.media.Media">
149
            <bean class="eu.etaxonomy.cdm.remote.json.processor.bean.MediaBeanProcessor">
150
              <property name="replaceTitle" value="true" />
151
              <property name="replaceDescription" value="true" />
152
            </bean>
153
         </entry>
154
         <entry key="eu.etaxonomy.cdm.model.taxon.TaxonNode">
155
            <bean class="eu.etaxonomy.cdm.remote.json.processor.bean.TaxonNodeBeanProcessor" />
156
         </entry>
157
         <entry key="eu.etaxonomy.cdm.persistence.dto.TaxonNodeDto">
158
            <bean class="eu.etaxonomy.cdm.remote.json.processor.bean.TaxonNodeDtoBeanProcessor" />
159
        </entry>
160
        <entry key="eu.etaxonomy.cdm.model.location.Point">
161
          <bean class="eu.etaxonomy.cdm.remote.json.processor.bean.PointBeanProcessor"/>
162
        </entry>
163
         <entry key="eu.etaxonomy.cdm.model.reference.Reference">
164
              <bean class="eu.etaxonomy.cdm.remote.json.processor.bean.ReferenceBaseBeanProcessor"/>
165
         </entry>
166
         <entry key="eu.etaxonomy.cdm.model.name.TaxonName">
167
            <bean
168
              class="eu.etaxonomy.cdm.remote.json.processor.bean.TaxonNameBeanProcessor">
169
              <property name="skipTaggedName" value="true" />
170
            </bean>
171
         </entry>
172
         <entry key="eu.etaxonomy.cdm.model.name.TypeDesignationBase">
173
            <bean class="eu.etaxonomy.cdm.remote.json.processor.bean.TypeDesignationBaseBeanProcessor"/>
174
         </entry>
175
         <entry key="eu.etaxonomy.cdm.model.description.KeyStatement">
176
              <bean class="eu.etaxonomy.cdm.remote.json.processor.bean.KeyStatementBeanProcessor" />
177
         </entry>
178
         <entry key="eu.etaxonomy.cdm.model.agent.TeamOrPersonBase">
179
              <bean class="eu.etaxonomy.cdm.remote.json.processor.bean.TeamOrPersonBaseBeanProcessor" />
180
         </entry>
181
         <entry key="eu.etaxonomy.cdm.model.description.DescriptionElementBase">
182
              <bean class="eu.etaxonomy.cdm.remote.json.processor.bean.DescriptionElementBeanProcessor" />
183
         </entry>
184
         <!-- TODO this bean processor is unused but preserved for the time when the REST API will be revised (#8637)
185
         <entry key="eu.etaxonomy.cdm.model.reference.CdmLinkSource">
186
              <bean class="eu.etaxonomy.cdm.remote.json.processor.bean.CdmLinkSourceBeanProcessor" />
187
         </entry>
188
         -->
189
         <entry key="eu.etaxonomy.cdm.model.description.StateData">
190
              <bean class="eu.etaxonomy.cdm.remote.json.processor.bean.StateDataBeanProcessor" />
191
         </entry>
192
         <entry key="org.apache.lucene.document.Document">
193
              <bean class="eu.etaxonomy.cdm.remote.json.processor.bean.LuceneDocumentBeanProcessor" />
194
         </entry>
195
         <entry key="eu.etaxonomy.cdm.api.service.dto.RegistrationDTO">
196
            <bean class="eu.etaxonomy.cdm.remote.json.processor.bean.RegistrationDtoBeanProcessor" />
197
        </entry>
198
      </map>
199
    </property>
200
    <property name="jsonPropertyFilter">
201
        <bean class="net.sf.json.filters.OrPropertyFilter">
202
          <constructor-arg>
203
              <bean class="eu.etaxonomy.cdm.remote.json.util.InitializedHibernatePropertyFilter" />
204
          </constructor-arg>
205
          <constructor-arg ref="genericApiCardinalityPropertyFilter">
206
          </constructor-arg>
207
        </bean>
208
    </property>
209
    <property name="jsonValueProcessorsByClass">
210
      <map>
211
        <entry key="org.hibernate.proxy.HibernateProxy">
212
          <bean
213
            class="eu.etaxonomy.cdm.remote.json.processor.value.HibernateJSONValueProcessor" />
214
        </entry>
215
        <entry key="java.util.UUID">
216
          <bean
217
            class="eu.etaxonomy.cdm.remote.json.processor.value.UUIDJSONValueProcessor" />
218
        </entry>
219
        <entry key="org.joda.time.DateTime">
220
          <bean
221
            class="eu.etaxonomy.cdm.remote.json.processor.value.DateTimeJSONValueProcessor" />
222
        </entry>
223
        <entry key="java.util.Calendar">
224
          <bean
225
            class="eu.etaxonomy.cdm.remote.json.processor.value.CalendarJSONValueProcessor" />
226
        </entry>
227
        <entry key="org.joda.time.Partial">
228
          <bean
229
            class="eu.etaxonomy.cdm.remote.json.processor.value.PartialJSONValueProcessor" />
230
        </entry>
231
        <entry key="java.lang.Class">
232
          <bean
233
            class="eu.etaxonomy.cdm.remote.json.processor.value.ClassJSONValueProcessor" />
234
        </entry>
235
        <entry key="java.util.Map">
236
            <bean class="eu.etaxonomy.cdm.remote.json.processor.value.MapJSONValueProcessor" />
237
        </entry>
238
        <entry key="java.util.LinkedHashMap">
239
            <bean class="eu.etaxonomy.cdm.remote.json.processor.value.MapJSONValueProcessor" />
240
        </entry>
241
        <entry key="eu.etaxonomy.cdm.api.service.name.TypeDesignationSet">
242
            <bean class="eu.etaxonomy.cdm.remote.json.processor.value.TypeDesignationSetValueProcessor" />
243
        </entry>
244
        <entry key="eu.etaxonomy.cdm.common.URI">
245
            <bean class="eu.etaxonomy.cdm.remote.json.processor.value.URIJSONValueProcessor"/>
246
        </entry>
247
        <entry key="eu.etaxonomy.cdm.model.taxon.TaxonNodeStatus">
248
            <bean class="eu.etaxonomy.cdm.remote.json.processor.value.KeyTermValueProcessor"/>
249
        </entry>
250
        <entry key="eu.etaxonomy.cdm.model.occurrence.SpecimenOrObservationType">
251
            <bean class="eu.etaxonomy.cdm.remote.json.processor.value.KeyTermValueProcessor"/>
252
        </entry>
253
      </map>
254
    </property>
255
    <property name="ignoreDefaultExcludes" value="true" />
256
    <property name="excludes">
257
      <list value-type="java.lang.String">
258
        <value>declaringClass</value><!-- DefaultExclude -->
259
        <value>metaClass</value><!-- DefaultExclude -->
260
        <value>id</value>
261
        <value>cacheStrategy</value>
262
        <value>createdBy</value>
263
        <value>updatedBy</value>
264
        <!-- TODO this bean processor is unused but preserved for the time when the REST API will be revised (#8637)
265
        <value>cdmSourceTarget</value><! - - OriginalSourceBase.getCdmSourceTarget() -->
266
      </list>
267
    </property>
268
  </bean>
269

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

    
359
  <!--
360
       =================================================
361
         configuration for RESTful portal service
362
       =================================================
363
  -->
364

    
365
  <bean name="jsonConfigPortal" class="eu.etaxonomy.cdm.remote.json.JsonConfigFactoryBean"
366
    init-method="init">
367
    <property name="jsonBeanProcessorMatcher">
368
      <bean
369
        class="eu.etaxonomy.cdm.remote.json.processor.matcher.CdmProxyBeanProcessorMatcher" />
370
    </property>
371
    <property name="defaultValueProcessorMatcher">
372
      <bean
373
        class="eu.etaxonomy.cdm.remote.json.processor.matcher.CdmDefaultValueProcessorMatcher" />
374
    </property>
375
    <property name="defaultValueProcessorMap">
376
        <map>
377
          <entry key="java.lang.Number">
378
            <bean
379
              class="eu.etaxonomy.cdm.remote.json.processor.value.CdmDefaultValueProcessor" />
380
          </entry>
381
        </map>
382
    </property>
383
    <property name="jsonBeanProcessors">
384
      <map>
385
        <entry key="org.hibernate.proxy.HibernateProxy">
386
          <bean
387
            class="eu.etaxonomy.cdm.remote.json.processor.bean.HibernateProxyBeanProcessor" />
388
        </entry>
389
        <entry key="eu.etaxonomy.cdm.model.taxon.TaxonBase">
390
          <bean class="eu.etaxonomy.cdm.remote.json.processor.bean.TaxonBaseBeanProcessor">
391
          <property name="excludes">
392
             <set value-type="java.lang.String">
393
                 <value>acceptedTaxon</value><!-- #6211 to avoid infinite loops in the synonymy -->
394
             </set>
395
          </property>
396
         </bean>  
397
        </entry>
398
        <entry key="eu.etaxonomy.cdm.model.name.TaxonName">
399
          <bean class="eu.etaxonomy.cdm.remote.json.processor.bean.TaxonNameBeanProcessor">
400
            <property name="excludes">
401
                <set value-type="java.lang.String">
402
                    <value>homotypicalGroup</value>
403
                </set>
404
            </property>
405
          </bean>
406
        </entry>
407
        <entry key="eu.etaxonomy.cdm.model.taxon.TaxonNode">
408
            <bean class="eu.etaxonomy.cdm.remote.json.processor.bean.TaxonNodeBeanProcessor">
409
                <property name="replaceMultilanguageText" value="true" />
410
            </bean>
411
        </entry>
412
        <entry key="eu.etaxonomy.cdm.persistence.dto.TaxonNodeDto">
413
            <bean class="eu.etaxonomy.cdm.remote.json.processor.bean.TaxonNodeDtoBeanProcessor" />
414
        </entry>
415
        <entry key="eu.etaxonomy.cdm.model.name.TypeDesignationBase">
416
            <bean class="eu.etaxonomy.cdm.remote.json.processor.bean.TypeDesignationBaseBeanProcessor">
417
                <property name="replaceMultilanguageText" value="true" />
418
            </bean>
419
         </entry>
420
        <entry key="eu.etaxonomy.cdm.model.name.NameRelationship">
421
          <bean
422
            class="eu.etaxonomy.cdm.remote.json.processor.bean.NameRelationshipBeanProcessor" />
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.common.ExtendedTimePeriod">
488
            <bean class="eu.etaxonomy.cdm.remote.json.processor.bean.ExtendedTimePeriodBeanProcessor" />
489
        </entry>
490
        <entry key="eu.etaxonomy.cdm.model.description.StateData">
491
            <bean class="eu.etaxonomy.cdm.remote.json.processor.bean.StateDataBeanProcessor">
492
                <property name="replaceMultilanguageText" value="true" />
493
            </bean>
494
        </entry>
495
        <entry key="eu.etaxonomy.cdm.model.description.KeyStatement">
496
            <bean class="eu.etaxonomy.cdm.remote.json.processor.bean.KeyStatementBeanProcessor" />
497
        </entry>
498
        <entry key="eu.etaxonomy.cdm.api.service.dto.RegistrationDTO">
499
            <bean class="eu.etaxonomy.cdm.remote.json.processor.bean.RegistrationDtoBeanProcessor" />
500
        </entry>
501
      </map>
502
    </property>
503
        <property name="jsonPropertyFilter">
504
            <bean class="eu.etaxonomy.cdm.remote.json.util.InitializedHibernatePropertyFilter" />
505
        </property>
506
    <property name="jsonValueProcessorsByClass">
507
      <map>
508
        <entry key="org.hibernate.proxy.HibernateProxy">
509
          <bean
510
            class="eu.etaxonomy.cdm.remote.json.processor.value.HibernateJSONValueProcessor" />
511
        </entry>
512
        <entry key="java.util.UUID">
513
          <bean
514
            class="eu.etaxonomy.cdm.remote.json.processor.value.UUIDJSONValueProcessor" />
515
        </entry>
516
        <entry key="org.joda.time.DateTime">
517
          <bean
518
            class="eu.etaxonomy.cdm.remote.json.processor.value.DateTimeJSONValueProcessor" />
519
        </entry>
520
        <entry key="java.util.Calendar">
521
          <bean
522
            class="eu.etaxonomy.cdm.remote.json.processor.value.CalendarJSONValueProcessor" />
523
        </entry>
524
        <entry key="org.joda.time.Partial">
525
          <bean
526
            class="eu.etaxonomy.cdm.remote.json.processor.value.PartialJSONValueProcessor" />
527
        </entry>
528
        <entry key="java.lang.Class">
529
          <bean
530
            class="eu.etaxonomy.cdm.remote.json.processor.value.ClassJSONValueProcessor" />
531
        </entry>
532
        <entry key="java.util.Map">
533
            <bean class="eu.etaxonomy.cdm.remote.json.processor.value.MapJSONValueProcessor" />
534
        </entry>
535
        <entry key="java.util.LinkedHashMap">
536
            <bean class="eu.etaxonomy.cdm.remote.json.processor.value.MapJSONValueProcessor" />
537
        </entry>
538
        <entry key="eu.etaxonomy.cdm.api.service.name.TypeDesignationSet">
539
            <bean class="eu.etaxonomy.cdm.remote.json.processor.value.TypeDesignationSetValueProcessor" />
540
        </entry>
541
        <entry key="eu.etaxonomy.cdm.common.URI">
542
            <bean class="eu.etaxonomy.cdm.remote.json.processor.value.URIJSONValueProcessor"/>
543
        </entry>
544
        <entry key="eu.etaxonomy.cdm.model.taxon.TaxonNodeStatus">
545
            <bean class="eu.etaxonomy.cdm.remote.json.processor.value.KeyTermValueProcessor" />
546
        </entry>
547
        <entry key="eu.etaxonomy.cdm.model.occurrence.SpecimenOrObservationType">
548
            <bean class="eu.etaxonomy.cdm.remote.json.processor.value.KeyTermValueProcessor"/>
549
        </entry>
550
      </map>
551
    </property>
552
    <property name="ignoreDefaultExcludes" value="true" />
553
    <property name="excludes">
554
      <list value-type="java.lang.String">
555
        <value>declaringClass</value><!-- DefaultExclude -->
556
        <value>metaClass</value><!-- DefaultExclude -->
557
        <value>id</value>
558
        <!--
559
            commented out,
560
            see  #3347 (services and REST service controller for molecular classes implemented)
561
        <value>annotations</value>
562
        <value>markers</value>
563
        -->
564
        <value>cacheStrategy</value>
565
        <value>createdBy</value>
566
        <value>updatedBy</value>
567
        <value>inDescription</value>
568
        <!-- TODO this bean processor is unused but preserved for the time when the REST API will be revised (#8637)
569
        <value>cdmSourceTarget</value>< !- - OriginalSourceBase.getCdmSourceTarget() -->
570
      </list>
571
    </property>
572
  </bean>
573

    
574
   <!--
575
         =================================================
576
            default configuration name catalogue service
577
         =================================================
578
    -->
579
  <bean name="nameCatalogueJsonConfig" class="eu.etaxonomy.cdm.remote.json.JsonConfigFactoryBean"
580
    init-method="init">
581
    <property name="jsonPropertyFilter">
582
        <bean class="net.sf.json.filters.OrPropertyFilter">
583
          <constructor-arg>
584
              <bean class="eu.etaxonomy.cdm.remote.json.util.InitializedHibernatePropertyFilter" />
585
          </constructor-arg>
586
          <constructor-arg ref="nameCatalogueApiCardinalityPropertyFilter">
587
          </constructor-arg>
588
        </bean>
589
    </property>
590
    <property name="jsonValueProcessorsByClass">
591
      <map>
592
        <entry key="org.hibernate.proxy.HibernateProxy">
593
          <bean
594
            class="eu.etaxonomy.cdm.remote.json.processor.value.HibernateJSONValueProcessor" />
595
        </entry>
596
        <entry key="java.util.UUID">
597
          <bean
598
            class="eu.etaxonomy.cdm.remote.json.processor.value.UUIDJSONValueProcessor" />
599
        </entry>
600
        <entry key="org.joda.time.DateTime">
601
          <bean
602
            class="eu.etaxonomy.cdm.remote.json.processor.value.DateTimeJSONValueProcessor" />
603
        </entry>
604
        <entry key="java.util.Calendar">
605
          <bean
606
            class="eu.etaxonomy.cdm.remote.json.processor.value.CalendarJSONValueProcessor" />
607
        </entry>
608
        <entry key="org.joda.time.Partial">
609
          <bean
610
            class="eu.etaxonomy.cdm.remote.json.processor.value.PartialJSONValueProcessor" />
611
        </entry>
612
        <entry key="java.util.Map">
613
            <bean class="eu.etaxonomy.cdm.remote.json.processor.value.MapJSONValueProcessor" />
614
        </entry>
615
          <entry key="eu.etaxonomy.cdm.common.URI">
616
              <bean class="eu.etaxonomy.cdm.remote.json.processor.value.URIJSONValueProcessor"/>
617
          </entry>
618
      </map>
619
    </property>
620
    <property name="ignoreDefaultExcludes" value="true" />
621
    <property name="excludes">
622
      <list value-type="java.lang.String">
623
        <value>class</value>
624
        <value>declaringClass</value><!-- DefaultExclude -->
625
        <value>metaClass</value><!-- DefaultExclude -->
626
        <value>id</value>
627
        <value>cacheStrategy</value>
628
        <value>createdBy</value>
629
        <value>updatedBy</value>
630
      </list>
631
    </property>
632
  </bean>
633

    
634
  <bean name="occurrenceCatalogueJsonConfig" class="eu.etaxonomy.cdm.remote.json.JsonConfigFactoryBean"
635
    init-method="init">
636
    <property name="jsonPropertyFilter">
637
        <bean class="net.sf.json.filters.OrPropertyFilter">
638
          <constructor-arg>
639
              <bean class="eu.etaxonomy.cdm.remote.json.util.InitializedHibernatePropertyFilter" />
640
          </constructor-arg>
641
          <constructor-arg ref="nameCatalogueApiCardinalityPropertyFilter">
642
          </constructor-arg>
643
        </bean>
644
    </property>
645
    <property name="jsonValueProcessorsByClass">
646
      <map>
647
        <entry key="org.hibernate.proxy.HibernateProxy">
648
          <bean
649
            class="eu.etaxonomy.cdm.remote.json.processor.value.HibernateJSONValueProcessor" />
650
        </entry>
651
        <entry key="java.util.UUID">
652
          <bean
653
            class="eu.etaxonomy.cdm.remote.json.processor.value.UUIDJSONValueProcessor" />
654
        </entry>
655
        <entry key="org.joda.time.DateTime">
656
          <bean
657
            class="eu.etaxonomy.cdm.remote.json.processor.value.DateTimeJSONValueProcessor" />
658
        </entry>
659
        <entry key="java.util.Calendar">
660
          <bean
661
            class="eu.etaxonomy.cdm.remote.json.processor.value.CalendarJSONValueProcessor" />
662
        </entry>
663
        <entry key="org.joda.time.Partial">
664
          <bean
665
            class="eu.etaxonomy.cdm.remote.json.processor.value.PartialJSONValueProcessor" />
666
        </entry>
667
        <entry key="java.util.Map">
668
            <bean class="eu.etaxonomy.cdm.remote.json.processor.value.MapJSONValueProcessor" />
669
        </entry>
670
          <entry key="eu.etaxonomy.cdm.common.URI">
671
              <bean class="eu.etaxonomy.cdm.remote.json.processor.value.URIJSONValueProcessor"/>
672
          </entry>
673

    
674
      </map>
675
    </property>
676
    <property name="ignoreDefaultExcludes" value="true" />
677
    <property name="excludes">
678
      <list value-type="java.lang.String">
679
        <value>class</value>
680
        <value>declaringClass</value><!-- DefaultExclude -->
681
        <value>metaClass</value><!-- DefaultExclude -->
682
        <value>id</value>
683
        <value>cacheStrategy</value>
684
        <value>createdBy</value>
685
        <value>updatedBy</value>
686
      </list>
687
    </property>
688
  </bean>
689

    
690

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