org.shaker.dwu
Class BlackBoard

java.lang.Object
  |
  +--java.awt.Component
        |
        +--java.awt.Container
              |
              +--javax.swing.JComponent
                    |
                    +--javax.swing.JPanel
                          |
                          +--org.shaker.dwu.BlackBoard
All Implemented Interfaces:
javax.accessibility.Accessible, java.awt.event.ActionListener, java.util.EventListener, java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable

public final class BlackBoard
extends javax.swing.JPanel
implements java.awt.event.ActionListener

This class provides a embeddable panel that can be used to view statistics like

Furthermore, you can send queued profiles and start the wizard to reconfigure the settings.
In opposite to DocWhatsUp dialogs, you need no occured error, so it can be created&embedded whereever and whenever it`s needed.

Author:
Philipp Bartsch (codeshaker@gmx.net), GPL License
See Also:
Serialized Form

Inner classes inherited from class javax.swing.JPanel
javax.swing.JPanel.AccessibleJPanel
 
Inner classes inherited from class javax.swing.JComponent
javax.swing.JComponent.AccessibleJComponent, javax.swing.JComponent.ActionStandin, javax.swing.JComponent.IntVector, javax.swing.JComponent.KeyboardState
 
Inner classes inherited from class java.awt.Container
java.awt.Container.AccessibleAWTContainer
 
Inner classes inherited from class java.awt.Component
java.awt.Component.AccessibleAWTComponent, java.awt.Component.AWTTreeLock
 
Field Summary
private  java.awt.Window parent
          The parental Component
private  javax.swing.JPanel profView
          BugProfile`s Panel
private  javax.swing.JPanel propView
          Properties Panel
private static java.lang.String SEND_ALL
          ActionCommand: Send all reports
private  javax.swing.JButton sendBtn
          Send button
private static Settings SETTINGS
          A reference to the settings
private static java.lang.String SHOW_WIZARD
          ActionCommand: Start the wizard
private  javax.swing.JLabel statusLabel
          The label of the statusbar
private  javax.swing.JLabel statusMsg
          The statusbar itself
private  javax.swing.JButton wizardBtn
          Wizard starter button
 
Fields inherited from class javax.swing.JPanel
defaultLayout, uiClassID
 
Fields inherited from class javax.swing.JComponent
_bounds, accessibleContext, actionMap, ACTIONMAP_CREATED, alignmentX, alignmentY, ANCESTOR_INPUTMAP_CREATED, ANCESTOR_USING_BUFFER, ancestorInputMap, ancestorNotifier, autoscroller, border, changeSupport, clientProperties, CREATED_DOUBLE_BUFFER, flags, FOCUS_INPUTMAP_CREATED, focusInputMap, HAS_FOCUS, htmlKey, htmlView, inputVerifier, IS_DOUBLE_BUFFERED, IS_OPAQUE, IS_PAINTING_TILE, IS_PRINTING, IS_PRINTING_ALL, KEY_EVENTS_ENABLED, KEYBOARD_BINDINGS_KEY, listenerList, maximumSize, minimumSize, NEXT_FOCUS, paintImmediatelyClip, paintingChild, preferredSize, readObjectCallbacks, REQUEST_FOCUS_DISABLED, tmpRect, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, verifyInputWhenFocusTarget, vetoableChangeSupport, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW, WHEN_IN_FOCUSED_WINDOW_BINDINGS, WIF_INPUTMAP_CREATED, windowInputMap
 
Fields inherited from class java.awt.Container
component, containerListener, containerSerializedDataVersion, dbg, dispatcher, layoutMgr, listeningBoundsChildren, listeningChildren, maxSize, ncomponents, printing, printingThreads, serialVersionUID
 
Fields inherited from class java.awt.Component
actionListenerK, adjustmentListenerK, appContext, background, BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, componentListener, componentListenerK, componentOrientation, componentSerializedDataVersion, containerListenerK, cursor, dropTarget, enabled, eventMask, focusListener, focusListenerK, font, foreground, graphicsConfig, hasFocus, height, hierarchyBoundsListener, hierarchyBoundsListenerK, hierarchyListener, hierarchyListenerK, incRate, inputMethodListener, inputMethodListenerK, isInc, isPacked, itemListenerK, keyListener, keyListenerK, LEFT_ALIGNMENT, locale, LOCK, metrics, minSize, mouseListener, mouseListenerK, mouseMotionListener, mouseMotionListenerK, name, nameExplicitlySet, newEventsOnly, ownedWindowK, peer, peerFont, popups, prefSize, privateKey, RIGHT_ALIGNMENT, textListenerK, TOP_ALIGNMENT, valid, visible, width, windowClosingException, windowListenerK, x, y
 
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Constructor Summary
(package private) BlackBoard(java.awt.Window parentalContainer)
          Creates an ready-to-use BlackBoard instance.
 
