private boolean verifyInput()

in gobblin-iceberg/src/main/java/org/apache/gobblin/iceberg/GobblinMCEProducer.java [208:247]


  private boolean verifyInput(Map<Path, Metrics> newFiles, List<String> oldFiles, List<String> oldFilePrefixes,
      OperationType operationType) {
    switch (operationType) {
      case rewrite_files: {
        if (newFiles == null || ((oldFiles == null || oldFiles.isEmpty()) && (oldFilePrefixes == null || oldFilePrefixes
            .isEmpty())) || newFiles.isEmpty()) {
          log.error("Rewrite files operation must contain newFiles to be added and oldFiles to be deleted");
          return false;
        }
        break;
      }
      case add_files: {
        if (newFiles == null || newFiles.isEmpty()) {
          log.error("Add files operation must contain newFiles to be added");
          return false;
        }
        break;
      }
      case drop_files: {
        if ((oldFiles == null || oldFiles.isEmpty()) && (oldFilePrefixes == null || oldFilePrefixes.isEmpty())) {
          log.error("Drop files operation must contain old files to be deleted");
          return false;
        }
        break;
      }
      case change_property: {
        if(oldFiles != null) {
          log.warn("{} old files detected while no file alteration is performed", oldFiles.size());
        }
        log.info("Setting GMCE while no file changes need to be performed.");
        break;
      }
      default: {
        //unsupported operation
        log.error("Unsupported operation type {}", operationType);
        return false;
      }
    }
    return true;
  }