Search in sources :

Example 11 with Alias

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

the class SqlexplorerService method updateConnetionAliasByName.

/*
     * (non-Javadoc)
     * 
     * @see
     * org.talend.dataprofiler.service.ISqlexplorerService#updateConnetionAliasByName(org.talend.core.model.metadata.
     * builder.connection.Connection, java.lang.String)
     */
@Override
public void updateConnetionAliasByName(Connection connection, String aliasName) {
    if (connection == null || aliasName == null) {
        return;
    }
    SQLExplorerPlugin sqlPlugin = SQLExplorerPlugin.getDefault();
    // if the ctabItem is open,close it.
    DatabaseStructureView view = sqlPlugin.findDatabaseStructureView();
    if (view != null) {
        view.closeCurrentCabItem(aliasName);
    }
    AliasManager aliasManager = sqlPlugin.getAliasManager();
    Alias alias = aliasManager.getAlias(aliasName);
    if (alias != null) {
        try {
            aliasManager.removeAlias(aliasName);
            addConnetionAliasToSQLPlugin(connection);
        } catch (Exception e) {
            log.error(e, e);
        }
    }
}
Also used : AliasManager(net.sourceforge.sqlexplorer.dbproduct.AliasManager) Alias(net.sourceforge.sqlexplorer.dbproduct.Alias) DatabaseStructureView(net.sourceforge.sqlexplorer.plugin.views.DatabaseStructureView) SQLExplorerPlugin(net.sourceforge.sqlexplorer.plugin.SQLExplorerPlugin) PartInitException(org.eclipse.ui.PartInitException) MalformedURLException(java.net.MalformedURLException)

Example 12 with Alias

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

the class SQLEditorSessionSwitcher method setSessionOptions.

private void setSessionOptions() {
    if (_sessionCombo.isDisposed()) {
        return;
    }
    _sessionCombo.removeAll();
    _sessionCombo.add("");
    int index = 0;
    User currentUser = null;
    if (_editor.getSession() != null) {
        currentUser = _editor.getSession().getUser();
    }
    for (Alias alias : SQLExplorerPlugin.getDefault().getAliasManager().getAliases()) {
        for (User user : alias.getUsers()) {
            _sessionCombo.add(user.getDescription());
            sessionIndexes.put(new Integer(index++), user);
            // MOD msjian TDQ-5927 2013-5-24: set the item identify by the username, url and connection name
            if (currentUser != null) {
                boolean isMatched = currentUser.getUserName().equals(user.getUserName()) && currentUser.getAlias().getUrl().equals(alias.getUrl());
                if (currentUser.getDatabaseConnection() != null) {
                    isMatched = isMatched && currentUser.getDatabaseConnection().getName().equals(alias.getName());
                }
                if (isMatched) {
                    _sessionCombo.select(_sessionCombo.getItemCount() - 1);
                }
            }
        }
    }
}
Also used : User(net.sourceforge.sqlexplorer.dbproduct.User) Alias(net.sourceforge.sqlexplorer.dbproduct.Alias)

Example 13 with Alias

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

the class ConnectionTreeContentProvider method getChildren.

/**
 * Return all the children
 *
 * @see org.eclipse.jface.viewers.ITreeContentProvider#getChildren(java.lang.Object)
 */
public Object[] getChildren(Object parentElement) {
    if (parentElement instanceof AliasManager) {
        AliasManager aliases = (AliasManager) parentElement;
        Object[] children = aliases.getAliases().toArray();
        return children;
    } else if (parentElement instanceof Alias) {
        Alias alias = (Alias) parentElement;
        Object[] children = alias.getUsers().toArray();
        return children;
    } else if (parentElement instanceof User) {
        User user = (User) parentElement;
        return user.getConnections().toArray();
    }
    return null;
}
Also used : AliasManager(net.sourceforge.sqlexplorer.dbproduct.AliasManager) User(net.sourceforge.sqlexplorer.dbproduct.User) Alias(net.sourceforge.sqlexplorer.dbproduct.Alias)

Example 14 with Alias

use of net.sourceforge.sqlexplorer.dbproduct.Alias 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 15 with Alias

use of net.sourceforge.sqlexplorer.dbproduct.Alias 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)

Aggregations

Alias (net.sourceforge.sqlexplorer.dbproduct.Alias)27 User (net.sourceforge.sqlexplorer.dbproduct.User)14 SQLConnection (net.sourceforge.sqlexplorer.dbproduct.SQLConnection)6 AliasManager (net.sourceforge.sqlexplorer.dbproduct.AliasManager)5 DatabaseStructureView (net.sourceforge.sqlexplorer.plugin.views.DatabaseStructureView)5 IStructuredSelection (org.eclipse.jface.viewers.IStructuredSelection)5 SQLExplorerPlugin (net.sourceforge.sqlexplorer.plugin.SQLExplorerPlugin)4 PartInitException (org.eclipse.ui.PartInitException)4 Iterator (java.util.Iterator)3 LinkedHashSet (java.util.LinkedHashSet)3 CreateAliasDlg (net.sourceforge.sqlexplorer.dialogs.CreateAliasDlg)3 MalformedURLException (java.net.MalformedURLException)2 SQLCannotConnectException (net.sourceforge.sqlexplorer.SQLCannotConnectException)2 Session (net.sourceforge.sqlexplorer.dbproduct.Session)2 OpenPasswordConnectDialogAction (net.sourceforge.sqlexplorer.plugin.actions.OpenPasswordConnectDialogAction)2 SQLEditor (net.sourceforge.sqlexplorer.plugin.editors.SQLEditor)2 SQLEditorInput (net.sourceforge.sqlexplorer.plugin.editors.SQLEditorInput)2 Menu (org.eclipse.swt.widgets.Menu)2 BufferedReader (java.io.BufferedReader)1 File (java.io.File)1