Method Summary
 void actionPerformed(java.awt.event.ActionEvent ae)
          Handles SHOW_WIZARD and SEND_ALL ActionEvents.
private  javax.swing.JPanel initConfigPanel()
          Inits a configuration information panel and displays the current mail configuration based on .default.settings or .custom.settings.
private  javax.swing.JPanel initDescriptionPanel()
          Inits a general information panel about DocWhatsUp.
private  void initPropertiesSummary()
          Inits the propView panel, that visualises the mail config settings.
private  void initStatusLabels()
          Inits the status bar labels.
private  javax.swing.JPanel initSubmissionPanel()
          Inits a submission information panel.
private  void initSubmissionSummary()
          Inits the sendView panel, that visualises all submission informations.
private  void resetStatus(java.lang.String dictKey, boolean isError)
          Resets the embedded status panel.
private static java.lang.String toTransferSize(int count)
          Returns the estimated amount in kb of a given Bug Profiles count.
 
Methods inherited from class javax.swing.JPanel
, getAccessibleContext, getUIClassID, paramString, updateUI, writeObject
 
Methods inherited from class javax.swing.JComponent
_paintImmediately, addAncestorListener, addNotify, addPropertyChangeListener, addPropertyChangeListener, addVetoableChangeListener, adjustPaintFlags, alwaysOnTop, checkIfChildObscuredBySibling, clearFocusOwners, componentInputMapChanged, computeVisibleRect, computeVisibleRect, compWriteObjectNotify, contains, createToolTip, disable, enable, enableSerialization, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getActionMap, getAlignmentX, getAlignmentY, getAutoscrolls, getBorder, getBounds, getClientProperties, getClientProperty, getComponentGraphics, getConditionForKeyStroke, getCreatedDoubleBuffer, getDebugGraphicsOptions, getFlag, getGraphics, getHeight, getInputMap, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getVerifyInputWhenFocusTarget, getVisibleRect, getWidth, getX, getY, grabFocus, hasFocus, hide, isDoubleBuffered, isFocusCycleRoot, isFocusTraversable, isLightweightComponent, isManagingFocus, isMaximumSizeSet, isMinimumSizeSet, isOpaque, isOptimizedDrawingEnabled, isPaintingTile, isPreferredSizeSet, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, paintWithBuffer, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processFocusEvent, processKeyBinding, processKeyBindings, processKeyBindingsForAllComponents, processKeyEvent, processMouseMotionEvent, putClientProperty, readObject, rectangleIsObscured, rectangleIsObscuredBySibling, registerKeyboardAction, registerKeyboardAction, registerWithKeyboardManager, registerWithKeyboardManager, removeAncestorListener, removeNotify, removePropertyChangeListener, removePropertyChangeListener, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setCreatedDoubleBuffer, setDebugGraphicsOptions, setDoubleBuffered, setEnabled, setFlag, setFont, setForeground, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPaintingChild, setPreferredSize, setRequestFocusEnabled, setToolTipText, setUI, setVerifyInputWhenFocusTarget, setVisible, shouldDebugGraphics, superProcessMouseMotionEvent, unregisterKeyboardAction, unregisterWithKeyboardManager, unregisterWithKeyboardManager, update
 
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, addImpl, adjustListeningChildren, applyOrientation, checkGD, countComponents, createChildHierarchyEvents, createHierarchyEvents, deliverEvent, dispatchEventImpl, dispatchEventToSelf, doLayout, eventEnabled, findComponentAt, findComponentAt, findComponentAt, getAccessibleAt, getAccessibleChild, getAccessibleChildrenCount, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents_NoClientCode, getComponents, getLayout, getMouseEventTarget, getWindow, initIDs, insets, invalidate, invalidateTree, isAncestorOf, layout, lightweightPaint, lightweightPrint, list, list, locate, minimumSize, nextFocus, numListening, paintComponents, paintHeavyweightComponents, postProcessKeyEvent, postsOldMouseEvents, preferredSize, preProcessKeyEvent, printComponents, printHeavyweightComponents, processContainerEvent, processEvent, proxyEnableEvents, proxyRequestFocus, remove, remove, removeAll, removeContainerListener, setFocusOwner, setLayout, transferFocus, validate, validateTree
 
