3 * Copyright (C) 2009 EDIT
4 * European Distributed Institute of Taxonomy
5 * http://www.e-taxonomy.eu
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.
10 package eu
.etaxonomy
.cdm
.remote
.json
.processor
.bean
;
12 import java
.util
.List
;
14 import org
.hibernate
.Hibernate
;
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
;
25 * @author a.kohlbecker
29 public class DerivedUnitFacadeBeanProcessor
extends AbstractBeanProcessor
<DerivedUnitFacade
> {
32 * @see eu.etaxonomy.cdm.remote.json.processor.bean.AbstractCdmBeanProcessor#getIgnorePropNames()
35 public List
<String
> getIgnorePropNames() {
40 * @see eu.etaxonomy.cdm.remote.json.processor.bean.AbstractBeanProcessor#processBeanSecondStep(java.lang.Object, net.sf.json.JSONObject, net.sf.json.JsonConfig)
43 public JSONObject
processBeanSecondStep(DerivedUnitFacade bean
,
44 JSONObject json
, JsonConfig jsonConfig
) {
46 List
<Language
> languages
= LocaleContext
.getLanguages();
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());
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());
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());
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());
91 addJsonElement(json
, jsonConfig
, "preservationMethod", bean
.getPreservationMethod());
92 } catch (MethodNotSupportedByDerivedUnitTypeException e
) {
93 /* Skip - Only supported by specimen and fossils */
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());