private Attributes create(Association as, Attributes rq, Attributes rqAttrs) throws DicomServiceException { if (storageDir == null) return null; String cuid = rq.getString(Tag.AffectedSOPClassUID); String iuid = rq.getString(Tag.AffectedSOPInstanceUID); File file = new File(storageDir, iuid); if (file.exists()) throw new DicomServiceException(Status.DuplicateSOPinstance). setUID(Tag.AffectedSOPInstanceUID, iuid); DicomOutputStream out = null; LOG.info("{}: M-WRITE {}", as, file); try { out = new DicomOutputStream(file); out.writeDataset( Attributes.createFileMetaInformation(iuid, cuid, UID.ExplicitVRLittleEndian), rqAttrs); } catch (IOException e) { LOG.warn(as + ": Failed to store Instance Available Notification:", e); throw new DicomServiceException(Status.ProcessingFailure, e); } finally { SafeClose.close(out); } return null; } }
private Attributes create(Association as, Attributes rq, Attributes rqAttrs) throws DicomServiceException { if (storageDir == null) return null; String cuid = rq.getString(Tag.AffectedSOPClassUID); String iuid = rq.getString(Tag.AffectedSOPInstanceUID); File file = new File(storageDir, iuid); if (file.exists()) throw new DicomServiceException(Status.DuplicateSOPinstance). setUID(Tag.AffectedSOPInstanceUID, iuid); DicomOutputStream out = null; LOG.info("{}: M-WRITE {}", as, file); try { out = new DicomOutputStream(file); out.writeDataset( Attributes.createFileMetaInformation(iuid, cuid, UID.ExplicitVRLittleEndian), rqAttrs); } catch (IOException e) { LOG.warn(as + ": Failed to store Instance Available Notification:", e); throw new DicomServiceException(Status.ProcessingFailure, e); } finally { SafeClose.close(out); } return null; } }
if (file.exists()) throw new DicomServiceException(Status.DuplicateSOPinstance). setUID(Tag.AffectedSOPInstanceUID, iuid); DicomOutputStream out = null; LOG.info("{}: M-WRITE {}", as, file);
if (!file.exists()) throw new DicomServiceException(Status.NoSuchObjectInstance). setUID(Tag.AffectedSOPInstanceUID, iuid); LOG.info("{}: M-UPDATE {}", as, file); Attributes data;