Project

General

Profile

Download (1.95 KB) Statistics
| Branch: | Tag: | Revision:
1
package eu.etaxonomy.cdm.ext.kml;
2

    
3
import static org.junit.Assert.assertTrue;
4

    
5
import java.io.File;
6
import java.io.IOException;
7
import java.io.StringWriter;
8

    
9
import javax.xml.bind.JAXBContext;
10
import javax.xml.bind.JAXBException;
11
import javax.xml.bind.Marshaller;
12

    
13
import org.apache.commons.io.FileUtils;
14
import org.apache.logging.log4j.LogManager;
15
import org.apache.logging.log4j.Logger;
16
import org.junit.Before;
17
import org.junit.Test;
18

    
19
import de.micromata.opengis.kml.v_2_2_0.Kml;
20
import eu.etaxonomy.cdm.ext.geo.kml.KMLDocumentBuilder;
21
import eu.etaxonomy.cdm.model.location.Point;
22
import eu.etaxonomy.cdm.model.occurrence.FieldUnit;
23
import eu.etaxonomy.cdm.model.occurrence.GatheringEvent;
24

    
25
public class KmlJaxbMarshallerTest {
26

    
27
	private Kml kml;
28

    
29
    private static final Logger logger = LogManager.getLogger(KmlJaxbMarshallerTest.class);
30

    
31

    
32
	@Before
33
	public void makeKML() {
34
		FieldUnit fu = FieldUnit.NewInstance();
35
		fu.setGatheringEvent(GatheringEvent.NewInstance());
36
		fu.getGatheringEvent().setExactLocation(Point.NewInstance(-112.292238941097, 36.09520916122063, null, null));
37

    
38
		KMLDocumentBuilder builder = new KMLDocumentBuilder();
39
		builder.addSpecimenOrObservationBase(fu);
40
		kml = builder.build();
41
	}
42

    
43

    
44
	@Test
45
	public void marshallTest() throws JAXBException, IOException {
46

    
47
		JAXBContext jaxbContext = JAXBContext.newInstance(Kml.class);
48
		Marshaller marshaller = jaxbContext.createMarshaller();
49
		marshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, Boolean.TRUE);
50
		StringWriter sw = new StringWriter();
51
		marshaller.marshal(kml, sw);
52
		String kml = sw.toString();
53
		if(logger.isDebugEnabled()) {
54
			logger.debug("kml:\n" + kml);
55
			FileUtils.write(new File("KmlJaxbMarshallerTest.kml"), kml);
56
		}
57
		assertTrue(kml.contains("<kml:Document>"));
58
		assertTrue(kml.contains("<kml:Point>"));
59
		assertTrue(kml.contains("<kml:coordinates>-112.292238941097,36.09520916122063</kml:coordinates>"));
60
		assertTrue(kml.contains("<kml:altitudeMode>absolute</kml:altitudeMode>"));
61
	}
62

    
63
}
    (1-1/1)