private static void createResource()

in zetasql-toolkit-core/src/main/java/com/google/zetasql/toolkit/catalog/CatalogOperations.java [144:166]


  private static void createResource(
      String nameInCatalog,
      CreateMode createMode,
      String resourceType,
      boolean alreadyExists,
      Runnable creator,
      Runnable deleter) {
    if (createMode.equals(CreateMode.CREATE_IF_NOT_EXISTS) && alreadyExists) {
      return;
    }

    if (createMode.equals(CreateMode.CREATE_OR_REPLACE) && alreadyExists) {
      deleter.run();
    }

    if (createMode.equals(CreateMode.CREATE_DEFAULT) && alreadyExists) {
      String errorMessage =
          String.format("%s %s already exists in catalog", resourceType, nameInCatalog);
      throw new CatalogResourceAlreadyExists(nameInCatalog, errorMessage);
    }

    creator.run();
  }