Search in sources :

Example 1 with QueryRecord

use of com.cubrid.common.ui.query.tuner.QueryRecord in project cubrid-manager by CUBRID.

the class QueryRecordListComparator method runQueryPlan.

/**
	 * Run query plan
	 *
	 */
private void runQueryPlan() {
    String query = getFirstSelectedQuery();
    if (StringUtil.isEmpty(query)) {
        return;
    }
    runItem.setEnabled(false);
    runPlanItem.setEnabled(false);
    List<String> queryList = new ArrayList<String>();
    queryList.add(query);
    QueryTunerJob job = new QueryTunerJob(IQueryJob.RUN_PLAN | /*IQueryJob.COLLECT_STAT | */
    IQueryJob.AUTO_COMMIT, database.getDatabaseInfo(), queryList, new TextRecordProcessor(), QueryTunerDialog.this);
    job.schedule();
    try {
        job.join();
        List<QueryRecord> queryRecordList = job.getQueryRecordList();
        if (queryRecordList.size() > 0) {
            lastRecord = currentRecord;
            currentRecord = queryRecordList.get(0);
            displayQueryPlan(currentRecord);
        }
    } catch (InterruptedException e) {
        LOGGER.error(e.getMessage());
    }
    runItem.setEnabled(true);
    runPlanItem.setEnabled(true);
}
Also used : TextRecordProcessor(com.cubrid.common.ui.query.tuner.TextRecordProcessor) ArrayList(java.util.ArrayList) QueryTunerJob(com.cubrid.common.ui.query.tuner.QueryTunerJob) QueryRecord(com.cubrid.common.ui.query.tuner.QueryRecord)

Example 2 with QueryRecord

use of com.cubrid.common.ui.query.tuner.QueryRecord in project cubrid-manager by CUBRID.

the class QueryRecordListComparator method displayQueryPlan.

/**
	 * Display query record for tuner tab
	 *
	 * @param queryRecord
	 */
