5 package eu
.etaxonomy
.cdm
.remote
.json
.processor
.bean
;
7 import org
.apache
.log4j
.Logger
;
9 import eu
.etaxonomy
.cdm
.hibernate
.HibernateProxyHelper
;
10 import net
.sf
.json
.CycleSetAcess
;
11 import net
.sf
.json
.JSONObject
;
12 import net
.sf
.json
.JsonConfig
;
13 import net
.sf
.json
.processors
.JsonBeanProcessor
;
16 * @author a.kohlbecker
18 public class HibernateProxyBeanProcessor
extends CycleSetAcess
implements JsonBeanProcessor
{
20 public static final Logger logger
= Logger
.getLogger(HibernateProxyBeanProcessor
.class);
23 * @see net.sf.json.processors.JsonBeanProcessor#processBean(java.lang.Object, net.sf.json.JsonConfig)
25 public JSONObject
processBean(Object bean
, JsonConfig jsonConfig
) {
26 Object target
= HibernateProxyHelper
.deproxy(bean
, Object
.class);
27 if(logger
.isDebugEnabled()){
28 logger
.debug("deproxying object " + target
);
30 removeFromCycleSet(target
);
31 return JSONObject
.fromObject(target
, jsonConfig
);