petshop-scene-reserveShopPet.spp
petshop/reservation/petshop-scene-reserveShopPet.spp
Download original file · Petstore source contents
1domain petshop;23Scenario serial reserveShopPet(Buyer, Goods, StockLine[], PetReservationAgreement) {4checkBuyerCredential;5checkGoodsCredential;6checkReservationQuantity;7parallel {8findBuyer;9findGoods;10}11identify(Buyer);12identify(Goods);13checkGoodsSale;14preparePetReservation;15transaction {16insertPetReservationAgreement;17}18prepareReservationInventory;19findStockLine;20identify(StockLine[]);21transaction {22reserveRequestedInventory bounds {23StockLine[].available: [0, null];24StockLine[].reserved: [0, null];25};26confirmPetReservation;27updatePetReservationAgreement;28} fail {29if (ResultInfo.failure.recoveryStatus == "ROLLED_BACK"30|| ResultInfo.failure.recoveryStatus == "REVERSED") {31findStockLine;32identify(StockLine[]);33rejectPetReservation;34transaction {35updatePetReservationAgreement;36}37}38}39}4041Scenario serial readShopReservation(PetReservationAgreement) {42findPetReservationAgreement;43identify(PetReservationAgreement);44}