arlut.csd.ganymede.client
Class gclient

java.lang.Object
  |
  +--java.awt.Component
        |
        +--java.awt.Container
              |
              +--java.awt.Window
                    |
                    +--java.awt.Frame
                          |
                          +--javax.swing.JFrame
                                |
                                +--arlut.csd.ganymede.client.gclient
All Implemented Interfaces:
javax.accessibility.Accessible, java.awt.event.ActionListener, java.util.EventListener, java.awt.image.ImageObserver, JsetValueCallback, java.awt.MenuContainer, javax.swing.RootPaneContainer, java.io.Serializable, treeCallback, javax.swing.WindowConstants

public class gclient
extends javax.swing.JFrame
implements treeCallback, java.awt.event.ActionListener, JsetValueCallback

Main ganymede client class. When glogin is run and a user logs in to the server, the client obtains a Session reference that allows it to talk to the server on behalf of a user, and a single instance of this class is created to handle all client GUI and networking operations for that user.

gclient creates a windowPanel object to contain internal object (framePanel) and query windows on the right side of a Swing JSplitPane. The left side contains a custom treeControl GUI component displaying object categories, types, and instances for the user to browse and edit.

See Also:
Serialized Form

Field Summary
(package private)  arlut.csd.ganymede.client.glogin _myglogin
          Reference to the applet which instantiated us.
(package private)  arlut.csd.JDialog.messageDialog about
           
(package private)  java.lang.String aboutMessage
           
(package private)  javax.swing.JMenu actionMenu
           
(package private)  javax.swing.ImageIcon buildIcon
           
(package private)  javax.swing.ImageIcon buildIcon2
           
private  boolean buildingPhase1
           
private  boolean buildingPhase2
           
(package private)  javax.swing.JLabel buildLabel
          Build status field at the bottom of the client.
protected  arlut.csd.ganymede.client.objectCache cachedLists
          Our main cache, keeps information about all objects we've learned about via QueryResult's returned to us by the server.
(package private)  javax.swing.JButton cancel
           
private  java.util.Hashtable changedHash
          Cache of invid's for objects that might have been changed by the client.
(package private)  javax.swing.JMenuItem changePersonaMI
           
(package private)  javax.swing.JMenuItem clearTreeMI
           
static arlut.csd.ganymede.client.gclient client
          we're only going to have one gclient at a time per running client (singleton pattern).
(package private)  java.awt.Image cloneIcon
           
(package private) static int CLOSED_BASE
           
(package private) static int CLOSED_CAT
           
(package private) static int CLOSED_FIELD
           
(package private) static int CLOSED_FIELD_CHANGED
           
(package private) static int CLOSED_FIELD_CREATE
           
(package private) static int CLOSED_FIELD_DELETE
           
(package private) static int CLOSED_FIELD_EXPIRESET
           
(package private) static int CLOSED_FIELD_REMOVESET
           
(package private)  javax.swing.JButton commit
           
(package private)  arlut.csd.ganymede.client.createObjectDialog createDialog
           
(package private)  java.awt.Image createDialogImage
           
private  java.util.Hashtable createdObjectsWithoutNodes
          Hash of invid's corresponding to objects that have been created by the client but which have not had nodes created in the client's tree display.
private  java.util.Hashtable createHash
          Mapping of invid's for objects that the client has requested be created by the server to CacheInfo objects which hold information about the object used to make decisions about managing the client's tree display.
(package private)  javax.swing.JMenuItem createObjectMI
           
(package private)  java.awt.Image creation
           
(package private)  arlut.csd.JDialog.messageDialog credits
           
(package private)  java.lang.String creditsMessage
           
(package private)  java.lang.String currentPersonaString
          Name of the currently active persona.
static boolean debug
           
(package private)  boolean defaultOwnerChosen
           
(package private)  arlut.csd.ganymede.client.JDefaultOwnerDialog defaultOwnerDialog
           
(package private)  javax.swing.JMenuItem defaultOwnerMI
           
private  java.util.Hashtable deleteHash
          Mapping of invid's for objects that the client has requested be deleted by the server to CacheInfo objects which hold information about the object used to make decisions about managing the client's tree display.
(package private)  javax.swing.JMenuItem deleteObjectMI
           
(package private)  arlut.csd.ganymede.CategoryDump dump
          Local copy of the category/object tree downloaded from the server by the buildTree() method.
