Search in sources :

Example 1 with BrokerLogInfos

use of com.cubrid.cubridmanager.core.logs.model.BrokerLogInfos in project cubrid-manager by CUBRID.

the class LogsModelTest method testModelBrokerLogInfos.

public void testModelBrokerLogInfos() {
    BrokerLogInfos bean = new BrokerLogInfos();
    bean.setBroker("broker");
    assertEquals(bean.getBroker(), "broker");
    assertEquals(bean.getTaskName(), "getlogfileinfo");
    bean.addLogFileInfo(null);
    bean.getBrokerLogInfoList();
}
Also used : BrokerLogInfos(com.cubrid.cubridmanager.core.logs.model.BrokerLogInfos)

Example 2 with BrokerLogInfos

use of com.cubrid.cubridmanager.core.logs.model.BrokerLogInfos in project cubrid-manager by CUBRID.

the class LogsModelTest method testModelBrokerLogInfos.

public void testModelBrokerLogInfos() {
    BrokerLogInfos bean = new BrokerLogInfos();
    bean.setBroker("broker");
    assertEquals(bean.getBroker(), "broker");
    assertEquals(bean.getTaskName(), "getlogfileinfo");
    bean.addLogFileInfo(null);
    bean.getBrokerLogInfoList();
}
Also used : BrokerLogInfos(com.cubrid.cubridmanager.core.logs.model.BrokerLogInfos)

Example 3 with BrokerLogInfos

use of com.cubrid.cubridmanager.core.logs.model.BrokerLogInfos 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 4 with BrokerLogInfos

use of com.cubrid.cubridmanager.core.logs.model.BrokerLogInfos in project cubrid-manager by CUBRID.

the class CubridBrokerLogFolderLoader method load.

/**
	 * 
	 * Load children object for parent
	 * 
	 * @param parent the parent node
	 * @param monitor the IProgressMonitor object
	 */
