package org.swisspush.redisques.handler;
import io.vertx.core.AsyncResult;
import io.vertx.core.Handler;
import io.vertx.core.eventbus.Message;
import io.vertx.core.json.JsonArray;
import io.vertx.core.json.JsonObject;
import java.util.List;
import static org.swisspush.redisques.util.RedisquesAPI.*;
/**
* Class GetQueuesCountHandler.
*
* @author https://github.com/mcweba [Marc-Andre Weber]
*/
public class GetQueuesHandler implements Handler<AsyncResult<JsonArray>> {
private Message<JsonObject> event;
public GetQueuesHandler(Message<JsonObject> event) {
this.event = event;
}
@Override
public void handle(AsyncResult<JsonArray> reply) {
if(reply.succeeded()){
List<Object> list = reply.result().getList();
JsonObject result = new JsonObject();
JsonArray items = new JsonArray();
for (Object item : list.toArray()) {
items.add((String) item);
}
result.put("queues", items);
event.reply(new JsonObject().put(STATUS, OK).put(VALUE, result));
} else {
event.reply(new JsonObject().put(STATUS, ERROR));
}
}
}