(package private)  javax.swing.JMenuItem editObjectMI
           
 javax.swing.border.EmptyBorder emptyBorder10
           
 javax.swing.border.EmptyBorder emptyBorder5
           
(package private)  java.awt.Image errorImage
           
(package private)  javax.swing.JMenu fileMenu
           
(package private)  arlut.csd.ganymede.client.JFilterDialog filterDialog
           
(package private)  javax.swing.JMenuItem filterQueryMI
           
(package private)  java.awt.Image ganymede_logo
           
(package private)  arlut.csd.ganymede.client.helpPanel help
           
(package private)  javax.swing.JMenu helpMenu
           
(package private)  boolean hideNonEditables
          If true, the client will only display object types that the user has permission to edit, and by default will only show objects in the tree that the user can edit.
(package private)  javax.swing.JCheckBoxMenuItem hideNonEditablesMI
           
(package private)  javax.swing.ImageIcon idleIcon
           
(package private)  java.awt.Image[] images
           
(package private)  java.awt.Image inactivateIcon
           
(package private)  javax.swing.JMenuItem inactivateObjectMI
           
protected  java.util.Hashtable invidNodeHash
          Hash mapping Invid's for objects referenced by the client to the corresponding InvidNode displayed in the client's tree display.
(package private)  arlut.csd.JDataComponent.LAFMenu LandFMenu
           
 javax.swing.border.LineBorder lineBorder
           
(package private)  arlut.csd.ganymede.client.Loader loader
          Background processing thread, downloads information on object and field types defined in the server when run.
(package private)  javax.swing.JMenuItem logoutMI
           
 javax.swing.border.BevelBorder loweredBorder
           
(package private)  javax.swing.JMenuBar menubar
           
(package private)  javax.swing.JMenuItem menubarQueryMI
           
(package private)  arlut.csd.JDialog.messageDialog motd
           
(package private)  arlut.csd.ganymede.client.querybox my_querybox
          Query dialog that is displayed when the user chooses to perform a query on the server.
(package private)  java.lang.String my_username
           
(package private)  java.awt.Image newToolbarIcon
           
(package private) static int NUM_IMAGE
           
(package private)  arlut.csd.JTree.treeMenu objectInactivatePM
           
(package private) static int OBJECTNOWRITE
           
(package private)  arlut.csd.JTree.treeMenu objectReactivatePM
           
(package private)  arlut.csd.JTree.treeMenu objectRemovePM
           
(package private)  arlut.csd.JTree.treeMenu objectViewPM
           
(package private) static int OPEN_BASE
           
(package private) static int OPEN_CAT
           
(package private) static int OPEN_FIELD
           
(package private) static int OPEN_FIELD_CHANGED
           
(package private) static int OPEN_FIELD_CREATE
           
(package private) static int OPEN_FIELD_DELETE
           
(package private) static int OPEN_FIELD_EXPIRESET
           
(package private) static int OPEN_FIELD_REMOVESET
           
(package private)  arlut.csd.ganymede.client.openObjectDialog openDialog
           
(package private)  java.util.Vector ownerGroups
           
(package private)  java.awt.Image pencil
           
(package private)  arlut.csd.ganymede.client.PersonaDialog personaDialog
           
(package private)  java.util.Vector personae
           
(package private)  java.awt.Image personaIcon
           
(package private)  arlut.csd.ganymede.client.PersonaListener personaListener
          Listener to react to persona dialog events
(package private)  javax.swing.JMenu PersonaMenu
           
(package private)  arlut.csd.JTree.treeMenu pMenuAll
           
(package private)  arlut.csd.JTree.treeMenu pMenuAllCreatable
           
(package private)  arlut.csd.JTree.treeMenu pMenuEditable
           
(package private)  arlut.csd.JTree.treeMenu pMenuEditableCreatable
           
(package private)  java.awt.Image queryIcon
           
(package private)  java.awt.Image questionImage
           
 javax.swing.border.BevelBorder raisedBorder
           
(package private)  java.awt.Image search
           
 arlut.csd.ganymede.client.SecurityLaunderThread securityThread
          This thread is set up to launder RMI build status updates from the server.
(package private)  arlut.csd.JTree.treeNode selectedNode
          The currently selected node from the client's GUI tree.
