private DimseRQHandler lookupService(Association as, Dimse dimse, Attributes cmd) throws DicomServiceException { String cuid = cmd.getString(dimse.tagOfSOPClassUID()); if (cuid == null) throw new DicomServiceException(Status.MistypedArgument); DimseRQHandler service = services.get(cuid); if (service != null) return service; if (dimse == Dimse.C_STORE_RQ) { CommonExtendedNegotiation commonExtNeg = as .getCommonExtendedNegotiationFor(cuid); if (commonExtNeg != null) { for (String uid : commonExtNeg.getRelatedGeneralSOPClassUIDs()) { service = services.get(uid); if (service != null) return service; } service = services.get(commonExtNeg.getServiceClassUID()); if (service != null) return service; } service = services.get("*"); if (service != null) return service; } throw new DicomServiceException(dimse.isCService() ? Status.SOPclassNotSupported : Status.NoSuchSOPclass); }
private DimseRQHandler lookupService(Association as, Dimse dimse, Attributes cmd) throws DicomServiceException { String cuid = cmd.getString(dimse.tagOfSOPClassUID()); if (cuid == null) throw new DicomServiceException(Status.MistypedArgument); DimseRQHandler service = services.get(cuid); if (service != null) return service; if (dimse == Dimse.C_STORE_RQ) { CommonExtendedNegotiation commonExtNeg = as .getCommonExtendedNegotiationFor(cuid); if (commonExtNeg != null) { for (String uid : commonExtNeg.getRelatedGeneralSOPClassUIDs()) { service = services.get(uid); if (service != null) return service; } service = services.get(commonExtNeg.getServiceClassUID()); if (service != null) return service; } service = services.get("*"); if (service != null) return service; } throw new DicomServiceException(dimse.isCService() ? Status.SOPclassNotSupported : Status.NoSuchSOPclass); }
private DicomMessage(Dimse dimse, Attributes cmd, Object data) { this.cmd = cmd; setMessageId(cmd.getString(Tag.MessageID)); setHeader("dimse", dimse); setHeader("sopclass", cmd.getString(dimse.tagOfSOPClassUID())); setHeader("sopinstance", cmd.getString(dimse.tagOfSOPInstanceUID())); setBody(data); }
public static Attributes mkRSP(Attributes rq, int status, Dimse rqCmd) { Attributes rsp = new Attributes(); rsp.setInt(Tag.CommandField, VR.US, rqCmd.commandFieldOfRSP()); rsp.setInt(Tag.Status, VR.US, status); rsp.setInt(Tag.MessageIDBeingRespondedTo, VR.US, rq.getInt(Tag.MessageID, 0)); rsp.setString(Tag.AffectedSOPClassUID, VR.UI, rq.getString(rqCmd.tagOfSOPClassUID())); int tagOfIUID = rqCmd.tagOfSOPInstanceUID(); if (tagOfIUID != 0) rsp.setString(Tag.AffectedSOPInstanceUID, VR.UI, rq.getString(tagOfIUID)); return rsp; }
public static Attributes mkRSP(Attributes rq, int status, Dimse rqCmd) { Attributes rsp = new Attributes(); rsp.setInt(Tag.CommandField, VR.US, rqCmd.commandFieldOfRSP()); rsp.setInt(Tag.Status, VR.US, status); rsp.setInt(Tag.MessageIDBeingRespondedTo, VR.US, rq.getInt(Tag.MessageID, 0)); rsp.setString(Tag.AffectedSOPClassUID, VR.UI, rq.getString(rqCmd.tagOfSOPClassUID())); int tagOfIUID = rqCmd.tagOfSOPInstanceUID(); if (tagOfIUID != 0) rsp.setString(Tag.AffectedSOPInstanceUID, VR.UI, rq.getString(tagOfIUID)); return rsp; }