Package com.pixelmed.network
Class CompositeResponseHandler
- java.lang.Object
-
- com.pixelmed.network.ReceivedDataHandler
-
- com.pixelmed.network.CompositeResponseHandler
-
- Direct Known Subclasses:
MoveSOPClassSCU.CMoveResponseHandler
,StorageSOPClassSCU.CStoreResponseHandler
,VerificationSOPClassSCU.CEchoResponseHandler
public abstract class CompositeResponseHandler extends ReceivedDataHandler
This abstract class provides a mechanism to process each PDU of a composite response as it is received, such as for evaluating the status of the response for success.
Typically a private sub-class would be declared and instantiated with overriding methods to evaluate the success or failure of a storage or query or retrieve response.
- See Also:
ReceivedDataHandler
,StorageSOPClassSCU
,FindSOPClassSCU
-
-
Field Summary
Fields Modifier and Type Field Description protected boolean
allowData
protected byte[]
commandReceived
protected byte[]
dataReceived
protected int
status
protected boolean
success
-
Fields inherited from class com.pixelmed.network.ReceivedDataHandler
debugLevel, done, release
-
-
Constructor Summary
Constructors Constructor Description CompositeResponseHandler(int debugLevel)
Construct a handler to process each PDU of a composite response as it is received, evaluating the status of the response for success.
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description static java.lang.String
dumpAttributeListFromCommandOrData(byte[] bytes, java.lang.String transferSyntaxUID)
Extract anAttributeList
from the concatenated bytes that have been assembled from one or more PDUs and which make up an entire Command or Dataset.protected abstract void
evaluateStatusAndSetSuccess(AttributeList list)
Extract the status information from a composite response and set the status flag accordingly.static AttributeList
getAttributeListFromCommandOrData(byte[] bytes, java.lang.String transferSyntaxUID, int debugLevel)
Extract anAttributeList
from the concatenated bytes that have been assembled from one or more PDUs and which make up an entire Command or Dataset.int
getStatus()
Get the response status Valid only after first callingevaluateStatusAndSetSuccess()
protected void
makeUseOfDataSet(AttributeList list)
Ignore any data set in the composite response (unless this method is overridden).void
sendPDataIndication(PDataPDU pdata, Association association)
The code handling the reception of data on anAssociation
calls this method to indicate that a PDU has been received (a P-DATA-INDICATION).boolean
wasSuccessful()
Does the response include an indication of success ?-
Methods inherited from class com.pixelmed.network.ReceivedDataHandler
dumpPDVList, isDone, isToBeReleased, setDone, setRelease
-
-
-
-
Constructor Detail
-
CompositeResponseHandler
public CompositeResponseHandler(int debugLevel)
Construct a handler to process each PDU of a composite response as it is received, evaluating the status of the response for success.- Parameters:
debugLevel
- 0 for no debugging, > 0 for increasingly verbose debugging
-
-
Method Detail
-
getAttributeListFromCommandOrData
public static AttributeList getAttributeListFromCommandOrData(byte[] bytes, java.lang.String transferSyntaxUID, int debugLevel) throws DicomNetworkException, DicomException, java.io.IOException
Extract anAttributeList
from the concatenated bytes that have been assembled from one or more PDUs and which make up an entire Command or Dataset.- Parameters:
bytes
- the concatenated PDU bytes up to and including the last fragmenttransferSyntaxUID
- the Transfer Syntax to use to interpret the bytesdebugLevel
- integer debug level- Throws:
java.io.IOException
DicomException
DicomNetworkException
-
dumpAttributeListFromCommandOrData
public static java.lang.String dumpAttributeListFromCommandOrData(byte[] bytes, java.lang.String transferSyntaxUID) throws DicomNetworkException, DicomException, java.io.IOException
Extract anAttributeList
from the concatenated bytes that have been assembled from one or more PDUs and which make up an entire Command or Dataset.- Parameters:
bytes
- the concatenated PDU bytes up to and including the last fragmenttransferSyntaxUID
- the Transfer Syntax to use to interpret the bytes- Throws:
java.io.IOException
DicomException
DicomNetworkException
-
sendPDataIndication
public void sendPDataIndication(PDataPDU pdata, Association association) throws DicomNetworkException, DicomException, java.io.IOException
The code handling the reception of data on anAssociation
calls this method to indicate that a PDU has been received (a P-DATA-INDICATION).- Specified by:
sendPDataIndication
in classReceivedDataHandler
- Parameters:
pdata
- the PDU that was receivedassociation
- the association on which the PDU was received- Throws:
java.io.IOException
DicomException
DicomNetworkException
-
evaluateStatusAndSetSuccess
protected abstract void evaluateStatusAndSetSuccess(AttributeList list)
Extract the status information from a composite response and set the status flag accordingly.- Parameters:
list
- the list of Attributes extracted from the bytes of the PDU(s)
-
makeUseOfDataSet
protected void makeUseOfDataSet(AttributeList list)
Ignore any data set in the composite response (unless this method is overridden).- Parameters:
list
- the list of Attributes extracted from the bytes of the PDU(s)
-
wasSuccessful
public boolean wasSuccessful()
Does the response include an indication of success ?
-
getStatus
public int getStatus()
Get the response status Valid only after first callingevaluateStatusAndSetSuccess()
-
-