Class NetworkApplicationProperties


  • public class NetworkApplicationProperties
    extends java.lang.Object

    This class provides common support to applications requiring properties related to DICOM network services.

    Also contains a main method that can be used, for example, to convert information previously statically configured by properties on each device, to assemble LDIF files to be loaded into an LDAP server for use via the DICOM Network Configuration Management service.

    The following properties are supported:

    Dicom.ListeningPort - the port that an association acceptor will listen on for incoming connections

    Dicom.CalledAETitle - what the AE expects to be called when accepting an association

    Dicom.CallingAETitle - what the AE will call itself when initiating an association

    Dicom.PrimaryDeviceType - what our own primary device type is

    Dicom.StorageSCUCompressionLevel - determines what types of compressed Transfer Syntaxes are proposed by a Storage SCU; 0 = uncompressed transfer syntaxes only; 1 = propose deflate as well; 2 = propose deflate and bzip2 (if bzip2 codec is available)

    Dicom.AcceptorMaximumLengthReceived - the maximum PDU length that an association acceptor will offer to receive (0 for no maximum)

    Dicom.AcceptorSocketReceiveBufferSize - the TCP socket receive buffer size to set for incoming connections (or 0 to leave unchanged and use platform default)

    Dicom.AcceptorSocketSendBufferSize - the TCP socket send buffer size to set for incoming connections (or 0 to leave unchanged and use platform default)

    Dicom.InitiatorMaximumLengthReceived - the maximum PDU length that an association initiator will offer to receive (0 for no maximum)

    Dicom.InitiatorSocketReceiveBufferSize - the TCP socket receive buffer size to set for incoming connections (or 0 to leave unchanged and use platform default)

    Dicom.InitiatorSocketSendBufferSize - the TCP socket send buffer size to set for incoming connections (or 0 to leave unchanged and use platform default)

    Dicom.RemoteAEs - a space or comma separated list of the local names all the available remote AEs; each local name may be anything unique (in this file) without a space or comma; the local name does not need to be the same as the remote AE's called AE title

    Dicom.XXXX.CalledAETitle - for the remote AE with local name XXXX, what that AE expects to be called when accepting an association

    Dicom.XXXX.HostNameOrIPAddress - for the remote AE with local name XXXX, what hostname or IP addess that AE will listen on for incoming connections

    Dicom.XXXX.Port - for the remote AE with local name XXXX, what port that AE will listen on for incoming connections

    Dicom.XXXX.QueryModel - for the remote AE with local name XXXX, what query model is supported; values are STUDYROOT or PATIENTROOT; leave absent if query/retrieve not supported by the remote AE

    Dicom.XXXX.PrimaryDeviceType - for the remote AE with local name XXXX, what the primary device type is (see DICOM PS 3.15 and PS 3.16)

    • Field Detail

      • propertyName_DicomListeningPort

        public static final java.lang.String propertyName_DicomListeningPort
        See Also:
        Constant Field Values
      • propertyName_DicomCalledAETitle

        public static final java.lang.String propertyName_DicomCalledAETitle
        See Also:
        Constant Field Values
      • propertyName_DicomCallingAETitle

        public static final java.lang.String propertyName_DicomCallingAETitle
        See Also:
        Constant Field Values
      • propertyName_PrimaryDeviceType

        public static final java.lang.String propertyName_PrimaryDeviceType
        See Also:
        Constant Field Values
      • propertyName_DicomAcceptorMaximumLengthReceived

        public static final java.lang.String propertyName_DicomAcceptorMaximumLengthReceived
        See Also:
        Constant Field Values
      • propertyName_DicomAcceptorSocketReceiveBufferSize

        public static final java.lang.String propertyName_DicomAcceptorSocketReceiveBufferSize
        See Also:
        Constant Field Values
      • propertyName_DicomAcceptorSocketSendBufferSize

        public static final java.lang.String propertyName_DicomAcceptorSocketSendBufferSize
        See Also:
        Constant Field Values
      • propertyName_DicomInitiatorMaximumLengthReceived

        public static final java.lang.String propertyName_DicomInitiatorMaximumLengthReceived
        See Also:
        Constant Field Values
      • propertyName_DicomInitiatorSocketReceiveBufferSize

        public static final java.lang.String propertyName_DicomInitiatorSocketReceiveBufferSize
        See Also:
        Constant Field Values
      • propertyName_DicomInitiatorSocketSendBufferSize

        public static final java.lang.String propertyName_DicomInitiatorSocketSendBufferSize
        See Also:
        Constant Field Values
      • StudyRootQueryModel

        public static final java.lang.String StudyRootQueryModel
        See Also:
        Constant Field Values
      • PatientRootQueryModel

        public static final java.lang.String PatientRootQueryModel
        See Also:
        Constant Field Values
      • PatientStudyOnlyQueryModel

        public static final java.lang.String PatientStudyOnlyQueryModel
        See Also:
        Constant Field Values
      • propertyName_StorageSCUCompressionLevel

        public static final java.lang.String propertyName_StorageSCUCompressionLevel
        See Also:
        Constant Field Values
    • Constructor Detail

      • NetworkApplicationProperties

        public NetworkApplicationProperties​(java.util.Properties properties)
                                     throws DicomNetworkException,
                                            java.io.IOException

        Extract the DICOM network properties from the supplied properties.

        Parameters:
        properties -
        Throws:
        DicomNetworkException
        java.io.IOException
      • NetworkApplicationProperties

        public NetworkApplicationProperties​(java.util.Properties properties,
                                            boolean addPublicStorageSCPsIfNoRemoteAEsConfigured)
                                     throws DicomNetworkException,
                                            java.io.IOException

        Extract the DICOM network properties from the supplied properties.

        Parameters:
        properties -
        addPublicStorageSCPsIfNoRemoteAEsConfigured -
        Throws:
        DicomNetworkException
        java.io.IOException
    • Method Detail

      • isStudyRootQueryModel

        public static final boolean isStudyRootQueryModel​(java.lang.String model)

        Is the model Study Root ?

        Parameters:
        model - the string value describing the model, as used in the query model remote AE property
        Returns:
        true if Study Root
      • isPatientRootQueryModel

        public static final boolean isPatientRootQueryModel​(java.lang.String model)

        Is the model Patient Root ?

        Parameters:
        model - the string value describing the model, as used in the query model remote AE property
        Returns:
        true if Patient Root
      • isPatientStudyOnlyQueryModel

        public static final boolean isPatientStudyOnlyQueryModel​(java.lang.String model)

        Is the model Patient/Study Only ?

        Parameters:
        model - the string value describing the model, as used in the query model remote AE property
        Returns:
        true if Patient/Study Only
      • getProperties

        public java.util.Properties getProperties​(java.util.Properties properties)

        Retrieve the DICOM network properties.

        param properties the existing properties to add to (replacing corresponding properties already there), or null if none
        Returns:
        the updated properties or a new set of properties if none supplied
      • getListeningPort

        public int getListeningPort()

        Return the listening port.

        Returns:
        the listening port
      • setListeningPort

        public void setListeningPort​(int port)

        Set the listening port.

        param port the listening port
      • getCalledAETitle

        public java.lang.String getCalledAETitle()

        Return the called AET.

        Returns:
        the called AET
      • setCalledAETitle

        public void setCalledAETitle​(java.lang.String calledAETitle)

        Set the called AET.

        param calledAETitle the called AET
      • getCallingAETitle

        public java.lang.String getCallingAETitle()

        Return the calling AET.

        Returns:
        the calling AET
      • setCallingAETitle

        public void setCallingAETitle​(java.lang.String callingAETitle)

        Set the calling AET.

        param callingAETitle the calling AET
      • getPrimaryDeviceType

        public java.lang.String getPrimaryDeviceType()

        Return the primary device type.

        Returns:
        the primary device type
      • setPrimaryDeviceType

        public void setPrimaryDeviceType​(java.lang.String primaryDeviceType)

        Set the primary device type.

        param primaryDeviceType the primary device type
      • getStorageSCUCompressionLevel

        public int getStorageSCUCompressionLevel()

        Return the storage SCU compression level.

        Returns:
        the storage SCU compression level
      • getAcceptorMaximumLengthReceived

        public int getAcceptorMaximumLengthReceived()

        Return the Maximum Length Received for the Association Acceptor.

        Returns:
        the Maximum Length Received or the Association Acceptor (0 if unlimited)
      • setAcceptorMaximumLengthReceived

        public void setAcceptorMaximumLengthReceived​(int acceptorMaximumLengthReceived)

        Set the PDU Maximum Length Received for the Association Acceptor.

        param acceptorMaximumLengthReceived the PDU Maximum Length Received for the Association Acceptor (0 if unlimited)
      • getAcceptorSocketReceiveBufferSize

        public int getAcceptorSocketReceiveBufferSize()

        Return the TCP socket receive buffer size for the Association Acceptor.

        Returns:
        the TCP socket receive buffer size for the Association Acceptor (0 to leave unchanged and use platform default)
      • setAcceptorSocketReceiveBufferSize

        public void setAcceptorSocketReceiveBufferSize​(int acceptorSocketReceiveBufferSize)

        Set the TCP socket receive buffer size for the Association Acceptor.

        param acceptorSocketReceiveBufferSize the TCP socket receive buffer size for the Association Acceptor (0 to leave unchanged and use platform default)
      • getAcceptorSocketSendBufferSize

        public int getAcceptorSocketSendBufferSize()

        Return the TCP socket send buffer size for the Association Acceptor.

        Returns:
        the TCP socket send buffer size for the Association Acceptor (0 to leave unchanged and use platform default)
      • setAcceptorSocketSendBufferSize

        public void setAcceptorSocketSendBufferSize​(int acceptorSocketSendBufferSize)

        Set the TCP socket send buffer size for the Association Acceptor.

        param acceptorSocketSendBufferSize the TCP socket send buffer size for the Association Acceptor (0 to leave unchanged and use platform default)
      • getInitiatorMaximumLengthReceived

        public int getInitiatorMaximumLengthReceived()

        Return the Maximum Length Received for the Association Initiator.

        Returns:
        the Maximum Length Received or the Association Initiator (0 if unlimited)
      • setInitiatorMaximumLengthReceived

        public void setInitiatorMaximumLengthReceived​(int initiatorMaximumLengthReceived)

        Set the PDU Maximum Length Received for the Association Initiator.

        param initiatorMaximumLengthReceived the PDU Maximum Length Received for the Association Initiator (0 if unlimited)
      • getInitiatorSocketReceiveBufferSize

        public int getInitiatorSocketReceiveBufferSize()

        Return the TCP socket receive buffer size for the Association Initiator.

        Returns:
        the TCP socket receive buffer size for the Association Initiator (0 to leave unchanged and use platform default)
      • setInitiatorSocketReceiveBufferSize

        public void setInitiatorSocketReceiveBufferSize​(int initiatorSocketReceiveBufferSize)

        Set the TCP socket receive buffer size for the Association Initiator.

        param initiatorSocketReceiveBufferSize the TCP socket receive buffer size for the Association Initiator (0 to leave unchanged and use platform default)
      • getInitiatorSocketSendBufferSize

        public int getInitiatorSocketSendBufferSize()

        Return the TCP socket send buffer size for the Association Initiator.

        Returns:
        the TCP socket send buffer size for the Association Initiator (0 to leave unchanged and use platform default)
      • setInitiatorSocketSendBufferSize

        public void setInitiatorSocketSendBufferSize​(int initiatorSocketSendBufferSize)

        Set the TCP socket send buffer size for the Association Initiator.

        param initiatorSocketSendBufferSize the TCP socket send buffer size for the Association Initiator (0 to leave unchanged and use platform default)
      • getNetworkApplicationInformation

        public NetworkApplicationInformation getNetworkApplicationInformation()

        Return the network application information.

        Returns:
        the network application information
      • getNetworkConfigurationSource

        public NetworkConfigurationSource getNetworkConfigurationSource()

        Return a network configuration source that will supply the network application information.

        Returns:
        the network configuration source
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object
      • main

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

        Test the parsing of network properties from the specified file, by reading them and converting into LDIF format.

        Can be used, for example, to convert information previously statically configured by properties on each device, to assemble LDIF files to be loaded into an LDAP server for use via the DICOM Network Configuration Management service.

        Parameters:
        arg - two arguments, a single file name that is the properties file, then the root distinguished name for LDAP