Search in sources :

Example 41 with ICubridNode

use of com.cubrid.common.ui.spi.model.ICubridNode in project cubrid-manager by CUBRID.

the class FilterSettingDialog method createTreeComposite.

/**
	 * 
	 * Create the tree composite
	 * 
	 * @param parent Composite
	 */
private void createTreeComposite(Composite parent) {
    Composite composite = new Composite(parent, SWT.NONE);
    composite.setLayoutData(new GridData(GridData.FILL_BOTH));
    GridLayout layout = new GridLayout();
    composite.setLayout(layout);
    Label label = new Label(composite, SWT.LEFT);
    label.setText(Messages.lblTreeFilter);
    label.setLayoutData(CommonUITool.createGridData(GridData.FILL_HORIZONTAL, 1, 1, -1, -1));
    ctv = new CheckboxTreeViewer(composite, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER);
    ctv.getControl().setLayoutData(CommonUITool.createGridData(GridData.FILL_BOTH, 1, 1, -1, 300));
    ctv.setContentProvider(new FilterTreeContentProvider());
    ctv.setLabelProvider(tv.getLabelProvider(0));
    ctv.setInput(tv.getInput());
    ctv.addCheckStateListener(new ICheckStateListener() {

        public void checkStateChanged(CheckStateChangedEvent event) {
            ctv.setSubtreeChecked(event.getElement(), event.getChecked());
            ctv.setGrayChecked(event.getElement(), false);
            ctv.setChecked(event.getElement(), event.getChecked());
            if (event.getElement() instanceof ICubridNode) {
                ICubridNode node = (ICubridNode) event.getElement();
                ICubridNode parent = node.getParent();
                setParentStatus(parent);
            }
        }

        /**
			 * 
			 * Set parent element status
			 * 
			 * @param parent ICubridNode
			 */
        private void setParentStatus(ICubridNode parent) {
            if (parent == null) {
                return;
            }
            int state = getAllChildrenCheckedState(parent);
            if (state == -1) {
                ctv.setGrayChecked(parent, false);
                ctv.setChecked(parent, false);
            } else if (state == 1 || state == 0) {
                ctv.setChecked(parent, false);
                ctv.setGrayChecked(parent, true);
            }
            setParentStatus(parent.getParent());
        }

        /**
			 * 
			 * Return checked children element status
			 * 
			 * @param parent ICubridNode
			 * @return int <code>-1</code>all is not checked;<code>1</code>all
			 *         is checked;<code>0</code> some is checked,others is not
			 *         checked
			 */
        private int getAllChildrenCheckedState(ICubridNode parent) {
            List<ICubridNode> childrenList = parent.getChildren();
            boolean isAllChecked = true;
            boolean isHasChecked = false;
            for (ICubridNode node : childrenList) {
                if (ctv.getGrayed(node)) {
                    isAllChecked = false;
                    isHasChecked = true;
                } else if (ctv.getChecked(node)) {
                    isHasChecked = true;
                } else {
                    isAllChecked = false;
                }
            }
            if (!isHasChecked) {
                return -1;
            }
            if (isAllChecked) {
                return 1;
            }
            return 0;
        }
    });
    Composite btnComposite = new Composite(composite, SWT.NONE);
    GridLayout gridLayout = new GridLayout();
    gridLayout.marginRight = 10;
    GridData gridData = new GridData();
    gridData.horizontalAlignment = GridData.END;
    gridData.verticalAlignment = GridData.CENTER;
    gridData.grabExcessHorizontalSpace = true;
    btnComposite.setLayoutData(gridData);
    btnComposite.setLayout(gridLayout);
    Button restoreBtn = new Button(btnComposite, SWT.PUSH);
    restoreBtn.setText(Messages.btnRest);
    restoreBtn.setLayoutData(CommonUITool.createGridData(GridData.END, 1, 1, -1, -1));
    restoreBtn.addSelectionListener(new SelectionAdapter() {

        public void widgetSelected(SelectionEvent event) {
            ctv.setCheckedElements(defaultCheckedList.toArray());
            for (ICubridNode node : defaultGrayCheckedList) {
                ctv.setGrayChecked(node, true);
            }
        }
    });
}
Also used : Composite(org.eclipse.swt.widgets.Composite) ICheckStateListener(org.eclipse.jface.viewers.ICheckStateListener) SelectionAdapter(org.eclipse.swt.events.SelectionAdapter) Label(org.eclipse.swt.widgets.Label) ICubridNode(com.cubrid.common.ui.spi.model.ICubridNode) CheckboxTreeViewer(org.eclipse.jface.viewers.CheckboxTreeViewer) GridLayout(org.eclipse.swt.layout.GridLayout) Button(org.eclipse.swt.widgets.Button) GridData(org.eclipse.swt.layout.GridData) SelectionEvent(org.eclipse.swt.events.SelectionEvent) ArrayList(java.util.ArrayList) List(java.util.List) CheckStateChangedEvent(org.eclipse.jface.viewers.CheckStateChangedEvent)

