Search in sources :

Example 1 with Pair

use of com.alibaba.cobar.manager.util.Pair in project cobar by alibaba.

the class ClusterInstantPerfValueAjax method getStatus.

private List<Pair<Long, String>> getStatus(AjaxParams params) {
    List<Pair<Long, String>> result = new ArrayList<Pair<Long, String>>();
    List<CobarDO> nodes = xmlAccesser.getCobarDAO().getCobarList(params.getClusterId(), ConstantDefine.ACTIVE);
    for (CobarDO node : nodes) {
        if (ConstantDefine.IN_ACTIVE.equals(node.getStatus())) {
            result.add(new Pair<Long, String>(node.getId(), ConstantDefine.IN_ACTIVE));
            continue;
        }
        CobarAdapterDAO perfAccesser = cobarAccesser.getAccesser(node.getId());
        if (!perfAccesser.checkConnection()) {
            StringBuilder sb = new StringBuilder("getStatus: cobar connect error for Name:");
            sb.append(node.getName()).append(" Host:").append(node.getHost());
            logger.error(sb.toString());
            result.add(new Pair<Long, String>(node.getId(), ConstantDefine.ERROR));
        } else {
            result.add(new Pair<Long, String>(node.getId(), ConstantDefine.ACTIVE));
        }
    }
    return result;
}
Also used : CobarAdapterDAO(com.alibaba.cobar.manager.dao.CobarAdapterDAO) ArrayList(java.util.ArrayList) CobarDO(com.alibaba.cobar.manager.dataobject.xml.CobarDO) Pair(com.alibaba.cobar.manager.util.Pair)

Example 2 with Pair

use of com.alibaba.cobar.manager.util.Pair in project cobar by alibaba.

the class XmlManagerAjax method handleRequest.

@Override
public void handleRequest(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    AjaxParams param = new AjaxParams(request);
    String jsonRst = null;
    String st = param.getValueType();
    if (null == st || st.equals("")) {
        throw new IllegalArgumentException("parameter 'cobarControlValueType' is unknown: " + st);
    }
    int type = map.get(st);
    switch(type) {
        case CLUSTER_NAME_REPEAT_EXCEPT_SELF:
            String name = param.getKeyword().trim();
            long id = param.getClusterId();
            Pair<String, Boolean> pair1 = new Pair<String, Boolean>("result", xmlAccesser.getClusterDAO().checkName(name, id));
            jsonRst = JSONObject.fromObject(pair1).toString(2);
            break;
        case CLUSTER_NAME_REPEAT:
            String cname = param.getKeyword().trim();
            Pair<String, Boolean> pair2 = new Pair<String, Boolean>("result", xmlAccesser.getClusterDAO().checkName(cname));
            jsonRst = JSONObject.fromObject(pair2).toString(2);
            break;
        case COBAR_NAME_REPEAT:
            String cobarname = param.getKeyword().trim();
            long clusterId = param.getClusterId();
            Pair<String, Boolean> pair3 = new Pair<String, Boolean>("result", xmlAccesser.getCobarDAO().checkName(cobarname, clusterId));
            jsonRst = JSONObject.fromObject(pair3).toString(2);
            break;
        case COBAR_NAME_REPEAT_EXCEPT_SELF:
            String coname = param.getKeyword().trim();
            long cluId = param.getClusterId();
            long coId = param.getCobarNodeId();
            Pair<String, Boolean> pair4 = new Pair<String, Boolean>("result", xmlAccesser.getCobarDAO().checkName(coname, cluId, coId));
            jsonRst = JSONObject.fromObject(pair4).toString(2);
            break;
        case USER_NAME_REPEAT:
            String username = param.getKeyword().trim();
            Pair<String, Boolean> pair5 = new Pair<String, Boolean>("result", xmlAccesser.getUserDAO().checkName(username));
            jsonRst = JSONObject.fromObject(pair5).toString(2);
            break;
        case USER_NAME_REPEAT_EXCEPT_SELF:
            String uname = param.getKeyword().trim();
            long userId = param.getUserId();
            Pair<String, Boolean> pair6 = new Pair<String, Boolean>("result", xmlAccesser.getUserDAO().checkName(uname, userId));
            jsonRst = JSONObject.fromObject(pair6).toString(2);
            break;
        case STOP_TIME_REPEAT:
            int time = Integer.parseInt(param.getKeyword().trim());
            Pair<String, Boolean> pair7 = new Pair<String, Boolean>("result", !xmlAccesser.getPropertyDAO().getProperty().getStopTimes().contains(time));
            jsonRst = JSONObject.fromObject(pair7).toString(2);
            break;
        case DELETE_STOP_TIME:
            int dtime = Integer.parseInt(param.getKeyword().trim());
            Pair<String, Boolean> pair8 = new Pair<String, Boolean>("result", xmlAccesser.getPropertyDAO().deleteTime(dtime));
            jsonRst = JSONObject.fromObject(pair8).toString(2);
            break;
        case ADD_STOP_TIME:
            int atime = Integer.parseInt(param.getKeyword().trim());
            Pair<String, Boolean> pair9 = new Pair<String, Boolean>("result", xmlAccesser.getPropertyDAO().addTime(atime));
            jsonRst = JSONObject.fromObject(pair9).toString(2);
            break;
        case PASSWORD_VALIDATE:
            String password = param.getKeyword().trim();
            UserDO user = (UserDO) request.getSession().getAttribute("user");
            Pair<String, Boolean> pairPassword = new Pair<String, Boolean>("result", user.getPassword().equals(EncryptUtil.encrypt(password)));
            jsonRst = JSONObject.fromObject(pairPassword).toString(2);
            break;
        default:
            throw new IllegalArgumentException("type " + param.getValueType() + " is not valible");
    }
    response.setHeader("Content-Type", "text/json; charset=utf-8");
    OutputStream out = response.getOutputStream();
    out.write(jsonRst.getBytes("utf-8"));
    out.flush();
}
Also used : UserDO(com.alibaba.cobar.manager.dataobject.xml.UserDO) OutputStream(java.io.OutputStream) Pair(com.alibaba.cobar.manager.util.Pair)

