com.pixelmed.network
Class NetworkApplicationProperties

java.lang.Object
  extended by com.pixelmed.network.NetworkApplicationProperties

public class NetworkApplicationProperties
extends 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)


Nested Class Summary
protected  class NetworkApplicationProperties.OurNetworkConfigurationSource
           
 
Field Summary
protected  NetworkConfigurationSource networkConfigurationSource
           
static String PatientRootQueryModel
           
static String PatientStudyOnlyQueryModel
           
static String propertyName_DicomCalledAETitle
           
static String propertyName_DicomCallingAETitle
           
static String propertyName_DicomListeningPort
           
static String propertyName_NetworkDynamicConfigurationDebugLevel
           
static String propertyName_PrimaryDeviceType
           
static String propertyName_QueryDebugLevel
           
static String propertyName_StorageSCPDebugLevel
           
static String propertyName_StorageSCUCompressionLevel
           
static String propertyName_StorageSCUDebugLevel
           
static String StudyRootQueryModel
           
 
Constructor Summary
NetworkApplicationProperties()
          Create default properties.
NetworkApplicationProperties(Properties properties)
          Extract the DICOM network properties from the supplied properties.
NetworkApplicationProperties(Properties properties, boolean addPublicStorageSCPsIfNoRemoteAEsConfigured)
          Extract the DICOM network properties from the supplied properties.
 
Method Summary
 String getCalledAETitle()
          Return the called AET.
 String getCallingAETitle()
          Return the calling AET.
 int getListeningPort()
          Return the listening port.
 NetworkApplicationInformation getNetworkApplicationInformation()
          Return the network application information.
 NetworkConfigurationSource getNetworkConfigurationSource()
          Return a network configuration source that will supply the network application information.
 int getNetworkDynamicConfigurationDebugLevel()
          Return the network dynamic configuration debug level.
 String getPrimaryDeviceType()
          Return the primary device type.
 Properties getProperties(Properties properties)
          Retrieve the DICOM network properties.
 int getQueryDebugLevel()
          Return the query debug level.
 int getStorageSCPDebugLevel()
          Return the storage SCP debug level.
 int getStorageSCUCompressionLevel()
          Return the storage SCU compression level.
 int getStorageSCUDebugLevel()
          Return the storage SCU debug level.
static boolean isPatientRootQueryModel(String model)
          Is the model Patient Root ?
static boolean isPatientStudyOnlyQueryModel(String model)
          Is the model Patient/Study Only ?
static boolean isStudyRootQueryModel(String model)
          Is the model Study Root ?
static void main(String[] arg)
          Test the parsing of network properties from the specified file, by reading them and converting into LDIF format.
 void setCalledAETitle(String calledAETitle)
          Set the called AET.
 void setCallingAETitle(String callingAETitle)
          Set the calling AET.
 void setListeningPort(int port)
          Set the listening port.
 void setPrimaryDeviceType(String primaryDeviceType)
          Set the primary device type.
 String toString()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

propertyName_DicomListeningPort

public static final String propertyName_DicomListeningPort
See Also:
Constant Field Values

propertyName_DicomCalledAETitle

public static final String propertyName_DicomCalledAETitle
See Also:
Constant Field Values

propertyName_DicomCallingAETitle

public static final String propertyName_DicomCallingAETitle
See Also:
Constant Field Values

propertyName_PrimaryDeviceType

public static final String propertyName_PrimaryDeviceType
See Also:
Constant Field Values

StudyRootQueryModel

public static final String StudyRootQueryModel
See Also:
Constant Field Values

PatientRootQueryModel

public static final String PatientRootQueryModel
See Also:
Constant Field Values

PatientStudyOnlyQueryModel

public static final String PatientStudyOnlyQueryModel
See Also:
Constant Field Values

propertyName_QueryDebugLevel

public static final String propertyName_QueryDebugLevel
See Also:
Constant Field Values

propertyName_StorageSCUDebugLevel

public static final String propertyName_StorageSCUDebugLevel
See Also:
Constant Field Values

propertyName_StorageSCUCompressionLevel

public static final String propertyName_StorageSCUCompressionLevel
See Also:
Constant Field Values

propertyName_StorageSCPDebugLevel

public static final String propertyName_StorageSCPDebugLevel
See Also:
Constant Field Values

propertyName_NetworkDynamicConfigurationDebugLevel

public static final String propertyName_NetworkDynamicConfigurationDebugLevel
See Also:
Constant Field Values

networkConfigurationSource

protected NetworkConfigurationSource networkConfigurationSource
Constructor Detail

NetworkApplicationProperties

public NetworkApplicationProperties()
                             throws DicomNetworkException

Create default properties.

Throws:
DicomNetworkException

NetworkApplicationProperties

public NetworkApplicationProperties(Properties properties)
                             throws DicomNetworkException,
                                    IOException

Extract the DICOM network properties from the supplied properties.

Parameters:
properties -
Throws:
DicomNetworkException
IOException

NetworkApplicationProperties

public NetworkApplicationProperties(Properties properties,
                                    boolean addPublicStorageSCPsIfNoRemoteAEsConfigured)
                             throws DicomNetworkException,
                                    IOException

Extract the DICOM network properties from the supplied properties.

Parameters:
properties -
addPublicStorageSCPsIfNoRemoteAEsConfigured -
Throws:
DicomNetworkException
IOException
Method Detail

isStudyRootQueryModel

public static final boolean isStudyRootQueryModel(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(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(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 Properties getProperties(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 String getCalledAETitle()

Return the called AET.

Returns:
the called AET

setCalledAETitle

public void setCalledAETitle(String calledAETitle)

Set the called AET.

param calledAETitle the called AET


getCallingAETitle

public String getCallingAETitle()

Return the calling AET.

Returns:
the calling AET

setCallingAETitle

public void setCallingAETitle(String callingAETitle)

Set the calling AET.

param callingAETitle the calling AET


getPrimaryDeviceType

public String getPrimaryDeviceType()

Return the primary device type.

Returns:
the primary device type

setPrimaryDeviceType

public void setPrimaryDeviceType(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 String toString()
Overrides:
toString in class Object

main

public static void main(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