Search in sources :

Example 46 with CubridNodeChangedEvent

use of com.cubrid.common.ui.spi.event.CubridNodeChangedEvent in project cubrid-manager by CUBRID.

the class PasteQueryConnAction method run.

/**
	 * Paste the query connection
	 */
public void run() {
    Object[] objs = this.getSelectedObj();
    if (!isSupported(objs[0])) {
        setEnabled(false);
        return;
    }
    objs = null;
    ISelection selection = LocalSelectionTransfer.getTransfer().getSelection();
    if (selection instanceof IStructuredSelection) {
        IStructuredSelection strSelection = (IStructuredSelection) selection;
        objs = strSelection.toArray();
    }
    if (objs == null || objs.length == 0) {
        return;
    }
    if (!(objs[0] instanceof CubridDatabase)) {
        return;
    }
    CubridDatabase pastedDb = (CubridDatabase) objs[0];
    QueryConnDialog dialog = new QueryConnDialog(getShell(), pastedDb, true);
    int returnCode = dialog.open();
    if (returnCode == QueryConnDialog.CONNECT_ID || returnCode == QueryConnDialog.SAVE_ID) {
        CubridDatabase database = dialog.getDatabase();
        CQBDBNodePersistManager.getInstance().addDatabase(database, false);
        CubridNavigatorView navigatorView = CubridNavigatorView.getNavigatorView(CubridQueryNavigatorView.ID);
        TreeViewer treeViewer = navigatorView == null ? null : navigatorView.getViewer();
        if (treeViewer == null) {
            return;
        }
        Tree tree = treeViewer.getTree();
        TreeItem item;
        CubridGroupNode parent = getParentGroupNode();
        if (navigatorView.isShowGroup()) {
            item = new TreeItem(navigatorView.getTreeItemByData(parent), SWT.NONE);
        } else {
            item = new TreeItem(tree, SWT.NONE);
        }
        parent.addChild(database);
        CQBGroupNodePersistManager.getInstance().saveAllGroupNode();
        item.setText(database.getLabel());
        item.setData(database);
        treeViewer.refresh(database, true);
        treeViewer.expandToLevel(database, 1);
        treeViewer.setSelection(new StructuredSelection(database), true);
        if (returnCode == QueryConnDialog.CONNECT_ID) {
            CubridNodeManager.getInstance().fireCubridNodeChanged(new CubridNodeChangedEvent(database, CubridNodeChangedEventType.DATABASE_LOGIN));
        }
    }
}
Also used : TreeItem(org.eclipse.swt.widgets.TreeItem) TreeViewer(org.eclipse.jface.viewers.TreeViewer) StructuredSelection(org.eclipse.jface.viewers.StructuredSelection) IStructuredSelection(org.eclipse.jface.viewers.IStructuredSelection) IStructuredSelection(org.eclipse.jface.viewers.IStructuredSelection) CubridNodeChangedEvent(com.cubrid.common.ui.spi.event.CubridNodeChangedEvent) CubridNavigatorView(com.cubrid.common.ui.common.navigator.CubridNavigatorView) CubridGroupNode(com.cubrid.common.ui.spi.model.CubridGroupNode) ISelection(org.eclipse.jface.viewers.ISelection) Tree(org.eclipse.swt.widgets.Tree) CubridDatabase(com.cubrid.common.ui.spi.model.CubridDatabase) QueryConnDialog(com.cubrid.cubridquery.ui.connection.dialog.QueryConnDialog)

Example 47 with CubridNodeChangedEvent

use of com.cubrid.common.ui.spi.event.CubridNodeChangedEvent in project cubrid-manager by CUBRID.

the class RenameConnectionAction method doRun.

/**
	 * Perform rename Table
	 *
	 * @param cubridDatabase
	 * @param table
	 */
