- package osm.jp.postgis;
-
- import java.io.File;
- import java.io.IOException;
- import java.sql.Connection;
- import java.sql.PreparedStatement;
- import java.sql.ResultSet;
- import java.sql.SQLException;
- import org.xml.sax.helpers.DefaultHandler;
- import jp.co.areaweb.tools.database.DatabaseTool;
- import static org.hamcrest.CoreMatchers.is;
- import org.junit.After;
- import org.junit.AfterClass;
- import static org.junit.Assert.assertNotNull;
- import static org.junit.Assert.assertThat;
- import static org.junit.Assert.fail;
- import org.junit.Before;
- import org.junit.BeforeClass;
- import org.junit.Test;
- import org.xml.sax.Attributes;
- import osm.jp.coverage.busstop.DbBusstop;
-
- /**
- * database connect test.
- * `gisdb.properties` Postgresql:PostGIS
- */
- public class UnMappedTest {
- static Connection conPost = null;
-
- @BeforeClass
- public static void setUpClass() throws ClassNotFoundException, SQLException, IOException {
- // postgresql `gisdb.properties`
- // postgresql - PostGIS : gisdb
- conPost = DatabaseTool.openDb("gisdb");
- }
-
- @AfterClass
- public static void tearDownClass() throws SQLException {
- conPost.close();
- }
-
- @Before
- public void setUp() {
- }
-
- @After
- public void tearDown() {
- }
-
- @Test
- public void getBusstopTable() {
- String tableName = DbBusstop.TABLE_NAME;
- assertThat(tableName, is("busstop"));
-
- osm.jp.coverage.busstop.ToPostgis model = new osm.jp.coverage.busstop.ToPostgis();
- String sql = model.items.getPostSqlStr(tableName);
- assertThat(sql, is("SELECT gmlid,area,fixed FROM t_busstop ORDER BY area, gmlid"));
-
- try (PreparedStatement ps8 = conPost.prepareStatement(sql)) {
- try (ResultSet rset8 = ps8.executeQuery()) {
- while (rset8.next()) {
- model.items.setPostResuit(rset8);
- String osm_node = model.items.getValue();
- System.out.println(osm_node);
- }
- }
- }
- catch(Exception e) {
- fail(e.toString());
- }
- }
-
- @Test
- public void unMappedBusstop() {
- check("busstop");
- }
-
- @Test
- public void unMappedFuel() {
- check("FUEL");
- }
-
- @Test
- public void unMappedPolice() {
- check("POLICE");
- }
-
- @Test
- public void unMappedPostoffice() {
- check("POSTOFFICE");
- }
-
- @SuppressWarnings("UseSpecificCatch")
- void check(String dbname) {
- File kmz = null;
- try {
- (new UnMapped(dbname, "osmdb")).createKmz(35.4341254D,139.408969D, 5.0D);
- }
- catch(Exception e) {
- fail(e.toString());
- }
-
- // 出力結果のチェック
- assertNotNull(kmz);
- assertThat(kmz.exists(), is(true));
- assertThat(kmz.isFile(), is(true));
- assertThat(kmz.getName(), is(dbname+".kmz"));
- }
-
- class KmlSaxSimpleReader extends DefaultHandler {
-
- @Override
- public void startDocument() {
- //System.out.println("[11] ドキュメント開始");
- }
-
- @Override
- public void startElement(String uri, String localName, String qName, Attributes attributes) {
- //System.out.println("[21] 要素開始 = " + qName);
- }
-
- @Override
- public void characters(char[] ch, int offset, int length) {
- //System.out.println("[31] テキストデータ = " + new String(ch, offset, length));
- }
-
- @Override
- public void endElement(String uri, String localName, String qName) {
- //System.out.println("[41] 要素終了 = " + qName);
- }
-
- @Override
- public void endDocument(){//[50]
- //System.out.println("[51] ドキュメント終了");
- }
- }
- }