package com.robonobo.midas.client; import com.robonobo.core.api.model.UserConfig; import com.robonobo.core.metadata.UserConfigCallback; import com.robonobo.midas.client.Params.Operation; public class PutUserConfigRequest implements Request { MidasClientConfig cfg; UserConfig uc; UserConfigCallback handler; public PutUserConfigRequest(MidasClientConfig cfg, UserConfig uc, UserConfigCallback handler) { this.cfg = cfg; this.uc = uc; this.handler = handler; } @Override public int remaining() { if (uc == null) return 0; return 1; } @Override public Params getNextParams() { Params p = new Params(Operation.Put, uc.toMsg(), null, cfg.getUserConfigUrl(uc.getUserId()), uc); uc = null; return p; } @Override public void success(Object obj) { if (handler != null) handler.success(null); } @Override public void error(Params p, Exception e) { if (handler != null) { UserConfig uc = (UserConfig) p.obj; handler.error(uc.getUserId(), e); } } }