(package private)  arlut.csd.ganymede.Session session
          Main remote interface for communications with the server.
protected  java.util.Hashtable shortToBaseNodeHash
          Hash mapping Short Base id's to the corresponding BaseNode displayed in the client's tree display.
(package private)  javax.swing.JMenuItem showHelpMI
           
private  boolean showToolbar
           
private  boolean somethingChanged
           
 javax.swing.border.CompoundBorder statusBorder
           
 javax.swing.border.CompoundBorder statusBorderRaised
           
(package private)  javax.swing.JTextField statusLabel
          Status field at the bottom of the client.
(package private)  javax.swing.JPanel statusPanel
           
 arlut.csd.ganymede.client.StatusClearThread statusThread
          This thread is used to clear the statusLabel after some interval after it is set.
(package private)  javax.swing.JMenuItem toggleToolBarMI
           
(package private)  javax.swing.JToolBar toolBar
           
private  boolean toolToggle
           
(package private)  java.awt.Image trash
           
(package private)  arlut.csd.JTree.treeControl tree
          The client's GUI tree component.
(package private)  java.awt.Image treecreation
           
(package private)  java.awt.Image treepencil
           
(package private)  java.awt.Image treetrash
           
(package private)  javax.swing.JMenuItem viewObjectMI
           
(package private)  javax.swing.JMenu windowMenu
           
private  int wizardActive
          this is true during the handleReturnVal method, while a wizard is active.
(package private)  arlut.csd.ganymede.client.windowPanel wp
          JDesktopPane on the right side of the client's display, contains the object and query result internal windows that are created during the client's execution.
 
Fields inherited from class javax.swing.JFrame
accessibleContext, EXIT_ON_CLOSE, rootPane, rootPaneCheckingEnabled
 
Fields inherited from class java.awt.Frame
CROSSHAIR_CURSOR, DEFAULT_CURSOR, E_RESIZE_CURSOR, HAND_CURSOR, ICONIFIED, MAXIMIZED_BOTH, MAXIMIZED_HORIZ, MAXIMIZED_VERT, MOVE_CURSOR, N_RESIZE_CURSOR, NE_RESIZE_CURSOR, NORMAL, NW_RESIZE_CURSOR, S_RESIZE_CURSOR, SE_RESIZE_CURSOR, SW_RESIZE_CURSOR, TEXT_CURSOR, W_RESIZE_CURSOR, WAIT_CURSOR
 
Fields inherited from class java.awt.Window
 
Fields inherited from class java.awt.Container
 
Fields inherited from class java.awt.Component
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
 
Fields inherited from interface javax.swing.WindowConstants
DISPOSE_ON_CLOSE, DO_NOTHING_ON_CLOSE, HIDE_ON_CLOSE
 
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Constructor Summary
gclient(arlut.csd.ganymede.Session s, arlut.csd.ganymede.client.glogin g)
          This is the main constructor for the gclient class..
 
Method Summary
 void actionPerformed(java.awt.event.ActionEvent event)
          Handles button and menu picks.
 void addTableWindow(arlut.csd.ganymede.Session session, arlut.csd.ganymede.Query query, arlut.csd.ganymede.DumpResult buffer, java.lang.String title)
           
(package private)  void buildTree()
          This method builds the initial data structures for the object selection tree, using the base information in the baseHash hashtable gained from the Loader thread.
 void cancelTransaction()
          Cancels the current transaction.
(package private)  void changePersona(boolean requirePassword)
          Creates and presents a dialog to let the user change their selected persona.
 void chooseDefaultOwner(boolean forcePopup)
          Chooses the default owner group for a newly created object.
 void chooseFilter()
          Create a custom query filter.
 void cleanUp()
          This method does all the clean up required to let garbage collection tear everything completely down.
private  void cleanUpAfterCancel()
          Cleans up the tree and gclient's caches.
 void clearCaches()
          Clears out the client's objectCache, which holds object labels, and activation status for invid's returned by various query and db_field choices() operations.
(package private)  void clearTree()
          Clears out the client's tree.
 void cloneObject(arlut.csd.ganymede.Invid origInvid)
          Creates a new object on the server and opens a new client framePanel window to allow the user to edit the new object.
