Mercurial > dive4elements > framework
annotate artifact-database/src/main/java/org/dive4elements/artifactdatabase/db/SQLExecutor.java @ 544:0e3ecf7cd461 3.2.0
issue1847 Remove locking parallel access is not the problem here.
author | Andre Heinecke <andre.heinecke@intevation.de> |
---|---|
date | Thu, 03 Sep 2015 17:49:05 +0200 |
parents | 3b1e48d22ce0 |
children | 584591f8203c |
rev | line source |
---|---|
475
415df0fc4fa1
Fixed maven group ids
Sascha L. Teichmann <teichmann@intevation.de>
parents:
473
diff
changeset
|
1 package org.dive4elements.artifactdatabase.db; |
305
f33401ea2a6c
Artifact database: Refactorized the usage of dialect independent SQL to be reusable.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
2 |
f33401ea2a6c
Artifact database: Refactorized the usage of dialect independent SQL to be reusable.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
3 import java.sql.Connection; |
f33401ea2a6c
Artifact database: Refactorized the usage of dialect independent SQL to be reusable.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
4 import java.sql.PreparedStatement; |
f33401ea2a6c
Artifact database: Refactorized the usage of dialect independent SQL to be reusable.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
5 import java.sql.ResultSet; |
f33401ea2a6c
Artifact database: Refactorized the usage of dialect independent SQL to be reusable.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
6 import java.sql.SQLException; |
f33401ea2a6c
Artifact database: Refactorized the usage of dialect independent SQL to be reusable.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
7 |
f33401ea2a6c
Artifact database: Refactorized the usage of dialect independent SQL to be reusable.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
8 import javax.sql.DataSource; |
f33401ea2a6c
Artifact database: Refactorized the usage of dialect independent SQL to be reusable.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
9 |
f33401ea2a6c
Artifact database: Refactorized the usage of dialect independent SQL to be reusable.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
10 import org.apache.log4j.Logger; |
f33401ea2a6c
Artifact database: Refactorized the usage of dialect independent SQL to be reusable.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
11 |
f33401ea2a6c
Artifact database: Refactorized the usage of dialect independent SQL to be reusable.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
12 public class SQLExecutor |
f33401ea2a6c
Artifact database: Refactorized the usage of dialect independent SQL to be reusable.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
13 { |
f33401ea2a6c
Artifact database: Refactorized the usage of dialect independent SQL to be reusable.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
14 private static Logger logger = Logger.getLogger(SQLExecutor.class); |
f33401ea2a6c
Artifact database: Refactorized the usage of dialect independent SQL to be reusable.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
15 |
f33401ea2a6c
Artifact database: Refactorized the usage of dialect independent SQL to be reusable.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
16 public class Instance { |
f33401ea2a6c
Artifact database: Refactorized the usage of dialect independent SQL to be reusable.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
17 |
f33401ea2a6c
Artifact database: Refactorized the usage of dialect independent SQL to be reusable.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
18 public Connection conn; |
f33401ea2a6c
Artifact database: Refactorized the usage of dialect independent SQL to be reusable.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
19 public PreparedStatement stmnt; |
f33401ea2a6c
Artifact database: Refactorized the usage of dialect independent SQL to be reusable.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
20 public ResultSet result; |
f33401ea2a6c
Artifact database: Refactorized the usage of dialect independent SQL to be reusable.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
21 |
f33401ea2a6c
Artifact database: Refactorized the usage of dialect independent SQL to be reusable.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
22 public Instance() { |
f33401ea2a6c
Artifact database: Refactorized the usage of dialect independent SQL to be reusable.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
23 } |
f33401ea2a6c
Artifact database: Refactorized the usage of dialect independent SQL to be reusable.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
24 |
f33401ea2a6c
Artifact database: Refactorized the usage of dialect independent SQL to be reusable.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
25 public void reset() throws SQLException { |
f33401ea2a6c
Artifact database: Refactorized the usage of dialect independent SQL to be reusable.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
26 if (result != null) { |
f33401ea2a6c
Artifact database: Refactorized the usage of dialect independent SQL to be reusable.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
27 result.close(); |
f33401ea2a6c
Artifact database: Refactorized the usage of dialect independent SQL to be reusable.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
28 result = null; |
f33401ea2a6c
Artifact database: Refactorized the usage of dialect independent SQL to be reusable.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
29 } |
f33401ea2a6c
Artifact database: Refactorized the usage of dialect independent SQL to be reusable.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
30 if (stmnt != null) { |
f33401ea2a6c
Artifact database: Refactorized the usage of dialect independent SQL to be reusable.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
31 result = null; |
f33401ea2a6c
Artifact database: Refactorized the usage of dialect independent SQL to be reusable.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
32 stmnt.close(); |
f33401ea2a6c
Artifact database: Refactorized the usage of dialect independent SQL to be reusable.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
33 } |
f33401ea2a6c
Artifact database: Refactorized the usage of dialect independent SQL to be reusable.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
34 } |
f33401ea2a6c
Artifact database: Refactorized the usage of dialect independent SQL to be reusable.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
35 |
f33401ea2a6c
Artifact database: Refactorized the usage of dialect independent SQL to be reusable.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
36 public PreparedStatement prepareStatement(String query) |
f33401ea2a6c
Artifact database: Refactorized the usage of dialect independent SQL to be reusable.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
37 throws SQLException { |
f33401ea2a6c
Artifact database: Refactorized the usage of dialect independent SQL to be reusable.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
38 return stmnt = conn.prepareStatement(query); |
f33401ea2a6c
Artifact database: Refactorized the usage of dialect independent SQL to be reusable.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
39 } |
f33401ea2a6c
Artifact database: Refactorized the usage of dialect independent SQL to be reusable.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
40 |
f33401ea2a6c
Artifact database: Refactorized the usage of dialect independent SQL to be reusable.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
41 public void close() { |
f33401ea2a6c
Artifact database: Refactorized the usage of dialect independent SQL to be reusable.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
42 if (result != null) { |
f33401ea2a6c
Artifact database: Refactorized the usage of dialect independent SQL to be reusable.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
43 try { result.close(); } |
f33401ea2a6c
Artifact database: Refactorized the usage of dialect independent SQL to be reusable.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
44 catch (SQLException sqle) {} |
f33401ea2a6c
Artifact database: Refactorized the usage of dialect independent SQL to be reusable.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
45 } |
f33401ea2a6c
Artifact database: Refactorized the usage of dialect independent SQL to be reusable.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
46 if (stmnt != null) { |
f33401ea2a6c
Artifact database: Refactorized the usage of dialect independent SQL to be reusable.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
47 try { stmnt.close(); } |
f33401ea2a6c
Artifact database: Refactorized the usage of dialect independent SQL to be reusable.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
48 catch (SQLException sqle) {} |
f33401ea2a6c
Artifact database: Refactorized the usage of dialect independent SQL to be reusable.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
49 } |
f33401ea2a6c
Artifact database: Refactorized the usage of dialect independent SQL to be reusable.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
50 if (conn != null) { |
f33401ea2a6c
Artifact database: Refactorized the usage of dialect independent SQL to be reusable.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
51 try { conn.close(); } |
f33401ea2a6c
Artifact database: Refactorized the usage of dialect independent SQL to be reusable.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
52 catch (SQLException sqle) {} |
f33401ea2a6c
Artifact database: Refactorized the usage of dialect independent SQL to be reusable.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
53 } |
f33401ea2a6c
Artifact database: Refactorized the usage of dialect independent SQL to be reusable.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
54 } |
f33401ea2a6c
Artifact database: Refactorized the usage of dialect independent SQL to be reusable.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
55 |
541
3b1e48d22ce0
Experimentally let database cleaner and backend share the same sql executor.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
540
diff
changeset
|
56 public boolean runWriteNoRollback() { |
544
0e3ecf7cd461
issue1847 Remove locking parallel access is not the problem here.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
541
diff
changeset
|
57 DataSource dataSource = dbConnection.getDataSource(); |
541
3b1e48d22ce0
Experimentally let database cleaner and backend share the same sql executor.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
540
diff
changeset
|
58 try { |
544
0e3ecf7cd461
issue1847 Remove locking parallel access is not the problem here.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
541
diff
changeset
|
59 conn = dataSource.getConnection(); |
541
3b1e48d22ce0
Experimentally let database cleaner and backend share the same sql executor.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
540
diff
changeset
|
60 try { |
544
0e3ecf7cd461
issue1847 Remove locking parallel access is not the problem here.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
541
diff
changeset
|
61 conn.setAutoCommit(false); |
0e3ecf7cd461
issue1847 Remove locking parallel access is not the problem here.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
541
diff
changeset
|
62 return doIt(); |
541
3b1e48d22ce0
Experimentally let database cleaner and backend share the same sql executor.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
540
diff
changeset
|
63 } |
3b1e48d22ce0
Experimentally let database cleaner and backend share the same sql executor.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
540
diff
changeset
|
64 catch (SQLException sqle) { |
544
0e3ecf7cd461
issue1847 Remove locking parallel access is not the problem here.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
541
diff
changeset
|
65 throw sqle; |
541
3b1e48d22ce0
Experimentally let database cleaner and backend share the same sql executor.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
540
diff
changeset
|
66 } |
544
0e3ecf7cd461
issue1847 Remove locking parallel access is not the problem here.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
541
diff
changeset
|
67 } |
0e3ecf7cd461
issue1847 Remove locking parallel access is not the problem here.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
541
diff
changeset
|
68 catch (SQLException sqle) { |
0e3ecf7cd461
issue1847 Remove locking parallel access is not the problem here.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
541
diff
changeset
|
69 logger.error(sqle.getLocalizedMessage(), sqle); |
541
3b1e48d22ce0
Experimentally let database cleaner and backend share the same sql executor.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
540
diff
changeset
|
70 } |
3b1e48d22ce0
Experimentally let database cleaner and backend share the same sql executor.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
540
diff
changeset
|
71 finally { |
544
0e3ecf7cd461
issue1847 Remove locking parallel access is not the problem here.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
541
diff
changeset
|
72 close(); |
541
3b1e48d22ce0
Experimentally let database cleaner and backend share the same sql executor.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
540
diff
changeset
|
73 } |
544
0e3ecf7cd461
issue1847 Remove locking parallel access is not the problem here.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
541
diff
changeset
|
74 return false; |
541
3b1e48d22ce0
Experimentally let database cleaner and backend share the same sql executor.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
540
diff
changeset
|
75 } |
3b1e48d22ce0
Experimentally let database cleaner and backend share the same sql executor.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
540
diff
changeset
|
76 |
305
f33401ea2a6c
Artifact database: Refactorized the usage of dialect independent SQL to be reusable.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
77 public boolean runWrite() { |
544
0e3ecf7cd461
issue1847 Remove locking parallel access is not the problem here.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
541
diff
changeset
|
78 DataSource dataSource = dbConnection.getDataSource(); |
305
f33401ea2a6c
Artifact database: Refactorized the usage of dialect independent SQL to be reusable.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
79 try { |
544
0e3ecf7cd461
issue1847 Remove locking parallel access is not the problem here.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
541
diff
changeset
|
80 conn = dataSource.getConnection(); |
305
f33401ea2a6c
Artifact database: Refactorized the usage of dialect independent SQL to be reusable.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
81 try { |
544
0e3ecf7cd461
issue1847 Remove locking parallel access is not the problem here.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
541
diff
changeset
|
82 conn.setAutoCommit(false); |
0e3ecf7cd461
issue1847 Remove locking parallel access is not the problem here.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
541
diff
changeset
|
83 return doIt(); |
540
91b1435fb9ea
Added R/W lock to SQLExecutor.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
475
diff
changeset
|
84 } |
91b1435fb9ea
Added R/W lock to SQLExecutor.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
475
diff
changeset
|
85 catch (SQLException sqle) { |
544
0e3ecf7cd461
issue1847 Remove locking parallel access is not the problem here.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
541
diff
changeset
|
86 conn.rollback(); |
0e3ecf7cd461
issue1847 Remove locking parallel access is not the problem here.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
541
diff
changeset
|
87 throw sqle; |
540
91b1435fb9ea
Added R/W lock to SQLExecutor.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
475
diff
changeset
|
88 } |
544
0e3ecf7cd461
issue1847 Remove locking parallel access is not the problem here.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
541
diff
changeset
|
89 } |
0e3ecf7cd461
issue1847 Remove locking parallel access is not the problem here.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
541
diff
changeset
|
90 catch (SQLException sqle) { |
0e3ecf7cd461
issue1847 Remove locking parallel access is not the problem here.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
541
diff
changeset
|
91 logger.error(sqle.getLocalizedMessage(), sqle); |
540
91b1435fb9ea
Added R/W lock to SQLExecutor.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
475
diff
changeset
|
92 } |
91b1435fb9ea
Added R/W lock to SQLExecutor.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
475
diff
changeset
|
93 finally { |
544
0e3ecf7cd461
issue1847 Remove locking parallel access is not the problem here.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
541
diff
changeset
|
94 close(); |
540
91b1435fb9ea
Added R/W lock to SQLExecutor.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
475
diff
changeset
|
95 } |
544
0e3ecf7cd461
issue1847 Remove locking parallel access is not the problem here.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
541
diff
changeset
|
96 return false; |
540
91b1435fb9ea
Added R/W lock to SQLExecutor.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
475
diff
changeset
|
97 } |
91b1435fb9ea
Added R/W lock to SQLExecutor.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
475
diff
changeset
|
98 |
91b1435fb9ea
Added R/W lock to SQLExecutor.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
475
diff
changeset
|
99 public boolean runRead() { |
544
0e3ecf7cd461
issue1847 Remove locking parallel access is not the problem here.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
541
diff
changeset
|
100 DataSource dataSource = dbConnection.getDataSource(); |
540
91b1435fb9ea
Added R/W lock to SQLExecutor.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
475
diff
changeset
|
101 try { |
544
0e3ecf7cd461
issue1847 Remove locking parallel access is not the problem here.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
541
diff
changeset
|
102 conn = dataSource.getConnection(); |
0e3ecf7cd461
issue1847 Remove locking parallel access is not the problem here.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
541
diff
changeset
|
103 return doIt(); |
0e3ecf7cd461
issue1847 Remove locking parallel access is not the problem here.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
541
diff
changeset
|
104 } |
0e3ecf7cd461
issue1847 Remove locking parallel access is not the problem here.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
541
diff
changeset
|
105 catch (SQLException sqle) { |
0e3ecf7cd461
issue1847 Remove locking parallel access is not the problem here.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
541
diff
changeset
|
106 logger.error(sqle.getLocalizedMessage(), sqle); |
305
f33401ea2a6c
Artifact database: Refactorized the usage of dialect independent SQL to be reusable.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
107 } |
f33401ea2a6c
Artifact database: Refactorized the usage of dialect independent SQL to be reusable.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
108 finally { |
544
0e3ecf7cd461
issue1847 Remove locking parallel access is not the problem here.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
541
diff
changeset
|
109 close(); |
305
f33401ea2a6c
Artifact database: Refactorized the usage of dialect independent SQL to be reusable.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
110 } |
544
0e3ecf7cd461
issue1847 Remove locking parallel access is not the problem here.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
541
diff
changeset
|
111 return false; |
305
f33401ea2a6c
Artifact database: Refactorized the usage of dialect independent SQL to be reusable.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
112 } |
f33401ea2a6c
Artifact database: Refactorized the usage of dialect independent SQL to be reusable.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
113 |
f33401ea2a6c
Artifact database: Refactorized the usage of dialect independent SQL to be reusable.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
114 public boolean doIt() throws SQLException { |
f33401ea2a6c
Artifact database: Refactorized the usage of dialect independent SQL to be reusable.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
115 return true; |
f33401ea2a6c
Artifact database: Refactorized the usage of dialect independent SQL to be reusable.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
116 } |
f33401ea2a6c
Artifact database: Refactorized the usage of dialect independent SQL to be reusable.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
117 } // class Instance |
f33401ea2a6c
Artifact database: Refactorized the usage of dialect independent SQL to be reusable.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
118 |
540
91b1435fb9ea
Added R/W lock to SQLExecutor.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
475
diff
changeset
|
119 protected DBConnection dbConnection; |
305
f33401ea2a6c
Artifact database: Refactorized the usage of dialect independent SQL to be reusable.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
120 |
f33401ea2a6c
Artifact database: Refactorized the usage of dialect independent SQL to be reusable.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
121 public SQLExecutor() { |
f33401ea2a6c
Artifact database: Refactorized the usage of dialect independent SQL to be reusable.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
122 } |
f33401ea2a6c
Artifact database: Refactorized the usage of dialect independent SQL to be reusable.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
123 |
f33401ea2a6c
Artifact database: Refactorized the usage of dialect independent SQL to be reusable.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
124 public SQLExecutor(DBConnection dbConnection) { |
540
91b1435fb9ea
Added R/W lock to SQLExecutor.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
475
diff
changeset
|
125 this(); |
305
f33401ea2a6c
Artifact database: Refactorized the usage of dialect independent SQL to be reusable.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
126 this.dbConnection = dbConnection; |
f33401ea2a6c
Artifact database: Refactorized the usage of dialect independent SQL to be reusable.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
127 } |
f33401ea2a6c
Artifact database: Refactorized the usage of dialect independent SQL to be reusable.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
128 |
f33401ea2a6c
Artifact database: Refactorized the usage of dialect independent SQL to be reusable.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
129 public DBConnection getDBConnection() { |
f33401ea2a6c
Artifact database: Refactorized the usage of dialect independent SQL to be reusable.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
130 return dbConnection; |
f33401ea2a6c
Artifact database: Refactorized the usage of dialect independent SQL to be reusable.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
131 } |
f33401ea2a6c
Artifact database: Refactorized the usage of dialect independent SQL to be reusable.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
132 } |
f33401ea2a6c
Artifact database: Refactorized the usage of dialect independent SQL to be reusable.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
133 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 : |