There are a couple of things to consider here
What happens when you have booked the wrong room for a client (in the future) and have to change the record, do you first have to unbook a room?
What happens when a mistake has been made in the past and now has to be changed? (what happens with the 48 hour requirement?)
What happens when you are trying to book a room someone has just booked? (Optimistic Locking scenario)
Not a problem. Your instructions probably tell you something like you cannot get extra marks for doing anything that is not a requirement. I can't see any requirement for "unbooking" a record (or for the client app to be able to create or delete a record). So you wont get extra marks for handling this. But it is still a design decision not to handle unbooking, so you might want to mention it in your design choices document.As i said above. An unbooking or changing the customer id i doesn't want to implement in order to keep thinks simple. @Andre: Is it a problem?
For the find method I see no point in passing the RecordNotFoundException to the client - they were not after a specific record so the exception means nothing to them.So and my problem is now that i dont know what to do with the RecordNotFoundException because i doesn't want to change my method signature (i.e. throws RecordNotFoundException). The cause it that if i chain it to the gui layer then i have the problem in this layer. Because i can't prompt the user with a message like "In your find request record 5 has a problem".
The only approach which make sense to me is to throw an RuntimeException.
The Sun Certified Java Developer Exam with J2SE 5: paper version from Amazon, PDF from Apress, Online reference: Books 24x7 Personal blog