- String[] r = new String[c.length - 1];
- for (int i=0; i < r.length; i++) r[i] = env.path(c[i + 1]);
+ Request.Key[] r = new Request.Key[c.length - 1];
+ for (int i=0; i < r.length; i++) r[i] = new Request.RemoveKey(env.path(c[i + 1]));
+
+ Request.Response ret = env.send(new Request.Composite(r, false));
+ if (!(ret instanceof Request.Composite.Res)) {
+ w.write("error: ");
+ w.write(ret.error().getMessage());
+ w.write("\n");
+ } else {
+ Request.Response[] res = ((Request.Composite.Res)ret).responses();
+ for (int i=0; i < res.length; i++) {
+ if (res[i] instanceof Request.RemoveKey.Res) {
+ boolean rm = ((Request.RemoveKey.Res)res[i]).removed();
+ if (!rm) {
+ w.write("error: cannot remove '");
+ w.write(c[i + 1]);
+ w.write("': no such key\n");
+ }
+ } else {
+ w.write("error: cannot remove '");
+ w.write(c[i + 1]);
+ w.write("': ");
+ w.write(res[i].error().getMessage());
+ w.write("\n");
+ }
+ }
+ }
+
+