private void doRun(CubridDatabase database) {
    RenameConnectionDialog dlg = new RenameConnectionDialog(PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell(), database);
    int ret = dlg.open();
    if (ret == IDialogConstants.OK_ID) {
        /*Fire the database logout*/
        try {
            CubridDatabase orignDatabase = database.clone();
            CubridNodeManager.getInstance().fireCubridNodeChanged(new CubridNodeChangedEvent(orignDatabase, CubridNodeChangedEventType.DATABASE_LOGOUT));
        } catch (CloneNotSupportedException e) {
            LOGGER.error(e.getMessage());
        }
        database.setLabel(dlg.getNewName());
        database.setLogined(false);
        CubridNavigatorView navigatorView = CubridNavigatorView.getNavigatorView(CubridQueryNavigatorView.ID);
        TreeViewer treeViewer = navigatorView == null ? null : navigatorView.getViewer();
        if (treeViewer == null) {
            LOGGER.error("Error: Can't find the navigator view:" + CubridQueryNavigatorView.ID);
            return;
        }
        // Refresh the tree view
        database.removeAllChild();
        treeViewer.refresh(database, true);
        treeViewer.expandToLevel(database, 1);
        setEnabled(false);
        // Save the data
        ServerInfo preServerInfo = (database == null || database.getServer() == null) ? null : database.getServer().getServerInfo();
        QueryOptions.removePref(preServerInfo);
        CQBGroupNodePersistManager.getInstance().saveAllGroupNode();
        CQBDBNodePersistManager.getInstance().saveDatabases();
        ActionManager.getInstance().fireSelectionChanged(getSelection());
        LayoutManager.getInstance().fireSelectionChanged(getSelection());
    }
}
Also used : CubridNavigatorView(com.cubrid.common.ui.common.navigator.CubridNavigatorView) RenameConnectionDialog(com.cubrid.cubridquery.ui.connection.dialog.RenameConnectionDialog) TreeViewer(org.eclipse.jface.viewers.TreeViewer) ServerInfo(com.cubrid.cubridmanager.core.common.model.ServerInfo) CubridNodeChangedEvent(com.cubrid.common.ui.spi.event.CubridNodeChangedEvent) CubridDatabase(com.cubrid.common.ui.spi.model.CubridDatabase)

Example 48 with CubridNodeChangedEvent

use of com.cubrid.common.ui.spi.event.CubridNodeChangedEvent in project cubrid-manager by CUBRID.

the class EditQueryConnAction method run.

/**
	 * Open the query connection
	 */