private void displayQueryPlan(final QueryRecord queryRecord) {
    if (queryPlanComposite != null && !queryPlanComposite.isDisposed()) {
        queryPlanComposite.dispose();
    }
    queryPlanComposite = new Composite(queryPlanContainer, SWT.BORDER);
    queryPlanComposite.setLayout(new GridLayout());
    ToolBar queryPlanToolBar = new ToolBar(queryPlanComposite, SWT.None);
    queryPlanToolBar.setLayoutData(CommonUITool.createGridData(1, 1, -1, -1));
    hideItem = new ToolItem(queryPlanToolBar, SWT.CHECK);
    hideItem.setImage(CommonUIPlugin.getImage("icons/queryeditor/qe_panel_down.png"));
    hideItem.setToolTipText(Messages.tooltip_qedit_explain_display_mode);
    dispModeTextItem = new ToolItem(queryPlanToolBar, SWT.CHECK);
    dispModeTextItem.setImage(CommonUIPlugin.getImage("icons/queryeditor/qe_explain_mode_raw.png"));
    dispModeTextItem.setToolTipText(Messages.tooltip_qedit_explain_display_mode);
    dispModeTreeItem = new ToolItem(queryPlanToolBar, SWT.CHECK);
    dispModeTreeItem.setImage(CommonUIPlugin.getImage("icons/queryeditor/qe_explain_mode_tree.png"));
    dispModeTreeItem.setToolTipText(Messages.tooltip_qedit_explain_display_mode);
    dispModeGraphItem = new ToolItem(queryPlanToolBar, SWT.CHECK);
    dispModeGraphItem.setImage(CommonUIPlugin.getImage("icons/queryeditor/qe_explain_mode_graph.png"));
    dispModeGraphItem.setToolTipText(Messages.tooltip_qedit_explain_display_mode);
    TableViewer statisticsViewer = new TableViewer(queryPlanComposite, SWT.FULL_SELECTION);
    statisticsViewer.getTable().setLayoutData(CommonUITool.createGridData(GridData.FILL_HORIZONTAL, 1, 1, -1, 50));
    statisticsViewer.getTable().setHeaderVisible(true);
    statisticsViewer.getTable().setLinesVisible(false);
    TableColumn itemColumn = new TableColumn(statisticsViewer.getTable(), SWT.None);
    itemColumn.setText(Messages.columnItem);
    itemColumn.setWidth(60);
    TableColumn fetchColumn = new TableColumn(statisticsViewer.getTable(), SWT.None);
    fetchColumn.setText(Messages.columnFetches);
    fetchColumn.setWidth(60);
    TableColumn dirtyColumn = new TableColumn(statisticsViewer.getTable(), SWT.None);
    dirtyColumn.setText(Messages.columnDirties);
    dirtyColumn.setWidth(60);
    TableColumn ioReadColumn = new TableColumn(statisticsViewer.getTable(), SWT.None);
    ioReadColumn.setText(Messages.columnIORead);
    ioReadColumn.setWidth(80);
    TableColumn ioWriteColumn = new TableColumn(statisticsViewer.getTable(), SWT.None);
    ioWriteColumn.setText(Messages.columnIOWrite);
    ioWriteColumn.setWidth(80);
    TableColumn costColumn = new TableColumn(statisticsViewer.getTable(), SWT.None);
    costColumn.setText(Messages.columnCost);
    costColumn.setWidth(60);
    statisticsViewer.setContentProvider(new QueryPlanContentProvider());
    statisticsViewer.setLabelProvider(new QueryPlanLabelPrivoder(statisticsViewer, true));
    List<QueryRecord> recordList = new ArrayList<QueryRecord>();
    if (queryRecord != null) {
        recordList.add(queryRecord);
    }
    if (lastRecord != null) {
        recordList.add(lastRecord);
    }
    statisticsViewer.setInput(recordList);
    final SashForm queryPlanSashForm = new SashForm(queryPlanComposite, SWT.VERTICAL);
    queryPlanSashForm.setLayoutData(CommonUITool.createGridData(GridData.FILL_BOTH, 1, 1, -1, -1));
    queryPlanSashForm.setBackground(SASH_COLOR);
    queryPlanSashForm.setLayout(new GridLayout());
    queryPlanSashForm.SASH_WIDTH = 2;
    DatabaseInfo databaseInfo = database == null ? null : database.getDatabaseInfo();
    final QueryPlanComposite nowPlanComposite = new QueryPlanComposite(queryPlanSashForm, SWT.None, queryRecord == null ? null : queryRecord.getQueryPlan(), databaseInfo);
    final QueryPlanComposite beforePlanComposite = new QueryPlanComposite(queryPlanSashForm, SWT.None, lastRecord == null ? null : lastRecord.getQueryPlan(), databaseInfo);
    queryPlanSashForm.setWeights(new int[] { 500, 500 });
    hideItem.addSelectionListener(new SelectionAdapter() {

        public void widgetSelected(SelectionEvent event) {
            isHiden = !isHiden;
            performHideOperation(queryPlanSashForm, isHiden);
        }
    });
    dispModeTextItem.addSelectionListener(new SelectionAdapter() {

        public void widgetSelected(SelectionEvent event) {
            updateTunerPlanDisplayModel(nowPlanComposite, beforePlanComposite, DISPLAY_TEXT);
        }
    });
    dispModeTreeItem.addSelectionListener(new SelectionAdapter() {

        public void widgetSelected(SelectionEvent event) {
            updateTunerPlanDisplayModel(nowPlanComposite, beforePlanComposite, DISPLAY_TREE);
        }
    });
    dispModeGraphItem.addSelectionListener(new SelectionAdapter() {

        public void widgetSelected(SelectionEvent event) {
            updateTunerPlanDisplayModel(nowPlanComposite, beforePlanComposite, DISPLAY_GRAPH);
        }
    });
    performHideOperation(queryPlanSashForm, isHiden);
    updateTunerPlanDisplayModel(nowPlanComposite, beforePlanComposite, tunerDisplayModel);
    queryPlanContainer.layout();
}
Also used : Composite(org.eclipse.swt.widgets.Composite) QueryPlanComposite(com.cubrid.common.ui.query.control.queryplan.QueryPlanComposite) DatabaseInfo(com.cubrid.cubridmanager.core.cubrid.database.model.DatabaseInfo) SelectionAdapter(org.eclipse.swt.events.SelectionAdapter) ArrayList(java.util.ArrayList) QueryPlanComposite(com.cubrid.common.ui.query.control.queryplan.QueryPlanComposite) QueryRecord(com.cubrid.common.ui.query.tuner.QueryRecord) TableColumn(org.eclipse.swt.widgets.TableColumn) SashForm(org.eclipse.swt.custom.SashForm) GridLayout(org.eclipse.swt.layout.GridLayout) ToolBar(org.eclipse.swt.widgets.ToolBar) SelectionEvent(org.eclipse.swt.events.SelectionEvent) TableViewer(org.eclipse.jface.viewers.TableViewer) ToolItem(org.eclipse.swt.widgets.ToolItem)