(package private)  void cloneObjectDialog()
          Opens a dialog to let the user choose an object for cloning, and if cancel is not chosen, the object is opened for cloning.
 void commitTransaction()
          Commits the currently open transaction on the server.
 arlut.csd.ganymede.db_object createObject(short type)
          Creates a new object on the server and opens a new client framePanel window to allow the user to edit the new object.
(package private)  void createObjectDialog()
          Show the create object dialog, let the user choose to create or not create an object.
(package private)  javax.swing.JToolBar createToolbar()
          Creates and initializes the client's toolbar.
 boolean defaultOwnerChosen()
          True if a default owner has already been chosen.
 void deleteObject(arlut.csd.ganymede.Invid invid, boolean showDialog)
          Marks an object on the server as deleted.
(package private)  void deleteObjectDialog()
          Opens a dialog to let the user choose an object for deletion, and if cancel is not chosen, the object is opened for deletion.
 void editObject(arlut.csd.ganymede.Invid invid)
          Opens a new framePanel window to allow the user to edit an object.
 void editObject(arlut.csd.ganymede.Invid invid, java.lang.String objectType)
          Opens a new framePanel window to allow the user to edit an object.
(package private)  void editObjectDialog()
          Opens a dialog to let the user choose an object for editing, and if cancel is not chosen, the object is opened for editing.
 java.util.Vector getBaseList()
          Returns a Vector of BaseDump objects, providing a local cache of Base references that the client consults during operations.
 java.util.Hashtable getBaseMap()
          Returns a hash mapping Short Base id's to BaseDump objects.
 java.util.Hashtable getBaseNames()
          Returns a hash mapping BaseDump references to their title.
 java.util.Hashtable getBaseToShort()
          Returns a hashtable mapping BaseDump references to their object type id in Short form.
 java.awt.Image getErrorImage()
          Loads and returns the error Image for use in client dialogs.
 arlut.csd.ganymede.FieldTemplate getFieldTemplate(short objType, short fieldId)
          Returns a FieldTemplate based on the short type id for the containing object and the short field id for the field.
 arlut.csd.ganymede.ObjectHandle getObjectHandle(arlut.csd.ganymede.Invid invid)
          Pulls a object handle for an invid out of the client's cache, if it has been cached.
 arlut.csd.ganymede.ObjectHandle getObjectHandle(arlut.csd.ganymede.Invid invid, java.lang.Short type)
          Pulls a object handle for an invid out of the client's cache, if it has been cached.
 arlut.csd.ganymede.client.objectList getObjectList(java.lang.Short id, boolean showAll)
          Gets a list of objects from the server, in a form appropriate for use in constructing a list of nodes in the tree under an object type (object base) folder.
 java.lang.String getObjectTitle(arlut.csd.ganymede.Invid objId)
          This method returns a concatenated string made up of the object type and object name.
 java.lang.String getObjectType(arlut.csd.ganymede.Invid objId)
          Returns the type name for a given object.
(package private)  arlut.csd.ganymede.client.PersonaDialog getPersonaDialog()
          Returns a reference to the most recently created persona dialog.
 java.awt.Image getQuestionImage()
          Loads and returns the question-mark Image for use in client dialogs.
 arlut.csd.ganymede.client.InvidNode getSelectedObjectNode()
          Returns the node of the object currently selected in the tree, if any.
 arlut.csd.ganymede.Session getSession()
          Get the session
 boolean getSomethingChanged()
          True if something has been changed since the last commit/cancel
 java.lang.String getStatus()
          Get the current text from the client's status field
 java.util.Vector getTemplateVector(short id)
          Returns a vector of FieldTemplate's.
 java.util.Vector getTemplateVector(java.lang.Short id)
          Returns a vector of FieldTemplate's listing fields and field informaton for the object type identified by id.
 arlut.csd.ganymede.ReturnVal handleReturnVal(arlut.csd.ganymede.ReturnVal retVal)
          This method takes a ReturnVal object from the server and, if necessary, runs through a wizard interaction sequence, possibly displaying several dialogs before finally returning a final result code.
 void inactivateObject(arlut.csd.ganymede.Invid invid)
          Marks an object on the server as inactivated.
(package private)  void inactivateObjectDialog()
          Opens a dialog to let the user choose an object for inactivation, and if cancel is not chosen, the object is opened for inactivation.
