clearer getters for DerivedUnitFacade + PointBeanProcessor
[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 net.sf.json.JSONObject;
15 import net.sf.json.JsonConfig;
16
17 import org.hibernate.Hibernate;
18
19 import eu.etaxonomy.cdm.api.facade.DerivedUnitFacade;
20 import eu.etaxonomy.cdm.api.facade.MethodNotSupportedByDerivedUnitTypeException;
21 import eu.etaxonomy.cdm.model.common.Language;
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.innerGatheringEvent())){
49
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 }
65
66 // FIXME: addJsonElement(json, jsonConfig, "ecology", bean.getEcology(languages));
67 addJsonElement(json, jsonConfig, "ecology", bean.getEcology());
68 // FIXME: addJsonElement(json, jsonConfig, "plantDescription", bean.getPlantDescription(languages));
69 addJsonElement(json, jsonConfig, "plantDescription", bean.getPlantDescription());
70
71 if(Hibernate.isInitialized(bean.innerFieldObservation())){
72 addJsonElement(json, jsonConfig, "fieldObjectMedia", bean.getFieldObjectMedia());
73 addJsonElement(json, jsonConfig, "fieldNumber", bean.getFieldNumber());
74 addJsonElement(json, jsonConfig, "fieldNotes", bean.getFieldNotes());
75 addJsonElement(json, jsonConfig, "individualCount", bean.getIndividualCount());
76 addJsonElement(json, jsonConfig, "lifeStage", bean.getLifeStage());
77 addJsonElement(json, jsonConfig, "sex", bean.getSex());
78 }
79
80 if(Hibernate.isInitialized(bean.innerDerivedUnit())){
81 addJsonElement(json, jsonConfig, "derivedUnitDefinitions", bean.getDerivedUnitDefinitions());
82 addJsonElement(json, jsonConfig, "determinations", bean.getDeterminations());
83 addJsonElement(json, jsonConfig, "derivedUnitMedia", bean.getDerivedUnitMedia());
84 addJsonElement(json, jsonConfig, "accessionNumber", bean.getAccessionNumber());
85 addJsonElement(json, jsonConfig, "catalogNumber", bean.getCatalogNumber());
86 addJsonElement(json, jsonConfig, "barcode", bean.getBarcode());
87 try {
88 addJsonElement(json, jsonConfig, "preservationMethod", bean.getPreservationMethod());
89 } catch (MethodNotSupportedByDerivedUnitTypeException e) {
90 /* Skip - Only supported by specimen and fossils */
91 }
92 addJsonElement(json, jsonConfig, "storedUnder", bean.getStoredUnder());
93 addJsonElement(json, jsonConfig, "collectorsNumber", bean.getCollectorsNumber());
94 addJsonElement(json, jsonConfig, "exsiccatum", bean.getExsiccatum());
95 addJsonElement(json, jsonConfig, "sources", bean.getSources());
96 addJsonElement(json, jsonConfig, "collection", bean.getCollection());
97 if(Hibernate.isInitialized(bean.innerDerivedUnit().getDerivedFrom().getDerivatives())){
98 addJsonElement(json, jsonConfig, "duplicates", bean.getDuplicates());
99 }
100 }
101
102
103
104 return json;
105 }
106
107
108 }