public void load(ICubridNode parent, final IProgressMonitor monitor) {
    synchronized (this) {
        if (isLoaded()) {
            return;
        }
        // add access and error and admin log folder to broker logs folder
        String[] brokerLogIdArr = { ACCESS_LOG_FOLDER_ID, ERROR_LOG_FOLDER_ID, ADMIN_LOG_FOLDER_ID };
        String[] brokerLogNameArr = { ACCESS_LOG_FOLDER_NAME, ERROR_LOG_FOLDER_NAME, ADMIN_LOG_FOLDER_NAME };
        String[] brokerLogTypeArr = { CubridNodeType.LOGS_BROKER_ACCESS_LOG_FOLDER, CubridNodeType.LOGS_BROKER_ERROR_LOG_FOLDER, CubridNodeType.LOGS_BROKER_ADMIN_LOG_FOLDER };
        String[] iconArr = { "icons/navigator/folder.png", "icons/navigator/folder.png", "icons/navigator/folder.png" };
        ICubridNode[] logFoldrNodeArr = new ICubridNode[3];
        for (int i = 0; i < brokerLogNameArr.length; i++) {
            String id = parent.getId() + NODE_SEPARATOR + brokerLogIdArr[i];
            logFoldrNodeArr[i] = parent.getChild(id);
            if (logFoldrNodeArr[i] == null) {
                logFoldrNodeArr[i] = new DefaultCubridNode(id, brokerLogNameArr[i], iconArr[i]);
                logFoldrNodeArr[i].setType(brokerLogTypeArr[i]);
                logFoldrNodeArr[i].setContainer(true);
                parent.addChild(logFoldrNodeArr[i]);
                if (i == 2) {
                    ICubridNodeLoader loader = new CubridAdminLogFolderLoader();
                    loader.setLevel(getLevel());
                    logFoldrNodeArr[i].setLoader(loader);
                    if (getLevel() == DEFINITE_LEVEL) {
                        logFoldrNodeArr[i].getChildren(monitor);
                    }
                }
            } else {
                if (logFoldrNodeArr[i].getLoader() != null) {
                    logFoldrNodeArr[i].getLoader().setLoaded(false);
                    logFoldrNodeArr[i].getChildren(monitor);
                }
            }
        }
        ServerInfo serverInfo = parent.getServer().getServerInfo();
        BrokerInfos brokerInfos = serverInfo.getBrokerInfos();
        Shards shards = serverInfo.getShards();
        monitorCancel(monitor, new ITask[] { loadBrokersTask, loadBrokrLogInfoTask });
        if (brokerInfos == null && !monitor.isCanceled()) {
            // load all borkers
            brokerInfos = new BrokerInfos();
            loadBrokersTask = new CommonQueryTask<BrokerInfos>(serverInfo, CommonSendMsg.getCommonSimpleSendMsg(), brokerInfos);
            loadBrokersTask.execute();
            final String errorMsg = loadBrokersTask.getErrorMsg();
            if (!monitor.isCanceled() && errorMsg != null && errorMsg.trim().length() > 0) {
                logFoldrNodeArr[0].removeAllChild();
                logFoldrNodeArr[1].removeAllChild();
                openErrorBox(errorMsg);
                setLoaded(true);
                return;
            }
            brokerInfos = loadBrokersTask.getResultModel();
            serverInfo.setBrokerInfos(brokerInfos);
        }
        if (monitor.isCanceled()) {
            setLoaded(true);
            return;
        }
        // load broker log file information
        List<BrokerLogInfos> brokerLogInfosList = new ArrayList<BrokerLogInfos>();
        if (brokerInfos != null) {
            BrokerInfoList list = brokerInfos.getBorkerInfoList();
            if (list != null && list.getBrokerInfoList() != null) {
                List<BrokerInfo> brokerInfoList = list.getBrokerInfoList();
                for (int i = 0; !monitor.isCanceled() && brokerInfoList != null && i < brokerInfoList.size(); i++) {
                    BrokerInfo brokerInfo = brokerInfoList.get(i);
                    BrokerLogInfos brokerLogInfos = new BrokerLogInfos();
                    loadBrokrLogInfoTask = new CommonQueryTask<BrokerLogInfos>(serverInfo, CommonSendMsg.getGetBrokerLogFileInfoMSGItems(), brokerLogInfos);
                    loadBrokrLogInfoTask.setBroker(brokerInfo.getName());
                    loadBrokrLogInfoTask.execute();
                    final String errorMsg = loadBrokrLogInfoTask.getErrorMsg();
                    if (!monitor.isCanceled() && errorMsg != null && errorMsg.trim().length() > 0) {
                        logFoldrNodeArr[0].removeAllChild();
                        logFoldrNodeArr[1].removeAllChild();
                        openErrorBox(errorMsg);
                        setLoaded(true);
                        return;
                    }
                    brokerLogInfos = loadBrokrLogInfoTask.getResultModel();
                    brokerLogInfosList.add(brokerLogInfos);
                }
            }
        }
        // load shard broker log file information
        if (shards != null) {
            List<Shard> shardList = shards.getShardList();
            if (shardList != null) {
                for (int i = 0; i < shardList.size(); i++) {
                    Shard shard = shardList.get(i);
                    BrokerLogInfos brokerLogInfos = new BrokerLogInfos();
                    loadBrokrLogInfoTask = new CommonQueryTask<BrokerLogInfos>(serverInfo, CommonSendMsg.getGetBrokerLogFileInfoMSGItems(), brokerLogInfos);
                    loadBrokrLogInfoTask.setBroker(shard.getName());
                    loadBrokrLogInfoTask.execute();
                    final String errorMsg = loadBrokrLogInfoTask.getErrorMsg();
                    if (!monitor.isCanceled() && errorMsg != null && errorMsg.trim().length() > 0) {
                        logFoldrNodeArr[0].removeAllChild();
                        logFoldrNodeArr[1].removeAllChild();
                        openErrorBox(errorMsg);
                        setLoaded(true);
                        return;
                    }
                    brokerLogInfos = loadBrokrLogInfoTask.getResultModel();
                    brokerLogInfosList.add(brokerLogInfos);
                }
            }
        }
        if (monitor.isCanceled()) {
            setLoaded(true);
            return;
        }
        logFoldrNodeArr[0].removeAllChild();
        logFoldrNodeArr[1].removeAllChild();
        for (BrokerLogInfos brokerLogInfos : brokerLogInfosList) {
            List<LogInfo> logInfoList = brokerLogInfos.getBrokerLogInfoList().getLogFileInfoList();
            if (logInfoList != null && !logInfoList.isEmpty()) {
                for (LogInfo logInfo : logInfoList) {
                    ICubridNode logInfoNode = new DefaultCubridNode("", logInfo.getName(), "");
                    logInfoNode.setContainer(false);
                    logInfoNode.setModelObj(logInfo);
                    logInfoNode.setEditorId(LogEditorPart.ID);
                    if (LogType.ACCESS.getText().toLowerCase().equals(logInfo.getType())) {
                        String id = logFoldrNodeArr[0].getId() + NODE_SEPARATOR + logInfo.getName();
                        logInfoNode.setId(id);
                        logInfoNode.setType(CubridNodeType.LOGS_BROKER_ACCESS_LOG);
                        logInfoNode.setIconPath("icons/navigator/log_item.png");
                        logFoldrNodeArr[0].addChild(logInfoNode);
                    } else if (LogType.ERROR.getText().toLowerCase().equals(logInfo.getType())) {
                        String id = logFoldrNodeArr[1].getId() + NODE_SEPARATOR + logInfo.getName();
                        logInfoNode.setId(id);
                        logInfoNode.setType(CubridNodeType.LOGS_BROKER_ERROR_LOG);
                        logInfoNode.setIconPath("icons/navigator/log_item.png");
                        logFoldrNodeArr[1].addChild(logInfoNode);
                    }
                }
            }
        }
        Collections.sort(logFoldrNodeArr[0].getChildren());
        Collections.sort(logFoldrNodeArr[1].getChildren());
        setLoaded(true);
        CubridNodeManager.getInstance().fireCubridNodeChanged(new CubridNodeChangedEvent((ICubridNode) parent, CubridNodeChangedEventType.CONTAINER_NODE_REFRESH));
        CubridNodeManager.getInstance().fireCubridNodeChanged(new CubridNodeChangedEvent(logFoldrNodeArr[0], CubridNodeChangedEventType.CONTAINER_NODE_REFRESH));
        CubridNodeManager.getInstance().fireCubridNodeChanged(new CubridNodeChangedEvent(logFoldrNodeArr[1], CubridNodeChangedEventType.CONTAINER_NODE_REFRESH));
    }
}
Also used : DefaultCubridNode(com.cubrid.common.ui.spi.model.DefaultCubridNode) LogInfo(com.cubrid.cubridmanager.core.logs.model.LogInfo) BrokerLogInfos(com.cubrid.cubridmanager.core.logs.model.BrokerLogInfos) ServerInfo(com.cubrid.cubridmanager.core.common.model.ServerInfo) BrokerInfos(com.cubrid.cubridmanager.core.broker.model.BrokerInfos) ArrayList(java.util.ArrayList) ICubridNode(com.cubrid.common.ui.spi.model.ICubridNode) CubridNodeChangedEvent(com.cubrid.common.ui.spi.event.CubridNodeChangedEvent) BrokerInfoList(com.cubrid.cubridmanager.core.broker.model.BrokerInfoList) BrokerInfo(com.cubrid.cubridmanager.core.broker.model.BrokerInfo) ICubridNodeLoader(com.cubrid.common.ui.spi.model.ICubridNodeLoader) Shards(com.cubrid.cubridmanager.core.shard.model.Shards) Shard(com.cubrid.cubridmanager.core.shard.model.Shard)

