Oracle Business Intelligence Beans Sample

Linking Presentations

Overview

Linking Presentations is a sample application that demonstrates how to link queries and selections between views (for example,  crosstab, table and graph). It connects to Oracle9i OLAP (the source of the business data for the application) and to the BI Beans Catalog (where object definitions, like crosstabs and graphs, are saved).

The Linking Presentations sample allows the user to control the following options:

Setup Requirements

If you have not already done so, you must perform several installation and configuration tasks, then open the workspace javaclient\javaclient.jws under the samples directory within JDeveloper. All the necessary files for this sample can be found in the linking_presentations.jpr project under the javaclient.jws workspace.

Code Highlights

BILinking provides a menu with access to a simple connection dialog that prompts a user for security credentials. It then makes the two connections described above.

View Menu

After the connection is established, various combinations of linked views can be created from the 'Views' menu option.  All linked views currently default to Bi-Directional/All dimensions. The Views menu contains the following choices:

The view menu also supports the ability to toggle the first selection associated with Master dataview between various types of steps (for example, AllStep or FirstLastStep).  This is useful for generating 'Selection Change' UI Actions described below.

Illiustration of Views Menu

Linking Menus

The right mouse button can then be used to select various link options based on the dimensions chosen:

Linking Menus

Identifying Linked Dimensions

To help simplify the ability to see the relationships defined between between various dimension, we apply an italic font if the dimension is linked and add a bold font if the link is bi-directional or part of the master view.  

Issues:

Expected Behavior

The following table shows the expected behavior of different combinations of Relationships, UI Actions and Selections:

Relationship: Bi-Directional

UI Action

Selections



All Dimensions [Linked by Query - Default]

Selected Dimensions [Linked by Selection(s)]

Page

Changes are automatically sent to all views by shared Query

Master page operation is performed on all detail views by simply applying the Master's current page slice to each Detail view.

Drill

Changes are automatically sent to all views by shared Query

Drill is performed on all views for linked dimensions

Pivot

Changes are automatically sent to all views by shared Query

Ignored

Selection Change

Changes are automatically sent to all views by shared Query

Selection is applied to all views for linked dimensions


Note: Since linked by Query, any changes made to one view are automatically reapplied to (i.e. re-synced with ) others.

Note: A QueryListener must listen for events associated with each linked dimension UI Action and be able to apply them to each linked view.

Relationship: Master/Detail

UI Action

Selections



All Dimensions [Linked by Query]

Selected Dimensions [Linked by Selection(s)]

Page

Master page operations are performed on all detail views for all dimensions

Master page operation is performed on all detail views for linked dimensions by attempting to find the Dimension/Dimension member chosen in each detail view.

Drill

Master drills are performed on all detail views for all dimensions

Master drill is performed on all detail views for linked dimensions by applying master selection without clearing drill steps.

Pivot

Master pivot operations are performed on all detail views for all dimensions

Ignored

Selection Change

Master selection is applied to all detail views for all dimensions.

Master selection is applied to all detail views for linked dimensions.


Note: Detail views are disabled.

A QueryListener must listen for events associated with each Master UI Action and be able to apply them to each Detail linked view.

Note: Changes to Detail views do not affect the master.

A QueryListener must listen for events associated with each Master linked dimension UI Action and be able to apply them to each Detail linked view.

Relationship: Remove (None)

Query Listener Events

This table shows the QueryListener events that are fired for different combinations of Views and UI Actions

View: Crosstab

Page

Drill

Pivot

Selection

viewDataChanged (DataChangedEvent)

drillRequesting (DrillRequestingEvent)

layoutChanged (LayoutChangedEvent)

selectionChanged (SelectionChangedEvent)

DataChangedEvent.PAGE_CHANGE

drillRequested (DrillRequestedEvent)

viewDataChanged (DataChangedEvent)

viewDataChanged (DataChangedEvent)

viewDataChanged (DataChangedEvent)

DataChangedEvent.PIVOT_CHANGE

DataChangedEvent.SEL_CHANGE

DataChangedEvent.DRILL_CHANGE



View: Table

Page

Drill

Pivot

Selection

viewDataChanged (DataChangedEvent)

N/A (not available for relational projections)

layoutChanged (LayoutChangedEvent)

selectionChanged (SelectionChangedEvent)

DataChangedEvent.PAGE_CHANGE


viewDataChanged (DataChangedEvent)

viewDataChanged (DataChangedEvent)



DataChangedEvent.PIVOT_CHANGE

DataChangedEvent.SEL_CHANGE

View: Graph

Page

Drill

Pivot

Selection

viewDataChanged (DataChangedEvent)

drillRequesting (DrillRequestingEvent)

N/A (only available through layout panel)

selectionChanged (SelectionChangedEvent)

DataChangedEvent.PAGE_CHANGE

drillRequested (DrillRequestedEvent)


viewDataChanged (DataChangedEvent)


viewDataChanged (DataChangedEvent)


DataChangedEvent.SEL_CHANGE


DataChangedEvent.DRILL_CHANGE



Known Issues and Limitations

How To Run

To run the BILinking example within JDeveloper, simply right click on the file BILinking.java and choose Run BILinking.java. From the File Menu in the application, choose Connect and enter the username and password of the user that owns the BI Beans Catalog (e.g. BIBCAT).

oracle logo  
Copyright © 2002, 2003 Oracle. All Rights Reserved.

Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners.