Search in sources :

Example 16 with User

use of net.sourceforge.sqlexplorer.dbproduct.User in project tdq-studio-se by Talend.

the class ConnectionsView method createPartControl.

/**
 * @see org.eclipse.ui.IWorkbenchPart#createPartControl(org.eclipse.swt.widgets.Composite)
 */
@Override
public void createPartControl(Composite parent) {
    // $NON-NLS-1$
    PlatformUI.getWorkbench().getHelpSystem().setHelp(parent, SQLExplorerPlugin.PLUGIN_ID + ".AliasView");
    SQLExplorerPlugin.getDefault().getAliasManager().addListener(this);
    // create outline
    _treeViewer = new TreeViewer(parent, SWT.V_SCROLL | SWT.H_SCROLL | SWT.MULTI);
    getSite().setSelectionProvider(_treeViewer);
    // create action bar
    IToolBarManager toolBarMgr = getViewSite().getActionBars().getToolBarManager();
    // PTODO qzhang delete the Context meun in the Connections View for feature 3519.
    // toolBarMgr.add(new NewAliasAction());
    // toolBarMgr.add(new NewEditorAction());
    // toolBarMgr.add(new NewDatabaseStructureViewAction());
    // toolBarMgr.add(new CloseAllConnectionsAction());
    // toolBarMgr.add(new CloseConnectionAction());
    // use hash lookup to improve performance
    _treeViewer.setUseHashlookup(true);
    // add content and label provider
    _treeViewer.setContentProvider(new ConnectionTreeContentProvider());
    _treeViewer.setLabelProvider(new ConnectionTreeLabelProvider());
    // Add yyi 2010-09-15 14549: hide connections in SQL Explorer when a connection is moved to the trash bin
    _treeViewer.addFilter(new ViewerFilter() {

        @Override
        public boolean select(Viewer viewer, Object parentElement, Object element) {
            try {
                IFile file = SQLExplorerPlugin.getDefault().getPropertyFile().get(element);
                if (null != file && file.exists()) {
                    // $NON-NLS-1$
                    return !FileUtils.readFileToString(file.getLocation().toFile()).contains("deleted=\"true\"");
                }
            } catch (Exception e) {
                e.printStackTrace();
            }
            return true;
        }
    });
    // ~
    // set input session
    _treeViewer.setInput(SQLExplorerPlugin.getDefault().getAliasManager());
    // doubleclick on alias opens session
    _treeViewer.addDoubleClickListener(new IDoubleClickListener() {

        public void doubleClick(DoubleClickEvent event) {
            IStructuredSelection selection = (IStructuredSelection) event.getSelection();
            if (selection != null) {
                User user = null;
                Object selected = selection.getFirstElement();
                if (selected instanceof Alias) {
                    Alias alias = (Alias) selection.getFirstElement();
                    user = alias.getDefaultUser();
                } else if (selected instanceof User) {
                    user = (User) selected;
                } else if (selected instanceof SQLConnection) {
                    user = ((SQLConnection) selected).getUser();
                }
                if (user != null) {
                    openNewEditor(user);
                }
            }
        }
    });
    _treeViewer.addSelectionChangedListener(new ISelectionChangedListener() {

        public void selectionChanged(SelectionChangedEvent event) {
            refreshToolbar();
        }
    });
    // add context menu
    final ConnectionTreeActionGroup actionGroup = new ConnectionTreeActionGroup();
    // $NON-NLS-1$
    MenuManager menuManager = new MenuManager("ConnectionTreeContextMenu");
    menuManager.setRemoveAllWhenShown(true);
    Menu contextMenu = menuManager.createContextMenu(_treeViewer.getTree());
    _treeViewer.getTree().setMenu(contextMenu);
    menuManager.addMenuListener(new IMenuListener() {

        public void menuAboutToShow(IMenuManager manager) {
            actionGroup.fillContextMenu(manager);
        }
    });
    _treeViewer.expandToLevel(2);
    parent.layout();
    SQLExplorerPlugin.getDefault().startDefaultConnections(this);
}
Also used : IFile(org.eclipse.core.resources.IFile) User(net.sourceforge.sqlexplorer.dbproduct.User) ViewerFilter(org.eclipse.jface.viewers.ViewerFilter) TreeViewer(org.eclipse.jface.viewers.TreeViewer) SQLConnection(net.sourceforge.sqlexplorer.dbproduct.SQLConnection) ISelectionChangedListener(org.eclipse.jface.viewers.ISelectionChangedListener) Viewer(org.eclipse.jface.viewers.Viewer) TreeViewer(org.eclipse.jface.viewers.TreeViewer) DoubleClickEvent(org.eclipse.jface.viewers.DoubleClickEvent) SelectionChangedEvent(org.eclipse.jface.viewers.SelectionChangedEvent) IStructuredSelection(org.eclipse.jface.viewers.IStructuredSelection) PartInitException(org.eclipse.ui.PartInitException) SQLCannotConnectException(net.sourceforge.sqlexplorer.SQLCannotConnectException) IMenuListener(org.eclipse.jface.action.IMenuListener) IToolBarManager(org.eclipse.jface.action.IToolBarManager) Alias(net.sourceforge.sqlexplorer.dbproduct.Alias) IDoubleClickListener(org.eclipse.jface.viewers.IDoubleClickListener) MenuManager(org.eclipse.jface.action.MenuManager) IMenuManager(org.eclipse.jface.action.IMenuManager) Menu(org.eclipse.swt.widgets.Menu) IMenuManager(org.eclipse.jface.action.IMenuManager)