Example 42 with ICubridNode

use of com.cubrid.common.ui.spi.model.ICubridNode in project cubrid-manager by CUBRID.

the class DatabaseDashboardEditor method showLogView.

/**
	 * show sql log view at broker table
	 *
	 * @param type sql type
	 */
public void showLogView(String type) {
    try {
        int i = brokerInfoTable.getSelectionIndex();
        if (i < 0) {
            return;
        }
        final IWorkbenchWindow window = PlatformUI.getWorkbench().getActiveWorkbenchWindow();
        if (window == null) {
            return;
        }
        String brokerName = brokerInfoTable.getItem(i).getText(0);
        String serverId = brokerInfoTable.getItem(i).getText(1);
        //get all log infor
        BrokerLogInfos brokerLogInfos = new BrokerLogInfos();
        final CommonQueryTask<BrokerLogInfos> task = new CommonQueryTask<BrokerLogInfos>(database.getDatabaseInfo().getServerInfo(), CommonSendMsg.getGetBrokerLogFileInfoMSGItems(), brokerLogInfos);
        task.setBroker(brokerName);
        task.execute();
        brokerLogInfos = task.getResultModel();
        String logFileName = brokerName + "_" + serverId + "." + type + ".log";
        sqlLogViewPartName = logFileName + "@" + database.getServer().getLabel() + ":" + database.getServer().getMonPort();
        List<LogInfo> logInfoList = brokerLogInfos == null ? null : brokerLogInfos.getBrokerLogInfoList().getLogFileInfoList();
        task.finish();
        //get the current log
        LogInfo logInfo = null;
        if (logInfoList != null && !logInfoList.isEmpty()) {
            for (LogInfo logInfoInlist : logInfoList) {
                if (logFileName.equals(logInfoInlist.getName())) {
                    logInfo = logInfoInlist;
                    break;
                }
            }
        }
        if (logInfo == null) {
            String msg = Messages.bind(com.cubrid.cubridmanager.ui.logs.Messages.errLogFileNoExist, logFileName);
            LOGGER.error(msg);
            //CommonUITool.openErrorBox(msg);
            return;
        }
        final String filePath = logInfo.getPath();
        TaskJobExecutor taskJobExecutor = new TaskJobExecutor() {

            public IStatus exec(IProgressMonitor monitor) {
                if (monitor.isCanceled()) {
                    return Status.CANCEL_STATUS;
                }
                for (ITask task : taskList) {
                    task.execute();
                    final String msg = task.getErrorMsg();
                    if (monitor.isCanceled()) {
                        return Status.CANCEL_STATUS;
                    }
                    if (msg != null && msg.length() > 0 && !monitor.isCanceled()) {
                        return new Status(IStatus.ERROR, CubridManagerUIPlugin.PLUGIN_ID, msg);
                    }
                    if (task instanceof CheckFileTask) {
                        CheckFileTask checkFileTask = (CheckFileTask) task;
                        final String[] files = checkFileTask.getExistFiles();
                        if (files == null || files.length == 0) {
                            return new Status(IStatus.ERROR, CubridManagerUIPlugin.PLUGIN_ID, Messages.bind(com.cubrid.cubridmanager.ui.logs.Messages.errLogFileNoExist, filePath));
                        }
                    } else if (task instanceof GetLogListTask) {
                        GetLogListTask getLogListTask = (GetLogListTask) task;
                        final LogContentInfo logContentInfo = (LogContentInfo) getLogListTask.getLogContent();
                        Display.getDefault().syncExec(new Runnable() {

                            public void run() {
                                try {
                                    ICubridNode logInfoNode = new DefaultCubridNode("", "", "");
                                    IEditorPart editor = window.getActivePage().openEditor(logInfoNode, LogEditorPart.ID);
                                    ((LogEditorPart) editor).setTableInfo(logContentInfo, true);
                                    ((LogEditorPart) editor).setShowLogPartName(sqlLogViewPartName);
                                } catch (PartInitException e) {
                                    LOGGER.error(e.getMessage(), e);
                                }
                            }
                        });
                    }
                    if (monitor.isCanceled()) {
                        return Status.CANCEL_STATUS;
                    }
                    task.finish();
                }
                return Status.OK_STATUS;
            }
        };
        CheckFileTask checkFileTask = new CheckFileTask(cubridNode.getServer().getServerInfo());
        checkFileTask.setFile(new String[] { filePath });
        taskJobExecutor.addTask(checkFileTask);
        GetLogListTask getLogListTask = new GetLogListTask(cubridNode.getServer().getServerInfo());
        getLogListTask.setPath(filePath);
        getLogListTask.setStart("1");
        getLogListTask.setEnd("100");
        taskJobExecutor.addTask(getLogListTask);
        String jobName = com.cubrid.cubridmanager.ui.logs.Messages.viewLogJobName + " - " + cubridNode.getName() + "@" + cubridNode.getServer().getName();
        taskJobExecutor.schedule(jobName, null, false, Job.SHORT);
    } catch (Exception e) {
        LOGGER.error(Messages.exportDashboardOpenSQLLogErrMsg, e);
    //			CommonUITool.openErrorBox(Messages.exportDashboardOpenSQLLogErrMsg);
    }
}
Also used : Status(org.eclipse.core.runtime.Status) IStatus(org.eclipse.core.runtime.IStatus) IWorkbenchWindow(org.eclipse.ui.IWorkbenchWindow) TaskJobExecutor(com.cubrid.common.ui.spi.progress.TaskJobExecutor) ITask(com.cubrid.common.core.task.ITask) DefaultCubridNode(com.cubrid.common.ui.spi.model.DefaultCubridNode) LogInfo(com.cubrid.cubridmanager.core.logs.model.LogInfo) BrokerLogInfos(com.cubrid.cubridmanager.core.logs.model.BrokerLogInfos) ICubridNode(com.cubrid.common.ui.spi.model.ICubridNode) IEditorPart(org.eclipse.ui.IEditorPart) PartInitException(org.eclipse.ui.PartInitException) IProgressMonitor(org.eclipse.core.runtime.IProgressMonitor) LogContentInfo(com.cubrid.cubridmanager.core.logs.model.LogContentInfo) CommonQueryTask(com.cubrid.cubridmanager.core.common.task.CommonQueryTask) GetLogListTask(com.cubrid.cubridmanager.core.logs.task.GetLogListTask) PartInitException(org.eclipse.ui.PartInitException) CheckFileTask(com.cubrid.cubridmanager.core.cubrid.database.task.CheckFileTask) LogEditorPart(com.cubrid.cubridmanager.ui.logs.editor.LogEditorPart)