Methods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, areInputMethodsEnabled, bounds, checkImage, checkImage, checkWindowClosingException, coalesceEvents, constructComponentName, contains, createImage, createImage, disableEvents, dispatchEvent, enable, enableEvents, enableInputMethods, getAccessibleIndexInParent, getAccessibleStateSet, getBackground, getBounds, getColorModel, getComponentOrientation, getCursor, getDropTarget, getFont_NoClientCode, getFont, getFontMetrics, getForeground, getGraphicsConfiguration, getInputContext, getInputMethodRequests, getLocale, getLocation, getLocationOnScreen_NoTreeLock, getLocationOnScreen, getName, getNativeContainer, getParent_NoClientCode, getParent, getPeer, getSize, getToolkit, getToolkitImpl, getTreeLock, getWindowForObject, gotFocus, handleEvent, imageUpdate, inside, isDisplayable, isEnabled, isEnabledImpl, isLightweight, isRecursivelyVisible, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, processComponentEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processMouseEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, repaint, repaint, repaint, resetGC, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setLocale, setLocation, setLocation, setName, setSize, setSize, show, show, size, toString, transferFocus
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, registerNatives, wait, wait, wait
 

Field Detail

SHOW_WIZARD

private static final java.lang.String SHOW_WIZARD
ActionCommand: Start the wizard

SEND_ALL

private static final java.lang.String SEND_ALL
ActionCommand: Send all reports

SETTINGS

private static final Settings SETTINGS
A reference to the settings

statusLabel

private final javax.swing.JLabel statusLabel
The label of the statusbar

statusMsg

private final javax.swing.JLabel statusMsg
The statusbar itself

parent

private final java.awt.Window parent
The parental Component

propView

private final javax.swing.JPanel propView
Properties Panel

profView

private final javax.swing.JPanel profView
BugProfile`s Panel

sendBtn

private final javax.swing.JButton sendBtn
Send button

wizardBtn

private final javax.swing.JButton wizardBtn
Wizard starter button
Constructor Detail

BlackBoard

BlackBoard(java.awt.Window parentalContainer)
Creates an ready-to-use BlackBoard instance. Only DWUFactory calls this constructor.
Parameters:
parentalContainer - the container (JFrame or JDialog) that holds this panel
Method Detail

initDescriptionPanel

private javax.swing.JPanel initDescriptionPanel()
Inits a general information panel about DocWhatsUp.
Returns:
the description panel

initConfigPanel

private javax.swing.JPanel initConfigPanel()
Inits a configuration information panel and displays the current mail configuration based on .default.settings or .custom.settings.
Returns:
the config panel

initPropertiesSummary

private void initPropertiesSummary()
Inits the propView panel, that visualises the mail config settings. It is called whenever the wizard, started within this console, has changed something.

initSubmissionPanel

private javax.swing.JPanel initSubmissionPanel()
Inits a submission information panel. Just displays the size of the Profile queue and the size of the submission property in submitted.properties. Includes a size statement in kb.
Returns:
the submission overview panel

initStatusLabels

private void initStatusLabels()
Inits the status bar labels.

initSubmissionSummary

private void initSubmissionSummary()
Inits the sendView panel, that visualises all submission informations. It is called whenever the MailEngine, started by the BlackBoard, has send something.

resetStatus

private void resetStatus(java.lang.String dictKey,
                         boolean isError)
Resets the embedded status panel.
Parameters:
dictKey - the message dictionary key
isError - is true, the label has a red foreground

toTransferSize

private static java.lang.String toTransferSize(int count)
Returns the estimated amount in kb of a given Bug Profiles count. This value depends on the format and amount, so it`s estimates an amount of 3 Kbyte per mail (an average between text and html).
Parameters:
count - the number of profiles
Returns:
String estimated transfer amount in Kbyte

actionPerformed

public final void actionPerformed(java.awt.event.ActionEvent ae)
Handles SHOW_WIZARD and SEND_ALL ActionEvents.
Specified by:
actionPerformed in interface java.awt.event.ActionListener
Parameters:
ae - the event
See Also:
show configuration wizard command, send all reports command