package commons.cmd;
import basics.application.user.AppUser;
import basics.application.user.User;
import basics.unexpected.Problem;
import basics.utl.Empty;
import commons.application.GLOBAL;
import commons.application.core.Command;
public class setuser extends Command
{

private static final String ARGS = "ARGS: uid:<userid>;role:<role>;name:<name>. ";

public void process () throws Exception
{
   String uid = ctx.consume("uid", "");
   if (Empty.is(uid)) throw new Problem("Missing arg. " + ARGS);
   String urole = ctx.consume("role", User.ROLE.USER.name());
   String uname = ctx.consume("name", "");
   User user = AppUser.create(uid, uname, "", urole);
   ctx.env().put(GLOBAL.CTX_ENVKEY_USER, user);
   // Manager.ui().put("Current user is: " + user.toString());
}

public void signContract ()
{
   demand("uid", "");
}

public String description ()
{
   return implName() + " set the user, " + ARGS;
}
}
