Project

General

Profile

« Previous | Next » 

Revision d26d8c57

Added by Andreas Kohlbecker over 8 years ago

#5229 implementing output of TaxonBase.getTaggedTitle in web services
- turning the TaxonBeanProcessor into TaxonBaseBeanProcessor
- adding taggedTitle to the taxon instances returned by the portal service

View differences:

cdmlib-remote/src/main/resources/eu/etaxonomy/cdm/remote/json/jsonConfigurations.xml
1
<?xml version="1.0" encoding="UTF-8"?>

2
<beans xmlns="http://www.springframework.org/schema/beans"

3
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

4
    xmlns:tx="http://www.springframework.org/schema/tx"

5
    xmlns:context="http://www.springframework.org/schema/context"

6
    xsi:schemaLocation="http://www.springframework.org/schema/beans   http://www.springframework.org/schema/beans/spring-beans-2.5.xsd

7
    http://www.springframework.org/schema/context   http://www.springframework.org/schema/context/spring-context-2.5.xsd

8
    http://www.springframework.org/schema/tx   http://www.springframework.org/schema/tx/spring-tx-2.5.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>FeatureTree.root</value>

25
             <value>FeatureNode.children</value>

26
             <value>FeatureNode.feature</value>

27

  
28
             <value>TreeNode.data</value>

29
             <value>TreeNode.data</value>

30

  
31
             <value>PolytomousKey.root</value>

32
             <value>PolytomousKeyNode.children</value>

33
             <value>PolytomousKeyNode.question</value>

34
             <value>PolytomousKeyNode.feature</value>

35
             <value>PolytomousKeyNode.statement</value>

36
             <value>PolytomousKeyNode.modifyingText</value>

37

  
38
             <value>LinkedPolytomousKeyNodeRowDto.childStatement</value>

39
             <value>LinkedPolytomousKeyNodeRowDto.rowQuestion</value>

40
             <value>LinkedPolytomousKeyNodeRowDto.rowFeature</value>

41
             <!-- value>LinkedPolytomousKeyNodeRowDto.keyNode</value-->

42

  
43
             <value>Media.representations</value>

44
             <value>MediaRepresentation.parts</value>

45

  
46
             <value>Sequence.marker</value>

47
             <value>Sequence.genBankAccessionNumber</value>

48
             <value>Sequence.genBankUri</value>

49

  
50
             <value>Annotation.annotationType</value>

51
             <value>Marker.markerType</value>

52

  
53
             <value>DerivationEvent.derivatives</value>

54
             <value>DerivationEvent.originals</value>

55

  
56
             <value>Point.referenceSystem</value>

57

  
58
             <!-- CardinalityPropertyFilter should allow defining exceptions for abstract super classes : -->

59
             <!-- <value>eu.etaxonomy.cdm.model.description.DescriptionElementBase.feature</value> -->

60

  
61
             <value>Synonym.sec</value>

62
             <value>Taxon.sec</value>

63

  
64
             <value>StateData.state</value>

65
             <value>StateData.modifiers</value>

66
             <value>StateData.modifyingText</value>

67

  
68
             <value>TextData.feature</value>

69
             <value>CategoricalData.feature</value>

70
             <value>CommonTaxonName.feature</value>

71
             <value>Distribution.feature</value>

72
             <value>IndividualsAssociation.feature</value>

73
             <value>QuantitativeData.feature</value>

74
             <value>TaxonInteraction.feature</value>

75
             <value>TextData.feature</value>

76
             <value>IdentifiableSource.citation</value>

77

  
78
             <value>SearchResult.entity</value>

79
         </set>

80
       </property>

81
     </bean>

82

  
83
     <bean id="nameCatalogueApiCardinalityPropertyFilter" class="eu.etaxonomy.cdm.remote.json.util.CardinalityPropertyFilter">

84
       <property name="includeToOneRelations" value="true" />

85
       <property name="includeToManyRelations" value="true" />

86
       <property name="exceptions">

87
         <set>

88
         </set>

89
       </property>

90
     </bean>

91

  
92
  <!--

93
         =================================================

94
            default configuration for RESTful read(/write) service

95
         =================================================

96
    -->

97
  <bean name="jsonConfig" class="eu.etaxonomy.cdm.remote.json.JsonConfigFactoryBean"

98
    init-method="init">

99
    <property name="jsonBeanProcessorMatcher">

100
      <bean

101
        class="eu.etaxonomy.cdm.remote.json.processor.matcher.CdmProxyBeanProcessorMatcher" />

102
    </property>

103
    <property name="jsonBeanProcessors">

104
      <map>

105
      <entry key="org.hibernate.proxy.HibernateProxy">

106
        <bean class="eu.etaxonomy.cdm.remote.json.processor.bean.HibernateProxyBeanProcessor" />

107
      </entry>

108
      <entry key="eu.etaxonomy.cdm.model.common.TermBase">

109
        <bean class="eu.etaxonomy.cdm.remote.json.processor.bean.TermBaseBeanProcessor">

110
           <property name="excludes">

111
             <set value-type="java.lang.String">

112
                 <value>partOf</value><!-- FIXME exclude partOf to avoid  lazy loading exceptions  -->

113
                 <value>kindOf</value><!-- FIXME exclude kindOf to avoid  lazy loading exceptions  -->

114
                 <value>infraGenericMarker</value><!-- FIXME leads to IllegalStateException if not excluded  -->

115
             </set>

116
          </property>

117
        </bean>

118
        </entry>

119
        <entry key="eu.etaxonomy.cdm.model.taxon.TaxonNode">

120
          <bean class="eu.etaxonomy.cdm.remote.json.processor.bean.TaxonNodeBeanProcessor" />

121
        </entry>

122
        <entry key="eu.etaxonomy.cdm.model.reference.Reference">

123
            <bean class="eu.etaxonomy.cdm.remote.json.processor.bean.ReferenceBaseBeanProcessor"/>

124
        </entry>

125
        <entry key="eu.etaxonomy.cdm.model.name.TaxonNameBase">

126
          <bean

127
            class="eu.etaxonomy.cdm.remote.json.processor.bean.TaxonNameBaseBeanProcessor">

128
            <property name="skipTaggedName" value="true" />

129
          </bean>

130
        </entry>

131
        <entry key="eu.etaxonomy.cdm.model.name.TypeDesignationBase">

132
          <bean class="eu.etaxonomy.cdm.remote.json.processor.bean.TypeDesignationBaseBeanProcessor"/>

133
        </entry>

134
        <entry key="eu.etaxonomy.cdm.model.description.KeyStatement">

135
            <bean class="eu.etaxonomy.cdm.remote.json.processor.bean.KeyStatementBeanProcessor" />

