Newer
Older
osmCoverage / test / osm / jp / postgis / UnMappedTest.java
  1. package osm.jp.postgis;
  2.  
  3. import java.io.File;
  4. import java.io.IOException;
  5. import java.sql.Connection;
  6. import java.sql.PreparedStatement;
  7. import java.sql.ResultSet;
  8. import java.sql.SQLException;
  9. import org.xml.sax.helpers.DefaultHandler;
  10. import jp.co.areaweb.tools.database.DatabaseTool;
  11. import static org.hamcrest.CoreMatchers.is;
  12. import org.junit.After;
  13. import org.junit.AfterClass;
  14. import static org.junit.Assert.assertNotNull;
  15. import static org.junit.Assert.assertThat;
  16. import static org.junit.Assert.fail;
  17. import org.junit.Before;
  18. import org.junit.BeforeClass;
  19. import org.junit.Test;
  20. import org.xml.sax.Attributes;
  21. import osm.jp.coverage.busstop.DbBusstop;
  22.  
  23. /**
  24. * database connect test.
  25. * `gisdb.properties` Postgresql:PostGIS
  26. */
  27. public class UnMappedTest {
  28. static Connection conPost = null;
  29. @BeforeClass
  30. public static void setUpClass() throws ClassNotFoundException, SQLException, IOException {
  31. // postgresql `gisdb.properties`
  32. // postgresql - PostGIS : gisdb
  33. conPost = DatabaseTool.openDb("gisdb");
  34. }
  35. @AfterClass
  36. public static void tearDownClass() throws SQLException {
  37. conPost.close();
  38. }
  39. @Before
  40. public void setUp() {
  41. }
  42. @After
  43. public void tearDown() {
  44. }
  45. @Test
  46. public void getBusstopTable() {
  47. String tableName = DbBusstop.TABLE_NAME;
  48. assertThat(tableName, is("busstop"));
  49. osm.jp.coverage.busstop.ToPostgis model = new osm.jp.coverage.busstop.ToPostgis();
  50. String sql = model.items.getPostSqlStr(tableName);
  51. assertThat(sql, is("SELECT gmlid,area,fixed FROM t_busstop ORDER BY area, gmlid"));
  52. try (PreparedStatement ps8 = conPost.prepareStatement(sql)) {
  53. try (ResultSet rset8 = ps8.executeQuery()) {
  54. while (rset8.next()) {
  55. model.items.setPostResuit(rset8);
  56. String osm_node = model.items.getValue();
  57. System.out.println(osm_node);
  58. }
  59. }
  60. }
  61. catch(Exception e) {
  62. fail(e.toString());
  63. }
  64. }
  65.  
  66. @Test
  67. public void unMappedBusstop() {
  68. check("busstop");
  69. }
  70. @Test
  71. public void unMappedFuel() {
  72. check("FUEL");
  73. }
  74. @Test
  75. public void unMappedPolice() {
  76. check("POLICE");
  77. }
  78. @Test
  79. public void unMappedPostoffice() {
  80. check("POSTOFFICE");
  81. }
  82. @SuppressWarnings("UseSpecificCatch")
  83. void check(String dbname) {
  84. File kmz = null;
  85. try {
  86. (new UnMapped(dbname, "osmdb")).createKmz(35.4341254D,139.408969D, 5.0D);
  87. }
  88. catch(Exception e) {
  89. fail(e.toString());
  90. }
  91. // 出力結果のチェック
  92. assertNotNull(kmz);
  93. assertThat(kmz.exists(), is(true));
  94. assertThat(kmz.isFile(), is(true));
  95. assertThat(kmz.getName(), is(dbname+".kmz"));
  96. }
  97. class KmlSaxSimpleReader extends DefaultHandler {
  98. @Override
  99. public void startDocument() {
  100. //System.out.println("[11] ドキュメント開始");
  101. }
  102. @Override
  103. public void startElement(String uri, String localName, String qName, Attributes attributes) {
  104. //System.out.println("[21] 要素開始 = " + qName);
  105. }
  106. @Override
  107. public void characters(char[] ch, int offset, int length) {
  108. //System.out.println("[31] テキストデータ = " + new String(ch, offset, length));
  109. }
  110. @Override
  111. public void endElement(String uri, String localName, String qName) {
  112. //System.out.println("[41] 要素終了 = " + qName);
  113. }
  114. @Override
  115. public void endDocument(){//[50]
  116. //System.out.println("[51] ドキュメント終了");
  117. }
  118. }
  119. }