Package com.pixelmed.display

# Class DicomCleaner

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

All Implemented Interfaces:
  `ImageObserver`, `MenuContainer`, `Serializable`, `Accessible`, `RootPaneContainer`, `WindowConstants`

public class DicomCleaner extends ApplicationFrame

This class is an application for importing or retrieving DICOM studies, cleaning them (i.e., de-identifying them or replacing UIDs, etc.), and sending them elsewhere.

It is configured by use of a properties file that resides in the user's home directory in `.com.pixelmed.display.DicomCleaner.properties`. The properties allow control over the user interface elements that are displayed and record the settings changed by the user when the application closes.

For a description of the network configuration properties, see `NetworkApplicationProperties`.

The properties that are specific to the application, and their default values, are as follows

`Application.Allow.ChangeDatesAndTimes=true` - display the change dates and times panel

`Application.Allow.CheckBox.AcceptAnyTransferSyntax=true` - display the checkbox

`Application.Allow.CheckBox.AddContributingEquipment=true` - display the checkbox

`Application.Allow.CheckBox.AggregateAgesOver89=true` - display the checkbox

`Application.Allow.CheckBox.CleanUIDs=true` - display the checkbox

`Application.Allow.CheckBox.HierarchicalExport=true` - display the checkbox

`Application.Allow.CheckBox.RemoveCharacteristics=true` - display the checkbox

`Application.Allow.CheckBox.RemoveClinicalTrialAttributes=true` - display the checkbox

`Application.Allow.CheckBox.RemoveAllStructuredContent=true` - display the checkbox

`Application.Allow.CheckBox.RemoveUnsafeStructuredContent=true` - display the checkbox

`Application.Allow.CheckBox.RemoveDescriptions=true` - display the checkbox

`Application.Allow.CheckBox.RemoveDeviceIdentity=true` - display the checkbox

`Application.Allow.CheckBox.RemoveIdentity=true` - display the checkbox

`Application.Allow.CheckBox.RemoveInstitutionIdentity=true` - display the checkbox

`Application.Allow.CheckBox.RemovePrivate=true` - display the checkbox

`Application.Allow.CheckBox.RemoveProtocolName=true` - display the checkbox

`Application.Allow.CheckBox.RemoveSeriesDescriptions=true` - display the checkbox

`Application.Allow.CheckBox.ZipExport=true` - display the checkbox

`Application.Allow.NetworkConfiguration=true` - display the Configure button

`Application.Allow.UserQuery=true` - display the query/retrieve buttons, results panel and keys panel

`Application.CheckBox.IsSelected.AcceptAnyTransferSyntax=false` - selection status of the checkbox

`Application.CheckBox.IsSelected.AddContributingEquipment=true` - selection status of the checkbox

`Application.CheckBox.IsSelected.AggregateAgesOver89=true` - selection status of the checkbox

`Application.CheckBox.IsSelected.CleanUIDs=true` - selection status of the checkbox

`Application.CheckBox.IsSelected.HierarchicalExport=false` - selection status of the checkbox

`Application.CheckBox.IsSelected.ModifyDates=false` - selection status of the checkbox

`Application.CheckBox.IsSelected.RemoveCharacteristics=false` - selection status of the checkbox

`Application.CheckBox.IsSelected.RemoveClinicalTrialAttributes=false` - selection status of the checkbox

`Application.CheckBox.IsSelected.RemoveAllStructuredContent=false` - selection status of the checkbox

`Application.CheckBox.IsSelected.RemoveUnsafeStructuredContent=false` - selection status of the checkbox

`Application.CheckBox.IsSelected.RemoveDescriptions=false` - selection status of the checkbox

`Application.CheckBox.IsSelected.RemoveDeviceIdentity=false` - selection status of the checkbox

`Application.CheckBox.IsSelected.RemoveIdentity=true` - selection status of the checkbox

`Application.CheckBox.IsSelected.RemoveInstitutionIdentity=false` - selection status of the checkbox

`Application.CheckBox.IsSelected.RemovePrivate=true` - selection status of the checkbox

`Application.CheckBox.IsSelected.RemoveProtocolName=false` - selection status of the checkbox

`Application.CheckBox.IsSelected.RemoveSeriesDescriptions=false` - selection status of the checkbox

`Application.CheckBox.IsSelected.ReplaceAccessionNumber=true` - selection status ofthe checkbox

`Application.CheckBox.IsSelected.ReplacePatientID=true` - selection status of the checkbox

`Application.CheckBox.IsSelected.ReplacePatientBirthDate=false` - selection status of the checkbox

`Application.CheckBox.IsSelected.ReplacePatientName=true` - selection status of the checkbox

`Application.CheckBox.IsSelected.ZipExport=false` - selection status of the checkbox

`Application.ModifyDatesEpoch=20000101` - text value of the dates epoch

`Application.ReplacementText.AccessionNumber=` - text value of the Accession Number replacement field

`Application.ReplacementText.PatientID=NOID` - text value of Patient ID replacement field

`Application.ReplacementText.PatientBirthDate=19700101` - text value of Patient Birth Date replacement field

`Application.ReplacementText.PatientName=NAME^NONE` - text value of Patient Name replacement field

`Application.RandomReplacementPatientNamePrefix=Anon^` - prefix for random value of Patient Name replacement field

`Application.RandomReplacementPatientIDLength=16` - length for zero padded random value of Patient ID (and Patient Name suffix) replacement field

`Application.RandomReplacementAccessionNumberLength=16` - length for zero padded random value of Accession Number replacement field

`Application.DialogLogger.showDateTime=true` - prepend log entries with a time stamp

