package com.robonobo.midas.client; import com.robonobo.core.api.model.UserConfig; import com.robonobo.core.api.proto.CoreApi.UserConfigMsg; import com.robonobo.core.metadata.UserConfigCallback; import com.robonobo.midas.client.Params.Operation; public class GetUserConfigRequest implements Request { MidasClientConfig cfg; long uid; UserConfigCallback handler; public GetUserConfigRequest(MidasClientConfig cfg, long uid, UserConfigCallback handler) { this.cfg = cfg; this.uid = uid; this.handler = handler; } @Override public int remaining() { if(uid > 0) return 1; return 0; } @Override public Params getNextParams() { Params params = new Params(Operation.Get, null, UserConfigMsg.newBuilder(), cfg.getUserConfigUrl(uid), uid); uid = -1; return params; } @Override public void success(Object obj) { UserConfigMsg msg = (UserConfigMsg) obj; if(handler != null) handler.success(new UserConfig(msg)); } @Override public void error(Params p, Exception e) { Long uid = (Long) p.obj; if(handler != null) handler.error(uid, e); } }