use of com.cubrid.cubridmanager.ui.mondashboard.editor.model.Dashboard in project cubrid-manager by CUBRID.
the class MonitorDashboardPersistManager method loadMonitorDashboard.
/**
*
* Load monitor dash board
*
*/
protected void loadMonitorDashboard() {
synchronized (this) {
IXMLMemento memento = PersistUtils.getXMLMemento(CubridManagerUIPlugin.PLUGIN_ID, MONITOR_DASHBOARD_XML_CONTENT);
if (memento != null) {
IXMLMemento[] children = memento.getChildren("dashboard");
for (int i = 0; i < children.length; i++) {
Dashboard dashboard = new Dashboard();
String dashBoardName = children[i].getString("name");
dashboard.setName(dashBoardName);
IXMLMemento[] hostChildren = children[i].getChildren("host");
for (int j = 0; hostChildren != null && j < hostChildren.length; j++) {
//load the host node
String aliasName = hostChildren[j].getString("aliasname");
String userName = hostChildren[j].getString("username");
String password = hostChildren[j].getString("password");
String ip = hostChildren[j].getString("ip");
String port = hostChildren[j].getString("port");
String location = hostChildren[j].getString("location");
String visible = hostChildren[j].getString("visible");
HostNode hostNode = new HostNode();
if (aliasName == null || aliasName.trim().length() == 0) {
aliasName = ip + ":" + port;
}
hostNode.setName(aliasName);
hostNode.setIp(ip);
hostNode.setPort(port);
hostNode.setUserName(userName);
hostNode.setPassword(CipherUtils.decrypt(password));
if (location != null && location.trim().length() > 0) {
String[] locations = location.split(",");
hostNode.setLocation(new Point(Integer.parseInt(locations[0]), Integer.parseInt(locations[1])));
}
if ("true".equals(visible)) {
hostNode.setVisible(true);
} else {
hostNode.setVisible(false);
}
dashboard.addNode(hostNode);
//load the database node list
IXMLMemento[] databaseChildren = hostChildren[j].getChildren("database");
for (int k = 0; databaseChildren != null && k < databaseChildren.length; k++) {
aliasName = databaseChildren[k].getString("aliasname");
String dbName = databaseChildren[k].getString("dbname");
String dbUserName = databaseChildren[k].getString("username");
String dbPassword = databaseChildren[k].getString("password");
String dbLocation = databaseChildren[k].getString("location");
if (aliasName == null || aliasName.trim().length() == 0) {
aliasName = dbName;
}
DatabaseNode databaseNode = new DatabaseNode();
databaseNode.setName(aliasName);
databaseNode.setDbUser(dbUserName);
databaseNode.setDbPassword(CipherUtils.decrypt(dbPassword));
databaseNode.setDbName(dbName);
databaseNode.setParent(hostNode);
hostNode.addDbNode(databaseNode);
if (dbLocation != null && dbLocation.trim().length() > 0) {
String[] locations = dbLocation.split(",");
databaseNode.setLocation(new Point(Integer.parseInt(locations[0]), Integer.parseInt(locations[1])));
}
}
//load the broker node list
IXMLMemento[] brokerChildren = hostChildren[j].getChildren("broker");
for (int k = 0; brokerChildren != null && k < brokerChildren.length; k++) {
aliasName = brokerChildren[k].getString("aliasname");
String brokerName = brokerChildren[k].getString("brokername");
String brokerLocation = brokerChildren[k].getString("location");
if (aliasName == null || aliasName.trim().length() == 0) {
aliasName = brokerName;
}
BrokerNode brokerNode = new BrokerNode();
brokerNode.setName(aliasName);
brokerNode.setBrokerName(brokerName);
brokerNode.setParent(hostNode);
hostNode.addBrokerNode(brokerNode);
//load the client IP list
String clientIpName = brokerChildren[k].getString("client_ip_name");
String clientIpLocation = brokerChildren[k].getString("client_ip_location");
String showIpList = brokerChildren[k].getString("show_ip_list");
if (brokerLocation != null && brokerLocation.trim().length() > 0) {
String[] locations = brokerLocation.split(",");
brokerNode.setLocation(new Point(Integer.parseInt(locations[0]), Integer.parseInt(locations[1])));
}
String[] locations = clientIpLocation == null ? new String[] { "0", "0" } : clientIpLocation.split(",");
ClientNode ipListNode = new ClientNode();
ipListNode.setBrokerNode(brokerNode);
ipListNode.setLocation(new Point(Integer.parseInt(locations[0]), Integer.parseInt(locations[1])));
if (clientIpName != null && clientIpName.trim().length() > 0) {
ipListNode.setName(clientIpName);
}
if ("true".equals(showIpList)) {
ipListNode.setVisible(true);
} else {
ipListNode.setVisible(false);
}
dashboard.addClientNode(ipListNode);
//load the client database list
String clientDbName = brokerChildren[k].getString("client_db_name");
String clientDbLocation = brokerChildren[k].getString("client_db_location");
String showDbList = brokerChildren[k].getString("show_db_list");
locations = clientDbLocation == null ? new String[] { "0", "0" } : clientDbLocation.split(",");
BrokerDBListNode dbListNode = new BrokerDBListNode();
dbListNode.setBrokerNode(brokerNode);
dbListNode.setLocation(new Point(Integer.parseInt(locations[0]), Integer.parseInt(locations[1])));
if (clientDbName != null && clientDbName.trim().length() > 0) {
dbListNode.setName(clientDbName);
}
if ("true".equals(showDbList)) {
dbListNode.setVisible(true);
} else {
dbListNode.setVisible(false);
}
dashboard.addBrokerDBListNode(dbListNode);
}
}
DefaultCubridNode dashboardNode = new DefaultCubridNode(dashBoardName, dashBoardName, "icons/navigator/status_item.png");
dashboardNode.setType(CubridNodeType.MONITOR_DASHBOARD);
dashboardNode.setEditorId(MonitorDashboardEditor.ID);
dashboardNode.setModelObj(dashboard);
monitorDashboardList.add(dashboardNode);
}
}
}
}
Aggregations