in c3r-cli-spark/src/main/java/com/amazonaws/c3r/spark/io/schema/InteractiveSchemaGenerator.java [403:432]
private ColumnHeader promptTargetHeaderPreSuffix(final ColumnHeader sourceHeader) {
final String input;
final ColumnHeader targetHeader;
if (sourceHeader != null) {
consoleOutput.print("Target column header name (default `" + sourceHeader + "`)? ");
} else {
consoleOutput.print("Target column header name? ");
}
try {
// We intentionally do not use readNextLineLowercase() here so that we can check if the
// string was normalized and report it to the user for their awareness (see below).
input = consoleInput.readLine();
if (input != null && input.isBlank() && sourceHeader != null) {
consoleOutput.println("Using default name `" + sourceHeader + "`.");
targetHeader = sourceHeader;
} else {
targetHeader = new ColumnHeader(input);
}
} catch (C3rIllegalArgumentException e) {
consoleOutput.println("Expected a valid header name, but found a problem: " + e.getMessage());
return null;
} catch (IOException e) {
throw new C3rRuntimeException("Unexpected end of user input.", e);
}
if (!targetHeader.toString().equals(input) && targetHeader != sourceHeader) {
consoleOutput.println("Target header was normalized to `" + targetHeader + "`.");
}
return targetHeader;
}