`Application.DialogLogger.dateTimeFormat=yyyy-MM-dd'T'HH:mm:ss.SSSZ` - the format for the time stamp in java.text.SimpleDateFormat format (if absent, milliseconds since starting)

See Also:
  - Serialized Form

## Nested Class Summary

Nested Classes
Modifier and Type
Class
Description
`protected class`
`DicomCleaner.BlackoutActionListener`
`protected class`
`DicomCleaner.CancelActionListener`
`protected class`
`DicomCleaner.CleanActionListener`
`protected class`
`DicomCleaner.CleanWorker`
`protected class`
`DicomCleaner.ConfigureActionListener`
`protected class`
`DicomCleaner.DefaultReplacementActionListener`
`protected class`
`DicomCleaner.DefaultYearActionListener`
`protected class`
`DicomCleaner.EarliestYearActionListener`
`protected class`
`DicomCleaner.ExportActionListener`
`protected class`
`DicomCleaner.ExportWorker`
`protected class`
`DicomCleaner.ImportActionListener`
`protected class`
`DicomCleaner.ImportWorker`
`protected class`
`DicomCleaner.LogActionListener`
`protected class`
`DicomCleaner.OurDestinationDatabaseTreeBrowser`
`protected class`
`DicomCleaner.OurDicomImageBlackout`
`protected class`
`DicomCleaner.OurMediaImporter`
`protected class`
`DicomCleaner.OurMultipleInstanceTransferStatusHandler`
`protected class`
`DicomCleaner.OurQueryTreeBrowser`
`protected class`
`DicomCleaner.OurReceivedObjectHandler`
`protected class`
`DicomCleaner.OurSourceDatabaseTreeBrowser`
`protected class`
`DicomCleaner.PurgeActionListener`
`protected class`
`DicomCleaner.PurgeWorker`
`protected class`
`DicomCleaner.QueryActionListener`
`protected class`
`DicomCleaner.QueryWorker`
`protected class`
`DicomCleaner.RandomReplacementActionListener`
`protected class`
`DicomCleaner.RandomYearActionListener`
`protected class`
`DicomCleaner.RetrieveActionListener`
`protected class`
`DicomCleaner.RetrieveWorker`
`protected class`
`DicomCleaner.SendActionListener`
`protected class`
`DicomCleaner.SendWorker`

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

`JFrame.AccessibleJFrame`

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

`Frame.AccessibleAWTFrame`

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

`Window.AccessibleAWTWindow, Window.Type`

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

`Container.AccessibleAWTContainer`

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

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

## Field Summary

