|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Object
|
+--java.awt.Component
|
+--java.awt.Container
|
+--java.awt.Window
|
+--java.awt.Frame
|
+--javax.swing.JFrame
|
+--arlut.csd.ganymede.client.gclient
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.
| 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 |
public static boolean debug
public static arlut.csd.ganymede.client.gclient client
static final int NUM_IMAGE
static final int OPEN_BASE
static final int CLOSED_BASE
static final int OPEN_FIELD
static final int OPEN_FIELD_DELETE
static final int OPEN_FIELD_CREATE
static final int OPEN_FIELD_CHANGED
static final int OPEN_FIELD_REMOVESET
static final int OPEN_FIELD_EXPIRESET
static final int CLOSED_FIELD
static final int CLOSED_FIELD_DELETE
static final int CLOSED_FIELD_CREATE
static final int CLOSED_FIELD_CHANGED
static final int CLOSED_FIELD_REMOVESET
static final int CLOSED_FIELD_EXPIRESET
static final int OPEN_CAT
static final int CLOSED_CAT
static final int OBJECTNOWRITE
java.lang.String creditsMessage
java.lang.String aboutMessage
arlut.csd.ganymede.Session session
arlut.csd.ganymede.client.glogin _myglogin
arlut.csd.ganymede.CategoryDump dump
buildTree()
method.
java.lang.String currentPersonaString
public javax.swing.border.EmptyBorder emptyBorder5
public javax.swing.border.EmptyBorder emptyBorder10
public javax.swing.border.BevelBorder raisedBorder
public javax.swing.border.BevelBorder loweredBorder
public javax.swing.border.LineBorder lineBorder
public javax.swing.border.CompoundBorder statusBorder
public javax.swing.border.CompoundBorder statusBorderRaised
private java.util.Hashtable changedHash
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.
private java.util.Hashtable deleteHash
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.
private java.util.Hashtable createHash
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.
private java.util.Hashtable createdObjectsWithoutNodes
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.
protected java.util.Hashtable shortToBaseNodeHash
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.
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.
arlut.csd.ganymede.client.Loader loader
private boolean buildingPhase1
private boolean buildingPhase2
private boolean toolToggle
private boolean showToolbar
private boolean somethingChanged
arlut.csd.ganymede.client.helpPanel help
arlut.csd.JDialog.messageDialog motd
arlut.csd.JDialog.messageDialog credits
arlut.csd.JDialog.messageDialog about
java.util.Vector personae
java.util.Vector ownerGroups
javax.swing.JToolBar toolBar
arlut.csd.ganymede.client.JFilterDialog filterDialog
arlut.csd.ganymede.client.PersonaDialog personaDialog
arlut.csd.ganymede.client.JDefaultOwnerDialog defaultOwnerDialog
arlut.csd.ganymede.client.openObjectDialog openDialog
arlut.csd.ganymede.client.createObjectDialog createDialog
java.awt.Image[] images
javax.swing.JButton commit
javax.swing.JButton cancel
javax.swing.JPanel statusPanel
final javax.swing.JTextField statusLabel
javax.swing.JLabel buildLabel
arlut.csd.JTree.treeControl tree
arlut.csd.JTree.treeNode selectedNode
java.awt.Image errorImage
java.awt.Image questionImage
java.awt.Image search
java.awt.Image queryIcon
java.awt.Image cloneIcon
java.awt.Image pencil
java.awt.Image personaIcon
java.awt.Image inactivateIcon
java.awt.Image treepencil
java.awt.Image trash
java.awt.Image treetrash
java.awt.Image creation
java.awt.Image treecreation
java.awt.Image newToolbarIcon
java.awt.Image ganymede_logo
java.awt.Image createDialogImage
javax.swing.ImageIcon idleIcon
javax.swing.ImageIcon buildIcon
javax.swing.ImageIcon buildIcon2
arlut.csd.ganymede.client.windowPanel wp
arlut.csd.JTree.treeMenu objectViewPM
arlut.csd.JTree.treeMenu objectReactivatePM
arlut.csd.JTree.treeMenu objectInactivatePM
arlut.csd.JTree.treeMenu objectRemovePM
arlut.csd.JTree.treeMenu pMenuAll
arlut.csd.JTree.treeMenu pMenuEditable
arlut.csd.JTree.treeMenu pMenuEditableCreatable
arlut.csd.JTree.treeMenu pMenuAllCreatable
javax.swing.JMenuBar menubar
javax.swing.JMenuItem logoutMI
javax.swing.JMenuItem clearTreeMI
javax.swing.JMenuItem filterQueryMI
javax.swing.JMenuItem defaultOwnerMI
javax.swing.JMenuItem showHelpMI
javax.swing.JMenuItem toggleToolBarMI
javax.swing.JCheckBoxMenuItem hideNonEditablesMI
boolean hideNonEditables
boolean defaultOwnerChosen
javax.swing.JMenuItem changePersonaMI
javax.swing.JMenuItem editObjectMI
javax.swing.JMenuItem viewObjectMI
javax.swing.JMenuItem createObjectMI
javax.swing.JMenuItem deleteObjectMI
javax.swing.JMenuItem inactivateObjectMI
javax.swing.JMenuItem menubarQueryMI
java.lang.String my_username
javax.swing.JMenu actionMenu
javax.swing.JMenu windowMenu
javax.swing.JMenu fileMenu
javax.swing.JMenu helpMenu
javax.swing.JMenu PersonaMenu
arlut.csd.JDataComponent.LAFMenu LandFMenu
arlut.csd.ganymede.client.PersonaListener personaListener
arlut.csd.ganymede.client.querybox my_querybox
public arlut.csd.ganymede.client.StatusClearThread statusThread
This thread is used to clear the statusLabel after some interval after it is set.
Whenever the gclient's
setStatus
method is called, this thread has a countdown timer started, which will
clear the status label if it is not reset by another call to setStatus.
public arlut.csd.ganymede.client.SecurityLaunderThread securityThread
This thread is set up to launder RMI build status updates from the server.
In some versions of Sun's JDK, RMI callbacks are not allowed to manipulate the GUI event queue. To get around this, this securityThread is created to launder these RMI callbacks so that the Swing event queue is messed with by a client-local thread.
private int wizardActive
| Constructor Detail |
public gclient(arlut.csd.ganymede.Session s,
arlut.csd.ganymede.client.glogin g)
This is the main constructor for the gclient class.. it handles the interactions between the user and the server once the user has logged in.
s - Connection to the server created for us by the glogin applet.g - The glogin applet which is creating us.| Method Detail |
public static java.lang.String stackTrace(java.lang.Throwable thing)
public void start()
public java.util.Vector getTemplateVector(short id)
Returns a vector of
FieldTemplate's.
id - Object type id to retrieve field information for.
public 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.
public 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.
id - The id number of the object type to be returned the base id.public 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.
public 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.
This method supports client-side caching.. if the list required
has already been retrieved, the cached list will be returned. If
it hasn't, getObjectList() will get the list from the server and
save a local copy in an
objectCache
for future requests.
public void update(java.awt.Graphics g)
update in class javax.swing.JFramepublic final arlut.csd.ganymede.Session getSession()
public final java.awt.Image getErrorImage()
Loads and returns the error Image for use in client dialogs.
Once the image is loaded, it is cached for future calls to getErrorImage().
public final java.awt.Image getQuestionImage()
Loads and returns the question-mark Image for use in client dialogs.
Once the image is loaded, it is cached for future calls to getQuestionmage().
public final java.util.Hashtable getBaseNames()
Returns a hash mapping BaseDump
references to their title.
Checks to see if the baseNames was loaded, and if not, it loads it. Always use this instead of trying to access baseNames directly.
public final java.util.Vector getBaseList()
Returns a Vector of BaseDump objects,
providing a local cache of Base
references that the client consults during operations.
Checks to see if the baseList was loaded, and if not, it loads it. Always use this instead of trying to access the baseList directly.
public java.util.Hashtable getBaseMap()
Returns a hash mapping Short Base id's to
BaseDump objects.
Checks to see if the baseMap was loaded, and if not, it loads it. Always use this instead of trying to access the baseMap directly.
public java.util.Hashtable getBaseToShort()
Returns a hashtable mapping BaseDump
references to their object type id in Short form. This is
a holdover from a time when the client didn't create local copies
of the server's Base references.
Checks to see if the basetoShort was loaded, and if not, it loads it. Always use this instead of trying to access the baseToShort directly.
public java.lang.String getObjectType(arlut.csd.ganymede.Invid objId)
Returns the type name for a given object.
If the loader thread hasn't yet downloaded that information, this method will block until the information is available.
public java.lang.String getObjectTitle(arlut.csd.ganymede.Invid objId)
This method returns a concatenated string made up of the object type and object name.
public 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.
If no handle for this invid has been cached, this method will attempt to retrieve one from the server.
public 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.
If no handle for this invid has been cached, this method will attempt to retrieve one from the server.
The Short type parameter is just a micro-optimizing convenience for code that already has such a Short constructed. This method will work perfectly well if the type parameter is null.
public final void setStatus(java.lang.String status)
Sets text in the status bar, with a 5 second countdown before the status bar is cleared.
status - The text to display
public final void setStatus(java.lang.String status,
int timeToLive)
Sets text in the status bar, with a defined countdown before the status bar is cleared.
status - The text to displaytimeToLive - Number of seconds to wait until clearing the status bar.
If zero or negative, the status bar timer will not clear the field until
the status bar is changed by another call to setStatus.public final void softTimeout()
This method is triggered by the Ganymede server if the client is idle long enough. This method will downgrade the user's login to a minimum privilege level if possible, requiring the user to enter their admin password again to regain admin privileges.
public final void setBuildStatus(java.lang.String status)
Sets text in the build status bar
status - The text to displaypublic arlut.csd.ganymede.client.InvidNode getSelectedObjectNode()
Returns the node of the object currently selected in the tree, if any. Returns null if there are no nodes selected in the tree, of if the node selected in the tree is not an object node.
public java.lang.String getStatus()
public void showHelpWindow()
Show the help window.
This might someday take an argument, which would show a starting page or some more specific help.
public void showAboutMessage()
public void showCredits()
public void showMOTD()
public void showMOTD(java.lang.String message,
boolean html)
message - The message to display. May be multiline.html - If true, showMOTD() will display the motd with a html
renderer, in Swing 1.1b2 and later.public final void showErrorMessage(java.lang.String message)
public final void showErrorMessage(java.lang.String title,
java.lang.String message)
public final void showErrorMessage(java.lang.String title,
java.lang.String message,
java.awt.Image icon)
title - title of dialog.message - Text of dialog.icon - optional icon to display.public void setWaitCursor()
public void setNormalCursor()
Set the cursor to the normal cursor(usually a pointer.)
This is dependent on the operating system.
public final void somethingChanged()
This indeicates that something in the database was changed, so cancelling this transaction will have consequences.
This should be called whenever the client makes any changes to the database. That includes creating objects, editting fields of objects, removing objects, renaming, expiring, deleting, inactivating, and so on. It is very important to call this whenever something might have changed.
private void setSomethingChanged(boolean state)
public boolean getSomethingChanged()
public boolean isApplet()
public 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.
Use the ReturnVal returned from this function after this function is called to determine the ultimate success or failure of any operation which returns ReturnVal, because a wizard sequence may determine the ultimate result.
This method should not be synchronized, since handleReturnVal may pop up modal (thread-blocking) dialogs, and if we we synchronize this, some Swing or AWT code seems to block on our synchronization when we do pop-up dialogs. It's not any of my code, so I assume that AWT tries to synchronize on the frame when parenting a new dialog.
javax.swing.JToolBar createToolbar()
void clearTree()
Clears out the client's tree.
All Nodes will be removed, and the Category and BaseNodes will be rebuilt. No InvidNodes will be added.
void buildTree()
throws java.rmi.RemoteException
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.
java.rmi.RemoteException
void recurseDownCategories(arlut.csd.ganymede.CatTreeNode node,
arlut.csd.ganymede.Category c)
throws java.rmi.RemoteException
Recurses down the category tree obtained from the server, loading the client's tree with category and object folder nodes.
java.rmi.RemoteException
arlut.csd.JTree.treeNode insertCategoryNode(arlut.csd.ganymede.CategoryNode node,
arlut.csd.JTree.treeNode prevNode,
arlut.csd.JTree.treeNode parentNode)
throws java.rmi.RemoteException
java.rmi.RemoteException
void refreshObjects(arlut.csd.ganymede.client.BaseNode node,
boolean doRefresh)
throws java.rmi.RemoteException
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.
node - Tree node corresponding to the object type being refreshed
in the client's tree.doRefresh - If true, causes the tree to update its display.
java.rmi.RemoteException
void refreshTreeAfterCommit()
throws java.rmi.RemoteException
Updates the tree for the nodes that might have changed.
This method fixes all the icons, removing icons that were marked as to-be-deleted or dropped, and cleans out the various hashes. Only call this when commit is clicked. This replaces refreshTree(boolean committed), because all the refreshing to be done after a cancel is now handled in the cancelTransaction() method directly.
This method is precisely analagous in function to
cleanUpAfterCancel(),
except for use after a commit.
java.rmi.RemoteException
public 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.
The results from the queries are used to update the icons
in the tree.
Called by refreshTreeAfterCommit().
This method is called from
refreshTreeAfterCommit().
paramVect - Vector of invid's to refresh.afterCommit - If true, this method will update the client's status
bar as it progresses.public void refreshChangedObject(arlut.csd.ganymede.Invid invid)
public void setIconForNode(arlut.csd.ganymede.Invid invid)
Updates a database object's icon in the tree display. This method uses the various client-side caches and hashes to determine the proper icon for the node.
This method does not actually induce the tree to refresh itself, and may be called in bulk for a lot of nodes efficiently.
public void editObject(arlut.csd.ganymede.Invid invid)
Opens a new framePanel
window to allow the user to edit an object.
Use this to edit objects, so gclient can keep track of the caches, tree nodes, and all the other dirty work. This should be the only place windowPanel.addWindow() is called for editing purposes.
invid - id for the object to be edited in the new window.
public void editObject(arlut.csd.ganymede.Invid invid,
java.lang.String objectType)
Opens a new framePanel
window to allow the user to edit an object.
Use this to edit objects, so gclient can keep track of the caches, tree nodes, and all the other dirty work. This should be the only place windowPanel.addWindow() is called for editing purposes.
invid - id for the object to be edited in the new window.objectType - String describing the kind of object being edited,
used in the titlebar of the window created.public 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.
public 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.
type - Type of object to be createdpublic void viewObject(arlut.csd.ganymede.Invid invid)
Opens a new framePanel
window to view the object corresponding to the given invid.
public 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.
objectType - Type of the object to be viewed.. if this is
null, the server will be queried to determine the type of object
for the title-bar of the view object window. By providing it
here from a local cache, and server-call can be saved.
public void deleteObject(arlut.csd.ganymede.Invid invid,
boolean showDialog)
Marks an object on the server as deleted. The object will not actually be removed from the database until the transaction is committed.
This method does a fair amount of internal bookkeeping to manage the client's tree display, status caching, etc.
invid - The object invid identifier to be deletedshowDialog - If true, we'll show a dialog box asking the user
if they are sure they want to delete the object in question.public void inactivateObject(arlut.csd.ganymede.Invid invid)
Marks an object on the server as inactivated. The object will not actually be removed from the database until the transaction is committed. Note that the inactivation request will typically cause a dialog to come back from the server requesting the user fill in parameters describing how the object is to be inactivated.
This method does a fair amount of internal bookkeeping to manage the client's tree display, status caching, etc.
public boolean reactivateObject(arlut.csd.ganymede.Invid invid)
Reactivates an object that was previously inactivated. The object's status will not actually be changed in the database until the transaction is committed. Note that the reactivation request will typically cause a dialog to come back from the server requesting the user fill in parameters describing how the object is to be reactivated.
Typically reactivating an object involves clearing the removal date from I think you should call this from the expiration date panel if the date is cleared.
void createObjectDialog()
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.
If an object node is selected in the client's tree, the dialog will be pre-loaded with the type and name of the selected node.
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.
If an object node is selected in the client's tree, the dialog will be pre-loaded with the type and name of the selected node.
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.
If an object node is selected in the client's tree, the dialog will be pre-loaded with the type and name of the selected node.
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.
If a node is selected in the client's tree, the dialog will be pre-loaded with the type and name of the selected object.
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.
If a node is selected in the client's tree, the dialog will be pre-loaded with the type and name of the selected object.
void changePersona(boolean requirePassword)
Creates and presents a dialog to let the user change their selected persona.
gclient's personaListener reacts to events from the persona change dialog and will react appropriately as needed. This method doesn't actually do anything other than display the dialog.
PersonaDialog is modal, however, so this method will block until the user makes a choice in the dialog box.
arlut.csd.ganymede.client.PersonaDialog getPersonaDialog()
Returns a reference to the most recently created persona dialog.
void logout()
Logs out from the client.
This method does not do any checking, it just logs out.
public void chooseFilter()
Create a custom query filter.
The filter is used to limit the output on a query, so that supergash can see the world through the eyes of a less-privileged persona. This seemed like a good idea at one point, not sure how valuable this really is anymore.
public 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.
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.
public void chooseDefaultOwner(boolean forcePopup)
Chooses the default owner group for a newly created object.
This must be called before Session.create_db_object is called.
public boolean defaultOwnerChosen()
boolean OKToProceed()
Check for changes in the database before logging out.
This checks to see if anything has been changed. Basically, if edit panels are open and have been changed in any way, then somethingChanged will be true and the user will be warned. If edit panels are open but have not been changed, then it will return true(it is ok to proceed).
void updateNotePanels()
Updates the note panels in the open windows.
The note panel doesn't have a listener on the TextArea, so when a transaction is committed, this must be called on each notePanel in order to update the server.
This basically does a field.setValue(notesArea.getValue()) on each notesPanel.
THIS IS A PRETTY BIG HACK.
public void commitTransaction()
Commits the currently open transaction on the server. All changes made by the user since the last openNewTransaction() call will be integrated into the database on the Ganymede server.
For various reasons, the server may reject the transaction as incomplete. Usually this will be a non-fatal error.. the user will see a dialog telling him what else needs to be filled out in order to commit the transaction. In this case, commitTransaction() will have had no effect and the user is free to try again.
If the transaction is committed successfully, the relevant object nodes in the tree will be fixed up to reflect their state after the transaction is committed. commitTransaction() will close all open editing windows, and will call openNewTransaction() to prepare the server for further changes by the user.
public void cancelTransaction()
Cancels the current transaction. Any changes made by the user since the last openNewTransaction() call will be forgotten as if they never happened. The client's tree display will be reverted to the state it was when the transaction was started, and all open windows will be closed.
private void cleanUpAfterCancel()
Cleans up the tree and gclient's caches.
This method is precisely analagous in function to
refreshTreeAfterCommit(),
except for use after a cancel, when nodes marked as deleted are not removed from the tree,
and nodes marked as created are not kept.
private void openNewTransaction()
void toggleToolBar()
public void actionPerformed(java.awt.event.ActionEvent event)
Handles button and menu picks. Includes logic for threading out queries and message panels to avoid locking the Java GUI thread.
actionPerformed in interface java.awt.event.ActionListenervoid postQuery(arlut.csd.ganymede.BaseDump base)
Pop up the query box
void openAnInvid()
public void addTableWindow(arlut.csd.ganymede.Session session,
arlut.csd.ganymede.Query query,
arlut.csd.ganymede.DumpResult buffer,
java.lang.String title)
protected void processWindowEvent(java.awt.event.WindowEvent e)
processWindowEvent in class javax.swing.JFramepublic 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.
setValuePerformed in interface JsetValueCallbackJsetValueCallback,
JValueObjectpublic void treeNodeExpanded(arlut.csd.JTree.treeNode node)
treeNodeExpanded in interface treeCallbacknode - The node opened in the tree.treeCanvaspublic void treeNodeContracted(arlut.csd.JTree.treeNode node)
treeNodeContracted in interface treeCallbacktreeCanvaspublic void treeNodeSelected(arlut.csd.JTree.treeNode node)
treeNodeSelected in interface treeCallbacknode - The node selected in the tree.treeCanvaspublic void treeNodeDoubleClicked(arlut.csd.JTree.treeNode node)
treeCallback
treeNodeDoubleClicked in interface treeCallbacknode - The node selected in the tree.treeCanvas
public void treeNodeUnSelected(arlut.csd.JTree.treeNode node,
boolean otherNode)
treeCallback
treeNodeUnSelected in interface treeCallbacknode - The node selected in the tree.otherNode - If true, this node is being unselected by the selection
of another node.treeCanvas
public void treeNodeMenuPerformed(arlut.csd.JTree.treeNode node,
java.awt.event.ActionEvent event)
treeNodeMenuPerformed in interface treeCallbacknode - The node selected in the tree.treeCanvaspublic java.util.Vector sortListHandleVector(java.util.Vector v)
v - Vector to be sorted
public java.util.Vector sortStringVector(java.util.Vector v)
public void cleanUp()
This method does all the clean up required to let garbage collection tear everything completely down.
This method must be called from the Java GUI thread.
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||