Project

General

Profile

Download (5.98 KB) Statistics
| Branch: | Tag: | Revision:
1
/**
2
* Copyright (C) 2007 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

    
10
package eu.etaxonomy.cdm.test.function;
11

    
12
import java.util.Calendar;
13
import java.util.Set;
14

    
15
import javax.activation.MimeType;
16

    
17
import org.apache.log4j.Logger;
18

    
19
import eu.etaxonomy.cdm.model.agent.Agent;
20
import eu.etaxonomy.cdm.model.agent.Institution;
21
import eu.etaxonomy.cdm.model.agent.Person;
22
import eu.etaxonomy.cdm.model.common.Annotation;
23
import eu.etaxonomy.cdm.model.common.Language;
24
import eu.etaxonomy.cdm.model.common.OriginalSource;
25
import eu.etaxonomy.cdm.model.location.NamedArea;
26
import eu.etaxonomy.cdm.model.location.NamedAreaType;
27
import eu.etaxonomy.cdm.model.location.WaterbodyOrCountry;
28
import eu.etaxonomy.cdm.model.media.Media;
29
import eu.etaxonomy.cdm.model.media.MediaInstance;
30
import eu.etaxonomy.cdm.model.name.BotanicalName;
31
import eu.etaxonomy.cdm.model.occurrence.Collection;
32
import eu.etaxonomy.cdm.model.occurrence.DerivationEvent;
33
import eu.etaxonomy.cdm.model.occurrence.DerivationEventType;
34
import eu.etaxonomy.cdm.model.occurrence.DeterminationEvent;
35
import eu.etaxonomy.cdm.model.occurrence.FieldObservation;
36
import eu.etaxonomy.cdm.model.occurrence.GatheringEvent;
37
import eu.etaxonomy.cdm.model.occurrence.Observation;
38
import eu.etaxonomy.cdm.model.occurrence.Specimen;
39
import eu.etaxonomy.cdm.model.occurrence.SpecimenOrObservationBase;
40
import eu.etaxonomy.cdm.model.reference.Database;
41
import eu.etaxonomy.cdm.model.reference.ReferenceBase;
42
import eu.etaxonomy.cdm.model.taxon.Taxon;
43
import eu.etaxonomy.cdm.strategy.parser.TaxonNameParserBotanicalNameImpl;
44

    
45
/**
46
 * @author AM
47
 * @created 09.05.2008
48
 * @version 1.0
49
 */
50
public class TestSpecimen {
51
	private static final Logger logger = Logger.getLogger(TestSpecimen.class);
52
	
53
	public void testSpecimen(){
54
		
55
		logger.info("Create test taxon ...");
56
		ReferenceBase sec = Database.NewInstance();
57
		String fullNameString = "Acanthostyles saucechicoensis (Hieron.) R.M. King & H. Rob.";
58
		BotanicalName botanicalName = TaxonNameParserBotanicalNameImpl.NewInstance().parseFullName(fullNameString);
59
		Taxon taxon = Taxon.NewInstance(botanicalName, sec);
60
		
61
		Collection collection = Collection.NewInstance();
62
		String collectionCode = "ABCDE";
63
		collection.setCode(collectionCode);
64
		Institution institution = Institution.NewInstance();
65
		String institutionCode = "Inst444";
66
		institution.setCode(institutionCode);
67
		collection.setInstitute(institution);
68
		
69
		
70
		
71
		
72
		logger.info("Create determination event");
73
		DeterminationEvent determinationEvent = DeterminationEvent.NewInstance();
74
		determinationEvent.setTaxon(taxon);
75
		Person actor = Person.NewTitledInstance("J. M?ller (JE)");
76
		determinationEvent.setActor(actor);
77
		
78
		logger.info("Create gathering event");
79
		GatheringEvent gatheringEvent = GatheringEvent.NewInstance();
80
		Agent gatherer = Person.NewTitledInstance("Lorentz,P.G. s.n.");
81
		gatheringEvent.setActor(gatherer);
82
		Calendar gatheringDate = Calendar.getInstance();
83
		int year = 1922;
84
		int month = 10;
85
		int date = 05;
86
		gatheringDate.set(year, month, date);
87
		gatheringEvent.setGatheringDate(gatheringDate);
88
		
89
		logger.info("Create locality");
90
		NamedArea namedArea = NamedArea.NewInstance();
91
		WaterbodyOrCountry country = WaterbodyOrCountry.ARGENTINA_ARGENTINE_REPUBLIC();
92
		namedArea.addWaterbodyOrCountry(country);
93
		namedArea.setType(NamedAreaType.ADMINISTRATION_AREA());
94
		// XX
95
		
96
		gatheringEvent.setCollectingArea(namedArea);
97
		String localityString = "Sierras Pampeanas, Sauce Chico";
98
		gatheringEvent.setLocality(localityString);
99
		
100
		
101
		logger.info("Create new specimen ...");
102
		Specimen specimen = Specimen.NewInstance();
103
		specimen.setCatalogNumber("JE 00004506");
104
		specimen.setStoredUnder(botanicalName);   //??
105
		specimen.setCollection(collection);
106
		String annotation = "originally designated as type specimen 2000, but corrected 2005-11";
107
		specimen.addAnnotation(Annotation.NewDefaultLanguageInstance(annotation));
108
		
109
		
110
		
111
		Media media = Media.NewInstance();
112
		String uri = "http://131.130.131.9/database/img/imgBrowser.php?ID=50599";
113
		String mimeType = null;
114
		Integer size = null;
115
		MediaInstance mediaInstance = MediaInstance.NewInstance(uri, mimeType, size);
116
		media.addInstance(mediaInstance);
117
		specimen.addMedia(media);
118

    
119
		//Original ID
120
		OriginalSource source = OriginalSource.NewInstance();
121
		String id = "22";
122
		source.setIdInSource(id);
123
		specimen.addSource(source);
124
		
125
		FieldObservation fieldObservation = FieldObservation.NewInstance();
126
		DerivationEvent derivationEvent = DerivationEvent.NewInstance();
127
		derivationEvent.addDerivative(specimen);
128
		derivationEvent.setType(DerivationEventType.GATHERING_IN_SITU());
129
		fieldObservation.addDerivationEvent(derivationEvent);
130
		fieldObservation.setGatheringEvent(gatheringEvent);
131
		
132
		
133
		//type information
134
		//typified by
135
		
136
		
137
		logger.warn("Specimen: " + specimen);
138
		DerivationEvent dEvent = specimen.getDerivedFrom();
139
		logger.warn("DerivationEvent: " + dEvent);
140
		Set<SpecimenOrObservationBase> originals = dEvent.getOriginals();
141
		logger.warn("Originals: " + originals);
142
		for (SpecimenOrObservationBase original : originals){
143
			if (original instanceof FieldObservation){
144
				FieldObservation fieldObservation2 = (FieldObservation)original;
145
				logger.warn("FieldObservation: " + fieldObservation2);
146
				GatheringEvent gatheringEvent2= fieldObservation2.getGatheringEvent();
147
				logger.warn("GatheringEvent: " + gatheringEvent2);
148
				Agent gatherer2 = gatheringEvent2.getCollector();
149
				logger.warn("Gatherer: "+  gatherer2);
150
			}
151
		}
152
	}
153
	
154
	private void test(){
155
		System.out.println("Start ...");
156
		this.testSpecimen();
157
		System.out.println("\nEnd ...");
158
	}
159
	
160
	/**
161
	 * @param args
162
	 */
163
	public static void  main(String[] args) {
164
		TestSpecimen sc = new TestSpecimen();
165
    	sc.test();
166
	}
167
}
(2-2/2)