Class InstanceReceiver
- java.lang.Object
-
- com.pixelmed.apps.InstanceReceiver
-
- Direct Known Subclasses:
ProcessReceivedWholeSlideImagesMakeTiledPyramidAndSend
public class InstanceReceiver extends java.lang.ObjectA class to wait for incoming composite instance storage operations and process each instance as it is received.
The
doSomethingWithReceivedDicomFile()method may be implemented in a sub-class to actually do something more useful than just storing the files.It is configured by use of a properties file that resides in the user's home directory in
.com.pixelmed.apps.ProcessReceivedWholeSlideImagesMakeTiledPyramidAndSend.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.SavedImagesFolderName=.com.pixelmed.apps.InstanceReceiver.receivedinstances- where to store DICOM instances received
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description protected static classInstanceReceiver.OurReadTerminationStrategyprotected classInstanceReceiver.OurReceivedObjectHandlerprotected classInstanceReceiver.ReceivedFileProcessor
-
Field Summary
Fields Modifier and Type Field Description protected static java.lang.StringdefaultPropertiesFileNameprotected java.lang.StringdefaultSavedImagesFolderNameprotected NetworkApplicationInformationFederatednetworkApplicationInformationprotected NetworkApplicationPropertiesnetworkApplicationPropertiesprotected java.lang.StringourCalledAETitleprotected java.util.Propertiespropertiesprotected static java.lang.StringpropertyName_SavedImagesFolderNameprotected java.io.FilesavedImagesFolderprotected StoredFilePathStrategystoredFilePathStrategyprotected static AttributeList.ReadTerminationStrategyterminateAfterRelationshipGroup
-
Constructor Summary
Constructors Constructor Description InstanceReceiver(java.lang.String propertiesFileName)Wait for incoming composite instance storage operations and process each instance as it is received.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description voidactivateStorageSCP()Start or restart DICOM storage listener.protected voiddoSomethingWithReceivedDicomFile(java.lang.String receivedFileName, java.lang.String sourceApplicationEntityTitle, java.lang.String transferSyntaxUID, java.lang.String sopClassUID)Do something with the received DICOM file.protected static java.io.FilegetFolderNameCreatingItIfNecessary(java.lang.String folderName)Return the folder, creating it if necessary.protected voidloadProperties(java.lang.String propertiesFileName)Load properties.static voidmain(java.lang.String[] arg)Wait for incoming composite instance storage operations and process each instance as it is received.voidshutdownStorageSCP()Shutdown DICOM storage listener.
-
-
-
Field Detail
-
defaultPropertiesFileName
protected static java.lang.String defaultPropertiesFileName
-
propertyName_SavedImagesFolderName
protected static java.lang.String propertyName_SavedImagesFolderName
-
defaultSavedImagesFolderName
protected java.lang.String defaultSavedImagesFolderName
-
properties
protected java.util.Properties properties
-
networkApplicationProperties
protected NetworkApplicationProperties networkApplicationProperties
-
networkApplicationInformation
protected NetworkApplicationInformationFederated networkApplicationInformation
-
ourCalledAETitle
protected java.lang.String ourCalledAETitle
-
savedImagesFolder
protected java.io.File savedImagesFolder
-
storedFilePathStrategy
protected StoredFilePathStrategy storedFilePathStrategy
-
terminateAfterRelationshipGroup
protected static final AttributeList.ReadTerminationStrategy terminateAfterRelationshipGroup
-
-
Constructor Detail
-
InstanceReceiver
public InstanceReceiver(java.lang.String propertiesFileName) throws DicomException, DicomNetworkException, java.io.IOException, java.lang.InterruptedExceptionWait for incoming composite instance storage operations and process each instance as it is received.
- Parameters:
propertiesFileName-- Throws:
DicomExceptionDicomNetworkExceptionjava.io.IOExceptionjava.lang.InterruptedException
-
-
Method Detail
-
loadProperties
protected void loadProperties(java.lang.String propertiesFileName) throws java.io.IOExceptionLoad properties.
- Throws:
java.io.IOException- thrown if properties file is missing
-
doSomethingWithReceivedDicomFile
protected void doSomethingWithReceivedDicomFile(java.lang.String receivedFileName, java.lang.String sourceApplicationEntityTitle, java.lang.String transferSyntaxUID, java.lang.String sopClassUID)Do something with the received DICOM file.
This method may be implemented in a sub-class to do something useful even if it is only logging to the user interface.
The default method does nothing.
This method is called on the ReceivedFileProcessor thread.
This method does not define any exceptions and hence must handle any errors locally.
- Parameters:
receivedFileName- the path name to a DICOM filesourceApplicationEntityTitle- the Application Entity from which the file was receivedtransferSyntaxUID- the Transfer Syntax of the Data Set in the DICOM filesopClassUID- the SOP Class of the Data Set in the DICOM file
-
getFolderNameCreatingItIfNecessary
protected static java.io.File getFolderNameCreatingItIfNecessary(java.lang.String folderName) throws java.io.IOExceptionReturn the folder, creating it if necessary.
If not an absolute path, will be sought or created relative to the current user's home directory.
- Returns:
- the folder
- Throws:
java.io.IOException
-
activateStorageSCP
public void activateStorageSCP() throws DicomException, java.io.IOExceptionStart or restart DICOM storage listener.
Shuts down existing listener, if any, so may be used to restart after configuration change.
- Throws:
DicomExceptionjava.io.IOException
-
shutdownStorageSCP
public void shutdownStorageSCP()
Shutdown DICOM storage listener.
-
main
public static void main(java.lang.String[] arg)
Wait for incoming composite instance storage operations and process each instance as it is received.
- Parameters:
arg- none
-
-