}
}
private void updateObjectTree(final IObjectTreeAPI objTree)
{
ISession session = objTree.getSession();
addDetailTab(objTree, DatabaseObjectType.SESSION, new OptionsTab());
addDetailTab(objTree, IObjectTypes.CONSUMER_GROUP, new DatabaseObjectInfoTab());
addDetailTab(objTree, DatabaseObjectType.FUNCTION, new DatabaseObjectInfoTab());
addDetailTab(objTree, DatabaseObjectType.INDEX, new DatabaseObjectInfoTab());
addDetailTab(objTree, DatabaseObjectType.INDEX, new IndexColumnInfoTab());
addDetailTab(objTree, DatabaseObjectType.INDEX, new IndexDetailsTab());
addDetailTab(objTree, IObjectTypes.LOB, new DatabaseObjectInfoTab());
addDetailTab(objTree, IObjectTypes.LOB, new LobDetailsTab());
addDetailTab(objTree, DatabaseObjectType.SEQUENCE, new DatabaseObjectInfoTab());
addDetailTab(objTree, DatabaseObjectType.TRIGGER, new DatabaseObjectInfoTab());
addDetailTab(objTree, IObjectTypes.TRIGGER_PARENT, new DatabaseObjectInfoTab());
addDetailTab(objTree, IObjectTypes.TYPE, new DatabaseObjectInfoTab());
addDetailTab(objTree, IObjectTypes.CONSTRAINT, new DatabaseObjectInfoTab());
// Expanders.
addExpander(objTree, DatabaseObjectType.SCHEMA, new SchemaExpander());
addExpander(objTree, DatabaseObjectType.TABLE, new TableExpander());
addExpander(objTree, IObjectTypes.PACKAGE, new PackageExpander());
addExpander(objTree, IObjectTypes.USER_PARENT, new UserParentExpander(session));
addExpander(objTree, IObjectTypes.SESSION_PARENT, new SessionParentExpander());
addExpander(objTree, IObjectTypes.INSTANCE_PARENT, new InstanceParentExpander());
addExpander(objTree, IObjectTypes.TRIGGER_PARENT, new TriggerParentExpander());
addExpander(objTree, IObjectTypes.CONSTRAINT_PARENT, new ConstraintParentExpander());
addDetailTab(objTree, DatabaseObjectType.PROCEDURE, new ObjectSourceTab(
"PROCEDURE", "Show stored procedure source"));
addDetailTab(objTree, DatabaseObjectType.FUNCTION, new ObjectSourceTab(
"FUNCTION", "Show function source"));
addDetailTab(objTree, IObjectTypes.PACKAGE, new ObjectSourceTab(
"PACKAGE", "Specification", "Show package specification"));
addDetailTab(objTree, IObjectTypes.PACKAGE, new ObjectSourceTab(
"PACKAGE BODY", "Body", "Show package body"));
addDetailTab(objTree, IObjectTypes.TYPE, new ObjectSourceTab(
"TYPE", "Specification", "Show type specification"));
addDetailTab(objTree, IObjectTypes.TYPE, new ObjectSourceTab("TYPE BODY", "Body", "Show type body"));
addDetailTab(objTree, IObjectTypes.INSTANCE, new InstanceDetailsTab());
addDetailTab(objTree, DatabaseObjectType.SEQUENCE, new SequenceDetailsTab());
addDetailTab(objTree, IObjectTypes.SESSION, new SessionDetailsTab());
addDetailTab(objTree, IObjectTypes.SESSION, new SessionStatisticsTab());
addDetailTab(objTree, DatabaseObjectType.TRIGGER, new TriggerDetailsTab());
addDetailTab(objTree, DatabaseObjectType.TRIGGER, new TriggerSourceTab());
addDetailTab(objTree, DatabaseObjectType.TRIGGER, new TriggerColumnInfoTab());
addDetailTab(objTree, DatabaseObjectType.USER, new UserDetailsTab(session));
addDetailTab(objTree, IObjectTypes.CONSTRAINT, new ConstraintDetailsTab());
addDetailTab(objTree, IObjectTypes.CONSTRAINT, new ConstraintColumnInfoTab());
addDetailTab(objTree, IObjectTypes.CONSTRAINT, new ConstraintSourceTab());
addDetailTab(objTree, DatabaseObjectType.VIEW, new ViewSourceTab());
addDetailTab(objTree, DatabaseObjectType.TABLE, new SnapshotSourceTab());
/* Adds a popup menu for SQL*Loader control files generation */
session.getSessionInternalFrame().getObjectTreeAPI().addToPopup(
DatabaseObjectType.TABLE,
new GenerateControlFileAction(getApplication(), _resources,
session));