001: /*
002: * Enhydra Java Application Server Project
003: *
004: * The contents of this file are subject to the Enhydra Public License
005: * Version 1.1 (the "License"); you may not use this file except in
006: * compliance with the License. You may obtain a copy of the License on
007: * the Enhydra web site ( http://www.enhydra.org/ ).
008: *
009: * Software distributed under the License is distributed on an "AS IS"
010: * basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
011: * the License for the specific terms governing rights and limitations
012: * under the License.
013: *
014: * The Initial Developer of the Enhydra Application Server is Lutris
015: * Technologies, Inc. The Enhydra Application Server and portions created
016: * by Lutris Technologies, Inc. are Copyright Lutris Technologies, Inc.
017: * All Rights Reserved.
018: *
019: * Contributor(s):
020: *
021: * $Id: SessionDeleteDO.java,v 1.2 2006-06-15 13:47:00 sinisa Exp $
022: */
023:
024: package com.lutris.appserver.server.sessionEnhydra.persistent;
025:
026: import java.sql.PreparedStatement;
027: import java.sql.SQLException;
028:
029: import com.lutris.appserver.server.sql.DBConnection;
030: import com.lutris.appserver.server.sql.Transaction;
031:
032: /**
033: * Database interface that is used to delete a session
034: * from the database.
035: *
036: * @version $Revision: 1.2 $
037: * @author Kyle Clark
038: */
039: public class SessionDeleteDO implements Transaction {
040:
041: /**
042: * The session represented by this object.
043: */
044: private String sessionKey;
045:
046: /**
047: * @param sessionKey the key identifying the session
048: * that should be deleted.
049: */
050: protected SessionDeleteDO(String sessionKey) {
051: this .sessionKey = sessionKey;
052: }
053:
054: /**
055: * Inserts the session into the database.
056: *
057: * @param conn Database connection.
058: * @exception java.sql.SQLException If a database access error
059: * occurs.
060: */
061: public void executeInsert(DBConnection conn) throws SQLException {
062: throw new Error("not supported");
063: }
064:
065: /**
066: * If this object's <code>executeInsert</code> method was
067: * called then <code>finalizeInsert</code> is called with
068: * the status of the database transaction. This method
069: * allows the data object to perform any post processing
070: * if the transaction succeeded or failed.
071: *
072: * @param success true if the transaction succeeded
073: * and this object was successfully inserted into the database.
074: */
075: public void finalizeInsert(boolean success) {
076: }
077:
078: /**
079: * Method to update contents of object in database.
080: *
081: * @param conn Database connection.
082: * @exception java.sql.SQLException If a database access error
083: * occurs.
084: */
085: public void executeUpdate(DBConnection conn) throws SQLException {
086: throw new Error("not supported");
087: }
088:
089: /**
090: * If this object's <code>executeUpdate</code> method was
091: * called then <code>finalizeUpdate</code> is called with
092: * the status of the database transaction.
093: * For instance the data object may want to
094: * increment its version number once it has successfully
095: * been commited to the database.
096: *
097: * @param success true if the transaction succeeded
098: * and this object was successfully updated in the database.
099: */
100: public void finalizeUpdate(boolean success) {
101: }
102:
103: /**
104: * Method to delete an object from the database.
105: *
106: * @param conn Database connection.
107: * @exception java.sql.SQLException If a database access error
108: * occurs.
109: */
110: public void executeDelete(DBConnection conn) throws SQLException {
111: String sql = "delete from " + PersistentSessionHome.dbTableName
112: + " where sessionKey = ?";
113: PreparedStatement stmt = conn.prepareStatement(sql);
114: stmt.setString(1, sessionKey);
115: conn.executeUpdate(stmt, sql);
116: }
117:
118: /**
119: * If this object's <code>executeDelete</code> method was
120: * called then <code>finalizeDelete</code> is called with
121: * the status of the database transaction.
122: *
123: * @param success true if the transaction succeeded
124: * and this object was successfully deleted from the
125: * database.
126: */
127: public void finalizeDelete(boolean success) {
128: // ignore?
129: }
130:
131: }
|