コード例 #1
0
  public boolean run(String targetDirectory) throws Throwable {
    // Create a time stamp and use it for the project name
    String projectName = new Date().toString();
    log.info("Storing project: " + projectName);
    Project project = store.addProject(projectName, "");

    // Our root directory
    File projectDirectory = new File(targetDirectory);
    boolean status = false;
    if (!config.getRecurse()) {
      // Do not parse sub-directory - only import files in the target.
      String name = projectDirectory.getName();
      log.info("Storing dataset: " + name);
      Dataset dataset = store.addDataset(name, "", project);
      status = processDirectory(config.getPopulate(), projectDirectory, dataset);
    } else {
      // Parse the sub-directories - these will become our datasets
      for (File datasetDirectory : projectDirectory.listFiles()) {
        if (datasetDirectory.exists() && datasetDirectory.isDirectory()) {
          String name = datasetDirectory.getName();
          log.info("Storing dataset: " + name);
          Dataset dataset = store.addDataset(name, "", project);
          // In each sub-directory/dataset, import the images needed
          status = processDirectory(config.getPopulate(), datasetDirectory, dataset);
        }
      }
    }
    store.logout();
    return status;
  }