# HG changeset patch # User "jurzua " # Date 1432645177 -7200 # Node ID f15b0214cc1c1ff9b54596a1775d5a053223764c # Parent efe0e7174139d3341bc07a0773e3cf03751b3a07 Adding query for table SectionVersion diff -r efe0e7174139 -r f15b0214cc1c src/main/java/de/mpiwg/gazetteer/db/DBBook.java --- a/src/main/java/de/mpiwg/gazetteer/db/DBBook.java Tue May 26 14:39:34 2015 +0200 +++ b/src/main/java/de/mpiwg/gazetteer/db/DBBook.java Tue May 26 14:59:37 2015 +0200 @@ -25,6 +25,8 @@ private String comments; private Integer toc_correction; + private DBSectionVersion currentSectionVersion; + public DBBook(ResultSet rs) throws SQLException{ this.name = rs.getString("name"); this.id = rs.getString("id"); @@ -200,6 +202,16 @@ public void setEnd_year(Integer end_year) { this.end_year = end_year; } + + + public DBSectionVersion getCurrentSectionVersion() { + return currentSectionVersion; + } + + + public void setCurrentSectionVersion(DBSectionVersion currentSectionVersion) { + this.currentSectionVersion = currentSectionVersion; + } } diff -r efe0e7174139 -r f15b0214cc1c src/main/java/de/mpiwg/gazetteer/db/DBSectionVersion.java --- a/src/main/java/de/mpiwg/gazetteer/db/DBSectionVersion.java Tue May 26 14:39:34 2015 +0200 +++ b/src/main/java/de/mpiwg/gazetteer/db/DBSectionVersion.java Tue May 26 14:59:37 2015 +0200 @@ -1,12 +1,68 @@ package de.mpiwg.gazetteer.db; +import java.sql.ResultSet; +import java.sql.SQLException; + public class DBSectionVersion { + private String id; private String version; private String editor; private String date; private String books_id; + public DBSectionVersion(ResultSet rs) throws SQLException{ + this.id = rs.getString("id"); + this.version = rs.getString("version"); + this.editor = rs.getString("editor"); + this.date = rs.getString("date"); + this.books_id = rs.getString("books_id"); + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getVersion() { + return version; + } + + public void setVersion(String version) { + this.version = version; + } + + public String getEditor() { + return editor; + } + + public void setEditor(String editor) { + this.editor = editor; + } + + public String getDate() { + return date; + } + + public void setDate(String date) { + this.date = date; + } + + public String getBooks_id() { + return books_id; + } + + public void setBooks_id(String books_id) { + this.books_id = books_id; + } + + + + + } diff -r efe0e7174139 -r f15b0214cc1c src/main/java/de/mpiwg/gazetteer/utils/DBService.java --- a/src/main/java/de/mpiwg/gazetteer/utils/DBService.java Tue May 26 14:39:34 2015 +0200 +++ b/src/main/java/de/mpiwg/gazetteer/utils/DBService.java Tue May 26 14:59:37 2015 +0200 @@ -601,22 +601,27 @@ PropertiesUtils.getPropValue("db_gazetter_password")); } - public static List getSectionsVersionsByBooksId(String id) throws SQLException { - + + public List getSectionVersionList() throws SQLException { List section_version = new ArrayList(); // select editor, date from sections_versions where books_id = book.getId() order by version desc?? Connection con = null; try{ con = getNewConnection(); Statement stmt = con.createStatement(); - String query = "SELECT editor, date from sections_versions WHERE books_id='"+id+"' ORDER BY version DESC"; + + String query = ""; + ResultSet rs = stmt.executeQuery(query); - if(rs.next()){ - logger.debug("book id= "+id); - logger.debug(rs.getString("editor") + ", date: " + rs.getString("date")); + while(rs.next()){ + + DBSectionVersion sv = new DBSectionVersion(rs); + section_version.add(sv); + + //logger.debug("book id= "+id); + //logger.debug(rs.getString("editor") + ", date: " + rs.getString("date")); } - } catch (Exception e) { e.printStackTrace(); } finally { diff -r efe0e7174139 -r f15b0214cc1c src/main/java/de/mpiwg/web/jsp/BooksPage.java --- a/src/main/java/de/mpiwg/web/jsp/BooksPage.java Tue May 26 14:39:34 2015 +0200 +++ b/src/main/java/de/mpiwg/web/jsp/BooksPage.java Tue May 26 14:59:37 2015 +0200 @@ -4,7 +4,9 @@ import java.sql.ResultSet; import java.sql.Statement; import java.util.ArrayList; +import java.util.HashMap; import java.util.List; +import java.util.Map; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; @@ -22,6 +24,7 @@ public static String bean = "booksBean"; public static String page = "pages/books.jsp"; private List completeBookList; + private Map sectionVersionMap = null; public void loadParameters(HttpServletRequest request, HttpServletResponse response){ @@ -37,6 +40,8 @@ public void loadBooks(){ logger.debug("loadBooks"); + this.loadSectionsVersion(); + if(this.completeBookList == null){ logger.debug("loading book list"); this.completeBookList = new ArrayList(); @@ -45,6 +50,8 @@ for(DBBook book : DBService.getInstance().getBooks()){ // TODO: get editor and date by book id + book.setCurrentSectionVersion(sectionVersionMap.get(book.getId())); + this.completeBookList.add(book); } } @@ -53,6 +60,23 @@ } } + private void loadSectionsVersion(){ + this.sectionVersionMap = new HashMap(); + + try { + for(DBSectionVersion sv : DBService.getInstance().getSectionVersionList()){ + this.sectionVersionMap.put(sv.getBooks_id(), sv); + } + } catch (Exception e) { + addMsg("There is an internal error: " + e.getLocalizedMessage()); + e.printStackTrace(); + } + + + } + + + } diff -r efe0e7174139 -r f15b0214cc1c src/main/java/de/mpiwg/web/jsp/JSPProxy.java --- a/src/main/java/de/mpiwg/web/jsp/JSPProxy.java Tue May 26 14:39:34 2015 +0200 +++ b/src/main/java/de/mpiwg/web/jsp/JSPProxy.java Tue May 26 14:59:37 2015 +0200 @@ -30,137 +30,146 @@ logger.info("processRequest [bean= " + bean + ", action=" + action +"]"); - if(StringUtils.equals(bean, BranchPage.bean)){ - - getSessionBean().getBranchPage().loadParameters(request, response); - - if(StringUtils.equals(action, "addContributor")){ - getSessionBean().getBranchPage().addContributor(); - } else if(StringUtils.equals(action, "removeContributor")){ - getSessionBean().getBranchPage().removeContributor(); - }else if(StringUtils.equals(action, "deleteFile")){ - getSessionBean().getBranchPage().deleteFile(); - }else if(StringUtils.equals(action, "publishFile")){ - getSessionBean().getBranchPage().publishFile(); - } - - return BranchPage.page; - - - }else if(StringUtils.equals(bean, CreateFilePage.bean)){ - - getSessionBean().getCreateFilePage().loadParameters(request, response); - - if(StringUtils.equals(action, "loadSection")){ - getSessionBean().getCreateFilePage().loadSection(); - }else if(StringUtils.equals(action, "reset")){ - getSessionBean().getCreateFilePage().reset(); - } - - return CreateFilePage.page; - - }else if(StringUtils.equals(bean, HomePage.bean)){ - - getSessionBean().getHomePage().loadParameters(request, response); - - if(StringUtils.equals(action, "deleteBranch")){ - getSessionBean().getHomePage().deleteBranch(); - }else if(StringUtils.equals(action, "reloadBranches")){ - getSessionBean().getHomePage().reloadBranches(); - } - - return HomePage.page; - - }else if(StringUtils.equals(bean, "loginBean")){ - getSessionBean().loadParameters(request, response); - - if(StringUtils.equals(action, "login")){ - getSessionBean().login(); - }else if(StringUtils.equals(action, "logout")){ - getSessionBean().logout(); - } - - return "pages/home.jsp"; - - }else if(StringUtils.equals(bean, SearchPage.bean)){ - getSessionBean().getSearchPage().loadParameters(request, response); + try{ + if(StringUtils.equals(bean, BranchPage.bean)){ + + getSessionBean().getBranchPage().loadParameters(request, response); + + if(StringUtils.equals(action, "addContributor")){ + getSessionBean().getBranchPage().addContributor(); + } else if(StringUtils.equals(action, "removeContributor")){ + getSessionBean().getBranchPage().removeContributor(); + }else if(StringUtils.equals(action, "deleteFile")){ + getSessionBean().getBranchPage().deleteFile(); + }else if(StringUtils.equals(action, "publishFile")){ + getSessionBean().getBranchPage().publishFile(); + } + + return BranchPage.page; + + + }else if(StringUtils.equals(bean, CreateFilePage.bean)){ + + getSessionBean().getCreateFilePage().loadParameters(request, response); + + if(StringUtils.equals(action, "loadSection")){ + getSessionBean().getCreateFilePage().loadSection(); + }else if(StringUtils.equals(action, "reset")){ + getSessionBean().getCreateFilePage().reset(); + } + + return CreateFilePage.page; + + }else if(StringUtils.equals(bean, HomePage.bean)){ + + getSessionBean().getHomePage().loadParameters(request, response); + + if(StringUtils.equals(action, "deleteBranch")){ + getSessionBean().getHomePage().deleteBranch(); + }else if(StringUtils.equals(action, "reloadBranches")){ + getSessionBean().getHomePage().reloadBranches(); + } + + return HomePage.page; + + }else if(StringUtils.equals(bean, "loginBean")){ + getSessionBean().loadParameters(request, response); + + if(StringUtils.equals(action, "login")){ + getSessionBean().login(); + }else if(StringUtils.equals(action, "logout")){ + getSessionBean().logout(); + } + + return "pages/home.jsp"; + + }else if(StringUtils.equals(bean, SearchPage.bean)){ + getSessionBean().getSearchPage().loadParameters(request, response); + + if(StringUtils.equals(action, "search")){ + getSessionBean().getSearchPage().search(); + } else if(StringUtils.equals(action, "filter")){ + getSessionBean().getSearchPage().filter(); + //PAGINATOR + } else if(StringUtils.equals(action, "firstPage")){ + getSessionBean().getSearchPage().firstPage(); + } else if(StringUtils.equals(action, "fastRewind")){ + getSessionBean().getSearchPage().fastRewind(); + } else if(StringUtils.equals(action, "previousPage")){ + getSessionBean().getSearchPage().previousPage(); + } else if(StringUtils.equals(action, "nextPage")){ + getSessionBean().getSearchPage().nextPage(); + } else if(StringUtils.equals(action, "fastForward")){ + getSessionBean().getSearchPage().fastForward(); + } else if(StringUtils.equals(action, "lastPage")){ + getSessionBean().getSearchPage().lastPage(); + + //SORTING + } else if(StringUtils.equals(action, "sortByBookIdUp")){ + getSessionBean().getSearchPage().sortByBookIdUp(); + } else if(StringUtils.equals(action, "sortByBookIdDown")){ + getSessionBean().getSearchPage().sortByBookIdDown(); + } else if(StringUtils.equals(action, "sortByBookNameUp")){ + getSessionBean().getSearchPage().sortByBookNameUp(); + } else if(StringUtils.equals(action, "sortByBookNameDown")){ + getSessionBean().getSearchPage().sortByBookNameDown(); + } else if(StringUtils.equals(action, "sortByDynastyUp")){ + getSessionBean().getSearchPage().sortByDynastyUp(); + } else if(StringUtils.equals(action, "sortByDynastyDown")){ + getSessionBean().getSearchPage().sortByDynastyDown(); + } else if(StringUtils.equals(action, "sortByPeriodUp")){ + getSessionBean().getSearchPage().sortByPeriodUp(); + } else if(StringUtils.equals(action, "sortByPeriodDown")){ + getSessionBean().getSearchPage().sortByPeriodDown(); + } else if(StringUtils.equals(action, "sortByVolumeUp")){ + getSessionBean().getSearchPage().sortByVolumeUp(); + } else if(StringUtils.equals(action, "sortByVolumeDown")){ + getSessionBean().getSearchPage().sortByVolumeDown(); + } else if(StringUtils.equals(action, "sortBySectionNameUp")){ + getSessionBean().getSearchPage().sortBySectionNameUp(); + } else if(StringUtils.equals(action, "sortBySectionNameDown")){ + getSessionBean().getSearchPage().sortBySectionNameDown(); + + } else if(StringUtils.equals(action, "sortByLevel1Up")){ + getSessionBean().getSearchPage().sortByLevel1Up(); + } else if(StringUtils.equals(action, "sortByLevel1Down")){ + getSessionBean().getSearchPage().sortByLevel1Down(); + + } else if(StringUtils.equals(action, "sortByAdminTypeUp")){ + getSessionBean().getSearchPage().sortByAdminTypeUp(); + } else if(StringUtils.equals(action, "sortByAdminTypeDown")){ + getSessionBean().getSearchPage().sortByAdminTypeDown(); + + } else if(StringUtils.equals(action, "sortByStartPageUp")){ + getSessionBean().getSearchPage().sortByStartPageUp(); + } else if(StringUtils.equals(action, "sortByStartPageDown")){ + getSessionBean().getSearchPage().sortByStartPageDown(); + } + + return SearchPage.page; + + } else if(StringUtils.equals(bean, BooksPage.bean)){ + + getSessionBean().getBooksPage().loadParameters(request, response); + + if(StringUtils.equals(action, "editToc")) { + logger.info("toc page here..."); + // TODO: more information here needed: book_id, user info... + + // TODO: TOCPage + // return TOCPage.page; + } + + return HomePage.page; + } - if(StringUtils.equals(action, "search")){ - getSessionBean().getSearchPage().search(); - } else if(StringUtils.equals(action, "filter")){ - getSessionBean().getSearchPage().filter(); - //PAGINATOR - } else if(StringUtils.equals(action, "firstPage")){ - getSessionBean().getSearchPage().firstPage(); - } else if(StringUtils.equals(action, "fastRewind")){ - getSessionBean().getSearchPage().fastRewind(); - } else if(StringUtils.equals(action, "previousPage")){ - getSessionBean().getSearchPage().previousPage(); - } else if(StringUtils.equals(action, "nextPage")){ - getSessionBean().getSearchPage().nextPage(); - } else if(StringUtils.equals(action, "fastForward")){ - getSessionBean().getSearchPage().fastForward(); - } else if(StringUtils.equals(action, "lastPage")){ - getSessionBean().getSearchPage().lastPage(); - - //SORTING - } else if(StringUtils.equals(action, "sortByBookIdUp")){ - getSessionBean().getSearchPage().sortByBookIdUp(); - } else if(StringUtils.equals(action, "sortByBookIdDown")){ - getSessionBean().getSearchPage().sortByBookIdDown(); - } else if(StringUtils.equals(action, "sortByBookNameUp")){ - getSessionBean().getSearchPage().sortByBookNameUp(); - } else if(StringUtils.equals(action, "sortByBookNameDown")){ - getSessionBean().getSearchPage().sortByBookNameDown(); - } else if(StringUtils.equals(action, "sortByDynastyUp")){ - getSessionBean().getSearchPage().sortByDynastyUp(); - } else if(StringUtils.equals(action, "sortByDynastyDown")){ - getSessionBean().getSearchPage().sortByDynastyDown(); - } else if(StringUtils.equals(action, "sortByPeriodUp")){ - getSessionBean().getSearchPage().sortByPeriodUp(); - } else if(StringUtils.equals(action, "sortByPeriodDown")){ - getSessionBean().getSearchPage().sortByPeriodDown(); - } else if(StringUtils.equals(action, "sortByVolumeUp")){ - getSessionBean().getSearchPage().sortByVolumeUp(); - } else if(StringUtils.equals(action, "sortByVolumeDown")){ - getSessionBean().getSearchPage().sortByVolumeDown(); - } else if(StringUtils.equals(action, "sortBySectionNameUp")){ - getSessionBean().getSearchPage().sortBySectionNameUp(); - } else if(StringUtils.equals(action, "sortBySectionNameDown")){ - getSessionBean().getSearchPage().sortBySectionNameDown(); - - } else if(StringUtils.equals(action, "sortByLevel1Up")){ - getSessionBean().getSearchPage().sortByLevel1Up(); - } else if(StringUtils.equals(action, "sortByLevel1Down")){ - getSessionBean().getSearchPage().sortByLevel1Down(); - - } else if(StringUtils.equals(action, "sortByAdminTypeUp")){ - getSessionBean().getSearchPage().sortByAdminTypeUp(); - } else if(StringUtils.equals(action, "sortByAdminTypeDown")){ - getSessionBean().getSearchPage().sortByAdminTypeDown(); - - } else if(StringUtils.equals(action, "sortByStartPageUp")){ - getSessionBean().getSearchPage().sortByStartPageUp(); - } else if(StringUtils.equals(action, "sortByStartPageDown")){ - getSessionBean().getSearchPage().sortByStartPageDown(); - } - - return SearchPage.page; - - } else if(StringUtils.equals(bean, BooksPage.bean)){ - - getSessionBean().getBooksPage().loadParameters(request, response); - - if(StringUtils.equals(action, "editToc")) { - logger.info("toc page here..."); - // TODO: more information here needed: book_id, user info... - - // TODO: TOCPage - // return TOCPage.page; - } - + }catch(Exception e){ + e.printStackTrace(); + addMsg("There is an internal error: " + e.getLocalizedMessage()); return HomePage.page; - } + } + + //Default Page return "pages/search.jsp";