Example 3 with QueryRecord

use of com.cubrid.common.ui.query.tuner.QueryRecord in project cubrid-manager by CUBRID.

the class QueryRecordListComparator method displayComparePlan.

/**
	 * Display compare query plan
	 *
	 * @param leftRecord
	 * @param rightRecord
	 */
private void displayComparePlan(QueryRecord leftRecord, QueryRecord rightRecord) {
    String leftQuery = "", rightQuery = "";
    if (leftRecord != null) {
        leftQuery = leftRecord.getQuery();
        textMergeConfig.setLeftLabel(leftRecord.getName());
        List<QueryRecord> list = new ArrayList<QueryRecord>();
        list.add(leftRecord);
        compareLeftTableViewer.setInput(list);
        compareLeftTableViewer.refresh();
        leftComparePlanComposite.setQueryRecord(leftRecord.getQueryPlan());
    } else {
        textMergeConfig.setLeftLabel("");
        compareLeftTableViewer.setInput(new ArrayList<QueryRecord>());
        compareLeftTableViewer.refresh();
        leftComparePlanComposite.setQueryRecord(null);
    }
    if (rightRecord != null) {
        rightQuery = rightRecord.getQuery();
        textMergeConfig.setRightLabel(rightRecord.getName());
        List<QueryRecord> list = new ArrayList<QueryRecord>();
        list.add(rightRecord);
        compareRightTableViewer.setInput(list);
        compareRightTableViewer.refresh();
        rightComparePlanComposite.setQueryRecord(rightRecord.getQueryPlan());
    } else {
        textMergeConfig.setRightLabel("");
        compareRightTableViewer.setInput(new ArrayList<QueryRecord>());
        compareRightTableViewer.refresh();
        rightComparePlanComposite.setQueryRecord(null);
    }
    DiffNode queryDiffNode = new DiffNode(null, Differencer.CHANGE, null, new TextCompareInput(leftQuery), new TextCompareInput(rightQuery));
    textMergeViewer.setInput(queryDiffNode);
}
Also used : ArrayList(java.util.ArrayList) DiffNode(org.eclipse.compare.structuremergeviewer.DiffNode) TextCompareInput(com.cubrid.common.ui.compare.schema.control.TextCompareInput) QueryRecord(com.cubrid.common.ui.query.tuner.QueryRecord)

Example 4 with QueryRecord

use of com.cubrid.common.ui.query.tuner.QueryRecord in project cubrid-manager by CUBRID.

the class AddQueryRecordDialog method validate.