Fields
Modifier and Type
Field
Description
`protected JCheckBox`
`acceptAnyTransferSyntaxCheckBox`
`protected JCheckBox`
`addContributingEquipmentCheckBox`
`protected JCheckBox`
`aggregateAgesOver89CheckBox`
`protected JCheckBox`
`cleanUIDsCheckBox`
`protected DatabaseTreeRecord[]`
`currentDestinationDatabaseSelections`
`protected Vector`
`currentDestinationFilePathSelections`
`protected QueryInformationModel`
`currentRemoteQueryInformationModel`
`protected String`
`currentRemoteQuerySelectionLevel`
`protected QueryTreeRecord`
`currentRemoteQuerySelectionQueryTreeRecord`
`protected String`
`currentRemoteQuerySelectionRetrieveAE`
`protected Attribute`
`currentRemoteQuerySelectionUniqueKey`
`protected AttributeList`
`currentRemoteQuerySelectionUniqueKeys`
`protected DatabaseTreeRecord[]`
`currentSourceDatabaseSelections`
`protected Vector`
`currentSourceFilePathSelections`
`protected SafeCursorChanger`
`cursorChanger`
`protected static boolean`
`default_CheckBoxAcceptAnyTransferSyntaxIsSelected`
`protected static boolean`
`default_CheckBoxAddContributingEquipmentIsSelected`
`protected static boolean`
`default_CheckBoxAggregateAgesOver89IsSelected`
`protected static boolean`
`default_CheckBoxCleanUIDsIsSelected`
`protected static boolean`
`default_CheckBoxHierarchicalExportIsSelected`
`protected static boolean`
`default_CheckBoxModifyDatesIsSelected`
`protected static boolean`
`default_CheckBoxRemoveAllStructuredContentIsSelected`
`protected static boolean`
`default_CheckBoxRemoveCharacteristicsIsSelected`
`protected static boolean`
`default_CheckBoxRemoveClinicalTrialAttributesIsSelected`
`protected static boolean`
`default_CheckBoxRemoveDescriptionsIsSelected`
`protected static boolean`
`default_CheckBoxRemoveDeviceIdentityIsSelected`
`protected static boolean`
`default_CheckBoxRemoveIdentityIsSelected`
`protected static boolean`
`default_CheckBoxRemoveInstitutionIdentityIsSelected`
`protected static boolean`
`default_CheckBoxRemovePrivateIsSelected`
`protected static boolean`
`default_CheckBoxRemoveProtocolNameIsSelected`
`protected static boolean`
`default_CheckBoxRemoveSeriesDescriptionsIsSelected`
`protected static boolean`
`default_CheckBoxRemoveUnsafeStructuredContentIsSelected`
`protected static boolean`
`default_CheckBoxReplaceAccessionNumberIsSelected`
`protected static boolean`
`default_CheckBoxReplacePatientBirthDateIsSelected`
`protected static boolean`
`default_CheckBoxReplacePatientIDIsSelected`
`protected static boolean`
`default_CheckBoxReplacePatientNameIsSelected`
`protected static boolean`
`default_CheckBoxZipExportIsSelected`
`protected static String`
`default_DateTimeFormat`
`protected static int`
`default_RandomReplacementAccessionNumberLength`
`protected static int`
`default_RandomReplacementPatientIDLength`
`protected static boolean`
`default_ShowDateTime`
`protected DatabaseInformationModel`
`dstDatabase`
`protected JPanel`
`dstDatabasePanel`
`protected Map<String,Date>`
`earliestDatesIndexedBySourceFilePath`
`protected String`
`exportDirectoryPath`
`protected static String`
`exportedZipFileName`
`protected static String`
`filePrefixForDicomInstanceFilesOnInterchangeMedia`
`protected static String`
`fileSuffixForDicomInstanceFilesOnInterchangeMedia`
`protected JCheckBox`
`hierarchicalExportCheckBox`
`protected String`
`importDirectoryPath`
`protected MessageLogger`
`logger`
`protected JCheckBox`
`modifyDatesCheckBox`
`protected JTextField`
`modifyDatesTextField`
`protected static String`
`nameForDicomDirectoryOnInterchangeMedia`
`protected NetworkApplicationInformation`
`networkApplicationInformation`
`protected NetworkApplicationProperties`
`networkApplicationProperties`
`protected String`
`ourCalledAETitle`
`protected SafeProgressBarUpdaterThread`
`progressBarUpdater`
`protected static String`
`propertiesFileName`
`protected static String`
`propertyName_AllowAcceptAnyTransferSyntaxCheckBox`
`protected static String`
`propertyName_AllowAddContributingEquipmentCheckBox`
`protected static String`
`propertyName_AllowAggregateAgesOver89CheckBox`
`protected static String`
`propertyName_AllowChangeDatesAndTimes`
`protected static String`
`propertyName_AllowCleanUIDsCheckBox`
`protected static String`
`propertyName_AllowHierarchicalExportCheckBox`
`protected static String`
`propertyName_AllowNetworkConfiguration`
`protected static String`
`propertyName_AllowRemoveAllStructuredContentCheckBox`
`protected static String`
`propertyName_AllowRemoveCharacteristicsCheckBox`
`protected static String`
`propertyName_AllowRemoveClinicalTrialAttributesCheckBox`
`protected static String`
`propertyName_AllowRemoveDescriptionsCheckBox`
`protected static String`
`propertyName_AllowRemoveDeviceIdentityCheckBox`
`protected static String`
`propertyName_AllowRemoveIdentityCheckBox`
`protected static String`
`propertyName_AllowRemoveInstitutionIdentityCheckBox`
`protected static String`
`propertyName_AllowRemovePrivateCheckBox`
`protected static String`
`propertyName_AllowRemoveProtocolNameCheckBox`
`protected static String`
`propertyName_AllowRemoveSeriesDescriptionsCheckBox`
`protected static String`
`propertyName_AllowRemoveUnsafeStructuredContentCheckBox`
`protected static String`
`propertyName_AllowUserQuery`
`protected static String`
`propertyName_AllowZipExportCheckBox`
`protected static String`
`propertyName_CheckBoxAcceptAnyTransferSyntaxIsSelected`
`protected static String`
`propertyName_CheckBoxAddContributingEquipmentIsSelected`
`protected static String`
`propertyName_CheckBoxAggregateAgesOver89IsSelected`
`protected static String`
`propertyName_CheckBoxCleanUIDsIsSelected`
`protected static String`
`propertyName_CheckBoxHierarchicalExportIsSelected`
`protected static String`
`propertyName_CheckBoxModifyDatesIsSelected`
`protected static String`
`propertyName_CheckBoxRemoveAllStructuredContentIsSelected`
`protected static String`
`propertyName_CheckBoxRemoveCharacteristicsIsSelected`
`protected static String`
`propertyName_CheckBoxRemoveClinicalTrialAttributesIsSelected`
`protected static String`
`propertyName_CheckBoxRemoveDescriptionsIsSelected`
`protected static String`
`propertyName_CheckBoxRemoveDeviceIdentityIsSelected`
`protected static String`
`propertyName_CheckBoxRemoveIdentityIsSelected`
`protected static String`
`propertyName_CheckBoxRemoveInstitutionIdentityIsSelected`
`protected static String`
`propertyName_CheckBoxRemovePrivateIsSelected`
`protected static String`
`propertyName_CheckBoxRemoveProtocolNameIsSelected`
`protected static String`
`propertyName_CheckBoxRemoveSeriesDescriptionsIsSelected`
`protected static String`
`propertyName_CheckBoxRemoveUnsafeStructuredContentIsSelected`
`protected static String`
`propertyName_CheckBoxReplaceAccessionNumberIsSelected`
`protected static String`
`propertyName_CheckBoxReplacePatientBirthDateIsSelected`
`protected static String`
`propertyName_CheckBoxReplacePatientIDIsSelected`
`protected static String`
`propertyName_CheckBoxReplacePatientNameIsSelected`
`protected static String`
`propertyName_CheckBoxZipExportIsSelected`
`protected static String`
`propertyName_DateTimeFormat`
`protected static String`
`propertyName_DicomCurrentlySelectedQueryTargetAE`
`protected static String`
`propertyName_DicomCurrentlySelectedStorageTargetAE`
`protected static String`
`propertyName_ModifyDatesEpoch`
`protected static String`
`propertyName_RandomReplacementAccessionNumberLength`
`protected static String`
`propertyName_RandomReplacementPatientIDLength`
`protected static String`
`propertyName_RandomReplacementPatientNamePrefix`
`protected static String`
`propertyName_ReplacementTextAccessionNumber`
`protected static String`
`propertyName_ReplacementTextPatientBirthDate`
`protected static String`
`propertyName_ReplacementTextPatientID`
`protected static String`
`propertyName_ReplacementTextPatientName`
`protected static String`
`propertyName_ShowDateTime`
`protected JTextField`
`queryFilterAccessionNumberTextField`
`protected JTextField`
`queryFilterPatientIDTextField`
`protected JTextField`
`queryFilterPatientNameTextField`
`protected JTextField`
`queryFilterStudyDateTextField`
`protected int`
`randomReplacementAccessionNumberLength`
`protected int`
`randomReplacementPatientIDLength`
`protected String`
`randomReplacementPatientNamePrefix`
`protected JPanel`
`remoteQueryRetrievePanel`
`protected JCheckBox`
`removeAllStructuredContentCheckBox`
`protected JCheckBox`
`removeCharacteristicsCheckBox`
`protected JCheckBox`
`removeClinicalTrialAttributesCheckBox`
`protected JCheckBox`
`removeDescriptionsCheckBox`
`protected JCheckBox`
`removeDeviceIdentityCheckBox`
`protected JCheckBox`
`removeIdentityCheckBox`
`protected JCheckBox`
`removeInstitutionIdentityCheckBox`
`protected JCheckBox`
`removePrivateCheckBox`
`protected JCheckBox`
`removeProtocolNameCheckBox`
`protected JCheckBox`
`removeSeriesDescriptionsCheckBox`
`protected JCheckBox`
`removeUnsafeStructuredContentCheckBox`
`protected JCheckBox`
`replaceAccessionNumberCheckBox`
`protected JTextField`
`replacementAccessionNumberTextField`
`protected JTextField`
`replacementPatientBirthDateTextField`
`protected JTextField`
`replacementPatientIDTextField`
`protected JTextField`
`replacementPatientNameTextField`
`protected JCheckBox`
`replacePatientBirthDateCheckBox`
`protected JCheckBox`
`replacePatientIDCheckBox`
`protected JCheckBox`
`replacePatientNameCheckBox`
`protected ResourceBundle`
`resourceBundle`
`protected static String`
`resourceBundleName`
`protected static String`
`rootNameForDicomInstanceFilesOnInterchangeMedia`
`protected File`
`savedImagesFolder`
`protected DatabaseInformationModel`
`srcDatabase`
`protected JPanel`
`srcDatabasePanel`
`protected StorageSOPClassSCPDispatcher`
`storageSOPClassSCPDispatcher`
`protected static int`
`textFieldLengthForModifyDates`
`protected static int`
`textFieldLengthForQueryAccessionNumber`
`protected static int`
`textFieldLengthForQueryPatientID`
`protected static int`
`textFieldLengthForQueryPatientName`
`protected static int`
`textFieldLengthForQueryStudyDate`
`protected static int`
`textFieldLengthForReplacementAccessionNumber`
`protected static int`
`textFieldLengthForReplacementPatientBirthDate`
`protected static int`
`textFieldLengthForReplacementPatientID`
`protected static int`
`textFieldLengthForReplacementPatientName`
`protected JCheckBox`
`zipExportCheckBox`

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

