1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 package org.waarp.openr66.dao.database.h2;
22
23 import org.waarp.openr66.dao.database.DBTransferDAO;
24 import org.waarp.openr66.dao.exception.DAOConnectionException;
25
26 import java.sql.Connection;
27 import java.sql.PreparedStatement;
28 import java.sql.ResultSet;
29 import java.sql.SQLException;
30
31 public class H2TransferDAO extends DBTransferDAO {
32
33 protected static final String SQL_GET_ID = "SELECT NEXTVAL('RUNSEQ')";
34
35 public H2TransferDAO(final Connection con) throws DAOConnectionException {
36 super(con);
37 }
38
39 @Override
40 protected final long getNextId() throws DAOConnectionException {
41 PreparedStatement ps = null;
42 ResultSet rs = null;
43 try {
44 ps = connection.prepareStatement(SQL_GET_ID);
45 rs = ps.executeQuery();
46 if (rs.next()) {
47 return rs.getLong(1);
48 } else {
49 throw new DAOConnectionException(
50 "Error no id available, you should purge the database.");
51 }
52 } catch (final SQLException e) {
53 throw new DAOConnectionException(e);
54 } finally {
55 try {
56 if (rs != null) {
57 rs.close();
58 }
59 } catch (final SQLException e) {
60
61 }
62 closeStatement(ps);
63 }
64 }
65 }