com.pixelmed.server
Class DicomAndWebStorageServer

java.lang.Object
  extended by com.pixelmed.server.DicomAndWebStorageServer

public class DicomAndWebStorageServer
extends Object

The DicomAndWebStorageServer implements a DICOM storage server with query and retrieval as well as an HTTP server that responds to web requests including WADO as well as an external SQL database access server.

The main method is also useful in its own right as a command-line DICOM Storage SCP utility, which will store incoming files in a specified directory and database and serve them up via DICOM and WADO, and optionally SQL.

For example:

% java -server -Djava.awt.headless=true -Xms128m -Xmx512m -cp ./pixelmed.jar:./lib/additional/hsqldb.jar:./lib/additional/excalibur-bzip2-1.0.jar:./lib/additional/vecmath1.2-1.14.jar:./lib/additional/commons-codec-1.3.jar:./lib/additional/jmdns.jar:./lib/additional/aiviewer.jar com.pixelmed.server.DicomAndWebStorageServer test.properties
 

Note that the aiviewer.jar file is only necessary if Takahiro Katoji's AiViewer applet is to be used to view images, and is activated with the property WebServer.RequestTypeToUseForInstances=APPLETDISPLAY.

External (unsecure) SQL access to the database is possible if the Application.DatabaseServerName property is specified; further details are described in com.pixelmed.database.DatabaseInformationModel; for example:

% java -cp lib/additional/hsqldb.jar org.hsqldb.util.DatabaseManagerSwing --url "jdbc:hsqldb:hsql://localhost/testserverdb"
 

For how to configure the necessary properties file, see:

See Also:
WebServerApplicationProperties, NetworkApplicationProperties, DatabaseApplicationProperties

Field Summary
protected  DatabaseInformationModel databaseInformationModel
           
 
Constructor Summary
DicomAndWebStorageServer(Properties properties)
          Wait for connections and process requests, storing received files in a database, using the default PatientStudySeriesConcatenationInstanceModel.
DicomAndWebStorageServer(Properties properties, DatabaseInformationModel databaseInformationModel)
          Wait for connections and process requests, storing received files in a database, using the specified database information model.
 
Method Summary
protected  void doCommonConstructorStuff(Properties properties, DatabaseInformationModel databaseInformationModel)
          Wait for connections and process requests, storing received files in a database, using the specified database information model.
static void main(String[] arg)
          Wait for connections and process requests, storing received files in a database.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

databaseInformationModel

protected DatabaseInformationModel databaseInformationModel
Constructor Detail

DicomAndWebStorageServer

public DicomAndWebStorageServer(Properties properties)
                         throws IOException,
                                DicomException,
                                DicomNetworkException

Wait for connections and process requests, storing received files in a database, using the default PatientStudySeriesConcatenationInstanceModel.

Parameters:
properties -
Throws:
IOException
DicomException
DicomNetworkException

DicomAndWebStorageServer

public DicomAndWebStorageServer(Properties properties,
                                DatabaseInformationModel databaseInformationModel)
                         throws IOException,
                                DicomException,
                                DicomNetworkException

Wait for connections and process requests, storing received files in a database, using the specified database information model.

Parameters:
properties -
databaseInformationModel -
Throws:
IOException
DicomException
DicomNetworkException
Method Detail

doCommonConstructorStuff

protected void doCommonConstructorStuff(Properties properties,
                                        DatabaseInformationModel databaseInformationModel)
                                 throws IOException,
                                        DicomException,
                                        DicomNetworkException

Wait for connections and process requests, storing received files in a database, using the specified database information model.

Parameters:
properties -
databaseInformationModel - if null, a PatientStudySeriesConcatenationInstanceModel will be used
Throws:
IOException
DicomException
DicomNetworkException

main

public static void main(String[] arg)

Wait for connections and process requests, storing received files in a database.

Parameters:
arg - a single file name that is the properties file; if no argument is supplied the properties in "~/.com.pixelmed.server.DicomAndWebStorageServer.properties" will be used if present, otherwise the defaults (11112,STORESCP,~/tmp,debug level 0) will be used
See Also:
DatabaseApplicationProperties, NetworkApplicationProperties, WebServerApplicationProperties