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 myFiles.groupByPrefix) {
    if(hasDataFile(group)) {
      if(onlyDataFile(group)) {
        addHasFile(group, dirParentObject);
      } else {
        addHasPart(group, dirParentObject);
      }
    } else {
      addDataStream(group, dirParentObject);
    }
  }
}

void addHasPart(fileGroup, dirParentObject) {
  thisPartObject = new Object(label = fileGroup.getPrefix());
  dirParentObject.addHasPart(object = thisPartObject, relationName = fileGroup.getPrefix());
  
  for(file in fileGroup) {
    if(file.isDataFile) {
      addHasFile(file, thisPartObject);
    } else {
      addDataStream(file, thisPartObject);
    }
  }
}