Class ReceiversPanel

  • All Implemented Interfaces:
    java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, java.util.EventListener, javax.accessibility.Accessible, SettingsListener

    public class ReceiversPanel
    extends javax.swing.JPanel
    implements SettingsListener
    This panel is used to manage all the Receivers configured within Log4j
    See Also:
    Serialized Form
    • Nested Class Summary

      Nested Classes 
      Modifier and Type Class Description
      (package private) class  ReceiversPanel.NewReceiverPopupMenu
      A popup menu that allows the user to choose which style of Receiver to create, which spawns a relevant Dialog to enter the information and create the Receiver
      (package private) class  ReceiversPanel.ReceiverPopupMenu
      A popup menu class for when the user uses the popup trigger action on a node in the Receiver tree.
      private class  ReceiversPanel.ReceiverToolbar
      A simple Panel that has toolbar buttons for restarting, playing, pausing, and stoping receivers
      • Nested classes/interfaces inherited from class javax.swing.JPanel

        javax.swing.JPanel.AccessibleJPanel
      • Nested classes/interfaces inherited from class javax.swing.JComponent

        javax.swing.JComponent.AccessibleJComponent
      • Nested classes/interfaces inherited from class java.awt.Container

        java.awt.Container.AccessibleAWTContainer
      • Nested classes/interfaces inherited from class java.awt.Component

        java.awt.Component.AccessibleAWTComponent, java.awt.Component.BaselineResizeBehavior, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
    • Constructor Summary

      Constructors 
      Constructor Description
      ReceiversPanel()  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      private Receiver getCurrentlySelectedReceiver()
      Returns the currently selected Receiver, or null if there is no selected Receiver (this could be because a) nothing at all is selected or b) a non Receiver type node is selected
      private java.lang.Object getCurrentlySelectedUserObject()
      Returns the currently seleted node's User Object, or null if there is no selected node, or if the currently selected node has not user Object
      protected ReceiversTreeModel getReceiverTreeModel()  
      private Receiver[] getSelectedReceivers()  
      void loadSettings​(LoadSettingsEvent event)
      When a request to load Settings has been requested, this method will be invoked by the SettingsManager.
      private void pauseCurrentlySelectedReceiver()
      Takes the currently selected Receiver and pauess it, effectively discarding any received event BEFORE it is even posted to the logger repository.
      private void playCurrentlySelectedReceiver()
      Ensures that the currently selected receiver active property is set to true
      private void saveReceivers()  
      void saveSettings​(SaveSettingsEvent event)
      Saves all the receivers which are active at shut down as a configuration file which can be loaded when Chainsaw will be restarted.
      void setVisible​(boolean aFlag)  
      private void shutdownCurrentlySelectedReceiver()
      Takes the currently selected Receiver and stops it, which effectively removes it from the PluginRegistry.
      private void updateActions()
      Sets the state of actions depending on certain conditions (i.e what is currently selected etc.)
      protected void updateCurrentlySelectedNodeInDispatchThread()  
      void updateReceiverTreeInDispatchThread()
      Ensures that the Receiver tree is updated with the latest information and that this operation occurs in the Swing Event Dispatch thread.
      • Methods inherited from class javax.swing.JPanel

        getAccessibleContext, getUI, getUIClassID, paramString, setUI, updateUI
      • Methods inherited from class javax.swing.JComponent

        addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBaseline, getBaselineResizeBehavior, getBorder, getBounds, getClientProperty, getComponentGraphics, getComponentPopupMenu, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getFontMetrics, getGraphics, getHeight, getInheritsPopupMenu, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPopupLocation, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, hide, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingOrigin, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFocusTraversalKeys, setFont, setForeground, setInheritsPopupMenu, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, unregisterKeyboardAction, update
      • Methods inherited from class java.awt.Container

        add, add, add, add, add, addContainerListener, addImpl, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, getMousePosition, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setLayout, 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, createImage, createImage, createVolatileImage, createVolatileImage, disableEvents, dispatchEvent, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isPreferredSizeSet, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, requestFocus, requestFocus, requestFocusInWindow, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setMixingCutoutShape, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
    • Field Detail

      • newReceiverButtonAction

        final javax.swing.Action newReceiverButtonAction
      • pauseReceiverButtonAction

        final javax.swing.Action pauseReceiverButtonAction
      • playReceiverButtonAction

        final javax.swing.Action playReceiverButtonAction
      • shutdownReceiverButtonAction

        final javax.swing.Action shutdownReceiverButtonAction
      • saveReceiversButtonAction

        final javax.swing.Action saveReceiversButtonAction
      • restartReceiverButtonAction

        final javax.swing.Action restartReceiverButtonAction
      • showReceiverHelpAction

        private final javax.swing.Action showReceiverHelpAction
      • startAllAction

        private final javax.swing.Action startAllAction
      • popupMenu

        private final javax.swing.JPopupMenu popupMenu
      • receiversTree

        private final javax.swing.JTree receiversTree
      • splitter

        private final javax.swing.JSplitPane splitter
      • logger

        private final org.apache.log4j.Logger logger
    • Constructor Detail

      • ReceiversPanel

        public ReceiversPanel()
    • Method Detail

      • saveReceivers

        private void saveReceivers()
      • updateCurrentlySelectedNodeInDispatchThread

        protected void updateCurrentlySelectedNodeInDispatchThread()
      • getCurrentlySelectedReceiver

        private Receiver getCurrentlySelectedReceiver()
        Returns the currently selected Receiver, or null if there is no selected Receiver (this could be because a) nothing at all is selected or b) a non Receiver type node is selected
        Returns:
        Receiver or null
      • getSelectedReceivers

        private Receiver[] getSelectedReceivers()
      • getCurrentlySelectedUserObject

        private java.lang.Object getCurrentlySelectedUserObject()
        Returns the currently seleted node's User Object, or null if there is no selected node, or if the currently selected node has not user Object
        Returns:
        Object representing currently seleted Node's User Object
      • pauseCurrentlySelectedReceiver

        private void pauseCurrentlySelectedReceiver()
        Takes the currently selected Receiver and pauess it, effectively discarding any received event BEFORE it is even posted to the logger repository.

        The user is NOT asked to confirm this operation

      • playCurrentlySelectedReceiver

        private void playCurrentlySelectedReceiver()
        Ensures that the currently selected receiver active property is set to true
      • shutdownCurrentlySelectedReceiver

        private void shutdownCurrentlySelectedReceiver()
        Takes the currently selected Receiver and stops it, which effectively removes it from the PluginRegistry.

        The user is asked to confirm this operation

      • updateActions

        private void updateActions()
        Sets the state of actions depending on certain conditions (i.e what is currently selected etc.)
      • updateReceiverTreeInDispatchThread

        public void updateReceiverTreeInDispatchThread()
        Ensures that the Receiver tree is updated with the latest information and that this operation occurs in the Swing Event Dispatch thread.
      • setVisible

        public void setVisible​(boolean aFlag)
        Overrides:
        setVisible in class javax.swing.JComponent
      • loadSettings

        public void loadSettings​(LoadSettingsEvent event)
        Description copied from interface: SettingsListener
        When a request to load Settings has been requested, this method will be invoked by the SettingsManager. The implementing component can query the event for settings, and modify it's internal state based on these settings.
        Specified by:
        loadSettings in interface SettingsListener
      • saveSettings

        public void saveSettings​(SaveSettingsEvent event)
        Saves all the receivers which are active at shut down as a configuration file which can be loaded when Chainsaw will be restarted.
        Specified by:
        saveSettings in interface SettingsListener