Example 43 with ICubridNode

use of com.cubrid.common.ui.spi.model.ICubridNode in project cubrid-manager by CUBRID.

the class DatabaseDashboardEditor method createVolumnComposite.

/**
	 * create volumn information composite
	 *
	 * @param bar ExpandBar
	 * @param bar index
	 *
	 */
public void createVolumnComposite(ExpandBar bar, int index) {
    ExpandItem volumnItem = new ExpandItem(bar, SWT.NONE, index);
    volumnItem.setText(Messages.exportDashboardVolumnTableTitle);
    Composite volumnComposite = new Composite(bar, SWT.NONE);
    volumnComposite.setLayout(new FillLayout());
    volumnInfoTableViewer = new TableViewer(volumnComposite, SWT.BORDER | SWT.FULL_SELECTION);
    volumnInfoTableViewer.getTable().setHeaderVisible(true);
    volumnInfoTableViewer.getTable().setLinesVisible(true);
    final TableViewerColumn columnVolumn = new TableViewerColumn(volumnInfoTableViewer, SWT.CENTER);
    columnVolumn.getColumn().setWidth(140);
    columnVolumn.getColumn().setText(Messages.volumnTableVolumnNameColumnLabel);
    columnVolumn.getColumn().setToolTipText(Messages.volumnTableVolumnNameColumnLabel);
    final TableViewerColumn columnType = new TableViewerColumn(volumnInfoTableViewer, SWT.CENTER);
    columnType.getColumn().setWidth(90);
    columnType.getColumn().setText(Messages.volumnTableVolumnTypeColumnLabel);
    columnType.getColumn().setToolTipText(Messages.volumnTableVolumnTypeColumnLabel);
    final TableViewerColumn columnFreeSize = new TableViewerColumn(volumnInfoTableViewer, SWT.RIGHT);
    columnFreeSize.getColumn().setWidth(90);
    columnFreeSize.getColumn().setText(Messages.volumnTableFreesizeColumnLabel);
    columnFreeSize.getColumn().setToolTipText(Messages.volumnTableFreesizeColumnLabel);
    final TableViewerColumn columnTotalSize = new TableViewerColumn(volumnInfoTableViewer, SWT.RIGHT);
    columnTotalSize.getColumn().setWidth(90);
    columnTotalSize.getColumn().setText(Messages.volumnTableTotalsizeColumnLabel);
    columnTotalSize.getColumn().setToolTipText(Messages.volumnTableTotalsizeColumnLabel);
    final TableViewerColumn lastModifyDate = new TableViewerColumn(volumnInfoTableViewer, SWT.CENTER);
    lastModifyDate.getColumn().setWidth(90);
    lastModifyDate.getColumn().setText(Messages.volumnTableLastModifyTimeColumnLabel);
    lastModifyDate.getColumn().setToolTipText(Messages.volumnTableLastModifyTimeColumnLabel);
    final TableViewerColumn columnLocation = new TableViewerColumn(volumnInfoTableViewer, SWT.LEFT);
    columnLocation.getColumn().setWidth(300);
    columnLocation.getColumn().setText(Messages.tblColumnVolPath);
    columnLocation.getColumn().setToolTipText(Messages.tblColumnVolPath);
    volumnInfoTableViewer.setContentProvider(new TableContentProvider());
    volumnInfoTableViewer.setLabelProvider(new TableLabelProvider());
    Table table = volumnInfoTableViewer.getTable();
    table.setLinesVisible(true);
    table.setHeaderVisible(true);
    volumnInfoTableViewer.setInput(volumnInfoListData);
    volumnItem.setControl(volumnComposite);
    volumnItem.setHeight(130);
    volumnItem.setExpanded(true);
    Menu menu = new Menu(this.getSite().getShell(), SWT.POP_UP);
    final MenuItem itemAddVolumn = new MenuItem(menu, SWT.PUSH);
    itemAddVolumn.setText(com.cubrid.cubridmanager.ui.spi.Messages.setAddVolumeActionName);
    itemAddVolumn.addSelectionListener(new SelectionAdapter() {

        public void widgetSelected(SelectionEvent event) {
            DefaultSchemaNode node = null;
            for (ICubridNode cubridNode : database.getChildren()) {
                if (cubridNode.getType().equals(CubridNodeType.DBSPACE_FOLDER)) {
                    node = (DefaultSchemaNode) cubridNode;
                }
            }
            if (node == null) {
                return;
            }
            // Gets the status of adding volume
            GetAddVolumeStatusInfo getAddVolumeStatusInfo = new GetAddVolumeStatusInfo();
            final CommonQueryTask<GetAddVolumeStatusInfo> statusTask = new CommonQueryTask<GetAddVolumeStatusInfo>(database.getServer().getServerInfo(), CommonSendMsg.getCommonDatabaseSendMsg(), getAddVolumeStatusInfo);
            statusTask.setDbName(database.getLabel());
            TaskExecutor taskExecutor = new CommonTaskExec(com.cubrid.cubridmanager.ui.cubrid.dbspace.Messages.getVolumeInfoTaskName);
            taskExecutor.addTask(statusTask);
            CommonQueryTask<DbSpaceInfoList> spaceInfoTask = null;
            DatabaseInfo databaseInfo = database.getDatabaseInfo();
            DbSpaceInfoList dbSpaceInfoList = databaseInfo.getDbSpaceInfoList();
            int pageSize = 0;
            if (null == dbSpaceInfoList) {
                dbSpaceInfoList = new DbSpaceInfoList();
                spaceInfoTask = new CommonQueryTask<DbSpaceInfoList>(database.getServer().getServerInfo(), CommonSendMsg.getCommonDatabaseSendMsg(), dbSpaceInfoList);
                spaceInfoTask.setDbName(database.getLabel());
                taskExecutor.addTask(spaceInfoTask);
            }
            new ExecTaskWithProgress(taskExecutor).busyCursorWhile();
            if (spaceInfoTask == null) {
                pageSize = dbSpaceInfoList.getPagesize();
            } else {
                final DbSpaceInfoList model = ((CommonQueryTask<DbSpaceInfoList>) spaceInfoTask).getResultModel();
                pageSize = model.getPagesize();
            }
            getAddVolumeStatusInfo = statusTask.getResultModel();
            //open add volumn dialog
            AddVolumeDialog addVolumeDialog = new AddVolumeDialog(getSite().getShell());
            addVolumeDialog.setGetAddVolumeStatusInfo(getAddVolumeStatusInfo);
            addVolumeDialog.initPara(node);
            addVolumeDialog.setTreeViewer(CubridNavigatorView.getNavigatorView("com.cubrid.cubridmanager.host.navigator").getViewer());
            addVolumeDialog.setPageSize(pageSize);
            int returnCode = addVolumeDialog.open();
            //if add volumn refresh table
            if (returnCode == IDialogConstants.OK_ID) {
                volumnInfoListData.clear();
                loadVolumnsInfo();
                volumnInfoTableViewer.refresh();
            }
        }
    });
    volumnInfoTableViewer.getTable().setMenu(menu);
    tableViewOnBarIndexMap.put(volumnInfoTableViewer, index);
}
Also used : CommonTaskExec(com.cubrid.common.ui.spi.progress.CommonTaskExec) Table(org.eclipse.swt.widgets.Table) Composite(org.eclipse.swt.widgets.Composite) DatabaseInfo(com.cubrid.cubridmanager.core.cubrid.database.model.DatabaseInfo) SelectionAdapter(org.eclipse.swt.events.SelectionAdapter) MenuItem(org.eclipse.swt.widgets.MenuItem) FillLayout(org.eclipse.swt.layout.FillLayout) TableLabelProvider(com.cubrid.common.ui.spi.TableLabelProvider) ICubridNode(com.cubrid.common.ui.spi.model.ICubridNode) DefaultSchemaNode(com.cubrid.common.ui.spi.model.DefaultSchemaNode) GetAddVolumeStatusInfo(com.cubrid.cubridmanager.core.cubrid.dbspace.model.GetAddVolumeStatusInfo) TaskExecutor(com.cubrid.common.ui.spi.progress.TaskExecutor) ExpandItem(org.eclipse.swt.widgets.ExpandItem) AddVolumeDialog(com.cubrid.cubridmanager.ui.cubrid.dbspace.dialog.AddVolumeDialog) DbSpaceInfoList(com.cubrid.cubridmanager.core.cubrid.dbspace.model.DbSpaceInfoList) TableContentProvider(com.cubrid.common.ui.spi.TableContentProvider) SelectionEvent(org.eclipse.swt.events.SelectionEvent) ExecTaskWithProgress(com.cubrid.common.ui.spi.progress.ExecTaskWithProgress) CommonQueryTask(com.cubrid.cubridmanager.core.common.task.CommonQueryTask) Menu(org.eclipse.swt.widgets.Menu) TableViewer(org.eclipse.jface.viewers.TableViewer) TableViewerColumn(org.eclipse.jface.viewers.TableViewerColumn)

