Mercurial > hg > blitz_stable
comparison src/org/dancres/blitz/remote/txn/TxnLeaseHandlerImpl.java @ 0:3dc0c5604566
Initial checkin of blitz 2.0 fcs - no installer yet.
author | Dan Creswell <dan.creswell@gmail.com> |
---|---|
date | Sat, 21 Mar 2009 11:00:06 +0000 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
-1:000000000000 | 0:3dc0c5604566 |
---|---|
1 package org.dancres.blitz.remote.txn; | |
2 | |
3 import java.io.IOException; | |
4 | |
5 import net.jini.core.lease.UnknownLeaseException; | |
6 import net.jini.core.lease.LeaseDeniedException; | |
7 | |
8 import org.dancres.blitz.lease.LeaseHandler; | |
9 import org.dancres.blitz.lease.SpaceUID; | |
10 import org.dancres.blitz.lease.LeaseBounds; | |
11 import org.dancres.blitz.util.Time; | |
12 | |
13 /** | |
14 */ | |
15 public class TxnLeaseHandlerImpl implements LeaseHandler { | |
16 public boolean recognizes(SpaceUID aUID) { | |
17 return (aUID instanceof SpaceTxnUID); | |
18 } | |
19 | |
20 public long renew(SpaceUID aUID, long aLeaseDuration) | |
21 throws UnknownLeaseException, LeaseDeniedException, IOException { | |
22 | |
23 long myDuration = LeaseBounds.boundView(aLeaseDuration); | |
24 long myExpiry = Time.getAbsoluteTime(myDuration); | |
25 | |
26 boolean myResult; | |
27 | |
28 myResult = LoopBackMgr.get().renew((SpaceTxnUID) aUID, | |
29 myExpiry); | |
30 | |
31 if (!myResult) | |
32 throw new UnknownLeaseException(); | |
33 | |
34 return myDuration; | |
35 } | |
36 | |
37 public void cancel(SpaceUID aUID) | |
38 throws UnknownLeaseException, IOException { | |
39 | |
40 boolean myResult; | |
41 | |
42 myResult = LoopBackMgr.get().cancel((SpaceTxnUID) aUID); | |
43 | |
44 if (!myResult) | |
45 throw new UnknownLeaseException(); | |
46 } | |
47 } |