136
        </entry>

137
        <entry key="eu.etaxonomy.cdm.model.agent.TeamOrPersonBase">

138
            <bean class="eu.etaxonomy.cdm.remote.json.processor.bean.TeamOrPersonBaseBeanProcessor" />

139
        </entry>

140
        <entry key="eu.etaxonomy.cdm.model.description.DescriptionElementBase">

141
            <bean class="eu.etaxonomy.cdm.remote.json.processor.bean.DescriptionElementBeanProcessor" />

142
        </entry>

143
        <entry key="eu.etaxonomy.cdm.model.description.StateData">

144
            <bean class="eu.etaxonomy.cdm.remote.json.processor.bean.StateDataBeanProcessor" />

145
        </entry>

146
        <entry key="org.apache.lucene.document.Document">

147
            <bean class="eu.etaxonomy.cdm.remote.json.processor.bean.LuceneDocumentBeanProcessor" />

148
        </entry>

149
      </map>

150
    </property>

151
    <property name="jsonPropertyFilter">

152
        <bean class="net.sf.json.filters.OrPropertyFilter">

153
          <constructor-arg>

154
              <bean class="eu.etaxonomy.cdm.remote.json.util.InitializedHibernatePropertyFilter" />

155
          </constructor-arg>

156
          <constructor-arg ref="genericApiCardinalityPropertyFilter">

157
          </constructor-arg>

158
        </bean>

159
    </property>

160
    <property name="jsonValueProcessors">

161
      <map>

162
        <entry key="org.hibernate.proxy.HibernateProxy">

163
          <bean

164
            class="eu.etaxonomy.cdm.remote.json.processor.value.HibernateJSONValueProcessor" />

165
        </entry>

166
        <entry key="java.util.UUID">

167
          <bean

168
            class="eu.etaxonomy.cdm.remote.json.processor.value.UUIDJSONValueProcessor" />

169
        </entry>

170
        <entry key="org.joda.time.DateTime">

171
          <bean

172
            class="eu.etaxonomy.cdm.remote.json.processor.value.DateTimeJSONValueProcessor" />

173
        </entry>

174
        <entry key="java.util.Calendar">

175
          <bean

176
            class="eu.etaxonomy.cdm.remote.json.processor.value.CalendarJSONValueProcessor" />

177
        </entry>

178
        <entry key="org.joda.time.Partial">

179
          <bean

180
            class="eu.etaxonomy.cdm.remote.json.processor.value.PartialJSONValueProcessor" />

181
        </entry>

182
        <entry key="java.lang.Class">

183
          <bean

184
            class="eu.etaxonomy.cdm.remote.json.processor.value.ClassJSONValueProcessor" />

185
        </entry>

186
        <entry key="java.util.Map">

187
            <bean class="eu.etaxonomy.cdm.remote.json.processor.value.MapJSONValueProcessor" />

188
        </entry>

189
          <entry key="java.net.URI">

190
              <bean class="eu.etaxonomy.cdm.remote.json.processor.value.URIJSONValueProcessor"/>

191
          </entry>

192
      </map>

193
    </property>

194
    <property name="ignoreDefaultExcludes" value="true" />

195
    <property name="excludes">

196
      <list value-type="java.lang.String">

197
        <value>declaringClass</value><!-- DefaultExclude -->

198
        <value>metaClass</value><!-- DefaultExclude -->

199
        <value>id</value>

200
        <value>cacheStrategy</value>

201
        <value>createdBy</value>

202
        <value>updatedBy</value>

203
      </list>

204
    </property>

205
  </bean>

206

  
207
  <!--

208
         =================================================

209
            configuration for RESTful classification service

210
         =================================================

211
    -->

212
  <bean name="jsonConfigClassification" class="eu.etaxonomy.cdm.remote.json.JsonConfigFactoryBean"

213
    init-method="init">

214
    <property name="jsonBeanProcessorMatcher">

215
      <bean

216
        class="eu.etaxonomy.cdm.remote.json.processor.matcher.HibernateProxyBeanProcessorMatcher" />

217
    </property>

218
    <property name="jsonBeanProcessors">

219
      <map>

220
        <entry key="org.hibernate.proxy.HibernateProxy">

221
          <bean

222
            class="eu.etaxonomy.cdm.remote.json.processor.bean.HibernateProxyBeanProcessor" />

223
        </entry>

224
        <entry key="eu.etaxonomy.cdm.model.taxon.TaxonNode">

225
          <bean

226
            class="eu.etaxonomy.cdm.remote.json.processor.bean.TaxonNodeDaoBeanProcessor" />

227
        </entry>

228
      </map>

229
    </property>

230
    <property name="jsonPropertyFilter">

231
      <bean class="net.sf.json.filters.OrPropertyFilter">

232
        <constructor-arg>

233
            <bean class="eu.etaxonomy.cdm.remote.json.util.InitializedHibernatePropertyFilter" />

234
        </constructor-arg>

235
        <constructor-arg ref="genericApiCardinalityPropertyFilter">

236
        </constructor-arg>

237
      </bean>

238
    </property>

239
    <property name="jsonValueProcessors">

240
      <map>

241
        <entry key="org.hibernate.proxy.HibernateProxy">

242
          <bean

243
            class="eu.etaxonomy.cdm.remote.json.processor.value.HibernateJSONValueProcessor" />

244
        </entry>

245
        <entry key="java.util.UUID">

246
          <bean

247
            class="eu.etaxonomy.cdm.remote.json.processor.value.UUIDJSONValueProcessor" />

248
        </entry>

249
        <entry key="org.joda.time.DateTime">

250
          <bean

251
            class="eu.etaxonomy.cdm.remote.json.processor.value.DateTimeJSONValueProcessor" />

252
        </entry>

253
        <entry key="java.util.Calendar">

254
          <bean

255
            class="eu.etaxonomy.cdm.remote.json.processor.value.CalendarJSONValueProcessor" />

256
        </entry>

257
        <entry key="org.joda.time.Partial">

258
          <bean

259
            class="eu.etaxonomy.cdm.remote.json.processor.value.PartialJSONValueProcessor" />

260
        </entry>

261
        <entry key="java.lang.Class">

262
          <bean

263
            class="eu.etaxonomy.cdm.remote.json.processor.value.ClassJSONValueProcessor" />

264
        </entry>

265
        <entry key="java.util.Map">

266
            <bean class="eu.etaxonomy.cdm.remote.json.processor.value.MapJSONValueProcessor" />

267
        </entry>

268
        <entry key="java.net.URI">

269
            <bean class="eu.etaxonomy.cdm.remote.json.processor.value.URIJSONValueProcessor"/>

270
        </entry>

271
      </map>

272
    </property>

