Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

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);
  }
}