private boolean validate() {
    setErrorMessage(null);
    getButton(IDialogConstants.OK_ID).setEnabled(false);
    name = newText.getText();
    if (StringUtil.isEmpty(name)) {
        setErrorMessage(Messages.msgQueryRecordNameEmpty);
    }
    if (newFlag) {
        for (QueryRecord record : queryRecordProject.getQueryRecordList()) {
            if (StringUtil.isEqual(name, record.getName())) {
                setErrorMessage(Messages.bind(Messages.msgQueryRecordNameExist, name));
                return false;
            }
        }
    } else {
        for (QueryRecord record : queryRecordProject.getQueryRecordList()) {
            if (StringUtil.isEqual(name, record.getName()) && !record.getCreateDate().equals(queryRecord.getCreateDate())) {
                setErrorMessage(Messages.msgQueryRecordNameExist);
                return false;
            }
        }
    }
    getButton(IDialogConstants.OK_ID).setEnabled(true);
    return true;
}
Also used : QueryRecord(com.cubrid.common.ui.query.tuner.QueryRecord)

Example 5 with QueryRecord

use of com.cubrid.common.ui.query.tuner.QueryRecord in project cubrid-manager by CUBRID.

the class QueryRecordListComparator method createQueryCompareTab.

private void createQueryCompareTab(CTabFolder tabFolder) {
    CTabItem item = new CTabItem(tabFolder, SWT.None | SWT.MULTI | SWT.V_SCROLL);
    item.setText(Messages.tabItemQueryCompare);
    Composite composite = new Composite(tabFolder, SWT.None);
    composite.setLayout(new GridLayout());
    item.setControl(composite);
    Composite topComposite = new Composite(composite, SWT.None);
    topComposite.setLayout(new FormLayout());
    topComposite.setLayoutData(CommonUITool.createGridData(GridData.FILL_HORIZONTAL, 1, 1, -1, 25));
    Composite leftTopComposite = new Composite(topComposite, SWT.None);
    FormData leftTopData = new FormData();
    leftTopData.top = new FormAttachment(0, 0);
    leftTopData.bottom = new FormAttachment(100, 0);
    leftTopData.left = new FormAttachment(0, 0);
    leftTopData.right = new FormAttachment(50, 0);
    leftTopComposite.setLayoutData(leftTopData);
    leftTopComposite.setLayout(new GridLayout(2, false));
    Composite rightTopComposite = new Composite(topComposite, SWT.None);
    FormData rightTopData = new FormData();
    rightTopData.top = new FormAttachment(0, 0);
    rightTopData.bottom = new FormAttachment(100, 0);
    rightTopData.left = new FormAttachment(50, 0);
    rightTopData.right = new FormAttachment(100, 0);
    rightTopComposite.setLayoutData(rightTopData);
    rightTopComposite.setLayout(new GridLayout(5, false));
    Label leftLabel = new Label(leftTopComposite, SWT.None);
    leftLabel.setText(Messages.lblQuery);
    leftLabel.setLayoutData(CommonUITool.createGridData(1, 1, -1, -1));
    queryRecordLeftCombo = new Combo(leftTopComposite, SWT.READ_ONLY);
    queryRecordLeftCombo.setLayoutData(CommonUITool.createGridData(1, 1, 200, -1));
    queryRecordLeftCombo.addSelectionListener(new SelectionListener() {

        public void widgetSelected(SelectionEvent e) {
            displayCompareQueryRecord();
        }

        public void widgetDefaultSelected(SelectionEvent e) {
        }
    });
    Label rightLabel = new Label(rightTopComposite, SWT.None);
    rightLabel.setLayoutData(CommonUITool.createGridData(1, 1, -1, -1));
    rightLabel.setText(Messages.lblQuery);
    queryRecordRightCombo = new Combo(rightTopComposite, SWT.READ_ONLY);
    queryRecordRightCombo.setLayoutData(CommonUITool.createGridData(1, 1, 200, -1));
    queryRecordRightCombo.addSelectionListener(new SelectionListener() {

        public void widgetSelected(SelectionEvent e) {
            displayCompareQueryRecord();
        }

        public void widgetDefaultSelected(SelectionEvent e) {
        }
    });
    ToolBar leftToolBar = new ToolBar(rightTopComposite, SWT.None);
    leftToolBar.setLayoutData(CommonUITool.createGridData(1, 1, -1, -1));
    compareItem = new ToolItem(leftToolBar, SWT.None);
    compareItem.setImage(CommonUIPlugin.getImage("icons/action/refresh_tuning.png"));
    compareItem.setToolTipText(Messages.itemTooltipCompare);
    compareItem.addSelectionListener(new SelectionListener() {

        public void widgetSelected(SelectionEvent e) {
            widgetDefaultSelected(e);
        }

        public void widgetDefaultSelected(SelectionEvent e) {
            displayCompareQueryRecord();
        }
    });
    delQueryRecordItem = new ToolItem(leftToolBar, SWT.None);
    delQueryRecordItem.setImage(CommonUIPlugin.getImage("icons/queryplan/delete_query.gif"));
    delQueryRecordItem.setToolTipText(Messages.itemTooltipRemoveQuery);
    delQueryRecordItem.addSelectionListener(new SelectionListener() {

        public void widgetSelected(SelectionEvent e) {
            widgetDefaultSelected(e);
        }

        public void widgetDefaultSelected(SelectionEvent e) {
            if (CommonUITool.openConfirmBox(Messages.confirmDeleteQueryPlanOnTuner)) {
                removeQueryRecord();
            }
        }
    });
    Composite folderPlaceComposite = new Composite(rightTopComposite, SWT.None);
    folderPlaceComposite.setLayoutData(CommonUITool.createGridData(GridData.FILL_BOTH, 1, 1, -1, -1));
    ToolBar rightToolBar = new ToolBar(rightTopComposite, SWT.None);
    rightToolBar.setLayoutData(CommonUITool.createGridData(GridData.HORIZONTAL_ALIGN_END, 1, 1, -1, -1));
    multiRunItem = new ToolItem(rightToolBar, SWT.None);
    multiRunItem.setImage(CommonUIPlugin.getImage("icons/queryeditor/query_multi_run.png"));
    multiRunItem.setToolTipText(Messages.itemTooltipRunAgain);
    multiRunItem.addSelectionListener(new SelectionListener() {

        public void widgetSelected(SelectionEvent e) {
            widgetDefaultSelected(e);
        }

        public void widgetDefaultSelected(SelectionEvent e) {
            QueryRecord leftRecord = getSelectedLeftQueryRecord();
            QueryRecord rightRecord = getSelectedRightQueryRecord();
            if (leftRecord == null || rightRecord == null) {
                CommonUITool.openErrorBox(Messages.errCompareQueryEmpty);
                return;
            }
            runQueryPlanAgain(leftRecord.getQuery(), rightRecord.getQuery());
        }
    });
    sqlModeItem = new ToolItem(rightToolBar, SWT.CHECK);
    sqlModeItem.setImage(CommonUIPlugin.getImage("icons/queryplan/sql_compare.gif"));
    sqlModeItem.setToolTipText(Messages.itemTooltipQuery);
    sqlModeItem.addSelectionListener(new SelectionListener() {

        public void widgetSelected(SelectionEvent e) {
            widgetDefaultSelected(e);
        }

        public void widgetDefaultSelected(SelectionEvent e) {
            updateCompareDisplayModel(DISPLAY_SQL);
        }
    });
    textModelItem = new ToolItem(rightToolBar, SWT.CHECK);
    textModelItem.setImage(CommonUIPlugin.getImage("icons/queryeditor/qe_explain_mode_raw.png"));
    textModelItem.setToolTipText(Messages.tooltip_qedit_explain_display_mode);
    textModelItem.addSelectionListener(new SelectionListener() {

        public void widgetSelected(SelectionEvent e) {
            widgetDefaultSelected(e);
        }

        public void widgetDefaultSelected(SelectionEvent e) {
            updateCompareDisplayModel(DISPLAY_TEXT);
        }
    });
    treeModelItem = new ToolItem(rightToolBar, SWT.CHECK);
    treeModelItem.setImage(CommonUIPlugin.getImage("icons/queryeditor/qe_explain_mode_tree.png"));
    treeModelItem.setToolTipText(Messages.tooltip_qedit_explain_display_mode);
    treeModelItem.addSelectionListener(new SelectionListener() {

        public void widgetSelected(SelectionEvent e) {
            widgetDefaultSelected(e);
        }

        public void widgetDefaultSelected(SelectionEvent e) {
            updateCompareDisplayModel(DISPLAY_TREE);
        }
    });
    graphModelItem = new ToolItem(rightToolBar, SWT.CHECK);
    graphModelItem.setImage(CommonUIPlugin.getImage("icons/queryeditor/qe_explain_mode_graph.png"));
    graphModelItem.setToolTipText(Messages.tooltip_qedit_explain_display_mode);
    graphModelItem.addSelectionListener(new SelectionListener() {

        public void widgetSelected(SelectionEvent e) {
            widgetDefaultSelected(e);
        }

        public void widgetDefaultSelected(SelectionEvent e) {
            updateCompareDisplayModel(DISPLAY_GRAPH);
        }
    });
    Composite tablesComposite = new Composite(composite, SWT.None);
    tablesComposite.setLayoutData(CommonUITool.createGridData(GridData.FILL_HORIZONTAL, 1, 1, -1, 60));
    tablesComposite.setLayout(new FormLayout());
    /*Left composite*/
    Composite leftTableComposite = new Composite(tablesComposite, SWT.BORDER);
    leftTableComposite.setLayout(new GridLayout());
    FormData leftTableData = new FormData();
    leftTableData.top = new FormAttachment(0, 0);
    leftTableData.bottom = new FormAttachment(100, 0);
    leftTableData.left = new FormAttachment(0, 0);
    leftTableData.right = new FormAttachment(50, -2);
    leftTableComposite.setLayoutData(leftTableData);
    /*Right composite*/
    Composite rightTableComposite = new Composite(tablesComposite, SWT.BORDER);
    rightTableComposite.setLayout(new GridLayout());
    FormData rightTabelData = new FormData();
    rightTabelData.top = new FormAttachment(0, 0);
    rightTabelData.bottom = new FormAttachment(100, 0);
    rightTabelData.left = new FormAttachment(50, 2);
    rightTabelData.right = new FormAttachment(100, 0);
    rightTableComposite.setLayoutData(rightTabelData);
    compareLeftTableViewer = new TableViewer(leftTableComposite, SWT.FULL_SELECTION);
    compareLeftTableViewer.getTable().setLayoutData(CommonUITool.createGridData(GridData.FILL_BOTH, 1, 1, -1, -1));
    compareLeftTableViewer.getTable().setHeaderVisible(true);
    compareLeftTableViewer.getTable().setLinesVisible(false);
    compareLeftTableViewer.setContentProvider(new QueryPlanContentProvider());
    compareLeftTableViewer.setLabelProvider(new QueryPlanLabelPrivoder(compareLeftTableViewer, false));
    TableColumn fetchColumnLeft = new TableColumn(compareLeftTableViewer.getTable(), SWT.None);
    fetchColumnLeft.setText(Messages.columnFetches);
    fetchColumnLeft.setWidth(60);
    TableColumn dirtyColumnLeft = new TableColumn(compareLeftTableViewer.getTable(), SWT.None);
    dirtyColumnLeft.setText(Messages.columnDirties);
    dirtyColumnLeft.setWidth(60);
    TableColumn ioReadColumnLeft = new TableColumn(compareLeftTableViewer.getTable(), SWT.None);
    ioReadColumnLeft.setText(Messages.columnIORead);
    ioReadColumnLeft.setWidth(80);
    TableColumn ioWriteColumnLeft = new TableColumn(compareLeftTableViewer.getTable(), SWT.None);
    ioWriteColumnLeft.setText(Messages.columnIOWrite);
    ioWriteColumnLeft.setWidth(80);
    TableColumn costColumnLeft = new TableColumn(compareLeftTableViewer.getTable(), SWT.None);
    costColumnLeft.setText(Messages.columnCost);
    costColumnLeft.setWidth(60);
    compareRightTableViewer = new TableViewer(rightTableComposite, SWT.FULL_SELECTION);
    compareRightTableViewer.getTable().setLayoutData(CommonUITool.createGridData(GridData.FILL_BOTH, 1, 1, -1, -1));
    compareRightTableViewer.getTable().setHeaderVisible(true);
    compareRightTableViewer.getTable().setLinesVisible(false);
    compareRightTableViewer.setContentProvider(new QueryPlanContentProvider());
    compareRightTableViewer.setLabelProvider(new QueryPlanLabelPrivoder(compareRightTableViewer, false));
    TableColumn fetchColumnRight = new TableColumn(compareRightTableViewer.getTable(), SWT.None);
    fetchColumnRight.setText(Messages.columnFetches);
    fetchColumnRight.setWidth(60);
    TableColumn dirtyColumnRight = new TableColumn(compareRightTableViewer.getTable(), SWT.None);
    dirtyColumnRight.setText(Messages.columnDirties);
    dirtyColumnRight.setWidth(60);
    TableColumn ioReadColumnRight = new TableColumn(compareRightTableViewer.getTable(), SWT.None);
    ioReadColumnRight.setText(Messages.columnIORead);
    ioReadColumnRight.setWidth(80);
    TableColumn ioWriteColumnRight = new TableColumn(compareRightTableViewer.getTable(), SWT.None);
    ioWriteColumnRight.setText(Messages.columnIOWrite);
    ioWriteColumnRight.setWidth(80);
    TableColumn costColumnRight = new TableColumn(compareRightTableViewer.getTable(), SWT.None);
    costColumnRight.setText(Messages.columnCost);
    costColumnRight.setWidth(60);
    queryPlanCompareSashForm = new SashForm(composite, SWT.VERTICAL);
    queryPlanCompareSashForm.setLayoutData(CommonUITool.createGridData(GridData.FILL_BOTH, 1, 1, -1, -1));
    queryPlanCompareSashForm.setBackground(SASH_COLOR);
    queryPlanCompareSashForm.setLayout(new GridLayout());
    queryPlanCompareSashForm.setLayoutData(CommonUITool.createGridData(GridData.FILL_BOTH, 1, 1, -1, -1));
    Composite textMergeComposite = new Composite(queryPlanCompareSashForm, SWT.None);
    textMergeComposite.setLayoutData(CommonUITool.createGridData(GridData.FILL_BOTH, 1, 1, -1, -1));
    textMergeComposite.setLayout(new FillLayout());
    textMergeConfig = new CompareConfiguration();
    textMergeConfig.setProperty(CompareConfiguration.SHOW_PSEUDO_CONFLICTS, Boolean.FALSE);
    textMergeConfig.setProperty(CompareConfiguration.IGNORE_WHITESPACE, Boolean.TRUE);
    textMergeConfig.setLeftEditable(false);
    textMergeConfig.setRightEditable(false);
    textMergeViewer = new TextMergeViewer(textMergeComposite, SWT.BORDER, textMergeConfig);
    DiffNode queryDiffNode = new DiffNode(null, Differencer.CHANGE, null, new TextCompareInput(""), new TextCompareInput(""));
    textMergeViewer.setInput(queryDiffNode);
    Composite compareQueryPlanComposite = new Composite(queryPlanCompareSashForm, SWT.None);
    compareQueryPlanComposite.setLayoutData(CommonUITool.createGridData(GridData.FILL_BOTH, 1, 1, -1, -1));
    compareQueryPlanComposite.setLayout(new FormLayout());
    DatabaseInfo databaseInfo = database == null ? null : database.getDatabaseInfo();
    leftComparePlanComposite = new QueryPlanComposite(compareQueryPlanComposite, SWT.BORDER, null, databaseInfo);
    FormData leftData = new FormData();
    leftData.top = new FormAttachment(0, 0);
    leftData.bottom = new FormAttachment(100, 0);
    leftData.left = new FormAttachment(0, 0);
    leftData.right = new FormAttachment(50, 0);
    leftComparePlanComposite.setLayoutData(leftData);
    rightComparePlanComposite = new QueryPlanComposite(compareQueryPlanComposite, SWT.BORDER, null, databaseInfo);
    FormData rightData = new FormData();
    rightData.top = new FormAttachment(0, 0);
    rightData.bottom = new FormAttachment(100, 0);
    rightData.left = new FormAttachment(50, 0);
    rightData.right = new FormAttachment(100, 0);
    rightComparePlanComposite.setLayoutData(rightData);
    queryPlanCompareSashForm.setWeights(new int[] { 100, 0 });
}
Also used : DatabaseInfo(com.cubrid.cubridmanager.core.cubrid.database.model.DatabaseInfo) CompareConfiguration(org.eclipse.compare.CompareConfiguration) Label(org.eclipse.swt.widgets.Label) DiffNode(org.eclipse.compare.structuremergeviewer.DiffNode) Combo(org.eclipse.swt.widgets.Combo) CTabItem(org.eclipse.swt.custom.CTabItem) TextMergeViewer(org.eclipse.compare.contentmergeviewer.TextMergeViewer) GridLayout(org.eclipse.swt.layout.GridLayout) SelectionEvent(org.eclipse.swt.events.SelectionEvent) TextCompareInput(com.cubrid.common.ui.compare.schema.control.TextCompareInput) FormAttachment(org.eclipse.swt.layout.FormAttachment) ToolItem(org.eclipse.swt.widgets.ToolItem) FormLayout(org.eclipse.swt.layout.FormLayout) FormData(org.eclipse.swt.layout.FormData) Composite(org.eclipse.swt.widgets.Composite) QueryPlanComposite(com.cubrid.common.ui.query.control.queryplan.QueryPlanComposite) QueryPlanComposite(com.cubrid.common.ui.query.control.queryplan.QueryPlanComposite) QueryRecord(com.cubrid.common.ui.query.tuner.QueryRecord) FillLayout(org.eclipse.swt.layout.FillLayout) TableColumn(org.eclipse.swt.widgets.TableColumn) SashForm(org.eclipse.swt.custom.SashForm) ToolBar(org.eclipse.swt.widgets.ToolBar) TableViewer(org.eclipse.jface.viewers.TableViewer) SelectionListener(org.eclipse.swt.events.SelectionListener)