Example 5 with BrokerLogInfos

use of com.cubrid.cubridmanager.core.logs.model.BrokerLogInfos in project cubrid-manager by CUBRID.

the class CubridBrokerFolderLoader method load.

/**
	 * 
	 * Load children object for parent
	 * 
	 * @param parent the parent node
	 * @param monitor the IProgressMonitor object
	 */
public void load(final ICubridNode parent, final IProgressMonitor monitor) {
    synchronized (this) {
        if (isLoaded()) {
            return;
        }
        //when refresh broker,firstly check whether this broker exist
        int ret = checkBrokerExist(parent, monitor);
        if (ret == 1 || ret == 2) {
            setLoaded(true);
            return;
        }
        if (ret != 0) {
            Display display = Display.getDefault();
            display.syncExec(new Runnable() {

                public void run() {
                    CommonUITool.openErrorBox(Messages.errBrokerNoExist);
                    CubridNavigatorView navigatorView = CubridNavigatorView.getNavigatorView(CubridHostNavigatorView.ID);
                    TreeViewer treeViewer = navigatorView == null ? null : navigatorView.getViewer();
                    if (treeViewer != null) {
                        CommonUITool.refreshNavigatorTree(treeViewer, parent.getParent());
                    }
                }
            });
            setLoaded(true);
            return;
        }
        // add sql log folder
        String sqlLogFolderId = parent.getId() + NODE_SEPARATOR + SQL_LOG_FOLDER_ID;
        ICubridNode sqlLogFolder = parent.getChild(sqlLogFolderId);
        if (sqlLogFolder == null) {
            sqlLogFolder = new DefaultCubridNode(sqlLogFolderId, SQL_LOG_FOLDER_NAME, "icons/navigator/folder.png");
            sqlLogFolder.setType(CubridNodeType.BROKER_SQL_LOG_FOLDER);
            sqlLogFolder.setContainer(true);
            parent.addChild(sqlLogFolder);
        }
        //add the children of sql log folder
        ServerInfo serverInfo = parent.getServer().getServerInfo();
        BrokerLogInfos brokerLogInfos = new BrokerLogInfos();
        final CommonQueryTask<BrokerLogInfos> task = new CommonQueryTask<BrokerLogInfos>(serverInfo, CommonSendMsg.getGetBrokerLogFileInfoMSGItems(), brokerLogInfos);
        task.setBroker(parent.getLabel());
        monitorCancel(monitor, new ITask[] { task });
        task.execute();
        final String errorMsg = task.getErrorMsg();
        if (!monitor.isCanceled() && errorMsg != null && errorMsg.trim().length() > 0) {
            sqlLogFolder.removeAllChild();
            openErrorBox(errorMsg);
            setLoaded(true);
            return;
        }
        if (monitor.isCanceled()) {
            setLoaded(true);
            return;
        }
        sqlLogFolder.removeAllChild();
        brokerLogInfos = task.getResultModel();
        List<LogInfo> logInfoList = brokerLogInfos == null ? null : brokerLogInfos.getBrokerLogInfoList().getLogFileInfoList();
        if (logInfoList != null && !logInfoList.isEmpty()) {
            for (LogInfo logInfo : logInfoList) {
                String id = sqlLogFolder.getId() + NODE_SEPARATOR + logInfo.getName();
                ICubridNode logInfoNode = new DefaultCubridNode(id, logInfo.getName(), "icons/navigator/sqllog_item.png");
                logInfoNode.setContainer(false);
                logInfoNode.setEditorId(LogEditorPart.ID);
                logInfoNode.setModelObj(logInfo);
                if (LogType.SCRIPT.getText().toLowerCase().equals(logInfo.getType())) {
                    logInfoNode.setType(CubridNodeType.BROKER_SQL_LOG);
                    sqlLogFolder.addChild(logInfoNode);
                }
            }
        }
        Collections.sort(sqlLogFolder.getChildren());
        setLoaded(true);
        CubridNodeManager.getInstance().fireCubridNodeChanged(new CubridNodeChangedEvent((ICubridNode) parent, CubridNodeChangedEventType.CONTAINER_NODE_REFRESH));
    }
}
Also used : DefaultCubridNode(com.cubrid.common.ui.spi.model.DefaultCubridNode) LogInfo(com.cubrid.cubridmanager.core.logs.model.LogInfo) BrokerLogInfos(com.cubrid.cubridmanager.core.logs.model.BrokerLogInfos) TreeViewer(org.eclipse.jface.viewers.TreeViewer) ServerInfo(com.cubrid.cubridmanager.core.common.model.ServerInfo) ICubridNode(com.cubrid.common.ui.spi.model.ICubridNode) CubridNodeChangedEvent(com.cubrid.common.ui.spi.event.CubridNodeChangedEvent) CubridNavigatorView(com.cubrid.common.ui.common.navigator.CubridNavigatorView) CommonQueryTask(com.cubrid.cubridmanager.core.common.task.CommonQueryTask) Display(org.eclipse.swt.widgets.Display)