`ICONIFIED, MAXIMIZED_BOTH, MAXIMIZED_HORIZ, MAXIMIZED_VERT, NORMAL`

### 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
`DicomCleaner()`
`DicomCleaner(String pathName)`

## Method Summary

Modifier and Type
Method
Description
`protected void`
`activateStorageSCP()`
Start DICOM storage listener for populating source database.
`protected void`
`activateTemporaryDatabases()`
Start two databases, one for the "source" instances and one for the "target" instances.
`protected boolean`
`copyFromOriginalToCleanedPerformingAction(Vector paths, Date earliestDateInSet, MessageLogger logger, SafeProgressBarUpdaterThread progressBarUpdater)`
`protected static Date`
`findEarliestDate(Map<String,Date> earliestDatesIndexedBySourceFilePath, Vector<String> sourceFilePathSelections)`
`protected static void`
`importFileIntoDatabase(DatabaseInformationModel database, String dicomFileName, String fileReferenceType, Map<String,Date> earliestDatesIndexedBySourceFilePath)`
`static void`
`main(String[] arg)`
The method to invoke the application.
`protected String`
`makeNewFullyQualifiedHierarchicalInstancePathName(String sourceFileName)`
`protected String`
`makeNewFullyQualifiedInterchangeMediaInstancePathName(int fileCount)`
`protected void`
`performRetrieve(AttributeList uniqueKeys, String selectionLevel, 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(String remoteAEForQuery)`
`protected void`
`setCurrentRemoteQuerySelection(AttributeList uniqueKeys, Attribute uniqueKey, AttributeList identifier)`

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

`createGUI, getApplicationPropertyFileName, getBooleanPropertyOrDefaultAndAddIt, getBooleanPropertyOrDefaultAndAddIt, getBuildDate, getIntegerPropertyOrDefaultAndAddIt, getIntegerPropertyOrDefaultAndAddIt, getProperties, getPropertyInsistently, getPropertyInsistently, getPropertyOrDefaultAndAddIt, getPropertyOrDefaultAndAddIt, getReleaseString, getStatusBar, loadProperties, localizeJOptionPane, 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, getExtendedState, getFrames, getIconImage, getMaximizedBounds, getMenuBar, getState, getTitle, isResizable, isUndecorated, remove, removeNotify, setBackground, setExtendedState, setMaximizedBounds, setMenuBar, setOpacity, setResizable, setShape, setState, setTitle, setUndecorated`

