Red Hat Application Migration Toolkit
package actionbazaar.buslogic;
import actionbazaar.buslogic.ActionBazaarProfilingInterceptor;
import actionbazaar.buslogic.DiscountVerifierInterceptor;
import actionbazaar.buslogic.PlaceBid;
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.SessionContext;
import javax.ejb.Stateless;
import javax.ejb.Timeout;
import javax.ejb.Timer;
import javax.ejb.TimerService;
import javax.interceptor.Interceptors;
import javax.sql.DataSource;
@Interceptors({ActionBazaarProfilingInterceptor.class})
@Stateless
public class PlaceBidBean implements PlaceBid {
private static long staticBidId = 0L;
private DataSource ds;
private Connection con;
@Resource
private SessionContext sc;
@Resource(
name = "jdbc/ActionBazaarDS"
)
public void setDs(DataSource ds) {
this.ds = ds;
}
public DataSource getDs() {
return this.ds;
}
@PostConstruct
public void initialize() {
try {
this.con = this.ds.getConnection();
} catch (SQLException var2) {
var2.printStackTrace();
}
}
@Interceptors({DiscountVerifierInterceptor.class})
public Long addBid(String userId, Long itemId, Double bidPrice) {
System.out.println("Bid for " + itemId + " received with price :" + bidPrice);
Long bidId = this.getBidId();
this.createBid(userId, itemId, bidPrice, bidId);
return bidId;
}
private void createBid(String userId, Long itemId, Double bidPrice, Long bidId) {
try {
Statement e = this.con.createStatement();
e.execute("INSERT INTO BIDS(BID_ID,BID_BIDDER,BID_ITEM_ID,BID_PRICE) VALUES(" + this.getBidId() + ",\'" + userId + "\'," + itemId + "," + bidPrice + ")");
TimerService ts = this.sc.getTimerService();
ts.createTimer(1800000L, bidId);
} catch (Exception var7) {
var7.printStackTrace();
}
}
private synchronized Long getBidId() {
return Long.valueOf(++staticBidId);
}
@PreDestroy
public void cleanup() {
try {
this.con.close();
this.con = null;
} catch (SQLException var2) {
var2.printStackTrace();
}
}
@Timeout
public void sendBidInfo(Timer timer) {
System.out.println("BidManager EJB: Monitor status of BidId:" + timer.getInfo());
}
}