1 package org.mvnforum.phpbb2mvnforum.db.jdbc; 2 3 import java.sql.Connection ; 4 import java.sql.PreparedStatement ; 5 import java.sql.ResultSet ; 6 import java.sql.SQLException ; 7 import java.sql.Timestamp ; 8 import java.util.Collection ; 9 10 import org.mvnforum.util.DBUtils; 11 12 import net.myvietnam.mvncore.exception.AssertionException; 13 import net.myvietnam.mvncore.exception.CreateException; 14 import net.myvietnam.mvncore.exception.DatabaseException; 15 import net.myvietnam.mvncore.exception.DuplicateKeyException; 16 import net.myvietnam.mvncore.exception.ForeignKeyNotFoundException; 17 import net.myvietnam.mvncore.exception.ObjectNotFoundException; 18 19 import com.mvnforum.db.MessageFolderBean; 20 import com.mvnforum.db.MessageFolderDAO; 21 22 public class MessageFolderDAOImplJDBC implements MessageFolderDAO { 23 24 public void findByPrimaryKey(String folderName, int memberID) 25 throws ObjectNotFoundException, DatabaseException { 26 Connection connection = null; 28 PreparedStatement statement = null; 29 ResultSet resultSet = null; 30 StringBuffer sql = new StringBuffer (512); 31 sql.append("SELECT FolderOrder"); 32 sql.append(" FROM " + TABLE_NAME); 33 sql.append(" WHERE FolderName = ? AND MemberID = ?"); 34 try { 35 connection = DBUtils.getMvnConnection(); 36 statement = connection.prepareStatement(sql.toString()); 37 statement.setString(1, folderName); 38 statement.setInt(2, memberID); 39 resultSet = statement.executeQuery(); 40 if (!resultSet.next()) { 41 throw new ObjectNotFoundException("Cannot find the primary key (" + folderName + ", " + memberID + ") in table 'MessageFolder'."); 42 } 43 } catch(SQLException sqle) { 44 throw new DatabaseException("Error executing SQL in MessageFolderDAOImplJDBC.findByPrimaryKey."); 45 } finally { 46 DBUtils.closeResultSet(resultSet); 47 DBUtils.closeStatement(statement); 48 DBUtils.closeConnection(connection); 49 } 50 51 52 } 53 54 public void create(String folderName, int memberID, int folderOrder, int folderStatus, int folderOption, 55 int folderType, Timestamp folderCreationDate, Timestamp folderModifiedDate) 56 throws CreateException, DatabaseException, DuplicateKeyException, ForeignKeyNotFoundException { 57 try { 59 findByPrimaryKey(folderName, memberID); 61 throw new DuplicateKeyException("Primary key already exists. Cannot create new MessageFolder with the same [FolderName, MemberID] (" + folderName + ", " + memberID + ")."); 63 } catch(ObjectNotFoundException e) { 64 } 66 67 Connection connection = null; 68 PreparedStatement statement = null; 69 StringBuffer sql = new StringBuffer (512); 70 sql.append("INSERT INTO " + TABLE_NAME + " (FolderName, MemberID, FolderOrder, FolderStatus, FolderOption, FolderType, FolderCreationDate, FolderModifiedDate)"); 71 sql.append(" VALUES (?, ?, ?, ?, ?, ?, ?, ?)"); 72 try { 73 connection = DBUtils.getMvnConnection(); 74 statement = connection.prepareStatement(sql.toString()); 75 76 statement.setString(1, folderName); 77 statement.setInt(2, memberID); 78 statement.setInt(3, folderOrder); 79 statement.setInt(4, folderStatus); 80 statement.setInt(5, folderOption); 81 statement.setInt(6, folderType); 82 statement.setTimestamp(7, folderCreationDate); 83 statement.setTimestamp(8, folderModifiedDate); 84 85 if (statement.executeUpdate() != 1) { 86 throw new CreateException("Error adding a row into table 'MessageFolder'."); 87 } 88 } catch(SQLException sqle) { 89 throw new DatabaseException("Error executing SQL in MessageFolderDAOImplJDBC.create."); 90 } finally { 91 DBUtils.closeStatement(statement); 92 DBUtils.closeConnection(connection); 93 } 94 95 96 } 97 98 public void delete(String folderName, int memberID) 99 throws DatabaseException, ObjectNotFoundException { 100 102 } 103 104 public MessageFolderBean getMessageFolder(String folderName, int memberID) 105 throws ObjectNotFoundException, DatabaseException { 106 return null; 108 } 109 110 public Collection getMessageFolders_inMember(int memberID) 111 throws DatabaseException { 112 return null; 114 } 115 116 public int getMaxFolderOrder(int memberID) 117 throws DatabaseException, AssertionException { 118 return 0; 120 } 121 122 public void increaseFolderOrder(String folderName, int memberID, Timestamp folderModifiedDate) 123 throws ObjectNotFoundException, DatabaseException { 124 126 } 127 128 public void decreaseFolderOrder(String folderName, int memberID, Timestamp folderModifiedDate) 129 throws ObjectNotFoundException, DatabaseException { 130 132 } 133 134 } 135 | Popular Tags |