📄 ordercontrollerbean.java
字号:
package bookstore.ejb;import bookstore.util.*;import java.sql.*;import javax.sql.*;import java.util.*;import javax.ejb.*;public class OrderControllerBean implements SessionBean{ SessionContext sessionContext; private String orderID; private OrdersHome orderHome; private Orders order; private Connection con; /*************************** removal methods*****************************/public String createOrder(OrderDetails orderValue) throws Exception { // makes a new Order and enters it into db, // returns OrderId System.out.println("OrderControllerBean createOrder"); try { order = orderHome.create(orderValue); } catch (Exception ex) { throw new EJBException ("createOrder: " + ex.getMessage()); } return orderID; }// createOrder public String createOrderFromBasket(BasketDetails basketValue) throws Exception { // makes a new Book and enters it into db, // returns BookId System.out.println("BookControllerBean createBookFromBasket"); String orderId; try { OrderDetails orderValue=new OrderDetails("",basketValue.getCustomerID(), basketValue.getBookID(),1, basketValue.getAddDate(),null); orderId=createOrder(orderValue); BasketControllerHome basketControllerHome=EJBGetter.getBasketControllerHome(); BasketController basketController=basketControllerHome.create(); basketController.removeBasket(basketValue.getBasketID()); } catch (Exception ex) { throw new EJBException ("createOrderFromBasket: " + ex.getMessage()); } return orderId; }// createOrderFromBasket public void removeOrder(String orderId) throws NoSuchEntityException { //抛出RunTimeException的子类,有利于事务管理 // removes Order from db System.out.println("OrderControllerBean removeOrder"); if (isOrderExist(orderId) == false) throw new NoSuchEntityException(orderId); try { order.remove();//Order已在isOrderExist中获得 }catch (Exception ex) { throw new EJBException ("removeOrder: " + ex.getMessage()); } } // removeOrder public void updateOrder(OrderDetails orderValue) throws NoSuchEntityException { System.out.println("OrderControllerBean updateOrder"); if (isOrderExist(orderValue.getOrderID()) == false) throw new NoSuchEntityException(orderValue.getOrderID()); order.setCustomerID(orderValue.getCustomerID()); order.setBookID(orderValue.getBookID()); order.setNum(orderValue.getNum()); order.setOrderDate(orderValue.getOrderDate()); order.setDeliverDate(orderValue.getDeliverDate()); }//updateOrder //获取待处理订单 public ArrayList getOrders() throws ObjectNotFoundException { System.out.println("OrderControllerBean getOrders"); Collection orders; try { String condition="deliverDate is null"; orders =orderHome.findByCondition(condition); if (orders.isEmpty()) throw new ObjectNotFoundException(); } catch (Exception ex) { throw new ObjectNotFoundException(); } ArrayList orderValues = new ArrayList(); Iterator i = orders.iterator(); while (i.hasNext()) { Orders ord= (Orders)i.next(); OrderDetails orderValue=ord.getDetails(); orderValues.add(orderValue); } return orderValues; }//getOrders //获取可处理订单,即书库存数量不为负数 //并发货 public ArrayList getOrdersAble() throws ObjectNotFoundException { System.out.println("OrderControllerBean getOrders"); Collection orders; try { String SQLStatement="select OrderID from orders ,book "+ "where orders.bookID=book.bookID and book.StockNum >= 0"; orders =orderHome.findOrderAble(SQLStatement); if (orders.isEmpty()) throw new ObjectNotFoundException(); } catch (Exception ex) { throw new ObjectNotFoundException(); } ArrayList orderValues = new ArrayList(); Iterator i = orders.iterator(); java.util.Date utilDate=new java.util.Date(); java.sql.Date date=new java.sql.Date(utilDate.getTime()); while (i.hasNext()) { Orders ord= (Orders)i.next(); OrderDetails orderValue=ord.getDetails(); //设置处理日期 ord.setDeliverDate(date); orderValues.add(orderValue); } return orderValues; }//getOrdersAble public OrderDetails getOrderValue(String orderId) { System.out.println("orderControllerBean getorderValue"); try { order = orderHome.findByPrimaryKey(orderId); this.orderID = orderId; } catch (Exception ex) { return null; } return order.getDetails(); }/******************************ejb methods*********************************/ public void ejbCreate() throws CreateException { System.out.println("OrderControllerBean ejbCreate"); try { //创建下一层的引导接口 orderHome=EJBGetter.getOrderHome(); } catch (Exception ex) { System.out.println("OrderControllerBean catch"); throw new EJBException("ejbCreate: " + ex.getMessage()); } order = null; orderID = null; }//ejbCreate public void ejbRemove() { /**@todo Complete this method*/ } public void ejbActivate() { /**@todo Complete this method*/ } public void ejbPassivate() { /**@todo Complete this method*/ } public void setSessionContext(SessionContext sessionContext) { this.sessionContext = sessionContext; } /******************************util methods****************************/ private boolean isOrderExist(String orderId) { // If a business method has been invoked with // a different OrderId, then update the // OrderId and Order variables. // Return null if the Order is not found. System.out.println("OrderControllerBean isOrderExist"); if (orderId.equals(this.orderID) == false) { try { order = orderHome.findByPrimaryKey(orderId); this.orderID = orderId; } catch (Exception ex) { return false; } } // if return true; }// isOrderExist}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -