dcece96cc340aa68e1492ff4254ecb51a9697779
[cdmlib.git] / cdmlib-remote / src / main / java / eu / etaxonomy / cdm / remote / json / processor / bean / DerivedUnitFacadeBeanProcessor.java
1 // $Id$
2 /**
3 * Copyright (C) 2009 EDIT
4 * European Distributed Institute of Taxonomy
5 * http://www.e-taxonomy.eu
6 *
7 * The contents of this file are subject to the Mozilla Public License Version 1.1
8 * See LICENSE.TXT at the top of this package for the full license terms.
9 */
10 package eu.etaxonomy.cdm.remote.json.processor.bean;
11
12 import java.util.List;
13
14 import org.hibernate.Hibernate;
15
16 import net.sf.json.JSONObject;
17 import net.sf.json.JsonConfig;
18 import eu.etaxonomy.cdm.api.facade.DerivedUnitFacade;
19 import eu.etaxonomy.cdm.api.facade.MethodNotSupportedByDerivedUnitTypeException;
20 import eu.etaxonomy.cdm.model.common.Language;
21 import eu.etaxonomy.cdm.model.location.NamedArea;
22 import eu.etaxonomy.cdm.remote.l10n.LocaleContext;
23
24 /**
25 * @author a.kohlbecker
26 * @date 18.10.2010
27 *
28 */
29 public class DerivedUnitFacadeBeanProcessor extends AbstractBeanProcessor<DerivedUnitFacade> {
30
31 /* (non-Javadoc)
32 * @see eu.etaxonomy.cdm.remote.json.processor.bean.AbstractCdmBeanProcessor#getIgnorePropNames()
33 */
34 @Override
35 public List<String> getIgnorePropNames() {
36 return null;
37 }
38
39 /* (non-Javadoc)
40 * @see eu.etaxonomy.cdm.remote.json.processor.bean.AbstractBeanProcessor#processBeanSecondStep(java.lang.Object, net.sf.json.JSONObject, net.sf.json.JsonConfig)
41 */
42 @Override
43 public JSONObject processBeanSecondStep(DerivedUnitFacade bean,
44 JSONObject json, JsonConfig jsonConfig) {
45
46 List<Language> languages = LocaleContext.getLanguages();
47
48 if(Hibernate.isInitialized(bean.getGatheringEvent())){
49 // TODO is this needed? addJsonElement(json, jsonConfig, "gatheringEvent", bean.getGatheringEvent());
50 addJsonElement(json, jsonConfig, "country",bean.getCountry());
51 addJsonElement(json, jsonConfig, "collectingAreas", bean.getCollectingAreas());
52 addJsonElement(json, jsonConfig, "absoluteElevation", bean.getAbsoluteElevation());
53 addJsonElement(json, jsonConfig, "absoluteElevationError", bean.getAbsoluteElevationError());
54 addJsonElement(json, jsonConfig, "absoluteElevationMinimum", bean.getAbsoluteElevationMinimum());
55 addJsonElement(json, jsonConfig, "absoluteElevationMaximum", bean.getAbsoluteElevationMaximum());
56 addJsonElement(json, jsonConfig, "collector", bean.getCollector());
57 addJsonElement(json, jsonConfig, "collectingMethod", bean.getCollectingMethod());
58 addJsonElement(json, jsonConfig, "distanceToGround", bean.getDistanceToGround());
59 addJsonElement(json, jsonConfig, "distanceToWaterSurface", bean.getDistanceToWaterSurface());
60 addJsonElement(json, jsonConfig, "exactLocation", bean.getExactLocation());
61 addJsonElement(json, jsonConfig, "gatheringEventDescription", bean.getGatheringEventDescription());
62 addJsonElement(json, jsonConfig, "getGatheringPeriod", bean.getGatheringPeriod());
63 addJsonElement(json, jsonConfig, "locality", bean.getLocality());
64 //FIXME remove bean.getLocalityLanguage() from DUF : addJsonElement(json, jsonConfig, "localityLanguage", bean.getLocalityLanguage());
65 }
66
67 // FIXME: addJsonElement(json, jsonConfig, "ecology", bean.getEcology(languages));
68 addJsonElement(json, jsonConfig, "ecology", bean.getEcology());
69 // FIXME: addJsonElement(json, jsonConfig, "plantDescription", bean.getPlantDescription(languages));
70 addJsonElement(json, jsonConfig, "plantDescription", bean.getPlantDescription());
71
72 if(Hibernate.isInitialized(bean.getFieldObservation())){
73 // TODO is this needed? addJsonElement(json, jsonConfig, "fieldObservation", bean.getFieldObservation());
74 addJsonElement(json, jsonConfig, "fieldObjectMedia", bean.getFieldObjectMedia());
75 addJsonElement(json, jsonConfig, "fieldNumber", bean.getFieldNumber());
76 addJsonElement(json, jsonConfig, "fieldNotes", bean.getFieldNotes());
77 addJsonElement(json, jsonConfig, "individualCount", bean.getIndividualCount());
78 addJsonElement(json, jsonConfig, "lifeStage", bean.getLifeStage());
79 addJsonElement(json, jsonConfig, "sex", bean.getSex());
80 }
81
82 if(Hibernate.isInitialized(bean.getDerivedUnit())){
83 // TODO is this needed? addJsonElement(json, jsonConfig, "derivedUnit", bean.getDerivedUnit());
84 addJsonElement(json, jsonConfig, "derivedUnitDefinitions", bean.getDerivedUnitDefinitions());
85 addJsonElement(json, jsonConfig, "determinations", bean.getDeterminations());
86 addJsonElement(json, jsonConfig, "derivedUnitMedia", bean.getDerivedUnitMedia());
87 addJsonElement(json, jsonConfig, "accessionNumber", bean.getAccessionNumber());
88 addJsonElement(json, jsonConfig, "catalogNumber", bean.getCatalogNumber());
89 addJsonElement(json, jsonConfig, "barcode", bean.getBarcode());
90 try {
91 addJsonElement(json, jsonConfig, "preservationMethod", bean.getPreservationMethod());
92 } catch (MethodNotSupportedByDerivedUnitTypeException e) {
93 /* Skip - Only supported by specimen and fossils */
94 }
95 addJsonElement(json, jsonConfig, "storedUnder", bean.getStoredUnder());
96 addJsonElement(json, jsonConfig, "collectorsNumber", bean.getCollectorsNumber());
97 addJsonElement(json, jsonConfig, "exsiccatum", bean.getExsiccatum());
98 addJsonElement(json, jsonConfig, "sources", bean.getSources());
99 addJsonElement(json, jsonConfig, "collection", bean.getCollection());
100 if(Hibernate.isInitialized(bean.getDerivedUnit().getDerivedFrom().getDerivatives())){
101 addJsonElement(json, jsonConfig, "duplicates", bean.getDuplicates());
102 }
103 }
104
105
106
107 return json;
108 }
109
110
111 }