public void run() {
    // TODO remove later
    CQBGroupNodePersistManager.getInstance().fix();
    Object[] obj = this.getSelectedObj();
    if (!isSupported(obj[0])) {
        setEnabled(false);
        return;
    }
    ISelectionProvider provider = getSelectionProvider();
    if (!(provider instanceof TreeViewer)) {
        return;
    }
    CubridDatabase[] cubridDatabases = handleSelectionObj(obj);
    if (cubridDatabases.length == 0) {
        return;
    }
    ConnectionInfo oldInfo = null;
    ConnectionInfo newInfo = null;
    if (cubridDatabases.length > 1) {
        MultiQueryConnEditDialog dialog = new MultiQueryConnEditDialog(getShell(), Arrays.asList(cubridDatabases));
        if (dialog.open() != MultiQueryConnEditDialog.SAVE_ID) {
            return;
        }
        List<CubridDatabase> newDBList = dialog.getNewDBList();
        for (int i = 0; i < cubridDatabases.length; i++) {
            CubridDatabase saveCubridDatabase = cubridDatabases[i];
            CubridDatabase newCubridDatabase = newDBList.get(i);
            oldInfo = CQBDBNodePersistManager.getInstance().getConnectionInfo(saveCubridDatabase);
            newInfo = CQBDBNodePersistManager.getInstance().getConnectionInfo(newCubridDatabase);
            saveCubridDatabase.setLabel(newCubridDatabase.getLabel());
            saveCubridDatabase.getDatabaseInfo().setDbName(newCubridDatabase.getDatabaseInfo().getDbName());
            saveCubridDatabase.getDatabaseInfo().getAuthLoginedDbUserInfo().setName(newCubridDatabase.getDatabaseInfo().getAuthLoginedDbUserInfo().getName());
            saveCubridDatabase.setAutoSavePassword(newCubridDatabase.isAutoSavePassword());
            if (saveCubridDatabase.isAutoSavePassword()) {
                saveCubridDatabase.getDatabaseInfo().getAuthLoginedDbUserInfo().setNoEncryptPassword(newCubridDatabase.getDatabaseInfo().getAuthLoginedDbUserInfo().getNoEncryptPassword());
            } else {
                saveCubridDatabase.getDatabaseInfo().getAuthLoginedDbUserInfo().setNoEncryptPassword(null);
            }
            saveCubridDatabase.getDatabaseInfo().setBrokerIP(newCubridDatabase.getDatabaseInfo().getBrokerIP());
            saveCubridDatabase.getDatabaseInfo().setBrokerPort(newCubridDatabase.getDatabaseInfo().getBrokerPort());
            DatabaseEditorConfig editorConfig = QueryOptions.getEditorConfig(saveCubridDatabase, false);
            if (editorConfig == null) {
                editorConfig = new DatabaseEditorConfig();
                editorConfig.setBackGround(EditorConstance.getDefaultBackground());
            } else if (editorConfig.getBackGround() == null) {
                editorConfig.setBackGround(EditorConstance.getDefaultBackground());
            }
            if (newCubridDatabase.getData(MultiQueryConnEditDialog.COMMENTKEY) != null) {
                editorConfig.setDatabaseComment((String) newCubridDatabase.getData(MultiQueryConnEditDialog.COMMENTKEY));
            }
            QueryOptions.putEditorConfig(saveCubridDatabase, editorConfig, false);
            CQBDBNodePersistManager.getInstance().fireModifyDatabase(oldInfo, newInfo);
            boolean isContinue = CQBConnectionUtils.processConnectionLogout(saveCubridDatabase);
            if (isContinue) {
                TreeViewer viewer = (TreeViewer) provider;
                viewer.refresh(saveCubridDatabase, true);
                CubridNodeManager.getInstance().fireCubridNodeChanged(new CubridNodeChangedEvent(saveCubridDatabase, CubridNodeChangedEventType.DATABASE_LOGOUT));
            }
        }
        LayoutManager.getInstance().fireSelectionChanged(getSelection());
        ActionManager.getInstance().fireSelectionChanged(getSelection());
        CQBGroupNodePersistManager.getInstance().saveAllGroupNode();
        CQBDBNodePersistManager.getInstance().saveDatabases();
        return;
    }
    CubridDatabase database = (CubridDatabase) cubridDatabases[0];
    if (database.getParent() == null) {
        CQBGroupNodePersistManager.getInstance();
    }
    String preName = (database == null || database.getServer() == null) ? "" : database.getServer().getName();
    ServerInfo preServerInfo = (database == null || database.getServer() == null) ? null : database.getServer().getServerInfo();
    oldInfo = CQBDBNodePersistManager.getInstance().getConnectionInfo(database);
    QueryConnDialog dialog = new QueryConnDialog(getShell(), database, false);
    int returnCode = dialog.open();
    if (returnCode == QueryConnDialog.CONNECT_ID) {
        database.removeAllChild();
        newInfo = CQBDBNodePersistManager.getInstance().getConnectionInfo(database);
        TreeViewer treeViewer = (TreeViewer) provider;
        CQBGroupNodePersistManager.getInstance().saveAllGroupNode();
        CQBDBNodePersistManager.getInstance().saveDatabases();
        if (!preName.equals(database.getServer().getName())) {
            QueryOptions.removePref(preServerInfo);
        }
        treeViewer.refresh(database, true);
        treeViewer.expandToLevel(database, 1);
        ActionManager.getInstance().fireSelectionChanged(getSelection());
        LayoutManager.getInstance().fireSelectionChanged(getSelection());
        if (dialog.isFireLogoutEvent()) {
            CubridNodeManager.getInstance().fireCubridNodeChanged(new CubridNodeChangedEvent(database, CubridNodeChangedEventType.DATABASE_LOGOUT));
        }
        CubridNodeManager.getInstance().fireCubridNodeChanged(new CubridNodeChangedEvent(database, CubridNodeChangedEventType.DATABASE_LOGIN));
        CQBDBNodePersistManager.getInstance().fireModifyDatabase(oldInfo, newInfo);
        try {
            CommonUITool.openQueryEditor(database, true);
        } catch (PartInitException e) {
            LOGGER.error(e.getMessage(), e);
        }
    } else if (returnCode == QueryConnDialog.SAVE_ID) {
        TreeViewer treeViewer = (TreeViewer) provider;
        treeViewer.refresh(database, true);
        treeViewer.expandToLevel(database, 1);
        CQBGroupNodePersistManager.getInstance().saveAllGroupNode();
        CQBDBNodePersistManager.getInstance().saveDatabases();
    }
}
Also used : TreeViewer(org.eclipse.jface.viewers.TreeViewer) MultiQueryConnEditDialog(com.cubrid.cubridquery.ui.connection.dialog.MultiQueryConnEditDialog) ServerInfo(com.cubrid.cubridmanager.core.common.model.ServerInfo) CubridNodeChangedEvent(com.cubrid.common.ui.spi.event.CubridNodeChangedEvent) ISelectionProvider(org.eclipse.jface.viewers.ISelectionProvider) ConnectionInfo(com.cubrid.common.ui.common.persist.ConnectionInfo) PartInitException(org.eclipse.ui.PartInitException) CubridDatabase(com.cubrid.common.ui.spi.model.CubridDatabase) DatabaseEditorConfig(com.cubrid.common.ui.spi.model.DatabaseEditorConfig) QueryConnDialog(com.cubrid.cubridquery.ui.connection.dialog.QueryConnDialog)

