Search in sources :

Example 36 with HostNode

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

the class HostMonitorPart method performRequest.

/**
	 * @see org.eclipse.gef.editparts.AbstractEditPart#performRequest(org.eclipse.gef.Request)
	 * @param req Request
	 */
public void performRequest(Request req) {
    if (req.getType() == RequestConstants.REQ_OPEN) {
        HostNode hn = (HostNode) getModel();
        if (!hn.isConnected()) {
            return;
        }
        IWorkbenchWindow window = PlatformUI.getWorkbench().getActiveWorkbenchWindow();
        if (window == null) {
            return;
        }
        IWorkbenchPage page = window.getActivePage();
        if (page == null) {
            return;
        }
        String secondaryId = new StringBuffer(hn.getUserName()).append("&").append(hn.getIp()).append("&").append(hn.getPort()).toString();
        IViewReference viewReference = page.findViewReference(HostDashboardViewPart.ID, secondaryId);
        if (viewReference == null) {
            try {
                IViewPart viewPart = page.showView(HostDashboardViewPart.ID, secondaryId, IWorkbenchPage.VIEW_ACTIVATE);
                ((HostDashboardViewPart) viewPart).init((HostNode) getModel());
            } catch (PartInitException ex) {
                viewReference = null;
            }
        } else {
            IViewPart viewPart = viewReference.getView(false);
            window.getActivePage().bringToTop(viewPart);
            ((HostDashboardViewPart) viewPart).init((HostNode) getModel());
        }
    }
}
Also used : IWorkbenchWindow(org.eclipse.ui.IWorkbenchWindow) IViewPart(org.eclipse.ui.IViewPart) HostNode(com.cubrid.cubridmanager.ui.mondashboard.editor.model.HostNode) IViewReference(org.eclipse.ui.IViewReference) IWorkbenchPage(org.eclipse.ui.IWorkbenchPage) PartInitException(org.eclipse.ui.PartInitException) HostDashboardViewPart(com.cubrid.cubridmanager.ui.mondashboard.editor.HostDashboardViewPart)

Example 37 with HostNode

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

the class HostMonitorPart method createFigure.

/**
	 * create a host figure
	 * 
	 * @return a host figure
	 */
protected IFigure createFigure() {
    HostMonitorFigure hostMonFigure = new HostMonitorFigure();
    HostNode hn = (HostNode) getModel();
    hostMonFigure.setStatus(true, hn.isConnected(), hn.getErrorMsg(), hn.hasNewErrorMsg());
    hostMonFigure.setTitle(hn.getName());
    hostMonFigure.setHint(new StringBuffer(" ").append(hn.getUserName()).append("@").append(hn.getIp()).append(":").append(hn.getPort()).append(" ").toString());
    return hostMonFigure;
}
Also used : HostMonitorFigure(com.cubrid.cubridmanager.ui.mondashboard.editor.figure.HostMonitorFigure) HostNode(com.cubrid.cubridmanager.ui.mondashboard.editor.model.HostNode)

Example 38 with HostNode

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

the class HostMonitorPart method refreshVisuals.

/**
	 * Refreshes this EditPart's <i>visuals</i>. This method is called by
	 * {@link #refresh()}, and may also be called in response to notifications
	 * from the model.
	 */
protected void refreshVisuals() {
    HostMonitorFigure fg = (HostMonitorFigure) this.getFigure();
    HostNode model = (HostNode) getModel();
    HAHostStatusInfo hostStatusInfo = model.getHostStatusInfo();
    fg.setTitle(model.getName());
    fg.setStatus(true, model.isConnected(), model.getErrorMsg(), model.hasNewErrorMsg());
    if (hostStatusInfo != null) {
        fg.setHostCpuUsage(hostStatusInfo.getCpuUsage());
        fg.setHostMemUsage(hostStatusInfo.getMemUsage());
        fg.setHostIO(hostStatusInfo.getIoWait());
    }
    super.refreshVisuals();
}
Also used : HAHostStatusInfo(com.cubrid.cubridmanager.core.mondashboard.model.HAHostStatusInfo) HostMonitorFigure(com.cubrid.cubridmanager.ui.mondashboard.editor.figure.HostMonitorFigure) HostNode(com.cubrid.cubridmanager.ui.mondashboard.editor.model.HostNode)

