Package org.apache.jmeter.visualizers

# Class MailerVisualizer

java.lang.Object
java.awt.Component
java.awt.Container
javax.swing.JComponent
javax.swing.JPanel
org.apache.jmeter.gui.AbstractJMeterGuiComponent
org.apache.jmeter.visualizers.gui.AbstractListenerGui
org.apache.jmeter.visualizers.gui.AbstractVisualizer
org.apache.jmeter.visualizers.MailerVisualizer

All Implemented Interfaces:
  `ActionListener`, `ImageObserver`, `MenuContainer`, `Serializable`, `EventListener`, `Accessible`, `ChangeListener`, `ClearGui`, `JMeterGUIComponent`, `UnsharedComponent`, `Clearable`, `Printable`, `Visualizer`

public class MailerVisualizer extends AbstractVisualizer implements ActionListener, Clearable, ChangeListener
This class implements a visualizer that mails a message when an error occurs.

See Also:
  - Serialized Form

- ## Nested Class Summary

  ## Nested classes/interfaces inherited from class javax.swing.JPanel

  `JPanel.AccessibleJPanel`

  ## Nested classes/interfaces inherited from class javax.swing.JComponent

  `JComponent.AccessibleJComponent`

  ## Nested classes/interfaces inherited from class java.awt.Container

  `Container.AccessibleAWTContainer`

  ## Nested classes/interfaces inherited from class java.awt.Component

  `Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy`

- ## Field Summary

  ### Fields inherited from class org.apache.jmeter.visualizers.gui.AbstractVisualizer

  `collector, isStats`

  ### Fields inherited from class org.apache.jmeter.gui.AbstractJMeterGuiComponent

  `bindingGroup, namePanel`

  ### Fields inherited from class javax.swing.JComponent

  `listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW`

  ### Fields inherited from class java.awt.Component

  `accessibleContext, BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT`

  ### Fields inherited from interface java.awt.image.ImageObserver

  `ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `MailerVisualizer()`
  Constructs the MailerVisualizer and initializes its GUI.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `actionPerformed(ActionEvent e)`
  Reacts on an ActionEvent (like pressing a button).
  `void`
  `add(SampleResult res)`
  This method is called by sampling thread to inform the visualizer about the arrival of a new sample.
  `void`
  `clearData()`
  Clears any stored sampling-information.
  `void`
  `configure(org.apache.jmeter.testelement.TestElement el)`
  Restores MailerVisualizer.
  `org.apache.jmeter.testelement.TestElement`
  `createTestElement()`
  Makes MailerVisualizer storable.
  `String`
  `getAttributesTitle()`
  Returns a String for the title of the attributes-panel as set up in the properties-file using the lookup-constant "mailer_attributes_panel".
  `JPanel`
  `getControlPanel()`
  `String`
  `getLabelResource()`
  Get the component's resource name, which getStaticLabel uses to derive the component's label in the local language.
  `void`
  `modifyTestElement(org.apache.jmeter.testelement.TestElement c)`
  GUI components are responsible for populating TestElements they create with the data currently held in the GUI components.
  `void`
  `stateChanged(ChangeEvent e)`
  Invoked when the target of the listener has changed its state.
  `String`
  `toString()`

  ### Methods inherited from class org.apache.jmeter.visualizers.gui.AbstractVisualizer

  `clearGui, configureTestElement, getErrorLoggingCheckbox, getFile, getFilePanel, getModel, isStats, makeTitlePanel, setFile, setModel`

  ### Methods inherited from class org.apache.jmeter.visualizers.gui.AbstractListenerGui

  `createPopupMenu, getMenuCategories`

  ### Methods inherited from class org.apache.jmeter.gui.AbstractJMeterGuiComponent

  `configureTestElement, createTitleLabel, getComment, getDocAnchor, getName, getNamePanel, getPrintableComponent, getStaticLabel, isEnabled, makeBorder, makeScrollPane, makeScrollPane, setComment, setEnabled, setName, wrapTitlePanel`

  ### 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, setFocusTraversalKeys, setFont, setForeground, setInheritsPopupMenu, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, setVisible, 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, getParent, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, 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, setSize, setSize, show, show, size, transferFocus, transferFocusBackward, transferFocusUpCycle`

  ### Methods inherited from class java.lang.Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

  ### Methods inherited from interface org.apache.jmeter.gui.JMeterGUIComponent

  `assignDefaultValues, canBeAdded, makeTestElement`

