Mercurial > hg > LGServices
changeset 19:9c4937b290c6
new: coordinates books
author | Zoe Hong <zhong@mpiwg-berlin.mpg.de> |
---|---|
date | Tue, 02 Jun 2015 16:44:02 +0200 |
parents | 881e7591f3e4 |
children | 996f8f1b69db |
files | src/main/java/de/mpiwg/gazetteer/db/DBBook.java src/main/java/de/mpiwg/gazetteer/db/DBCoordinatesBook.java src/main/java/de/mpiwg/gazetteer/rest/GetSectionMetadata.java src/main/java/de/mpiwg/gazetteer/utils/DBService.java |
diffstat | 4 files changed, 119 insertions(+), 5 deletions(-) [+] |
line wrap: on
line diff
--- a/src/main/java/de/mpiwg/gazetteer/db/DBBook.java Tue Jun 02 15:09:54 2015 +0200 +++ b/src/main/java/de/mpiwg/gazetteer/db/DBBook.java Tue Jun 02 16:44:02 2015 +0200 @@ -2,6 +2,7 @@ import java.sql.ResultSet; import java.sql.SQLException; +import java.util.Collection; public class DBBook implements Comparable<DBBook>{
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/main/java/de/mpiwg/gazetteer/db/DBCoordinatesBook.java Tue Jun 02 16:44:02 2015 +0200 @@ -0,0 +1,58 @@ +package de.mpiwg.gazetteer.db; + +import java.sql.ResultSet; +import java.sql.SQLException; +import java.util.Collection; + +public class DBCoordinatesBook { + + private Integer id; + private String books_id; + private String place_name; + private String x; + private String y; + + + public DBCoordinatesBook(ResultSet rs) throws SQLException{ + this.id = rs.getInt("id"); + this.books_id = rs.getString("books_id"); + this.place_name = rs.getString("place_name"); + this.x = rs.getString("x"); + this.y = rs.getString("y"); + + } + + public Integer getId() { + return id; + } + public void setId(Integer id) { + this.id = id; + } + public String getBooks_id() { + return books_id; + } + public void setBooks_id(String books_id) { + this.books_id = books_id; + } + public String getPlace_name() { + return place_name; + } + public void setPlace_name(String place_name) { + this.place_name = place_name; + } + public String getX() { + return x; + } + public void setX(String x) { + this.x = x; + } + public String getY() { + return y; + } + public void setY(String y) { + this.y = y; + } + + + +}
--- a/src/main/java/de/mpiwg/gazetteer/rest/GetSectionMetadata.java Tue Jun 02 15:09:54 2015 +0200 +++ b/src/main/java/de/mpiwg/gazetteer/rest/GetSectionMetadata.java Tue Jun 02 16:44:02 2015 +0200 @@ -8,6 +8,7 @@ import org.json.JSONObject; import de.mpiwg.gazetteer.db.DBBook; +import de.mpiwg.gazetteer.db.DBCoordinatesBook; import de.mpiwg.gazetteer.db.DBSection; import de.mpiwg.gazetteer.utils.DBService; @@ -45,19 +46,26 @@ bookJson.put("line", book.getLine()); bookJson.put("period", book.getPeriod()); bookJson.put("volume", book.getVolume()); - bookJson.put("level1", book.getLevel1()); bookJson.put("level2", book.getLevel2()); bookJson.put("admin_type", book.getAdmin_type()); - bookJson.put("in_jibengujiku", book.getIn_jibengujiku()); - - + bookJson.put("in_jibengujiku", book.getIn_jibengujiku()); bookJson.put("dynasty", book.getDynasty()); bookJson.put("start_year", book.getStart_year()); bookJson.put("end_year", book.getEnd_year()); + sectionJson.put("book", bookJson); - sectionJson.put("book", bookJson); + + DBCoordinatesBook coor_book = DBService.getInstance().getCoordinatesBook(section.getBookId()); + + JSONObject coordinates_books = new JSONObject(); + coordinates_books.put("place_name", coor_book.getPlace_name()); + coordinates_books.put("x", coor_book.getX()); + coordinates_books.put("y", coor_book.getY()); + + sectionJson.put("coordinates_books", coordinates_books); + json.put("section", sectionJson);
--- a/src/main/java/de/mpiwg/gazetteer/utils/DBService.java Tue Jun 02 15:09:54 2015 +0200 +++ b/src/main/java/de/mpiwg/gazetteer/utils/DBService.java Tue Jun 02 16:44:02 2015 +0200 @@ -20,6 +20,7 @@ import de.mpiwg.gazetteer.bo.LGBranch; import de.mpiwg.gazetteer.bo.LGFile; import de.mpiwg.gazetteer.db.DBBook; +import de.mpiwg.gazetteer.db.DBCoordinatesBook; import de.mpiwg.gazetteer.db.DBSection; import de.mpiwg.gazetteer.db.DBSectionVersion; @@ -43,7 +44,10 @@ } private Map<String, DBBook> bookMap; + private List<String> dynastyList; + + private Map<String, DBCoordinatesBook> coordinatesBookMap; public List<String> getDynastyList() throws SQLException{ if(this.dynastyList == null){ @@ -90,6 +94,49 @@ return new ArrayList<DBBook>(getBookMap().values()); } + + public DBCoordinatesBook getCoordinatesBook(String bookId) { + return getCoordinatesBookMap().get(bookId); + } + + private Map<String, DBCoordinatesBook> getCoordinatesBookMap() { + if (coordinatesBookMap == null) { + try { + this.loadCoordinatesBookMap(); + } catch (Exception e) { + e.printStackTrace(); + } + } + return this.coordinatesBookMap; + } + + private void loadCoordinatesBookMap() throws SQLException{ + Long start = System.currentTimeMillis(); + Connection conn = null; + Statement stmt = null; + this.coordinatesBookMap = new HashMap<String, DBCoordinatesBook>(); + + try { + String query = "SELECT * FROM coordinates_books"; + logger.debug(query); + conn = getNewConnection(); + stmt = conn.createStatement(); + ResultSet rs = stmt.executeQuery(query); + + while(rs.next()){ + DBCoordinatesBook book = new DBCoordinatesBook(rs); + this.coordinatesBookMap.put(book.getBooks_id(), book); + } + } catch (Exception e) { + e.printStackTrace(); + }finally{ + conn.close(); + } + + long end = System.currentTimeMillis(); + logger.debug("Time execution loading Coordinates Book Map [ms]: " + (end - start)); + } + public DBBook getBook(String id){ return getBookMap().get(id); }