Information

0
Story Points

Technologies

Decompiled Java File
package actionbazaar.buslogic;

import actionbazaar.buslogic.BidderAccountCreator;
import actionbazaar.buslogic.WorkflowOrderViolationException;
import actionbazaar.persistence.BillingInfo;
import actionbazaar.persistence.BiographicalInfo;
import actionbazaar.persistence.LoginInfo;
import java.sql.Connection;
import java.sql.SQLException;
import java.sql.Statement;
import javax.annotation.PostConstruct;
import javax.annotation.PreDestroy;
import javax.annotation.Resource;
import javax.ejb.PostActivate;
import javax.ejb.PrePassivate;
import javax.ejb.Remove;
import javax.ejb.Stateful;
import javax.sql.DataSource;

@Stateful(
   name = "BidderAccountCreator"
)
public class BidderAccountCreatorBean implements BidderAccountCreator {
   @Resource(
      name = "jdbc/ActionBazaarDS"
   )
   private DataSource dataSource;
   private LoginInfo loginInfo;
   private BiographicalInfo biographicalInfo;
   private BillingInfo billingInfo;
   private Connection connection;

   @PostConstruct
   public void openConnectionConstruct() {
      System.out.println("BidderAccountCreaterBean.openConnectionConstruct()");

      try {
         this.connection = this.dataSource.getConnection();
      } catch (SQLException var2) {
         var2.printStackTrace();
      }

   }

   @PostActivate
   public void openConnectionActivate() {
      System.out.println("BidderAccountCreaterBean.openConnectionActivate()");

      try {
         this.connection = this.dataSource.getConnection();
      } catch (SQLException var2) {
         var2.printStackTrace();
      }

   }

   public void addLoginInfo(LoginInfo loginInfo) {
      this.loginInfo = loginInfo;
   }

   public void addBiographicalInfo(BiographicalInfo biographicalInfo) throws WorkflowOrderViolationException {
      if(this.loginInfo == null) {
         throw new WorkflowOrderViolationException("Login info must be set before biographical info");
      } else {
         this.biographicalInfo = biographicalInfo;
      }
   }

   public void addBillingInfo(BillingInfo billingInfo) throws WorkflowOrderViolationException {
      if(this.biographicalInfo == null) {
         throw new WorkflowOrderViolationException("Biographical info must be set before billing info");
      } else {
         this.billingInfo = billingInfo;
      }
   }

   @PrePassivate
   @PreDestroy
   public void cleanup() {
      try {
         this.connection.close();
         this.connection = null;
      } catch (SQLException var2) {
         var2.printStackTrace();
      }

   }

   @Remove
   public void cancelAccountCreation() {
      this.loginInfo = null;
      this.biographicalInfo = null;
      this.billingInfo = null;
   }

   @Remove
   public void createAccount() {
      try {
         Statement sqle = this.connection.createStatement();
         String sql = "INSERT INTO BIDDERS(username, first_name, credit_card_type) VALUES (\'" + this.loginInfo.getUsername() + "\', \'" + this.biographicalInfo.getFirstName() + "\', \'" + this.billingInfo.getCreditCardType() + "\')";
         sqle.execute(sql);
         sqle.close();
         System.out.println("Bidder successfully created ..");
      } catch (SQLException var3) {
         System.err.println("SQLException caught. ErrorCode : " + var3.getErrorCode() + ", SQL State : " + var3.getSQLState() + "\nMessage : " + var3.getMessage() + "\nLocal Message : " + var3.getLocalizedMessage());
      }

   }
}
Page generated: Oct 19, 2017 2:35:13 PM