Mercurial > hg > LGServices
comparison src/main/java/de/mpiwg/web/jsp/BooksPage.java @ 75:e5697f7775b2
Display columns named "source" and "year" and implement filter & sorting on them. Hide the column "Start Year"
author | Calvin Yeh <cyeh@mpiwg-berlin.mpg.de> |
---|---|
date | Mon, 27 Mar 2017 17:50:58 +0200 |
parents | b8ad346e39a0 |
children | 141fa833d126 |
comparison
equal
deleted
inserted
replaced
74:92cb98332794 | 75:e5697f7775b2 |
---|---|
30 import de.mpiwg.web.books.SortBooksByTocCorrection; | 30 import de.mpiwg.web.books.SortBooksByTocCorrection; |
31 | 31 |
32 public class BooksPage extends AbstractJSPPage{ | 32 public class BooksPage extends AbstractJSPPage{ |
33 | 33 |
34 private static Logger logger = Logger.getLogger(BooksPage.class); | 34 private static Logger logger = Logger.getLogger(BooksPage.class); |
35 | 35 |
36 public static String bean = "booksBean"; | 36 public static String bean = "booksBean"; |
37 public static String page = "pages/books.jsp"; | 37 public static String page = "pages/books.jsp"; |
38 private List<DBBook> completeBookList; | 38 private List<DBBook> completeBookList; |
39 | 39 |
40 private List<DBBook> filteredBookList; | 40 private List<DBBook> filteredBookList; |
41 private List<DBBook> displayBookList; | 41 private List<DBBook> displayBookList; |
42 | 42 |
43 private Map<String, DBSectionVersion> sectionVersionMap = null; | 43 private Map<String, DBSectionVersion> sectionVersionMap = null; |
44 private int bookNumber; | 44 private int bookNumber; |
45 | 45 |
46 private DataPaginator paginator = new DataPaginator(); | 46 private DataPaginator paginator = new DataPaginator(); |
47 | 47 |
48 | 48 |
49 private String tocBookId = new String(); | 49 private String tocBookId = new String(); |
50 | 50 |
51 private String bookNameFilter = new String(); | 51 private String bookNameFilter = new String(); |
52 private String dynastyFilter = new String(); | 52 private String dynastyFilter = new String(); |
53 private String adminTypeFilter = new String(); | 53 private String adminTypeFilter = new String(); |
54 private String level1Filter = new String(); | 54 private String level1Filter = new String(); |
55 private String level2Filter = new String(); | 55 private String level2Filter = new String(); |
56 private String periodFilter = new String(); | 56 private String periodFilter = new String(); |
57 private String editionFilter = new String(); | 57 private String editionFilter = new String(); |
58 private String lastEditorFilter = new String(); | 58 private String lastEditorFilter = new String(); |
59 private String editTimeFilter = new String(); | 59 private String editTimeFilter = new String(); |
60 | 60 private String yearFilter = new String(); |
61 | 61 private String sourceFilter = new String(); |
62 | |
63 | |
62 | 64 |
63 | 65 |
64 private String filteringMessage; | 66 private String filteringMessage; |
65 | 67 |
66 | 68 |
67 public void loadParameters(HttpServletRequest request, HttpServletResponse response){ | 69 public void loadParameters(HttpServletRequest request, HttpServletResponse response){ |
68 this.request = request; | 70 this.request = request; |
69 this.response = response; | 71 this.response = response; |
70 | 72 |
71 this.tocBookId = getParameter("tocBookId"); | 73 this.tocBookId = getParameter("tocBookId"); |
72 this.bookNameFilter = getParameter("bookNameFilter"); | 74 this.bookNameFilter = getParameter("bookNameFilter"); |
73 this.dynastyFilter = getParameter("dynastyFilter"); | 75 this.dynastyFilter = getParameter("dynastyFilter"); |
74 this.adminTypeFilter = getParameter("adminTypeFilter"); | 76 this.adminTypeFilter = getParameter("adminTypeFilter"); |
75 this.level1Filter = getParameter("level1Filter"); | 77 this.level1Filter = getParameter("level1Filter"); |
76 this.level2Filter = getParameter("level2Filter"); | 78 this.level2Filter = getParameter("level2Filter"); |
77 this.periodFilter = getParameter("periodFilter"); | 79 this.periodFilter = getParameter("periodFilter"); |
78 this.editionFilter = getParameter("editionFilter"); | 80 this.editionFilter = getParameter("editionFilter"); |
79 this.lastEditorFilter = getParameter("lastEditorFilter"); | 81 this.lastEditorFilter = getParameter("lastEditorFilter"); |
80 this.editTimeFilter = getParameter("editTimeFilter"); | 82 this.editTimeFilter = getParameter("editTimeFilter"); |
81 | 83 this.yearFilter = getParameter("yearFilter"); |
82 } | 84 this.sourceFilter = getParameter("sourceFilter"); |
83 | 85 |
84 | 86 } |
87 | |
88 | |
85 | 89 |
86 public void filter(){ | 90 public void filter(){ |
87 | 91 |
88 this.filteredBookList = new ArrayList<DBBook>(); | 92 this.filteredBookList = new ArrayList<DBBook>(); |
89 for(DBBook book : this.completeBookList){ | 93 for(DBBook book : this.completeBookList){ |
90 if(!this.filteredBookList.contains(book)){ | 94 if(!this.filteredBookList.contains(book)){ |
91 | 95 |
92 if( //(StringUtils.isEmpty(dynastyFilter) || StringUtils.startsWith(book.getDynasty(), dynastyFilter)) && | 96 if( //(StringUtils.isEmpty(dynastyFilter) || StringUtils.startsWith(book.getDynasty(), dynastyFilter)) && |
93 (StringUtils.isEmpty(level1Filter) || StringUtils.contains(book.getLevel1(), level1Filter)) && | 97 (StringUtils.isEmpty(level1Filter) || StringUtils.contains(book.getLevel1(), level1Filter)) && |
94 (StringUtils.isEmpty(level2Filter) || StringUtils.contains(book.getLevel2(), level2Filter)) && | 98 (StringUtils.isEmpty(level2Filter) || StringUtils.contains(book.getLevel2(), level2Filter)) && |
95 (StringUtils.isEmpty(periodFilter) || StringUtils.contains(book.getPeriod(), periodFilter)) && | 99 (StringUtils.isEmpty(periodFilter) || StringUtils.contains(book.getPeriod(), periodFilter)) && |
96 (StringUtils.isEmpty(editionFilter) || StringUtils.contains(book.getEdition(), editionFilter)) && | 100 (StringUtils.isEmpty(editionFilter) || StringUtils.contains(book.getEdition(), editionFilter)) && |
97 (StringUtils.isEmpty(bookNameFilter) || StringUtils.contains(book.getName(), bookNameFilter)) && | 101 (StringUtils.isEmpty(bookNameFilter) || StringUtils.contains(book.getName(), bookNameFilter)) && |
98 (StringUtils.isEmpty(dynastyFilter) || StringUtils.contains(book.getDynasty(), dynastyFilter)) && | 102 (StringUtils.isEmpty(dynastyFilter) || StringUtils.contains(book.getDynasty(), dynastyFilter)) && |
99 (StringUtils.isEmpty(adminTypeFilter) || StringUtils.contains(book.getAdmin_type(), adminTypeFilter)) | 103 (StringUtils.isEmpty(adminTypeFilter) || StringUtils.contains(book.getAdmin_type(), adminTypeFilter)) && |
104 (StringUtils.isEmpty(yearFilter) || StringUtils.contains(book.getYear(), yearFilter)) && | |
105 (StringUtils.isEmpty(sourceFilter) || StringUtils.contains(book.getSource(), sourceFilter)) | |
100 ){ | 106 ){ |
101 String lastEditor = new String(); | 107 String lastEditor = new String(); |
102 String editTime = new String(); | 108 String editTime = new String(); |
103 if ( book.getCurrentSectionVersion() != null) { | 109 if ( book.getCurrentSectionVersion() != null) { |
104 lastEditor = book.getCurrentSectionVersion().getEditor(); | 110 lastEditor = book.getCurrentSectionVersion().getEditor(); |
105 editTime = book.getCurrentSectionVersion().getDate(); | 111 editTime = book.getCurrentSectionVersion().getDate(); |
106 } | 112 } |
107 | 113 |
108 if( (StringUtils.isEmpty(lastEditorFilter) || StringUtils.contains(lastEditor, lastEditorFilter)) && | 114 if( (StringUtils.isEmpty(lastEditorFilter) || StringUtils.contains(lastEditor, lastEditorFilter)) && |
109 (StringUtils.isEmpty(editTimeFilter) || StringUtils.contains(editTime, editTimeFilter)) | 115 (StringUtils.isEmpty(editTimeFilter) || StringUtils.contains(editTime, editTimeFilter)) |
110 | 116 |
111 ){ | 117 ){ |
112 this.filteredBookList.add(book); | 118 this.filteredBookList.add(book); |
113 | 119 |
114 } | 120 } |
115 | 121 |
116 //this.filteredBookList.add(book); | 122 //this.filteredBookList.add(book); |
117 | 123 |
118 } | 124 } |
119 } | 125 } |
120 } | 126 } |
121 | 127 |
122 if(completeBookList.size() > 0){ | 128 if(completeBookList.size() > 0){ |
123 this.filteringMessage = this.filteredBookList.size() + " book(s) listed after filtering"; | 129 this.filteringMessage = this.filteredBookList.size() + " book(s) listed after filtering"; |
124 this.paginator.setCurrentPage(0); | 130 this.paginator.setCurrentPage(0); |
125 this.paginator.resetNumberOfPages(filteredBookList.size()); | 131 this.paginator.resetNumberOfPages(filteredBookList.size()); |
126 this.updateCurrentBooks(); | 132 this.updateCurrentBooks(); |
127 }else{ | 133 }else{ |
128 this.filteredBookList = null; | 134 this.filteredBookList = null; |
129 } | 135 } |
130 | 136 |
131 } | 137 } |
132 | 138 |
133 | 139 |
134 private void updateCurrentBooks() { | 140 private void updateCurrentBooks() { |
135 // update displayBookList using paginator | 141 // update displayBookList using paginator |
136 | 142 |
137 this.paginator.initCount(); | 143 this.paginator.initCount(); |
138 int startRecord = this.paginator.getCurrentPage() | 144 int startRecord = this.paginator.getCurrentPage() |
139 * this.paginator.getItemsPerPage(); | 145 * this.paginator.getItemsPerPage(); |
140 | 146 |
141 if(this.paginator.getNumberOfPages() == 0){ | 147 if(this.paginator.getNumberOfPages() == 0){ |
142 this.displayBookList = new ArrayList<DBBook>(); | 148 this.displayBookList = new ArrayList<DBBook>(); |
143 }else if((this.paginator.getCurrentPage() + 1) == this.paginator.getNumberOfPages()){ | 149 }else if((this.paginator.getCurrentPage() + 1) == this.paginator.getNumberOfPages()){ |
144 int mod = this.filteredBookList.size() % paginator.getItemsPerPage(); | 150 int mod = this.filteredBookList.size() % paginator.getItemsPerPage(); |
145 if(mod == 0){ | 151 if(mod == 0){ |
146 this.displayBookList = filteredBookList.subList(startRecord, startRecord + this.paginator.getItemsPerPage()); | 152 this.displayBookList = filteredBookList.subList(startRecord, startRecord + this.paginator.getItemsPerPage()); |
147 }else{ | 153 }else{ |
148 this.displayBookList = filteredBookList.subList(startRecord, startRecord + mod); | 154 this.displayBookList = filteredBookList.subList(startRecord, startRecord + mod); |
149 } | 155 } |
150 | 156 |
151 }else{ | 157 }else{ |
152 this.displayBookList = filteredBookList.subList(startRecord, startRecord + this.paginator.getItemsPerPage()); | 158 this.displayBookList = filteredBookList.subList(startRecord, startRecord + this.paginator.getItemsPerPage()); |
153 } | 159 } |
154 | 160 |
155 } | 161 } |
156 | 162 |
157 | 163 |
158 public List<DBBook> getDisplayBookList() { | 164 public List<DBBook> getDisplayBookList() { |
159 return displayBookList; | 165 return displayBookList; |
160 } | 166 } |
161 | 167 |
163 | 169 |
164 public void setDisplayBookList(List<DBBook> displayBookList) { | 170 public void setDisplayBookList(List<DBBook> displayBookList) { |
165 this.displayBookList = displayBookList; | 171 this.displayBookList = displayBookList; |
166 } | 172 } |
167 | 173 |
168 | 174 |
169 public String getDynastyFilter() { | 175 public String getDynastyFilter() { |
170 return dynastyFilter; | 176 return dynastyFilter; |
171 } | 177 } |
172 | 178 |
173 | 179 |
193 | 199 |
194 public void setLevel1Filter(String level1Filter) { | 200 public void setLevel1Filter(String level1Filter) { |
195 this.level1Filter = level1Filter; | 201 this.level1Filter = level1Filter; |
196 } | 202 } |
197 | 203 |
198 | 204 public String getYearFilter() { |
205 return yearFilter; | |
206 } | |
207 | |
208 | |
209 public void setYearFilter(String yearFilter) { | |
210 this.yearFilter = yearFilter; | |
211 } | |
212 | |
213 public String getSourceFilter() { | |
214 return yearFilter; | |
215 } | |
216 | |
217 | |
218 public void setSourceFilter(String sourceFilter) { | |
219 this.sourceFilter = sourceFilter; | |
220 } | |
221 | |
222 | |
199 public String getTocBookId() { | 223 public String getTocBookId() { |
200 return tocBookId; | 224 return tocBookId; |
201 } | 225 } |
202 | 226 |
203 public void setTocBookId(String tocBookId) { | 227 public void setTocBookId(String tocBookId) { |
210 | 234 |
211 public void setBookNumber(int bookNumber) { | 235 public void setBookNumber(int bookNumber) { |
212 this.bookNumber = bookNumber; | 236 this.bookNumber = bookNumber; |
213 } | 237 } |
214 | 238 |
215 | 239 |
216 public List<DBBook> getCompleteBookList() { | 240 public List<DBBook> getCompleteBookList() { |
217 return completeBookList; | 241 return completeBookList; |
218 } | 242 } |
219 | 243 |
220 public void loadBooks(){ | 244 public void loadBooks(){ |
221 if(this.completeBookList == null){ | 245 if(this.completeBookList == null){ |
222 this.forceLoadBooks(); | 246 this.forceLoadBooks(); |
223 this.filteringMessage = null; | 247 this.filteringMessage = null; |
224 } | 248 } |
225 } | 249 } |
226 | 250 |
227 public void forceLoadBooks(){ | 251 public void forceLoadBooks(){ |
228 logger.debug("force loadBooks"); | 252 logger.debug("force loadBooks"); |
229 | 253 |
230 this.loadSectionsVersion(); | 254 this.loadSectionsVersion(); |
231 | 255 |
232 this.completeBookList = new ArrayList<DBBook>(); | 256 this.completeBookList = new ArrayList<DBBook>(); |
233 if(getSessionBean().getUser() != null){ | 257 if(getSessionBean().getUser() != null){ |
234 logger.debug("loading book list"); | 258 logger.debug("loading book list"); |
235 // === load book table from db == | 259 // === load book table from db == |
236 | 260 |
237 for(DBBook book : DBService.getInstance().getBooks()){ | 261 for(DBBook book : DBService.getInstance().getBooks()){ |
238 // set editor and date (current version) | 262 // set editor and date (current version) |
239 book.setCurrentSectionVersion(sectionVersionMap.get(book.getId())); | 263 book.setCurrentSectionVersion(sectionVersionMap.get(book.getId())); |
240 | 264 |
241 this.completeBookList.add(book); | 265 this.completeBookList.add(book); |
242 } | 266 } |
243 | 267 |
244 this.setBookNumber(this.completeBookList.size()); | 268 this.setBookNumber(this.completeBookList.size()); |
245 | 269 |
246 } | 270 } |
247 | 271 |
248 sortByBookIdUp(); //bookId ascend as default sorting | 272 sortByBookIdUp(); //bookId ascend as default sorting |
249 // Note that every sortXYZ() function has filter() in it, so it will also force reload filteredList and displayList | 273 // Note that every sortXYZ() function has filter() in it, so it will also force reload filteredList and displayList |
250 | 274 |
251 | 275 |
252 | 276 |
253 | 277 |
254 } | 278 } |
255 | 279 |
256 private void loadSectionsVersion(){ | 280 private void loadSectionsVersion(){ |
257 this.sectionVersionMap = new HashMap<String, DBSectionVersion>(); | 281 this.sectionVersionMap = new HashMap<String, DBSectionVersion>(); |
258 | 282 |
259 try { | 283 try { |
260 for(DBSectionVersion sv : DBService.getInstance().getSectionVersionList()){ | 284 for(DBSectionVersion sv : DBService.getInstance().getSectionVersionList()){ |
261 this.sectionVersionMap.put(sv.getBooks_id(), sv); | 285 this.sectionVersionMap.put(sv.getBooks_id(), sv); |
262 } | 286 } |
263 } catch (Exception e) { | 287 } catch (Exception e) { |
264 addMsg("There is an internal error: " + e.getLocalizedMessage()); | 288 addMsg("There is an internal error: " + e.getLocalizedMessage()); |
265 e.printStackTrace(); | 289 e.printStackTrace(); |
266 } | 290 } |
267 | 291 |
268 | 292 |
269 } | 293 } |
270 | 294 |
271 public void setTocCorrection() { | 295 public void setTocCorrection() { |
272 String tocBookId = this.getTocBookId(); | 296 String tocBookId = this.getTocBookId(); |
273 logger.debug("tocFinishedBookId=" + tocBookId); | 297 logger.debug("tocFinishedBookId=" + tocBookId); |
274 try { | 298 try { |
275 // update toc correction status to DB | 299 // update toc correction status to DB |
276 DBService.getInstance().updateTocCorrection(tocBookId, "1"); | 300 DBService.getInstance().updateTocCorrection(tocBookId, "1"); |
277 | 301 |
278 // update toc correction status | 302 // update toc correction status |
279 DBService.getInstance().getBook(tocBookId).setTocCorrection("1"); | 303 DBService.getInstance().getBook(tocBookId).setTocCorrection("1"); |
280 | 304 |
281 }catch (Exception e) { | 305 }catch (Exception e) { |
282 addMsg("There is an internal error: " + e.getLocalizedMessage()); | 306 addMsg("There is an internal error: " + e.getLocalizedMessage()); |
283 e.printStackTrace(); | 307 e.printStackTrace(); |
284 } | 308 } |
285 | 309 |
286 //logger.debug("toc_correction:"+DBService.getInstance().getBook(tocBookId).getTocCorrection()); | 310 //logger.debug("toc_correction:"+DBService.getInstance().getBook(tocBookId).getTocCorrection()); |
287 | 311 |
288 } | 312 } |
289 | 313 |
290 | 314 |
291 public void unSetTocCorrection() { | 315 public void unSetTocCorrection() { |
292 String tocBookId = this.getTocBookId(); | 316 String tocBookId = this.getTocBookId(); |
293 logger.debug("tocFinishedBookId=" + tocBookId); | 317 logger.debug("tocFinishedBookId=" + tocBookId); |
294 try { | 318 try { |
295 DBService.getInstance().updateTocCorrection(tocBookId, "0"); | 319 DBService.getInstance().updateTocCorrection(tocBookId, "0"); |
296 DBService.getInstance().getBook(tocBookId).setTocCorrection("0"); | 320 DBService.getInstance().getBook(tocBookId).setTocCorrection("0"); |
297 | 321 |
298 }catch (Exception e) { | 322 }catch (Exception e) { |
299 addMsg("There is an internal error: " + e.getLocalizedMessage()); | 323 addMsg("There is an internal error: " + e.getLocalizedMessage()); |
300 e.printStackTrace(); | 324 e.printStackTrace(); |
301 } | 325 } |
302 | 326 |
303 } | 327 } |
304 | 328 |
305 public void saveComment() { | 329 public void saveComment() { |
306 | 330 |
307 String bookComment = getParameter("bookComment"); | 331 String bookComment = getParameter("bookComment"); |
308 String currentBookId = getParameter("currentBookId"); | 332 String currentBookId = getParameter("currentBookId"); |
309 | 333 |
310 logger.debug("saveComment. currentBookId=" + currentBookId + ", bookComment: "+ bookComment); | 334 logger.debug("saveComment. currentBookId=" + currentBookId + ", bookComment: "+ bookComment); |
311 | 335 |
312 try { | 336 try { |
313 DBService.getInstance().updateComment(currentBookId, bookComment); | 337 DBService.getInstance().updateComment(currentBookId, bookComment); |
314 //DBService.getInstance().getBook(currentBookId).setComments(bookComment); | 338 //DBService.getInstance().getBook(currentBookId).setComments(bookComment); |
315 | 339 |
316 } catch (Exception e) { | 340 } catch (Exception e) { |
317 addMsg("There is an internal error: " + e.getLocalizedMessage()); | 341 addMsg("There is an internal error: " + e.getLocalizedMessage()); |
318 e.printStackTrace(); | 342 e.printStackTrace(); |
319 } | 343 } |
320 | 344 |
321 } | 345 } |
322 | 346 |
323 | 347 |
324 | 348 |
325 public void sortByBookIdUp() { | 349 public void sortByBookIdUp() { |
326 Collections.sort(this.completeBookList, new SortBooksByBookId()); | 350 Collections.sort(this.completeBookList, new SortBooksByBookId()); |
327 filter(); | 351 filter(); |
328 } | 352 } |
329 | 353 |
335 | 359 |
336 public void sortByBookNameUp(){ | 360 public void sortByBookNameUp(){ |
337 Collections.sort(this.completeBookList, new SortBooksByName()); | 361 Collections.sort(this.completeBookList, new SortBooksByName()); |
338 filter(); | 362 filter(); |
339 } | 363 } |
340 | 364 |
341 public void sortByBookNameDown(){ | 365 public void sortByBookNameDown(){ |
342 Collections.sort(this.completeBookList, new SortBooksByName()); | 366 Collections.sort(this.completeBookList, new SortBooksByName()); |
343 Collections.reverse(completeBookList); | 367 Collections.reverse(completeBookList); |
344 filter(); | 368 filter(); |
345 } | 369 } |
346 | 370 |
347 public void sortByLevel1Up(){ | 371 public void sortByLevel1Up(){ |
348 Collections.sort(this.completeBookList, new SortBooksByLevel1()); | 372 Collections.sort(this.completeBookList, new SortBooksByLevel1()); |
349 filter(); | 373 filter(); |
350 } | 374 } |
351 | 375 |
352 public void sortByLevel1Down(){ | 376 public void sortByLevel1Down(){ |
353 Collections.sort(this.completeBookList, new SortBooksByLevel1()); | 377 Collections.sort(this.completeBookList, new SortBooksByLevel1()); |
354 Collections.reverse(completeBookList); | 378 Collections.reverse(completeBookList); |
355 filter(); | 379 filter(); |
356 } | 380 } |
357 public void sortByLevel2Up(){ | 381 public void sortByLevel2Up(){ |
358 Collections.sort(this.completeBookList, new SortBooksByLevel2()); | 382 Collections.sort(this.completeBookList, new SortBooksByLevel2()); |
359 filter(); | 383 filter(); |
360 } | 384 } |
361 | 385 |
362 public void sortByLevel2Down(){ | 386 public void sortByLevel2Down(){ |
363 Collections.sort(this.completeBookList, new SortBooksByLevel2()); | 387 Collections.sort(this.completeBookList, new SortBooksByLevel2()); |
364 Collections.reverse(completeBookList); | 388 Collections.reverse(completeBookList); |
365 filter(); | 389 filter(); |
366 } | 390 } |
367 | 391 |
368 public void sortByPeriodUp(){ | 392 public void sortByPeriodUp(){ |
369 Collections.sort(this.completeBookList, new SortBooksByPeriod()); | 393 Collections.sort(this.completeBookList, new SortBooksByPeriod()); |
370 filter(); | 394 filter(); |
371 } | 395 } |
372 | 396 |
373 public void sortByPeriodDown(){ | 397 public void sortByPeriodDown(){ |
374 Collections.sort(this.completeBookList, new SortBooksByPeriod()); | 398 Collections.sort(this.completeBookList, new SortBooksByPeriod()); |
375 Collections.reverse(completeBookList); | 399 Collections.reverse(completeBookList); |
376 filter(); | 400 filter(); |
377 } | 401 } |
378 | 402 |
379 public void sortByAdminTypeUp(){ | 403 public void sortByAdminTypeUp(){ |
380 Collections.sort(this.completeBookList, new SortBooksByAdminType()); | 404 Collections.sort(this.completeBookList, new SortBooksByAdminType()); |
381 filter(); | 405 filter(); |
382 } | 406 } |
383 | 407 |
384 public void sortByAdminTypeDown(){ | 408 public void sortByAdminTypeDown(){ |
385 Collections.sort(this.completeBookList, new SortBooksByAdminType()); | 409 Collections.sort(this.completeBookList, new SortBooksByAdminType()); |
386 Collections.reverse(completeBookList); | 410 Collections.reverse(completeBookList); |
387 filter(); | 411 filter(); |
388 } | 412 } |
389 | 413 |
390 public void sortByStartYearUp(){ | 414 public void sortByStartYearUp(){ |
391 Collections.sort(this.completeBookList, new SortBooksByStartYear()); | 415 Collections.sort(this.completeBookList, new SortBooksByStartYear()); |
392 filter(); | 416 filter(); |
393 } | 417 } |
394 | 418 |
395 public void sortByStartYearDown(){ | 419 public void sortByStartYearDown(){ |
396 Collections.sort(this.completeBookList, new SortBooksByStartYear()); | 420 Collections.sort(this.completeBookList, new SortBooksByStartYear()); |
397 Collections.reverse(completeBookList); | 421 Collections.reverse(completeBookList); |
398 filter(); | 422 filter(); |
399 } | 423 } |
400 | 424 |
401 public void sortByDynastyUp(){ | 425 public void sortByDynastyUp(){ |
402 Collections.sort(this.completeBookList, new SortBooksByDynasty()); | 426 Collections.sort(this.completeBookList, new SortBooksByDynasty()); |
403 filter(); | 427 filter(); |
404 } | 428 } |
405 | 429 |
406 public void sortByDynastyDown(){ | 430 public void sortByDynastyDown(){ |
407 Collections.sort(this.completeBookList, new SortBooksByDynasty()); | 431 Collections.sort(this.completeBookList, new SortBooksByDynasty()); |
408 Collections.reverse(completeBookList); | 432 Collections.reverse(completeBookList); |
409 filter(); | 433 filter(); |
410 } | 434 } |
411 public void sortByEditionUp(){ | 435 public void sortByEditionUp(){ |
412 Collections.sort(this.completeBookList, new SortBooksByEdition()); | 436 Collections.sort(this.completeBookList, new SortBooksByEdition()); |
413 filter(); | 437 filter(); |
414 } | 438 } |
415 | 439 |
416 public void sortByEditionDown(){ | 440 public void sortByEditionDown(){ |
417 Collections.sort(this.completeBookList, new SortBooksByEdition()); | 441 Collections.sort(this.completeBookList, new SortBooksByEdition()); |
418 Collections.reverse(completeBookList); | 442 Collections.reverse(completeBookList); |
419 filter(); | 443 filter(); |
420 } | 444 } |
421 | 445 |
422 | 446 |
423 | 447 |
424 public void sortByEditorUp(){ | 448 public void sortByEditorUp(){ |
425 Collections.sort(this.completeBookList, new SortBooksByEditor()); | 449 Collections.sort(this.completeBookList, new SortBooksByEditor()); |
426 filter(); | 450 filter(); |
427 } | 451 } |
428 | 452 |
429 public void sortByEditorDown(){ | 453 public void sortByEditorDown(){ |
430 Collections.sort(this.completeBookList, new SortBooksByEditor()); | 454 Collections.sort(this.completeBookList, new SortBooksByEditor()); |
431 Collections.reverse(completeBookList); | 455 Collections.reverse(completeBookList); |
432 filter(); | 456 filter(); |
433 } | 457 } |
434 | 458 |
435 public void sortByDateUp(){ | 459 public void sortByDateUp(){ |
436 Collections.sort(this.completeBookList, new SortBooksByDate()); | 460 Collections.sort(this.completeBookList, new SortBooksByDate()); |
437 filter(); | 461 filter(); |
438 } | 462 } |
439 | 463 |
440 public void sortByDateDown(){ | 464 public void sortByDateDown(){ |
441 Collections.sort(this.completeBookList, new SortBooksByDate()); | 465 Collections.sort(this.completeBookList, new SortBooksByDate()); |
442 Collections.reverse(completeBookList); | 466 Collections.reverse(completeBookList); |
443 filter(); | 467 filter(); |
444 } | 468 } |
445 | 469 |
446 public void sortByTocCorrectionUp(){ | 470 public void sortByTocCorrectionUp(){ |
447 Collections.sort(this.completeBookList, new SortBooksByTocCorrection()); | 471 Collections.sort(this.completeBookList, new SortBooksByTocCorrection()); |
448 filter(); | 472 filter(); |
449 } | 473 } |
450 | 474 |
451 public void sortByTocCorrectionDown(){ | 475 public void sortByTocCorrectionDown(){ |
452 Collections.sort(this.completeBookList, new SortBooksByTocCorrection()); | 476 Collections.sort(this.completeBookList, new SortBooksByTocCorrection()); |
453 Collections.reverse(completeBookList); | 477 Collections.reverse(completeBookList); |
454 filter(); | 478 filter(); |
455 } | 479 } |
456 | 480 |
481 public void sortByYearUp(){ | |
482 Collections.sort(this.completeBookList, new SortBooksByYear()); | |
483 filter(); | |
484 } | |
485 | |
486 public void sortByYearDown(){ | |
487 Collections.sort(this.completeBookList, new SortBooksByYear()); | |
488 Collections.reverse(completeBookList); | |
489 filter(); | |
490 } | |
491 | |
492 public void sortBySourceUp(){ | |
493 Collections.sort(this.completeBookList, new SortBooksBySource()); | |
494 filter(); | |
495 } | |
496 | |
497 public void sortBySourceDown(){ | |
498 Collections.sort(this.completeBookList, new SortBooksBySource()); | |
499 Collections.reverse(completeBookList); | |
500 filter(); | |
501 } | |
502 | |
457 public String getBookNameFilter() { | 503 public String getBookNameFilter() { |
458 return bookNameFilter; | 504 return bookNameFilter; |
459 } | 505 } |
460 | 506 |
461 | 507 |
537 } | 583 } |
538 | 584 |
539 public void setPaginator(DataPaginator paginator) { | 585 public void setPaginator(DataPaginator paginator) { |
540 this.paginator = paginator; | 586 this.paginator = paginator; |
541 } | 587 } |
542 | 588 |
543 | 589 |
544 | 590 |
545 public String getFilteringMessage() { | 591 public String getFilteringMessage() { |
546 return filteringMessage; | 592 return filteringMessage; |
547 } | 593 } |