Example 39 with HostNode

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

the class AddDashboardDialog method buttonPressed.

/**
	 * When press button,call it
	 * 
	 * @param buttonId the button id
	 */
protected void buttonPressed(int buttonId) {
    if (buttonId == IDialogConstants.OK_ID) {
        if (dashboard == null) {
            dashboard = new Dashboard();
        }
        String dashboardNode = dashboardNameText.getText();
        dashboard.setName(dashboardNode);
        for (int i = 0; i < hostNodeList.size(); i++) {
            HostNode node = hostNodeList.get(i);
            node.setDbNodeList(node.getCopyedDbNodeList());
            node.setBrokerNodeList(node.getCopyedBrokerNodeList());
        }
        dashboard.setChildNodeList(hostNodeList);
        HAUtil.calcLocation(dashboard.getHostNodeList());
    }
    super.buttonPressed(buttonId);
}
Also used : HostNode(com.cubrid.cubridmanager.ui.mondashboard.editor.model.HostNode) Dashboard(com.cubrid.cubridmanager.ui.mondashboard.editor.model.Dashboard)

Example 40 with HostNode

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

the class AddHADatabaseDialog method createDialogArea.

/**
	 * Create dialog area content
	 * 
	 * @param parent the parent composite
	 * @return the control
	 */
