...
Code Block |
---|
void handleDir(myDir, domsParentObject) { thisDirObject = new Object(label = myDir.getName()); domsParentObject.addHasPart(object = thisDirObject, relationName = myDir.getPath()); for(dir in myDir.getDirectories()) { handleDir(dir, thisDirObject); } handleFiles(myDir.getFiles(), thisDirObject); } void handleFiles(myFiles, dirParentObject) { for(group in groupByPrefix(myFiles.groupByPrefix)) { if(group.size == 1) { handleFile(group.get(0), dirParentObject); } else { addHasPart(group, dirParentObject); } } } void handleFile(file, parentObject) { if(isDataFile(file.isDataFile)) { addHasFile(file, parentObject); } else { addDataStream(file, parentObject); } } void addHasPart(fileGroup, dirParentObject) { thisPartObject = new Object(label = fileGroup.getPrefix()); dirParentObject.addHasPart(object = thisPartObject, relationName = fileGroup.getPrefix()); for(file in fileGroup) { handleFile(file, thisPartObject); } } |