Example 44 with ICubridNode

use of com.cubrid.common.ui.spi.model.ICubridNode in project cubrid-manager by CUBRID.

the class VolumeFolderInfoEditor method init.

/**
	 * Initializes this editor with the given editor site and input.
	 *
	 * @param site the editor site
	 * @param input the editor input
	 * @exception PartInitException if this editor was not initialized
	 *            successfully
	 */
public void init(IEditorSite site, IEditorInput input) throws PartInitException {
    super.init(site, input);
    if (input instanceof DefaultSchemaNode) {
        ICubridNode node = (DefaultSchemaNode) input;
        database = ((DefaultSchemaNode) node).getDatabase();
        String type = node.getType();
        if ((volumeType = folderTypeMap.get(type)) != null && (((DefaultSchemaNode) node).getChildren() != null && ((DefaultSchemaNode) node).getChildren().size() > 0)) {
            for (ICubridNode child : ((DefaultSchemaNode) node).getChildren()) {
                dbSpaceList.add((DbSpaceInfo) ((DefaultSchemaNode) child).getAdapter(DbSpaceInfo.class));
            }
        }
        volumeFolderName = node.getName();
    }
}
Also used : ICubridNode(com.cubrid.common.ui.spi.model.ICubridNode) DefaultSchemaNode(com.cubrid.common.ui.spi.model.DefaultSchemaNode)

