EScope9: A State Pattern for the DataServerFacade

EScope9 integrates the useage of the state pattern to manage the different states (i.e. connected/disconnected, database open/close) of the system during usage. This allows a more user interaction, as well as the possibility of synamially closing and opening different databases as well as connecting/disconnecting to difefrent data servers. These options are listed in the File menu option, and at any time, only the valid options are made sensitive. 

The number of panel is configurable via the property file EScope.properties, which must reside in the work directory of EScope (i.e. the directory containing the file EScope9.java). The syntax of the property file is the following:

Panels can be interactively resized by dragging the knobs displayed on the borders of every panel. Clicking the central mouse button over a vertical knob resizes all the columns to the same width. Clicking the central mouse button over a horizontal knob resizes all the panels of the same column to the same height.

 

Waveforms are added to the currently selected panel, indicated by a red border. To select a different panel it is necessary to click the right mouse button and click the popup option Select over the selected panel. Besides the select option, the popup menu provides the following options:

This application defines three panels. At the left side, when a database is open, the hierarchical structure is displayed and it is possible to navigate in the tree. When a node containing a valid signal is clicked, the corresponding waveform is displayed in the selected panel. To add more than one waveform to the current panel it is necessary to select more than one node in the tree on the left panel. This is achieved "a la Windows" by holding the <ctrl> key when selecting tree nodes. Alternatively, a whole range of node can be defined by holding the <Shift key> when selecting tree nodes. The top panel displays the current (X, Y) pair when the crosshair display option is defined.

The File Menu Bar option allows to:

The Graph Menu Bar option activates a pop-up panel which allows to

 

To exercise this program the following steps are required:

  1. If not already running, start a MDSplus data server. On windows, click on start->programs->MDSplus->MDSDataserver. On Linux, run script start_mdsip.
  2. Change directory in  <source root>/escopes/escope9, where <source root> is the directory where you copied the source directory in the CD.
  3. Include the current directory in your CLASSPATH environmante variable. On Windows this can be done by changing the CLASSPATH definition in Control Panel/System setting, or by the command
        set CLASSPATH=.;%CLASSPATH%
    On Linux (bash shell) this can be done by the command
       export CLASSPATH=.:$CLASSPATH
  4. Compile  the java source files with the command
        javac *.java
  5. Run the program with no arguments.
        java EScope9

When the edam database is open, valid signals are listed in the SIGNALS.PB subtree.

View Source