Explorer Detail Bean

The Explorer Detail bean is a BI Beans thin bean, for use in an HTML-client application. It allows users to browse and search for objects in the BI Beans Catalog.

The Explorer Detail bean identifies the object that the user wants to open or to delete. The object is actually opened or deleted by a listener that you register with the bean. An ExplorerEvent from the Explorer Detail bean identifies whether the user wants to open or delete the object.

The ThinBeanUI implementation of the Explorer Detail bean is the oracle.dss.thin.beans.persistence.ExplorerDetail class. The UINode for the Explorer Detail bean is oracle.dss.thin.beans.persistence.ExplorerDetailBean. To render the Explorer Detail bean, your servlet must associate the ExplorerDetail object with the ExplorerDetailBean object.

The JSP tag for this bean is the ExplorerDetail tag. In the UIX Language, the definition element is the explorerDetailDef element, and the UINode is the explorerDetail element.

You should store the ExplorerDetail in the HTTP session.

The Explorer Detail bean keeps track of the selected path and the object type.

Using the Explorer Detail bean

When you use the Explorer Detail bean by itself, you must specify a folder whose contents the Explorer Detail should display. To do this, you call the setBIContext method of the ExplorerDetail object. 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.

In the current release of BI Beans, since the Explorer Detail bean includes both browse and search capability for the BI Beans Catalog, there is no longer a need to use the Explorer Detail bean in conjunction with the Explorer Tree bean or the Explorer Search bean.

In order to conform with the Oracle Browser Look and Feel (BLAF) standards, you have the option of displaying the Explorer Detail search controls in a separate location in the page that contains the Explorer Detail bean. To do this, use the Explorer Quick Search UINode.

If you choose to use the Explorer Detail bean with the Explorer Tree, then you connect the two beans by calling the setExplorerDetail method of the ExplorerTree object. You do not have to set the BIContext of the ExplorerDetail. The BIContext that you set on the ExplorerTree is automatically set on the ExplorerDetail.

You can customize the Explorer Detail by setting its properties. For example, you can specify the columns to display and whether to show the bread crumbs.

Listening for Delete, Select object, and Select folder events

When you use the Explorer Detail bean, you must implement an ExplorerListener to listen for Delete events and for Select object and Select folder events. The listener must actually delete the object. It must also respond to Select object and Select folder events, by opening the object, for example.

The ExplorerDetail sends an ExplorerEvent to all registered listeners whenever the user chooses to delete or to select an object or folder. The listener that you register should call the getAction method of the ExplorerEvent to find out which event to handle. If getAction returns BIConstants.DELETE_EVENT, then the listener should delete the object from the BI Beans Catalog. If getAction returns BIConstants.SELECT_OBJECT_EVENT or BIConstants.SELECT_FOLDER_EVENT, then the listener should respond to the selection. To open the object, you retrieve it from the Catalog. You might, alternately, export, print, or manipulate the object in some way.

The getObjectName method provides the path and name of the object, and the getObjectType method provides the type of object that should be returned from the lookup method of the BIContext.

Events that this bean generates

The ExplorerDetail generates the following events, which are defined in the oracle.dss.thin.BIConstants interface.

Events that this bean handles

The ExplorerDetail handles the following events:

Using the Explorer Quick Search to display search controls

To display the search controls of the Explorer Detail bean in a separate location in the page that contains the Explorer Detail bean, use the following approach:

The following code shows an example of using the Explorer Quick Search to render the search controls for an Explorer Detail. This example assumes that the following variables exist:

 


//Create the Explorer Detail with no search controls m_explorerDetail = new ExplorerDetail(); m_explorerDetail.setAllowSearch(false); // Set the MetadataManager on the Explorer Detail m_explorerDetail.setBIContext(m_metadataManager.getMDRoot()); //Register the Explorer Detail m_handler.registerThinBean(m_explorerDetail); //Create the UINode for the Explorer Detail m_pageLayout.addIndexedChild(new ExplorerDetailBean(m_explorerDetail)); //Create the UINode for search controls in the // Quick Search area of the PageLayoutBean m_pageLayout.setQuickSearch(new ExplorerQuickSearchBean(m_explorerDetail));