View Javadoc

1   package org.sourceforge.jemm.database.persistent.berkeley;
2   
3   import java.util.LinkedList;
4   
5   import com.sleepycat.persist.model.Entity;
6   import com.sleepycat.persist.model.PrimaryKey;
7   
8   import org.sourceforge.jemm.database.ClientId;
9   import org.sourceforge.jemm.database.ClientThreadId;
10  import org.sourceforge.jemm.database.components.UserLockInfo;
11  import org.sourceforge.jemm.types.ID;
12  
13  @Entity
14  public class UserLockEntry {
15  
16  	@PrimaryKey
17  	long id;
18  
19  	String clientId;
20  	String threadId;
21  	
22  	LinkedList<ClientThreadId> lockQueue;
23  
24  	public UserLockEntry() {}
25  	
26  	public UserLockEntry(UserLockInfo info) {
27  		this.id = info.getId().getIDValue();
28  		ClientThreadId clientThreadId = info.getHolder();
29  		if(clientThreadId == null) {
30  			clientId = null;
31  			threadId = null;
32  		} else {
33  			clientId = clientThreadId.getClientId().getInternalRep();
34  			threadId = clientThreadId.getThreadId();
35  		}
36  		this.lockQueue = info.getLockQueue();
37  	}
38  	
39  	public UserLockInfo convert() {
40  		ClientThreadId ctId;
41  		if(clientId == null)
42  			ctId = null;
43  		else 
44  			ctId = new ClientThreadId(new ClientId(clientId),threadId);
45  		
46  		return new UserLockInfo(new ID(id),ctId,lockQueue);
47  	}
48  }