### Methods inherited from class java.awt.Window

`addPropertyChangeListener, addPropertyChangeListener, addWindowFocusListener, addWindowListener, addWindowStateListener, 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, processEvent, processWindowFocusEvent, processWindowStateEvent, removeWindowFocusListener, removeWindowListener, removeWindowStateListener, setAlwaysOnTop, setAutoRequestFocus, setBounds, setBounds, setCursor, setFocusableWindowState, setFocusCycleRoot, setIconImages, setLocation, setLocation, setLocationByPlatform, setLocationRelativeTo, setMinimumSize, setModalExclusionType, setSize, setSize, setType, setVisible, toBack, toFront`

### Methods inherited from class java.awt.Container

`add, add, add, add, add, addContainerListener, applyComponentOrientation, areFocusTraversalKeysSet, doLayout, findComponentAt, findComponentAt, getAlignmentX, getAlignmentY, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalPolicy, getInsets, getLayout, getMaximumSize, getMinimumSize, getMousePosition, getPreferredSize, invalidate, isAncestorOf, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, list, list, paintComponents, print, printComponents, processContainerEvent, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusTraversalKeys, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setFont, transferFocusDownCycle, validate, validateTree`

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

`add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, checkImage, checkImage, coalesceEvents, contains, contains, createImage, createImage, createVolatileImage, createVolatileImage, disableEvents, dispatchEvent, 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, hasFocus, imageUpdate, isBackgroundSet, isCursorSet, isDisplayable, isDoubleBuffered, isEnabled, isFocusable, isFocusOwner, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isPreferredSizeSet, isValid, isVisible, list, list, list, 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, revalidate, setComponentOrientation, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeysEnabled, setForeground, setIgnoreRepaint, setLocale, setMaximumSize, setMixingCutoutShape, setName, setPreferredSize, toString, transferFocus, transferFocusBackward, transferFocusUpCycle`

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

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

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

`getFont`

## Field Details

### resourceBundleName

protected static String resourceBundleName

### propertiesFileName

protected static String propertiesFileName

### propertyName_DicomCurrentlySelectedStorageTargetAE

protected static String propertyName_DicomCurrentlySelectedStorageTargetAE

### propertyName_DicomCurrentlySelectedQueryTargetAE

protected static String propertyName_DicomCurrentlySelectedQueryTargetAE

### propertyName_AllowUserQuery

protected static String propertyName_AllowUserQuery

### propertyName_AllowNetworkConfiguration

protected static String propertyName_AllowNetworkConfiguration

### propertyName_AllowChangeDatesAndTimes

protected static String propertyName_AllowChangeDatesAndTimes

### propertyName_AllowRemoveIdentityCheckBox

protected static String propertyName_AllowRemoveIdentityCheckBox

### propertyName_AllowRemoveDescriptionsCheckBox

protected static String propertyName_AllowRemoveDescriptionsCheckBox

### propertyName_AllowRemoveSeriesDescriptionsCheckBox

protected static String propertyName_AllowRemoveSeriesDescriptionsCheckBox

### propertyName_AllowRemoveProtocolNameCheckBox

protected static String propertyName_AllowRemoveProtocolNameCheckBox

### propertyName_AllowRemoveCharacteristicsCheckBox

protected static String propertyName_AllowRemoveCharacteristicsCheckBox

### propertyName_AllowRemoveDeviceIdentityCheckBox

protected static String propertyName_AllowRemoveDeviceIdentityCheckBox

### propertyName_AllowRemoveInstitutionIdentityCheckBox

protected static String propertyName_AllowRemoveInstitutionIdentityCheckBox

### propertyName_AllowCleanUIDsCheckBox

protected static String propertyName_AllowCleanUIDsCheckBox

### propertyName_AllowRemovePrivateCheckBox

protected static String propertyName_AllowRemovePrivateCheckBox

### propertyName_AllowAddContributingEquipmentCheckBox

protected static String propertyName_AllowAddContributingEquipmentCheckBox

### propertyName_AllowRemoveClinicalTrialAttributesCheckBox

protected static String propertyName_AllowRemoveClinicalTrialAttributesCheckBox

### propertyName_AllowRemoveAllStructuredContentCheckBox

protected static String propertyName_AllowRemoveAllStructuredContentCheckBox

### propertyName_AllowRemoveUnsafeStructuredContentCheckBox

protected static String propertyName_AllowRemoveUnsafeStructuredContentCheckBox

### propertyName_AllowZipExportCheckBox

protected static String propertyName_AllowZipExportCheckBox

### propertyName_AllowHierarchicalExportCheckBox

protected static String propertyName_AllowHierarchicalExportCheckBox

### propertyName_AllowAcceptAnyTransferSyntaxCheckBox

protected static String propertyName_AllowAcceptAnyTransferSyntaxCheckBox

### propertyName_AllowAggregateAgesOver89CheckBox

protected static String propertyName_AllowAggregateAgesOver89CheckBox

### propertyName_ReplacementTextPatientName

protected static String propertyName_ReplacementTextPatientName

### propertyName_ReplacementTextPatientID

protected static String propertyName_ReplacementTextPatientID

### propertyName_ReplacementTextPatientBirthDate

protected static String propertyName_ReplacementTextPatientBirthDate

### propertyName_ReplacementTextAccessionNumber

protected static String propertyName_ReplacementTextAccessionNumber

### propertyName_ShowDateTime

protected static String propertyName_ShowDateTime

### propertyName_DateTimeFormat

protected static String propertyName_DateTimeFormat

### propertyName_CheckBoxReplacePatientNameIsSelected

