Search in sources :

Example 36 with DatabaseNode

use of com.cubrid.cubridmanager.ui.mondashboard.editor.model.DatabaseNode 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);
            }
        }
    }
}
Also used : DefaultCubridNode(com.cubrid.common.ui.spi.model.DefaultCubridNode) IXMLMemento(com.cubrid.cubridmanager.core.common.xml.IXMLMemento) HostNode(com.cubrid.cubridmanager.ui.mondashboard.editor.model.HostNode) ClientNode(com.cubrid.cubridmanager.ui.mondashboard.editor.model.ClientNode) BrokerDBListNode(com.cubrid.cubridmanager.ui.mondashboard.editor.model.BrokerDBListNode) Dashboard(com.cubrid.cubridmanager.ui.mondashboard.editor.model.Dashboard) Point(org.eclipse.draw2d.geometry.Point) Point(org.eclipse.draw2d.geometry.Point) BrokerNode(com.cubrid.cubridmanager.ui.mondashboard.editor.model.BrokerNode) DatabaseNode(com.cubrid.cubridmanager.ui.mondashboard.editor.model.DatabaseNode)

Aggregations

DatabaseNode (com.cubrid.cubridmanager.ui.mondashboard.editor.model.DatabaseNode)36 HostNode (com.cubrid.cubridmanager.ui.mondashboard.editor.model.HostNode)20 BrokerNode (com.cubrid.cubridmanager.ui.mondashboard.editor.model.BrokerNode)14 DatabaseMonitorPart (com.cubrid.cubridmanager.ui.mondashboard.editor.parts.DatabaseMonitorPart)11 ArrayList (java.util.ArrayList)9 ServerInfo (com.cubrid.cubridmanager.core.common.model.ServerInfo)6 HADatabaseStatusInfo (com.cubrid.cubridmanager.core.mondashboard.model.HADatabaseStatusInfo)5 HAHostStatusInfo (com.cubrid.cubridmanager.core.mondashboard.model.HAHostStatusInfo)4 HashMap (java.util.HashMap)4 List (java.util.List)4 Point (org.eclipse.draw2d.geometry.Point)4 SelectionAdapter (org.eclipse.swt.events.SelectionAdapter)4 SelectionEvent (org.eclipse.swt.events.SelectionEvent)4 GridData (org.eclipse.swt.layout.GridData)4 RowLayout (org.eclipse.swt.layout.RowLayout)4 Button (org.eclipse.swt.widgets.Button)4 Composite (org.eclipse.swt.widgets.Composite)4 Label (org.eclipse.swt.widgets.Label)4 DefaultCubridNode (com.cubrid.common.ui.spi.model.DefaultCubridNode)3 BrokerDBListNode (com.cubrid.cubridmanager.ui.mondashboard.editor.model.BrokerDBListNode)3