Example 49 with CubridNodeChangedEvent

use of com.cubrid.common.ui.spi.event.CubridNodeChangedEvent in project cubrid-manager by CUBRID.

the class CreateSerialAction method run.

/**
	 * run create serial
	 * @param database
	 */
public void run(CubridDatabase database) {
    CreateOrEditSerialDialog dialog = new CreateOrEditSerialDialog(getShell(), true);
    dialog.setDatabase(database);
    ISelectionProvider provider = getSelectionProvider();
    if (dialog.open() == IDialogConstants.OK_ID && (provider instanceof TreeViewer)) {
        TreeViewer treeViewer = (TreeViewer) provider;
        ICubridNode folderNode = database.getChild(database.getId() + ICubridNodeLoader.NODE_SEPARATOR + CubridSerialFolderLoader.SERIAL_FOLDER_ID);
        if (folderNode == null || !folderNode.getLoader().isLoaded()) {
            return;
        }
        // FIXME move this logic to core module
        String serialName = dialog.getSerialName().toLowerCase(Locale.getDefault());
        DbUserInfo userInfo = database.getDatabaseInfo().getAuthLoginedDbUserInfo();
        String id = folderNode.getId() + ICubridNodeLoader.NODE_SEPARATOR + serialName;
        SerialInfo serialInfo = new SerialInfo();
        serialInfo.setName(serialName);
        serialInfo.setOwner(userInfo.getName());
        ICubridNode newNode = CubridSerialFolderLoader.createSerialNode(id, serialInfo);
        CommonUITool.addNodeToTree(treeViewer, folderNode, newNode);
        CommonUITool.updateFolderNodeLabelIncludingChildrenCount(treeViewer, folderNode);
        CubridNodeManager.getInstance().fireCubridNodeChanged(new CubridNodeChangedEvent(newNode, CubridNodeChangedEventType.NODE_ADD));
    }
}
Also used : CreateOrEditSerialDialog(com.cubrid.common.ui.cubrid.serial.dialog.CreateOrEditSerialDialog) DbUserInfo(com.cubrid.cubridmanager.core.cubrid.user.model.DbUserInfo) ISelectionProvider(org.eclipse.jface.viewers.ISelectionProvider) TreeViewer(org.eclipse.jface.viewers.TreeViewer) ICubridNode(com.cubrid.common.ui.spi.model.ICubridNode) CubridNodeChangedEvent(com.cubrid.common.ui.spi.event.CubridNodeChangedEvent) SerialInfo(com.cubrid.common.core.common.model.SerialInfo)

Example 50 with CubridNodeChangedEvent

use of com.cubrid.common.ui.spi.event.CubridNodeChangedEvent in project cubrid-manager by CUBRID.

the class CreateLikeTableAction method doRun.

/**
	 * Do run
	 *
	 * @param node
	 */