Aggregations

BrokerLogInfos (com.cubrid.cubridmanager.core.logs.model.BrokerLogInfos)7 DefaultCubridNode (com.cubrid.common.ui.spi.model.DefaultCubridNode)4 ICubridNode (com.cubrid.common.ui.spi.model.ICubridNode)4 LogInfo (com.cubrid.cubridmanager.core.logs.model.LogInfo)4 CubridNodeChangedEvent (com.cubrid.common.ui.spi.event.CubridNodeChangedEvent)3 ServerInfo (com.cubrid.cubridmanager.core.common.model.ServerInfo)3 CommonQueryTask (com.cubrid.cubridmanager.core.common.task.CommonQueryTask)3 ITask (com.cubrid.common.core.task.ITask)1 CubridNavigatorView (com.cubrid.common.ui.common.navigator.CubridNavigatorView)1 ICubridNodeLoader (com.cubrid.common.ui.spi.model.ICubridNodeLoader)1 TaskJobExecutor (com.cubrid.common.ui.spi.progress.TaskJobExecutor)1 BrokerInfo (com.cubrid.cubridmanager.core.broker.model.BrokerInfo)1 BrokerInfoList (com.cubrid.cubridmanager.core.broker.model.BrokerInfoList)1 BrokerInfos (com.cubrid.cubridmanager.core.broker.model.BrokerInfos)1 CheckFileTask (com.cubrid.cubridmanager.core.cubrid.database.task.CheckFileTask)1 LogContentInfo (com.cubrid.cubridmanager.core.logs.model.LogContentInfo)1 GetLogListTask (com.cubrid.cubridmanager.core.logs.task.GetLogListTask)1 Shard (com.cubrid.cubridmanager.core.shard.model.Shard)1 Shards (com.cubrid.cubridmanager.core.shard.model.Shards)1 LogEditorPart (com.cubrid.cubridmanager.ui.logs.editor.LogEditorPart)1