273
    <property name="ignoreDefaultExcludes" value="true" />

274
    <property name="excludes">

275
      <list value-type="java.lang.String">

276
        <value>declaringClass</value><!-- DefaultExclude -->

277
        <value>metaClass</value><!-- DefaultExclude -->

278
        <value>id</value>

279
        <value>cacheStrategy</value>

280
        <value>createdBy</value>

281
        <value>updatedBy</value>

282
      </list>

283
    </property>

284
  </bean>

285

  
286
  <!--

287
       =================================================

288
         configuration for RESTful portal service

289
       =================================================

290
  -->

291

  
292
  <bean name="jsonConfigPortal" class="eu.etaxonomy.cdm.remote.json.JsonConfigFactoryBean"

293
    init-method="init">

294
    <property name="jsonBeanProcessorMatcher">

295
      <bean

296
        class="eu.etaxonomy.cdm.remote.json.processor.matcher.CdmProxyBeanProcessorMatcher" />

297
    </property>

298
    <property name="jsonBeanProcessors">

299
      <map>

300
        <entry key="org.hibernate.proxy.HibernateProxy">

301
          <bean

302
            class="eu.etaxonomy.cdm.remote.json.processor.bean.HibernateProxyBeanProcessor" />

303
        </entry>

304
        <entry key="eu.etaxonomy.cdm.model.taxon.Taxon">

305
          <bean class="eu.etaxonomy.cdm.remote.json.processor.bean.TaxonBeanProcessor" />

306
        </entry>

307
        <entry key="eu.etaxonomy.cdm.model.name.TaxonNameBase">

308
          <bean

309
            class="eu.etaxonomy.cdm.remote.json.processor.bean.TaxonNameBaseBeanProcessor" />

310
        </entry>

311
        <entry key="eu.etaxonomy.cdm.model.name.NameRelationship">

312
          <bean

313
            class="eu.etaxonomy.cdm.remote.json.processor.bean.NameRelationshipBeanProcessor" />

314
        </entry>

315
        <entry key="eu.etaxonomy.cdm.model.taxon.TaxonRelationship">

316
          <bean

317
            class="eu.etaxonomy.cdm.remote.json.processor.bean.TaxonRelationshipBeanProcessor" />

318
        </entry>

319
        <entry key="eu.etaxonomy.cdm.model.common.TermBase">

320
          <bean

321
            class="eu.etaxonomy.cdm.remote.json.processor.bean.TermBaseBeanProcessor">

322
            <property name="replaceRepresentations" value="true" />

323
            <property name="excludes">

324
                <set value-type="java.lang.String">

325
                  <value>infraGenericMarker</value><!-- FIXME leads to IllegalStateException if not excluded  -->

326
                  <value>partOf</value><!-- DefinedTermBase -->

327
                  <value>kindOf</value><!-- DefinedTermBase -->

328
                  <value>includes</value><!-- DefinedTermBase -->

329
                  <value>generalizationOf</value><!-- DefinedTermBase -->

330
                  <value>vocabulary</value><!-- DefinedTermBase -->

331
                  <!--

332
                      FIXME must exclude partOf, kindOf, includes, generalizationOf .. to

333
                      avoid class cast or lazy loading exceptions in TDWG Areas

334
                  -->

335
                </set>

336
            </property>

337
          </bean>

338
        </entry>

339
        <entry key="eu.etaxonomy.cdm.model.media.Media">

340
          <bean class="eu.etaxonomy.cdm.remote.json.processor.bean.MediaBeanProcessor">

341
            <property name="replaceTitle" value="true" />

342
            <property name="replaceDescription" value="true" />

343
          </bean>

344
        </entry>

345
        <entry key="eu.etaxonomy.cdm.model.reference.Reference">

346
          <bean class="eu.etaxonomy.cdm.remote.json.processor.bean.ReferenceBaseBeanProcessor"/>

347
        </entry>

348
        <entry key="eu.etaxonomy.cdm.model.description.TaxonNameDescription">

349
          <bean class="eu.etaxonomy.cdm.remote.json.processor.bean.TaxonNameDescriptionBeanProcessor">

350
              <property name="excludes">

351
                <set value-type="java.lang.String">

352
                  <value>taxonName</value>

353
                </set>

354
              </property>

355
          </bean>

356
        </entry>

357
        <entry key="eu.etaxonomy.cdm.api.facade.DerivedUnitFacade">

358
          <bean class="eu.etaxonomy.cdm.remote.json.processor.bean.DerivedUnitFacadeBeanProcessor"/>

359
        </entry>

360
        <entry key="eu.etaxonomy.cdm.model.location.Point">

361
          <bean class="eu.etaxonomy.cdm.remote.json.processor.bean.PointBeanProcessor"/>

362
        </entry>

363
        <entry key="eu.etaxonomy.cdm.model.agent.TeamOrPersonBase">

364
          <bean class="eu.etaxonomy.cdm.remote.json.processor.bean.TeamOrPersonBaseBeanProcessor" />

365
        </entry>

366
        <entry key="org.apache.lucene.document.Document">

367
            <bean class="eu.etaxonomy.cdm.remote.json.processor.bean.LuceneDocumentBeanProcessor" />

368
        </entry>

369
        <entry key="eu.etaxonomy.cdm.common.TreeNode">

370
            <bean class="eu.etaxonomy.cdm.remote.json.processor.bean.TreeNodeBeanProcessor" />

371
        </entry>

372
        <entry key="eu.etaxonomy.cdm.model.description.DescriptionElementBase">

373
            <bean class="eu.etaxonomy.cdm.remote.json.processor.bean.DescriptionElementBeanProcessor">

374
                <property name="replaceMultilanguageText" value="true" />

375
            </bean>

376
        </entry>

377
        <entry key="eu.etaxonomy.cdm.model.description.StateData">

378
            <bean class="eu.etaxonomy.cdm.remote.json.processor.bean.StateDataBeanProcessor">

379
                <property name="replaceMultilanguageText" value="true" />

380
            </bean>

381
        </entry>

382
      </map>

383
    </property>

384
        <property name="jsonPropertyFilter">

385
            <bean class="eu.etaxonomy.cdm.remote.json.util.InitializedHibernatePropertyFilter" />

386
        </property>

387
    <property name="jsonValueProcessors">

388
      <map>

389
        <entry key="org.hibernate.proxy.HibernateProxy">

390
          <bean

391
            class="eu.etaxonomy.cdm.remote.json.processor.value.HibernateJSONValueProcessor" />

392
        </entry>

393
        <entry key="java.util.UUID">

394
          <bean

395
            class="eu.etaxonomy.cdm.remote.json.processor.value.UUIDJSONValueProcessor" />