protected static String propertyName_CheckBoxReplacePatientNameIsSelected

### propertyName_CheckBoxReplacePatientIDIsSelected

protected static String propertyName_CheckBoxReplacePatientIDIsSelected

### propertyName_CheckBoxReplacePatientBirthDateIsSelected

protected static String propertyName_CheckBoxReplacePatientBirthDateIsSelected

### propertyName_CheckBoxReplaceAccessionNumberIsSelected

protected static String propertyName_CheckBoxReplaceAccessionNumberIsSelected

### propertyName_CheckBoxModifyDatesIsSelected

protected static String propertyName_CheckBoxModifyDatesIsSelected

### propertyName_ModifyDatesEpoch

protected static String propertyName_ModifyDatesEpoch

### propertyName_CheckBoxRemoveIdentityIsSelected

protected static String propertyName_CheckBoxRemoveIdentityIsSelected

### propertyName_CheckBoxRemoveDescriptionsIsSelected

protected static String propertyName_CheckBoxRemoveDescriptionsIsSelected

### propertyName_CheckBoxRemoveSeriesDescriptionsIsSelected

protected static String propertyName_CheckBoxRemoveSeriesDescriptionsIsSelected

### propertyName_CheckBoxRemoveProtocolNameIsSelected

protected static String propertyName_CheckBoxRemoveProtocolNameIsSelected

### propertyName_CheckBoxRemoveCharacteristicsIsSelected

protected static String propertyName_CheckBoxRemoveCharacteristicsIsSelected

### propertyName_CheckBoxRemoveDeviceIdentityIsSelected

protected static String propertyName_CheckBoxRemoveDeviceIdentityIsSelected

### propertyName_CheckBoxRemoveInstitutionIdentityIsSelected

protected static String propertyName_CheckBoxRemoveInstitutionIdentityIsSelected

### propertyName_CheckBoxCleanUIDsIsSelected

protected static String propertyName_CheckBoxCleanUIDsIsSelected

### propertyName_CheckBoxRemovePrivateIsSelected

protected static String propertyName_CheckBoxRemovePrivateIsSelected

### propertyName_CheckBoxAddContributingEquipmentIsSelected

protected static String propertyName_CheckBoxAddContributingEquipmentIsSelected

### propertyName_CheckBoxRemoveClinicalTrialAttributesIsSelected

protected static String propertyName_CheckBoxRemoveClinicalTrialAttributesIsSelected

### propertyName_CheckBoxRemoveAllStructuredContentIsSelected

protected static String propertyName_CheckBoxRemoveAllStructuredContentIsSelected

### propertyName_CheckBoxRemoveUnsafeStructuredContentIsSelected

protected static String propertyName_CheckBoxRemoveUnsafeStructuredContentIsSelected

### propertyName_CheckBoxZipExportIsSelected

protected static String propertyName_CheckBoxZipExportIsSelected

### propertyName_CheckBoxHierarchicalExportIsSelected

protected static String propertyName_CheckBoxHierarchicalExportIsSelected

### propertyName_CheckBoxAcceptAnyTransferSyntaxIsSelected

protected static String propertyName_CheckBoxAcceptAnyTransferSyntaxIsSelected

### propertyName_CheckBoxAggregateAgesOver89IsSelected

protected static String propertyName_CheckBoxAggregateAgesOver89IsSelected

### propertyName_RandomReplacementPatientNamePrefix

protected static String propertyName_RandomReplacementPatientNamePrefix

### propertyName_RandomReplacementPatientIDLength

protected static String propertyName_RandomReplacementPatientIDLength

### propertyName_RandomReplacementAccessionNumberLength

protected static String propertyName_RandomReplacementAccessionNumberLength

### default_CheckBoxReplacePatientNameIsSelected

protected static boolean default_CheckBoxReplacePatientNameIsSelected

### default_CheckBoxReplacePatientIDIsSelected

protected static boolean default_CheckBoxReplacePatientIDIsSelected

### default_CheckBoxReplacePatientBirthDateIsSelected

protected static boolean default_CheckBoxReplacePatientBirthDateIsSelected

### default_CheckBoxReplaceAccessionNumberIsSelected

protected static boolean default_CheckBoxReplaceAccessionNumberIsSelected

### default_CheckBoxModifyDatesIsSelected

protected static boolean default_CheckBoxModifyDatesIsSelected

### default_CheckBoxRemoveIdentityIsSelected

protected static boolean default_CheckBoxRemoveIdentityIsSelected

### default_CheckBoxRemoveDescriptionsIsSelected

protected static boolean default_CheckBoxRemoveDescriptionsIsSelected

### default_CheckBoxRemoveSeriesDescriptionsIsSelected

protected static boolean default_CheckBoxRemoveSeriesDescriptionsIsSelected

### default_CheckBoxRemoveProtocolNameIsSelected

protected static boolean default_CheckBoxRemoveProtocolNameIsSelected

### default_CheckBoxRemoveCharacteristicsIsSelected

protected static boolean default_CheckBoxRemoveCharacteristicsIsSelected

### default_CheckBoxRemoveDeviceIdentityIsSelected

protected static boolean default_CheckBoxRemoveDeviceIdentityIsSelected

### default_CheckBoxRemoveInstitutionIdentityIsSelected

protected static boolean default_CheckBoxRemoveInstitutionIdentityIsSelected

### default_CheckBoxCleanUIDsIsSelected

protected static boolean default_CheckBoxCleanUIDsIsSelected

### default_CheckBoxRemovePrivateIsSelected

protected static boolean default_CheckBoxRemovePrivateIsSelected

