Package com.pixelmed.apps

## Class DownloadOrTransmit

- java.lang.Object
- - java.awt.Component
  - - java.awt.Container
    - - java.awt.Window
      - - java.awt.Frame
        - - javax.swing.JFrame
          - - com.pixelmed.display.ApplicationFrame
            - - com.pixelmed.apps.DownloadOrTransmit

- All Implemented Interfaces:
    `java.awt.image.ImageObserver`, `java.awt.MenuContainer`, `java.io.Serializable`, `javax.accessibility.Accessible`, `javax.swing.RootPaneContainer`, `javax.swing.WindowConstants`

      public class DownloadOrTransmit
      extends ApplicationFrame

  This class is an application for retrieving DICOM studies of patients and downloading or transmitting them.

  It is configured by use of a properties file that resides in the user's home directory in `.com.pixelmed.display.DownloadOrTransmit.properties`.

  See Also:
    Serialized Form

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Class | Description
    --- | --- | ---
    `protected class` | `DownloadOrTransmit.ConfigureActionListener` |
    `protected class` | `DownloadOrTransmit.ExportActionListener` |
    `protected class` | `DownloadOrTransmit.ExportWorker` |
    `protected class` | `DownloadOrTransmit.FtpSendActionListener` |
    `protected class` | `DownloadOrTransmit.FtpSendWorker` |
    `protected class` | `DownloadOrTransmit.ImportActionListener` |
    `protected class` | `DownloadOrTransmit.ImportWorker` |
    `protected class` | `DownloadOrTransmit.LogActionListener` |
    `protected class` | `DownloadOrTransmit.OurMediaImporter` |
    `protected class` | `DownloadOrTransmit.OurMultipleInstanceTransferStatusHandler` |
    `protected class` | `DownloadOrTransmit.OurQueryTreeBrowser` |
    `protected class` | `DownloadOrTransmit.OurReceivedObjectHandler` |
    `protected class` | `DownloadOrTransmit.OurSourceDatabaseTreeBrowser` |
    `protected class` | `DownloadOrTransmit.PurgeActionListener` |
    `protected class` | `DownloadOrTransmit.PurgeWorker` |
    `protected class` | `DownloadOrTransmit.QueryActionListener` |
    `protected class` | `DownloadOrTransmit.QueryWorker` |
    `protected class` | `DownloadOrTransmit.RetrieveActionListener` |
    `protected class` | `DownloadOrTransmit.RetrieveWorker` |
    `protected class` | `DownloadOrTransmit.SendActionListener` |
    `protected class` | `DownloadOrTransmit.SendWorker` |
    `protected class` | `DownloadOrTransmit.ViewActionListener` |
    `protected class` | `DownloadOrTransmit.ViewWorker` |

    - ### Nested classes/interfaces inherited from class javax.swing.JFrame

      `javax.swing.JFrame.AccessibleJFrame`

    - ### Nested classes/interfaces inherited from class java.awt.Frame

      `java.awt.Frame.AccessibleAWTFrame`

    - ### 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`

  - ### Field Summary

    Fields
    Modifier and Type | Field | Description
    --- | --- | ---
    `protected javax.swing.JCheckBox` | `addDicomDirectoryCheckBox` |
    `protected static java.lang.String` | `addDicomDirectoryLabelText` |
    `protected static java.lang.String` | `addDicomDirectoryToolTipText` |
    `protected static java.lang.String` | `configureButtonLabel` |
    `protected static java.lang.String` | `configureButtonToolTipText` |
    `protected DatabaseTreeRecord[]` | `currentDatabaseTreeRecordSelections` |
    `protected QueryInformationModel` | `currentRemoteQueryInformationModel` |
    `protected java.lang.String` | `currentRemoteQuerySelectionLevel` |
    `protected QueryTreeRecord` | `currentRemoteQuerySelectionQueryTreeRecord` |
    `protected java.lang.String` | `currentRemoteQuerySelectionRetrieveAE` |
    `protected Attribute` | `currentRemoteQuerySelectionUniqueKey` |
    `protected AttributeList` | `currentRemoteQuerySelectionUniqueKeys` |
    `protected QueryTreeBrowser` | `currentRemoteQueryTreeBrowser` |
    `protected SafeCursorChanger` | `cursorChanger` |
    `protected static java.lang.String` | `exportButtonLabel` |
    `protected static java.lang.String` | `exportButtonToolTipText` |
    `protected java.lang.String` | `exportDirectoryPath` |
    `protected static java.lang.String` | `exportedZipFileName` |
    `protected static java.lang.String` | `filePrefixForDicomInstanceFilesOnInterchangeMedia` |
    `protected static java.lang.String` | `fileSuffixForDicomInstanceFilesOnInterchangeMedia` |
    `protected FTPApplicationProperties` | `ftpApplicationProperties` |
    `protected static java.lang.String` | `ftpButtonLabel` |
    `protected static java.lang.String` | `ftpButtonToolTipText` |
    `protected FTPRemoteHostInformation` | `ftpRemoteHostInformation` |
    `protected javax.swing.JCheckBox` | `hierarchicalExportCheckBox` |
    `protected static java.lang.String` | `hierarchicalExportLabelText` |
    `protected static java.lang.String` | `hierarchicalExportToolTipText` |
    `protected static java.lang.String` | `importButtonLabel` |
    `protected static java.lang.String` | `importButtonToolTipText` |
    `protected java.lang.String` | `importDirectoryPath` |
    `protected static java.lang.String` | `localDatabaseName` |
    `protected static java.lang.String` | `localDatabaseServerName` |
    `protected static java.lang.String` | `logButtonLabel` |
    `protected static java.lang.String` | `logButtonToolTipText` |
    `protected MessageLogger` | `logger` |
    `protected static int` | `loggerDialogHeightWanted` |
    `protected static int` | `loggertDialogWidthWanted` |
    `protected static java.lang.String` | `loggerTitleMessage` |
    `protected static java.lang.String` | `nameForDicomDirectoryOnInterchangeMedia` |
    `protected NetworkApplicationInformation` | `networkApplicationInformation` |
    `protected NetworkApplicationProperties` | `networkApplicationProperties` |
    `protected java.lang.String` | `ourCalledAETitle` |
    `protected SafeProgressBarUpdaterThread` | `progressBarUpdater` |
    `protected static java.lang.String` | `propertiesFileName` |
    `protected static java.lang.String` | `propertyName_CurrentlySelectedFtpTarget` |
    `protected static java.lang.String` | `propertyName_DicomCurrentlySelectedQueryTargetAE` |
    `protected static java.lang.String` | `propertyName_DicomCurrentlySelectedStorageTargetAE` |
    `protected static java.lang.String` | `purgeButtonLabel` |
    `protected static java.lang.String` | `purgeButtonToolTipText` |
    `protected static java.lang.String` | `queryButtonLabel` |
    `protected static java.lang.String` | `queryButtonToolTipText` |
    `protected javax.swing.JTextField` | `queryFilterPatientIDTextField` |
    `protected javax.swing.JTextField` | `queryFilterPatientNameTextField` |
    `protected javax.swing.JTextField` | `queryFilterStudyDateTextField` |
    `protected static java.lang.String` | `queryIntroductionLabelText` |
    `protected static java.lang.String` | `queryPatientIDLabelText` |
    `protected static java.lang.String` | `queryPatientIDToolTipText` |
    `protected static java.lang.String` | `queryPatientNameLabelText` |
    `protected static java.lang.String` | `queryPatientNameToolTipText` |
    `protected static java.lang.String` | `queryStudyDateLabelText` |
    `protected static java.lang.String` | `queryStudyDateToolTipText` |
    `protected javax.swing.JPanel` | `remoteQueryRetrievePanel` |
    `protected static java.lang.String` | `retrieveButtonLabel` |
    `protected static java.lang.String` | `retrieveButtonToolTipText` |
    `protected static java.lang.String` | `rootNameForDicomInstanceFilesOnInterchangeMedia` |
    `protected java.io.File` | `savedImagesFolder` |
    `protected static java.lang.String` | `sendButtonLabel` |
    `protected static java.lang.String` | `sendButtonToolTipText` |
    `protected javax.swing.JCheckBox` | `showDetailedLogCheckBox` |
    `protected static java.lang.String` | `showDetailedLogLabelText` |
    `protected DatabaseInformationModel` | `srcDatabase` |
    `protected javax.swing.JPanel` | `srcDatabasePanel` |
    `protected StorageSOPClassSCPDispatcher` | `storageSOPClassSCPDispatcher` |
    `protected static int` | `textFieldLengthForQueryPatientID` |
    `protected static int` | `textFieldLengthForQueryPatientName` |
    `protected static int` | `textFieldLengthForQueryStudyDate` |
    `protected static int` | `validatorFrameHeightWanted` |
    `protected static int` | `validatorFrameWidthWanted` |
    `protected static java.lang.String` | `viewButtonLabel` |
    `protected static java.lang.String` | `viewButtonToolTipText` |
    `protected static int` | `viewerFrameHeightWanted` |
    `protected static int` | `viewerFrameWidthWanted` |
    `protected javax.swing.JCheckBox` | `zipExportCheckBox` |
    `protected static java.lang.String` | `zipExportLabelText` |

    - ### Fields inherited from class com.pixelmed.display.ApplicationFrame

      `statusBarManager`

    - ### Fields inherited from class javax.swing.JFrame

      `accessibleContext, rootPane, rootPaneCheckingEnabled`

    - ### Fields inherited from class java.awt.Frame

      `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`

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

      `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`

    - ### Fields inherited from interface javax.swing.WindowConstants

      `DISPOSE_ON_CLOSE, DO_NOTHING_ON_CLOSE, EXIT_ON_CLOSE, HIDE_ON_CLOSE`

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `DownloadOrTransmit​(java.lang.String title)` |

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `protected void` | `activateStorageSCP()` | Start DICOM storage listener for populating source database.
    `protected void` | `activateTemporaryDatabases()` | Start local database.
    `protected static void` | `exportFiles​(java.util.Vector<java.lang.String> filesToCopy, java.io.File whereToCopyFiles, java.lang.String actionNoun, SafeProgressBarUpdaterThread progressBarUpdater, MessageLogger logger, boolean detailedLog, boolean addDicomDirectory, boolean hierarchicalExport, java.lang.String zipFileName)` |
    `protected java.util.Vector` | `getCurrentSourceFilePathSelections()` |
    `static java.lang.String` | `getQueryRetrieveAEFromIdentifier​(AttributeList identifier, QueryInformationModel queryInformationModel)` |
    `static java.lang.String` | `getQueryRetrieveLevel​(AttributeList identifier, Attribute uniqueKey)` |
    `protected static java.lang.String` | `getSRDescriptionForLog​(AttributeList list)` |
    `protected static void` | `importFileIntoDatabase​(DatabaseInformationModel database, java.lang.String dicomFileName, java.lang.String fileRefererenceType)` |
    `static void` | `main​(java.lang.String[] arg)` | The method to invoke the application.
    `protected static java.lang.String` | `makeNewFullyQualifiedHierarchicalInstancePathName​(java.lang.String sourceFileName)` |
    `protected static java.lang.String` | `makeNewFullyQualifiedInterchangeMediaInstancePathName​(int fileCount)` |
    `protected void` | `performRetrieve​(AttributeList uniqueKeys, java.lang.String selectionLevel, java.lang.String retrieveAE)` |
    `protected void` | `purgeFilesAndDatabaseInformation​(DatabaseTreeRecord[] databaseSelections, MessageLogger logger, SafeProgressBarUpdaterThread progressBarUpdater, int done, int maximum)` |
    `protected void` | `purgeFilesAndDatabaseInformation​(DatabaseTreeRecord databaseSelection, MessageLogger logger, SafeProgressBarUpdaterThread progressBarUpdater, int done, int maximum)` |
    `protected void` | `setCurrentRemoteQueryInformationModel​(java.lang.String remoteAEForQuery)` |
    `protected void` | `setCurrentRemoteQuerySelection​(AttributeList uniqueKeys, Attribute uniqueKey, AttributeList identifier)` |

    - ### Methods inherited from class com.pixelmed.display.ApplicationFrame

      `createGUI, getApplicationPropertyFileName, getBuildDate, getProperties, getPropertyInsistently, getPropertyInsistently, getReleaseString, getStatusBar, loadProperties, makePathToFileInUsersHomeDirectory, setApplicationPropertyFileName, setBackgroundForGUI, setInternationalizedFontsForGUI, setPreferredLookAndFeelForPlatform, storeProperties, takeSnapShot`

    - ### Methods inherited from class javax.swing.JFrame

      `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`

    - ### Methods inherited from class java.awt.Frame

      `addNotify, getCursorType, getExtendedState, getFrames, getIconImage, getMaximizedBounds, getMenuBar, getState, getTitle, isResizable, isUndecorated, remove, removeNotify, setBackground, setCursor, setExtendedState, setMaximizedBounds, setMenuBar, setOpacity, setResizable, setShape, setState, setTitle, setUndecorated`

    - ### 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, 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`

    - ### 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, 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`

    - ### Methods inherited from interface java.awt.MenuContainer

      `getFont, postEvent`

