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