# HG changeset patch # User Zoe Hong # Date 1433162135 -7200 # Node ID d81a5401b9af49bbeb12e22d0b972cf0f1b44dce # Parent 3387d855a194c160b06592233845c70805ea8f61 new: sorting in books page diff -r 3387d855a194 -r d81a5401b9af src/main/java/de/mpiwg/gazetteer/db/DBBook.java --- 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{ 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; diff -r 3387d855a194 -r d81a5401b9af src/main/java/de/mpiwg/gazetteer/db/DBSectionVersion.java --- 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{ 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()); - + } + diff -r 3387d855a194 -r d81a5401b9af src/main/java/de/mpiwg/web/jsp/BooksPage.java --- 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(); + } + + + + } diff -r 3387d855a194 -r d81a5401b9af src/main/java/de/mpiwg/web/jsp/JSPProxy.java --- 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; diff -r 3387d855a194 -r d81a5401b9af src/main/webapp/pages/books.jsp --- 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 @@ - - - - - - - - - + + + + + + + + + - - - + +
+ + + + + +
+ + + +
+ +
+ +
+
+ +
+ + + + + +
+ + + +
+ +
+ +
+
+
+ + + + + +
+ + + +
+ +
+ +
+
+
+ + + + + +
+ + + +
+ +
+ +
+
+
+ + + + + +
+ + + +
+ +
+ +
+
+
+ + + + + +
+ + + +
+ +
+ +
+
+
+ + + + + +
+ + + +
+ +
+ +
+
+
+ + + + + +
+ + + +
+ +
+ +
+
+
+ + + + + +
+ + + +
+ +
+ +
+
+
- + + + + + + +
+ + + + +
+ +
+ +
+
+ + + + + +
+ + + +
+ +
+ +
+
+
+ + + + + +
+ + + +
+ +
+ +
+
+