Class CertTree

  • All Implemented Interfaces:
    java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, javax.accessibility.Accessible, javax.swing.Scrollable, javax.swing.tree.TreeModel

    public class CertTree
    extends javax.swing.JTree
    implements javax.swing.tree.TreeModel
    Certificate tree.
    See Also:
    Serialized Form
    • Nested Class Summary

      Nested Classes 
      Modifier and Type Class Description
      protected class  CertTree.CertTreeNode
      Node in the tree.
      • Nested classes/interfaces inherited from class javax.swing.JTree

        javax.swing.JTree.AccessibleJTree, javax.swing.JTree.DropLocation, javax.swing.JTree.DynamicUtilTreeNode, javax.swing.JTree.EmptySelectionModel, javax.swing.JTree.TreeModelHandler, javax.swing.JTree.TreeSelectionRedirector
      • 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
    • Field Summary

      Fields 
      Modifier and Type Field Description
      static javax.swing.Icon CA_CERT_ICON
      CA Certificate Icon.
      static javax.swing.Icon CA_CERT_ICON_KEY
      CA Certificate Icon with key.
      static javax.swing.Icon CERT_ICON
      Certificate Icon.
      static javax.swing.Icon CERT_ICON_KEY
      Certificate Icon with key.
      protected static int ICON_SIZE
      Size of the icons.
      protected java.util.List<javax.swing.event.TreeModelListener> listeners
      Model listeners.
      protected CertTree.CertTreeNode root
      The root node.
      protected ICommand<byte[]> storesavecommand
      Store save command.
      protected java.lang.String storrepath
      Path to certificate store.
      • Fields inherited from class javax.swing.JTree

        ANCHOR_SELECTION_PATH_PROPERTY, CELL_EDITOR_PROPERTY, CELL_RENDERER_PROPERTY, cellEditor, cellRenderer, editable, EDITABLE_PROPERTY, EXPANDS_SELECTED_PATHS_PROPERTY, INVOKES_STOP_CELL_EDITING_PROPERTY, invokesStopCellEditing, LARGE_MODEL_PROPERTY, largeModel, LEAD_SELECTION_PATH_PROPERTY, ROOT_VISIBLE_PROPERTY, rootVisible, ROW_HEIGHT_PROPERTY, rowHeight, SCROLLS_ON_EXPAND_PROPERTY, scrollsOnExpand, SELECTION_MODEL_PROPERTY, selectionModel, selectionRedirector, SHOWS_ROOT_HANDLES_PROPERTY, showsRootHandles, TOGGLE_CLICK_COUNT_PROPERTY, toggleClickCount, TREE_MODEL_PROPERTY, treeModel, treeModelListener, VISIBLE_ROW_COUNT_PROPERTY, visibleRowCount
      • 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
      CertTree()
      Creates the tree.
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void addTreeModelListener​(javax.swing.event.TreeModelListener l)
      Override
      static java.util.Map<java.lang.String,​Tuple2<java.lang.String,​java.lang.String>> convertToSubjectMap​(java.util.Collection<Tuple2<java.lang.String,​java.lang.String>> certs)  
      protected CertTree.CertTreeNode createRootNode()
      Creates the root node.
      protected void deleteCertNode​(CertTree.CertTreeNode node, java.util.Map<java.lang.String,​PemKeyPair> certmodel)
      Deletes a cert node.
      java.lang.Object getChild​(java.lang.Object parent, int index)
      Override
      int getChildCount​(java.lang.Object parent)
      Override
      int getIndexOfChild​(java.lang.Object parent, java.lang.Object child)
      Override
      java.lang.Object getRoot()
      Override
      protected PemKeyPair getSelectedCert()
      Gets the selected certificate.
      protected java.lang.String[] getSelectedCertChain()
      Gets the selected certificate chain.
      protected PemKeyPair getSelectedCertChainPair()
      Gets the selected certificate.
      protected boolean hasKey​(CertTree.CertTreeNode node)
      Tests if a node has a private key.
      protected boolean isCaNode​(CertTree.CertTreeNode node)
      Tests of a node represents a CA certificate.
      boolean isLeaf​(java.lang.Object node)
      Override
      void load​(byte[] storedata)
      Loads and updates the model.
      static java.util.List<Tuple2<java.lang.String,​java.lang.String>> loadCertStore​(java.lang.String path)  
      void removeTreeModelListener​(javax.swing.event.TreeModelListener l)
      Override
      protected byte[] save()
      Updates and saves model.
      static void saveCertStore​(java.lang.String path, java.util.Collection<Tuple2<java.lang.String,​java.lang.String>> certs)  
      protected void setSaveCommand​(ICommand<byte[]> command)
      Sets the store save command.
      protected void update()
      Updates the model.
      protected void updateAndSave()
      Updates and saves model.
      void valueForPathChanged​(javax.swing.tree.TreePath path, java.lang.Object newValue)
      Override
      • Methods inherited from class javax.swing.JTree

        addSelectionInterval, addSelectionPath, addSelectionPaths, addSelectionRow, addSelectionRows, addTreeExpansionListener, addTreeSelectionListener, addTreeWillExpandListener, cancelEditing, clearSelection, clearToggledPaths, collapsePath, collapseRow, convertValueToText, createTreeModel, createTreeModelListener, expandPath, expandRow, fireTreeCollapsed, fireTreeExpanded, fireTreeWillCollapse, fireTreeWillExpand, fireValueChanged, getAccessibleContext, getAnchorSelectionPath, getCellEditor, getCellRenderer, getClosestPathForLocation, getClosestRowForLocation, getDefaultTreeModel, getDescendantToggledPaths, getDragEnabled, getDropLocation, getDropMode, getEditingPath, getExpandedDescendants, getExpandsSelectedPaths, getInvokesStopCellEditing, getLastSelectedPathComponent, getLeadSelectionPath, getLeadSelectionRow, getMaxSelectionRow, getMinSelectionRow, getModel, getNextMatch, getPathBetweenRows, getPathBounds, getPathForLocation, getPathForRow, getPreferredScrollableViewportSize, getRowBounds, getRowCount, getRowForLocation, getRowForPath, getRowHeight, getScrollableBlockIncrement, getScrollableTracksViewportHeight, getScrollableTracksViewportWidth, getScrollableUnitIncrement, getScrollsOnExpand, getSelectionCount, getSelectionModel, getSelectionPath, getSelectionPaths, getSelectionRows, getShowsRootHandles, getToggleClickCount, getToolTipText, getTreeExpansionListeners, getTreeSelectionListeners, getTreeWillExpandListeners, getUI, getUIClassID, getVisibleRowCount, hasBeenExpanded, isCollapsed, isCollapsed, isEditable, isEditing, isExpanded, isExpanded, isFixedRowHeight, isLargeModel, isPathEditable, isPathSelected, isRootVisible, isRowSelected, isSelectionEmpty, isVisible, makeVisible, paramString, removeDescendantSelectedPaths, removeDescendantToggledPaths, removeSelectionInterval, removeSelectionPath, removeSelectionPaths, removeSelectionRow, removeSelectionRows, removeTreeExpansionListener, removeTreeSelectionListener, removeTreeWillExpandListener, scrollPathToVisible, scrollRowToVisible, setAnchorSelectionPath, setCellEditor, setCellRenderer, setDragEnabled, setDropMode, setEditable, setExpandedState, setExpandsSelectedPaths, setInvokesStopCellEditing, setLargeModel, setLeadSelectionPath, setModel, setRootVisible, setRowHeight, setScrollsOnExpand, setSelectionInterval, setSelectionModel, setSelectionPath, setSelectionPaths, setSelectionRow, setSelectionRows, setShowsRootHandles, setToggleClickCount, setUI, setVisibleRowCount, startEditingAtPath, stopEditing, treeDidChange, 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, 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, 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, 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

      • CA_CERT_ICON

        public static final javax.swing.Icon CA_CERT_ICON
        CA Certificate Icon.
      • CERT_ICON

        public static final javax.swing.Icon CERT_ICON
        Certificate Icon.
      • CA_CERT_ICON_KEY

        public static final javax.swing.Icon CA_CERT_ICON_KEY
        CA Certificate Icon with key.
      • CERT_ICON_KEY

        public static final javax.swing.Icon CERT_ICON_KEY
        Certificate Icon with key.
      • listeners

        protected java.util.List<javax.swing.event.TreeModelListener> listeners
        Model listeners.
      • storrepath

        protected java.lang.String storrepath
        Path to certificate store.
      • storesavecommand

        protected ICommand<byte[]> storesavecommand
        Store save command.
    • Constructor Detail

      • CertTree

        public CertTree()
        Creates the tree.
        Parameters:
        certstorepath - Certificate store path.
    • Method Detail

      • getRoot

        public java.lang.Object getRoot()
        Override
        Specified by:
        getRoot in interface javax.swing.tree.TreeModel
      • getChild

        public java.lang.Object getChild​(java.lang.Object parent,
                                         int index)
        Override
        Specified by:
        getChild in interface javax.swing.tree.TreeModel
      • getChildCount

        public int getChildCount​(java.lang.Object parent)
        Override
        Specified by:
        getChildCount in interface javax.swing.tree.TreeModel
      • isLeaf

        public boolean isLeaf​(java.lang.Object node)
        Override
        Specified by:
        isLeaf in interface javax.swing.tree.TreeModel
      • valueForPathChanged

        public void valueForPathChanged​(javax.swing.tree.TreePath path,
                                        java.lang.Object newValue)
        Override
        Specified by:
        valueForPathChanged in interface javax.swing.tree.TreeModel
      • getIndexOfChild

        public int getIndexOfChild​(java.lang.Object parent,
                                   java.lang.Object child)
        Override
        Specified by:
        getIndexOfChild in interface javax.swing.tree.TreeModel
      • addTreeModelListener

        public void addTreeModelListener​(javax.swing.event.TreeModelListener l)
        Override
        Specified by:
        addTreeModelListener in interface javax.swing.tree.TreeModel
      • removeTreeModelListener

        public void removeTreeModelListener​(javax.swing.event.TreeModelListener l)
        Override
        Specified by:
        removeTreeModelListener in interface javax.swing.tree.TreeModel
      • load

        public void load​(byte[] storedata)
        Loads and updates the model.
      • update

        protected void update()
        Updates the model.
      • save

        protected byte[] save()
        Updates and saves model.
      • updateAndSave

        protected void updateAndSave()
        Updates and saves model.
      • setSaveCommand

        protected void setSaveCommand​(ICommand<byte[]> command)
        Sets the store save command.
        Parameters:
        command - The command.
      • getSelectedCert

        protected PemKeyPair getSelectedCert()
        Gets the selected certificate.
        Returns:
        The selected certificate.
      • getSelectedCertChainPair

        protected PemKeyPair getSelectedCertChainPair()
        Gets the selected certificate.
        Returns:
        The selected certificate.
      • getSelectedCertChain

        protected java.lang.String[] getSelectedCertChain()
        Gets the selected certificate chain.
        Returns:
        The selected certificate chain.
      • deleteCertNode

        protected void deleteCertNode​(CertTree.CertTreeNode node,
                                      java.util.Map<java.lang.String,​PemKeyPair> certmodel)
        Deletes a cert node.
      • isCaNode

        protected boolean isCaNode​(CertTree.CertTreeNode node)
        Tests of a node represents a CA certificate.
        Parameters:
        node - The node.
        Returns:
        True, if CA.
      • hasKey

        protected boolean hasKey​(CertTree.CertTreeNode node)
        Tests if a node has a private key.
        Parameters:
        node - The node.
        Returns:
        True, if it has a key.
      • loadCertStore

        public static final java.util.List<Tuple2<java.lang.String,​java.lang.String>> loadCertStore​(java.lang.String path)
      • saveCertStore

        public static void saveCertStore​(java.lang.String path,
                                         java.util.Collection<Tuple2<java.lang.String,​java.lang.String>> certs)
      • convertToSubjectMap

        public static final java.util.Map<java.lang.String,​Tuple2<java.lang.String,​java.lang.String>> convertToSubjectMap​(java.util.Collection<Tuple2<java.lang.String,​java.lang.String>> certs)