2 * Copyright (C) 2009 EDIT
3 * European Distributed Institute of Taxonomy
4 * http://www.e-taxonomy.eu
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.
9 package eu
.etaxonomy
.cdm
.remote
.json
.processor
.bean
;
11 import java
.util
.List
;
13 import net
.sf
.json
.JSONObject
;
14 import net
.sf
.json
.JsonConfig
;
16 import org
.hibernate
.Hibernate
;
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
;
24 * @author a.kohlbecker
28 public class DerivedUnitFacadeBeanProcessor
extends AbstractBeanProcessor
<DerivedUnitFacade
> {
31 * @see eu.etaxonomy.cdm.remote.json.processor.bean.AbstractCdmBeanProcessor#getIgnorePropNames()
34 public List
<String
> getIgnorePropNames() {
39 * @see eu.etaxonomy.cdm.remote.json.processor.bean.AbstractBeanProcessor#processBeanSecondStep(java.lang.Object, net.sf.json.JSONObject, net.sf.json.JsonConfig)
42 public JSONObject
processBeanSecondStep(DerivedUnitFacade bean
,
43 JSONObject json
, JsonConfig jsonConfig
) {
45 List
<Language
> languages
= LocaleContext
.getLanguages();
47 if(Hibernate
.isInitialized(bean
.innerGatheringEvent())){
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());
56 addJsonElement(json
, jsonConfig
, "absoluteElevationText", bean
.absoluteElevationToString());
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());
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());
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());
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());
90 addJsonElement(json
, jsonConfig
, "preservationMethod", bean
.getPreservationMethod());
91 } catch (MethodNotSupportedByDerivedUnitTypeException e
) {
92 /* Skip - Only supported by specimen and fossils */
94 addJsonElement(json
, jsonConfig
, "storedUnder", bean
.getStoredUnder());
95 // addJsonElement(json, jsonConfig, "collectorsNumber", bean.getCollectorsNumber());
97 addJsonElement(json
, jsonConfig
, "exsiccatum", bean
.getExsiccatum());
98 } catch (MethodNotSupportedByDerivedUnitTypeException e
) {
99 /* Skip - Only supported by specimen and fossils */
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());