01: /*
02: * Enhydra Java Application Server Project
03: *
04: * The contents of this file are subject to the Enhydra Public License
05: * Version 1.1 (the "License"); you may not use this file except in
06: * compliance with the License. You may obtain a copy of the License on
07: * the Enhydra web site ( http://www.enhydra.org/ ).
08: *
09: * Software distributed under the License is distributed on an "AS IS"
10: * basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
11: * the License for the specific terms governing rights and limitations
12: * under the License.
13: *
14: * The Initial Developer of the Enhydra Application Server is Lutris
15: * Technologies, Inc. The Enhydra Application Server and portions created
16: * by Lutris Technologies, Inc. are Copyright Lutris Technologies, Inc.
17: * All Rights Reserved.
18: *
19: * Contributor(s):
20: *
21: * $Id: SizeQuery.java,v 1.3 2007-10-19 10:05:39 sinisa Exp $
22: */
23:
24: package com.lutris.appserver.server.sessionEnhydra.persistent;
25:
26: import java.sql.PreparedStatement;
27: import java.sql.ResultSet;
28: import java.sql.SQLException;
29:
30: import com.lutris.appserver.server.sql.DBConnection;
31: import com.lutris.appserver.server.sql.Query;
32:
33: /**
34: * Queries the total number of sessions in the database.
35: *
36: * @version $Revision: 1.3 $
37: * @author Kyle Clark
38: */
39: class SizeQuery implements Query {
40:
41: // private String sessionKey;
42: private static final Integer zero = new Integer(0);
43:
44: SizeQuery() {
45: }
46:
47: /**
48: * Method to query objects from the database.
49: *
50: * @param conn Handle to database connection.
51: * @exception java.sql.SQLException If a database access error occurs.
52: */
53: public ResultSet executeQuery(DBConnection conn)
54: throws SQLException {
55: String sql = "select count (*) totalSessions from "
56: + PersistentSessionHome.dbTableName;
57: PreparedStatement stmt = conn.prepareStatement(sql);
58: return conn.executeQuery(stmt, sql);
59: }
60:
61: /**
62: * Method that returns the number of sessions.
63: *
64: * @param rs
65: * result set from which the number of sessions
66: * will be instantiated.
67: * @return an Integer representing the number of sessions.
68: * @exception SQLException If a database access error occurs.
69: */
70: public Object next(ResultSet rs) throws SQLException {
71: if (rs.next()) {
72: return new Integer(rs.getInt("totalSessions"));
73: }
74: return zero;
75: }
76:
77: }
|