annotate src/main/java/de/mpiwg/web/jsp/BooksPage.java @ 11:f15b0214cc1c

Adding query for table SectionVersion
author "jurzua <jurzua@mpiwg-berlin.mpg.de>"
date Tue, 26 May 2015 14:59:37 +0200
parents efe0e7174139
children d57fe2179f61
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
10
efe0e7174139 add BooksPage
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
1 package de.mpiwg.web.jsp;
efe0e7174139 add BooksPage
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
2
efe0e7174139 add BooksPage
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
3 import java.sql.Connection;
efe0e7174139 add BooksPage
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
4 import java.sql.ResultSet;
efe0e7174139 add BooksPage
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
5 import java.sql.Statement;
efe0e7174139 add BooksPage
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
6 import java.util.ArrayList;
11
f15b0214cc1c Adding query for table SectionVersion
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents: 10
diff changeset
7 import java.util.HashMap;
10
efe0e7174139 add BooksPage
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
8 import java.util.List;
11
f15b0214cc1c Adding query for table SectionVersion
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents: 10
diff changeset
9 import java.util.Map;
10
efe0e7174139 add BooksPage
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
10
efe0e7174139 add BooksPage
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
11 import javax.servlet.http.HttpServletRequest;
efe0e7174139 add BooksPage
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
12 import javax.servlet.http.HttpServletResponse;
efe0e7174139 add BooksPage
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
13
efe0e7174139 add BooksPage
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
14 import org.apache.log4j.Logger;
efe0e7174139 add BooksPage
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
15
efe0e7174139 add BooksPage
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
16 import de.mpiwg.gazetteer.db.DBBook;
efe0e7174139 add BooksPage
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
17 import de.mpiwg.gazetteer.db.DBSectionVersion;
efe0e7174139 add BooksPage
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
18 import de.mpiwg.gazetteer.utils.DBService;
efe0e7174139 add BooksPage
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
19
efe0e7174139 add BooksPage
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
20 public class BooksPage extends AbstractJSPPage{
efe0e7174139 add BooksPage
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
21
efe0e7174139 add BooksPage
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
22 private static Logger logger = Logger.getLogger(BooksPage.class);
efe0e7174139 add BooksPage
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
23
efe0e7174139 add BooksPage
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
24 public static String bean = "booksBean";
efe0e7174139 add BooksPage
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
25 public static String page = "pages/books.jsp";
efe0e7174139 add BooksPage
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
26 private List<DBBook> completeBookList;
11
f15b0214cc1c Adding query for table SectionVersion
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents: 10
diff changeset
27 private Map<String, DBSectionVersion> sectionVersionMap = null;
10
efe0e7174139 add BooksPage
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
28
efe0e7174139 add BooksPage
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
29
efe0e7174139 add BooksPage
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
30 public void loadParameters(HttpServletRequest request, HttpServletResponse response){
efe0e7174139 add BooksPage
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
31 this.request = request;
efe0e7174139 add BooksPage
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
32 this.response = response;
efe0e7174139 add BooksPage
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
33
efe0e7174139 add BooksPage
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
34 }
efe0e7174139 add BooksPage
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
35
efe0e7174139 add BooksPage
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
36 public List<DBBook> getCompleteBookList() {
efe0e7174139 add BooksPage
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
37 return completeBookList;
efe0e7174139 add BooksPage
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
38 }
efe0e7174139 add BooksPage
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
39
efe0e7174139 add BooksPage
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
40 public void loadBooks(){
efe0e7174139 add BooksPage
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
41 logger.debug("loadBooks");
efe0e7174139 add BooksPage
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
42
11
f15b0214cc1c Adding query for table SectionVersion
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents: 10
diff changeset
43 this.loadSectionsVersion();
f15b0214cc1c Adding query for table SectionVersion
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents: 10
diff changeset
44
10
efe0e7174139 add BooksPage
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
45 if(this.completeBookList == null){
efe0e7174139 add BooksPage
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
46 logger.debug("loading book list");
efe0e7174139 add BooksPage
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
47 this.completeBookList = new ArrayList<DBBook>();
efe0e7174139 add BooksPage
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
48 if(getSessionBean().getUser() != null){
efe0e7174139 add BooksPage
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
49 // === load book table from db ==
efe0e7174139 add BooksPage
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
50 for(DBBook book : DBService.getInstance().getBooks()){
efe0e7174139 add BooksPage
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
51 // TODO: get editor and date by book id
efe0e7174139 add BooksPage
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
52
11
f15b0214cc1c Adding query for table SectionVersion
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents: 10
diff changeset
53 book.setCurrentSectionVersion(sectionVersionMap.get(book.getId()));
f15b0214cc1c Adding query for table SectionVersion
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents: 10
diff changeset
54
10
efe0e7174139 add BooksPage
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
55 this.completeBookList.add(book);
efe0e7174139 add BooksPage
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
56 }
efe0e7174139 add BooksPage
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
57 }
efe0e7174139 add BooksPage
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
58 } else {
efe0e7174139 add BooksPage
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
59 // book list already been loaded
efe0e7174139 add BooksPage
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
60 }
efe0e7174139 add BooksPage
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
61 }
efe0e7174139 add BooksPage
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
62
11
f15b0214cc1c Adding query for table SectionVersion
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents: 10
diff changeset
63 private void loadSectionsVersion(){
f15b0214cc1c Adding query for table SectionVersion
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents: 10
diff changeset
64 this.sectionVersionMap = new HashMap<String, DBSectionVersion>();
f15b0214cc1c Adding query for table SectionVersion
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents: 10
diff changeset
65
f15b0214cc1c Adding query for table SectionVersion
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents: 10
diff changeset
66 try {
f15b0214cc1c Adding query for table SectionVersion
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents: 10
diff changeset
67 for(DBSectionVersion sv : DBService.getInstance().getSectionVersionList()){
f15b0214cc1c Adding query for table SectionVersion
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents: 10
diff changeset
68 this.sectionVersionMap.put(sv.getBooks_id(), sv);
f15b0214cc1c Adding query for table SectionVersion
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents: 10
diff changeset
69 }
f15b0214cc1c Adding query for table SectionVersion
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents: 10
diff changeset
70 } catch (Exception e) {
f15b0214cc1c Adding query for table SectionVersion
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents: 10
diff changeset
71 addMsg("There is an internal error: " + e.getLocalizedMessage());
f15b0214cc1c Adding query for table SectionVersion
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents: 10
diff changeset
72 e.printStackTrace();
f15b0214cc1c Adding query for table SectionVersion
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents: 10
diff changeset
73 }
f15b0214cc1c Adding query for table SectionVersion
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents: 10
diff changeset
74
f15b0214cc1c Adding query for table SectionVersion
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents: 10
diff changeset
75
f15b0214cc1c Adding query for table SectionVersion
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents: 10
diff changeset
76 }
10
efe0e7174139 add BooksPage
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
77
11
f15b0214cc1c Adding query for table SectionVersion
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents: 10
diff changeset
78
f15b0214cc1c Adding query for table SectionVersion
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents: 10
diff changeset
79
f15b0214cc1c Adding query for table SectionVersion
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents: 10
diff changeset
80
10
efe0e7174139 add BooksPage
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
81
efe0e7174139 add BooksPage
Zoe Hong <zhong@mpiwg-berlin.mpg.de>
parents:
diff changeset
82 }