package net.codjo.dataprocess.client;
import net.codjo.dataprocess.common.DataProcessConstants;
import net.codjo.dataprocess.common.DataProcessConstants.ListCommand;
import net.codjo.dataprocess.common.Log;
import net.codjo.dataprocess.common.util.UserLoginTracker;
import net.codjo.mad.client.request.RequestException;
import net.codjo.mad.client.request.Row;
import net.codjo.mad.gui.framework.MutableGuiContext;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
*
*/
public class UserLoginTrackerClientHelper {
private UserLoginTrackerClientHelper() {
}
public static void addUser(MutableGuiContext ctxt, UserLoginTracker userLoginTracker)
throws RequestException {
userLoginTracker(ctxt, ListCommand.ADD, UserLoginTracker.encode(userLoginTracker));
}
public static UserLoginTracker getUser(MutableGuiContext ctxt, String userName) throws RequestException {
String result = userLoginTracker(ctxt, ListCommand.GET, userName);
if (DataProcessConstants.NO_RESULT.equals(result)) {
return null;
}
else {
return UserLoginTracker.decode(result);
}
}
public static void removeUser(MutableGuiContext ctxt, String userName) throws RequestException {
userLoginTracker(ctxt, ListCommand.REMOVE, userName);
}
public static List<UserLoginTracker> getUserList(MutableGuiContext ctxt) throws RequestException {
String xml = userLoginTracker(ctxt, ListCommand.GET_LIST, "");
return UserLoginTracker.decodeList(xml);
}
public static int getSize(MutableGuiContext ctxt) throws RequestException {
String result = userLoginTracker(ctxt, ListCommand.GET_SIZE, "");
return Integer.parseInt(result);
}
public static void clearUsers(MutableGuiContext ctxt) throws RequestException {
userLoginTracker(ctxt, ListCommand.CLEAR, "");
}
public static String userLoginTracker(MutableGuiContext ctxt,
DataProcessConstants.ListCommand command,
String value)
throws RequestException {
HandlerCommandSender sender = new HandlerCommandSender();
Map<String, String> arg = new HashMap<String, String>();
arg.put("command", command.toString());
arg.put("value", value);
if (Log.isDebugEnabled()) {
Log.debug(UserLoginTrackerClientHelper.class,
"Appel de userLoginTracker(arg=" + arg.toString() + ")");
}
Row row = sender.send(ctxt, arg, "userLoginTracker");
return row.getFieldValue("result");
}
}