changeset 89:85e27da9b18a

New feature : add book_year and edition_year in Books page
author Calvin Yeh <cyeh@mpipw-berlin.mpg.com>
date Wed, 21 Jun 2017 05:58:54 +0200
parents f4242db6206b
children 84c37b2eea36
files src/main/java/de/mpiwg/gazetteer/db/DBBook.java src/main/java/de/mpiwg/web/books/SortBooksByBookYear.java src/main/java/de/mpiwg/web/books/SortBooksByEditionYear.java src/main/java/de/mpiwg/web/books/SortBooksByYear.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 7 files changed, 136 insertions(+), 55 deletions(-) [+]
line wrap: on
line diff
--- a/src/main/java/de/mpiwg/gazetteer/db/DBBook.java	Wed Jun 21 05:56:02 2017 +0200
+++ b/src/main/java/de/mpiwg/gazetteer/db/DBBook.java	Wed Jun 21 05:58:54 2017 +0200
@@ -26,7 +26,8 @@
 	private String comments = "";
 	private String toc_correction = "";
 
-	private Integer year = 0;
+	private Integer book_year = 0;
+	private Integer edition_year = 0;
 	private String source = "";
 
 
@@ -58,7 +59,8 @@
 
 		this.toc_correction = rs.getString("toc_correction");
 
-    this.year = rs.getInt("year");
+    this.book_year = rs.getInt("book_year");
+		this.edition_year = rs.getInt("edition_year");
 		this.source = rs.getString("source");
 
 	}
@@ -234,13 +236,21 @@
 		this.currentSectionVersion = currentSectionVersion;
 	}
 
