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;
}
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();
}
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();
}
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;
}
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();
}
Aggregations