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()); } }