(package private)  arlut.csd.JTree.treeNode insertCategoryNode(arlut.csd.ganymede.CategoryNode node, arlut.csd.JTree.treeNode prevNode, arlut.csd.JTree.treeNode parentNode)
          Helper method for building tree
 boolean isApplet()
          True if we are in an applet context, meaning we don't have access to local files, etc.
(package private)  void logout()
          Logs out from the client.
(package private)  boolean OKToProceed()
          Check for changes in the database before logging out.
(package private)  void openAnInvid()
          This is a debugging hook, to allow the user to enter an invid in string form for direct viewing.
private  void openNewTransaction()
          Initializes a new transaction on the server
(package private)  void postQuery(arlut.csd.ganymede.BaseDump base)
          Pop up the query box
protected  void processWindowEvent(java.awt.event.WindowEvent e)
           
 boolean reactivateObject(arlut.csd.ganymede.Invid invid)
          Reactivates an object that was previously inactivated.
(package private)  void recurseDownCategories(arlut.csd.ganymede.CatTreeNode node, arlut.csd.ganymede.Category c)
          Recurses down the category tree obtained from the server, loading the client's tree with category and object folder nodes.
 void refreshChangedObject(arlut.csd.ganymede.Invid invid)
          This method does the same thing as refreshChangedObjectHandles(), but for a single object only.
 void refreshChangedObjectHandles(java.util.Vector paramVect, boolean afterCommit)
          Queries the server for status information on a vector of invid's that were touched in some way by the client during the recent transaction.
(package private)  void refreshObjects(arlut.csd.ganymede.client.BaseNode node, boolean doRefresh)
          This method is used to update the list of object nodes under a given base node in our object selection tree, synchronizing the tree with the actual objects on the server.
(package private)  void refreshTreeAfterCommit()
          Updates the tree for the nodes that might have changed.
 void setBuildStatus(java.lang.String status)
          Sets text in the build status bar
 void setIconForNode(arlut.csd.ganymede.Invid invid)
          Updates a database object's icon in the tree display.
 void setNormalCursor()
          Set the cursor to the normal cursor(usually a pointer.)
private  void setSomethingChanged(boolean state)
          Sets or clears the client's somethingChanged flag.
 void setStatus(java.lang.String status)
          Sets text in the status bar, with a 5 second countdown before the status bar is cleared.
 void setStatus(java.lang.String status, int timeToLive)
          Sets text in the status bar, with a defined countdown before the status bar is cleared.
 boolean setValuePerformed(arlut.csd.JDataComponent.JValueObject o)
          This method comprises the JsetValueCallback interface, and is how some data-carrying components notify us when something changes.
 void setWaitCursor()
          Set the cursor to a wait cursor(usually a watch.)
 void showAboutMessage()
          Shows the About...
 void showCredits()
          Shows the credits dialog.
 void showErrorMessage(java.lang.String message)
          Pops up an error dialog with the default title.
 void showErrorMessage(java.lang.String title, java.lang.String message)
          Pops up an error dialog.
 void showErrorMessage(java.lang.String title, java.lang.String message, java.awt.Image icon)
          Show an error dialog.
 void showHelpWindow()
          Show the help window.
 void showMOTD()
          Shows the server's message of the day in a dialog.
 void showMOTD(java.lang.String message, boolean html)
          This method generates a message-of-the-day dialog.
 void softTimeout()
          This method is triggered by the Ganymede server if the client is idle long enough.
 void somethingChanged()
          This indeicates that something in the database was changed, so cancelling this transaction will have consequences.
 java.util.Vector sortListHandleVector(java.util.Vector v)
          sort a vector of listHandles
 java.util.Vector sortStringVector(java.util.Vector v)
          Sort a vector of Strings
static java.lang.String stackTrace(java.lang.Throwable thing)
          This is a convenience method used by the server to get a stack trace from a throwable object in String form.
 void start()
          This method handles the start-up tasks after the gclient has gotten initialized.
