Exemplo n.º 1
0
  public static void Lconc(WorkflowControllerImpl wc)
      throws RemoteException, TransactionAbortedException, InvalidTransactionException {

    int xid = wc.start();
    xid = wc.start();
    boolean returnValue = wc.addFlight(xid, "347", 100, 310);
    assert returnValue == true;
    returnValue = wc.addRooms(xid, "Stanford", 200, 150);
    assert returnValue == true;
    returnValue = wc.addCars(xid, "SFO", 300, 30);
    assert returnValue == true;
    wc.commit(xid);

    int xid2 = wc.start();
    int flight = wc.queryFlight(xid2, "347");
    assert flight == 100;
    int flightPrice = wc.queryFlightPrice(xid2, "347");
    assert flightPrice == 310;
    int rooms = wc.queryRooms(xid2, "SFO");
    assert rooms == 200;
    int roomsPrice = wc.queryRoomsPrice(xid2, "SFO");
    assert roomsPrice == 150;
    int cars = wc.queryCars(xid2, "SFO");
    assert cars == 300;
    int carsprice = wc.queryCarsPrice(xid2, "SFO");
    assert carsprice == 30;
  }
Exemplo n.º 2
0
 public static void bstcmt(WorkflowControllerImpl wc)
     throws RemoteException, TransactionAbortedException, InvalidTransactionException {
   int xid = wc.start();
   System.out.println(xid);
   boolean returnValue = wc.commit(xid);
   System.out.println(returnValue);
 }
Exemplo n.º 3
0
  public static void Sitifail(WorkflowControllerImpl wc)
      throws RemoteException, TransactionAbortedException, InvalidTransactionException {

    int xid = wc.start();
    xid = wc.start();
    boolean returnValue = wc.addFlight(xid, "347", 100, 310);
    assert returnValue == true;
    returnValue = wc.addFlight(xid, "3471", 1001, 3101);
    assert returnValue == true;
    returnValue = wc.addRooms(xid, "Stanford", 200, 150);
    assert returnValue == true;
    returnValue = wc.addCars(xid, "SFO", 300, 30);
    assert returnValue == true;
    returnValue = wc.newCustomer(xid, "John");
    assert returnValue == true;
    wc.commit(xid);

    xid = wc.start();
    returnValue = wc.reserveCar(xid, "John", "SFO");
    assert returnValue == true;
    List<String> FlightList = new ArrayList<String>();
    FlightList.add("347");
    FlightList.add("3471");
    returnValue = wc.reserveItinerary(xid, "John", FlightList, "Stanford", true, true);
    assert returnValue == false;
    wc.commit(xid);

    xid = wc.start();
    int flight = wc.queryFlight(xid, "347");
    assert flight == 100;
    int flightPrice = wc.queryFlightPrice(xid, "347");
    assert flightPrice == 310;
    flight = wc.queryFlight(xid, "3471");
    assert flight == 1001;
    flightPrice = wc.queryFlightPrice(xid, "3471");
    assert flightPrice == 3101;
    int noofrooms = wc.queryRooms(xid, "Stanford");
    assert noofrooms == 200;
    int roomsPrice = wc.queryRoomsPrice(xid, "Stanford");
    assert roomsPrice == 150;
    int noofcars = wc.queryCars(xid, "SFO");
    assert noofcars == 299;
    int carsprice = wc.queryCarsPrice(xid, "SFO");
    assert carsprice == 30;
    int customerbill = wc.queryCustomerBill(xid, "John");
    assert customerbill == 30;
  }
Exemplo n.º 4
0
 public static void FunLock(WorkflowControllerImpl wc)
     throws RemoteException, TransactionAbortedException, InvalidTransactionException {
   /*			int xid = wc.start();
   			wc.addFlight(xid, "347", 100, 310);
   			wc.addRooms(xid, "Stanford", 200, 150);
   			wc.addCars(xid, "SFO", 300, 30);
   			wc.newCustomer(xid, "John");
   			wc.commit(xid);
   			xid = wc.start();
   			int xid2 = wc.start();
   			wc.addFlight(xid2, "347", 100, 620);
   			wc.addRooms(xid, "Stanford", 200, 300);
   			try {
   			wc.queryRooms(xid2, "Stanford");
   			}catch(TransactionAbortedException e){
   				System.out.println("Caught deadlock");
   			}
   			wc.commit(xid);
   			//printTables(wc);
   			xid = wc.start();
   			int value = wc.queryFlight(xid, "347");
   			System.out.println(value);
   			value = wc.queryFlightPrice(xid, "347");
   			System.out.println(value);
   			value = wc.queryRooms(xid, "Stanford");
   			System.out.println(value);
   			value = wc.queryRoomsPrice(xid, "Stanford");
   			System.out.println(value);
   */
   int xid = wc.start();
   boolean returnValue = wc.addFlight(xid, "347", 100, 310);
   assert returnValue == true;
   wc.commit(xid);
   xid = wc.start();
   xid = wc.start();
   returnValue = wc.addFlight(xid, "347", 100, 620);
   assert returnValue == true;
   int flight = wc.queryFlight(xid, "347");
   assert flight == 100;
   returnValue = wc.dieTMAfterCommit();
   assert returnValue == true;
   try {
     wc.commit(xid);
   } catch (RemoteException e) {
     System.out.println("Caught remote exception");
   }
 }