Example 45 with ICubridNode

use of com.cubrid.common.ui.spi.model.ICubridNode in project cubrid-manager by CUBRID.

the class VolumeInformationEditor method init.

/**
	 * Initializes this editor with the given editor site and input.
	 *
	 * @param site the editor site
	 * @param input the editor input
	 * @exception PartInitException if this editor was not initialized
	 *            successfully
	 */
public void init(IEditorSite site, IEditorInput input) throws PartInitException {
    super.init(site, input);
    if (input instanceof DefaultSchemaNode) {
        ICubridNode node = (DefaultSchemaNode) input;
        String type = node.getType();
        database = ((DefaultSchemaNode) node).getDatabase();
        if (CubridNodeType.GENERIC_VOLUME_FOLDER.equals(type) || CubridNodeType.DATA_VOLUME_FOLDER.equals(type) || CubridNodeType.INDEX_VOLUME_FOLDER.equals(type) || CubridNodeType.TEMP_VOLUME_FOLDER.equals(type) || CubridNodeType.ARCHIVE_LOG_FOLDER.equals(type) || CubridNodeType.ACTIVE_LOG_FOLDER.equals(type) || CubridNodeType.PP_VOLUME_FOLDER.equals(type) || CubridNodeType.PT_VOLUME_FOLDER.equals(type) || CubridNodeType.TT_VOLUME_FOLDER.equals(type)) {
            dbSpaceInfo = (DbSpaceInfo) ((DefaultSchemaNode) node).getAdapter(DbSpaceInfo.class);
        }
    }
}
Also used : ICubridNode(com.cubrid.common.ui.spi.model.ICubridNode) DefaultSchemaNode(com.cubrid.common.ui.spi.model.DefaultSchemaNode)