private void doRun(ISchemaNode node) {
    CreateLikeTableDialog dialog = new CreateLikeTableDialog(getShell());
    dialog.setDatabase(node.getDatabase());
    if (NodeType.USER_TABLE.equals(node.getType())) {
        String tableName = node.getName();
        dialog.setLikeTableName(tableName);
    }
    if (IDialogConstants.OK_ID == dialog.open()) {
        // FIXME
        TreeViewer treeViewer = CubridNavigatorView.findNavigationView().getViewer();
        String tableName = dialog.getNewTableName();
        ICubridNode newNode = null;
        if (NodeType.USER_TABLE.equals(node.getType())) {
            ClassInfo classInfo = (ClassInfo) node.getAdapter(ClassInfo.class);
            String id = node.getParent().getId() + ICubridNodeLoader.NODE_SEPARATOR + tableName;
            ClassInfo newClassInfo = new ClassInfo(tableName, null, ClassType.NORMAL, classInfo.isSystemClass(), classInfo.isPartitionedClass());
            newNode = CubridTablesFolderLoader.createUserTableNode(node.getParent(), id, newClassInfo, node.getParent().getLoader().getLevel(), new NullProgressMonitor());
            if (node.getDatabase().getDatabaseInfo().getUserTableInfoList() != null) {
                node.getDatabase().getDatabaseInfo().getUserTableInfoList().add(newClassInfo);
            }
            CommonUITool.addNodeToTree(treeViewer, node.getParent(), newNode);
        } else {
            if (node == null || !node.getLoader().isLoaded()) {
                return;
            }
            String id = node.getId() + ICubridNodeLoader.NODE_SEPARATOR + tableName;
            ClassInfo newClassInfo = new ClassInfo(tableName, null, ClassType.NORMAL, false, false);
            newNode = CubridTablesFolderLoader.createUserTableNode(node, id, newClassInfo, node.getLoader().getLevel(), new NullProgressMonitor());
            CommonUITool.addNodeToTree(treeViewer, node, newNode);
        }
        CubridNodeManager.getInstance().fireCubridNodeChanged(new CubridNodeChangedEvent(newNode, CubridNodeChangedEventType.NODE_ADD));
    }
}
Also used : NullProgressMonitor(org.eclipse.core.runtime.NullProgressMonitor) CreateLikeTableDialog(com.cubrid.common.ui.cubrid.table.dialog.CreateLikeTableDialog) TreeViewer(org.eclipse.jface.viewers.TreeViewer) ICubridNode(com.cubrid.common.ui.spi.model.ICubridNode) CubridNodeChangedEvent(com.cubrid.common.ui.spi.event.CubridNodeChangedEvent) ClassInfo(com.cubrid.cubridmanager.core.cubrid.table.model.ClassInfo)

Aggregations

CubridNodeChangedEvent (com.cubrid.common.ui.spi.event.CubridNodeChangedEvent)98 ICubridNode (com.cubrid.common.ui.spi.model.ICubridNode)55 TreeViewer (org.eclipse.jface.viewers.TreeViewer)45 CubridDatabase (com.cubrid.common.ui.spi.model.CubridDatabase)42 ServerInfo (com.cubrid.cubridmanager.core.common.model.ServerInfo)23 DatabaseInfo (com.cubrid.cubridmanager.core.cubrid.database.model.DatabaseInfo)23 CubridNavigatorView (com.cubrid.common.ui.common.navigator.CubridNavigatorView)21 ISchemaNode (com.cubrid.common.ui.spi.model.ISchemaNode)21 DefaultSchemaNode (com.cubrid.common.ui.spi.model.DefaultSchemaNode)17 ISelectionProvider (org.eclipse.jface.viewers.ISelectionProvider)17 ArrayList (java.util.ArrayList)13 DefaultCubridNode (com.cubrid.common.ui.spi.model.DefaultCubridNode)11 ExecTaskWithProgress (com.cubrid.common.ui.spi.progress.ExecTaskWithProgress)10 TaskExecutor (com.cubrid.common.ui.spi.progress.TaskExecutor)10 ClassInfo (com.cubrid.cubridmanager.core.cubrid.table.model.ClassInfo)10 Display (org.eclipse.swt.widgets.Display)10 CubridServer (com.cubrid.common.ui.spi.model.CubridServer)9 ServerUserInfo (com.cubrid.cubridmanager.core.common.model.ServerUserInfo)9 DbUserInfo (com.cubrid.cubridmanager.core.cubrid.user.model.DbUserInfo)9 ICubridNodeLoader (com.cubrid.common.ui.spi.model.ICubridNodeLoader)8