- - ### Field Detail

    - #### propertiesFileName

          protected static java.lang.String propertiesFileName

    - #### propertyName_DicomCurrentlySelectedStorageTargetAE

          protected static java.lang.String propertyName_DicomCurrentlySelectedStorageTargetAE

    - #### propertyName_DicomCurrentlySelectedQueryTargetAE

          protected static java.lang.String propertyName_DicomCurrentlySelectedQueryTargetAE

    - #### propertyName_CurrentlySelectedFtpTarget

          protected static java.lang.String propertyName_CurrentlySelectedFtpTarget

    - #### localDatabaseName

          protected static java.lang.String localDatabaseName

    - #### localDatabaseServerName

          protected static java.lang.String localDatabaseServerName

    - #### rootNameForDicomInstanceFilesOnInterchangeMedia

          protected static java.lang.String rootNameForDicomInstanceFilesOnInterchangeMedia

    - #### filePrefixForDicomInstanceFilesOnInterchangeMedia

          protected static java.lang.String filePrefixForDicomInstanceFilesOnInterchangeMedia

    - #### fileSuffixForDicomInstanceFilesOnInterchangeMedia

          protected static java.lang.String fileSuffixForDicomInstanceFilesOnInterchangeMedia

    - #### nameForDicomDirectoryOnInterchangeMedia

          protected static java.lang.String nameForDicomDirectoryOnInterchangeMedia

    - #### exportedZipFileName

          protected static java.lang.String exportedZipFileName

    - #### textFieldLengthForQueryPatientName

          protected static int textFieldLengthForQueryPatientName

    - #### textFieldLengthForQueryPatientID

          protected static int textFieldLengthForQueryPatientID

    - #### textFieldLengthForQueryStudyDate

          protected static int textFieldLengthForQueryStudyDate

    - #### queryIntroductionLabelText

          protected static java.lang.String queryIntroductionLabelText

    - #### queryPatientNameLabelText

          protected static java.lang.String queryPatientNameLabelText

    - #### queryPatientIDLabelText

          protected static java.lang.String queryPatientIDLabelText

    - #### queryStudyDateLabelText

          protected static java.lang.String queryStudyDateLabelText

    - #### configureButtonLabel

          protected static java.lang.String configureButtonLabel

    - #### logButtonLabel

          protected static java.lang.String logButtonLabel

    - #### queryButtonLabel

          protected static java.lang.String queryButtonLabel

    - #### retrieveButtonLabel

          protected static java.lang.String retrieveButtonLabel

    - #### importButtonLabel

          protected static java.lang.String importButtonLabel

    - #### viewButtonLabel

          protected static java.lang.String viewButtonLabel

    - #### exportButtonLabel

          protected static java.lang.String exportButtonLabel

    - #### sendButtonLabel

          protected static java.lang.String sendButtonLabel

    - #### ftpButtonLabel

          protected static java.lang.String ftpButtonLabel

    - #### purgeButtonLabel

          protected static java.lang.String purgeButtonLabel

    - #### configureButtonToolTipText

          protected static java.lang.String configureButtonToolTipText

    - #### logButtonToolTipText

          protected static java.lang.String logButtonToolTipText

    - #### queryButtonToolTipText

          protected static java.lang.String queryButtonToolTipText

    - #### retrieveButtonToolTipText

          protected static java.lang.String retrieveButtonToolTipText

    - #### importButtonToolTipText

          protected static java.lang.String importButtonToolTipText

    - #### viewButtonToolTipText

          protected static java.lang.String viewButtonToolTipText

    - #### exportButtonToolTipText

          protected static java.lang.String exportButtonToolTipText

    - #### sendButtonToolTipText

          protected static java.lang.String sendButtonToolTipText

    - #### ftpButtonToolTipText

          protected static java.lang.String ftpButtonToolTipText

    - #### purgeButtonToolTipText

          protected static java.lang.String purgeButtonToolTipText

    - #### queryPatientNameToolTipText

          protected static java.lang.String queryPatientNameToolTipText

    - #### queryPatientIDToolTipText

          protected static java.lang.String queryPatientIDToolTipText

    - #### queryStudyDateToolTipText

          protected static java.lang.String queryStudyDateToolTipText

    - #### showDetailedLogLabelText

          protected static java.lang.String showDetailedLogLabelText

    - #### zipExportLabelText

          protected static java.lang.String zipExportLabelText

    - #### hierarchicalExportLabelText

          protected static java.lang.String hierarchicalExportLabelText

    - #### addDicomDirectoryLabelText

          protected static java.lang.String addDicomDirectoryLabelText

    - #### hierarchicalExportToolTipText

          protected static java.lang.String hierarchicalExportToolTipText

    - #### addDicomDirectoryToolTipText

          protected static java.lang.String addDicomDirectoryToolTipText

    - #### loggerTitleMessage

          protected static java.lang.String loggerTitleMessage

    - #### viewerFrameWidthWanted

          protected static int viewerFrameWidthWanted

    - #### viewerFrameHeightWanted

          protected static int viewerFrameHeightWanted

    - #### validatorFrameWidthWanted

          protected static int validatorFrameWidthWanted

    - #### validatorFrameHeightWanted

          protected static int validatorFrameHeightWanted

    - #### loggertDialogWidthWanted

          protected static int loggertDialogWidthWanted

    - #### loggerDialogHeightWanted

          protected static int loggerDialogHeightWanted

    - #### srcDatabase

          protected DatabaseInformationModel srcDatabase

    - #### srcDatabasePanel

          protected javax.swing.JPanel srcDatabasePanel

    - #### remoteQueryRetrievePanel

          protected javax.swing.JPanel remoteQueryRetrievePanel

    - #### showDetailedLogCheckBox

          protected javax.swing.JCheckBox showDetailedLogCheckBox

    - #### zipExportCheckBox

          protected javax.swing.JCheckBox zipExportCheckBox

    - #### hierarchicalExportCheckBox

          protected javax.swing.JCheckBox hierarchicalExportCheckBox

    - #### addDicomDirectoryCheckBox

          protected javax.swing.JCheckBox addDicomDirectoryCheckBox

    - #### queryFilterPatientNameTextField

          protected javax.swing.JTextField queryFilterPatientNameTextField

    - #### queryFilterPatientIDTextField

          protected javax.swing.JTextField queryFilterPatientIDTextField

    - #### queryFilterStudyDateTextField

          protected javax.swing.JTextField queryFilterStudyDateTextField

    - #### progressBarUpdater

          protected SafeProgressBarUpdaterThread progressBarUpdater

    - #### cursorChanger

          protected SafeCursorChanger cursorChanger

    - #### logger

          protected MessageLogger logger

    - #### networkApplicationProperties

          protected NetworkApplicationProperties networkApplicationProperties

    - #### networkApplicationInformation

          protected NetworkApplicationInformation networkApplicationInformation

    - #### ftpApplicationProperties

          protected FTPApplicationProperties ftpApplicationProperties

    - #### ftpRemoteHostInformation

          protected FTPRemoteHostInformation ftpRemoteHostInformation

    - #### currentRemoteQueryInformationModel

          protected QueryInformationModel currentRemoteQueryInformationModel

    - #### currentRemoteQueryTreeBrowser

          protected QueryTreeBrowser currentRemoteQueryTreeBrowser

    - #### currentRemoteQuerySelectionQueryTreeRecord

          protected QueryTreeRecord currentRemoteQuerySelectionQueryTreeRecord

    - #### currentRemoteQuerySelectionUniqueKeys

          protected AttributeList currentRemoteQuerySelectionUniqueKeys

    - #### currentRemoteQuerySelectionUniqueKey

          protected Attribute currentRemoteQuerySelectionUniqueKey

    - #### currentRemoteQuerySelectionRetrieveAE

          protected java.lang.String currentRemoteQuerySelectionRetrieveAE

    - #### currentRemoteQuerySelectionLevel

          protected java.lang.String currentRemoteQuerySelectionLevel

    - #### ourCalledAETitle

          protected java.lang.String ourCalledAETitle

    - #### savedImagesFolder

          protected java.io.File savedImagesFolder

    - #### storageSOPClassSCPDispatcher

          protected StorageSOPClassSCPDispatcher storageSOPClassSCPDispatcher

    - #### currentDatabaseTreeRecordSelections

          protected DatabaseTreeRecord[] currentDatabaseTreeRecordSelections

    - #### exportDirectoryPath

          protected java.lang.String exportDirectoryPath

    - #### importDirectoryPath

          protected java.lang.String importDirectoryPath

  - ### Constructor Detail

    - #### DownloadOrTransmit

          public DownloadOrTransmit​(java.lang.String title)
                             throws DicomException,
                                    java.io.IOException

      Throws:
        `DicomException`
        `java.io.IOException`

  - ### Method Detail

    - #### setCurrentRemoteQueryInformationModel

          protected void setCurrentRemoteQueryInformationModel​(java.lang.String remoteAEForQuery)

    - #### importFileIntoDatabase

          protected static void importFileIntoDatabase​(DatabaseInformationModel database,
                                                       java.lang.String dicomFileName,
                                                       java.lang.String fileRefererenceType)
                                                throws java.io.FileNotFoundException,
                                                       java.io.IOException,
                                                       DicomException

      Throws:
        `java.io.FileNotFoundException`
        `java.io.IOException`
        `DicomException`

    - #### activateStorageSCP

          protected void activateStorageSCP()
                                     throws DicomException,
                                            java.io.IOException

      Start DICOM storage listener for populating source database.

      Throws:
        `DicomException`
        `java.io.IOException`

    - #### activateTemporaryDatabases

          protected void activateTemporaryDatabases()
                                             throws DicomException

      Start local database.

      Will not persist when the application is closed, so in memory database is used and instances live in the temporary filesystem.

      Throws:
        `DicomException`

    - #### getCurrentSourceFilePathSelections

          protected java.util.Vector getCurrentSourceFilePathSelections()

    - #### purgeFilesAndDatabaseInformation

          protected void purgeFilesAndDatabaseInformation​(DatabaseTreeRecord[] databaseSelections,
                                                          MessageLogger logger,
                                                          SafeProgressBarUpdaterThread progressBarUpdater,
                                                          int done,
                                                          int maximum)
                                                   throws DicomException,
                                                          java.io.IOException

      Throws:
        `DicomException`
        `java.io.IOException`

    - #### purgeFilesAndDatabaseInformation

          protected void purgeFilesAndDatabaseInformation​(DatabaseTreeRecord databaseSelection,
                                                          MessageLogger logger,
                                                          SafeProgressBarUpdaterThread progressBarUpdater,
                                                          int done,
                                                          int maximum)
                                                   throws DicomException,
                                                          java.io.IOException

      Throws:
        `DicomException`
        `java.io.IOException`

    - #### getSRDescriptionForLog

          protected static java.lang.String getSRDescriptionForLog​(AttributeList list)

    - #### makeNewFullyQualifiedInterchangeMediaInstancePathName

          protected static java.lang.String makeNewFullyQualifiedInterchangeMediaInstancePathName​(int fileCount)
                                                                                           throws java.io.IOException

      Throws:
        `java.io.IOException`

    - #### makeNewFullyQualifiedHierarchicalInstancePathName

          protected static java.lang.String makeNewFullyQualifiedHierarchicalInstancePathName​(java.lang.String sourceFileName)
                                                                                       throws DicomException,
                                                                                              java.io.IOException

      Throws:
        `DicomException`
        `java.io.IOException`

    - #### exportFiles

          protected static void exportFiles​(java.util.Vector<java.lang.String> filesToCopy,
                                            java.io.File whereToCopyFiles,
                                            java.lang.String actionNoun,
                                            SafeProgressBarUpdaterThread progressBarUpdater,
                                            MessageLogger logger,
                                            boolean detailedLog,
                                            boolean addDicomDirectory,
                                            boolean hierarchicalExport,
                                            java.lang.String zipFileName)

    - #### getQueryRetrieveAEFromIdentifier

          public static java.lang.String getQueryRetrieveAEFromIdentifier​(AttributeList identifier,
                                                                          QueryInformationModel queryInformationModel)

    - #### getQueryRetrieveLevel

          public static java.lang.String getQueryRetrieveLevel​(AttributeList identifier,
                                                               Attribute uniqueKey)

    - #### setCurrentRemoteQuerySelection

          protected void setCurrentRemoteQuerySelection​(AttributeList uniqueKeys,
                                                        Attribute uniqueKey,
                                                        AttributeList identifier)

    - #### performRetrieve

          protected void performRetrieve​(AttributeList uniqueKeys,
                                         java.lang.String selectionLevel,
                                         java.lang.String retrieveAE)

    - #### main

          public static void main​(java.lang.String[] arg)

      The method to invoke the application.

      Parameters:
        `arg` - none