public class ReachabilityUI extends UI implements SensorDataFeederNotifiable
javax.swing.JFrame.AccessibleJFrame
java.awt.Window.AccessibleAWTWindow, java.awt.Window.Type
Modifier and Type | Field and Description |
---|---|
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 SensorDataFeeder |
simulationFeeder
The actual active simulation feeder as
SensorDataFeeder . |
private javax.swing.JMenuItem |
startSimulationMenuItem
The menu item which opens the start simulation dialog.
|
private java.util.Map<ReachabilityGroup,javax.swing.JList<ReachabilityStatus>> |
stateSelectors
|
private java.util.Map<ReachabilityGroup,ReachabilityStatus> |
status
The current known reachability state.
|
private ReachabilityUIUpdater |
updater
The
ReachabilityUIUpdater 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 |
---|
ReachabilityUI()
Creates and builds a new 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 |
addTitleRow()
Adds a title row to the user interface containing the names of the reachability groups
(
ReachabilityGroup ). |
private void |
configDialog(ConfigType type)
Show the configuration dialog.
|
private java.awt.GridLayout |
getGrid()
Returns a user interface grid.
|
JsonReachabilityInstruction |
getInstructionMsg(ReachabilityGroup group,
ReachabilityStatus resStatus)
Calls
getInstructionMsg(ReachabilityGroup, ReachabilityStatus, String) with a blank String as
remark and returns its result. |
JsonReachabilityInstruction |
getInstructionMsg(ReachabilityGroup group,
ReachabilityStatus resStatus,
java.lang.String remark)
Generates a
JsonReachabilityInstruction messages and returns it. |
private javax.swing.JList<ReachabilityStatus> |
getStatusList()
Returns a
JList of all ReachabilityStatus entries. |
static void |
main(java.lang.String[] args)
Starts a new
ReachabilityUI 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<ReachabilityGroup,ReachabilityStatus> newStatus)
Builds/refreshes the cached
ReachabilityStatus and the user interface. |
void |
registerSimulationFeeder(SensorDataFeeder feeder)
Registers a new simulation feeder.
|
void |
sendControl(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()
Shuts the object down.
|
private void |
startSimulationDialog()
Open a new dialog to start a simulation.
|
void |
unregisterSimulationFeeder(SensorDataFeeder feeder)
Unregisters a simulation feeder.
|
private void |
updateStatusRow()
Updates the status rows defined by
stateSelectors with new values. |
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
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
isActive
private static final long serialVersionUID
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 ReachabilityUIUpdater updater
ReachabilityUIUpdater
which keeps the user interface up to date.private SensorDataFeeder simulationFeeder
SensorDataFeeder
.private javax.swing.JMenuItem startSimulationMenuItem
private javax.swing.JMenuItem showSimulationMenuItem
private java.util.Map<ReachabilityGroup,ReachabilityStatus> status
private java.util.Map<ReachabilityGroup,javax.swing.JList<ReachabilityStatus>> stateSelectors
public ReachabilityUI()
protected final void addMenu()
private java.awt.GridLayout getGrid()
private void addTitleRow()
ReachabilityGroup
).private void updateStatusRow()
stateSelectors
with new values.private javax.swing.JList<ReachabilityStatus> getStatusList()
JList
of all ReachabilityStatus
entries.JList
containing all ReachabilityStatus
entries as items.public final void actionPerformed(java.awt.event.ActionEvent e)
actionPerformed
in interface java.awt.event.ActionListener
actionPerformed
in class 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 UI
e
- A MouseEvent
.MouseListener.mousePressed(java.awt.event.MouseEvent)
public final void shutDown()
StopableObject
shutDown
in interface StopableObject
shutDown
in class UI
StopableObject.shutDown()
private void startSimulationDialog()
private void showSimulationDetailsDialog()
private void configDialog(ConfigType type)
type
- The type of configuration.public final void refresh(boolean refresh)
public final void refresh(java.util.Map<ReachabilityGroup,ReachabilityStatus> newStatus)
ReachabilityStatus
and the user interface.newStatus
- A hash Map
containing the current ReachabilityStatus
.public final JsonReachabilityInstruction getInstructionMsg(ReachabilityGroup group, ReachabilityStatus resStatus)
getInstructionMsg(ReachabilityGroup, ReachabilityStatus, String)
with a blank String
as
remark and returns its result.group
- A ReachabilityGroup
.resStatus
- A ReachabilityStatus
JsonReachabilityInstruction
message.public final JsonReachabilityInstruction getInstructionMsg(ReachabilityGroup group, ReachabilityStatus resStatus, java.lang.String remark)
JsonReachabilityInstruction
messages and returns it.group
- A ReachabilityGroup
resStatus
- A ReachabilityStatus
remark
- A remark as String
.JsonReachabilityInstruction
message.public final void sendControl(ConfigOrder x)
ConfigOrder
in a JsonConfigOrder
messages via AMQ to the reachability agent.x
- The ConfigOrder
which shall be send.public final void registerSimulationFeeder(SensorDataFeeder feeder)
registerSimulationFeeder
in interface SensorDataFeederNotifiable
feeder
- The new simulation feeder as SensorDataFeeder
which shall be registered.public final void unregisterSimulationFeeder(SensorDataFeeder feeder)
unregisterSimulationFeeder
in interface SensorDataFeederNotifiable
feeder
- The simulation feeder as SensorDataFeeder
which shall be unregistered.public static void main(java.lang.String[] args)
ReachabilityUI
in the systems look and feel.args
- The system supplied start arguments as array of String
.