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
12 =================================================
13 default configuration for RESTful read(/write) service
14 =================================================
16 <bean name=
"jsonConfig" class=
"eu.etaxonomy.cdm.remote.json.JsonConfigFactoryBean"
18 <property name=
"jsonBeanProcessorMatcher">
20 class=
"eu.etaxonomy.cdm.remote.json.processor.matcher.CdmProxyBeanProcessorMatcher" />
22 <property name=
"jsonBeanProcessors">
24 <entry key=
"org.hibernate.proxy.HibernateProxy">
25 <bean class=
"eu.etaxonomy.cdm.remote.json.processor.bean.HibernateProxyBeanProcessor" />
27 <entry key=
"eu.etaxonomy.cdm.model.common.TermBase">
28 <bean class=
"eu.etaxonomy.cdm.remote.json.processor.bean.TermBaseBeanProcessor">
29 <property name=
"excludes">
30 <set value-type=
"java.lang.String">
31 <value>partOf
</value><!-- FIXME exclude partOf to avoid lazy loading exceptions -->
32 <value>infraGenericMarker
</value><!-- FIXME leads to IllegalStateException if not excluded -->
37 <entry key=
"eu.etaxonomy.cdm.model.description.TextData">
38 <bean class=
"eu.etaxonomy.cdm.remote.json.processor.bean.TextDataBeanProcessor" />
40 <entry key=
"eu.etaxonomy.cdm.model.taxon.TaxonNode">
41 <bean class=
"eu.etaxonomy.cdm.remote.json.processor.bean.TaxonNodeBeanProcessor" />
43 <entry key=
"eu.etaxonomy.cdm.model.reference.ReferenceBase">
44 <bean class=
"eu.etaxonomy.cdm.remote.json.processor.bean.ReferenceBaseBeanProcessor"/>
48 <property name=
"jsonPropertyFilter">
49 <bean class=
"net.sf.json.filters.OrPropertyFilter">
51 <bean class=
"eu.etaxonomy.cdm.remote.json.util.InitializedHibernatePropertyFilter" />
54 <bean class=
"eu.etaxonomy.cdm.remote.json.util.CardinalityPropertyFilter">
55 <property name=
"includeToOneRelations" value=
"false" />
56 <property name=
"includeToManyRelations" value=
"false" />
57 <property name=
"exceptions">
59 <value>FeatureTree.root
</value>
60 <value>FeatureNode.children
</value>
61 <value>FeatureNode.feature
</value>
62 <value>TreeNode.data
</value>
69 <property name=
"jsonValueProcessors">
71 <entry key=
"org.hibernate.proxy.HibernateProxy">
73 class=
"eu.etaxonomy.cdm.remote.json.processor.value.HibernateJSONValueProcessor" />
75 <entry key=
"java.util.UUID">
77 class=
"eu.etaxonomy.cdm.remote.json.processor.value.UUIDJSONValueProcessor" />
79 <entry key=
"org.joda.time.DateTime">
81 class=
"eu.etaxonomy.cdm.remote.json.processor.value.DateTimeJSONValueProcessor" />
83 <entry key=
"java.util.Calendar">
85 class=
"eu.etaxonomy.cdm.remote.json.processor.value.CalendarJSONValueProcessor" />
87 <entry key=
"org.joda.time.Partial">
89 class=
"eu.etaxonomy.cdm.remote.json.processor.value.PartialJSONValueProcessor" />
91 <entry key=
"java.lang.Class">
93 class=
"eu.etaxonomy.cdm.remote.json.processor.value.ClassJSONValueProcessor" />
95 <entry key=
"java.util.Map">
96 <bean class=
"eu.etaxonomy.cdm.remote.json.processor.value.MapJSONValueProcessor" />
100 <property name=
"ignoreDefaultExcludes" value=
"true" />
101 <property name=
"excludes">
102 <list value-type=
"java.lang.String">
103 <value>declaringClass
</value><!-- DefaultExclude -->
104 <value>metaClass
</value><!-- DefaultExclude -->
106 <value>cacheStrategy
</value>
112 =================================================
113 configuration for RESTful taxonomy service
114 =================================================
116 <bean name=
"jsonConfigTaxonomy" class=
"eu.etaxonomy.cdm.remote.json.JsonConfigFactoryBean"
118 <property name=
"jsonBeanProcessorMatcher">
120 class=
"eu.etaxonomy.cdm.remote.json.processor.matcher.HibernateProxyBeanProcessorMatcher" />
122 <property name=
"jsonBeanProcessors">
124 <entry key=
"org.hibernate.proxy.HibernateProxy">
126 class=
"eu.etaxonomy.cdm.remote.json.processor.bean.HibernateProxyBeanProcessor" />
128 <entry key=
"eu.etaxonomy.cdm.model.taxon.TaxonNode">
130 class=
"eu.etaxonomy.cdm.remote.json.processor.bean.TaxonNodeDaoBeanProcessor" />
134 <property name=
"jsonPropertyFilter">
135 <bean class=
"eu.etaxonomy.cdm.remote.json.util.InitializedHibernatePropertyFilter" />
137 <property name=
"jsonValueProcessors">
139 <entry key=
"org.hibernate.proxy.HibernateProxy">
141 class=
"eu.etaxonomy.cdm.remote.json.processor.value.HibernateJSONValueProcessor" />
143 <entry key=
"java.util.UUID">
145 class=
"eu.etaxonomy.cdm.remote.json.processor.value.UUIDJSONValueProcessor" />
147 <entry key=
"org.joda.time.DateTime">
149 class=
"eu.etaxonomy.cdm.remote.json.processor.value.DateTimeJSONValueProcessor" />
151 <entry key=
"java.util.Calendar">
153 class=
"eu.etaxonomy.cdm.remote.json.processor.value.CalendarJSONValueProcessor" />
155 <entry key=
"org.joda.time.Partial">
157 class=
"eu.etaxonomy.cdm.remote.json.processor.value.PartialJSONValueProcessor" />
159 <entry key=
"java.lang.Class">
161 class=
"eu.etaxonomy.cdm.remote.json.processor.value.ClassJSONValueProcessor" />
163 <entry key=
"java.util.Map">
164 <bean class=
"eu.etaxonomy.cdm.remote.json.processor.value.MapJSONValueProcessor" />
168 <property name=
"ignoreDefaultExcludes" value=
"true" />
169 <property name=
"excludes">
170 <list value-type=
"java.lang.String">
171 <value>declaringClass
</value><!-- DefaultExclude -->
172 <value>metaClass
</value><!-- DefaultExclude -->
174 <value>cacheStrategy
</value>
180 =================================================
181 configuration for RESTful portal service
182 =================================================
185 <bean name=
"jsonConfigPortal" class=
"eu.etaxonomy.cdm.remote.json.JsonConfigFactoryBean"
187 <property name=
"jsonBeanProcessorMatcher">
189 class=
"eu.etaxonomy.cdm.remote.json.processor.matcher.CdmProxyBeanProcessorMatcher" />
191 <property name=
"jsonBeanProcessors">
193 <entry key=
"org.hibernate.proxy.HibernateProxy">
195 class=
"eu.etaxonomy.cdm.remote.json.processor.bean.HibernateProxyBeanProcessor" />
197 <entry key=
"eu.etaxonomy.cdm.model.taxon.Taxon">
198 <bean class=
"eu.etaxonomy.cdm.remote.json.processor.bean.TaxonBeanProcessor" />
200 <entry key=
"eu.etaxonomy.cdm.model.name.TaxonNameBase">
202 class=
"eu.etaxonomy.cdm.remote.json.processor.bean.TaxonNameBaseBeanProcessor" />
204 <entry key=
"eu.etaxonomy.cdm.model.name.NameRelationship">
206 class=
"eu.etaxonomy.cdm.remote.json.processor.bean.NameRelationshipBeanProcessor" />
208 <entry key=
"eu.etaxonomy.cdm.model.taxon.TaxonRelationship">
210 class=
"eu.etaxonomy.cdm.remote.json.processor.bean.TaxonRelationshipBeanProcessor" />
212 <entry key=
"eu.etaxonomy.cdm.model.common.TermBase">
214 class=
"eu.etaxonomy.cdm.remote.json.processor.bean.TermBaseBeanProcessor">
215 <property name=
"replaceRepresentations" value=
"true" />
216 <property name=
"excludes">
217 <set value-type=
"java.lang.String">
218 <value>infraGenericMarker
</value><!-- FIXME leads to IllegalStateException if not excluded -->
219 <value>partOf
</value><!-- DefinedTermBase -->
220 <value>kindOf
</value><!-- DefinedTermBase -->
221 <value>includes
</value><!-- DefinedTermBase -->
222 <value>generalizationOf
</value><!-- DefinedTermBase -->
223 <value>vocabulary
</value><!-- DefinedTermBase -->
225 FIXME must exclude partOf, kindOf, includes, generalizationOf .. to
226 avoid class cast or lazy loading exceptions in TDWG Areas
232 <entry key=
"eu.etaxonomy.cdm.model.description.TextData">
234 class=
"eu.etaxonomy.cdm.remote.json.processor.bean.TextDataBeanProcessor">
235 <property name=
"replaceMultilanguageText" value=
"true" />
238 <entry key=
"eu.etaxonomy.cdm.model.media.Media">
239 <bean class=
"eu.etaxonomy.cdm.remote.json.processor.bean.MediaBeanProcessor">
240 <property name=
"replaceTitle" value=
"true" />
241 <property name=
"replaceDescription" value=
"true" />
244 <entry key=
"eu.etaxonomy.cdm.model.reference.ReferenceBase">
245 <bean class=
"eu.etaxonomy.cdm.remote.json.processor.bean.ReferenceBaseBeanProcessor"/>
249 <property name=
"jsonPropertyFilter">
250 <bean class=
"eu.etaxonomy.cdm.remote.json.util.InitializedHibernatePropertyFilter" />
252 <property name=
"jsonValueProcessors">
254 <entry key=
"org.hibernate.proxy.HibernateProxy">
256 class=
"eu.etaxonomy.cdm.remote.json.processor.value.HibernateJSONValueProcessor" />
258 <entry key=
"java.util.UUID">
260 class=
"eu.etaxonomy.cdm.remote.json.processor.value.UUIDJSONValueProcessor" />
262 <entry key=
"org.joda.time.DateTime">
264 class=
"eu.etaxonomy.cdm.remote.json.processor.value.DateTimeJSONValueProcessor" />
266 <entry key=
"java.util.Calendar">
268 class=
"eu.etaxonomy.cdm.remote.json.processor.value.CalendarJSONValueProcessor" />
270 <entry key=
"org.joda.time.Partial">
272 class=
"eu.etaxonomy.cdm.remote.json.processor.value.PartialJSONValueProcessor" />
274 <entry key=
"java.lang.Class">
276 class=
"eu.etaxonomy.cdm.remote.json.processor.value.ClassJSONValueProcessor" />
278 <entry key=
"java.util.Map">
279 <bean class=
"eu.etaxonomy.cdm.remote.json.processor.value.MapJSONValueProcessor" />
283 <property name=
"ignoreDefaultExcludes" value=
"true" />
284 <property name=
"excludes">
285 <list value-type=
"java.lang.String">
286 <value>declaringClass
</value><!-- DefaultExclude -->
287 <value>metaClass
</value><!-- DefaultExclude -->
289 <value>annotations
</value>
290 <value>cacheStrategy
</value>
291 <value>markers
</value>
293 <value>inDescription
</value>