Aggregations

ICubridNode (com.cubrid.common.ui.spi.model.ICubridNode)362 CubridDatabase (com.cubrid.common.ui.spi.model.CubridDatabase)67 ArrayList (java.util.ArrayList)67 DefaultSchemaNode (com.cubrid.common.ui.spi.model.DefaultSchemaNode)62 TreeViewer (org.eclipse.jface.viewers.TreeViewer)62 CubridNodeChangedEvent (com.cubrid.common.ui.spi.event.CubridNodeChangedEvent)55 ISchemaNode (com.cubrid.common.ui.spi.model.ISchemaNode)55 CubridServer (com.cubrid.common.ui.spi.model.CubridServer)41 ServerInfo (com.cubrid.cubridmanager.core.common.model.ServerInfo)40 ServerUserInfo (com.cubrid.cubridmanager.core.common.model.ServerUserInfo)33 IWorkbenchWindow (org.eclipse.ui.IWorkbenchWindow)32 DatabaseInfo (com.cubrid.cubridmanager.core.cubrid.database.model.DatabaseInfo)31 ICubridNodeLoader (com.cubrid.common.ui.spi.model.ICubridNodeLoader)27 ExecTaskWithProgress (com.cubrid.common.ui.spi.progress.ExecTaskWithProgress)26 CubridGroupNode (com.cubrid.common.ui.spi.model.CubridGroupNode)25 DefaultCubridNode (com.cubrid.common.ui.spi.model.DefaultCubridNode)25 TaskExecutor (com.cubrid.common.ui.spi.progress.TaskExecutor)25 ISelectionProvider (org.eclipse.jface.viewers.ISelectionProvider)25 CommonTaskExec (com.cubrid.common.ui.spi.progress.CommonTaskExec)23 CubridNavigatorView (com.cubrid.common.ui.common.navigator.CubridNavigatorView)22