Example 3 with Pair

use of com.alibaba.cobar.manager.util.Pair in project cobar by alibaba.

the class ClusterInstantPerfValueAjax method handleRequest.

@SuppressWarnings("unchecked")
@Override
public void handleRequest(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    AjaxParams params = new AjaxParams(request);
    String jsonRst = null;
    String st = params.getValueType();
    if (null == st || st.equals("")) {
        throw new IllegalArgumentException("parameter 'cobarControlValueType' is unknown: " + st);
    }
    int type = valueTypeMap.get(st);
    PropertyUtilsBean util = new PropertyUtilsBean();
    switch(type) {
        case TYPE_COBAR_MEMORY_USAGE:
            List<Pair<Long, Integer>> mList = listCobarMemoryUsage(params);
            JSONArray mArray = JSONArray.fromObject(mList);
            jsonRst = mArray.toString(2);
            break;
        case TYPE_CLUSTER_THROUGHPUT_INFO:
            List<Map<String, Object>> list1 = getClusterThroughput(params);
            JSONArray arrayMap = JSONArray.fromObject(list1);
            jsonRst = arrayMap.toString(2);
            break;
        case TYPE_CLUSTER_INFO:
            AjaxResult rs = getClusterInfo(params);
            Map<String, Object> map = null;
            try {
                map = util.describe(rs);
            } catch (Exception e) {
                logger.error(e);
                throw new RuntimeException(e);
            }
            jsonRst = JSONObject.fromObject(map).toString(2);
            break;
        case TYPE_STATUS:
            List<Pair<Long, String>> sList = getStatus(params);
            JSONArray sArray = JSONArray.fromObject(sList);
            jsonRst = sArray.toString(2);
            break;
        default:
            throw new IllegalArgumentException("parameter 'ValueType' is known: " + params.getValueType());
    }
    response.setHeader("Content-Type", "text/json; charset=utf-8");
    OutputStream out = response.getOutputStream();
    out.write(jsonRst.getBytes("utf-8"));
    out.flush();
}
Also used : PropertyUtilsBean(org.apache.commons.beanutils.PropertyUtilsBean) OutputStream(java.io.OutputStream) JSONArray(net.sf.json.JSONArray) ServletException(javax.servlet.ServletException) IOException(java.io.IOException) JSONObject(net.sf.json.JSONObject) HashMap(java.util.HashMap) Map(java.util.Map) Pair(com.alibaba.cobar.manager.util.Pair)

Example 4 with Pair

