예제 #1
0
 private void checkTransferCapability(String cuid, String tsuid) throws DicomServiceException {
   TransferCapability tc = ae.getTransferCapabilityFor(cuid, TransferCapability.Role.SCP);
   if (tc == null) {
     throw new DicomServiceException(org.dcm4che3.net.Status.SOPclassNotSupported);
   }
   if (!tc.containsTransferSyntax(tsuid)) {
     throw new DicomServiceException(TRANSFER_SYNTAX_NOT_SUPPORTED);
   }
 }
예제 #2
0
 private String getDefaultConfiguredTransferSyntax(InstanceLocator ref) {
   if (context.getRemoteAE() != null) {
     ArrayList<TransferCapability> aeTCs =
         new ArrayList<TransferCapability>(
             context.getRemoteAE().getTransferCapabilitiesWithRole(Role.SCU));
     for (TransferCapability supportedTC : aeTCs) {
       if (ref.cuid.compareTo(supportedTC.getSopClass()) == 0) {
         return supportedTC.containsTransferSyntax(UID.ExplicitVRLittleEndian)
             ? UID.ExplicitVRLittleEndian
             : UID.ImplicitVRLittleEndian;
       }
     }
   }
   return UID.ImplicitVRLittleEndian;
 }
예제 #3
0
 private boolean isConfiguredAndAccepted(InstanceLocator ref, Set<String> negotiated) {
   if (context.getRemoteAE() != null) {
     ArrayList<TransferCapability> aeTCs =
         new ArrayList<TransferCapability>(
             context.getRemoteAE().getTransferCapabilitiesWithRole(Role.SCU));
     for (TransferCapability supportedTC : aeTCs) {
       if (ref.cuid.compareTo(supportedTC.getSopClass()) == 0
           && supportedTC.containsTransferSyntax(ref.tsuid)
           && negotiated.contains(ref.tsuid)) {
         return true;
       }
     }
   }
   return false;
 }