📄 atomgeorsstransformertest.java
字号:
/* Copyright (c) 2001 - 2007 TOPP - www.openplans.org. All rights reserved.
* This code is licensed under the GPL 2.0 license, availible at the root
* application directory.
*/
package org.vfny.geoserver.wms.responses.map.georss;
import org.geoserver.data.test.MockData;
import org.geoserver.wms.WMSTestSupport;
import org.geotools.data.Query;
import org.vfny.geoserver.wms.WMSMapContext;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.NodeList;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
public class AtomGeoRSSTransformerTest extends WMSTestSupport {
WMSMapContext map;
protected void setUp() throws Exception {
super.setUp();
map = new WMSMapContext(createGetMapRequest(MockData.BASIC_POLYGONS));
map.addLayer(createMapLayer(MockData.BASIC_POLYGONS));
}
public void testLatLong() throws Exception {
AtomGeoRSSTransformer tx = new AtomGeoRSSTransformer();
tx.setGeometryEncoding(AtomGeoRSSTransformer.GeometryEncoding.LATLONG);
tx.setIndentation(2);
ByteArrayOutputStream output = new ByteArrayOutputStream();
tx.transform(map, output);
DocumentBuilder docBuilder = DocumentBuilderFactory.newInstance().newDocumentBuilder();
Document document = docBuilder.parse(new ByteArrayInputStream(output.toByteArray()));
Element element = document.getDocumentElement();
assertEquals("feed", element.getNodeName());
NodeList entries = element.getElementsByTagName("entry");
int n = getFeatureSource(MockData.BASIC_POLYGONS).getCount(Query.ALL);
assertEquals(n, entries.getLength());
for (int i = 0; i < entries.getLength(); i++) {
Element entry = (Element) entries.item(i);
assertEquals(1, entry.getElementsByTagName("geo:lat").getLength());
assertEquals(1, entry.getElementsByTagName("geo:long").getLength());
}
}
public void testSimple() throws Exception {
AtomGeoRSSTransformer tx = new AtomGeoRSSTransformer();
tx.setGeometryEncoding(AtomGeoRSSTransformer.GeometryEncoding.SIMPLE);
tx.setIndentation(2);
ByteArrayOutputStream output = new ByteArrayOutputStream();
tx.transform(map, output);
DocumentBuilder docBuilder = DocumentBuilderFactory.newInstance().newDocumentBuilder();
Document document = docBuilder.parse(new ByteArrayInputStream(output.toByteArray()));
Element element = document.getDocumentElement();
assertEquals("feed", element.getNodeName());
NodeList entries = element.getElementsByTagName("entry");
int n = getFeatureSource(MockData.BASIC_POLYGONS).getCount(Query.ALL);
assertEquals(n, entries.getLength());
for (int i = 0; i < entries.getLength(); i++) {
Element entry = (Element) entries.item(i);
assertEquals(1, entry.getElementsByTagName("georss:where").getLength());
assertEquals(1, entry.getElementsByTagName("georss:polygon").getLength());
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -