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
`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
`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 static boolean` `haveCheckedForJPEG2000Part1Codec`
`protected static boolean` `haveCheckedForJPEGLosslessCodec`
`protected static boolean` `haveFoundJPEG2000Part1Codec`
`protected static boolean` `haveFoundJPEGLosslessCodec`
`protected static boolean` `haveScannedForCodecs`
`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, EXIT_ON_CLOSE, 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 javax.swing.WindowConstants

`DISPOSE_ON_CLOSE, DO_NOTHING_ON_CLOSE, HIDE_ON_CLOSE`

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

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

### Constructor Summary

Constructors
Constructor and Description
`DownloadOrTransmit(java.lang.String title)`

### Method Summary

Methods
`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 boolean` `haveJPEG2000Part1Codec()`
`protected boolean` `haveJPEGLosslessCodec()`
`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, getPeer, 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, requestFocusInWindow, requestFocusInWindow, resize, resize, revalidate, setComponentOrientation, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeysEnabled, setForeground, setIgnoreRepaint, setLocale, setMaximumSize, 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

#### haveScannedForCodecs

    protected static boolean haveScannedForCodecs

#### haveCheckedForJPEGLosslessCodec

    protected static boolean haveCheckedForJPEGLosslessCodec

#### haveFoundJPEGLosslessCodec

    protected static boolean haveFoundJPEGLosslessCodec

#### haveCheckedForJPEG2000Part1Codec

    protected static boolean haveCheckedForJPEG2000Part1Codec

#### haveFoundJPEG2000Part1Codec

    protected static boolean haveFoundJPEG2000Part1Codec

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

#### haveJPEGLosslessCodec

    protected boolean haveJPEGLosslessCodec()

#### haveJPEG2000Part1Codec

    protected boolean haveJPEG2000Part1Codec()

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