On Tue, 25 Jul 2023 19:47:16 GMT, Sean Coffey <coff...@openjdk.org> wrote:

>> Modify the -XshowSettings launcher option to print non-verbose settings 
>> details of all components by default. Verbose settings details will be 
>> printed via the -XshowSettings:all option. Modify the -XshowSettings option 
>> to reject bad values passed to it. Print an error message in such scenarios 
>> and abort the VM launch.
>
> Sean Coffey has updated the pull request incrementally with two additional 
> commits since the last revision:
> 
>  - Incorporate review feedback
>  - modify -X output for :all

src/java.base/share/classes/sun/launcher/LauncherHelper.java line 170:

> 168:                  SECURITY_PROVIDERS,
> 169:                  SECURITY_TLS -> 
> SecuritySettings.printSecuritySettings(component, ostream, true);
> 170:             case SYSTEM-> printSystemMetrics();

Nit: space before `->`
Suggestion:

            case SYSTEM -> printSystemMetrics();

src/java.base/share/classes/sun/launcher/LauncherHelper.java line 172:

> 170:             case SYSTEM-> printSystemMetrics();
> 171:             case VM -> printVmSettings(initialHeapSize, maxHeapSize, 
> stackSize);
> 172:             case EMPTY -> printAllSettings(initialHeapSize, maxHeapSize, 
> stackSize, false);

Nit: It seems clearer to name this as `DEFAULT`.

src/java.base/share/classes/sun/launcher/LauncherHelper.java line 191:

> 189: 
> 190:         // case-sensitive check of input flag
> 191:         List<String> validOpts = Arrays.stream(Option.values())

The logic can be simplified by building a map of option name to `Option`.


        Map<String, Option> validOpts = Arrays.stream(Option.values())
                .filter(o -> !o.equals(Option.EMPTY)) // non-valid option
                .collect(Collectors.toMap(o -> o.name()
                                                .toLowerCase(Locale.ROOT)
                                                .replace("_", ":"), 
Function.identity()));

        String optStr = optionFlag.substring("-XshowSettings:".length());
        Option component = validOpts.get(optStr);
        if (component == null) {
            abort(null, "java.launcher.bad.option", optStr);
        }
        return component;

-------------

PR Review Comment: https://git.openjdk.org/jdk/pull/15001#discussion_r1274078900
PR Review Comment: https://git.openjdk.org/jdk/pull/15001#discussion_r1274081324
PR Review Comment: https://git.openjdk.org/jdk/pull/15001#discussion_r1274116417

Reply via email to