Example 17 with User

use of net.sourceforge.sqlexplorer.dbproduct.User in project tdq-studio-se by Talend.

the class ConnectionsView method getSelectedUsers.

/**
 * Returns a list of selected Users; if recurse is true, indirectly selected users are included also (eg a session's
 * user)
 *
 * @param recurse
 * @return Set of Users, never returns null
 */
public Set<User> getSelectedUsers(boolean recurse) {
    IStructuredSelection selection = (IStructuredSelection) _treeViewer.getSelection();
    if (selection == null) {
        return EMPTY_USERS;
    }
    LinkedHashSet<User> result = new LinkedHashSet<User>();
    Iterator iter = selection.iterator();
    while (iter.hasNext()) {
        Object obj = iter.next();
        if (obj instanceof User) {
            result.add((User) obj);
        } else if (recurse) {
            if (obj instanceof Alias) {
                Alias alias = (Alias) obj;
                result.addAll(alias.getUsers());
            } else if (obj instanceof SQLConnection) {
                SQLConnection connection = (SQLConnection) obj;
                result.add(connection.getUser());
            }
        }
    }
    return result;
}
Also used : LinkedHashSet(java.util.LinkedHashSet) User(net.sourceforge.sqlexplorer.dbproduct.User) Alias(net.sourceforge.sqlexplorer.dbproduct.Alias) SQLConnection(net.sourceforge.sqlexplorer.dbproduct.SQLConnection) Iterator(java.util.Iterator) IStructuredSelection(org.eclipse.jface.viewers.IStructuredSelection)

Example 18 with User

use of net.sourceforge.sqlexplorer.dbproduct.User in project tdq-studio-se by Talend.

the class NewEditorAction method run.

public void run() {
    Set<User> users = getView().getSelectedUsers(true);
    for (User user : users) getView().openNewEditor(user);
    getView().refresh();
}
Also used : User(net.sourceforge.sqlexplorer.dbproduct.User)

Example 19 with User

use of net.sourceforge.sqlexplorer.dbproduct.User in project tdq-studio-se by Talend.

the class ConnectAliasAction method run.

public void run() {
    Set<User> users = getView().getSelectedUsers(true);
    for (User user : users) {
        OpenPasswordConnectDialogAction openDlgAction = new OpenPasswordConnectDialogAction(user.getAlias(), user, false);
        openDlgAction.run();
    }
    getView().refresh();
}
Also used : User(net.sourceforge.sqlexplorer.dbproduct.User) OpenPasswordConnectDialogAction(net.sourceforge.sqlexplorer.plugin.actions.OpenPasswordConnectDialogAction)

Example 20 with User

use of net.sourceforge.sqlexplorer.dbproduct.User in project tdq-studio-se by Talend.

the class SqlexplorerService method runInDQViewer.

/**
 * open the sql editor and run it.
 *
 * @param alias
 * @param databaseConnection
 * @param lEditorName
 * @param query
 */
