DeleteGroup.java :  » Mobile » whiteboard309 » whiteboard » group » Java Open Source

Java Open Source » Mobile » whiteboard309 
whiteboard309 » whiteboard » group » DeleteGroup.java
package whiteboard.group;

import com.opensymphony.xwork2.ActionSupport;

import org.apache.struts2.util.ServletContextAware;

import whiteboard.HomePage;

import java.sql.Connection;
import java.sql.PreparedStatement;

import javax.servlet.ServletContext;
import javax.sql.DataSource;

/**
 * This action class deletes a group from the database.
 * 
 * @author Gooble
 *
 */
public class DeleteGroup extends ActionSupport implements ServletContextAware {

  private ServletContext servletContext;
  private HomePage homePage;
  
  public String execute() {
    homePage = getHomePage();
    String gid = getGroupid();

    DataSource dbcp = (DataSource) servletContext
        .getAttribute("dbpool");

    removeGroupFromDB(groupid, homePage.getUser(), dbcp);
    if (homePage.removeGroup(Integer.parseInt(gid))) {
      return SUCCESS;
    }
  
    validate();
    return INPUT;
  }


  /**
   * Remove the group with the given groupid from the database.
   * 
   * @param groupid string version of the group id
   * @param user the user who is removing this group
   * @param dbcp the database connection
   * @return
   */
  public static boolean removeGroupFromDB(String groupid,
      String user, DataSource dbcp) {
    Connection con = null;
    boolean wasError = false;

    try {
      con = dbcp.getConnection();
      PreparedStatement prepStatement;

      // DELETE ALL STUDENTS IN THE GROUP
      String sql = "DELETE FROM members WHERE groupid = ? AND login = ?";
      prepStatement = con.prepareStatement(sql);
      prepStatement.setInt(1, Integer.parseInt(groupid));
      prepStatement.setString(2, user);
      prepStatement.executeUpdate();
      
      // DELETE ALL WALLPOSTS
      sql = "DELETE FROM wallposts WHERE groupid = ?";
      prepStatement = con.prepareStatement(sql);
      prepStatement.setInt(1, Integer.parseInt(groupid));
      prepStatement.executeUpdate();

      // DELETE GROUP
      sql = "DELETE FROM groups WHERE id = ?";
      prepStatement = con.prepareStatement(sql);
      prepStatement.setInt(1, Integer.parseInt(groupid));
      prepStatement.executeUpdate();

      prepStatement.close();
    } catch (Exception ex) {
      ex.printStackTrace();
      wasError = true;
    } finally {
      if (con != null)
        try {
          con.close();
        } catch (Exception e) {
        }
    }

    return wasError;
  }

  private HomePage getHomePage() {
    return (HomePage) this.servletContext.getAttribute("homePage");
  }

  private String groupid; 
  
  public void setServletContext(ServletContext arg0) {
    this.servletContext = arg0;
  }

  public void setGroupid(String groupid) {
    this.groupid = groupid;
  }

  public String getGroupid() {
    return groupid;
  }

  public void validate() {
    homePage = getHomePage();
    /* Can't perform this action */
    if (homePage == null)
      System.out.println("homepage is null");

  }
}
java2s.com  | Contact Us | Privacy Policy
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.