public class ColoredUI
extends de.hawhamburg.reachability.ui.UI
implements de.hawhamburg.reachability.tools.feeder.SensorDataFeederNotifiable
javax.swing.JFrame.AccessibleJFrame
java.awt.Window.AccessibleAWTWindow, java.awt.Window.Type
Modifier and Type | Field and Description |
---|---|
private java.util.Map<de.hawhamburg.reachability.enumeration.ReachabilityGroup,javax.swing.JPanel> |
colorPanels
The different control
JPanel for each ReachabilityGroup as Map for refreshing. |
private de.hawhamburg.livingplace.messaging.activemq.wrapper.LPPublisher |
controlTopic
The
LPPublisher to send control messages like start, stop, sleep to the reachability agent via AMQ using
the topic LP_CONTROL_TOPIC. |
private de.hawhamburg.livingplace.messaging.activemq.wrapper.LPPublisher |
sendUserFeedback
The
LPPublisher to send the user feedback via the AMQ topic REACHABILITY_AGENT_TOPIC. |
private static long |
serialVersionUID
Some unique serial version id.
|
private javax.swing.JMenuItem |
showSimulationMenuItem
The menu item which opens the simulation control dialog.
|
private de.hawhamburg.reachability.tools.feeder.SensorDataFeeder |
simulationFeeder
The current running simulation tool as
SensorDataFeeder . |
private javax.swing.JMenuItem |
startSimulationMenuItem
The menu item which opens the start simulation dialog.
|
private java.util.Map<de.hawhamburg.reachability.enumeration.ReachabilityGroup,de.hawhamburg.reachability.enumeration.ReachabilityStatus> |
status
The current known reachability state.
|
private ColoredUIUpdater |
updater
The
ColoredUIUpdater which keeps the user interface up to date. |
accessibleContext, EXIT_ON_CLOSE, rootPane, rootPaneCheckingEnabled
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
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
Constructor and Description |
---|
ColoredUI()
Creates a new colored reachability user interface.
|
Modifier and Type | Method and Description |
---|---|
void |
actionPerformed(java.awt.event.ActionEvent e) |
protected void |
addMenu()
This method adds a menu to the user interface.
|
private void |
displayColorKey()
Opens a new dialog which shows the mapping of
Color to ReachabilityStatus . |
private java.awt.GridLayout |
getGrid()
Returns a user interface grid.
|
de.hawhamburg.reachability.json.JsonReachabilityInstruction |
getInstructionMsg(de.hawhamburg.reachability.enumeration.ReachabilityGroup theGroup,
de.hawhamburg.reachability.enumeration.ReachabilityStatus theStatus)
Calls
getInstructionMsg(ReachabilityGroup, ReachabilityStatus, String) with a blank String as
remark and returns its result. |
de.hawhamburg.reachability.json.JsonReachabilityInstruction |
getInstructionMsg(de.hawhamburg.reachability.enumeration.ReachabilityGroup theGroup,
de.hawhamburg.reachability.enumeration.ReachabilityStatus theStatus,
java.lang.String theRemark)
Generates a
JsonReachabilityInstruction messages and returns it. |
private java.awt.Color |
getStatusColor(de.hawhamburg.reachability.enumeration.ReachabilityStatus theStatus)
Reveals the color for a certain
ReachabilityStatus . |
static void |
main(java.lang.String[] args)
Starts a new
ColoredUI in the systems look and feel. |
void |
mousePressed(java.awt.event.MouseEvent e) |
void |
refresh(boolean refresh)
Initial build of this user interface.
|
void |
refresh(java.util.Map<de.hawhamburg.reachability.enumeration.ReachabilityGroup,de.hawhamburg.reachability.enumeration.ReachabilityStatus> newStatus)
Refreshes the cached
ReachabilityStatus and the user interface. |
void |
registerSimulationFeeder(de.hawhamburg.reachability.tools.feeder.SensorDataFeeder feeder)
Registers a new simulation feeder.
|
void |
sendControl(de.hawhamburg.lifecycle.data.ConfigOrder x)
Sends a
ConfigOrder in a JsonConfigOrder messages via AMQ to the reachability agent. |
private void |
showSimulationDetailsDialog()
Opens a new dialog to show the current simulation state.
|
void |
shutDown() |
private void |
startSimulationDialog()
Open a new dialog to start a simulation.
|
void |
unregisterSimulationFeeder(de.hawhamburg.reachability.tools.feeder.SensorDataFeeder feeder)
Unregisters a simulation feeder.
|
private void |
updateStatusRow()
Adds or updates the user interfaces status row with correct color to group mapping.
|
addBody, autoPosition, build, fixBounds, getBody, getCommonConfigValue, getConfigValue, getConfigValueAsInteger, getFrameConfigValue, getFrameConfigValueAsInteger, getGrid, getId, getParentWindow, getTimer, getWindowHeight, getWindowWidth, infoDialog, isStandalone, keyPressed, keyReleased, keyTyped, killWindow, loadConfig, loadLocalConfig, mouseClicked, mouseEntered, mouseExited, mouseReleased, refresh, setWindowHeight, setWindowWidth, stopTimer, windowActivated, windowClosed, windowClosing, windowDeactivated, windowDeiconified, windowIconified, windowOpened
addImpl, createRootPane, frameInit, getAccessibleContext, getContentPane, getDefaultCloseOperation, getGlassPane, getGraphics, getJMenuBar, getLayeredPane, getRootPane, getTransferHandler, isDefaultLookAndFeelDecorated, isRootPaneCheckingEnabled, paramString, processWindowEvent, remove, repaint, setContentPane, setDefaultCloseOperation, setDefaultLookAndFeelDecorated, setGlassPane, setIconImage, setJMenuBar, setLayeredPane, setLayout, setRootPane, setRootPaneCheckingEnabled, setTransferHandler, update
addNotify, getCursorType, getExtendedState, getFrames, getIconImage, getMaximizedBounds, getMenuBar, getState, getTitle, isResizable, isUndecorated, remove, removeNotify, setBackground, setCursor, setExtendedState, setMaximizedBounds, setMenuBar, setOpacity, setResizable, setShape, setState, setTitle, setUndecorated
addPropertyChangeListener, addPropertyChangeListener, addWindowFocusListener, addWindowListener, addWindowStateListener, applyResourceBundle, applyResourceBundle, createBufferStrategy, createBufferStrategy, dispose, getBackground, getBufferStrategy, getFocusableWindowState, getFocusCycleRootAncestor, getFocusOwner, getFocusTraversalKeys, getIconImages, getInputContext, getListeners, getLocale, getModalExclusionType, getMostRecentFocusOwner, getOpacity, getOwnedWindows, getOwner, getOwnerlessWindows, getShape, getToolkit, getType, getWarningString, getWindowFocusListeners, getWindowListeners, getWindows, getWindowStateListeners, hide, isActive, isAlwaysOnTop, isAlwaysOnTopSupported, isAutoRequestFocus, isFocusableWindow, isFocusCycleRoot, isFocused, isLocationByPlatform, isOpaque, isShowing, isValidateRoot, pack, paint, postEvent, processEvent, processWindowFocusEvent, processWindowStateEvent, removeWindowFocusListener, removeWindowListener, removeWindowStateListener, reshape, setAlwaysOnTop, setAutoRequestFocus, setBounds, setBounds, setCursor, setFocusableWindowState, setFocusCycleRoot, setIconImages, setLocation, setLocation, setLocationByPlatform, setLocationRelativeTo, setMinimumSize, setModalExclusionType, setSize, setSize, setType, setVisible, show, toBack, toFront
add, add, add, add, add, addContainerListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getAlignmentX, getAlignmentY, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalPolicy, getInsets, getLayout, getMaximumSize, getMinimumSize, getMousePosition, getPreferredSize, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, print, printComponents, processContainerEvent, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusTraversalKeys, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setFont, transferFocusDownCycle, validate, validateTree
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, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBaseline, getBaselineResizeBehavior, getBounds, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getGraphicsConfiguration, getHeight, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocation, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, 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, isMaximumSizeSet, isMinimumSizeSet, isPreferredSizeSet, 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, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resize, resize, revalidate, setComponentOrientation, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeysEnabled, setForeground, setIgnoreRepaint, setLocale, setMaximumSize, setName, setPreferredSize, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
private static final long serialVersionUID
private java.util.Map<de.hawhamburg.reachability.enumeration.ReachabilityGroup,de.hawhamburg.reachability.enumeration.ReachabilityStatus> status
private de.hawhamburg.livingplace.messaging.activemq.wrapper.LPPublisher sendUserFeedback
LPPublisher
to send the user feedback via the AMQ topic REACHABILITY_AGENT_TOPIC.private de.hawhamburg.livingplace.messaging.activemq.wrapper.LPPublisher controlTopic
LPPublisher
to send control messages like start, stop, sleep to the reachability agent via AMQ using
the topic LP_CONTROL_TOPIC.private ColoredUIUpdater updater
ColoredUIUpdater
which keeps the user interface up to date.private de.hawhamburg.reachability.tools.feeder.SensorDataFeeder simulationFeeder
SensorDataFeeder
.private javax.swing.JMenuItem startSimulationMenuItem
private javax.swing.JMenuItem showSimulationMenuItem
private java.util.Map<de.hawhamburg.reachability.enumeration.ReachabilityGroup,javax.swing.JPanel> colorPanels
JPanel
for each ReachabilityGroup
as Map
for refreshing.protected final void addMenu()
addMenu
in class de.hawhamburg.reachability.ui.UI
private java.awt.GridLayout getGrid()
private void updateStatusRow()
private java.awt.Color getStatusColor(de.hawhamburg.reachability.enumeration.ReachabilityStatus theStatus)
ReachabilityStatus
.theStatus
- The ReachabilityStatus
for which the color shall be determined.Color
corresponding to the ReachabilityStatus
.public final void actionPerformed(java.awt.event.ActionEvent e)
actionPerformed
in interface java.awt.event.ActionListener
actionPerformed
in class de.hawhamburg.reachability.ui.UI
e
- An ActionEvent
.ActionListener.actionPerformed(java.awt.event.ActionEvent)
public final void mousePressed(java.awt.event.MouseEvent e)
mousePressed
in interface java.awt.event.MouseListener
mousePressed
in class de.hawhamburg.reachability.ui.UI
e
- A MouseEvent
.MouseListener.mousePressed(java.awt.event.MouseEvent)
public final void shutDown()
shutDown
in interface de.hawhamburg.reachability.StopableObject
shutDown
in class de.hawhamburg.reachability.ui.UI
StopableObject.shutDown()
private void startSimulationDialog()
private void showSimulationDetailsDialog()
private void displayColorKey()
Color
to ReachabilityStatus
.public final void refresh(boolean refresh)
refresh
in class de.hawhamburg.reachability.ui.UI
refresh
- Indicates if this method was called with the intention to re-render the interface.public final void refresh(java.util.Map<de.hawhamburg.reachability.enumeration.ReachabilityGroup,de.hawhamburg.reachability.enumeration.ReachabilityStatus> newStatus)
ReachabilityStatus
and the user interface.newStatus
- A hash Map
containing the current ReachabilityStatus
.public final de.hawhamburg.reachability.json.JsonReachabilityInstruction getInstructionMsg(de.hawhamburg.reachability.enumeration.ReachabilityGroup theGroup, de.hawhamburg.reachability.enumeration.ReachabilityStatus theStatus)
getInstructionMsg(ReachabilityGroup, ReachabilityStatus, String)
with a blank String
as
remark and returns its result.theGroup
- A ReachabilityGroup
.theStatus
- A ReachabilityStatus
JsonReachabilityInstruction
message.public final de.hawhamburg.reachability.json.JsonReachabilityInstruction getInstructionMsg(de.hawhamburg.reachability.enumeration.ReachabilityGroup theGroup, de.hawhamburg.reachability.enumeration.ReachabilityStatus theStatus, java.lang.String theRemark)
JsonReachabilityInstruction
messages and returns it.theGroup
- A ReachabilityGroup
theStatus
- A ReachabilityStatus
theRemark
- A remark as String
.JsonReachabilityInstruction
message.public final void sendControl(de.hawhamburg.lifecycle.data.ConfigOrder x)
ConfigOrder
in a JsonConfigOrder
messages via AMQ to the reachability agent.x
- The ConfigOrder
which shall be send.public final void registerSimulationFeeder(de.hawhamburg.reachability.tools.feeder.SensorDataFeeder feeder)
registerSimulationFeeder
in interface de.hawhamburg.reachability.tools.feeder.SensorDataFeederNotifiable
feeder
- The new simulation feeder as SensorDataFeeder
which shall be registered.public final void unregisterSimulationFeeder(de.hawhamburg.reachability.tools.feeder.SensorDataFeeder feeder)
unregisterSimulationFeeder
in interface de.hawhamburg.reachability.tools.feeder.SensorDataFeederNotifiable
feeder
- The simulation feeder as SensorDataFeeder
which shall be unregistered.public static void main(java.lang.String[] args)
ColoredUI
in the systems look and feel.args
- The system supplied start arguments as array of String
.