_treeAPI.addExpander(DatabaseObjectType.SESSION, new SessionExpander(_objectTypes)); _treeAPI.addExpander(_objectTypes.getUserParent(), new UserParentExpander(this)); _treeAPI.addDetailTab(DatabaseObjectType.SESSION, new DatabaseStatusTab()); _treeAPI.addDetailTab(DatabaseObjectType.SESSION, new ProcessesTab()); _treeAPI.addDetailTab(DatabaseObjectType.SESSION, new ShowVariablesTab()); _treeAPI.addDetailTab(DatabaseObjectType.SESSION, new ShowLogsTab()); _treeAPI.addDetailTab(DatabaseObjectType.SESSION, new ShowMasterStatusTab()); _treeAPI.addDetailTab(DatabaseObjectType.SESSION, new ShowMasterLogsTab()); _treeAPI.addDetailTab(DatabaseObjectType.SESSION, new ShowSlaveStatusTab()); _treeAPI.addDetailTab(DatabaseObjectType.CATALOG, new OpenTablesTab()); _treeAPI.addDetailTab(DatabaseObjectType.CATALOG, new TableStatusTab()); _treeAPI.addDetailTab(DatabaseObjectType.TABLE, new ShowColumnsTab()); _treeAPI.addDetailTab(DatabaseObjectType.TABLE, new ShowIndexesTab()); _treeAPI.addDetailTab(DatabaseObjectType.USER, new UserGrantsTab()); _treeAPI.addToPopup(coll.get(CreateDatabaseAction.class)); _treeAPI.addToPopup(DatabaseObjectType.CATALOG, coll.get(DropDatabaseAction.class)); _treeAPI.addToPopup(DatabaseObjectType.TABLE, createMysqlTableMenu()); _treeAPI.refreshTree();
/** * Copy to clipboard. */ public void execute() { final StringBuffer buf = new StringBuffer(100); final IDatabaseObjectInfo[] dbObjs = _api.getSelectedDatabaseObjects(); // Get all the selected object names and place in a comma separated list. for (int i = 0; i < dbObjs.length; i++) { final IDatabaseObjectInfo doi = dbObjs[i]; final String name = _copyType == ICopyTypes.SIMPLE_NAME ? doi.getSimpleName() : doi.getQualifiedName(); buf.append(name).append(", "); } if (buf.length() > 0) { buf.setLength(buf.length() - 2); // Remove trailing ", ". Clipboard clip = Toolkit.getDefaultToolkit().getSystemClipboard(); StringSelection data = new StringSelection(buf.toString()); clip.setContents(data, data); } } }
public void actionPerformed(ActionEvent evt) { if (_session != null) { IPlugin plugin = _session.getApplication().getDummyAppPlugin(); IObjectTreeAPI treeAPI = _session.getSessionInternalFrame().getObjectTreeAPI(); IDatabaseObjectInfo[] dbs = treeAPI.getSelectedDatabaseObjects(); ObjectTreeNode[] nodes = treeAPI.getSelectedNodes(); if (dbs.length > 0) new ShrinkDatabaseCommand(_session, _plugin, dbs).execute(); } }
/** * Since the catalog has changed, it is necessary to reload the schema info and expand the tables node * in the tree. Saves the user a few clicks. * * @param session * the session whose ObjectTreePanel should be updated * @param selectedCatalog * the catalog that was selected. */ private void expandTablesForCatalog(ISession session, String selectedCatalog) { IObjectTreeAPI api = session.getObjectTreeAPIOfActiveSessionWindow(); api.refreshTree(true); if (api.selectInObjectTree(selectedCatalog, null, new FilterMatcher("TABLE", null))) { ObjectTreeNode[] nodes = api.getSelectedNodes(); if (nodes.length > 0) { ObjectTreeNode tableNode = nodes[0]; // send a tree expansion event to the object tree api.expandNode(tableNode); } } } }
private void updateObjectTree(final IObjectTreeAPI objTree) { // ////// Object Tree Expanders //////// // Schema Expander - external tables objTree.addExpander(DatabaseObjectType.SCHEMA, new SchemaExpander(new GreenplumExtTableInodeExpanderFactory(), DatabaseObjectType.TABLE_TYPE_DBO)); objTree.addDetailTab(DatabaseObjectType.TABLE_TYPE_DBO, new GreenplumExternalTableDetailsTab()); }
private void updateTreeApi(ISession iSession) { _treeAPI = iSession.getSessionInternalFrame().getObjectTreeAPI(); _treeAPI.addToPopup(DatabaseObjectType.CATALOG, addToMssqlCatalogMenu(null)); _treeAPI.addToPopup(DatabaseObjectType.TABLE, addToMssqlTableMenu(null)); _treeAPI.addToPopup(DatabaseObjectType.PROCEDURE, addToMssqlProcedureMenu(null)); _treeAPI.addDetailTab(DatabaseObjectType.VIEW, new ViewSourceTab()); _session = iSession; TableWithChildNodesExpander trigExp = new TableWithChildNodesExpander(); trigExp.setTableTriggerExtractor(new MssqlTableTriggerExtractorImpl()); _treeAPI.addExpander(DatabaseObjectType.TABLE, trigExp); _treeAPI.addDetailTab(DatabaseObjectType.TRIGGER, new TriggerDetailsTab()); _treeAPI.addDetailTab(DatabaseObjectType.TRIGGER, new TriggerSourceTab("The source of the trigger")); MonitorPanel monitorPanel = new MonitorPanel(); iSession.addMainTab(monitorPanel); }
IDatabaseObjectInfo[] catalogs = _tree.getSelectedDatabaseObjects(); if (catalogs.length == 1) try new SetDefaultCatalogCommand(_tree.getSession(), catalog).execute(); _tree.getSession().showErrorMessage(th); s_log.error("Error occured setting session catalog to " + catalog, th); _tree.getSession().getApplication().showErrorDialog("Must select a single catalog");
private void addMenusToObjectTree(IObjectTreeAPI api) { api.addToPopup(DatabaseObjectType.TABLE_TYPE_DBO, _tableNodeMenu); api.addToPopup(DatabaseObjectType.TABLE, _tableObjectMenu); api.addToPopup(DatabaseObjectType.INDEX, _indexObjectMenu); api.addToPopup(DatabaseObjectType.VIEW, _viewObjectMenu); api.addToPopup(DatabaseObjectType.SEQUENCE_TYPE_DBO, _sequenceNodeMenu); api.addToPopup(DatabaseObjectType.SEQUENCE, _sequenceObjectMenu); if (_sessionNodeMenu != null) { api.addToPopup(DatabaseObjectType.SESSION, _sessionNodeMenu); } }
public void actionPerformed(ActionEvent evt) { if (_session != null) { IPlugin plugin = _session.getApplication().getDummyAppPlugin(); IObjectTreeAPI treeAPI = _session.getSessionInternalFrame().getObjectTreeAPI(); IDatabaseObjectInfo[] dbs = treeAPI.getSelectedDatabaseObjects(); ObjectTreeNode[] nodes = treeAPI.getSelectedNodes(); if (dbs.length > 0) { if (Dialogs.showYesNo(_session.getSessionSheet(), MSG, TITLE)) { try { new DropDatabaseCommand(_session, _plugin, dbs).execute(); treeAPI.removeNodes(nodes); } catch (Throwable th) { _session.showErrorMessage(th); } } } } }
/** * Ctor. * * @param session * Current session.. * @param tables * Array of <TT>IDatabaseObjectInfo</TT> objects representing the tables to be deleted. * @throws IllegalArgumentException * Thrown if a <TT>null</TT> <TT>ISession</TT> passed. */ public DeleteTablesCommand(IObjectTreeAPI tree, List<ITableInfo> tables) { super(); if (tree == null) { throw new IllegalArgumentException("ISession == null"); } if (tables == null) { throw new IllegalArgumentException("IDatabaseObjectInfo[] == null"); } _session = tree.getSession(); _tree = tree; _tables = tables; }
(ContentsTab)_objectTree.getTabbedPaneIfSelected( _objectInfo.getDatabaseObjectType(), ContentsTab.getContentsTabTitle()); _objectTree.getSession().showMessage(msg);
_treeAPI.addDetailTab(DatabaseObjectType.SESSION, new SupportedRefactoringsTab(session)); } catch (Exception e) { e.printStackTrace();
public void showInWindowBesidesObjectTree() { _session.selectMainTab(ISession.IMainPanelTabIndexes.OBJECT_TREE_TAB); Component detailTabComp = _session.getObjectTreeAPIOfActiveSessionWindow().getDetailTabComp(); Point locOnScreen = GUIUtils.getScreenLocationFor(detailTabComp); Rectangle bounds = new Rectangle(locOnScreen.x, locOnScreen.y, detailTabComp.getWidth(), detailTabComp.getHeight()); toWindowAtBounds(bounds); }
/** * Drop selected tables in the object tree. */ public void actionPerformed(ActionEvent e) { if (_tree != null) { List<ITableInfo> tables = _tree.getSelectedTables(); if (tables.size() > 0) { if (Dialogs.showYesNo(getApplication().getMainFrame(), MSG, TITLE)) { DeleteTablesCommand command = new DeleteTablesCommand(_tree, tables); command.execute(); } } } } }
removeActionsOfType(coll,ShrinkDatabaseFileAction.class); final ObjectTreeNode[] nodes = _treeAPI.getSelectedNodes(); if (nodes.length != 1) return;
IDatabaseObjectInfo[] catalogs = _tree.getSelectedDatabaseObjects(); if (catalogs.length == 1) try new SetDefaultCatalogCommand(_tree.getSession(), catalog).execute(); _tree.getSession().showErrorMessage(th); s_log.error("Error occured setting session catalog to " + catalog, th); _tree.getSession().getApplication().showErrorDialog("Must select a single catalog");
otApi.addToPopup(DatabaseObjectType.VIEW, new ScriptSybaseASEViewAction(getApplication(), _resources, session)); otApi.addToPopup(DatabaseObjectType.PROCEDURE, new ScriptSybaseASEProcedureAction(getApplication(), _resources, session)); otApi.addDetailTab(DatabaseObjectType.VIEW, new ViewSourceTab(i18n.SHOW_VIEW_SOURCE, stmtSep)); tableExp.setTableIndexExtractor(new SybaseTableIndexExtractorImpl()); tableExp.setTableTriggerExtractor(new SybaseTableTriggerExtractorImpl()); otApi.addExpander(DatabaseObjectType.TABLE, tableExp); otApi.addDetailTab(DatabaseObjectType.INDEX, new DatabaseObjectInfoTab()); otApi.addDetailTab(DatabaseObjectType.TRIGGER, new DatabaseObjectInfoTab()); otApi.addDetailTab(DatabaseObjectType.TRIGGER_TYPE_DBO, new DatabaseObjectInfoTab()); otApi.addDetailTab(DatabaseObjectType.TRIGGER, new TriggerSourceTab(i18n.TRIGGER_HINT, stmtSep));
private void addToPopup(IObjectTreeAPI api, ActionCollection coll) { // Uses menu.dbdiff.* in dbdiff.properties final JMenu dbdiffMenu = _resources.createMenu("dbdiff"); final JMenuItem selectItem = new JMenuItem(coll.get(SelectAction.class)); final JMenuItem compareItem = new JMenuItem(coll.get(CompareAction.class)); dbdiffMenu.add(selectItem); dbdiffMenu.add(compareItem); api.addToPopup(DatabaseObjectType.CATALOG, dbdiffMenu); api.addToPopup(DatabaseObjectType.SCHEMA, dbdiffMenu); api.addToPopup(DatabaseObjectType.TABLE_TYPE_DBO, dbdiffMenu); api.addToPopup(DatabaseObjectType.TABLE, dbdiffMenu); }
/** * Add Informix-specific tabs when an informix session is started. * @param session */ private void updateTreeApi(ISession session) { _treeAPI = session.getSessionInternalFrame().getObjectTreeAPI(); _treeAPI.addDetailTab(DatabaseObjectType.PROCEDURE, new ProcedureSourceTab(i18n.SHOW_PROCEDURE_SOURCE)); _treeAPI.addDetailTab(DatabaseObjectType.VIEW, new ViewSourceTab(i18n.SHOW_VIEW_SOURCE)); _treeAPI.addDetailTab(DatabaseObjectType.INDEX, new DatabaseObjectInfoTab()); _treeAPI.addDetailTab(DatabaseObjectType.INDEX, new IndexDetailsTab()); _treeAPI.addDetailTab(DatabaseObjectType.TRIGGER, new DatabaseObjectInfoTab()); _treeAPI.addDetailTab(DatabaseObjectType.TRIGGER_TYPE_DBO, new DatabaseObjectInfoTab()); _treeAPI.addDetailTab(DatabaseObjectType.SEQUENCE, new DatabaseObjectInfoTab()); _treeAPI.addDetailTab(DatabaseObjectType.SEQUENCE, new SequenceDetailsTab()); // Expanders - trigger and index expanders are added inside the table // expander _treeAPI.addExpander(DatabaseObjectType.SCHEMA, new SchemaExpander( new InformixSequenceInodeExpanderFactory(), DatabaseObjectType.SEQUENCE)); TableWithChildNodesExpander tableExp = new TableWithChildNodesExpander(); tableExp.setTableIndexExtractor(new InformixTableIndexExtractorImpl()); tableExp.setTableTriggerExtractor(new InformixTableTriggerExtractorImpl()); _treeAPI.addExpander(DatabaseObjectType.TABLE, tableExp); _treeAPI.addDetailTab(DatabaseObjectType.TRIGGER, new TriggerDetailsTab()); _treeAPI.addDetailTab(DatabaseObjectType.TRIGGER, new TriggerSourceTab("The source of the trigger")); }
/** * Ctor. * * @param session * Current session.. * @param tables * Array of <TT>IDatabaseObjectInfo</TT> objects representing the tables to be deleted. * @throws IllegalArgumentException * Thrown if a <TT>null</TT> <TT>ISession</TT> passed. */ public DeleteTablesCommand(IObjectTreeAPI tree, List<ITableInfo> tables) { super(); if (tree == null) { throw new IllegalArgumentException("ISession == null"); } if (tables == null) { throw new IllegalArgumentException("IDatabaseObjectInfo[] == null"); } _session = tree.getSession(); _tree = tree; _tables = tables; }