
Atomicity Test Two
------------------

We select a customer with good credit.

1> select c_id from c_customer where c_credit = 'GC' and c_id < 20;
2> go
 c_id
 -----------
           1
           2
           3
           4
           5
           6
           8
           9
          10
          11
          12
          13
          14
          15
          17
          18
          19

(17 rows affected)
1>

For this test, we have chosen a c_id of 1. Using the web interface, we execute a newOrder transaction of 
item 0001MITEM00001 in quantity of 65. The order completes succesfully and the application server output shows:

org.spec.jappserver.orders.orderent.ejb.OrderEnt_nrczp2__WebLogic_CMP_RDBMS at org.spec.jappserver.orders.orderent.ejb.OrderCmp20EJB.setEntityContext(Ljavax.ejb.EntityContext;)V(OrderCmp20EJB.java:472)
: found SequenceSesHome interface
org.spec.jappserver.orders.orderent.ejb.OrderEnt_nrczp2__WebLogic_CMP_RDBMS at org.spec.jappserver.orders.orderent.ejb.OrderCmp20EJB.setEntityContext(Ljavax.ejb.EntityContext;)V(OrderCmp20EJB.java:480)
: found CustomerEntHome interface
org.spec.jappserver.orders.orderent.ejb.OrderEnt_nrczp2__WebLogic_CMP_RDBMS at org.spec.jappserver.orders.orderent.ejb.OrderCmp20EJB.setEntityContext(Ljavax.ejb.EntityContext;)V(OrderCmp20EJB.java:488)
: found LargeOrderSesHome interface
org.spec.jappserver.orders.orderent.ejb.OrderEnt_nrczp2__WebLogic_CMP_RDBMS at org.spec.jappserver.orders.orderent.ejb.OrderCmp20EJB.setEntityContext(Ljavax.ejb.EntityContext;)V(OrderCmp20EJB.java:493)
: found ItemEntHomeLocal interface
org.spec.jappserver.orders.orderent.ejb.OrderEnt_nrczp2__WebLogic_CMP_RDBMS at org.spec.jappserver.orders.orderent.ejb.OrderCmp20EJB.setEntityContext(Ljavax.ejb.EntityContext;)V(OrderCmp20EJB.java:498)
: found OrderLineEntHomeLocal interface
org.spec.jappserver.orders.orderent.ejb.OrderEnt_nrczp2__WebLogic_CMP_RDBMS at org.spec.jappserver.orders.orderent.ejb.OrderCmp20EJB.ejbCreate(I[Lorg.spec.jappserver.orders.helper.ItemQuantity;)Ljava.lang.Integer;(OrderCmp20EJB.java:107)
: ejbCreate 
org.spec.jappserver.orders.orderent.ejb.OrderEnt_nrczp2__WebLogic_CMP_RDBMS at org.spec.jappserver.orders.orderent.ejb.OrderCmp20EJB.ejbCreate(I[Lorg.spec.jappserver.orders.helper.ItemQuantity;)Ljava.lang.Integer;(OrderCmp20EJB.java:115)
: Atomicity Test (1,2,3): Order Id: 853501
org.spec.jappserver.orders.orderent.ejb.OrderEnt_nrczp2__WebLogic_CMP_RDBMS at org.spec.jappserver.orders.orderent.ejb.OrderCmp20EJB.ejbPostCreate(I[Lorg.spec.jappserver.orders.helper.ItemQuantity;)V(OrderCmp20EJB.java:149)
: Atomicity Test 3: OrderLineId: 1
org.spec.jappserver.orders.orderent.ejb.OrderEnt_nrczp2__WebLogic_CMP_RDBMS at org.spec.jappserver.orders.orderent.ejb.OrderCmp20EJB.getPriceWithDiscount(Ljava.lang.String;)D(OrderCmp20EJB.java:520)
: getPriceWithDiscount 
org.spec.jappserver.orders.orderent.ejb.OrderEnt_nrczp2__WebLogic_CMP_RDBMS at org.spec.jappserver.orders.orderent.ejb.OrderCmp20EJB.getPercentDiscount(D)D(OrderCmp20EJB.java:592)
: getPercentDiscount
org.spec.jappserver.orders.orderent.ejb.OrderEnt_nrczp2__WebLogic_CMP_RDBMS at org.spec.jappserver.orders.orderent.ejb.OrderCmp20EJB.findCustomer()V(OrderCmp20EJB.java:540)
: findCustomer
org.spec.jappserver.orders.orderent.ejb.OrderEnt_nrczp2__WebLogic_CMP_RDBMS at org.spec.jappserver.orders.orderent.ejb.OrderCmp20EJB.checkCustomerCredit()V(OrderCmp20EJB.java:568)
: checkCustomerCredit 
org.spec.jappserver.orders.orderent.ejb.OrderEnt_nrczp2__WebLogic_CMP_RDBMS at org.spec.jappserver.orders.orderent.ejb.OrderCmp20EJB.checkForLargeOrders([Lorg.spec.jappserver.orders.helper.ItemQuantity;)V(OrderCmp20EJB.java:622)
: checkForLargeOrders 
org.spec.jappserver.orders.orderent.ejb.OrderEnt_nrczp2__WebLogic_CMP_RDBMS at org.spec.jappserver.orders.orderent.ejb.OrderCmp20EJB.ejbStore()V(OrderCmp20EJB.java:417)
: ejbStore 

Order number is 853501 is verified via the o_orders and o_orderline tables.

1> select * from o_orders where o_id = 853501;
2> go
 o_id        o_c_id      o_ol_cnt    o_discount o_total     o_status
        o_entry_date            o_ship_date
 ----------- ----------- ----------- ---------- ----------- -----------
        ----------------------- -----------------------
      853501           1           1        .20    18645.86           1
        2005-01-21 11:30:58.687                    NULL

(1 row affected)
1> select * from o_orderline where ol_o_id = 853501;
2> go
 ol_id       ol_o_id     ol_i_id         ol_qty      ol_status
        ol_ship_date
 ----------- ----------- --------------- ----------- -----------
        -----------------------
           1      853501 00001MITEM00001          65        NULL
                           NULL

(1 row affected)
1>
