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:

    Network.DynamicConfigurationDebugLevel - for no debugging (silent), > 0 for more verbose levels of debugging

    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.QueryDebugLevel - for no debugging (silent), > 0 for more verbose levels of debugging

    Dicom.StorageSCUDebugLevel - for no debugging (silent), > 0 for more verbose levels of debugging

    Dicom.StorageSCPDebugLevel - for no debugging (silent), > 0 for more verbose levels of debugging

    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.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
      • 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_QueryDebugLevel

        public static final java.lang.String propertyName_QueryDebugLevel
        See Also:
        Constant Field Values
      • propertyName_StorageSCUDebugLevel

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

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

        public static final java.lang.String propertyName_StorageSCPDebugLevel
        See Also:
        Constant Field Values
      • propertyName_NetworkDynamicConfigurationDebugLevel

        public static final java.lang.String propertyName_NetworkDynamicConfigurationDebugLevel
        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
      • getStorageSCUDebugLevel

        public int getStorageSCUDebugLevel()

        Return the storage SCU debug level.

        Returns:
        the storage SCU debug level
      • getStorageSCPDebugLevel

        public int getStorageSCPDebugLevel()

        Return the storage SCP debug level.

        Returns:
        the storage SCP debug level
      • getQueryDebugLevel

        public int getQueryDebugLevel()

        Return the query debug level.

        Returns:
        the query debug level
      • getNetworkDynamicConfigurationDebugLevel

        public int getNetworkDynamicConfigurationDebugLevel()

        Return the network dynamic configuration debug level.

        Returns:
        the network dynamic configuration debug level
      • 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