private ColumnHeader promptTargetHeaderPreSuffix()

in c3r-cli/src/main/java/com/amazonaws/c3r/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;
    }