private void compact(File f, File bak) throws IOException { File tmp = File.createTempFile("DICOMDIR", null, f.getParentFile()); DicomDirReader r = new DicomDirReader(f); try { fsInfo.setFilesetUID(r.getFileSetUID()); fsInfo.setFilesetID(r.getFileSetID()); fsInfo.setDescriptorFile( r.getDescriptorFile()); fsInfo.setDescriptorFileCharset( r.getDescriptorFileCharacterSet()); create(tmp); copyFrom(r); } finally { close(); try { r.close(); } catch (IOException ignore) {} } bak.delete(); rename(f, bak); rename(tmp, f); }
private void compact(File f, File bak) throws IOException { File tmp = File.createTempFile("DICOMDIR", null, f.getParentFile()); DicomDirReader r = new DicomDirReader(f); try { fsInfo.setFilesetUID(r.getFileSetUID()); fsInfo.setFilesetID(r.getFileSetID()); fsInfo.setDescriptorFile( r.getDescriptorFile()); fsInfo.setDescriptorFileCharset( r.getDescriptorFileCharacterSet()); create(tmp); copyFrom(r); } finally { close(); try { r.close(); } catch (IOException ignore) {} } bak.delete(); rename(f, bak); rename(tmp, f); }
Attributes eventInfo = new Attributes(6); eventInfo.setString(Tag.RetrieveAETitle, VR.AE, calledAET); eventInfo.setString(Tag.StorageMediaFileSetID, VR.SH, ddReader.getFileSetID()); eventInfo.setString(Tag.StorageMediaFileSetUID, VR.SH, ddReader.getFileSetUID()); eventInfo.setString(Tag.TransactionUID, VR.UI, actionInfo.getString(Tag.TransactionUID));
Attributes eventInfo = new Attributes(6); eventInfo.setString(Tag.RetrieveAETitle, VR.AE, calledAET); eventInfo.setString(Tag.StorageMediaFileSetID, VR.SH, ddReader.getFileSetID()); eventInfo.setString(Tag.StorageMediaFileSetUID, VR.SH, ddReader.getFileSetUID()); eventInfo.setString(Tag.TransactionUID, VR.UI, actionInfo.getString(Tag.TransactionUID));
@Override protected Attributes adjust(Attributes match) { Attributes adjust = super.adjust(match); adjust.remove(Tag.DirectoryRecordType); if (keys.contains(Tag.SOPClassUID)) adjust.setString(Tag.SOPClassUID, VR.UI, match.getString(Tag.ReferencedSOPClassUIDInFile)); if (keys.contains(Tag.SOPInstanceUID)) adjust.setString(Tag.SOPInstanceUID, VR.UI, match.getString(Tag.ReferencedSOPInstanceUIDInFile)); adjust.setString(Tag.QueryRetrieveLevel, VR.CS, keys.getString(Tag.QueryRetrieveLevel)); adjust.setString(Tag.RetrieveAETitle, VR.AE, as.getCalledAET()); if (availability != null) adjust.setString(Tag.InstanceAvailability, VR.CS, availability); adjust.setString(Tag.StorageMediaFileSetID, VR.SH, ddr.getFileSetID()); adjust.setString(Tag.StorageMediaFileSetUID, VR.UI, ddr.getFileSetUID()); match.setString(Tag.SOPClassUID, VR.UI, match.getString(Tag.ReferencedSOPClassUIDInFile)); match.setString(Tag.SOPInstanceUID, VR.UI, match.getString(Tag.ReferencedSOPInstanceUIDInFile)); if (delayCFind > 0) try { Thread.sleep(delayCFind); } catch (InterruptedException ignore) {} return adjust; }
@Override protected Attributes adjust(Attributes match) { Attributes adjust = super.adjust(match); adjust.remove(Tag.DirectoryRecordType); if (keys.contains(Tag.SOPClassUID)) adjust.setString(Tag.SOPClassUID, VR.UI, match.getString(Tag.ReferencedSOPClassUIDInFile)); if (keys.contains(Tag.SOPInstanceUID)) adjust.setString(Tag.SOPInstanceUID, VR.UI, match.getString(Tag.ReferencedSOPInstanceUIDInFile)); adjust.setString(Tag.QueryRetrieveLevel, VR.CS, keys.getString(Tag.QueryRetrieveLevel)); adjust.setString(Tag.RetrieveAETitle, VR.AE, as.getCalledAET()); if (availability != null) adjust.setString(Tag.InstanceAvailability, VR.CS, availability); adjust.setString(Tag.StorageMediaFileSetID, VR.SH, ddr.getFileSetID()); adjust.setString(Tag.StorageMediaFileSetUID, VR.UI, ddr.getFileSetUID()); match.setString(Tag.SOPClassUID, VR.UI, match.getString(Tag.ReferencedSOPClassUIDInFile)); match.setString(Tag.SOPInstanceUID, VR.UI, match.getString(Tag.ReferencedSOPInstanceUIDInFile)); if (delayCFind > 0) try { Thread.sleep(delayCFind); } catch (InterruptedException ignore) {} return adjust; }