Search in sources :

Example 51 with HostNode

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

the class OpenCopyLogDBLogAction method run.

/**
	 * open apply database log
	 * 
	 * @see org.eclipse.jface.action.Action#run()
	 */
public void run() {
    Object[] objArr = this.getSelectedObj();
    if (objArr == null || objArr.length <= 0 || !isSupported(objArr[0])) {
        setEnabled(false);
        return;
    }
    DatabaseMonitorPart dbMonPart = (DatabaseMonitorPart) objArr[0];
    DatabaseNode dbNode = (DatabaseNode) dbMonPart.getModel();
    HostNode hostNode = dbNode.getParent();
    ServerInfo serverInfo = hostNode.getServerInfo();
    CubridServer server = new CubridServer(serverInfo.getHostAddress(), serverInfo.getHostAddress(), null, null);
    server.setServerInfo(serverInfo);
    LogInfo logInfo = new LogInfo();
    String logPath = serverInfo.getEnvInfo().getRootDir() + serverInfo.getPathSeparator() + "log" + serverInfo.getPathSeparator();
    String fileName = dbNode.getDbName() + "@" + hostNode.getHostStatusInfo().getMasterHostStatusInfo().getHostName() + "_copylogdb.err";
    logInfo.setPath(logPath + fileName);
    DefaultCubridNode dbLogInfoNode = new DefaultCubridNode(dbNode.getDbName() + ICubridNodeLoader.NODE_SEPARATOR + "copy_database_log", logInfo.getName(), "icons/navigator/log_item.png");
    dbLogInfoNode.setType(CubridNodeType.LOGS_COPY_DATABASE_LOG);
    dbLogInfoNode.setModelObj(logInfo);
    dbLogInfoNode.setEditorId(LogEditorPart.ID);
    dbLogInfoNode.setContainer(false);
    dbLogInfoNode.setServer(server);
    LogViewAction action = (LogViewAction) ActionManager.getInstance().getAction(LogViewAction.ID);
    action.setCubridNode(dbLogInfoNode);
    action.run();
}
Also used : LogViewAction(com.cubrid.cubridmanager.ui.logs.action.LogViewAction) DefaultCubridNode(com.cubrid.common.ui.spi.model.DefaultCubridNode) DatabaseNode(com.cubrid.cubridmanager.ui.mondashboard.editor.model.DatabaseNode) LogInfo(com.cubrid.cubridmanager.core.logs.model.LogInfo) ServerInfo(com.cubrid.cubridmanager.core.common.model.ServerInfo) HostNode(com.cubrid.cubridmanager.ui.mondashboard.editor.model.HostNode) DatabaseMonitorPart(com.cubrid.cubridmanager.ui.mondashboard.editor.parts.DatabaseMonitorPart) CubridServer(com.cubrid.common.ui.spi.model.CubridServer)

Example 52 with HostNode

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

the class OpenDatabaseLogAction method isSupported.

/**
	 * only support database monitor and database must be connected.
	 * 
	 * @see com.cubrid.common.ui.spi.action.ISelectionAction#isSupported(java.lang.Object)
	 * @param obj Object must be DatabaseMonitorPart
	 * @return is supported.
	 */
public boolean isSupported(Object obj) {
    if (obj instanceof DatabaseMonitorPart) {
        DatabaseMonitorPart dbMonPart = (DatabaseMonitorPart) obj;
        DatabaseNode dbNode = (DatabaseNode) dbMonPart.getModel();
        HostNode hostNode = dbNode.getParent();
        if (hostNode != null && hostNode.getServerInfo() != null && hostNode.getServerInfo().isConnected()) {
            return true;
        }
    }
    return false;
}
Also used : DatabaseNode(com.cubrid.cubridmanager.ui.mondashboard.editor.model.DatabaseNode) HostNode(com.cubrid.cubridmanager.ui.mondashboard.editor.model.HostNode) DatabaseMonitorPart(com.cubrid.cubridmanager.ui.mondashboard.editor.parts.DatabaseMonitorPart)

Example 53 with HostNode

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

the class OpenDatabaseLogAction method run.

/**
	 * open database log
	 * 
	 * @see org.eclipse.jface.action.Action#run()
	 */
public void run() {
    Object[] objArr = this.getSelectedObj();
    if (objArr == null || objArr.length <= 0 || !isSupported(objArr[0])) {
        setEnabled(false);
        return;
    }
    DatabaseMonitorPart dbMonPart = (DatabaseMonitorPart) objArr[0];
    DatabaseNode dbNode = (DatabaseNode) dbMonPart.getModel();
    String dbName = dbNode.getDbName();
    HostNode hostNode = dbNode.getParent();
    ServerInfo serverInfo = hostNode.getServerInfo();
    Shell shell = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell();
    DatabaseLogListDialog dialog = new DatabaseLogListDialog(shell, dbName, serverInfo);
    dialog.open();
}
Also used : Shell(org.eclipse.swt.widgets.Shell) DatabaseNode(com.cubrid.cubridmanager.ui.mondashboard.editor.model.DatabaseNode) ServerInfo(com.cubrid.cubridmanager.core.common.model.ServerInfo) HostNode(com.cubrid.cubridmanager.ui.mondashboard.editor.model.HostNode) DatabaseLogListDialog(com.cubrid.cubridmanager.ui.mondashboard.dialog.DatabaseLogListDialog) DatabaseMonitorPart(com.cubrid.cubridmanager.ui.mondashboard.editor.parts.DatabaseMonitorPart)

Example 54 with HostNode

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

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

HostNode (com.cubrid.cubridmanager.ui.mondashboard.editor.model.HostNode)57 DatabaseNode (com.cubrid.cubridmanager.ui.mondashboard.editor.model.DatabaseNode)20 BrokerNode (com.cubrid.cubridmanager.ui.mondashboard.editor.model.BrokerNode)12 HostMonitorPart (com.cubrid.cubridmanager.ui.mondashboard.editor.parts.HostMonitorPart)10 DatabaseMonitorPart (com.cubrid.cubridmanager.ui.mondashboard.editor.parts.DatabaseMonitorPart)9 Dashboard (com.cubrid.cubridmanager.ui.mondashboard.editor.model.Dashboard)8 ServerInfo (com.cubrid.cubridmanager.core.common.model.ServerInfo)7 ArrayList (java.util.ArrayList)6 Point (org.eclipse.draw2d.geometry.Point)6 CMWizardDialog (com.cubrid.common.ui.spi.dialog.CMWizardDialog)4 AddHostAndDbWizard (com.cubrid.cubridmanager.ui.mondashboard.dialog.wizard.AddHostAndDbWizard)4 DataProvider (com.cubrid.cubridmanager.ui.mondashboard.editor.dispatcher.DataProvider)4 IViewPart (org.eclipse.ui.IViewPart)4 IViewReference (org.eclipse.ui.IViewReference)4 IWorkbenchPage (org.eclipse.ui.IWorkbenchPage)4 IWorkbenchWindow (org.eclipse.ui.IWorkbenchWindow)4 PartInitException (org.eclipse.ui.PartInitException)4 DefaultCubridNode (com.cubrid.common.ui.spi.model.DefaultCubridNode)3 ServerType (com.cubrid.cubridmanager.core.common.model.ServerType)3 HAHostStatusInfo (com.cubrid.cubridmanager.core.mondashboard.model.HAHostStatusInfo)3