Aggregations

QueryRecord (com.cubrid.common.ui.query.tuner.QueryRecord)12 ArrayList (java.util.ArrayList)7 QueryTunerJob (com.cubrid.common.ui.query.tuner.QueryTunerJob)3 TextRecordProcessor (com.cubrid.common.ui.query.tuner.TextRecordProcessor)3 IXMLMemento (com.cubrid.cubridmanager.core.common.xml.IXMLMemento)3 DateFormat (java.text.DateFormat)3 StructQueryPlan (com.cubrid.common.core.queryplan.StructQueryPlan)2 TextCompareInput (com.cubrid.common.ui.compare.schema.control.TextCompareInput)2 QueryPlanComposite (com.cubrid.common.ui.query.control.queryplan.QueryPlanComposite)2 QueryRecordProject (com.cubrid.common.ui.query.tuner.QueryRecordProject)2 DatabaseInfo (com.cubrid.cubridmanager.core.cubrid.database.model.DatabaseInfo)2 ParseException (java.text.ParseException)2 Date (java.util.Date)2 DiffNode (org.eclipse.compare.structuremergeviewer.DiffNode)2 TableViewer (org.eclipse.jface.viewers.TableViewer)2 SashForm (org.eclipse.swt.custom.SashForm)2 SelectionEvent (org.eclipse.swt.events.SelectionEvent)2 GridLayout (org.eclipse.swt.layout.GridLayout)2 Composite (org.eclipse.swt.widgets.Composite)2 TableColumn (org.eclipse.swt.widgets.TableColumn)2