Project

General

Profile

Download (5.14 KB) Statistics
| Branch: | Tag: | Revision:
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
			//new
57
			addJsonElement(json, jsonConfig, "absoluteElevationText", bean.absoluteElevationToString());
58
			
59
			addJsonElement(json, jsonConfig, "collector", bean.getCollector());
60
			addJsonElement(json, jsonConfig, "collectingMethod", bean.getCollectingMethod());
61
			addJsonElement(json, jsonConfig, "distanceToGround", bean.getDistanceToGround());
62
			addJsonElement(json, jsonConfig, "distanceToWaterSurface", bean.getDistanceToWaterSurface());
63
			addJsonElement(json, jsonConfig, "exactLocation", bean.getExactLocation());
64
			addJsonElement(json, jsonConfig, "gatheringEventDescription", bean.getGatheringEventDescription());
65
			addJsonElement(json, jsonConfig, "getGatheringPeriod", bean.getGatheringPeriod());
66
			addJsonElement(json, jsonConfig, "locality", bean.getLocality());
67
		}
68
				
69
// FIXME: addJsonElement(json, jsonConfig, "ecology", bean.getEcology(languages));
70
		addJsonElement(json, jsonConfig, "ecology", bean.getEcology());
71
// FIXME: addJsonElement(json, jsonConfig, "plantDescription", bean.getPlantDescription(languages));
72
		addJsonElement(json, jsonConfig, "plantDescription", bean.getPlantDescription());
73
		
74
		if(Hibernate.isInitialized(bean.innerFieldUnit())){
75
			addJsonElement(json, jsonConfig, "fieldObjectMedia", bean.getFieldObjectMedia());
76
			addJsonElement(json, jsonConfig, "fieldNumber", bean.getFieldNumber());			
77
			addJsonElement(json, jsonConfig, "fieldNotes", bean.getFieldNotes());			
78
			addJsonElement(json, jsonConfig, "individualCount", bean.getIndividualCount());			
79
			addJsonElement(json, jsonConfig, "lifeStage", bean.getLifeStage());			
80
			addJsonElement(json, jsonConfig, "sex", bean.getSex());			
81
		}
82
		
83
		if(Hibernate.isInitialized(bean.innerDerivedUnit())){	
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
			try {
98
				addJsonElement(json, jsonConfig, "exsiccatum", bean.getExsiccatum());
99
			} catch (MethodNotSupportedByDerivedUnitTypeException e) {
100
				/* Skip - Only supported by specimen and fossils */
101
			}
102
			addJsonElement(json, jsonConfig, "sources", bean.getSources());
103
			addJsonElement(json, jsonConfig, "collection", bean.getCollection());
104
			if(Hibernate.isInitialized(bean.innerDerivedUnit().getDerivedFrom().getDerivatives())){
105
				addJsonElement(json, jsonConfig, "duplicates", bean.getDuplicates());
106
			}
107
		}
108
		
109

    
110
		
111
		return json;
112
	}
113
	
114

    
115
}
(5-5/25)