亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? statemachine.java

?? 一個優秀的供應商管理系統
?? JAVA
字號:
package apusic.myshop.control.ejb;import java.rmi.RemoteException;import java.util.ArrayList;import java.util.AbstractList;import java.util.Collection;import java.util.Iterator;import java.util.HashMap;import javax.rmi.PortableRemoteObject;import javax.naming.Context;import javax.naming.InitialContext;import javax.naming.NamingException;import javax.ejb.CreateException;import javax.ejb.DuplicateKeyException;import javax.ejb.EJBException;import javax.ejb.FinderException;import apusic.myshop.control.event.BaseEvent;import apusic.myshop.control.event.CartEvent;import apusic.myshop.control.event.LoginEvent;import apusic.myshop.control.event.LogoutEvent;import apusic.myshop.control.event.CustomerEvent;import apusic.myshop.control.event.DBLoginEvent;import apusic.myshop.control.ejb.ShoppingClientControllerEJB;import apusic.myshop.control.EventException;import apusic.myshop.util.Debug;import apusic.myshop.cart.ejb.Cart;import apusic.myshop.util.SecurityAdapter;import apusic.myshop.customer.ejb.DuplicateAccountException;import apusic.myshop.util.JNDINames;import apusic.myshop.customer.ejb.CustomerHome;import apusic.myshop.customer.ejb.Customer;import apusic.myshop.util.EJBUtil;import apusic.myshop.control.LoginFailedException;import apusic.myshop.control.event.OrderEvent;import apusic.myshop.order.ejb.Order;import apusic.myshop.inventory.ejb.InventoryHome;import apusic.myshop.inventory.ejb.Inventory;import apusic.myshop.cart.model.CartItem;import apusic.myshop.cart.model.CartModel;import apusic.myshop.order.model.LineItem;import apusic.myshop.order.ejb.OrderHome;import apusic.myshop.util.JNDINames;public class StateMachine implements java.io.Serializable {  private ShoppingClientControllerEJB sccejb;  private ModelUpdateManager mum;  private HashMap orderTable;  public StateMachine(ShoppingClientControllerEJB sccejb) {    this.sccejb = sccejb;    this.mum = new ModelUpdateManager();  }  public Collection handleEvent(BaseEvent be)    throws RemoteException, EventException {    Debug.println("StateMachine: received event= " + be);    if (be instanceof CartEvent) {      handleCartEvent((CartEvent)be);    } else if (be instanceof CustomerEvent) {      handleCustomerEvent((CustomerEvent)be);    } else if (be instanceof DBLoginEvent) {      Debug.println("<<<<<finding user...");      handleDBLoginEvent((DBLoginEvent)be);    } else if (be instanceof LoginEvent) {      Debug.println("<<<<<login user...");      // Nothing needs to be done. so ignore.    }else if (be instanceof LogoutEvent) {      // do noting. EJB is removed at the web tier by the RequestProcessor    } else if (be instanceof OrderEvent) {      handleOrderEvent((OrderEvent)be);    }    return (mum.getUpdatedModels(be));  }  private void handleDBLoginEvent(DBLoginEvent dle)    throws RemoteException, LoginFailedException {    Debug.println("<<<<<finding user...");    try {      CustomerHome home = EJBUtil.getCustomerHome();      Customer customer = home.findByUserId(dle.getUserId());      String password = customer.getPassword();      if (!password.equals(dle.getPassword())) {        throw new LoginFailedException("密碼不正確!");      }    }catch(FinderException fe) {      Debug.print("<<<<<can't find user...");      throw new LoginFailedException("你的賬號還未注冊!");    }  }  private void handleCustomerEvent(CustomerEvent ce)    throws RemoteException, DuplicateAccountException {    // currently handles only AccountEvent.CREATE_ACCOUNT event.    switch (ce.getActionType()) {      case CustomerEvent.CREATE_CUSTOMER: {      try {        SecurityAdapter securityAdapter = null;        String securityAdapterClassName = null;        try{          InitialContext ic = new InitialContext();          securityAdapterClassName = (String)          ic.lookup(JNDINames.SECURITY_ADAPTER_CLASSNAME);        } catch (NamingException ex) {          Debug.println("StateMachine caught: " + ex);          // ignore.. we are working around it below.        }        // use j2ee user manager if not specified        if (securityAdapterClassName == null){          Debug.println("Security Adapter not specified in deployment descriptor: using default J2ee Security Adapter");          securityAdapterClassName = "apusic.myshop.util.ApusicSecurityAdapter";        }        Debug.println("StateMachine: Security Adapter class name = " + securityAdapterClassName);        try{          securityAdapter = (SecurityAdapter)Class.forName(securityAdapterClassName).newInstance();          if (securityAdapter != null)            securityAdapter.addUser("default", "gold",  ce.getUserId(), ce.getPassword());        } catch (java.lang.InstantiationException ie){          Debug.println("StateMachine caught: " + ie);        } catch (java.lang.IllegalAccessException il){          Debug.println("StateMachine caught: " + il);        } catch (java.lang.ClassNotFoundException e){          Debug.println("StateMachine caught: " + e);        }        CustomerHome home = EJBUtil.getCustomerHome();        home.create(          ce.getUserId(), ce.getPassword(), ce.getName(),          ce.getSex(), ce.getCompany(), ce.getCid(),          ce.getAddress(), ce.getProvince(), ce.getCity(),          ce.getZip(), ce.getPhone(), ce.getEmail(), ce.getRegDate()        );      } catch (DuplicateKeyException dke) {        throw new DuplicateAccountException("Customer Exists");      } catch (CreateException cre) {        throw new EJBException(cre);      }    } break;    default:      Debug.print("Error: not implemented yet");      break;    }  }  private void handleCartEvent(CartEvent ce) throws RemoteException {    Cart cart = sccejb.getCart();    switch (ce.getActionType()) {      case CartEvent.ADD_ITEM:{        Collection itemIds = ce.getItemIds();        Iterator it = itemIds.iterator();        while (it.hasNext()){          cart.addItem((String)it.next());        }      }      break;      case CartEvent.DELETE_ITEM: {        Collection itemIds = ce.getItemIds();        Iterator it = itemIds.iterator();        while (it.hasNext()){          cart.deleteItem((String)it.next());        }      }      break;      case CartEvent.UPDATE_ITEM :{        Collection itemIds = ce.getItemIds();        Iterator it = itemIds.iterator();        while (it.hasNext()){          String itemId = (String)it.next();          int quantity = ce.getItemQty(itemId);          // change the quanty or delete the item if the item quantity is less than or equal to 0          if (quantity > 0){            cart.updateItemQty(itemId, quantity);          } else {            cart.deleteItem(itemId);          }        }      }      break;    }  }  public int getOrderId(int requestId) {    if (orderTable != null) {      if (orderTable.containsKey(requestId + "")) {		    return Integer.parseInt((String)orderTable.get(requestId + ""));	    }    }    return -1;  }  private void handleOrderEvent(OrderEvent oe)	  throws RemoteException {      switch (oe.getActionType()) {        case OrderEvent.CREATE_ORDER:          createOrder(oe);          break;        default:          Debug.print("Error: Not implemented yet!");          break;    }  }  private Order createOrder(OrderEvent oe) throws RemoteException {    Cart cart = sccejb.getCart();    Order order = null;    try {      InventoryHome inventHome = EJBUtil.getInventoryHome();      Iterator ci = ((CartModel)cart.getDetails()).getItems();      ArrayList lineItems = new ArrayList();      int lineNo = 0;      double total = 0;      while (ci.hasNext()) {        lineNo++;        CartItem cartItem = (CartItem) ci.next();        LineItem li = new LineItem(cartItem.getItemId(),          cartItem.getQuantity(),          cartItem.getUnitCost(), lineNo);        lineItems.add(li);        total += (cartItem.getUnitCost() *        (double) cartItem.getQuantity());      }      /*      for (Iterator it = lineItems.iterator(); it.hasNext();){        LineItem LI = (LineItem)it.next();		    Inventory inventRef =			  inventHome.findByProductId(LI.getItemNo());        inventRef.updateQty(LI.getQty());      }      */      OrderHome home = EJBUtil.getOrderHome();      order = home.create(oe.getUserId(), oe.getShipName(), oe.getShipAddr(),        oe.getShipProvince(), oe.getShipCity(), oe.getShipZip(),        oe.getShipCountry(), oe.getBillName(), oe.getBillAddr(),        oe.getBillProvince(), oe.getBillCity(), oe.getBillZip(),        oe.getBillCountry(), oe.getCreditCard(), total, lineItems);	      Debug.println("Created the order");	      Debug.println("StateMachine;OrderId= " + order.getDetails().getOrderId());        // put the requestId and the orderId in a table to match up later        if (orderTable == null) orderTable = new HashMap();        orderTable.put(oe.getRequestId() + "", order.getDetails().getOrderId() +"");        // empty shopping cart        cart.empty();        /*        if (JNDIUtil.sendConfirmationMail()) {          // send order confirmation mail.          Mailer mailer = EJBUtil.createMailerEJB();          mailer.sendOrderConfirmationMail(order.getDetails().getOrderId());        }        */      } catch (DuplicateKeyException dke) {		    // How can another order have the same id ?		    throw new EJBException(dke);      } catch (CreateException ce) {        ce.printStackTrace();	      throw new EJBException(ce);        /*      } catch (FinderException fe) {	      throw new EJBException(fe);        */      }      return order;  }}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩毛片一二三区| 亚州成人在线电影| 欧美三级中文字幕| 国产精品77777竹菊影视小说| 国产精品国产馆在线真实露脸| 91精品国产入口在线| 91亚洲男人天堂| 国产盗摄视频一区二区三区| 日日夜夜免费精品视频| 亚洲三级电影网站| 国产精品日韩精品欧美在线| 欧美电影免费观看完整版| 欧美综合在线视频| 99久久精品99国产精品| 国产精品99久久久久久宅男| 人人狠狠综合久久亚洲| 亚洲一区中文日韩| 日韩美女视频一区| 中文字幕va一区二区三区| 日韩色在线观看| 欧美精品丝袜中出| 欧美三级韩国三级日本三斤| 色综合 综合色| 91女人视频在线观看| 国产成人av资源| 国产凹凸在线观看一区二区| 久久国产精品99久久久久久老狼| 五月婷婷综合在线| 图片区小说区国产精品视频| 一区二区三区日本| 一区二区三区在线视频免费观看| 国产精品美日韩| 国产精品美女一区二区在线观看| 久久久久久麻豆| 日本一区免费视频| 国产农村妇女毛片精品久久麻豆 | 色婷婷av一区| 91网址在线看| 色婷婷综合久久久久中文一区二区| 本田岬高潮一区二区三区| eeuss鲁片一区二区三区在线观看| 福利电影一区二区三区| 成人一区二区三区在线观看 | 51精品久久久久久久蜜臀| 欧美性欧美巨大黑白大战| 欧美日韩一区不卡| 91精品国产高清一区二区三区 | 久久综合丝袜日本网| 久久综合久久综合久久综合| 精品处破学生在线二十三| 2021久久国产精品不只是精品| 欧美精品一区二区三区蜜桃视频| 久久婷婷色综合| 欧美激情在线一区二区| 亚洲欧美日韩国产综合在线| 一区二区日韩电影| 日本最新不卡在线| 久久se精品一区二区| 国产大陆精品国产| 一本色道久久综合亚洲aⅴ蜜桃| 欧美视频第二页| 91精品国产综合久久国产大片| 精品动漫一区二区三区在线观看| 国产精品美女久久久久久久久久久 | 国产精品久久久一本精品| 日韩伦理av电影| 香蕉影视欧美成人| 久久国产精品无码网站| a4yy欧美一区二区三区| 884aa四虎影成人精品一区| www国产成人免费观看视频 深夜成人网| 日本一区二区三区电影| 亚洲综合激情网| 国产在线播精品第三| av在线播放成人| 欧美高清www午色夜在线视频| 亚洲精品在线免费观看视频| 最新日韩av在线| 美国一区二区三区在线播放| 成人激情免费电影网址| 欧美男男青年gay1069videost| 欧美精品一区二区不卡 | 中文字幕亚洲综合久久菠萝蜜| 亚洲自拍偷拍图区| 国产福利一区二区三区在线视频| 欧日韩精品视频| 国产三级三级三级精品8ⅰ区| 一区二区三区在线不卡| 狠狠久久亚洲欧美| 国产精品国产a| 日韩在线一区二区| 粉嫩av一区二区三区在线播放| 欧美日韩一区二区三区视频| 中文字幕欧美区| 免费一级欧美片在线观看| 色综合天天狠狠| 久久久美女毛片| 日韩电影一二三区| 色一情一乱一乱一91av| 337p粉嫩大胆噜噜噜噜噜91av| 一区二区三区不卡视频在线观看| 国产大陆精品国产| 日韩欧美国产一二三区| 亚洲男人天堂一区| 不卡视频免费播放| 久久久美女毛片| 美女视频黄久久| 777欧美精品| 一区二区三区在线视频免费观看| 国产成人免费高清| 久久这里只有精品首页| 日本亚洲天堂网| 欧美三级中文字幕在线观看| 国产精品国产三级国产三级人妇| 国产综合色视频| 日韩免费视频一区二区| 日韩电影一区二区三区四区| 日本精品免费观看高清观看| 国产精品久久久爽爽爽麻豆色哟哟 | 国产一区二区精品久久| 在线91免费看| 午夜精品一区二区三区电影天堂| 91亚洲资源网| 亚洲男人天堂av| bt欧美亚洲午夜电影天堂| 国产亚洲欧洲997久久综合| 国产在线精品一区二区夜色 | 日韩一区二区在线免费观看| 午夜天堂影视香蕉久久| 欧美亚洲国产一区在线观看网站| 亚洲男人电影天堂| 色欧美日韩亚洲| 一区二区三区.www| 欧美天堂亚洲电影院在线播放| 一区二区三区四区精品在线视频| 91视频在线看| 亚洲自拍偷拍九九九| 欧美日韩中文字幕精品| 无吗不卡中文字幕| 欧美成人猛片aaaaaaa| 久久99精品一区二区三区三区| 精品乱码亚洲一区二区不卡| 久久99精品国产麻豆婷婷| 久久久久久久综合| 成人免费高清视频| 亚洲视频一区在线观看| 色欧美片视频在线观看| 亚洲一区二区在线观看视频| 欧美日韩精品二区第二页| 日韩成人av影视| 精品999久久久| 精品国产乱码久久久久久1区2区| 另类综合日韩欧美亚洲| 久久亚洲影视婷婷| 不卡的av网站| 亚洲国产色一区| 日韩欧美在线123| 国产91精品欧美| 亚洲午夜在线视频| 欧美一区二区三区公司| 国产福利精品导航| 亚洲一区二区美女| 精品国产乱码91久久久久久网站| 国产黄色成人av| 一区二区三区四区激情| 日韩精品一区二区三区在线 | 成人蜜臀av电影| 一区二区欧美在线观看| 欧美刺激午夜性久久久久久久| 国产成人精品aa毛片| 亚洲午夜免费电影| 精品国产1区二区| 99re视频精品| 奇米精品一区二区三区在线观看| 国产日韩欧美a| 欧美剧情电影在线观看完整版免费励志电影 | 国产成人免费在线| 亚洲成人免费av| 久久九九国产精品| 欧美系列在线观看| 国产一区二区三区综合| 夜夜揉揉日日人人青青一国产精品| 日韩欧美的一区| 91黄色在线观看| 国产馆精品极品| 五月激情综合网| 中文字幕亚洲不卡| 日韩欧美另类在线| 欧美伊人久久久久久午夜久久久久| 韩国女主播成人在线观看| 一区2区3区在线看| 久久久高清一区二区三区| 欧美人牲a欧美精品| 成人午夜视频网站| 美女视频第一区二区三区免费观看网站| 国产精品久线观看视频| 欧美videossexotv100| 欧美日韩中文字幕一区| 不卡一区二区中文字幕| 国产一区二区三区综合|