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.util.Collection ; 8 9 import org.mvnforum.util.DBUtils; 10 11 import net.myvietnam.mvncore.exception.CreateException; 12 import net.myvietnam.mvncore.exception.DatabaseException; 13 import net.myvietnam.mvncore.exception.DuplicateKeyException; 14 import net.myvietnam.mvncore.exception.ForeignKeyNotFoundException; 15 import net.myvietnam.mvncore.exception.ObjectNotFoundException; 16 17 import com.mvnforum.db.GroupPermissionDAO; 18 19 public class GroupPermissionDAOImplJDBC implements GroupPermissionDAO { 20 21 public void findByPrimaryKey(int groupID, int permission) 22 throws ObjectNotFoundException, DatabaseException { 23 Connection connection = null; 25 PreparedStatement statement = null; 26 ResultSet resultSet = null; 27 StringBuffer sql = new StringBuffer (512); 28 sql.append("SELECT GroupID, Permission"); 29 sql.append(" FROM " + TABLE_NAME); 30 sql.append(" WHERE GroupID = ? AND Permission = ?"); 31 try { 32 connection = DBUtils.getMvnConnection(); 33 statement = connection.prepareStatement(sql.toString()); 34 statement.setInt(1, groupID); 35 statement.setInt(2, permission); 36 resultSet = statement.executeQuery(); 37 if (!resultSet.next()) { 38 throw new ObjectNotFoundException("Cannot find the primary key (" + groupID + ", " + permission 39 + ") in table 'GroupPermission'."); 40 } 41 } catch (SQLException sqle) { 42 throw new DatabaseException("Error executing SQL in GroupPermissionDAOImplJDBC.findByPrimaryKey."); 43 } finally { 44 DBUtils.closeResultSet(resultSet); 45 DBUtils.closeStatement(statement); 46 DBUtils.closeConnection(connection); 47 } 48 } 49 50 public void create(int groupID, int permission) 51 throws CreateException, DatabaseException, DuplicateKeyException, ForeignKeyNotFoundException { 52 try { 53 findByPrimaryKey(groupID, permission); 55 throw new DuplicateKeyException( 57 "Primary key already exists. Cannot create new GroupPermission with the same [GroupID, Permission] (" 58 + groupID + ", " + permission + ")."); 59 } catch (ObjectNotFoundException e) { 60 } 62 63 Connection connection = null; 64 PreparedStatement statement = null; 65 StringBuffer sql = new StringBuffer (512); 66 sql.append("INSERT INTO " + TABLE_NAME + " (GroupID, Permission)"); 67 sql.append(" VALUES (?, ?)"); 68 try { 69 connection = DBUtils.getMvnConnection(); 70 statement = connection.prepareStatement(sql.toString()); 71 72 statement.setInt(1, groupID); 73 statement.setInt(2, permission); 74 75 if (statement.executeUpdate() != 1) { 76 throw new CreateException("Error adding a row into table 'GroupPermission'."); 77 } 78 } catch (SQLException sqle) { 79 throw new DatabaseException("Error executing SQL in GroupPermissionDAOImplJDBC.create."); 80 } finally { 81 DBUtils.closeStatement(statement); 82 DBUtils.closeConnection(connection); 83 } 84 } 85 86 public void delete(int groupID, int permission) 87 throws DatabaseException, ObjectNotFoundException { 88 90 } 91 92 public void delete_inGroup(int groupID) 93 throws DatabaseException { 94 96 } 97 98 public Collection getBeans_inGroup(int groupID) 99 throws DatabaseException { 100 return null; 102 } 103 104 public Collection getDistinctGroups() 105 throws DatabaseException { 106 return null; 108 } 109 110 } 111 | Popular Tags |