annotate src/main/java/de/mpiwg/gazetteer/utils/DBService.java @ 10:5610250d021a default tip

SectionsIndex, we added a method to print the setting of the VM
author "jurzua <jurzua@mpiwg-berlin.mpg.de>"
date Thu, 19 Mar 2015 11:46:33 +0100
parents 5316e79f9a27
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
1 package de.mpiwg.gazetteer.utils;
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
2
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
3 import java.io.IOException;
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
4 import java.sql.Connection;
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
5 import java.sql.DriverManager;
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
6 import java.sql.ResultSet;
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
7 import java.sql.SQLException;
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
8 import java.sql.Statement;
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
9 import java.util.ArrayList;
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
10 import java.util.Date;
10
5610250d021a SectionsIndex, we added a method to print the setting of the VM
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents: 5
diff changeset
11 import java.util.HashMap;
0
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
12 import java.util.List;
10
5610250d021a SectionsIndex, we added a method to print the setting of the VM
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents: 5
diff changeset
13 import java.util.Map;
0
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
14
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
15 import org.apache.log4j.Logger;
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
16 import org.hibernate.Query;
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
17 import org.hibernate.Session;
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
18
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
19 import de.mpiwg.gazetteer.bo.DBEntry;
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
20 import de.mpiwg.gazetteer.bo.LGBranch;
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
21 import de.mpiwg.gazetteer.bo.LGFile;
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
22 import de.mpiwg.gazetteer.bo.SearchRulesFile;
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
23 import de.mpiwg.gazetteer.bo.Sequence;
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
24 import de.mpiwg.gazetteer.db.DBBook;
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
25 import de.mpiwg.gazetteer.db.DBSection;
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
26 import de.mpiwg.web.SessionBean;
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
27
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
28 public class DBService {
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
29
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
30 private static Logger logger = Logger.getLogger(DBService.class);
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
31
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
32 // JDBC driver name and database URL
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
33 static final String JDBC_DRIVER = "com.mysql.jdbc.Driver";
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
34 static final String DB_URL = "jdbc:mysql://localhost/";
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
35
10
5610250d021a SectionsIndex, we added a method to print the setting of the VM
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents: 5
diff changeset
36 private static DBService instance = null;
5610250d021a SectionsIndex, we added a method to print the setting of the VM
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents: 5
diff changeset
37
5610250d021a SectionsIndex, we added a method to print the setting of the VM
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents: 5
diff changeset
38 public static DBService getInstance(){
5610250d021a SectionsIndex, we added a method to print the setting of the VM
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents: 5
diff changeset
39 if(instance == null){
5610250d021a SectionsIndex, we added a method to print the setting of the VM
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents: 5
diff changeset
40 instance = new DBService();
5610250d021a SectionsIndex, we added a method to print the setting of the VM
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents: 5
diff changeset
41 }
5610250d021a SectionsIndex, we added a method to print the setting of the VM
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents: 5
diff changeset
42 return instance;
5610250d021a SectionsIndex, we added a method to print the setting of the VM
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents: 5
diff changeset
43 }
5610250d021a SectionsIndex, we added a method to print the setting of the VM
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents: 5
diff changeset
44
5610250d021a SectionsIndex, we added a method to print the setting of the VM
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents: 5
diff changeset
45 private Map<String, DBBook> bookMap;
5610250d021a SectionsIndex, we added a method to print the setting of the VM
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents: 5
diff changeset
46
5610250d021a SectionsIndex, we added a method to print the setting of the VM
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents: 5
diff changeset
47 public DBBook getBook(String id){
5610250d021a SectionsIndex, we added a method to print the setting of the VM
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents: 5
diff changeset
48 return getBookMap().get(id);
5610250d021a SectionsIndex, we added a method to print the setting of the VM
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents: 5
diff changeset
49 }
5610250d021a SectionsIndex, we added a method to print the setting of the VM
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents: 5
diff changeset
50
5610250d021a SectionsIndex, we added a method to print the setting of the VM
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents: 5
diff changeset
51 private Map<String, DBBook> getBookMap(){
5610250d021a SectionsIndex, we added a method to print the setting of the VM
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents: 5
diff changeset
52 if(bookMap == null){
5610250d021a SectionsIndex, we added a method to print the setting of the VM
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents: 5
diff changeset
53 try {
5610250d021a SectionsIndex, we added a method to print the setting of the VM
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents: 5
diff changeset
54 this.loadBookMap();
5610250d021a SectionsIndex, we added a method to print the setting of the VM
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents: 5
diff changeset
55 } catch (Exception e) {
5610250d021a SectionsIndex, we added a method to print the setting of the VM
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents: 5
diff changeset
56 e.printStackTrace();
5610250d021a SectionsIndex, we added a method to print the setting of the VM
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents: 5
diff changeset
57 }
5610250d021a SectionsIndex, we added a method to print the setting of the VM
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents: 5
diff changeset
58 }
5610250d021a SectionsIndex, we added a method to print the setting of the VM
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents: 5
diff changeset
59 return this.bookMap;
5610250d021a SectionsIndex, we added a method to print the setting of the VM
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents: 5
diff changeset
60 }
5610250d021a SectionsIndex, we added a method to print the setting of the VM
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents: 5
diff changeset
61
5610250d021a SectionsIndex, we added a method to print the setting of the VM
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents: 5
diff changeset
62 private void loadBookMap() throws SQLException{
5610250d021a SectionsIndex, we added a method to print the setting of the VM
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents: 5
diff changeset
63 Long start = System.currentTimeMillis();
5610250d021a SectionsIndex, we added a method to print the setting of the VM
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents: 5
diff changeset
64 Connection conn = null;
5610250d021a SectionsIndex, we added a method to print the setting of the VM
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents: 5
diff changeset
65 Statement stmt = null;
5610250d021a SectionsIndex, we added a method to print the setting of the VM
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents: 5
diff changeset
66 this.bookMap = new HashMap<String, DBBook>();
5610250d021a SectionsIndex, we added a method to print the setting of the VM
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents: 5
diff changeset
67
5610250d021a SectionsIndex, we added a method to print the setting of the VM
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents: 5
diff changeset
68 try {
5610250d021a SectionsIndex, we added a method to print the setting of the VM
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents: 5
diff changeset
69 String query = "SELECT * FROM books";
5610250d021a SectionsIndex, we added a method to print the setting of the VM
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents: 5
diff changeset
70 logger.debug(query);
5610250d021a SectionsIndex, we added a method to print the setting of the VM
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents: 5
diff changeset
71 conn = getNewConnection();
5610250d021a SectionsIndex, we added a method to print the setting of the VM
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents: 5
diff changeset
72 stmt = conn.createStatement();
5610250d021a SectionsIndex, we added a method to print the setting of the VM
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents: 5
diff changeset
73 ResultSet rs = stmt.executeQuery(query);
5610250d021a SectionsIndex, we added a method to print the setting of the VM
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents: 5
diff changeset
74
5610250d021a SectionsIndex, we added a method to print the setting of the VM
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents: 5
diff changeset
75 while(rs.next()){
5610250d021a SectionsIndex, we added a method to print the setting of the VM
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents: 5
diff changeset
76 DBBook book = new DBBook(rs);
5610250d021a SectionsIndex, we added a method to print the setting of the VM
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents: 5
diff changeset
77 this.bookMap.put(book.getId(), book);
5610250d021a SectionsIndex, we added a method to print the setting of the VM
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents: 5
diff changeset
78 }
5610250d021a SectionsIndex, we added a method to print the setting of the VM
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents: 5
diff changeset
79 } catch (Exception e) {
5610250d021a SectionsIndex, we added a method to print the setting of the VM
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents: 5
diff changeset
80 e.printStackTrace();
5610250d021a SectionsIndex, we added a method to print the setting of the VM
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents: 5
diff changeset
81 }finally{
5610250d021a SectionsIndex, we added a method to print the setting of the VM
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents: 5
diff changeset
82 conn.close();
5610250d021a SectionsIndex, we added a method to print the setting of the VM
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents: 5
diff changeset
83 }
5610250d021a SectionsIndex, we added a method to print the setting of the VM
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents: 5
diff changeset
84
5610250d021a SectionsIndex, we added a method to print the setting of the VM
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents: 5
diff changeset
85 long end = System.currentTimeMillis();
5610250d021a SectionsIndex, we added a method to print the setting of the VM
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents: 5
diff changeset
86 logger.debug("Time execution loading Book Map [ms]: " + (end - start));
5610250d021a SectionsIndex, we added a method to print the setting of the VM
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents: 5
diff changeset
87 }
5610250d021a SectionsIndex, we added a method to print the setting of the VM
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents: 5
diff changeset
88
5
5316e79f9a27 Implementation of search pagination and lazy loading to display the result set of a search.
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents: 0
diff changeset
89 /**
5316e79f9a27 Implementation of search pagination and lazy loading to display the result set of a search.
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents: 0
diff changeset
90 * This methods search from a list of terms.
5316e79f9a27 Implementation of search pagination and lazy loading to display the result set of a search.
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents: 0
diff changeset
91 * Every term is considered a subsequence of whole section name.
5316e79f9a27 Implementation of search pagination and lazy loading to display the result set of a search.
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents: 0
diff changeset
92 *
5316e79f9a27 Implementation of search pagination and lazy loading to display the result set of a search.
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents: 0
diff changeset
93 * @param termList
5316e79f9a27 Implementation of search pagination and lazy loading to display the result set of a search.
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents: 0
diff changeset
94 * @return
5316e79f9a27 Implementation of search pagination and lazy loading to display the result set of a search.
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents: 0
diff changeset
95 * @throws SQLException
5316e79f9a27 Implementation of search pagination and lazy loading to display the result set of a search.
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents: 0
diff changeset
96 */
0
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
97 public static List<DBSection> searchSection(List<String> termList) throws SQLException{
5
5316e79f9a27 Implementation of search pagination and lazy loading to display the result set of a search.
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents: 0
diff changeset
98
5316e79f9a27 Implementation of search pagination and lazy loading to display the result set of a search.
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents: 0
diff changeset
99 Long start = System.currentTimeMillis();
5316e79f9a27 Implementation of search pagination and lazy loading to display the result set of a search.
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents: 0
diff changeset
100
0
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
101 List<DBSection> list = new ArrayList<DBSection>();
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
102
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
103 Connection conn = null;
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
104 Statement stmt = null;
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
105
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
106 String query = "SELECT name, id, books_id FROM sections WHERE ";
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
107 for(int i=0; i<termList.size() ; i++){
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
108 String term = termList.get(i);
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
109 if(i>0){
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
110 query += " OR ";
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
111 }
5
5316e79f9a27 Implementation of search pagination and lazy loading to display the result set of a search.
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents: 0
diff changeset
112 query += "name like '%" + term + "%' ";
0
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
113 }
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
114
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
115 try {
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
116 Class.forName(JDBC_DRIVER);
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
117 conn = getNewConnection();
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
118 stmt = conn.createStatement();
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
119
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
120 ResultSet rs = stmt.executeQuery(query);
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
121 while (rs.next()) {
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
122 DBSection section = new DBSection(rs);
5
5316e79f9a27 Implementation of search pagination and lazy loading to display the result set of a search.
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents: 0
diff changeset
123 //DBBook book = getBook0(conn, section.getBookId());
10
5610250d021a SectionsIndex, we added a method to print the setting of the VM
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents: 5
diff changeset
124 DBBook book = getInstance().getBook(section.getBookId());
5610250d021a SectionsIndex, we added a method to print the setting of the VM
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents: 5
diff changeset
125 section.setBook(book);
0
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
126 list.add(section);
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
127 }
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
128 rs.close();
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
129 } catch (Exception e) {
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
130 e.printStackTrace();
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
131 } finally {
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
132 conn.close();
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
133 }
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
134
5
5316e79f9a27 Implementation of search pagination and lazy loading to display the result set of a search.
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents: 0
diff changeset
135 long end = System.currentTimeMillis();
10
5610250d021a SectionsIndex, we added a method to print the setting of the VM
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents: 5
diff changeset
136 logger.debug("Time execution serching [ms]: " + (end - start));
5
5316e79f9a27 Implementation of search pagination and lazy loading to display the result set of a search.
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents: 0
diff changeset
137
0
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
138 return list;
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
139 }
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
140
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
141 public static List<String> suggestSectionName(String term) throws SQLException {
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
142 List<String> list = new ArrayList<String>();
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
143
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
144 Connection conn = null;
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
145 Statement stmt = null;
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
146
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
147 String query = "SELECT name FROM sections WHERE name like '" + term + "%' limit 50";
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
148
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
149 try {
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
150 Class.forName(JDBC_DRIVER);
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
151 conn = getNewConnection();
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
152 stmt = conn.createStatement();
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
153
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
154 ResultSet rs = stmt.executeQuery(query);
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
155 while (rs.next()) {
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
156 String name = rs.getString("name");
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
157 if(!list.contains(name)){
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
158 list.add(name);
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
159 }
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
160 }
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
161 rs.close();
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
162 } catch (Exception e) {
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
163 e.printStackTrace();
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
164 } finally {
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
165 conn.close();
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
166 }
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
167 return list;
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
168 }
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
169
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
170
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
171 public static List<String> suggestSectionId(String input) throws SQLException {
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
172 List<String> list = new ArrayList<String>();
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
173
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
174 Connection conn = null;
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
175 Statement stmt = null;
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
176
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
177 String query = "SELECT id FROM sections WHERE id like '" + input + "%' limit 50";
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
178
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
179 try {
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
180 Class.forName(JDBC_DRIVER);
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
181 conn = getNewConnection();
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
182 stmt = conn.createStatement();
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
183
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
184 ResultSet rs = stmt.executeQuery(query);
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
185 while (rs.next()) {
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
186
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
187 String id = rs.getString("id");
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
188 list.add(id);
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
189
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
190 }
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
191 rs.close();
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
192 } catch (Exception e) {
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
193 e.printStackTrace();
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
194 } finally {
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
195 conn.close();
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
196 }
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
197
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
198
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
199
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
200 return list;
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
201 }
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
202
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
203 public static DBSection getSectionWithContent(Long sectionId) throws SQLException {
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
204
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
205 Connection conn = null;
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
206 Statement stmt = null;
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
207 DBSection response = new DBSection(sectionId);
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
208
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
209 String query = "SELECT * FROM sections WHERE id = '" + sectionId + "'";
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
210
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
211 try {
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
212 Class.forName(JDBC_DRIVER);
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
213 conn = getNewConnection();
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
214 stmt = conn.createStatement();
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
215
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
216 ResultSet rs = stmt.executeQuery(query);
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
217 while (rs.next()) {
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
218
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
219 String bookId = rs.getString("books_id");
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
220 int startPage = rs.getInt("start_page");
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
221 int endPage = rs.getInt("end_page");
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
222 String sectionName = rs.getString("name");
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
223
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
224 response.setBookId(bookId);
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
225 response.setName(sectionName);
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
226
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
227 System.out.println("bookId=" + bookId + ", startPage=" + startPage + ", endPage=" + endPage);
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
228 String content = getContent(conn, bookId, startPage, endPage);
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
229 response.setText(content);
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
230
10
5610250d021a SectionsIndex, we added a method to print the setting of the VM
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents: 5
diff changeset
231 DBBook book = getBook0FromDB(conn, bookId);
0
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
232 response.setBook(book);
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
233
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
234 }
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
235 rs.close();
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
236 } catch (Exception e) {
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
237 e.printStackTrace();
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
238 } finally {
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
239 conn.close();
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
240 }
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
241 return response;
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
242 }
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
243
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
244 public static String fixToNewline(String orig){
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
245 char[] chars = orig.toCharArray();
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
246 StringBuilder sb = new StringBuilder(100);
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
247 for(char c : chars){
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
248 switch(c){
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
249 case '\r':
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
250 case '\f':
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
251 break;
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
252 case '\n':
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
253 sb.append("<br>");
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
254 break;
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
255 default:
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
256 sb.append(c);
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
257 }
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
258 }
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
259 return sb.toString();
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
260 }
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
261
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
262 //"SELECT `content`, `line`, `books_id` FROM `contents` WHERE `books_id`=\"%s\" AND `line`>=%d AND `line`<=%d
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
263 private static String getContent(Connection conn, String bookId, Integer startLine, Integer endLine) throws Exception{
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
264
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
265 String query = "SELECT content, line FROM contents WHERE books_id = '" + bookId + "' AND line >= '" + startLine + "' AND line <= '" + endLine + "'";
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
266
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
267 logger.debug(query);
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
268
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
269 Statement stmt = conn.createStatement();
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
270 ResultSet rs = stmt.executeQuery(query);
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
271
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
272 StringBuilder sb = new StringBuilder();
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
273 while(rs.next()){
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
274 String line = rs.getString("line");
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
275 String content = rs.getString("content");
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
276 sb.append("【" + line + "】" + content + "\n");
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
277 }
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
278
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
279 return sb.toString();
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
280 }
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
281
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
282
10
5610250d021a SectionsIndex, we added a method to print the setting of the VM
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents: 5
diff changeset
283 public static DBBook getBookFromDB(String id) throws SQLException{
0
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
284 Connection conn = null;
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
285 DBBook book = null;
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
286
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
287 try {
10
5610250d021a SectionsIndex, we added a method to print the setting of the VM
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents: 5
diff changeset
288 //Class.forName(JDBC_DRIVER);
0
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
289 conn = getNewConnection();
10
5610250d021a SectionsIndex, we added a method to print the setting of the VM
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents: 5
diff changeset
290 book = getBook0FromDB(conn, id);
0
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
291 } catch (Exception e) {
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
292 e.printStackTrace();
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
293 } finally {
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
294 conn.close();
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
295 }
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
296 return book;
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
297 }
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
298
10
5610250d021a SectionsIndex, we added a method to print the setting of the VM
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents: 5
diff changeset
299 private static DBBook getBook0FromDB(Connection conn, String id) throws SQLException{
0
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
300 DBBook book = null;
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
301
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
302 String query = "SELECT * FROM books WHERE id = '" + id + "'";
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
303 logger.debug(query);
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
304
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
305 Statement stmt = conn.createStatement();
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
306 ResultSet rs = stmt.executeQuery(query);
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
307
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
308 if(rs.next()){
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
309 book = new DBBook(rs);
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
310 }
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
311
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
312 return book;
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
313 }
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
314
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
315 /**
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
316 * This method removed all files for a particular fileId.
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
317 * The elimination includes the current version as well as the old versions.
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
318 * @param fileId
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
319 * @return
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
320 */
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
321 protected static int deleteBranchFromDB(Long branchId){
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
322 logger.info("Deleting Branch by branchId=" + branchId);
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
323
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
324 int modifiedFiles;
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
325 Session session = HibernateUtil.getSessionFactory().getCurrentSession();
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
326 session.getTransaction().begin();
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
327
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
328 Query query = session.createQuery("delete LGBranch where id = :id");
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
329 query.setLong("id", branchId);
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
330 modifiedFiles = query.executeUpdate();
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
331
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
332 Query query0 = session.createQuery("delete LGFile where branchId = :branchId");
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
333 query0.setLong("branchId", branchId);
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
334 modifiedFiles += query0.executeUpdate();
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
335
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
336 session.getTransaction().commit();
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
337
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
338 return modifiedFiles;
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
339 }
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
340
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
341 protected static List<LGFile> getAllLGFileFromDB(){
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
342 List<LGFile> list = null;
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
343
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
344 Session session = HibernateUtil.getSessionFactory().getCurrentSession();
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
345 session.getTransaction().begin();
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
346 Query query = session.createQuery("from LGFile");
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
347 list = query.list();
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
348 session.getTransaction().commit();
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
349
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
350 return list;
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
351 }
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
352
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
353 protected static List<LGFile> getCurrentLGFilesFromDB(){
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
354 List<LGFile> list = null;
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
355
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
356 Session session = HibernateUtil.getSessionFactory().getCurrentSession();
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
357 session.getTransaction().begin();
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
358 Query query = session.createQuery("from LGFile where lastVersion = :lastVersion");
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
359 query.setBoolean("lastVersion", true);
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
360 list = query.list();
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
361 session.getTransaction().commit();
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
362
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
363 return list;
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
364 }
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
365
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
366 protected static List<LGBranch> getAllLGBranchFromDB(){
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
367 List<LGBranch> list = null;
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
368
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
369 Session session = HibernateUtil.getSessionFactory().getCurrentSession();
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
370 session.getTransaction().begin();
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
371 Query query = session.createQuery("from LGBranch");
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
372 list = query.list();
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
373 session.getTransaction().commit();
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
374
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
375 return list;
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
376 }
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
377
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
378 protected static void saveDBEntry(DBEntry entry, Date date){
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
379
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
380 Session session = HibernateUtil.getSessionFactory().getCurrentSession();
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
381 session.getTransaction().begin();
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
382
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
383 saveDBEntry0(session, entry, date);
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
384
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
385 session.getTransaction().commit();
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
386 }
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
387
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
388 public static void saveDBEntry0(Session session, DBEntry entry, Date date){
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
389 entry.setLastChangeDate(date);
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
390 if (entry.isPersistent()) {
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
391 session.update(entry);
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
392 } else {
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
393 entry.setCreationDate(date);
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
394 session.save(entry);
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
395 }
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
396 logger.info("saveDBEntry: " + entry.toString());
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
397 }
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
398
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
399 public static Connection getNewConnection() throws SQLException, IOException{
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
400 return DriverManager.getConnection(
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
401 DB_URL + PropertiesUtils.getPropValue("db_gazetter_name") + "?useUnicode=yes&characterEncoding=UTF-8",
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
402 PropertiesUtils.getPropValue("db_gazetter_username"),
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
403 PropertiesUtils.getPropValue("db_gazetter_password"));
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
404 }
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
405
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
406 }