396
        </entry>

397
        <entry key="org.joda.time.DateTime">

398
          <bean

399
            class="eu.etaxonomy.cdm.remote.json.processor.value.DateTimeJSONValueProcessor" />

400
        </entry>

401
        <entry key="java.util.Calendar">

402
          <bean

403
            class="eu.etaxonomy.cdm.remote.json.processor.value.CalendarJSONValueProcessor" />

404
        </entry>

405
        <entry key="org.joda.time.Partial">

406
          <bean

407
            class="eu.etaxonomy.cdm.remote.json.processor.value.PartialJSONValueProcessor" />

408
        </entry>

409
        <entry key="java.lang.Class">

410
          <bean

411
            class="eu.etaxonomy.cdm.remote.json.processor.value.ClassJSONValueProcessor" />

412
        </entry>

413
        <entry key="java.util.Map">

414
            <bean class="eu.etaxonomy.cdm.remote.json.processor.value.MapJSONValueProcessor" />

415
        </entry>

416
        <entry key="java.net.URI">

417
            <bean class="eu.etaxonomy.cdm.remote.json.processor.value.URIJSONValueProcessor"/>

418
        </entry>

419
      </map>

420
    </property>

421
    <property name="ignoreDefaultExcludes" value="true" />

422
    <property name="excludes">

423
      <list value-type="java.lang.String">

424
        <value>declaringClass</value><!-- DefaultExclude -->

425
        <value>metaClass</value><!-- DefaultExclude -->

426
        <value>id</value>

427
        <!--

428
            commented out,

429
            see  #3347 (services and REST service controller for molecular classes implemented)

430
        <value>annotations</value>

431
        <value>markers</value>

432
        -->

433
        <value>cacheStrategy</value>

434
        <value>createdBy</value>

435
        <value>updatedBy</value>

436
        <value>inDescription</value>

437
      </list>

438
    </property>

439
  </bean>

440

  
441
   <!--

442
         =================================================

443
            default configuration name catalogue service

444
         =================================================

445
    -->

446
  <bean name="nameCatalogueJsonConfig" class="eu.etaxonomy.cdm.remote.json.JsonConfigFactoryBean"

447
    init-method="init">

448
    <property name="jsonPropertyFilter">

449
        <bean class="net.sf.json.filters.OrPropertyFilter">

450
          <constructor-arg>

451
              <bean class="eu.etaxonomy.cdm.remote.json.util.InitializedHibernatePropertyFilter" />

452
          </constructor-arg>

453
          <constructor-arg ref="nameCatalogueApiCardinalityPropertyFilter">

454
          </constructor-arg>

455
        </bean>

456
    </property>

457
    <property name="jsonValueProcessors">

458
      <map>

459
        <entry key="org.hibernate.proxy.HibernateProxy">

460
          <bean

461
            class="eu.etaxonomy.cdm.remote.json.processor.value.HibernateJSONValueProcessor" />

462
        </entry>

463
        <entry key="java.util.UUID">

464
          <bean

465
            class="eu.etaxonomy.cdm.remote.json.processor.value.UUIDJSONValueProcessor" />

466
        </entry>

467
        <entry key="org.joda.time.DateTime">

468
          <bean

469
            class="eu.etaxonomy.cdm.remote.json.processor.value.DateTimeJSONValueProcessor" />

470
        </entry>

471
        <entry key="java.util.Calendar">

472
          <bean

473
            class="eu.etaxonomy.cdm.remote.json.processor.value.CalendarJSONValueProcessor" />

474
        </entry>

475
        <entry key="org.joda.time.Partial">

476
          <bean

477
            class="eu.etaxonomy.cdm.remote.json.processor.value.PartialJSONValueProcessor" />

478
        </entry>

479
        <entry key="java.util.Map">

480
            <bean class="eu.etaxonomy.cdm.remote.json.processor.value.MapJSONValueProcessor" />

481
        </entry>

482
          <entry key="java.net.URI">

483
              <bean class="eu.etaxonomy.cdm.remote.json.processor.value.URIJSONValueProcessor"/>

484
          </entry>

485

  
486
      </map>

487
    </property>

488
    <property name="ignoreDefaultExcludes" value="true" />

489
    <property name="excludes">

490
      <list value-type="java.lang.String">

491
        <value>class</value>

492
        <value>declaringClass</value><!-- DefaultExclude -->

493
        <value>metaClass</value><!-- DefaultExclude -->

494
        <value>id</value>

495
        <value>cacheStrategy</value>

496
        <value>createdBy</value>

497
        <value>updatedBy</value>

498
      </list>

499
    </property>

500
  </bean>

501

  
502
  <bean name="occurrenceCatalogueJsonConfig" class="eu.etaxonomy.cdm.remote.json.JsonConfigFactoryBean"

503
    init-method="init">

504
    <property name="jsonPropertyFilter">

505
        <bean class="net.sf.json.filters.OrPropertyFilter">

506
          <constructor-arg>

507
              <bean class="eu.etaxonomy.cdm.remote.json.util.InitializedHibernatePropertyFilter" />

508
          </constructor-arg>

509
          <constructor-arg ref="nameCatalogueApiCardinalityPropertyFilter">

510
          </constructor-arg>

511
        </bean>

512
    </property>

513
    <property name="jsonValueProcessors">

514
      <map>

515
        <entry key="org.hibernate.proxy.HibernateProxy">

516
          <bean

517
            class="eu.etaxonomy.cdm.remote.json.processor.value.HibernateJSONValueProcessor" />

518
        </entry>

519
        <entry key="java.util.UUID">

520
          <bean

521
            class="eu.etaxonomy.cdm.remote.json.processor.value.UUIDJSONValueProcessor" />

522
        </entry>

523
        <entry key="org.joda.time.DateTime">

524
          <bean

525
            class="eu.etaxonomy.cdm.remote.json.processor.value.DateTimeJSONValueProcessor" />

526
        </entry>

527
        <entry key="java.util.Calendar">

528
          <bean

529
            class="eu.etaxonomy.cdm.remote.json.processor.value.CalendarJSONValueProcessor" />

530
        </entry>

531
        <entry key="org.joda.time.Partial">

532
          <bean

533
            class="eu.etaxonomy.cdm.remote.json.processor.value.PartialJSONValueProcessor" />

534
        </entry>

535
        <entry key="java.util.Map">

536
            <bean class="eu.etaxonomy.cdm.remote.json.processor.value.MapJSONValueProcessor" />

537
        </entry>

538
          <entry key="java.net.URI">

539
              <bean class="eu.etaxonomy.cdm.remote.json.processor.value.URIJSONValueProcessor"/>

540
          </entry>

541

  
542
      </map>

543
    </property>