protected Control createDialogArea(Composite parent) {
    Composite parentComp = (Composite) super.createDialogArea(parent);
    Composite composite = new Composite(parentComp, SWT.NONE);
    {
        GridLayout compLayout = new GridLayout();
        compLayout.marginHeight = convertVerticalDLUsToPixels(IDialogConstants.VERTICAL_MARGIN);
        compLayout.marginWidth = convertHorizontalDLUsToPixels(IDialogConstants.HORIZONTAL_MARGIN);
        compLayout.verticalSpacing = convertVerticalDLUsToPixels(IDialogConstants.VERTICAL_SPACING);
        compLayout.horizontalSpacing = convertHorizontalDLUsToPixels(IDialogConstants.HORIZONTAL_SPACING);
        composite.setLayout(compLayout);
        composite.setLayoutData(new GridData(GridData.FILL_BOTH));
    }
    Group cmServerInfoGroup = new Group(composite, SWT.NONE);
    cmServerInfoGroup.setText(Messages.grpHostInfo);
    GridData gridData = new GridData(GridData.FILL_HORIZONTAL);
    cmServerInfoGroup.setLayoutData(gridData);
    GridLayout layout = new GridLayout();
    layout.numColumns = 2;
    cmServerInfoGroup.setLayout(layout);
    Label ipLabel = new Label(cmServerInfoGroup, SWT.LEFT);
    ipLabel.setText(Messages.lblIPAddress);
    ipLabel.setLayoutData(CommonUITool.createGridData(1, 1, -1, -1));
    ipCombo = new Combo(cmServerInfoGroup, SWT.LEFT | SWT.BORDER | SWT.READ_ONLY);
    ipCombo.setLayoutData(CommonUITool.createGridData(GridData.FILL_HORIZONTAL, 1, 1, -1, -1));
    Label portNameLabel = new Label(cmServerInfoGroup, SWT.LEFT);
    portNameLabel.setText(Messages.lblPort);
    portNameLabel.setLayoutData(CommonUITool.createGridData(1, 1, -1, -1));
    portText = new Text(cmServerInfoGroup, SWT.LEFT | SWT.BORDER);
    portText.setTextLimit(5);
    portText.setText("8001");
    portText.setLayoutData(CommonUITool.createGridData(GridData.FILL_HORIZONTAL, 1, 1, -1, -1));
    portText.addFocusListener(new FocusAdapter() {

        public void focusGained(FocusEvent event) {
            portText.selectAll();
            portText.setFocus();
        }
    });
    Label userNameLabel = new Label(cmServerInfoGroup, SWT.LEFT);
    userNameLabel.setText(Messages.lblUserName);
    userNameLabel.setLayoutData(CommonUITool.createGridData(1, 1, -1, -1));
    userNameText = new Text(cmServerInfoGroup, SWT.LEFT | SWT.BORDER);
    userNameText.setText("admin");
    userNameText.setEnabled(false);
    userNameText.setTextLimit(ValidateUtil.MAX_NAME_LENGTH);
    userNameText.setLayoutData(CommonUITool.createGridData(GridData.FILL_HORIZONTAL, 1, 1, -1, -1));
    Label passwordLabel = new Label(cmServerInfoGroup, SWT.LEFT);
    passwordLabel.setText(Messages.lblPassword);
    passwordLabel.setLayoutData(CommonUITool.createGridData(1, 1, -1, -1));
    passwordText = new Text(cmServerInfoGroup, SWT.LEFT | SWT.PASSWORD | SWT.BORDER);
    passwordText.setTextLimit(ValidateUtil.MAX_NAME_LENGTH);
    passwordText.setLayoutData(CommonUITool.createGridData(GridData.FILL_HORIZONTAL, 1, 1, -1, -1));
    passwordText.addFocusListener(new FocusAdapter() {

        public void focusGained(FocusEvent event) {
            passwordText.selectAll();
            passwordText.setFocus();
        }
    });
    Label dbNameLabel = new Label(cmServerInfoGroup, SWT.LEFT);
    dbNameLabel.setText(Messages.lblDbName);
    dbNameLabel.setLayoutData(CommonUITool.createGridData(1, 1, -1, -1));
    dbNameText = new Text(cmServerInfoGroup, SWT.LEFT | SWT.BORDER | SWT.READ_ONLY);
    dbNameText.setLayoutData(CommonUITool.createGridData(GridData.FILL_HORIZONTAL, 1, 1, 100, -1));
    Label dbaPasswordLabel = new Label(cmServerInfoGroup, SWT.LEFT);
    dbaPasswordLabel.setText(Messages.lblDbaPassword);
    dbaPasswordLabel.setLayoutData(CommonUITool.createGridData(1, 1, -1, -1));
    dbaPasswordText = new Text(cmServerInfoGroup, SWT.LEFT | SWT.BORDER | SWT.PASSWORD);
    dbaPasswordText.setLayoutData(CommonUITool.createGridData(GridData.FILL_HORIZONTAL, 1, 1, 100, -1));
    Composite btnComposite = new Composite(composite, SWT.NONE);
    RowLayout rowLayout = new RowLayout();
    rowLayout.spacing = 5;
    btnComposite.setLayout(rowLayout);
    gridData = new GridData(GridData.FILL_HORIZONTAL);
    gridData.horizontalAlignment = GridData.END;
    btnComposite.setLayoutData(gridData);
    addDatabaseButton = new Button(btnComposite, SWT.NONE);
    addDatabaseButton.setText(Messages.btnAddDb);
    addDatabaseButton.addSelectionListener(new SelectionAdapter() {

        public void widgetSelected(SelectionEvent event) {
            //check this database whether already be added
            String dbName = dbNameText.getText();
            if (isDbExist()) {
                setErrorMessage(Messages.bind(Messages.errDbExist, dbName));
                return;
            }
            //connect server
            String address = ipCombo.getText();
            String port = portText.getText();
            String userName = userNameText.getText();
            String password = passwordText.getText();
            ServerInfo serverInfo = ServerManager.getInstance().getServer(address, Integer.parseInt(port), userName);
            if (serverInfo == null) {
                serverInfo = new ServerInfo();
                serverInfo.setServerName(address);
                serverInfo.setHostAddress(address);
                serverInfo.setHostMonPort(Integer.parseInt(port));
                serverInfo.setHostJSPort(Integer.parseInt(port) + 1);
                serverInfo.setUserName(userName);
                serverInfo.setUserPassword(password);
                serverInfo.setJdbcDriverVersion(ServerJdbcVersionMapping.JDBC_SELF_ADAPTING_VERSION);
            }
            String dbaPassword = dbaPasswordText.getText();
            TaskExecutor executor = null;
            VerifyDbUserPasswordTask verifyDbUserPasswordTask = new VerifyDbUserPasswordTask(serverInfo);
            verifyDbUserPasswordTask.setDbName(dbName);
            verifyDbUserPasswordTask.setDbUser("dba");
            verifyDbUserPasswordTask.setDbPassword(dbaPassword);
            if (serverInfo.isConnected()) {
                DatabaseInfo dbInfo = serverInfo.getLoginedUserInfo().getDatabaseInfo(dbName);
                if (dbInfo == null) {
                    setErrorMessage(Messages.errDbNoExist);
                    return;
                }
                executor = new CommonTaskExec(null);
                if (dbInfo.isLogined() && dbInfo.getAuthLoginedDbUserInfo().getName().equalsIgnoreCase("dba")) {
                    String pwd = dbInfo.getAuthLoginedDbUserInfo().getNoEncryptPassword();
                    if (!dbaPassword.equals(pwd)) {
                        CommonUITool.openErrorBox(Messages.errDbaPassowrd);
                        dbaPasswordText.selectAll();
                        dbaPasswordText.setFocus();
                        return;
                    }
                } else {
                    executor.addTask(verifyDbUserPasswordTask);
                }
            } else {
                executor = new ConnectHostExecutor(getShell(), serverInfo, true);
                executor.addTask(verifyDbUserPasswordTask);
            }
            //get this database status
            HAHostStatusInfo haHostStatusInfo = null;
            HADatabaseStatusInfo haDbStatusInfo = null;
            GetDbModeTask getDbModeTask = new GetDbModeTask(serverInfo);
            List<String> dbList = new ArrayList<String>();
            dbList.add(dbNameText.getText());
            getDbModeTask.setDbList(dbList);
            executor.addTask(getDbModeTask);
            new ExecTaskWithProgress(executor).exec(true, true);
            if (!executor.isSuccess()) {
                if (verifyDbUserPasswordTask != null && verifyDbUserPasswordTask.getErrorMsg() != null && verifyDbUserPasswordTask.getErrorMsg().length() > 0) {
                    dbaPasswordText.selectAll();
                    dbaPasswordText.setFocus();
                }
                return;
            }
            if (getDbModeTask.getDbModes() != null && getDbModeTask.getDbModes().size() > 0) {
                List<HADatabaseStatusInfo> dbModeList = getDbModeTask.getDbModes();
                haDbStatusInfo = dbModeList.get(0);
                haHostStatusInfo = getHAHostStatusInfo(serverInfo.getHostAddress());
                if (haHostStatusInfo != null) {
                    haDbStatusInfo.setHaHostStatusInfo(haHostStatusInfo);
                    haHostStatusInfo.addHADatabaseStatus(haDbStatusInfo);
                }
            }
            if (haDbStatusInfo == null) {
                haDbStatusInfo = HAUtil.getHADatabaseStatusInfo(dbNameText.getText(), haHostStatusInfo, serverInfo);
            }
            if (haHostStatusInfo == null) {
                haHostStatusInfo = HAUtil.getHAHostStatusInfo(serverInfo);
                haHostStatusInfo.addHADatabaseStatus(haDbStatusInfo);
                haDbStatusInfo.setHaHostStatusInfo(haHostStatusInfo);
            }
            DatabaseNode dbNode = new DatabaseNode();
            dbNode.setDbName(dbNameText.getText());
            dbNode.setDbUser("dba");
            dbNode.setDbPassword(dbaPassword);
            dbNode.setName(dbNameText.getText());
            dbNode.setConnected(true);
            dbNode.setHaDatabaseStatus(haDbStatusInfo);
            HostNode hostNode = new HostNode();
            hostNode.setName(ipCombo.getText() + ":" + portText.getText());
            hostNode.setIp(ipCombo.getText());
            hostNode.setPort(portText.getText());
            hostNode.setUserName(userNameText.getText());
            hostNode.setPassword(passwordText.getText());
            hostNode.setHostStatusInfo(haHostStatusInfo);
            hostNode.setConnected(true);
            dbNode.setParent(hostNode);
            Map<String, Object> map = new HashMap<String, Object>();
            map.put("0", dbNode.getDbName());
            map.put("1", DBStatusType.getShowText(dbNode.getDbStatusType()));
            map.put("2", dbNode.getParent().getIp());
            map.put("3", dbNode.getParent().getPort());
            map.put("4", HostStatusType.getShowText(haHostStatusInfo.getStatusType()));
            map.put("5", dbNode);
            if (dbNode.getDbStatusType() == DBStatusType.ACTIVE || dbNode.getDbStatusType() == DBStatusType.TO_BE_ACTIVE) {
                dbNodeList.add(0, map);
            } else {
                dbNodeList.add(map);
            }
            dbTableViewer.refresh();
            for (int i = 0; i < dbTable.getColumnCount(); i++) {
                dbTable.getColumn(i).pack();
            }
            verify();
        }
    });
    addDatabaseButton.setEnabled(false);
    createTable(composite);
    setTitle(Messages.titleAddHADbDialog);
    initial();
    return parentComp;
}
Also used : Group(org.eclipse.swt.widgets.Group) FocusAdapter(org.eclipse.swt.events.FocusAdapter) DatabaseInfo(com.cubrid.cubridmanager.core.cubrid.database.model.DatabaseInfo) ServerInfo(com.cubrid.cubridmanager.core.common.model.ServerInfo) HostNode(com.cubrid.cubridmanager.ui.mondashboard.editor.model.HostNode) Label(org.eclipse.swt.widgets.Label) Combo(org.eclipse.swt.widgets.Combo) FocusEvent(org.eclipse.swt.events.FocusEvent) GetDbModeTask(com.cubrid.cubridmanager.core.mondashboard.task.GetDbModeTask) HAHostStatusInfo(com.cubrid.cubridmanager.core.mondashboard.model.HAHostStatusInfo) GridLayout(org.eclipse.swt.layout.GridLayout) DatabaseNode(com.cubrid.cubridmanager.ui.mondashboard.editor.model.DatabaseNode) Button(org.eclipse.swt.widgets.Button) RowLayout(org.eclipse.swt.layout.RowLayout) SelectionEvent(org.eclipse.swt.events.SelectionEvent) ExecTaskWithProgress(com.cubrid.common.ui.spi.progress.ExecTaskWithProgress) ArrayList(java.util.ArrayList) List(java.util.List) VerifyDbUserPasswordTask(com.cubrid.cubridmanager.core.mondashboard.task.VerifyDbUserPasswordTask) CommonTaskExec(com.cubrid.common.ui.spi.progress.CommonTaskExec) Composite(org.eclipse.swt.widgets.Composite) SelectionAdapter(org.eclipse.swt.events.SelectionAdapter) Text(org.eclipse.swt.widgets.Text) TaskExecutor(com.cubrid.common.ui.spi.progress.TaskExecutor) GridData(org.eclipse.swt.layout.GridData) ConnectHostExecutor(com.cubrid.cubridmanager.ui.host.dialog.ConnectHostExecutor) HADatabaseStatusInfo(com.cubrid.cubridmanager.core.mondashboard.model.HADatabaseStatusInfo) HashMap(java.util.HashMap) Map(java.util.Map)

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