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" />
30 <entry key=
"eu.etaxonomy.cdm.model.description.TextData">
31 <bean class=
"eu.etaxonomy.cdm.remote.json.processor.bean.TextDataBeanProcessor" />
33 <entry key=
"eu.etaxonomy.cdm.model.taxon.TaxonNode">
34 <bean class=
"eu.etaxonomy.cdm.remote.json.processor.bean.TaxonNodeBeanProcessor" />
36 <entry key=
"eu.etaxonomy.cdm.model.reference.ReferenceBase">
37 <bean class=
"eu.etaxonomy.cdm.remote.json.processor.bean.ReferenceBaseBeanProcessor"/>
41 <property name=
"jsonPropertyFilter">
42 <bean class=
"net.sf.json.filters.OrPropertyFilter">
44 <bean class=
"eu.etaxonomy.cdm.remote.json.util.InitializedHibernatePropertyFilter" />
47 <bean class=
"eu.etaxonomy.cdm.remote.json.util.CardinalityPropertyFilter">
48 <property name=
"includeToOneRelations" value=
"false" />
49 <property name=
"includeToManyRelations" value=
"false" />
50 <property name=
"exceptions">
52 <value>FeatureTree.root
</value>
53 <value>FeatureNode.children
</value>
54 <value>FeatureNode.feature
</value>
55 <value>TreeNode.data
</value>
62 <property name=
"jsonValueProcessors">
64 <entry key=
"org.hibernate.proxy.HibernateProxy">
66 class=
"eu.etaxonomy.cdm.remote.json.processor.value.HibernateJSONValueProcessor" />
68 <entry key=
"java.util.UUID">
70 class=
"eu.etaxonomy.cdm.remote.json.processor.value.UUIDJSONValueProcessor" />
72 <entry key=
"org.joda.time.DateTime">
74 class=
"eu.etaxonomy.cdm.remote.json.processor.value.DateTimeJSONValueProcessor" />
76 <entry key=
"java.util.Calendar">
78 class=
"eu.etaxonomy.cdm.remote.json.processor.value.CalendarJSONValueProcessor" />
80 <entry key=
"org.joda.time.Partial">
82 class=
"eu.etaxonomy.cdm.remote.json.processor.value.PartialJSONValueProcessor" />
84 <entry key=
"java.lang.Class">
86 class=
"eu.etaxonomy.cdm.remote.json.processor.value.ClassJSONValueProcessor" />
88 <entry key=
"java.util.Map">
89 <bean class=
"eu.etaxonomy.cdm.remote.json.processor.value.MapJSONValueProcessor" />
93 <property name=
"ignoreDefaultExcludes" value=
"true" />
94 <property name=
"excludes">
95 <list value-type=
"java.lang.String">
96 <value>declaringClass
</value><!-- DefaultExclude -->
97 <value>metaClass
</value><!-- DefaultExclude -->
99 <value>cacheStrategy
</value>
105 =================================================
106 configuration for RESTful taxonomy service
107 =================================================
109 <bean name=
"jsonConfigTaxonomy" class=
"eu.etaxonomy.cdm.remote.json.JsonConfigFactoryBean"
111 <property name=
"jsonBeanProcessorMatcher">
113 class=
"eu.etaxonomy.cdm.remote.json.processor.matcher.HibernateProxyBeanProcessorMatcher" />
115 <property name=
"jsonBeanProcessors">
117 <entry key=
"org.hibernate.proxy.HibernateProxy">
119 class=
"eu.etaxonomy.cdm.remote.json.processor.bean.HibernateProxyBeanProcessor" />
121 <entry key=
"eu.etaxonomy.cdm.model.taxon.TaxonNode">
123 class=
"eu.etaxonomy.cdm.remote.json.processor.bean.TaxonNodeDaoBeanProcessor" />
127 <property name=
"jsonPropertyFilter">
128 <bean class=
"eu.etaxonomy.cdm.remote.json.util.InitializedHibernatePropertyFilter" />
130 <property name=
"jsonValueProcessors">
132 <entry key=
"org.hibernate.proxy.HibernateProxy">
134 class=
"eu.etaxonomy.cdm.remote.json.processor.value.HibernateJSONValueProcessor" />
136 <entry key=
"java.util.UUID">
138 class=
"eu.etaxonomy.cdm.remote.json.processor.value.UUIDJSONValueProcessor" />
140 <entry key=
"org.joda.time.DateTime">
142 class=
"eu.etaxonomy.cdm.remote.json.processor.value.DateTimeJSONValueProcessor" />
144 <entry key=
"java.util.Calendar">
146 class=
"eu.etaxonomy.cdm.remote.json.processor.value.CalendarJSONValueProcessor" />
148 <entry key=
"org.joda.time.Partial">
150 class=
"eu.etaxonomy.cdm.remote.json.processor.value.PartialJSONValueProcessor" />
152 <entry key=
"java.lang.Class">
154 class=
"eu.etaxonomy.cdm.remote.json.processor.value.ClassJSONValueProcessor" />
156 <entry key=
"java.util.Map">
157 <bean class=
"eu.etaxonomy.cdm.remote.json.processor.value.MapJSONValueProcessor" />
161 <property name=
"ignoreDefaultExcludes" value=
"true" />
162 <property name=
"excludes">
163 <list value-type=
"java.lang.String">
164 <value>declaringClass
</value><!-- DefaultExclude -->
165 <value>metaClass
</value><!-- DefaultExclude -->
167 <value>cacheStrategy
</value>
173 =================================================
174 configuration for RESTful portal service
175 =================================================
178 <bean name=
"jsonConfigPortal" class=
"eu.etaxonomy.cdm.remote.json.JsonConfigFactoryBean"
180 <property name=
"jsonBeanProcessorMatcher">
182 class=
"eu.etaxonomy.cdm.remote.json.processor.matcher.CdmProxyBeanProcessorMatcher" />
184 <property name=
"jsonBeanProcessors">
186 <entry key=
"org.hibernate.proxy.HibernateProxy">
188 class=
"eu.etaxonomy.cdm.remote.json.processor.bean.HibernateProxyBeanProcessor" />
190 <entry key=
"eu.etaxonomy.cdm.model.taxon.Taxon">
191 <bean class=
"eu.etaxonomy.cdm.remote.json.processor.bean.TaxonBeanProcessor" />
193 <entry key=
"eu.etaxonomy.cdm.model.name.TaxonNameBase">
195 class=
"eu.etaxonomy.cdm.remote.json.processor.bean.TaxonNameBaseBeanProcessor" />
197 <entry key=
"eu.etaxonomy.cdm.model.name.NameRelationship">
199 class=
"eu.etaxonomy.cdm.remote.json.processor.bean.NameRelationshipBeanProcessor" />
201 <entry key=
"eu.etaxonomy.cdm.model.taxon.TaxonRelationship">
203 class=
"eu.etaxonomy.cdm.remote.json.processor.bean.TaxonRelationshipBeanProcessor" />
205 <entry key=
"eu.etaxonomy.cdm.model.common.TermBase">
207 class=
"eu.etaxonomy.cdm.remote.json.processor.bean.TermBaseBeanProcessor">
208 <property name=
"replaceRepresentations" value=
"true" />
211 <entry key=
"eu.etaxonomy.cdm.model.description.TextData">
213 class=
"eu.etaxonomy.cdm.remote.json.processor.bean.TextDataBeanProcessor">
214 <property name=
"replaceMultilanguageText" value=
"true" />
217 <entry key=
"eu.etaxonomy.cdm.model.media.Media">
218 <bean class=
"eu.etaxonomy.cdm.remote.json.processor.bean.MediaBeanProcessor">
219 <property name=
"replaceTitle" value=
"true" />
220 <property name=
"replaceDescription" value=
"true" />
223 <entry key=
"eu.etaxonomy.cdm.model.reference.ReferenceBase">
224 <bean class=
"eu.etaxonomy.cdm.remote.json.processor.bean.ReferenceBaseBeanProcessor"/>
228 <property name=
"jsonPropertyFilter">
229 <bean class=
"eu.etaxonomy.cdm.remote.json.util.InitializedHibernatePropertyFilter" />
231 <property name=
"jsonValueProcessors">
233 <entry key=
"org.hibernate.proxy.HibernateProxy">
235 class=
"eu.etaxonomy.cdm.remote.json.processor.value.HibernateJSONValueProcessor" />
237 <entry key=
"java.util.UUID">
239 class=
"eu.etaxonomy.cdm.remote.json.processor.value.UUIDJSONValueProcessor" />
241 <entry key=
"org.joda.time.DateTime">
243 class=
"eu.etaxonomy.cdm.remote.json.processor.value.DateTimeJSONValueProcessor" />
245 <entry key=
"java.util.Calendar">
247 class=
"eu.etaxonomy.cdm.remote.json.processor.value.CalendarJSONValueProcessor" />
249 <entry key=
"org.joda.time.Partial">
251 class=
"eu.etaxonomy.cdm.remote.json.processor.value.PartialJSONValueProcessor" />
253 <entry key=
"java.lang.Class">
255 class=
"eu.etaxonomy.cdm.remote.json.processor.value.ClassJSONValueProcessor" />
257 <entry key=
"java.util.Map">
258 <bean class=
"eu.etaxonomy.cdm.remote.json.processor.value.MapJSONValueProcessor" />
262 <property name=
"ignoreDefaultExcludes" value=
"true" />
263 <property name=
"excludes">
264 <list value-type=
"java.lang.String">
265 <value>declaringClass
</value><!-- DefaultExclude -->
266 <value>metaClass
</value><!-- DefaultExclude -->
268 <value>annotations
</value>
269 <value>cacheStrategy
</value>
270 <value>markers
</value>
272 FIXME must exclude partOf, kindOf, includes, generalizationOf .. to
273 avoid class cast or lazy loading exceptions in TDWG Areas
275 <value>partOf
</value>
276 <value>kindOf
</value>
277 <value>includes
</value>
278 <value>generalizationOf
</value>