Mercurial > hg > LGServices
diff src/main/java/de/mpiwg/web/jsp/SearchPage.java @ 94:d0dcbe8254f5
New Feature: Add book year and edition year in section searching page, also prevent from book not existing exception
author | Calvin Yeh <cyeh@mpipw-berlin.mpg.com> |
---|---|
date | Mon, 03 Jul 2017 23:43:44 +0200 |
parents | 910cfd8521dd |
children |
line wrap: on
line diff
--- a/src/main/java/de/mpiwg/web/jsp/SearchPage.java Wed Jun 21 06:25:34 2017 +0200 +++ b/src/main/java/de/mpiwg/web/jsp/SearchPage.java Mon Jul 03 23:43:44 2017 +0200 @@ -9,6 +9,7 @@ import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; +import de.mpiwg.web.search.*; import org.apache.commons.lang.StringUtils; import org.apache.log4j.Logger; @@ -17,19 +18,6 @@ import de.mpiwg.gazetteer.db.DBSection; import de.mpiwg.gazetteer.utils.DBService; import de.mpiwg.gazetteer.utils.DataProvider; -import de.mpiwg.web.search.SortSectionByAdminType; -import de.mpiwg.web.search.SortSectionByAuthor; -import de.mpiwg.web.search.SortSectionByBookId; -import de.mpiwg.web.search.SortSectionByBookName; -import de.mpiwg.web.search.SortSectionByDynasty; -import de.mpiwg.web.search.SortSectionByEdition; -import de.mpiwg.web.search.SortSectionById; -import de.mpiwg.web.search.SortSectionByLevel1; -import de.mpiwg.web.search.SortSectionByLevel2; -import de.mpiwg.web.search.SortSectionByPeriod; -import de.mpiwg.web.search.SortSectionByStartPage; -import de.mpiwg.web.search.SortSectionByVolume; -import de.mpiwg.web.search.SortSectionBySource; public class SearchPage extends AbstractJSPPage{ @@ -60,6 +48,8 @@ private String bookNameFilter = new String(); private String periodFilter = new String(); private String sectionNameFilter = new String(); + private String bookYearFilter = new String(); + private String editionYearFilter = new String(); private String sourceFilter = new String(); private DataPaginator paginator = new DataPaginator(); @@ -88,6 +78,8 @@ this.bookNameFilter = getParameter("bookNameFilter"); this.periodFilter = getParameter("periodFilter"); this.sectionNameFilter = getParameter("sectionNameFilter"); + this.bookYearFilter = getParameter("bookYearFilter"); + this.editionYearFilter = getParameter("editionYearFilter"); this.sourceFilter = getParameter("sourceFilter"); this.searchIn = getIntParameter("searchIn"); @@ -155,7 +147,9 @@ (StringUtils.isEmpty(bookNameFilter) || StringUtils.startsWith(section.getBook().getName(), bookNameFilter)) && (StringUtils.isEmpty(periodFilter) || StringUtils.startsWith(section.getBook().getPeriod(), periodFilter)) && (StringUtils.isEmpty(sectionNameFilter) || StringUtils.startsWith(section.getName(), sectionNameFilter)) && - (StringUtils.isEmpty(sourceFilter) || StringUtils.contains(section.getBook().getSource(), sourceFilter)) && + (StringUtils.isEmpty(bookYearFilter) || section.getBook().getBookYear() == Integer.parseInt(bookYearFilter)) && + (StringUtils.isEmpty(editionYearFilter) || section.getBook().getEditionYear() == Integer.parseInt(editionYearFilter)) && + (StringUtils.isEmpty(sourceFilter) || StringUtils.contains(section.getBook().getSource(), sourceFilter)) && (StringUtils.isEmpty(adminTypeFilter) || StringUtils.startsWith(section.getBook().getAdmin_type(), adminTypeFilter)) ){ this.filteredSectionList.add(section); @@ -533,6 +527,24 @@ this.periodFilter = periodFilter; } + public String getBookYearFilter() { + return bookYearFilter; + } + + + public void setBookYearFilter(String bookYearFilter) { + this.bookYearFilter = bookYearFilter; + } + + public String getEditionYearFilter() { + return editionYearFilter; + } + + + public void setEditionYearFilter(String editionYearFilter) { + this.editionYearFilter = editionYearFilter; + } + public String getSourceFilter() { return sourceFilter; } @@ -689,6 +701,28 @@ filter(); } + public void sortByBookYearUp(){ + Collections.sort(this.completeSectionList, new SortSectionByBookYear()); + filter(); + } + + public void sortByBookYearDown(){ + Collections.sort(this.completeSectionList, new SortSectionByBookYear()); + Collections.reverse(completeSectionList); + filter(); + } + + public void sortByEditionYearUp(){ + Collections.sort(this.completeSectionList, new SortSectionByEditionYear()); + filter(); + } + + public void sortByEditionYearDown(){ + Collections.sort(this.completeSectionList, new SortSectionByEditionYear()); + Collections.reverse(completeSectionList); + filter(); + } + public void sortBySourceUp(){ Collections.sort(this.completeSectionList, new SortSectionBySource()); filter(); @@ -701,4 +735,6 @@ } + + }