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);
}
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;
}
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();
}
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();
}
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);
}
}
Aggregations