use of com.alibaba.cobar.manager.util.Pair in project cobar by alibaba.

the class ClusterInstantPerfValueAjax method listCobarMemoryUsage.

private List<Pair<Long, Integer>> listCobarMemoryUsage(AjaxParams params) {
    List<Pair<Long, Integer>> result = new ArrayList<Pair<Long, Integer>>();
    List<CobarDO> nodes = xmlAccesser.getCobarDAO().getCobarList(params.getClusterId(), ConstantDefine.ACTIVE);
    for (CobarDO node : nodes) {
        CobarAdapterDAO perfAccesser = cobarAccesser.getAccesser(node.getId());
        if (!perfAccesser.checkConnection()) {
            StringBuilder sb = new StringBuilder("listCobarMemoryUsage: cobar connect error for Name:");
            sb.append(node.getName()).append(" Host:").append(node.getHost());
            logger.error(sb.toString());
            continue;
        }
        ServerStatus ss = perfAccesser.getServerStatus();
        int memoryUsage = 0;
        if (ss.getTotalMemory() != 0)
            memoryUsage = Math.round(ss.getUsedMemory() * 100 / ss.getTotalMemory());
        result.add(new Pair<Long, Integer>(node.getId(), memoryUsage));
    }
    return result;
}
Also used : CobarAdapterDAO(com.alibaba.cobar.manager.dao.CobarAdapterDAO) ServerStatus(com.alibaba.cobar.manager.dataobject.cobarnode.ServerStatus) ArrayList(java.util.ArrayList) CobarDO(com.alibaba.cobar.manager.dataobject.xml.CobarDO) Pair(com.alibaba.cobar.manager.util.Pair)

Example 5 with Pair

use of com.alibaba.cobar.manager.util.Pair in project cobar by alibaba.

the class CobarControlAjax method handleRequest.

@Override
public void handleRequest(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    AjaxParams params = new AjaxParams(request);
    JSONArray array = null;
    String jsonRst = null;
    String st = params.getValueType();
    if (null == st || st.equals("")) {
        throw new IllegalArgumentException("parameter 'cobarControlValueType' is unknown: " + st);
    }
    int type = typeMap.get(st);
    switch(type) {
        case COBAR_LIST:
            List<Map<String, Object>> cobarList = getCobarList(params);
            array = JSONArray.fromObject(cobarList);
            jsonRst = array.toString(2);
            break;
        case KILL_CONNECTION:
            Pair<String, Boolean> kill = new Pair<String, Boolean>("result", killConnections(params));
            jsonRst = JSONObject.fromObject(kill).toString(2);
            break;
        default:
            throw new IllegalArgumentException("parameter 'cobarControlValueType' is unknown: " + params.getValueType());
    }
    response.setHeader("Content-Type", "text/json; charset=utf-8");
    OutputStream out = response.getOutputStream();
    out.write(jsonRst.getBytes("utf-8"));
    out.flush();
}
Also used : OutputStream(java.io.OutputStream) JSONArray(net.sf.json.JSONArray) HashMap(java.util.HashMap) Map(java.util.Map) Pair(com.alibaba.cobar.manager.util.Pair)

Aggregations

Pair (com.alibaba.cobar.manager.util.Pair)6 OutputStream (java.io.OutputStream)3 CobarAdapterDAO (com.alibaba.cobar.manager.dao.CobarAdapterDAO)2 CobarDO (com.alibaba.cobar.manager.dataobject.xml.CobarDO)2 ArrayList (java.util.ArrayList)2 HashMap (java.util.HashMap)2 Map (java.util.Map)2 JSONArray (net.sf.json.JSONArray)2 ServerStatus (com.alibaba.cobar.manager.dataobject.cobarnode.ServerStatus)1 UserDO (com.alibaba.cobar.manager.dataobject.xml.UserDO)1 IOException (java.io.IOException)1 ResultSet (java.sql.ResultSet)1 Statement (java.sql.Statement)1 ServletException (javax.servlet.ServletException)1 JSONObject (net.sf.json.JSONObject)1 PropertyUtilsBean (org.apache.commons.beanutils.PropertyUtilsBean)1 IncorrectResultSizeDataAccessException (org.springframework.dao.IncorrectResultSizeDataAccessException)1 StatementCallback (org.springframework.jdbc.core.StatementCallback)1