### default_CheckBoxAddContributingEquipmentIsSelected

protected static boolean default_CheckBoxAddContributingEquipmentIsSelected

### default_CheckBoxRemoveClinicalTrialAttributesIsSelected

protected static boolean default_CheckBoxRemoveClinicalTrialAttributesIsSelected

### default_CheckBoxRemoveAllStructuredContentIsSelected

protected static boolean default_CheckBoxRemoveAllStructuredContentIsSelected

### default_CheckBoxRemoveUnsafeStructuredContentIsSelected

protected static boolean default_CheckBoxRemoveUnsafeStructuredContentIsSelected

### default_CheckBoxZipExportIsSelected

protected static boolean default_CheckBoxZipExportIsSelected

### default_CheckBoxHierarchicalExportIsSelected

protected static boolean default_CheckBoxHierarchicalExportIsSelected

### default_CheckBoxAcceptAnyTransferSyntaxIsSelected

protected static boolean default_CheckBoxAcceptAnyTransferSyntaxIsSelected

### default_CheckBoxAggregateAgesOver89IsSelected

protected static boolean default_CheckBoxAggregateAgesOver89IsSelected

### default_ShowDateTime

protected static boolean default_ShowDateTime

### default_DateTimeFormat

protected static String default_DateTimeFormat

### default_RandomReplacementPatientIDLength

protected static int default_RandomReplacementPatientIDLength

### default_RandomReplacementAccessionNumberLength

protected static int default_RandomReplacementAccessionNumberLength

### rootNameForDicomInstanceFilesOnInterchangeMedia

protected static String rootNameForDicomInstanceFilesOnInterchangeMedia

### filePrefixForDicomInstanceFilesOnInterchangeMedia

protected static String filePrefixForDicomInstanceFilesOnInterchangeMedia

### fileSuffixForDicomInstanceFilesOnInterchangeMedia

protected static String fileSuffixForDicomInstanceFilesOnInterchangeMedia

### nameForDicomDirectoryOnInterchangeMedia

protected static String nameForDicomDirectoryOnInterchangeMedia

### exportedZipFileName

protected static String exportedZipFileName

### textFieldLengthForQueryPatientName

protected static int textFieldLengthForQueryPatientName

### textFieldLengthForQueryPatientID

protected static int textFieldLengthForQueryPatientID

### textFieldLengthForQueryStudyDate

protected static int textFieldLengthForQueryStudyDate

### textFieldLengthForQueryAccessionNumber

protected static int textFieldLengthForQueryAccessionNumber

### textFieldLengthForReplacementPatientName

protected static int textFieldLengthForReplacementPatientName

### textFieldLengthForReplacementPatientID

protected static int textFieldLengthForReplacementPatientID

### textFieldLengthForReplacementPatientBirthDate

protected static int textFieldLengthForReplacementPatientBirthDate

### textFieldLengthForReplacementAccessionNumber

protected static int textFieldLengthForReplacementAccessionNumber

### textFieldLengthForModifyDates

protected static int textFieldLengthForModifyDates

### resourceBundle

protected ResourceBundle resourceBundle

### srcDatabase

protected DatabaseInformationModel srcDatabase

### dstDatabase

protected DatabaseInformationModel dstDatabase

### srcDatabasePanel

protected JPanel srcDatabasePanel

### dstDatabasePanel

protected JPanel dstDatabasePanel

### remoteQueryRetrievePanel

protected JPanel remoteQueryRetrievePanel

### removeIdentityCheckBox

protected JCheckBox removeIdentityCheckBox

### removeDescriptionsCheckBox

protected JCheckBox removeDescriptionsCheckBox

### removeSeriesDescriptionsCheckBox

protected JCheckBox removeSeriesDescriptionsCheckBox

### removeProtocolNameCheckBox

protected JCheckBox removeProtocolNameCheckBox

### removeCharacteristicsCheckBox

protected JCheckBox removeCharacteristicsCheckBox

### removeDeviceIdentityCheckBox

protected JCheckBox removeDeviceIdentityCheckBox

### removeInstitutionIdentityCheckBox

protected JCheckBox removeInstitutionIdentityCheckBox

### cleanUIDsCheckBox

protected JCheckBox cleanUIDsCheckBox

### removePrivateCheckBox

protected JCheckBox removePrivateCheckBox

### addContributingEquipmentCheckBox

protected JCheckBox addContributingEquipmentCheckBox

### removeClinicalTrialAttributesCheckBox

protected JCheckBox removeClinicalTrialAttributesCheckBox

### removeAllStructuredContentCheckBox

protected JCheckBox removeAllStructuredContentCheckBox

### removeUnsafeStructuredContentCheckBox

protected JCheckBox removeUnsafeStructuredContentCheckBox

### zipExportCheckBox

protected JCheckBox zipExportCheckBox

### hierarchicalExportCheckBox

protected JCheckBox hierarchicalExportCheckBox

### acceptAnyTransferSyntaxCheckBox

protected JCheckBox acceptAnyTransferSyntaxCheckBox

### aggregateAgesOver89CheckBox

protected JCheckBox aggregateAgesOver89CheckBox

### replacePatientNameCheckBox

protected JCheckBox replacePatientNameCheckBox

### replacePatientIDCheckBox

protected JCheckBox replacePatientIDCheckBox

### replacePatientBirthDateCheckBox

protected JCheckBox replacePatientBirthDateCheckBox

### replaceAccessionNumberCheckBox

protected JCheckBox replaceAccessionNumberCheckBox

### modifyDatesCheckBox

protected JCheckBox modifyDatesCheckBox

### replacementPatientNameTextField

