use of com.cubrid.cubridmanager.core.monstatistic.model.StatisticParamUtil.StatisticType in project cubrid-manager by CUBRID.
the class MonitorStatisticPersistManager method loadMonitorStatistic.
/**
*
* Load MonitorStatistic nodes
*
*/
protected void loadMonitorStatistic() {
synchronized (this) {
IXMLMemento memento = PersistUtils.getXMLMemento(CubridManagerUIPlugin.PLUGIN_ID, MONITOR_STATISTIC_XML_CONTENT);
if (memento != null) {
IXMLMemento[] monitorsPerHost = memento.getChildren("monitorsPerHost");
for (int i = 0; i < monitorsPerHost.length; i++) {
boolean isMultiHost = monitorsPerHost[i].getBoolean("isMultihost");
String hostId = HOST_ID_FOR_MULTI_HOST;
if (!isMultiHost) {
hostId = monitorsPerHost[i].getString("hostId");
}
IXMLMemento[] children = monitorsPerHost[i].getChildren("monitor");
List<MonitorStatistic> monitorStatisticList = new ArrayList<MonitorStatistic>();
for (int j = 0; j < children.length; j++) {
String id = children[j].getString("name");
String label = id;
if (!isMultiHost && id.indexOf("@") != -1) {
label = id.substring(0, id.indexOf("@"));
}
MonitorStatistic node = new MonitorStatistic(id, label, iconPath);
node.setType(CubridNodeType.MONITOR_STATISTIC_PAGE);
node.setMultiHost(isMultiHost);
IXMLMemento[] chartChildren = children[j].getChildren("chart");
for (int k = 0; chartChildren != null && k < chartChildren.length; k++) {
String typeStr = chartChildren[k].getString("type");
StatisticType type = StatisticType.valueOf(typeStr);
int series = chartChildren[k].getInteger("series");
String dType = chartChildren[k].getString("dtype");
if (!isMultiHost) {
SingleHostChartItem item = new SingleHostChartItem(id, type);
item.setSeries(series);
item.setDType(dType);
String metrics = chartChildren[k].getString("metrics");
String[] metricAr = metrics.split(",");
for (String metric : metricAr) {
item.addMetric(metric);
}
String dbName = null;
switch(type) {
case DB:
dbName = chartChildren[k].getString("dbname");
item.setDbName(dbName);
break;
case DB_VOL:
dbName = chartChildren[k].getString("dbname");
String volName = chartChildren[k].getString("volname");
item.setDbName(dbName);
item.setVolName(volName);
break;
case BROKER:
String brokerName = chartChildren[k].getString("bname");
item.setBrokerName(brokerName);
break;
case OS:
break;
default:
break;
}
node.addStatisticItem(item);
} else {
IXMLMemento[] hostChildren = chartChildren[k].getChildren("host");
MultiHostChartItem item = new MultiHostChartItem(id, type);
item.setSeries(series);
item.setDType(dType);
for (int m = 0; hostChildren != null && m < hostChildren.length; m++) {
String cubridServerId = hostChildren[m].getString("cubridServerId");
String ip = hostChildren[m].getString("ip");
int port = hostChildren[m].getInteger("port");
String user = hostChildren[m].getString("user");
String pass = hostChildren[m].getString("password");
StatisticChartHost host;
if (cubridServerId != null) {
host = new StatisticChartHost(cubridServerId);
} else {
host = new StatisticChartHost(ip, port, user, CipherUtils.decrypt(pass));
}
String metric = hostChildren[m].getString("metric");
host.setMetric(metric);
String dbName = null;
switch(type) {
case DB:
dbName = hostChildren[m].getString("dbname");
host.setDbName(dbName);
break;
case DB_VOL:
dbName = hostChildren[m].getString("dbname");
String volName = hostChildren[m].getString("volname");
host.setDbName(dbName);
host.setVolName(volName);
break;
case BROKER:
String brokerName = hostChildren[m].getString("bname");
host.setBrokerName(brokerName);
break;
case OS:
break;
default:
break;
}
item.addStatisticChartHost(host);
}
node.addStatisticItem(item);
}
}
monitorStatisticList.add(node);
}
monitorStatisticMap.put(hostId, monitorStatisticList);
}
}
}
}
Aggregations