Class JDialogUninstallPlugin

  • All Implemented Interfaces:
    DialogDefaultsInterface, java.awt.event.ActionListener, java.awt.event.FocusListener, java.awt.event.ItemListener, java.awt.event.WindowListener, java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, java.util.EventListener, javax.accessibility.Accessible, javax.swing.RootPaneContainer, javax.swing.WindowConstants

    public class JDialogUninstallPlugin
    extends JDialogBase
    implements java.awt.event.ActionListener
    Simple dialog to uninstall a plugin. The user selects which .class file to install using a file chooser. The file is copied into MIPAV's class directory and the mipav.preferences file is updated accordingly. The menubars are also updated.
    Author:
    senseneyj
    See Also:
    Serialized Form
    • Nested Class Summary

      • Nested classes/interfaces inherited from class javax.swing.JDialog

        javax.swing.JDialog.AccessibleJDialog
      • Nested classes/interfaces inherited from class java.awt.Dialog

        java.awt.Dialog.AccessibleAWTDialog, java.awt.Dialog.ModalExclusionType, java.awt.Dialog.ModalityType
      • Nested classes/interfaces inherited from class java.awt.Window

        java.awt.Window.AccessibleAWTWindow, java.awt.Window.Type
      • 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
      JDialogUninstallPlugin​(java.lang.String name)
      Does not create the uninstall dialog, instead performs the install algorithm as if only the name plugin had been selected, but confirmation has not occurred.
      JDialogUninstallPlugin​(javax.swing.JFrame theParentFrame)
      Creates new dialog.
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void actionPerformed​(java.awt.event.ActionEvent event)
      Calls various methods depending on the action.
      private javax.swing.tree.MutableTreeNode buildPluginsTree()
      Starts process to build exact copy of installed plugin structure as tree nodes.
      private javax.swing.tree.MutableTreeNode createBranch​(javax.swing.JMenu menu)
      Helper method for creating sub-menus of the plugin.
      private java.lang.String deleteOrphans​(java.io.File[] orphans)  
      private boolean deletePluginDependents​(java.lang.String name)  
      private boolean deletePluginFile​(java.lang.String name)  
      private java.io.File[] detectOrphans()  
      static java.io.InputStream getInputStream​(java.lang.String tarFileName)
      DOCUMENT ME!
      private javax.swing.tree.TreeNode[] getSelectedPlugins()  
      private boolean helpPluginSearch​(java.io.File f, java.lang.String className)  
      private void init()
      Sets up GUI dialog.
      private boolean isInPluginFolder​(java.lang.Class c)
      Determines whether c is in the current plugin folder.
      private boolean isInPluginFolder​(java.lang.String className)
      Determines whether the className is in the plugin folder.
      private boolean isPluginSelected()
      Whether plugins are selected in the JTree, equivalent to whether a leaf is selected in the JTree
      static void readTar​(java.io.InputStream in, java.lang.String untarDir)
      DOCUMENT ME!
      private void uninstallPlugins()  
      private void updateMenuBar()  
      • Methods inherited from class javax.swing.JDialog

        addImpl, createRootPane, dialogInit, getAccessibleContext, getContentPane, getDefaultCloseOperation, getGlassPane, getGraphics, getJMenuBar, getLayeredPane, getRootPane, getTransferHandler, isDefaultLookAndFeelDecorated, isRootPaneCheckingEnabled, paramString, processWindowEvent, remove, repaint, setContentPane, setDefaultCloseOperation, setDefaultLookAndFeelDecorated, setGlassPane, setJMenuBar, setLayeredPane, setLayout, setRootPane, setRootPaneCheckingEnabled, setTransferHandler, update
      • Methods inherited from class java.awt.Dialog

        addNotify, getModalityType, getTitle, hide, isModal, isResizable, isUndecorated, setBackground, setModal, setModalityType, setOpacity, setResizable, setShape, setTitle, setUndecorated, show, toBack
      • Methods inherited from class java.awt.Window

        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, isActive, isAlwaysOnTop, isAlwaysOnTopSupported, isAutoRequestFocus, isFocusableWindow, isFocusCycleRoot, isFocused, isLocationByPlatform, isOpaque, isShowing, isValidateRoot, pack, paint, postEvent, processEvent, processWindowFocusEvent, processWindowStateEvent, removeNotify, removeWindowFocusListener, removeWindowListener, removeWindowStateListener, reshape, setAlwaysOnTop, setAutoRequestFocus, setBounds, setBounds, setCursor, setFocusableWindowState, setFocusCycleRoot, setIconImage, setIconImages, setLocation, setLocation, setLocationByPlatform, setLocationRelativeTo, setMinimumSize, setModalExclusionType, setSize, setSize, setType, toFront
      • Methods inherited from class java.awt.Container

        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
      • Methods inherited from class java.awt.Component

        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, 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, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, requestFocus, requestFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, requestFocusInWindow, resize, resize, revalidate, setComponentOrientation, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeysEnabled, setForeground, setIgnoreRepaint, setLocale, setMaximumSize, setMixingCutoutShape, setName, setPreferredSize, 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

      • serialVersionUID

        private static final long serialVersionUID
        Use serialVersionUID for interoperability.
        See Also:
        Constant Field Values
      • pluginTree

        private javax.swing.JTree pluginTree
        The JTree that describes the plugin structure
    • Constructor Detail

      • JDialogUninstallPlugin

        public JDialogUninstallPlugin​(java.lang.String name)
        Does not create the uninstall dialog, instead performs the install algorithm as if only the name plugin had been selected, but confirmation has not occurred.
      • JDialogUninstallPlugin

        public JDialogUninstallPlugin​(javax.swing.JFrame theParentFrame)
        Creates new dialog.
        Parameters:
        theParentFrame - Parent frame
    • Method Detail

      • actionPerformed

        public void actionPerformed​(java.awt.event.ActionEvent event)
        Calls various methods depending on the action.
        Specified by:
        actionPerformed in interface java.awt.event.ActionListener
        Overrides:
        actionPerformed in class JDialogBase
        Parameters:
        event - event that triggered function
      • deleteOrphans

        private java.lang.String deleteOrphans​(java.io.File[] orphans)
      • updateMenuBar

        private void updateMenuBar()
      • init

        private void init()
        Sets up GUI dialog.
      • buildPluginsTree

        private javax.swing.tree.MutableTreeNode buildPluginsTree()
        Starts process to build exact copy of installed plugin structure as tree nodes.
      • createBranch

        private javax.swing.tree.MutableTreeNode createBranch​(javax.swing.JMenu menu)
        Helper method for creating sub-menus of the plugin.
      • isPluginSelected

        private boolean isPluginSelected()
        Whether plugins are selected in the JTree, equivalent to whether a leaf is selected in the JTree
      • uninstallPlugins

        private void uninstallPlugins()
      • detectOrphans

        private java.io.File[] detectOrphans()
      • deletePluginDependents

        private boolean deletePluginDependents​(java.lang.String name)
      • helpPluginSearch

        private boolean helpPluginSearch​(java.io.File f,
                                         java.lang.String className)
      • isInPluginFolder

        private boolean isInPluginFolder​(java.lang.String className)
        Determines whether the className is in the plugin folder.
        Parameters:
        className -
        Returns:
      • isInPluginFolder

        private boolean isInPluginFolder​(java.lang.Class c)
        Determines whether c is in the current plugin folder.
        Parameters:
        c -
        Returns:
      • deletePluginFile

        private boolean deletePluginFile​(java.lang.String name)
      • getSelectedPlugins

        private javax.swing.tree.TreeNode[] getSelectedPlugins()
      • getInputStream

        public static java.io.InputStream getInputStream​(java.lang.String tarFileName)
                                                  throws java.io.IOException
        DOCUMENT ME!
        Parameters:
        tarFileName - DOCUMENT ME!
        Returns:
        DOCUMENT ME!
        Throws:
        java.io.IOException - DOCUMENT ME!
      • readTar

        public static void readTar​(java.io.InputStream in,
                                   java.lang.String untarDir)
                            throws java.io.IOException
        DOCUMENT ME!
        Parameters:
        in - DOCUMENT ME!
        untarDir - DOCUMENT ME!
        Throws:
        java.io.IOException - DOCUMENT ME!