mirror of
https://github.com/yacy/yacy_search_server.git
synced 2024-09-19 00:01:41 +02:00
*) adding some functions to userDB.Entry
git-svn-id: https://svn.berlios.de/svnroot/repos/yacy/trunk@823 6c8d7289-2bf4-0310-a012-ef5d649a1542
This commit is contained in:
parent
ff1d3d0680
commit
af7829df25
|
@ -66,20 +66,20 @@ public class userDB {
|
|||
private File userTableFile;
|
||||
private int bufferkb;
|
||||
|
||||
public userDB(File robotsTableFile, int bufferkb) throws IOException {
|
||||
this.userTableFile = robotsTableFile;
|
||||
public userDB(File userTableFile, int bufferkb) throws IOException {
|
||||
this.userTableFile = userTableFile;
|
||||
this.bufferkb = bufferkb;
|
||||
if (robotsTableFile.exists()) {
|
||||
if (userTableFile.exists()) {
|
||||
try {
|
||||
this.userTable = new kelondroMap(new kelondroDyn(robotsTableFile, bufferkb * 1024));
|
||||
this.userTable = new kelondroMap(new kelondroDyn(userTableFile, bufferkb * 1024));
|
||||
} catch (kelondroException e) {
|
||||
robotsTableFile.delete();
|
||||
robotsTableFile.getParentFile().mkdirs();
|
||||
this.userTable = new kelondroMap(new kelondroDyn(robotsTableFile, bufferkb * 1024, 128, 256));
|
||||
userTableFile.delete();
|
||||
userTableFile.getParentFile().mkdirs();
|
||||
this.userTable = new kelondroMap(new kelondroDyn(userTableFile, bufferkb * 1024, 128, 256));
|
||||
}
|
||||
} else {
|
||||
robotsTableFile.getParentFile().mkdirs();
|
||||
this.userTable = new kelondroMap(new kelondroDyn(robotsTableFile, bufferkb * 1024, 128, 256));
|
||||
userTableFile.getParentFile().mkdirs();
|
||||
this.userTable = new kelondroMap(new kelondroDyn(userTableFile, bufferkb * 1024, 128, 256));
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -131,9 +131,8 @@ public class userDB {
|
|||
}
|
||||
}
|
||||
|
||||
public Entry addEntry(String userName, HashMap userProps) {
|
||||
public Entry createEntry(String userName, HashMap userProps) {
|
||||
Entry entry = new Entry(userName,userProps);
|
||||
addEntry(entry);
|
||||
return entry;
|
||||
}
|
||||
|
||||
|
@ -152,6 +151,9 @@ public class userDB {
|
|||
public static final String USER_FIRSTNAME = "firstName";
|
||||
public static final String USER_LASTNAME = "lastName";
|
||||
public static final String USER_ADDRESS = "address";
|
||||
public static final String LAST_ACCESS = "lastAccess";
|
||||
public static final String TIME_USED = "timeUsed";
|
||||
public static final String TIME_LIMIT = "timeLimit";
|
||||
|
||||
// this is a simple record structure that hold all properties of a user
|
||||
private Map mem;
|
||||
|
@ -187,6 +189,45 @@ public class userDB {
|
|||
return (this.mem.containsKey(USER_ADDRESS)?(String)this.mem.get(USER_ADDRESS):null);
|
||||
}
|
||||
|
||||
public Long getLastAccess() {
|
||||
return (this.mem.containsKey(LAST_ACCESS)?Long.valueOf((String)this.mem.get(LAST_ACCESS)):null);
|
||||
}
|
||||
|
||||
public long getTimeUsed() {
|
||||
if (this.mem.containsKey(TIME_USED)) {
|
||||
return Long.valueOf((String)this.mem.get(TIME_USED)).longValue();
|
||||
}
|
||||
try {
|
||||
this.setProperty(TIME_USED,"0");
|
||||
} catch (IOException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
public long updateLastAccess(long timeStamp, boolean decrementTimeUsed) {
|
||||
if (timeStamp < 0) throw new IllegalArgumentException();
|
||||
|
||||
Long lastAccess = this.getLastAccess();
|
||||
long oldTimeUsed = getTimeUsed();
|
||||
long newTimeUsed = oldTimeUsed;
|
||||
|
||||
if (decrementTimeUsed) {
|
||||
if ((lastAccess == null)||((lastAccess != null)||(lastAccess.longValue()-timeStamp>1000))) {
|
||||
this.mem.put(TIME_USED,new Long(newTimeUsed = ++oldTimeUsed));
|
||||
}
|
||||
}
|
||||
this.mem.put(LAST_ACCESS,Long.toString(timeStamp));
|
||||
|
||||
try {
|
||||
userDB.this.userTable.set(getUserName(), this.mem);
|
||||
} catch(Exception e){
|
||||
e.printStackTrace();
|
||||
}
|
||||
return newTimeUsed;
|
||||
}
|
||||
|
||||
public String getMD5EncodedUserPwd() {
|
||||
return (this.mem.containsKey(MD5ENCODED_USERPWD_STRING)?(String)this.mem.get(MD5ENCODED_USERPWD_STRING):null);
|
||||
}
|
||||
|
@ -195,6 +236,15 @@ public class userDB {
|
|||
return this.mem;
|
||||
}
|
||||
|
||||
public void setProperty(String propName, String newValue) throws IOException {
|
||||
this.mem.put(propName, newValue);
|
||||
userDB.this.userTable.set(getUserName(), this.mem);
|
||||
}
|
||||
|
||||
public String getProperty(String propName, String defaultValue) {
|
||||
return (this.mem.containsKey(propName)?(String)this.mem.get(propName):defaultValue);
|
||||
}
|
||||
|
||||
public String toString() {
|
||||
StringBuffer str = new StringBuffer();
|
||||
str.append((this.userName==null)?"null":this.userName)
|
||||
|
|
Loading…
Reference in New Issue
Block a user