protected JTextField replacementPatientNameTextField

### replacementPatientIDTextField

protected JTextField replacementPatientIDTextField

### replacementPatientBirthDateTextField

protected JTextField replacementPatientBirthDateTextField

### replacementAccessionNumberTextField

protected JTextField replacementAccessionNumberTextField

### modifyDatesTextField

protected JTextField modifyDatesTextField

### queryFilterPatientNameTextField

protected JTextField queryFilterPatientNameTextField

### queryFilterPatientIDTextField

protected JTextField queryFilterPatientIDTextField

### queryFilterStudyDateTextField

protected JTextField queryFilterStudyDateTextField

### queryFilterAccessionNumberTextField

protected JTextField queryFilterAccessionNumberTextField

### randomReplacementPatientNamePrefix

protected String randomReplacementPatientNamePrefix

### randomReplacementPatientIDLength

protected int randomReplacementPatientIDLength

### randomReplacementAccessionNumberLength

protected int randomReplacementAccessionNumberLength

### progressBarUpdater

protected SafeProgressBarUpdaterThread progressBarUpdater

### cursorChanger

protected SafeCursorChanger cursorChanger

### logger

protected MessageLogger logger

### networkApplicationProperties

protected NetworkApplicationProperties networkApplicationProperties

### networkApplicationInformation

protected NetworkApplicationInformation networkApplicationInformation

### currentRemoteQueryInformationModel

protected QueryInformationModel currentRemoteQueryInformationModel

### currentRemoteQuerySelectionQueryTreeRecord

protected QueryTreeRecord currentRemoteQuerySelectionQueryTreeRecord

### currentRemoteQuerySelectionUniqueKeys

protected AttributeList currentRemoteQuerySelectionUniqueKeys

### currentRemoteQuerySelectionUniqueKey

protected Attribute currentRemoteQuerySelectionUniqueKey

### currentRemoteQuerySelectionRetrieveAE

protected String currentRemoteQuerySelectionRetrieveAE

### currentRemoteQuerySelectionLevel

protected String currentRemoteQuerySelectionLevel

### ourCalledAETitle

protected String ourCalledAETitle

### earliestDatesIndexedBySourceFilePath

protected Map<String,Date> earliestDatesIndexedBySourceFilePath

### savedImagesFolder

protected File savedImagesFolder

### storageSOPClassSCPDispatcher

protected StorageSOPClassSCPDispatcher storageSOPClassSCPDispatcher

### currentSourceDatabaseSelections

protected DatabaseTreeRecord[] currentSourceDatabaseSelections

### currentSourceFilePathSelections

protected Vector currentSourceFilePathSelections

### currentDestinationDatabaseSelections

protected DatabaseTreeRecord[] currentDestinationDatabaseSelections

### currentDestinationFilePathSelections

protected Vector currentDestinationFilePathSelections

### importDirectoryPath

protected String importDirectoryPath

### exportDirectoryPath

protected String exportDirectoryPath

## Constructor Details

### DicomCleaner

public DicomCleaner() throws DicomException, IOException

Throws:
  `DicomException`
  `IOException`

### DicomCleaner

public DicomCleaner(String pathName) throws DicomException, IOException

Throws:
  `DicomException`
  `IOException`

## Method Details

### setCurrentRemoteQueryInformationModel

protected void setCurrentRemoteQueryInformationModel(String remoteAEForQuery)

### importFileIntoDatabase

protected static void importFileIntoDatabase(DatabaseInformationModel database, String dicomFileName, String fileReferenceType, Map<String,Date> earliestDatesIndexedBySourceFilePath) throws FileNotFoundException, IOException, DicomException

Throws:
  `FileNotFoundException`
  `IOException`
  `DicomException`

### activateStorageSCP

protected void activateStorageSCP() throws DicomException, IOException

Start DICOM storage listener for populating source database.

Throws:
  `DicomException`
  `IOException`

### activateTemporaryDatabases

protected void activateTemporaryDatabases() throws DicomException

Start two databases, one for the "source" instances and one for the "target" instances.

Neither will persist when the application is closed, so in memory databases only are used and instances live in the temporary filesystem.

Throws:
  `DicomException`

### purgeFilesAndDatabaseInformation

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

Throws:
  `DicomException`
  `IOException`

### purgeFilesAndDatabaseInformation

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

Throws:
  `DicomException`
  `IOException`

### copyFromOriginalToCleanedPerformingAction

protected boolean copyFromOriginalToCleanedPerformingAction(Vector paths, Date earliestDateInSet, MessageLogger logger, SafeProgressBarUpdaterThread progressBarUpdater) throws DicomException, IOException

Throws:
  `DicomException`
  `IOException`

### findEarliestDate

protected static Date findEarliestDate(Map<String,Date> earliestDatesIndexedBySourceFilePath, Vector<String> sourceFilePathSelections)

### makeNewFullyQualifiedInterchangeMediaInstancePathName

protected String makeNewFullyQualifiedInterchangeMediaInstancePathName(int fileCount) throws IOException

Throws:
  `IOException`

### makeNewFullyQualifiedHierarchicalInstancePathName

protected String makeNewFullyQualifiedHierarchicalInstancePathName(String sourceFileName) throws DicomException, IOException

Throws:
  `DicomException`
  `IOException`

### setCurrentRemoteQuerySelection

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

### performRetrieve

protected void performRetrieve(AttributeList uniqueKeys, String selectionLevel, String retrieveAE)

### main

public static void main(String[] arg)

The method to invoke the application.

Parameters:
  `arg` - optionally, a single path to a DICOM file or folder to search for importable DICOM files