Search in sources :

Example 6 with BrokerDBListNode

use of com.cubrid.cubridmanager.ui.mondashboard.editor.model.BrokerDBListNode in project cubrid-manager by CUBRID.

the class MonitorDashboardPersistManager method saveDashboard.

/**
	 * 
	 * Save dash boards
	 * 
	 */
public void saveDashboard() {
    synchronized (this) {
        XMLMemento memento = XMLMemento.createWriteRoot("dashboards");
        Iterator<ICubridNode> iterator = monitorDashboardList.iterator();
        while (iterator.hasNext()) {
            ICubridNode node = (ICubridNode) iterator.next();
            if (node instanceof MonitorStatistic) {
                continue;
            }
            Dashboard dashboard = (Dashboard) node.getAdapter(Dashboard.class);
            IXMLMemento dashboardChild = memento.createChild("dashboard");
            dashboardChild.putString("name", node.getName());
            Iterator<HostNode> nodeIte = dashboard.getHostNodeList().iterator();
            while (nodeIte.hasNext()) {
                //save host node
                HostNode hostNode = nodeIte.next();
                IXMLMemento hostNodeChild = dashboardChild.createChild("host");
                hostNodeChild.putString("aliasname", hostNode.getName());
                hostNodeChild.putString("ip", hostNode.getIp());
                hostNodeChild.putString("port", hostNode.getPort());
                hostNodeChild.putString("username", hostNode.getUserName());
                hostNodeChild.putString("password", CipherUtils.encrypt(hostNode.getPassword()));
                hostNodeChild.putString("location", hostNode.getLocation().x + "," + hostNode.getLocation().y);
                hostNodeChild.putString("visible", hostNode.isVisible() ? "true" : "false");
                //save the database node list
                List<DatabaseNode> dbNodeList = hostNode.getDbNodeList();
                Iterator<DatabaseNode> dbNodeIte = dbNodeList.iterator();
                while (dbNodeIte.hasNext()) {
                    DatabaseNode dbNode = (DatabaseNode) dbNodeIte.next();
                    IXMLMemento databaseNodeChild = hostNodeChild.createChild("database");
                    databaseNodeChild.putString("aliasname", dbNode.getName());
                    databaseNodeChild.putString("dbname", dbNode.getDbName());
                    databaseNodeChild.putString("username", dbNode.getDbUser());
                    databaseNodeChild.putString("password", CipherUtils.encrypt(dbNode.getDbPassword()));
                    databaseNodeChild.putString("location", dbNode.getLocation().x + "," + dbNode.getLocation().y);
                }
                //save broker node list
                List<BrokerNode> brokerNodeList = hostNode.getBrokerNodeList();
                Iterator<BrokerNode> brokerNodeIte = brokerNodeList.iterator();
                while (brokerNodeIte.hasNext()) {
                    BrokerNode brokerNode = (BrokerNode) brokerNodeIte.next();
                    IXMLMemento brokerNodeChild = hostNodeChild.createChild("broker");
                    brokerNodeChild.putString("aliasname", brokerNode.getName());
                    brokerNodeChild.putString("brokername", brokerNode.getBrokerName());
                    brokerNodeChild.putString("location", brokerNode.getLocation().x + "," + brokerNode.getLocation().y);
                    //save the client IP list
                    ClientNode ipListNode = dashboard.getClientNodeByBroker(brokerNode);
                    Point point = null;
                    String clientIpName = null;
                    if (ipListNode == null) {
                        brokerNodeChild.putString("show_ip_list", "false");
                        point = brokerNode.getClientsLocation();
                    } else {
                        brokerNodeChild.putString("show_ip_list", ipListNode.isVisible() ? "true" : "false");
                        point = ipListNode.getLocation();
                        clientIpName = ipListNode.getName();
                    }
                    if (point != null) {
                        brokerNodeChild.putString("client_ip_location", point.x + "," + point.y);
                    }
                    if (clientIpName != null) {
                        brokerNodeChild.putString("client_ip_name", clientIpName);
                    }
                    //save the database list
                    BrokerDBListNode dbListNode = dashboard.getBrokerDBListNodeByBroker(brokerNode);
                    String clientDbName = null;
                    if (dbListNode == null) {
                        brokerNodeChild.putString("show_db_list", "false");
                        point = brokerNode.getDatabasesLocation();
                    } else {
                        brokerNodeChild.putString("show_db_list", dbListNode.isVisible() ? "true" : "false");
                        point = dbListNode.getLocation();
                        clientDbName = dbListNode.getName();
                    }
                    if (point != null) {
                        brokerNodeChild.putString("client_db_location", point.x + "," + point.y);
                    }
                    if (clientDbName != null) {
                        brokerNodeChild.putString("client_db_name", clientDbName);
                    }
                }
            }
        }
        PersistUtils.saveXMLMemento(CubridManagerUIPlugin.PLUGIN_ID, MONITOR_DASHBOARD_XML_CONTENT, memento);
    }
}
Also used : 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) ICubridNode(com.cubrid.common.ui.spi.model.ICubridNode) Point(org.eclipse.draw2d.geometry.Point) BrokerNode(com.cubrid.cubridmanager.ui.mondashboard.editor.model.BrokerNode) DatabaseNode(com.cubrid.cubridmanager.ui.mondashboard.editor.model.DatabaseNode) XMLMemento(com.cubrid.cubridmanager.core.common.xml.XMLMemento) IXMLMemento(com.cubrid.cubridmanager.core.common.xml.IXMLMemento) MonitorStatistic(com.cubrid.common.ui.spi.model.MonitorStatistic)

Example 7 with BrokerDBListNode

use of com.cubrid.cubridmanager.ui.mondashboard.editor.model.BrokerDBListNode 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

BrokerDBListNode (com.cubrid.cubridmanager.ui.mondashboard.editor.model.BrokerDBListNode)7 BrokerNode (com.cubrid.cubridmanager.ui.mondashboard.editor.model.BrokerNode)6 Dashboard (com.cubrid.cubridmanager.ui.mondashboard.editor.model.Dashboard)5 DatabaseNode (com.cubrid.cubridmanager.ui.mondashboard.editor.model.DatabaseNode)3 IXMLMemento (com.cubrid.cubridmanager.core.common.xml.IXMLMemento)2 BrokerDBListFigure (com.cubrid.cubridmanager.ui.mondashboard.editor.figure.BrokerDBListFigure)2 ClientNode (com.cubrid.cubridmanager.ui.mondashboard.editor.model.ClientNode)2 HostNode (com.cubrid.cubridmanager.ui.mondashboard.editor.model.HostNode)2 BrokerMonitorPart (com.cubrid.cubridmanager.ui.mondashboard.editor.parts.BrokerMonitorPart)2 DashboardPart (com.cubrid.cubridmanager.ui.mondashboard.editor.parts.DashboardPart)2 Point (org.eclipse.draw2d.geometry.Point)2 IStructuredSelection (org.eclipse.jface.viewers.IStructuredSelection)2 DefaultCubridNode (com.cubrid.common.ui.spi.model.DefaultCubridNode)1 ICubridNode (com.cubrid.common.ui.spi.model.ICubridNode)1 MonitorStatistic (com.cubrid.common.ui.spi.model.MonitorStatistic)1 XMLMemento (com.cubrid.cubridmanager.core.common.xml.XMLMemento)1 HANodeConnection (com.cubrid.cubridmanager.ui.mondashboard.editor.model.HANodeConnection)1 ArrayList (java.util.ArrayList)1 PolylineConnection (org.eclipse.draw2d.PolylineConnection)1