KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > objectweb > jass > examples > travelagency > ejbs > compensations > ReserveRoomsCompensation


1 /**
2  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
3  -
4  - JASS: Java Advanced tranSaction Support
5  -
6  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
7  -
8  - This module was originally developed by
9  -
10  - LSD (Distributed Systems Lab, http://lsd.ls.fi.upm.es/lsd/lsd.htm)
11  - at Universidad Politecnica de Madrid (UPM) as an ObjectWeb Consortium
12  - (http://www.objectweb.org) project.
13  -
14  - This project has been partially funded by the European Commission under
15  - the IST programme of V FP grant IST-2001-37126 and by the Spanish
16  - Ministry of Science & Technology (MCyT) grants TIC2002-10376-E and
17  - TIC2001-1586-C03-02
18  -
19  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
20  - The original code and portions created by LSD are
21  - Copyright (c) 2004 LSD (UPM)
22  - All rights reserved.
23  -
24  - Redistribution and use in source and binary forms, with or without
25  - modification, are permitted provided that the following conditions are met:
26  -
27  - -Redistributions of source code must retain the above copyright notice, this
28  - list of conditions and the following disclaimer.
29  -
30  - -Redistributions in binary form must reproduce the above copyright notice,
31  - this list of conditions and the following disclaimer in the documentation
32  - and/or other materials provided with the distribution.
33  -
34  - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
35  - AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
36  - IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
37  - ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
38  - LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
39  - CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
40  - SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
41  - INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
42  - CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
43  - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
44  - POSSIBILITY OF SUCH DAMAGE.
45  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
46  -
47  - Author: Francisco Perez Sorrosal (frperezs)
48  -
49  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
50 */

51
52 package org.objectweb.jass.examples.travelagency.ejbs.compensations;
53
54 import org.objectweb.jass.examples.travelagency.ejbs.HotelBean;
55 import org.objectweb.jass.examples.travelagency.exceptions.DBException;
56
57 import javax.activity.opennested.Compensator;
58
59 /**
60  * Implements the compensation for a previously made room reservation in a
61  * given hotel.
62  * @author fran
63  * Date: Feb 16, 2004
64  * org.objectweb.jass.examples.travelagency.ejbs.compensationsReserveRoomsCompensation.java
65  */

66 public class ReserveRoomsCompensation implements Compensator {
67     HotelBean bean;
68     int rooms;
69
70     /**
71      * Constructor.
72      * @param hotelBean
73      * @param nRooms
74      */

75     public ReserveRoomsCompensation(HotelBean hotelBean, int nRooms) {
76         bean = hotelBean;
77         rooms = nRooms;
78     }
79
80     // Implements Compensator
81

82     /**
83      * Invokes the compensation method.
84      */

85     public void compensate() {
86         System.out.println("HOTEL RESERVATION COMPENSATION");
87         try {
88             bean.unreserveRooms(rooms);
89         } catch (DBException e) {
90             System.out.println(
91                 "HOTEL RESERVATION COMPENSATION NOT PERFORMED DUE TO A DB ERROR!!!");
92         }
93         System.out.println("HOTEL RESERVATION COMPENSATION MADE SUCCESSFULLY!!!");
94     }
95
96     /**
97      * Clears the internal attributes.
98      */

99     public void forget() {
100         bean = null;
101         rooms = 0;
102     }
103 }
104
Popular Tags