Mercurial > hg > LGServices
changeset 15:d81a5401b9af
new: sorting in books page
author | Zoe Hong <zhong@mpiwg-berlin.mpg.de> |
---|---|
date | Mon, 01 Jun 2015 14:35:35 +0200 |
parents | 3387d855a194 |
children | a7e9c1f8edb4 |
files | src/main/java/de/mpiwg/gazetteer/db/DBBook.java src/main/java/de/mpiwg/gazetteer/db/DBSectionVersion.java src/main/java/de/mpiwg/web/jsp/BooksPage.java src/main/java/de/mpiwg/web/jsp/JSPProxy.java src/main/webapp/pages/books.jsp |
diffstat | 5 files changed, 480 insertions(+), 23 deletions(-) [+] |
line wrap: on
line diff
--- a/src/main/java/de/mpiwg/gazetteer/db/DBBook.java Fri May 29 11:00:09 2015 +0200 +++ b/src/main/java/de/mpiwg/gazetteer/db/DBBook.java Mon Jun 01 14:35:35 2015 +0200 @@ -3,9 +3,7 @@ import java.sql.ResultSet; import java.sql.SQLException; -import com.sun.istack.internal.logging.Logger; - -public class DBBook { +public class DBBook implements Comparable<DBBook>{ private String id; private String name; @@ -25,7 +23,7 @@ private Integer start_year; private Integer end_year; private String comments; - private int toc_correction; + private Integer toc_correction; @@ -53,6 +51,11 @@ this.toc_correction = rs.getInt("toc_correction"); } + + @Override + public int compareTo(DBBook o) { + return this.getName().compareTo(o.getName()); + } public Integer getToc_correction() { return toc_correction;
--- a/src/main/java/de/mpiwg/gazetteer/db/DBSectionVersion.java Fri May 29 11:00:09 2015 +0200 +++ b/src/main/java/de/mpiwg/gazetteer/db/DBSectionVersion.java Mon Jun 01 14:35:35 2015 +0200 @@ -3,7 +3,7 @@ import java.sql.ResultSet; import java.sql.SQLException; -public class DBSectionVersion { +public class DBSectionVersion implements Comparable<DBSectionVersion>{ private String id; private String version; @@ -58,9 +58,13 @@ public void setBooks_id(String books_id) { this.books_id = books_id; } - + + @Override + public int compareTo(DBSectionVersion o) { + return this.getId().compareTo(o.getId()); - + } +
--- a/src/main/java/de/mpiwg/web/jsp/BooksPage.java Fri May 29 11:00:09 2015 +0200 +++ b/src/main/java/de/mpiwg/web/jsp/BooksPage.java Mon Jun 01 14:35:35 2015 +0200 @@ -2,6 +2,7 @@ import java.util.ArrayList; +import java.util.Collections; import java.util.HashMap; import java.util.List; import java.util.Map; @@ -14,6 +15,18 @@ import de.mpiwg.gazetteer.db.DBBook; import de.mpiwg.gazetteer.db.DBSectionVersion; import de.mpiwg.gazetteer.utils.DBService; +import de.mpiwg.web.books.SortBooksByAdminType; +import de.mpiwg.web.books.SortBooksByBookId; +import de.mpiwg.web.books.SortBooksByDate; +import de.mpiwg.web.books.SortBooksByDynasty; +import de.mpiwg.web.books.SortBooksByEdition; +import de.mpiwg.web.books.SortBooksByEditor; +import de.mpiwg.web.books.SortBooksByLevel1; +import de.mpiwg.web.books.SortBooksByLevel2; +import de.mpiwg.web.books.SortBooksByName; +import de.mpiwg.web.books.SortBooksByPeriod; +import de.mpiwg.web.books.SortBooksByStartYear; +import de.mpiwg.web.books.SortBooksByTocCorrection; public class BooksPage extends AbstractJSPPage{ @@ -131,6 +144,139 @@ } - + public void sortByBookIdUp() { + Collections.sort(this.completeBookList, new SortBooksByBookId()); + //filter(); + } + + public void sortByBookIdDown() { + Collections.sort(this.completeBookList, new SortBooksByBookId()); + Collections.reverse(completeBookList); + //filter(); + } + public void sortByBookNameUp(){ + Collections.sort(this.completeBookList, new SortBooksByName()); + //filter(); + } + + public void sortByBookNameDown(){ + Collections.sort(this.completeBookList, new SortBooksByName()); + Collections.reverse(completeBookList); + //filter(); + } + + public void sortByLevel1Up(){ + Collections.sort(this.completeBookList, new SortBooksByLevel1()); + //filter(); + } + + public void sortByLevel1Down(){ + Collections.sort(this.completeBookList, new SortBooksByLevel1()); + Collections.reverse(completeBookList); + //filter(); + } + public void sortByLevel2Up(){ + Collections.sort(this.completeBookList, new SortBooksByLevel2()); + //filter(); + } + + public void sortByLevel2Down(){ + Collections.sort(this.completeBookList, new SortBooksByLevel2()); + Collections.reverse(completeBookList); + //filter(); + } + + public void sortByPeriodUp(){ + Collections.sort(this.completeBookList, new SortBooksByPeriod()); + //filter(); + } + + public void sortByPeriodDown(){ + Collections.sort(this.completeBookList, new SortBooksByPeriod()); + Collections.reverse(completeBookList); + //filter(); + } + + public void sortByAdminTypeUp(){ + Collections.sort(this.completeBookList, new SortBooksByAdminType()); + //filter(); + } + + public void sortByAdminTypeDown(){ + Collections.sort(this.completeBookList, new SortBooksByAdminType()); + Collections.reverse(completeBookList); + //filter(); + } + + public void sortByStartYearUp(){ + Collections.sort(this.completeBookList, new SortBooksByStartYear()); + //filter(); + } + + public void sortByStartYearDown(){ + Collections.sort(this.completeBookList, new SortBooksByStartYear()); + Collections.reverse(completeBookList); + //filter(); + } + + public void sortByDynastyUp(){ + Collections.sort(this.completeBookList, new SortBooksByDynasty()); + //filter(); + } + + public void sortByDynastyDown(){ + Collections.sort(this.completeBookList, new SortBooksByDynasty()); + Collections.reverse(completeBookList); + //filter(); + } + public void sortByEditionUp(){ + Collections.sort(this.completeBookList, new SortBooksByEdition()); + //filter(); + } + + public void sortByEditionDown(){ + Collections.sort(this.completeBookList, new SortBooksByEdition()); + Collections.reverse(completeBookList); + //filter(); + } + + + + public void sortByEditorUp(){ + Collections.sort(this.completeBookList, new SortBooksByEditor()); + //filter(); + } + + public void sortByEditorDown(){ + Collections.sort(this.completeBookList, new SortBooksByEditor()); + Collections.reverse(completeBookList); + //filter(); + } + + public void sortByDateUp(){ + Collections.sort(this.completeBookList, new SortBooksByDate()); + //filter(); + } + + public void sortByDateDown(){ + Collections.sort(this.completeBookList, new SortBooksByDate()); + Collections.reverse(completeBookList); + //filter(); + } + + public void sortByTocCorrectionUp(){ + Collections.sort(this.completeBookList, new SortBooksByTocCorrection()); + //filter(); + } + + public void sortByTocCorrectionDown(){ + Collections.sort(this.completeBookList, new SortBooksByTocCorrection()); + Collections.reverse(completeBookList); + //filter(); + } + + + + }
--- a/src/main/java/de/mpiwg/web/jsp/JSPProxy.java Fri May 29 11:00:09 2015 +0200 +++ b/src/main/java/de/mpiwg/web/jsp/JSPProxy.java Mon Jun 01 14:35:35 2015 +0200 @@ -155,8 +155,70 @@ getSessionBean().getBooksPage().setTocCorrection(); } else if (StringUtils.equals(action, "unSetTocCorrection")){ getSessionBean().getBooksPage().unSetTocCorrection(); + } else if (StringUtils.equals(action, "forceReloadBooks")) { getSessionBean().getBooksPage().forceLoadBooks(); + + // Sorting + } else if(StringUtils.equals(action, "sortByBookIdUp")){ + getSessionBean().getBooksPage().sortByBookIdUp(); + } else if(StringUtils.equals(action, "sortByBookIdDown")){ + getSessionBean().getBooksPage().sortByBookIdDown(); + + } else if(StringUtils.equals(action, "sortByBookNameUp")){ + getSessionBean().getBooksPage().sortByBookNameUp(); + } else if(StringUtils.equals(action, "sortByBookNameDown")){ + getSessionBean().getBooksPage().sortByBookNameDown(); + + } else if(StringUtils.equals(action, "sortByLevel1Up")){ + getSessionBean().getBooksPage().sortByLevel1Up(); + } else if(StringUtils.equals(action, "sortByLevel1Down")){ + getSessionBean().getBooksPage().sortByLevel1Down(); + + } else if(StringUtils.equals(action, "sortByLevel2Up")){ + getSessionBean().getBooksPage().sortByLevel2Up(); + } else if(StringUtils.equals(action, "sortByLevel2Down")){ + getSessionBean().getBooksPage().sortByLevel2Down(); + + } else if(StringUtils.equals(action, "sortByPeriodUp")){ + getSessionBean().getBooksPage().sortByPeriodUp(); + } else if(StringUtils.equals(action, "sortByPeriodDown")){ + getSessionBean().getBooksPage().sortByPeriodDown(); + + } else if(StringUtils.equals(action, "sortByDynastyUp")){ + getSessionBean().getBooksPage().sortByDynastyUp(); + } else if(StringUtils.equals(action, "sortByDynastyDown")){ + getSessionBean().getBooksPage().sortByDynastyDown(); + + } else if(StringUtils.equals(action, "sortByAdminTypeUp")){ + getSessionBean().getBooksPage().sortByAdminTypeUp(); + } else if(StringUtils.equals(action, "sortByAdminTypeDown")){ + getSessionBean().getBooksPage().sortByAdminTypeDown(); + + } else if(StringUtils.equals(action, "sortByStartYearUp")){ + getSessionBean().getBooksPage().sortByStartYearUp(); + } else if(StringUtils.equals(action, "sortByStartYearDown")){ + getSessionBean().getBooksPage().sortByStartYearDown(); + + } else if(StringUtils.equals(action, "sortByEditionUp")){ + getSessionBean().getBooksPage().sortByEditionUp(); + } else if(StringUtils.equals(action, "sortByEditionDown")){ + getSessionBean().getBooksPage().sortByEditionDown(); + + } else if(StringUtils.equals(action, "sortByTocCorrectionUp")){ + getSessionBean().getBooksPage().sortByTocCorrectionUp(); + } else if(StringUtils.equals(action, "sortByTocCorrectionDown")){ + getSessionBean().getBooksPage().sortByTocCorrectionDown(); + + } else if(StringUtils.equals(action, "sortByEditorUp")){ + getSessionBean().getBooksPage().sortByEditorUp(); + } else if(StringUtils.equals(action, "sortByEditorDown")){ + getSessionBean().getBooksPage().sortByEditorDown(); + + } else if(StringUtils.equals(action, "sortByDateUp")){ + getSessionBean().getBooksPage().sortByDateUp(); + } else if(StringUtils.equals(action, "sortByDateDown")){ + getSessionBean().getBooksPage().sortByDateDown(); } return BooksPage.page;
--- a/src/main/webapp/pages/books.jsp Fri May 29 11:00:09 2015 +0200 +++ b/src/main/webapp/pages/books.jsp Mon Jun 01 14:35:35 2015 +0200 @@ -185,24 +185,266 @@ <table style="width: 90%; margin-left: auto;margin-right: auto;" class="pageTable"> <tr> - <td><label class="tableTitle">Book ID</label></td> - <td><label class="tableTitle">Book Name</label></td> - <td><label class="tableTitle">Edition</label></td> - <td><label class="tableTitle">Level 1</label></td> - <td><label class="tableTitle">Level 2</label></td> - <td><label class="tableTitle">Period</label></td> - <td><label class="tableTitle">Dynasty</label></td> - <td><label class="tableTitle">Admin Type</label></td> - <td><label class="tableTitle">Start Year</label></td> + <td> + <table class="sortTable"> + <tr> + <td><label class="tableTitle">Book ID</label></td> + <td> + <table> + <tr><td> + <input type="image" + onclick="setAction('sortByBookIdUp', 'booksForm');" + src="<%=sessionBean.getApplicationBean().getUpImage()%>"/> + </td></tr> + <tr><td> + <input type="image" + onclick="setAction('sortByBookIdDown', 'booksForm');" + src="<%=sessionBean.getApplicationBean().getDownImage()%>"/> + </td></tr> + </table> + </td> + </tr> + </table> + + </td> + <td> + <table class="sortTable"> + <tr> + <td><label class="tableTitle">Book Name</label></td> + <td> + <table> + <tr><td> + <input type="image" + onclick="setAction('sortByBookNameUp', 'booksForm');" + src="<%=sessionBean.getApplicationBean().getUpImage()%>"/> + </td></tr> + <tr><td> + <input type="image" + onclick="setAction('sortByBookNameDown', 'booksForm');" + src="<%=sessionBean.getApplicationBean().getDownImage()%>"/> + </td></tr> + </table> + </td> + </tr> + </table> + </td> + <td> + <table class="sortTable"> + <tr> + <td><label class="tableTitle">Edition</label></td> + <td> + <table> + <tr><td> + <input type="image" + onclick="setAction('sortByEditionUp', 'booksForm');" + src="<%=sessionBean.getApplicationBean().getUpImage()%>"/> + </td></tr> + <tr><td> + <input type="image" + onclick="setAction('sortByEditionDown', 'booksForm');" + src="<%=sessionBean.getApplicationBean().getDownImage()%>"/> + </td></tr> + </table> + </td> + </tr> + </table> + </td> + <td> + <table class="sortTable"> + <tr> + <td><label class="tableTitle">Level 1</label></td> + <td> + <table> + <tr><td> + <input type="image" + onclick="setAction('sortByLevel1Up', 'booksForm');" + src="<%=sessionBean.getApplicationBean().getUpImage()%>"/> + </td></tr> + <tr><td> + <input type="image" + onclick="setAction('sortByLevel1Down', 'booksForm');" + src="<%=sessionBean.getApplicationBean().getDownImage()%>"/> + </td></tr> + </table> + </td> + </tr> + </table> + </td> + <td> + <table class="sortTable"> + <tr> + <td><label class="tableTitle">Level 2</label></td> + <td> + <table> + <tr><td> + <input type="image" + onclick="setAction('sortByLevel2Up', 'booksForm');" + src="<%=sessionBean.getApplicationBean().getUpImage()%>"/> + </td></tr> + <tr><td> + <input type="image" + onclick="setAction('sortByLevel2Down', 'booksForm');" + src="<%=sessionBean.getApplicationBean().getDownImage()%>"/> + </td></tr> + </table> + </td> + </tr> + </table> + </td> + <td> + <table class="sortTable"> + <tr> + <td><label class="tableTitle">Period</label></td> + <td> + <table> + <tr><td> + <input type="image" + onclick="setAction('sortByPeriodUp', 'booksForm');" + src="<%=sessionBean.getApplicationBean().getUpImage()%>"/> + </td></tr> + <tr><td> + <input type="image" + onclick="setAction('sortByPeriodDown', 'booksForm');" + src="<%=sessionBean.getApplicationBean().getDownImage()%>"/> + </td></tr> + </table> + </td> + </tr> + </table> + </td> + <td> + <table class="sortTable"> + <tr> + <td><label class="tableTitle">Dynasty</label></td> + <td> + <table> + <tr><td> + <input type="image" + onclick="setAction('sortByDynastyUp', 'booksForm');" + src="<%=sessionBean.getApplicationBean().getUpImage()%>"/> + </td></tr> + <tr><td> + <input type="image" + onclick="setAction('sortByDynastyDown', 'booksForm');" + src="<%=sessionBean.getApplicationBean().getDownImage()%>"/> + </td></tr> + </table> + </td> + </tr> + </table> + </td> + <td> + <table class="sortTable"> + <tr> + <td><label class="tableTitle">Admin Type</label></td> + <td> + <table> + <tr><td> + <input type="image" + onclick="setAction('sortByAdminTypeUp', 'booksForm');" + src="<%=sessionBean.getApplicationBean().getUpImage()%>"/> + </td></tr> + <tr><td> + <input type="image" + onclick="setAction('sortByAdminTypeDown', 'booksForm');" + src="<%=sessionBean.getApplicationBean().getDownImage()%>"/> + </td></tr> + </table> + </td> + </tr> + </table> + </td> + <td> + <table class="sortTable"> + <tr> + <td><label class="tableTitle">Start Year</label></td> + <td> + <table> + <tr><td> + <input type="image" + onclick="setAction('sortByStartYearUp', 'booksForm');" + src="<%=sessionBean.getApplicationBean().getUpImage()%>"/> + </td></tr> + <tr><td> + <input type="image" + onclick="setAction('sortByStartYearDown', 'booksForm');" + src="<%=sessionBean.getApplicationBean().getDownImage()%>"/> + </td></tr> + </table> + </td> + </tr> + </table> + </td> <td><label class="tableTitle">Edit TOC</label></td> <!-- go to toc page --> - <td><label class="tableTitle">TOC Finished</label> - <input type="image" - onclick="setAction('forceReloadBooks', 'booksForm');" - src="<%=sessionBean.getApplicationBean().getRefreshImage()%>" width="20" height="20"/> + <td> + <table class="sortTable"> + <tr> + <td><label class="tableTitle">TOC Finished + <input type="image" + onclick="setAction('forceReloadBooks', 'booksForm');" + src="<%=sessionBean.getApplicationBean().getRefreshImage()%>" width="20" height="20"/> + </label> + </td> + <td> + <table> + <tr><td> + <input type="image" + onclick="setAction('sortByTocCorrectionUp', 'booksForm');" + src="<%=sessionBean.getApplicationBean().getUpImage()%>"/> + </td></tr> + <tr><td> + <input type="image" + onclick="setAction('sortByTocCorrectionDown', 'booksForm');" + src="<%=sessionBean.getApplicationBean().getDownImage()%>"/> + </td></tr> + </table> + </td> + </tr> + </table> </td> <!-- finished or not --> - <td><label class="tableTitle">Last Editor</label></td> - <td><label class="tableTitle">Edit Time</label></td> + <td> + <table class="sortTable"> + <tr> + <td><label class="tableTitle">Last Editor</label></td> + <td> + <table> + <tr><td> + <input type="image" + onclick="setAction('sortByEditorUp', 'booksForm');" + src="<%=sessionBean.getApplicationBean().getUpImage()%>"/> + </td></tr> + <tr><td> + <input type="image" + onclick="setAction('sortByEditorDown', 'booksForm');" + src="<%=sessionBean.getApplicationBean().getDownImage()%>"/> + </td></tr> + </table> + </td> + </tr> + </table> + </td> + <td> + <table class="sortTable"> + <tr> + <td><label class="tableTitle">Edit Time</label></td> + <td> + <table> + <tr><td> + <input type="image" + onclick="setAction('sortByDateUp', 'booksForm');" + src="<%=sessionBean.getApplicationBean().getUpImage()%>"/> + </td></tr> + <tr><td> + <input type="image" + onclick="setAction('sortByDateDown', 'booksForm');" + src="<%=sessionBean.getApplicationBean().getDownImage()%>"/> + </td></tr> + </table> + </td> + </tr> + </table> + </td> </tr>