};
}
private void addActionsToPopup(ISession session) {
ActionCollection col = getApplication().getActionCollection();
try {
IObjectTreeAPI _treeAPI = session.getSessionInternalFrame().getObjectTreeAPI();
_treeAPI.addDetailTab(DatabaseObjectType.SESSION, new SupportedRefactoringsTab(session));
} catch (Exception e) {
e.printStackTrace();
}
// TABLE TYPE DBO
_tableNodeMenu = _resources.createMenu(IMenuResourceKeys.REFACTORING);
_resources.addToMenu(col.get(AddViewAction.class), _tableNodeMenu);
// TABLE
_tableObjectMenu = _resources.createMenu(IMenuResourceKeys.REFACTORING);
JMenu tableMenu = new JMenu(IMenuResourceKeys.TABLE);
_resources.addToMenu(col.get(RenameTableAction.class), tableMenu);
_resources.addToMenu(col.get(MergeTableAction.class), tableMenu);
_resources.addToMenu(col.get(DropSelectedTablesAction.class), tableMenu);
JMenu columnMenu = new JMenu(IMenuResourceKeys.COLUMN);
_resources.addToMenu(col.get(AddColumnAction.class), columnMenu);
_resources.addToMenu(col.get(ModifyColumnAction.class), columnMenu);
_resources.addToMenu(col.get(MergeColumnAction.class), columnMenu);
_resources.addToMenu(col.get(DropColumnAction.class), columnMenu);
JMenu dataQualityMenu = new JMenu(IMenuResourceKeys.DATA_QUALITY);
_resources.addToMenu(col.get(AddLookupTableAction.class), dataQualityMenu);
_resources.addToMenu(col.get(AddAutoIncrementAction.class), dataQualityMenu);
_resources.addToMenu(col.get(AddUniqueConstraintAction.class), dataQualityMenu);
_resources.addToMenu(col.get(DropUniqueConstraintAction.class), dataQualityMenu);
JMenu referentialMenu = new JMenu(IMenuResourceKeys.REFERENTIAL_INTEGRITY);
_resources.addToMenu(col.get(AddPrimaryKeyAction.class), referentialMenu);
_resources.addToMenu(col.get(AddForeignKeyAction.class), referentialMenu);
_resources.addToMenu(col.get(DropPrimaryKeyAction.class), referentialMenu);
_resources.addToMenu(col.get(DropForeignKeyAction.class), referentialMenu);
JMenu tableIndexMenu = new JMenu(IMenuResourceKeys.INDEX);
_resources.addToMenu(col.get(AddIndexAction.class), tableIndexMenu);
_resources.addToMenu(col.get(DropIndexTableAction.class), tableIndexMenu);
_tableObjectMenu.add(tableMenu);
_tableObjectMenu.add(columnMenu);
_tableObjectMenu.add(tableIndexMenu);
_tableObjectMenu.add(dataQualityMenu);
_tableObjectMenu.add(referentialMenu);
// INDEX
_indexObjectMenu = _resources.createMenu(IMenuResourceKeys.REFACTORING);
_resources.addToMenu(col.get(DropIndexTableAction.class), _indexObjectMenu);
// VIEW TYPE DBO (doesn't exist yet)
_viewNodeMenu = _resources.createMenu(IMenuResourceKeys.REFACTORING);
_resources.addToMenu(col.get(AddViewAction.class), _viewNodeMenu);
// VIEW
_viewObjectMenu = _resources.createMenu(IMenuResourceKeys.REFACTORING);
_resources.addToMenu(col.get(DropViewAction.class), _viewObjectMenu);
_resources.addToMenu(col.get(RenameViewAction.class), _viewObjectMenu);
// SEQUENCE TYPE DBO
_sequenceNodeMenu = _resources.createMenu(IMenuResourceKeys.REFACTORING);
_resources.addToMenu(col.get(AddSequenceAction.class), _sequenceNodeMenu);
// SEQUENCE
_sequenceObjectMenu = _resources.createMenu(IMenuResourceKeys.REFACTORING);
_resources.addToMenu(col.get(DropSequenceAction.class), _sequenceObjectMenu);
_resources.addToMenu(col.get(ModifySequenceAction.class), _sequenceObjectMenu);
// Ingres supports sequences, but there is no Ingres plugin yet to produce sequence nodes.
// Also, since we don't have a good way to modify /delete sequences when they don't appear in the tree
// this rules out their use in Ingres, for now.
// TODO: Write the Ingres plugin, then rip this out.
//
// Update: Since there are a number of other databases that support sequences without plugins, we will
// for now, just always put the add sequence in the session node's popup menu.
//
//if (DialectFactory.isIngres(session.getMetaData())) {
_sessionNodeMenu = _resources.createMenu(IMenuResourceKeys.REFACTORING);
_resources.addToMenu(col.get(AddSequenceAction.class), _sessionNodeMenu);
//}
addMenusToObjectTree(session.getObjectTreeAPIOfActiveSessionWindow());
}