Exemplo n.º 5
0
  public static void sbill(WorkflowControllerImpl wc)
      throws RemoteException, TransactionAbortedException, InvalidTransactionException {
    int xid = wc.start();
    boolean returnVal = wc.addFlight(xid, "347", 100, 310);
    returnVal = wc.addRooms(xid, "Stanford", 200, 150);
    returnVal = wc.addCars(xid, "SFO", 300, 30);
    returnVal = wc.newCustomer(xid, "John");
    wc.commit(xid);
    // printTables(wc);

    xid = wc.start();
    returnVal = wc.reserveFlight(xid, "John", "347");
    returnVal = wc.reserveRoom(xid, "John", "Stanford");
    returnVal = wc.reserveCar(xid, "John", "SFO");
    // returnVal = rm.commit(xid);
    wc.commit(xid);
    // printTables(wc);

    xid = wc.start();
    int bill = wc.queryCustomerBill(xid, "John");
    System.out.println("Bill for john " + bill);
    wc.commit(xid);
  }
Exemplo n.º 6
0
  public static void Saddcmtdelcmt(WorkflowControllerImpl wc)
      throws RemoteException, TransactionAbortedException, InvalidTransactionException {

    int xid = wc.start();
    xid = wc.start();
    boolean returnValue = wc.addRooms(xid, "Stanford", 200, 150);
    assert returnValue == true;
    returnValue = wc.addCars(xid, "SFO", 300, 30);
    assert returnValue == true;
    wc.commit(xid);

    int xid2 = wc.start();
    boolean rooms = wc.deleteRooms(xid2, "Stanford", 5);
    assert rooms == true;
    boolean cars = wc.deleteCars(xid2, "Stanford", 5);
    assert cars == true;
    wc.commit(xid2);

    int xid3 = wc.start();
    int noofrooms = wc.queryRooms(xid3, "Stanford");
    assert noofrooms == 195;
    int noofcars = wc.queryCars(xid3, "Stanford");
    assert noofcars == 195;
  }
Exemplo n.º 7
0
  public static void baddabtrd(WorkflowControllerImpl wc)
      throws RemoteException, TransactionAbortedException, InvalidTransactionException {
    int xid = wc.start();
    boolean returnValue = wc.addFlight(xid, "347", 100, 310);
    assert returnValue == true;
    returnValue = wc.addRooms(xid, "Stanford", 200, 150);
    assert returnValue == true;
    returnValue = wc.addCars(xid, "SFO", 300, 30);
    assert returnValue == true;
    returnValue = wc.newCustomer(xid, "John");
    assert returnValue == true;
    wc.commit(xid);

    int xid2 = wc.start();
    returnValue = wc.addFlight(xid, "347", 100, 620);
    assert returnValue == true;
    returnValue = wc.addRooms(xid, "Stanford", 200, 300);
    assert returnValue == true;
    returnValue = wc.addCars(xid, "SFO", 300, 60);
    assert returnValue == true;
    wc.abort(xid2);

    int xid3 = wc.start();
    int flight = wc.queryFlight(xid3, "347");
    assert flight == 100;
    int flightPrice = wc.queryFlightPrice(xid3, "347");
    assert flightPrice == 310;
    int rooms = wc.queryRooms(xid3, "SFO");
    assert rooms == 200;
    int roomsPrice = wc.queryRoomsPrice(xid3, "SFO");
    assert roomsPrice == 150;
    int cars = wc.queryCars(xid3, "SFO");
    assert cars == 300;
    int carsprice = wc.queryCarsPrice(xid3, "SFO");
    assert carsprice == 30;
    int customerbill = wc.queryCustomerBill(xid3, "John");
    assert customerbill == 0;
  }