544
    <property name="ignoreDefaultExcludes" value="true" />

545
    <property name="excludes">

546
      <list value-type="java.lang.String">

547
        <value>class</value>

548
        <value>declaringClass</value><!-- DefaultExclude -->

549
        <value>metaClass</value><!-- DefaultExclude -->

550
        <value>id</value>

551
        <value>cacheStrategy</value>

552
        <value>createdBy</value>

553
        <value>updatedBy</value>

554
      </list>

555
    </property>

556
  </bean>

557

  
558

  
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-2.5.xsd
7
    http://www.springframework.org/schema/context   http://www.springframework.org/schema/context/spring-context-2.5.xsd
8
    http://www.springframework.org/schema/tx   http://www.springframework.org/schema/tx/spring-tx-2.5.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>FeatureTree.root</value>
25
             <value>FeatureNode.children</value>
26
             <value>FeatureNode.feature</value>
27

  
28
             <value>TreeNode.data</value>
29
             <value>TreeNode.data</value>
30

  
31
             <value>PolytomousKey.root</value>
32
             <value>PolytomousKeyNode.children</value>
33
             <value>PolytomousKeyNode.question</value>
34
             <value>PolytomousKeyNode.feature</value>
35
             <value>PolytomousKeyNode.statement</value>
36
             <value>PolytomousKeyNode.modifyingText</value>
37

  
38
             <value>LinkedPolytomousKeyNodeRowDto.childStatement</value>
39
             <value>LinkedPolytomousKeyNodeRowDto.rowQuestion</value>
40
             <value>LinkedPolytomousKeyNodeRowDto.rowFeature</value>
41
             <!-- value>LinkedPolytomousKeyNodeRowDto.keyNode</value-->
42

  
43
             <value>Media.representations</value>
44
             <value>MediaRepresentation.parts</value>
45

  
46
             <value>Sequence.marker</value>
47
             <value>Sequence.genBankAccessionNumber</value>
48
             <value>Sequence.genBankUri</value>
49

  
50
             <value>Annotation.annotationType</value>
51
             <value>Marker.markerType</value>
52

  
53
             <value>DerivationEvent.derivatives</value>
54
             <value>DerivationEvent.originals</value>
55

  
56
             <value>Point.referenceSystem</value>
57

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

  
61
             <value>Synonym.sec</value>
62
             <value>Taxon.sec</value>
63

  
64
             <value>StateData.state</value>
65
             <value>StateData.modifiers</value>
66
             <value>StateData.modifyingText</value>
67

  
68
             <value>TextData.feature</value>
69
             <value>CategoricalData.feature</value>
70
             <value>CommonTaxonName.feature</value>
71
             <value>Distribution.feature</value>
72
             <value>IndividualsAssociation.feature</value>
73
             <value>QuantitativeData.feature</value>
74
             <value>TaxonInteraction.feature</value>
75
             <value>TextData.feature</value>
76
             <value>IdentifiableSource.citation</value>
77

  
78
             <value>SearchResult.entity</value>
79
         </set>
80
       </property>
81
     </bean>
82

  
83
     <bean id="nameCatalogueApiCardinalityPropertyFilter" class="eu.etaxonomy.cdm.remote.json.util.CardinalityPropertyFilter">
84
       <property name="includeToOneRelations" value="true" />
85
       <property name="includeToManyRelations" value="true" />
86
       <property name="exceptions">
87
         <set>
88
         </set>
89
       </property>
90
     </bean>
91

  
92
  <!--
93
         =================================================
94
            default configuration for RESTful read(/write) service
95
         =================================================
96
    -->
97
  <bean name="jsonConfig" class="eu.etaxonomy.cdm.remote.json.JsonConfigFactoryBean"
98
    init-method="init">
99
    <property name="jsonBeanProcessorMatcher">
100
      <bean
101
        class="eu.etaxonomy.cdm.remote.json.processor.matcher.CdmProxyBeanProcessorMatcher" />
102
    </property>
103
    <property name="jsonBeanProcessors">
104
      <map>
105
      <entry key="org.hibernate.proxy.HibernateProxy">
106
        <bean class="eu.etaxonomy.cdm.remote.json.processor.bean.HibernateProxyBeanProcessor" />
107
      </entry>
108
      <entry key="eu.etaxonomy.cdm.model.common.TermBase">
109
        <bean class="eu.etaxonomy.cdm.remote.json.processor.bean.TermBaseBeanProcessor">
110
           <property name="excludes">
111
             <set value-type="java.lang.String">
112
                 <value>partOf</value><!-- FIXME exclude partOf to avoid  lazy loading exceptions  -->
113
                 <value>kindOf</value><!-- FIXME exclude kindOf to avoid  lazy loading exceptions  -->
114
                 <value>infraGenericMarker</value><!-- FIXME leads to IllegalStateException if not excluded  -->
115
             </set>
116
          </property>
117
        </bean>
118
        </entry>
119
        <entry key="eu.etaxonomy.cdm.model.taxon.TaxonNode">
120
          <bean class="eu.etaxonomy.cdm.remote.json.processor.bean.TaxonNodeBeanProcessor" />
121
        </entry>
122
        <entry key="eu.etaxonomy.cdm.model.reference.Reference">
123
            <bean class="eu.etaxonomy.cdm.remote.json.processor.bean.ReferenceBaseBeanProcessor"/>
124
        </entry>
125
        <entry key="eu.etaxonomy.cdm.model.name.TaxonNameBase">
126
          <bean
127
            class="eu.etaxonomy.cdm.remote.json.processor.bean.TaxonNameBaseBeanProcessor">
128
            <property name="skipTaggedName" value="true" />
129
          </bean>
130
        </entry>
131
        <entry key="eu.etaxonomy.cdm.model.name.TypeDesignationBase">
132
          <bean class="eu.etaxonomy.cdm.remote.json.processor.bean.TypeDesignationBaseBeanProcessor"/>
133
        </entry>
134
        <entry key="eu.etaxonomy.cdm.model.description.KeyStatement">
135
            <bean class="eu.etaxonomy.cdm.remote.json.processor.bean.KeyStatementBeanProcessor" />
136
        </entry>
137
        <entry key="eu.etaxonomy.cdm.model.agent.TeamOrPersonBase">
138
            <bean class="eu.etaxonomy.cdm.remote.json.processor.bean.TeamOrPersonBaseBeanProcessor" />
139
        </entry>
140
        <entry key="eu.etaxonomy.cdm.model.description.DescriptionElementBase">
141
            <bean class="eu.etaxonomy.cdm.remote.json.processor.bean.DescriptionElementBeanProcessor" />
142
        </entry>
143
        <entry key="eu.etaxonomy.cdm.model.description.StateData">