- ## Constructor Details

  - ### MailerVisualizer

    public MailerVisualizer()
    Constructs the MailerVisualizer and initializes its GUI.

- ## Method Details

  - ### getControlPanel

    public JPanel getControlPanel()

  - ### clearData

    public void clearData()
    Clears any stored sampling-information.
    Specified by:
      `clearData` in interface `Clearable`

  - ### add

    public void add(SampleResult res)
    Description copied from interface: `Visualizer`
    This method is called by sampling thread to inform the visualizer about the arrival of a new sample.
    Specified by:
      `add` in interface `Visualizer`
    Parameters:
      `res` - the newly arrived sample

  - ### toString

    public String toString()
    Overrides:
      `toString` in class `Component`

  - ### getLabelResource

    public String getLabelResource()
    Description copied from interface: `JMeterGUIComponent`
    Get the component's resource name, which getStaticLabel uses to derive the component's label in the local language. The resource name is fixed, and does not vary with the selected language.

    Normally this method should be overridden in preference to overriding getStaticLabel(). However where the resource name is not available or required, getStaticLabel() may be overridden instead.

    Specified by:
      `getLabelResource` in interface `JMeterGUIComponent`
    Returns:
      the resource name

  - ### getAttributesTitle

    public String getAttributesTitle()
    Returns a String for the title of the attributes-panel as set up in the properties-file using the lookup-constant "mailer_attributes_panel".
    Returns:
      The title of the component.

  - ### actionPerformed

    public void actionPerformed(ActionEvent e)
    Reacts on an ActionEvent (like pressing a button).
    Specified by:
      `actionPerformed` in interface `ActionListener`
    Parameters:
      `e` - The ActionEvent with information about the event and its source.

  - ### configure

    public void configure(org.apache.jmeter.testelement.TestElement el)
    Restores MailerVisualizer.
    Specified by:
      `configure` in interface `JMeterGUIComponent`
    Overrides:
      `configure` in class `AbstractVisualizer`
    Parameters:
      `el` - the TestElement to configure

  - ### createTestElement

    public org.apache.jmeter.testelement.TestElement createTestElement()
    Makes MailerVisualizer storable.
    Specified by:
      `createTestElement` in interface `JMeterGUIComponent`
    Overrides:
      `createTestElement` in class `AbstractVisualizer`
    Returns:
      the Test Element object that the GUI component represents.

  - ### modifyTestElement

    public void modifyTestElement(org.apache.jmeter.testelement.TestElement c)
    GUI components are responsible for populating TestElements they create with the data currently held in the GUI components. This method should overwrite whatever data is currently in the TestElement as it is called after a user has filled out the form elements in the gui with new information.

    If you override `AbstractJMeterGuiComponent`, you might want using `AbstractJMeterGuiComponent.bindingGroup` instead of overriding `modifyTestElement`.

    The canonical implementation looks like this:

         @Override
         public void modifyTestElement(TestElement element) {
             super.modifyTestElement(element); // clear the element and assign basic fields like name, gui class, test class
             // Using the element setters (preferred):
             // If the field is empty, you probably want to remove the property instead of storing an empty string
             // See Streamline binding of UI elements to TestElement properties
             // for more details
             TestElementXYZ xyz = (TestElementXYZ) element;
             xyz.setState(StringUtils.defaultIfEmpty(guiState.getText(), null));
             xyz.setCode(StringUtils.defaultIfEmpty(guiCode.getText(), null));
             ... other GUI fields ...
             // or directly (do not use unless there is no setter for the field):
             element.setProperty(TestElementXYZ.STATE, StringUtils.defaultIfEmpty(guiState.getText(), null))
             element.setProperty(TestElementXYZ.CODE, StringUtils.defaultIfEmpty(guiCode.getText(), null))
             ... other GUI fields ...
         }

    Specified by:
      `modifyTestElement` in interface `JMeterGUIComponent`
    Overrides:
      `modifyTestElement` in class `AbstractVisualizer`
    Parameters:
      `c` - the TestElement to modify

  - ### stateChanged

    public void stateChanged(ChangeEvent e)
    Invoked when the target of the listener has changed its state. This implementation assumes that the target is the FilePanel, and will update the result collector for the new filename.
    Specified by:
      `stateChanged` in interface `ChangeListener`
    Overrides:
      `stateChanged` in class `AbstractVisualizer`
    Parameters:
      `e` - the event that has occurred