private void runInDQViewer(Alias alias, DatabaseConnection databaseConnection, String lEditorName, String query) {
    String url = JavaSqlFactory.getURL(databaseConnection);
    String username = JavaSqlFactory.getUsername(databaseConnection);
    String password = JavaSqlFactory.getPassword(databaseConnection);
    // $NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
    SQLEditorInput input = new SQLEditorInput("SQL Editor (" + alias.getName() + "." + lEditorName + ").sql");
    User user = alias.getUser(username);
    if (PluginConstant.EMPTY_STRING.equals(username)) {
        // get the user both the dbtype and username are the same.
        if (!alias.getUrl().equals(url)) {
            user = new net.sourceforge.sqlexplorer.dbproduct.User(username, password);
            user.setAlias(alias);
            alias.addUser(user);
        }
    } else {
        if (user == null) {
            user = alias.getDefaultUser();
        }
    }
    alias.setDefaultUser(user);
    // create the hive connection
    if (databaseConnection != null) {
        user.setDatabaseConnection(databaseConnection);
        // if ManagedDriver class is not Loaded,check if it lack jars then update the realted jar.
        updateDriverIfClassNotLoad(databaseConnection);
    }
    input.setUser(user);
    // TDQ-9533 append a "limit X" in sql query for vertica database.
    if (EDatabaseTypeName.VERTICA.getProduct().equals(databaseConnection.getProductId())) {
        String maxPref = SQLExplorerPlugin.getDefault().getPreferenceStore().getString(IConstants.MAX_SQL_ROWS);
        int maxNum = maxPref == null ? 100 : Integer.parseInt(maxPref);
        query = query + " limit " + maxNum;
    }
    IWorkbenchPage page = SQLExplorerPlugin.getDefault().getActivePage();
    try {
        SQLEditor editorPart = (SQLEditor) page.openEditor(input, SQLEditor.class.getName());
        editorPart.setText(query);
        new ExecSQLAction(editorPart).run();
    } catch (PartInitException e) {
        log.error(e, e);
    }
}
Also used : SQLEditorInput(net.sourceforge.sqlexplorer.plugin.editors.SQLEditorInput) SQLEditor(net.sourceforge.sqlexplorer.plugin.editors.SQLEditor) User(net.sourceforge.sqlexplorer.dbproduct.User) ExecSQLAction(net.sourceforge.sqlexplorer.sqleditor.actions.ExecSQLAction) User(net.sourceforge.sqlexplorer.dbproduct.User) IWorkbenchPage(org.eclipse.ui.IWorkbenchPage) PartInitException(org.eclipse.ui.PartInitException)

Aggregations

User (net.sourceforge.sqlexplorer.dbproduct.User)28 Alias (net.sourceforge.sqlexplorer.dbproduct.Alias)14 SQLConnection (net.sourceforge.sqlexplorer.dbproduct.SQLConnection)7 IStructuredSelection (org.eclipse.jface.viewers.IStructuredSelection)4 Iterator (java.util.Iterator)3 LinkedHashSet (java.util.LinkedHashSet)3 ConnectionsView (net.sourceforge.sqlexplorer.connections.ConnectionsView)3 SessionEstablishedAdapter (net.sourceforge.sqlexplorer.connections.SessionEstablishedAdapter)3 ManagedDriver (net.sourceforge.sqlexplorer.dbproduct.ManagedDriver)3 Session (net.sourceforge.sqlexplorer.dbproduct.Session)3 OpenPasswordConnectDialogAction (net.sourceforge.sqlexplorer.plugin.actions.OpenPasswordConnectDialogAction)3 SQLCannotConnectException (net.sourceforge.sqlexplorer.SQLCannotConnectException)2 AliasManager (net.sourceforge.sqlexplorer.dbproduct.AliasManager)2 EditUserDlg (net.sourceforge.sqlexplorer.dialogs.EditUserDlg)2 SQLEditor (net.sourceforge.sqlexplorer.plugin.editors.SQLEditor)2 SQLEditorInput (net.sourceforge.sqlexplorer.plugin.editors.SQLEditorInput)2 DatabaseStructureView (net.sourceforge.sqlexplorer.plugin.views.DatabaseStructureView)2 PartAdapter2 (net.sourceforge.sqlexplorer.util.PartAdapter2)2 SelectionAdapter (org.eclipse.swt.events.SelectionAdapter)2 SelectionEvent (org.eclipse.swt.events.SelectionEvent)2