(package private)  void toggleToolBar()
          toggles the toolbar on and off
 void treeNodeContracted(arlut.csd.JTree.treeNode node)
          Called when a node is closed.
 void treeNodeDoubleClicked(arlut.csd.JTree.treeNode node)
          Called when an item in the tree is double-clicked.
 void treeNodeExpanded(arlut.csd.JTree.treeNode node)
          Called when a node is expanded, to allow the user of the tree to dynamically load the information at that time.
 void treeNodeMenuPerformed(arlut.csd.JTree.treeNode node, java.awt.event.ActionEvent event)
          Called when a popup menu item is selected on a treeNode
 void treeNodeSelected(arlut.csd.JTree.treeNode node)
          Called when an item in the tree is unselected
 void treeNodeUnSelected(arlut.csd.JTree.treeNode node, boolean otherNode)
          Called when an item in the tree is unselected
 void update(java.awt.Graphics g)
          By overriding update(), we can eliminate the annoying flash as the default update() method clears the frame before rendering.
 void updateAfterFilterChange()
          This method is called by the JFilterDialog class when the owner list filter is changed, to refresh the tree's display of all object lists loaded into the client so that only those objects matching the owner list filter are visible.
(package private)  void updateNotePanels()
          Updates the note panels in the open windows.
private  void updateTreeAfterFilterChange(arlut.csd.JTree.treeNode node)
          This method updates all category and base nodes at or under the given node, and all category and base nodes that are nextSiblings to the given node.
 void viewObject(arlut.csd.ganymede.Invid invid)
          Opens a new framePanel window to view the object corresponding to the given invid.
 void viewObject(arlut.csd.ganymede.Invid invid, java.lang.String objectType)
          Opens a new framePanel window to view the object corresponding to the given invid.
(package private)  void viewObjectDialog()
          Opens a dialog to let the user choose an object for viewing, and if cancel is not chosen, the object is opened for viewing.
 
Methods inherited from class javax.swing.JFrame
addImpl, createRootPane, frameInit, getAccessibleContext, getContentPane, getDefaultCloseOperation, getGlassPane, getJMenuBar, getLayeredPane, getRootPane, isDefaultLookAndFeelDecorated, isRootPaneCheckingEnabled, paramString, remove, setContentPane, setDefaultCloseOperation, setDefaultLookAndFeelDecorated, setGlassPane, setJMenuBar, setLayeredPane, setLayout, setRootPane, setRootPaneCheckingEnabled
 
Methods inherited from class java.awt.Frame
addNotify, finalize, getCursorType, getExtendedState, getFrames, getIconImage, getMaximizedBounds, getMenuBar, getState, getTitle, isResizable, isUndecorated, remove, removeNotify, setCursor, setExtendedState, setIconImage, setMaximizedBounds, setMenuBar, setResizable, setState, setTitle, setUndecorated
 
Methods inherited from class java.awt.Window
addPropertyChangeListener, addPropertyChangeListener, addWindowFocusListener, addWindowListener, addWindowStateListener, applyResourceBundle, applyResourceBundle, createBufferStrategy, createBufferStrategy, dispose, getBufferStrategy, getFocusableWindowState, getFocusCycleRootAncestor, getFocusOwner, getFocusTraversalKeys, getGraphicsConfiguration, getInputContext, getListeners, getLocale, getMostRecentFocusOwner, getOwnedWindows, getOwner, getToolkit, getWarningString, getWindowFocusListeners, getWindowListeners, getWindowStateListeners, hide, isActive, isFocusableWindow, isFocusCycleRoot, isFocused, isShowing, pack, postEvent, processEvent, processWindowFocusEvent, processWindowStateEvent, removeWindowFocusListener, removeWindowListener, removeWindowStateListener, setCursor, setFocusableWindowState, setFocusCycleRoot, setLocationRelativeTo, show, toBack, toFront
 
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getAlignmentX, getAlignmentY, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getContainerListeners, getFocusTraversalPolicy, getInsets, getLayout, getMaximumSize, getMinimumSize, getPreferredSize, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paint, paintComponents, preferredSize, print, printComponents, processContainerEvent, remove, removeAll, removeContainerListener, setFocusTraversalKeys, setFocusTraversalPolicy, setFont, transferFocusBackward, transferFocusDownCycle, validate, validateTree
 
Methods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, contains, createImage, createImage, createVolatileImage, createVolatileImage, disable, disableEvents, dispatchEvent, enable, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBounds, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getGraphics, getHeight, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocation, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMouseWheelListeners, getName, getParent, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getSize, getTreeLock, getWidth, getX, getY, gotFocus, handleEvent, hasFocus, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isDoubleBuffered, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isOpaque, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, prepareImage, prepareImage, printAll, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processKeyEvent, processMouseEvent, processMouseMotionEvent, processMouseWheelEvent, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, repaint, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, reshape, resize, resize, setBackground, setBounds, setBounds, setComponentOrientation, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeysEnabled, setForeground, setIgnoreRepaint, setLocale, setLocation, setLocation, setName, setSize, setSize, setVisible, show, size, toString, transferFocus, transferFocusUpCycle
 
