package com.chickling.controllers;
import com.google.gson.Gson;
import com.google.gson.reflect.TypeToken;
import com.chickling.util.PrestoUtil;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import javax.servlet.ServletContext;
import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
import javax.ws.rs.core.Context;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response;
import java.lang.reflect.Type;
import java.util.Map;
/**
* Created by jw6v on 2016/2/15.
*/
@Path("/monitor")
public class Monitor {
private static Gson gson=new Gson();
@GET
@Path("node")
@Produces(MediaType.APPLICATION_JSON)
public Response monitorNode(@Context ServletContext context){
PrestoUtil prestoUtil=new PrestoUtil();
String json=prestoUtil.getNode(0,null);
Type stringStringMap = new TypeToken<Map<String, String>>(){}.getType();
Map<String,String> map = gson.fromJson(json, stringStringMap);
return Response.ok(gson.toJson(prestoUtil.getNode(0,null))).build();
}
@GET
@Path("query")
@Produces(MediaType.APPLICATION_JSON)
public Response monitoQuery(@Context ServletContext context){
PrestoUtil prestoUtil=new PrestoUtil();
return Response.ok(gson.toJson(prestoUtil.getQuery(0,null))).build();
}
}