144
            <bean class="eu.etaxonomy.cdm.remote.json.processor.bean.StateDataBeanProcessor" />
145
        </entry>
146
        <entry key="org.apache.lucene.document.Document">
147
            <bean class="eu.etaxonomy.cdm.remote.json.processor.bean.LuceneDocumentBeanProcessor" />
148
        </entry>
149
      </map>
150
    </property>
151
    <property name="jsonPropertyFilter">
152
        <bean class="net.sf.json.filters.OrPropertyFilter">
153
          <constructor-arg>
154
              <bean class="eu.etaxonomy.cdm.remote.json.util.InitializedHibernatePropertyFilter" />
155
          </constructor-arg>
156
          <constructor-arg ref="genericApiCardinalityPropertyFilter">
157
          </constructor-arg>
158
        </bean>
159
    </property>
160
    <property name="jsonValueProcessors">
161
      <map>
162
        <entry key="org.hibernate.proxy.HibernateProxy">
163
          <bean
164
            class="eu.etaxonomy.cdm.remote.json.processor.value.HibernateJSONValueProcessor" />
165
        </entry>
166
        <entry key="java.util.UUID">
167
          <bean
168
            class="eu.etaxonomy.cdm.remote.json.processor.value.UUIDJSONValueProcessor" />
169
        </entry>
170
        <entry key="org.joda.time.DateTime">
171
          <bean
172
            class="eu.etaxonomy.cdm.remote.json.processor.value.DateTimeJSONValueProcessor" />
173
        </entry>
174
        <entry key="java.util.Calendar">
175
          <bean
176
            class="eu.etaxonomy.cdm.remote.json.processor.value.CalendarJSONValueProcessor" />
177
        </entry>
178
        <entry key="org.joda.time.Partial">
179
          <bean
180
            class="eu.etaxonomy.cdm.remote.json.processor.value.PartialJSONValueProcessor" />
181
        </entry>
182
        <entry key="java.lang.Class">
183
          <bean
184
            class="eu.etaxonomy.cdm.remote.json.processor.value.ClassJSONValueProcessor" />
185
        </entry>
186
        <entry key="java.util.Map">
187
            <bean class="eu.etaxonomy.cdm.remote.json.processor.value.MapJSONValueProcessor" />
188
        </entry>
189
          <entry key="java.net.URI">
190
              <bean class="eu.etaxonomy.cdm.remote.json.processor.value.URIJSONValueProcessor"/>
191
          </entry>
192
      </map>
193
    </property>
194
    <property name="ignoreDefaultExcludes" value="true" />
195
    <property name="excludes">
196
      <list value-type="java.lang.String">
197
        <value>declaringClass</value><!-- DefaultExclude -->
198
        <value>metaClass</value><!-- DefaultExclude -->
199
        <value>id</value>
200
        <value>cacheStrategy</value>
201
        <value>createdBy</value>
202
        <value>updatedBy</value>
203
      </list>
204
    </property>
205
  </bean>
206

  
207
  <!--
208
         =================================================
209
            configuration for RESTful classification service
210
         =================================================
211
    -->
212
  <bean name="jsonConfigClassification" class="eu.etaxonomy.cdm.remote.json.JsonConfigFactoryBean"
213
    init-method="init">
214
    <property name="jsonBeanProcessorMatcher">
215
      <bean
216
        class="eu.etaxonomy.cdm.remote.json.processor.matcher.HibernateProxyBeanProcessorMatcher" />
217
    </property>
218
    <property name="jsonBeanProcessors">
219
      <map>
220
        <entry key="org.hibernate.proxy.HibernateProxy">
221
          <bean
222
            class="eu.etaxonomy.cdm.remote.json.processor.bean.HibernateProxyBeanProcessor" />
223
        </entry>
224
        <entry key="eu.etaxonomy.cdm.model.taxon.TaxonNode">
225
          <bean
226
            class="eu.etaxonomy.cdm.remote.json.processor.bean.TaxonNodeDaoBeanProcessor" />
227
        </entry>
228
      </map>
229
    </property>
230
    <property name="jsonPropertyFilter">
231
      <bean class="net.sf.json.filters.OrPropertyFilter">
232
        <constructor-arg>
233
            <bean class="eu.etaxonomy.cdm.remote.json.util.InitializedHibernatePropertyFilter" />
234
        </constructor-arg>
235
        <constructor-arg ref="genericApiCardinalityPropertyFilter">
236
        </constructor-arg>
237
      </bean>
238
    </property>
239
    <property name="jsonValueProcessors">
240
      <map>
241
        <entry key="org.hibernate.proxy.HibernateProxy">
242
          <bean
243
            class="eu.etaxonomy.cdm.remote.json.processor.value.HibernateJSONValueProcessor" />
244
        </entry>
245
        <entry key="java.util.UUID">
246
          <bean
247
            class="eu.etaxonomy.cdm.remote.json.processor.value.UUIDJSONValueProcessor" />
248
        </entry>
249
        <entry key="org.joda.time.DateTime">
250
          <bean
251
            class="eu.etaxonomy.cdm.remote.json.processor.value.DateTimeJSONValueProcessor" />
252
        </entry>
253
        <entry key="java.util.Calendar">
254
          <bean
255
            class="eu.etaxonomy.cdm.remote.json.processor.value.CalendarJSONValueProcessor" />
256
        </entry>
257
        <entry key="org.joda.time.Partial">
258
          <bean
259
            class="eu.etaxonomy.cdm.remote.json.processor.value.PartialJSONValueProcessor" />
260
        </entry>
261
        <entry key="java.lang.Class">
262
          <bean
263
            class="eu.etaxonomy.cdm.remote.json.processor.value.ClassJSONValueProcessor" />
264
        </entry>
265
        <entry key="java.util.Map">
266
            <bean class="eu.etaxonomy.cdm.remote.json.processor.value.MapJSONValueProcessor" />
267
        </entry>
268
        <entry key="java.net.URI">
269
            <bean class="eu.etaxonomy.cdm.remote.json.processor.value.URIJSONValueProcessor"/>
270
        </entry>
271
      </map>
272
    </property>
273
    <property name="ignoreDefaultExcludes" value="true" />
274
    <property name="excludes">
275
      <list value-type="java.lang.String">
276
        <value>declaringClass</value><!-- DefaultExclude -->
277
        <value>metaClass</value><!-- DefaultExclude -->
278
        <value>id</value>
279
        <value>cacheStrategy</value>
280
        <value>createdBy</value>
281
        <value>updatedBy</value>
282
      </list>
283
    </property>
284
  </bean>
285

  
286
  <!--
287
       =================================================
288
         configuration for RESTful portal service
289
       =================================================
