Important: In the current release of BI Beans, the Explorer Detail bean provides full browse and search capability for the BI Beans Catalog. Consider using the Explorer Detail bean rather than the Explorer Tree bean especially for viewing folders that may contain a large number of items.
The Explorer Tree bean is a BI Beans thin bean, for use in an HTML-client application. It allows users to browse a tree. The Explorer Tree bean is useful in an HTML frame only if the display of the tree does not include a large number of items.
If you use the Explorer Tree to display folders in the BI Beans Catalog, then use the Explorer Detail Bean to display objects in the selected folder. You can also connect the Explorer Tree bean to the Explorer Search bean and to the Save As dialog.
The ThinBeanUI
implementation of the Explorer Tree bean is the
oracle.dss.thin.beans.persistence.ExplorerTree
class. The UINode
for the Explorer Tree bean is oracle.dss.thin.beans.persistence.ExplorerTreeBean
.
Your servlet must associate
the ExplorerTree
object with the ExplorerTreeBean
object.
The JSP tag for this bean is the ExplorerTree
tag. In the UIX Language, the definition element is the explorerTreeDef
element, and the UINode
is the explorerTree
element.
You should store the ExplorerTree
in the HTTP session.
The Explorer Tree bean keeps track of the selected path and the object type.
After you instantiate the ExplorerTree
, you must call its setBIContext
method to specify the root folder for the tree. If your HTML-client application uses OLAP data, then set an MDFolder
as the BIContext
. If your application does not use OLAP data, then set a PersistenceManager
as the BIContext
. The BIContext
that you set should also be stored in the browser session.
You can customize the Explorer Tree by setting its properties. For example, you can specify whether to show the search area and whether users can select folders.
You can use the Save As dialog with the Explorer Tree by calling the setSaveAs
method of the ExplorerTree
.
You should also instantiate any other Explorer beans that you plan to use with the Explorer Tree and establish communication between all of the Explorer beans.
To establish communication between the Explorer Tree and the Explorer Detail bean, call the setExplorerDetail
method of the ExplorerTree
.
To establish communication between the Explorer Tree and the Explorer Search, you need to listen for the BIConstants.SEARCH_EVENT
and to display the Explorer Search page in response.
There are two ways to listen for the SEARCH_EVENT
:
You can register an ExplorerListener
with the ExplorerTree
. When the SEARCH_EVENT
is generated, it will come with an ExplorerEvent
. Your listener should respond by displaying the page that contains the Explorer Search bean, and it should pass the ExplorerEvent
to the Explorer Search bean.
Alternately, you can set an event target on the ExplorerTree
to route the SEARCH_EVENT
to the ExplorerSearch
. If you choose this approach, then your servlet should check the query parameters of each HttpRequest
. When the event
query parameter is BIConstants.SEARCH_EVENT
, and the source query parameter is the Explorer Tree bean, then you should display the page that contains the Explorer Search bean.
The ExplorerTree
generates the following events, which are defined in the oracle.dss.thin.BIConstants
interface.
SELECT_FOLDER_EVENT
-- This event is generated when a user clicks a folder. It is handled by the ExplorerTree
.
SELECT_OBJECT_EVENT
-- This event is generated when a user clicks an object other than a folder. It is handled by the ExplorerTree
.
SEARCH_EVENT
-- This event is generated when a user clicks
the Go button in the search area. It is handled
by the ExplorerTree
, or you can set an event target to route
the event to the Explorer Search bean.
FILTER_EVENT
-- This event is generated when a user selects a type of object to view. It is handled by the ExplorerTree
. This event has the FILTER_TYPE
parameter, which identifies the type of objects to display.
EXPAND_FOLDER_EVENT
-- This event is generated when a user clicks the plus icon. It is handled by the ExplorerTree
.
COLLAPSE_FOLDER_EVENT
-- This event is generated when a user clicks the plus icon. It is handled by the ExplorerTree
.
The ExplorerTree
handles the following events:
SELECT_FOLDER_EVENT
-- The ExplorerTree
handles this event by showing the folder as selected and by passing path information to the ExplorerDetail
. It also fires an ExplorerEvent
to registered listeners.
SELECT_OBJECT_EVENT
-- The ExplorerTree
handles this event by showing the object as selected and providing the information to the the ExplorerDetail
that has been set. It also fires an ExplorerEvent
to registered listeners. If you do not set an ExplorerDetail
with the ExplorerTree
, then you should register an ExplorerListener
to handle this event.
SEARCH_EVENT
-- The ExplorerTree
handles this event by firing an ExplorerEvent
to registered listeners. The response from your application depends on the approach you used to connect the two beans.
FILTER_EVENT
-- The ExplorerTree
handles this event by filtering its contents.
EXPAND_FOLDER_EVENT
-- The ExplorerTree
handles this event by expanding the selected folder.
COLLAPSE_FOLDER_EVENT
-- The ExplorerTree
handles this event by collapsing the selected folder.