-	public Integer getYear() {
-		return this.year;
+	public Integer getBookYear() {
+		return this.book_year;
 	}
 
 
-	public void setYear(Integer pYear) {
-		this.year = pYear;
+	public void setBookYear(Integer pYear) {
+		this.book_year = pYear;
+	}
+
+	public Integer getEditionYear() {
+		return this.edition_year;
+	}
+
+	public void setEditionYear(Integer pYear) {
+		this.edition_year = pYear;
 	}
 
 	public String getSource() {
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/main/java/de/mpiwg/web/books/SortBooksByBookYear.java	Wed Jun 21 05:58:54 2017 +0200
@@ -0,0 +1,19 @@
+package de.mpiwg.web.books;
+
+import java.util.Comparator;
+
+import de.mpiwg.gazetteer.db.DBBook;
+
+
+public class SortBooksByBookYear implements Comparator<DBBook>{
+
+	public int compare(DBBook o1, DBBook o2) {
+
+		if(o1 == null || o2 == null){
+			return o1.getName().compareTo(o2.getName());
+		}
+
+		return o1.getBookYear().compareTo(o2.getBookYear());
+	}
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/main/java/de/mpiwg/web/books/SortBooksByEditionYear.java	Wed Jun 21 05:58:54 2017 +0200
@@ -0,0 +1,19 @@
+package de.mpiwg.web.books;
+
+import java.util.Comparator;
+
+import de.mpiwg.gazetteer.db.DBBook;
+
+
+public class SortBooksByEditionYear implements Comparator<DBBook>{
+
+	public int compare(DBBook o1, DBBook o2) {
+
+		if(o1 == null || o2 == null){
+			return o1.getName().compareTo(o2.getName());
+		}
+
+		return o1.getEditionYear().compareTo(o2.getEditionYear());
+	}
+
+}
--- a/src/main/java/de/mpiwg/web/books/SortBooksByYear.java	Wed Jun 21 05:56:02 2017 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,19 +0,0 @@
-package de.mpiwg.web.books;
-
-import java.util.Comparator;
-
-import de.mpiwg.gazetteer.db.DBBook;
-
-
-public class SortBooksByYear implements Comparator<DBBook>{
-
-	public int compare(DBBook o1, DBBook o2) {
-
-		if(o1 == null || o2 == null){
-			return o1.getName().compareTo(o2.getName());
-		}
-
-		return o1.getYear().compareTo(o2.getYear());
-	}
-
-}
--- a/src/main/java/de/mpiwg/web/jsp/BooksPage.java	Wed Jun 21 05:56:02 2017 +0200
+++ b/src/main/java/de/mpiwg/web/jsp/BooksPage.java	Wed Jun 21 05:58:54 2017 +0200
@@ -28,7 +28,8 @@
 import de.mpiwg.web.books.SortBooksByPeriod;
 import de.mpiwg.web.books.SortBooksByStartYear;
 import de.mpiwg.web.books.SortBooksByTocCorrection;
-import de.mpiwg.web.books.SortBooksByYear;
+import de.mpiwg.web.books.SortBooksByBookYear;
+import de.mpiwg.web.books.SortBooksByEditionYear;
 import de.mpiwg.web.books.SortBooksBySource;
 
 public class BooksPage extends AbstractJSPPage{
@@ -47,7 +48,6 @@
 
 	private DataPaginator paginator = new DataPaginator();
 
-
 	private String tocBookId = new String();
 
 	private String bookNameFilter = new String();
@@ -59,15 +59,12 @@
 	private String editionFilter = new String();
 	private String lastEditorFilter = new String();
 	private String editTimeFilter = new String();
-	private String yearFilter = new String();
+	private String bookYearFilter = new String();
+	private String editionYearFilter = new String();
 	private String sourceFilter = new String();
 
-
-
-
 	private String filteringMessage;
 
-
 	public void loadParameters(HttpServletRequest request, HttpServletResponse response){
 		this.request = request;
 		this.response = response;
@@ -82,7 +79,8 @@
 		this.editionFilter = getParameter("editionFilter");
 		this.lastEditorFilter = getParameter("lastEditorFilter");
 		this.editTimeFilter = getParameter("editTimeFilter");
-		this.yearFilter = getParameter("yearFilter");
+		this.bookYearFilter = getParameter("bookYearFilter");
+		this.editionYearFilter = getParameter("editionYearFilter");
 		this.sourceFilter = getParameter("sourceFilter");
 
 	}
@@ -103,7 +101,8 @@
 					(StringUtils.isEmpty(bookNameFilter) || StringUtils.contains(book.getName(), bookNameFilter)) &&
 					(StringUtils.isEmpty(dynastyFilter) || StringUtils.contains(book.getDynasty(), dynastyFilter)) &&
 					(StringUtils.isEmpty(adminTypeFilter) || StringUtils.contains(book.getAdmin_type(), adminTypeFilter)) &&
-          (StringUtils.isEmpty(yearFilter) || book.getYear() == Integer.parseInt(yearFilter)) &&
+          (StringUtils.isEmpty(bookYearFilter) || book.getBookYear() == Integer.parseInt(bookYearFilter)) &&
+					(StringUtils.isEmpty(editionYearFilter) || book.getEditionYear() == Integer.parseInt(editionYearFilter)) &&
 					(StringUtils.isEmpty(sourceFilter) || StringUtils.contains(book.getSource(), sourceFilter))
 					){
 						String lastEditor = new String();
@@ -203,13 +202,22 @@
 		this.level1Filter = level1Filter;
 	}
 
-	public String getYearFilter() {
-		return yearFilter;
+	public String getBookYearFilter() {
+		return bookYearFilter;
 	}
 
 
-	public void setYearFilter(String yearFilter) {
-		this.yearFilter = yearFilter;
+	public void setBookYearFilter(String bookYearFilter) {
+		this.bookYearFilter = bookYearFilter;
+	}
+
+	public String getEditionYearFilter() {
+		return editionYearFilter;
+	}
+
+
+	public void setEditionYearFilter(String editionYearFilter) {
+		this.editionYearFilter = editionYearFilter;
 	}
 
 	public String getSourceFilter() {
@@ -480,13 +488,24 @@
 		filter();
 	}
 
-	public void sortByYearUp(){
-		Collections.sort(this.completeBookList, new SortBooksByYear());
+	public void sortByBookYearUp(){
+		Collections.sort(this.completeBookList, new SortBooksByBookYear());
 		filter();
 	}
 
-	public void sortByYearDown(){
-		Collections.sort(this.completeBookList, new SortBooksByYear());
+	public void sortByBookYearDown(){
+		Collections.sort(this.completeBookList, new SortBooksByBookYear());
+		Collections.reverse(completeBookList);
+		filter();
+	}
+
+	public void sortByEditionYearUp(){
+		Collections.sort(this.completeBookList, new SortBooksByBookYear());
+		filter();
+	}
+
+	public void sortByEditionYearDown(){
+		Collections.sort(this.completeBookList, new SortBooksByEditionYear());
 		Collections.reverse(completeBookList);
 		filter();
 	}
--- a/src/main/java/de/mpiwg/web/jsp/JSPProxy.java	Wed Jun 21 05:56:02 2017 +0200
+++ b/src/main/java/de/mpiwg/web/jsp/JSPProxy.java	Wed Jun 21 05:58:54 2017 +0200
@@ -590,18 +590,20 @@
 					getSessionBean().getBooksPage().sortByDateUp();
 				} else if(StringUtils.equals(action, "sortByDateDown")){
 					getSessionBean().getBooksPage().sortByDateDown();
-				} else if(StringUtils.equals(action, "sortByYearUp")){
-					getSessionBean().getBooksPage().sortByYearUp();
-				} else if(StringUtils.equals(action, "sortByYearDown")){
-					getSessionBean().getBooksPage().sortByYearDown();
+				} else if(StringUtils.equals(action, "sortByBookYearUp")){
+					getSessionBean().getBooksPage().sortByBookYearUp();
+				} else if(StringUtils.equals(action, "sortByBookYearDown")){
+					getSessionBean().getBooksPage().sortByBookYearDown();
+				} else if(StringUtils.equals(action, "sortByEditionYearUp")){
+					getSessionBean().getBooksPage().sortByEditionYearUp();
+				} else if(StringUtils.equals(action, "sortByEditionYearDown")){
+					getSessionBean().getBooksPage().sortByEditionYearDown();
 				} else if(StringUtils.equals(action, "sortBySourceUp")){
 					getSessionBean().getBooksPage().sortBySourceUp();
 				} else if(StringUtils.equals(action, "sortBySourceDown")){
 					getSessionBean().getBooksPage().sortBySourceDown();
 				}
-
-
-
+				
 				return BooksPage.page;
 			}
 
--- a/src/main/webapp/pages/books.jsp	Wed Jun 21 05:56:02 2017 +0200
+++ b/src/main/webapp/pages/books.jsp	Wed Jun 21 05:58:54 2017 +0200
@@ -306,17 +306,17 @@
 						<td>
 							<table class="sortTable">
 								<tr>
-									<td><label class="tableTitle">Year</label></td>
+									<td><label class="tableTitle">Book Year</label></td>
 									<td>
 										<table>
 											<tr><td>
 												<input type="image"
-													onclick="setAction('sortByYearUp', 'booksForm');"
+													onclick="setAction('sortByBookYearUp', 'booksForm');"
 													src="<%=sessionBean.getApplicationBean().getUpImage()%>"/>
 											</td></tr>
 											<tr><td>
 												<input type="image"
-													onclick="setAction('sortByYearDown', 'booksForm');"
+													onclick="setAction('sortByBookYearDown', 'booksForm');"
 													src="<%=sessionBean.getApplicationBean().getDownImage()%>"/>
 											</td></tr>
 										</table>
@@ -324,7 +324,7 @@
 								</tr>
 								<tr>
 									<td>
-										<input type="text" name="yearFilter" value="<%= sessionBean.getBooksPage().getYearFilter()%>" size="5"/>
+										<input type="text" name="bookYearFilter" value="<%= sessionBean.getBooksPage().getBookYearFilter()%>" size="5"/>
 									</td>
 									<td>
 										<input type="image"
@@ -334,7 +334,37 @@
 								</tr>
 							</table>
 						</td>
-
+						<td>
+							<table class="sortTable">
+								<tr>
+									<td><label class="tableTitle">Edition Year</label></td>
+									<td>
+										<table>
+											<tr><td>
+												<input type="image"
+													onclick="setAction('sortByEditionYearUp', 'booksForm');"
+													src="<%=sessionBean.getApplicationBean().getUpImage()%>"/>
+											</td></tr>
+											<tr><td>
+												<input type="image"
+													onclick="setAction('sortByEditionYearDown', 'booksForm');"
+													src="<%=sessionBean.getApplicationBean().getDownImage()%>"/>
+											</td></tr>
+										</table>
+									</td>
+								</tr>
+								<tr>
+									<td>
+										<input type="text" name="editionYearFilter" value="<%= sessionBean.getBooksPage().getEditionYearFilter()%>" size="5"/>
+									</td>
+									<td>
+										<input type="image"
+											onclick="setAction('filter', 'booksForm');"
+											src="<%=sessionBean.getApplicationBean().getFilterImage()%>"/>
+									</td>
+								</tr>
+							</table>
+						</td>
 						<td>
 							<table class="sortTable">
 								<tr>
@@ -479,7 +509,8 @@
 						<td><%=book.getPeriod() %></td>
 						<td><%=book.getDynasty() %></td>
 						<td><%=book.getAdmin_type() %></td>
-						<td><%=book.getYear() %></td>
+						<td><%=book.getBookYear() %></td>
+						<td><%=book.getEditionYear() %></td>
 						<td><%=book.getSource() %></td>
 						<td><a href="<%=sessionBean.getApplicationBean().getTocInterfaceUrl()%>/check_sections_details.php?book_id=<%=book.getId() %>&amp;count=10000&amp;sessionId=<%= session.getId()%>" target="blank">
 						Edit TOC</a></td>