Methods inherited from class java.lang.Object
clone, equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface java.awt.MenuContainer
getFont, postEvent
 

Field Detail

debug

public static boolean debug

client

public static arlut.csd.ganymede.client.gclient client
we're only going to have one gclient at a time per running client (singleton pattern).


NUM_IMAGE

static final int NUM_IMAGE
See Also:
Constant Field Values

OPEN_BASE

static final int OPEN_BASE
See Also:
Constant Field Values

CLOSED_BASE

static final int CLOSED_BASE
See Also:
Constant Field Values

OPEN_FIELD

static final int OPEN_FIELD
See Also:
Constant Field Values

OPEN_FIELD_DELETE

static final int OPEN_FIELD_DELETE
See Also:
Constant Field Values

OPEN_FIELD_CREATE

static final int OPEN_FIELD_CREATE
See Also:
Constant Field Values

OPEN_FIELD_CHANGED

static final int OPEN_FIELD_CHANGED
See Also:
Constant Field Values

OPEN_FIELD_REMOVESET

static final int OPEN_FIELD_REMOVESET
See Also:
Constant Field Values

OPEN_FIELD_EXPIRESET

static final int OPEN_FIELD_EXPIRESET
See Also:
Constant Field Values

CLOSED_FIELD

static final int CLOSED_FIELD
See Also:
Constant Field Values

CLOSED_FIELD_DELETE

static final int CLOSED_FIELD_DELETE
See Also:
Constant Field Values

CLOSED_FIELD_CREATE

static final int CLOSED_FIELD_CREATE
See Also:
Constant Field Values

CLOSED_FIELD_CHANGED

static final int CLOSED_FIELD_CHANGED
See Also:
Constant Field Values

CLOSED_FIELD_REMOVESET

static final int CLOSED_FIELD_REMOVESET
See Also:
Constant Field Values

CLOSED_FIELD_EXPIRESET

static final int CLOSED_FIELD_EXPIRESET
See Also:
Constant Field Values

OPEN_CAT

static final int OPEN_CAT
See Also:
Constant Field Values

CLOSED_CAT

static final int CLOSED_CAT
See Also:
Constant Field Values

OBJECTNOWRITE

static final int OBJECTNOWRITE
See Also:
Constant Field Values

creditsMessage

java.lang.String creditsMessage

aboutMessage

java.lang.String aboutMessage

session

arlut.csd.ganymede.Session session
Main remote interface for communications with the server.


_myglogin

arlut.csd.ganymede.client.glogin _myglogin
Reference to the applet which instantiated us.


dump

arlut.csd.ganymede.CategoryDump dump
Local copy of the category/object tree downloaded from the server by the buildTree() method.


currentPersonaString

java.lang.String currentPersonaString
Name of the currently active persona.


emptyBorder5

public javax.swing.border.EmptyBorder emptyBorder5

emptyBorder10

public javax.swing.border.EmptyBorder emptyBorder10

raisedBorder

public javax.swing.border.BevelBorder raisedBorder

loweredBorder

public javax.swing.border.BevelBorder loweredBorder

lineBorder

public javax.swing.border.LineBorder lineBorder

statusBorder

public javax.swing.border.CompoundBorder statusBorder

statusBorderRaised

public javax.swing.border.CompoundBorder statusBorderRaised

changedHash

private java.util.Hashtable changedHash
Cache of invid's for objects that might have been changed by the client. The keys and the values in this hash are the same. The collection of tree nodes corresponding to invid's listed in changedHash will be refreshed by the client when a server is committed or cancelled.


deleteHash

private java.util.Hashtable deleteHash
Mapping of invid's for objects that the client has requested be deleted by the server to CacheInfo objects which hold information about the object used to make decisions about managing the client's tree display.


createHash

private java.util.Hashtable createHash
Mapping of invid's for objects that the client has requested be created by the server to CacheInfo objects which hold information about the object used to make decisions about managing the client's tree display.