290
  -->
291

  
292
  <bean name="jsonConfigPortal" class="eu.etaxonomy.cdm.remote.json.JsonConfigFactoryBean"
293
    init-method="init">
294
    <property name="jsonBeanProcessorMatcher">
295
      <bean
296
        class="eu.etaxonomy.cdm.remote.json.processor.matcher.CdmProxyBeanProcessorMatcher" />
297
    </property>
298
    <property name="jsonBeanProcessors">
299
      <map>
300
        <entry key="org.hibernate.proxy.HibernateProxy">
301
          <bean
302
            class="eu.etaxonomy.cdm.remote.json.processor.bean.HibernateProxyBeanProcessor" />
303
        </entry>
304
        <entry key="eu.etaxonomy.cdm.model.taxon.TaxonBase">
305
          <bean class="eu.etaxonomy.cdm.remote.json.processor.bean.TaxonBaseBeanProcessor" />
306
        </entry>
307
        <entry key="eu.etaxonomy.cdm.model.name.TaxonNameBase">
308
          <bean
309
            class="eu.etaxonomy.cdm.remote.json.processor.bean.TaxonNameBaseBeanProcessor" />
310
        </entry>
311
        <entry key="eu.etaxonomy.cdm.model.name.NameRelationship">
312
          <bean
313
            class="eu.etaxonomy.cdm.remote.json.processor.bean.NameRelationshipBeanProcessor" />
314
        </entry>
315
        <entry key="eu.etaxonomy.cdm.model.taxon.TaxonRelationship">
316
          <bean
317
            class="eu.etaxonomy.cdm.remote.json.processor.bean.TaxonRelationshipBeanProcessor" />
318
        </entry>
319
        <entry key="eu.etaxonomy.cdm.model.common.TermBase">
320
          <bean
321
            class="eu.etaxonomy.cdm.remote.json.processor.bean.TermBaseBeanProcessor">
322
            <property name="replaceRepresentations" value="true" />
323
            <property name="excludes">
324
                <set value-type="java.lang.String">
325
                  <value>infraGenericMarker</value><!-- FIXME leads to IllegalStateException if not excluded  -->
326
                  <value>partOf</value><!-- DefinedTermBase -->
327
                  <value>kindOf</value><!-- DefinedTermBase -->
328
                  <value>includes</value><!-- DefinedTermBase -->
329
                  <value>generalizationOf</value><!-- DefinedTermBase -->
330
                  <value>vocabulary</value><!-- DefinedTermBase -->
331
                  <!--
332
                      FIXME must exclude partOf, kindOf, includes, generalizationOf .. to
333
                      avoid class cast or lazy loading exceptions in TDWG Areas
334
                  -->
335
                </set>
336
            </property>
337
          </bean>
338
        </entry>
339
        <entry key="eu.etaxonomy.cdm.model.media.Media">
340
          <bean class="eu.etaxonomy.cdm.remote.json.processor.bean.MediaBeanProcessor">
341
            <property name="replaceTitle" value="true" />
342
            <property name="replaceDescription" value="true" />
343
          </bean>
344
        </entry>
345
        <entry key="eu.etaxonomy.cdm.model.reference.Reference">
346
          <bean class="eu.etaxonomy.cdm.remote.json.processor.bean.ReferenceBaseBeanProcessor"/>
347
        </entry>
348
        <entry key="eu.etaxonomy.cdm.model.description.TaxonNameDescription">
349
          <bean class="eu.etaxonomy.cdm.remote.json.processor.bean.TaxonNameDescriptionBeanProcessor">
350
              <property name="excludes">
351
                <set value-type="java.lang.String">
352
                  <value>taxonName</value>
353
                </set>
354
              </property>
355
          </bean>
356
        </entry>
357
        <entry key="eu.etaxonomy.cdm.api.facade.DerivedUnitFacade">
358
          <bean class="eu.etaxonomy.cdm.remote.json.processor.bean.DerivedUnitFacadeBeanProcessor"/>
359
        </entry>
360
        <entry key="eu.etaxonomy.cdm.model.location.Point">
361
          <bean class="eu.etaxonomy.cdm.remote.json.processor.bean.PointBeanProcessor"/>
362
        </entry>
363
        <entry key="eu.etaxonomy.cdm.model.agent.TeamOrPersonBase">
364
          <bean class="eu.etaxonomy.cdm.remote.json.processor.bean.TeamOrPersonBaseBeanProcessor" />
365
        </entry>
366
        <entry key="org.apache.lucene.document.Document">
367
            <bean class="eu.etaxonomy.cdm.remote.json.processor.bean.LuceneDocumentBeanProcessor" />
368
        </entry>
369
        <entry key="eu.etaxonomy.cdm.common.TreeNode">
370
            <bean class="eu.etaxonomy.cdm.remote.json.processor.bean.TreeNodeBeanProcessor" />
371
        </entry>
372
        <entry key="eu.etaxonomy.cdm.model.description.DescriptionElementBase">
373
            <bean class="eu.etaxonomy.cdm.remote.json.processor.bean.DescriptionElementBeanProcessor">
374
                <property name="replaceMultilanguageText" value="true" />
375
            </bean>
376
        </entry>
377
        <entry key="eu.etaxonomy.cdm.model.description.StateData">
378
            <bean class="eu.etaxonomy.cdm.remote.json.processor.bean.StateDataBeanProcessor">
379
                <property name="replaceMultilanguageText" value="true" />
380
            </bean>
381
        </entry>
382
      </map>
383
    </property>
384
        <property name="jsonPropertyFilter">
385
            <bean class="eu.etaxonomy.cdm.remote.json.util.InitializedHibernatePropertyFilter" />
386
        </property>
387
    <property name="jsonValueProcessors">
388
      <map>
389
        <entry key="org.hibernate.proxy.HibernateProxy">
390
          <bean
391
            class="eu.etaxonomy.cdm.remote.json.processor.value.HibernateJSONValueProcessor" />
392
        </entry>
393
        <entry key="java.util.UUID">
394
          <bean
395
            class="eu.etaxonomy.cdm.remote.json.processor.value.UUIDJSONValueProcessor" />
396
        </entry>
397
        <entry key="org.joda.time.DateTime">
398
          <bean
399
            class="eu.etaxonomy.cdm.remote.json.processor.value.DateTimeJSONValueProcessor" />
400
        </entry>
401
        <entry key="java.util.Calendar">
402
          <bean
403
            class="eu.etaxonomy.cdm.remote.json.processor.value.CalendarJSONValueProcessor" />
404
        </entry>
405
        <entry key="org.joda.time.Partial">
406
          <bean
407
            class="eu.etaxonomy.cdm.remote.json.processor.value.PartialJSONValueProcessor" />
