Partagez simplement vos Java CLI Apps
Un script pour générer des données de test
import ...
@Command(name = "GenerateData", mixinStandardHelpOptions = true, version = "0.1")
class GenerateData implements Callable<Integer> {
@Option(names = {"-c", "--column"}, description = "Map a column with a fixed value, mapping function or value from a file")
String[] columnMappings;
@Option(names = {"-n", "--count"}, description = "Number of lines to generate")
int lineCount;
@Parameters(arity = "1", description = "The file containing the SQL create table request")
File sqlRequestFile;
void main(String... args) {
System.exit(new CommandLine(new GenerateData()).execute(args));
}
@Override
public Integer call() throws IOException {
System.out.println(TableData.generate(sqlRequestFile, columnMappings, lineCount).toSQLInserts());
return 0;
}
record TableData(TableDefinition tableDefinition, TableRows tableRows) implements Exportable { ... }
record TableDefinition(String name, List<ColumnDefinition> columnDefinitions) implements Exportable { ... }
record ColumnDefinition(String name, ColumnType type) { ... }
record ColumnMappings(List<ColumnMapping> columnMappings) { ... }
interface Exportable { String toSQLInserts(); }
}