createdObjectsWithoutNodes

private java.util.Hashtable createdObjectsWithoutNodes
Hash of invid's corresponding to objects that have been created by the client but which have not had nodes created in the client's tree display. Once nodes are created for these objects, the invid will be taken out of this hash and put into createHash.


shortToBaseNodeHash

protected java.util.Hashtable shortToBaseNodeHash

Hash mapping Short Base id's to the corresponding BaseNode displayed in the client's tree display.


invidNodeHash

protected java.util.Hashtable invidNodeHash

Hash mapping Invid's for objects referenced by the client to the corresponding InvidNode displayed in the client's tree display.


cachedLists

protected arlut.csd.ganymede.client.objectCache cachedLists

Our main cache, keeps information about all objects we've learned about via QueryResult's returned to us by the server.

We can get QueryResults from the server by doing direct query calls on the server, or by calling choices() on an invid_field or on a string_field. Information from both sources may be integrated into this cache.


loader

arlut.csd.ganymede.client.Loader loader
Background processing thread, downloads information on object and field types defined in the server when run.


buildingPhase1

private boolean buildingPhase1

buildingPhase2

private boolean buildingPhase2

toolToggle

private boolean toolToggle

showToolbar

private boolean showToolbar

somethingChanged

private boolean somethingChanged

help

arlut.csd.ganymede.client.helpPanel help

motd

arlut.csd.JDialog.messageDialog motd

credits

arlut.csd.JDialog.messageDialog credits

about

arlut.csd.JDialog.messageDialog about

personae

java.util.Vector personae

ownerGroups

java.util.Vector ownerGroups

toolBar

javax.swing.JToolBar toolBar

filterDialog

arlut.csd.ganymede.client.JFilterDialog filterDialog

personaDialog

arlut.csd.ganymede.client.PersonaDialog personaDialog

defaultOwnerDialog

arlut.csd.ganymede.client.JDefaultOwnerDialog defaultOwnerDialog

openDialog

arlut.csd.ganymede.client.openObjectDialog openDialog

createDialog

arlut.csd.ganymede.client.createObjectDialog createDialog

images

java.awt.Image[] images

commit

javax.swing.JButton commit

cancel

javax.swing.JButton cancel

statusPanel

javax.swing.JPanel statusPanel

statusLabel

final javax.swing.JTextField statusLabel
Status field at the bottom of the client.


buildLabel

javax.swing.JLabel buildLabel
Build status field at the bottom of the client.


tree

arlut.csd.JTree.treeControl tree
The client's GUI tree component.


selectedNode

arlut.csd.JTree.treeNode selectedNode
The currently selected node from the client's GUI tree.


errorImage

java.awt.Image errorImage

questionImage

java.awt.Image questionImage

search

java.awt.Image search

queryIcon

java.awt.Image queryIcon

cloneIcon

java.awt.Image cloneIcon

pencil

java.awt.Image pencil

personaIcon

java.awt.Image personaIcon

inactivateIcon

java.awt.Image inactivateIcon

treepencil

java.awt.Image treepencil

trash

java.awt.Image trash

treetrash

java.awt.Image treetrash

creation

java.awt.Image creation

treecreation

java.awt.Image treecreation

newToolbarIcon

java.awt.Image newToolbarIcon

ganymede_logo

java.awt.Image ganymede_logo

createDialogImage

java.awt.Image createDialogImage

idleIcon

javax.swing.ImageIcon idleIcon

buildIcon

javax.swing.ImageIcon buildIcon

buildIcon2

javax.swing.ImageIcon buildIcon2

wp

arlut.csd.ganymede.client.windowPanel wp
JDesktopPane on the right side of the client's display, contains the object and query result internal windows that are created during the client's execution.


objectViewPM

arlut.csd.JTree.treeMenu objectViewPM

objectReactivatePM

arlut.csd.JTree.treeMenu objectReactivatePM

objectInactivatePM

arlut.csd.JTree.treeMenu objectInactivatePM

objectRemovePM

arlut.csd.JTree.treeMenu objectRemovePM

pMenuAll

arlut.csd.JTree.treeMenu pMenuAll

pMenuEditable

arlut.csd.JTree.treeMenu pMenuEditable

pMenuEditableCreatable

arlut.csd.JTree.treeMenu pMen