/** * Fügt einen Knoten entsprechend des Patienten, der Serie und Studie des DICOM-Objekts in den * Baum ein. Existieren Patienten-, Serien- und Studienknoten nicht, werden diese erzeugt und * ebenfalls in den Baum eingefügt. DICOM-Objekte sind immer Blattknoten * * @param item */ public void insert(DicomObject item) { String nameId = (String) item.getTagData("PatientID", IDicomData.RETURN_STRING); String studyId = (String) item.getTagData("StudyInstanceUID", IDicomData.RETURN_STRING); String seriesId = (String) item.getTagData("SeriesInstanceUID", IDicomData.RETURN_STRING); nameId = nameId.equals("default") ? "default_name" : nameId; studyId = studyId.equals("default") ? "default_study" : studyId; seriesId = seriesId.equals("default") ? "default_series" : seriesId; if (studyId.equals(seriesId)) { seriesId += "__duplicated"; } DicomPatientItem sPatient = new DicomPatientItem(nameId); DicomStudyItem sStudy = new DicomStudyItem(studyId); DicomSeriesItem sSeries = new DicomSeriesItem(seriesId); ADicomTreeItem lookUp = lookUpDicomTreeItem(sPatient); ADicomTreeItem parent = root; countObjects++; if (lookUp == null) { parent.addChild(sPatient); sPatient.addChild(sStudy); sStudy.addChild(sSeries); sSeries.addChild(item); } else { parent = lookUp; lookUp = lookUpDicomTreeItem(sStudy); if (lookUp == null) { parent.addChild(sStudy); sStudy.addChild(sSeries); sSeries.addChild(item); } else { parent = lookUp; lookUp = lookUpDicomTreeItem(sSeries); if (lookUp == null) { parent.addChild(sSeries); sSeries.addChild(item); } else { parent = lookUp; lookUp = lookUpDicomTreeItem(item); if (lookUp == null) { parent.addChild(item); } } } } }