408
        </entry>
409
        <entry key="java.lang.Class">
410
          <bean
411
            class="eu.etaxonomy.cdm.remote.json.processor.value.ClassJSONValueProcessor" />
412
        </entry>
413
        <entry key="java.util.Map">
414
            <bean class="eu.etaxonomy.cdm.remote.json.processor.value.MapJSONValueProcessor" />
415
        </entry>
416
        <entry key="java.net.URI">
417
            <bean class="eu.etaxonomy.cdm.remote.json.processor.value.URIJSONValueProcessor"/>
418
        </entry>
419
      </map>
420
    </property>
421
    <property name="ignoreDefaultExcludes" value="true" />
422
    <property name="excludes">
423
      <list value-type="java.lang.String">
424
        <value>declaringClass</value><!-- DefaultExclude -->
425
        <value>metaClass</value><!-- DefaultExclude -->
426
        <value>id</value>
427
        <!--
428
            commented out,
429
            see  #3347 (services and REST service controller for molecular classes implemented)
430
        <value>annotations</value>
431
        <value>markers</value>
432
        -->
433
        <value>cacheStrategy</value>
434
        <value>createdBy</value>
435
        <value>updatedBy</value>
436
        <value>inDescription</value>
437
      </list>
438
    </property>
439
  </bean>
440

  
441
   <!--
442
         =================================================
443
            default configuration name catalogue service
444
         =================================================
445
    -->
446
  <bean name="nameCatalogueJsonConfig" class="eu.etaxonomy.cdm.remote.json.JsonConfigFactoryBean"
447
    init-method="init">
448
    <property name="jsonPropertyFilter">
449
        <bean class="net.sf.json.filters.OrPropertyFilter">
450
          <constructor-arg>
451
              <bean class="eu.etaxonomy.cdm.remote.json.util.InitializedHibernatePropertyFilter" />
452
          </constructor-arg>
453
          <constructor-arg ref="nameCatalogueApiCardinalityPropertyFilter">
454
          </constructor-arg>
455
        </bean>
456
    </property>
457
    <property name="jsonValueProcessors">
458
      <map>
459
        <entry key="org.hibernate.proxy.HibernateProxy">
460
          <bean
461
            class="eu.etaxonomy.cdm.remote.json.processor.value.HibernateJSONValueProcessor" />
462
        </entry>
463
        <entry key="java.util.UUID">
464
          <bean
465
            class="eu.etaxonomy.cdm.remote.json.processor.value.UUIDJSONValueProcessor" />
466
        </entry>
467
        <entry key="org.joda.time.DateTime">
468
          <bean
469
            class="eu.etaxonomy.cdm.remote.json.processor.value.DateTimeJSONValueProcessor" />
470
        </entry>
471
        <entry key="java.util.Calendar">
472
          <bean
473
            class="eu.etaxonomy.cdm.remote.json.processor.value.CalendarJSONValueProcessor" />
474
        </entry>
475
        <entry key="org.joda.time.Partial">
476
          <bean
477
            class="eu.etaxonomy.cdm.remote.json.processor.value.PartialJSONValueProcessor" />
478
        </entry>
479
        <entry key="java.util.Map">
480
            <bean class="eu.etaxonomy.cdm.remote.json.processor.value.MapJSONValueProcessor" />
481
        </entry>
482
          <entry key="java.net.URI">
483
              <bean class="eu.etaxonomy.cdm.remote.json.processor.value.URIJSONValueProcessor"/>
484
          </entry>
485

  
486
      </map>
487
    </property>
488
    <property name="ignoreDefaultExcludes" value="true" />
489
    <property name="excludes">
490
      <list value-type="java.lang.String">
491
        <value>class</value>
492
        <value>declaringClass</value><!-- DefaultExclude -->
493
        <value>metaClass</value><!-- DefaultExclude -->
494
        <value>id</value>
495
        <value>cacheStrategy</value>
496
        <value>createdBy</value>
497
        <value>updatedBy</value>
498
      </list>
499
    </property>
500
  </bean>
501

  
502
  <bean name="occurrenceCatalogueJsonConfig" class="eu.etaxonomy.cdm.remote.json.JsonConfigFactoryBean"
503
    init-method="init">
504
    <property name="jsonPropertyFilter">
505
        <bean class="net.sf.json.filters.OrPropertyFilter">
506
          <constructor-arg>
507
              <bean class="eu.etaxonomy.cdm.remote.json.util.InitializedHibernatePropertyFilter" />
508
          </constructor-arg>
509
          <constructor-arg ref="nameCatalogueApiCardinalityPropertyFilter">
510
          </constructor-arg>
511
        </bean>
512
    </property>
513
    <property name="jsonValueProcessors">
514
      <map>
515
        <entry key="org.hibernate.proxy.HibernateProxy">
516
          <bean
517
            class="eu.etaxonomy.cdm.remote.json.processor.value.HibernateJSONValueProcessor" />
518
        </entry>
519
        <entry key="java.util.UUID">
520
          <bean
521
            class="eu.etaxonomy.cdm.remote.json.processor.value.UUIDJSONValueProcessor" />
522
        </entry>
523
        <entry key="org.joda.time.DateTime">
524
          <bean
525
            class="eu.etaxonomy.cdm.remote.json.processor.value.DateTimeJSONValueProcessor" />
526
        </entry>
527
        <entry key="java.util.Calendar">
528
          <bean
529
            class="eu.etaxonomy.cdm.remote.json.processor.value.CalendarJSONValueProcessor" />
530
        </entry>
531
        <entry key="org.joda.time.Partial">
532
          <bean
533
            class="eu.etaxonomy.cdm.remote.json.processor.value.PartialJSONValueProcessor" />
534
        </entry>
535
        <entry key="java.util.Map">
536
            <bean class="eu.etaxonomy.cdm.remote.json.processor.value.MapJSONValueProcessor" />
537
        </entry>
538
          <entry key="java.net.URI">
539
              <bean class="eu.etaxonomy.cdm.remote.json.processor.value.URIJSONValueProcessor"/>
540
          </entry>
541

  
542
      </map>
543
    </property>
544
    <property name="ignoreDefaultExcludes" value="true" />
545
    <property name="excludes">
546
      <list value-type="java.lang.String">
547
        <value>class</value>
548
        <value>declaringClass</value><!-- DefaultExclude -->
549
        <value>metaClass</value><!-- DefaultExclude -->
550
        <value>id</value>
551
        <value>cacheStrategy</value>
552
        <value>createdBy</value>
553
        <value>updatedBy</value>
554
      </list>
555
    </property>
556
  </bean>
557

  
558

  
559 559
</beans>

Also available in: Unified diff