From c6e6d109adb34801ce578cb2d2fe8b93cc9a0206 Mon Sep 17 00:00:00 2001 From: Jonatan Ivanov Date: Thu, 16 Dec 2021 11:48:08 -0800 Subject: [PATCH 1/2] Add vendor version to JavaInfo See gh-29090 --- .../springframework/boot/info/JavaInfo.java | 39 +++++++++++++++---- .../boot/info/JavaInfoTests.java | 5 ++- 2 files changed, 36 insertions(+), 8 deletions(-) diff --git a/spring-boot-project/spring-boot/src/main/java/org/springframework/boot/info/JavaInfo.java b/spring-boot-project/spring-boot/src/main/java/org/springframework/boot/info/JavaInfo.java index f5d029f826..9f246bba08 100644 --- a/spring-boot-project/spring-boot/src/main/java/org/springframework/boot/info/JavaInfo.java +++ b/spring-boot-project/spring-boot/src/main/java/org/springframework/boot/info/JavaInfo.java @@ -25,29 +25,29 @@ package org.springframework.boot.info; */ public class JavaInfo { - private final String vendor; - private final String version; + private final JavaVendorInfo vendor; + private final JavaRuntimeEnvironmentInfo runtime; private final JavaVirtualMachineInfo jvm; public JavaInfo() { - this.vendor = System.getProperty("java.vendor"); this.version = System.getProperty("java.version"); + this.vendor = new JavaVendorInfo(); this.runtime = new JavaRuntimeEnvironmentInfo(); this.jvm = new JavaVirtualMachineInfo(); } - public String getVendor() { - return this.vendor; - } - public String getVersion() { return this.version; } + public JavaVendorInfo getVendor() { + return this.vendor; + } + public JavaRuntimeEnvironmentInfo getRuntime() { return this.runtime; } @@ -56,8 +56,32 @@ public class JavaInfo { return this.jvm; } + /** + * Information about the Java Vendor of the used Java Runtime. + * @since 2.7.0 + */ + public static class JavaVendorInfo { + private final String name; + + private final String version; + + public JavaVendorInfo() { + this.name = System.getProperty("java.vendor"); + this.version = System.getProperty("java.vendor.version"); + } + + public String getName() { + return this.name; + } + + public String getVersion() { + return this.version; + } + } + /** * Information about the Java Runtime Environment the application is running in. + * @since 2.6.0 */ public static class JavaRuntimeEnvironmentInfo { @@ -82,6 +106,7 @@ public class JavaInfo { /** * Information about the Java Virtual Machine the application is running in. + * @since 2.6.0 */ public static class JavaVirtualMachineInfo { diff --git a/spring-boot-project/spring-boot/src/test/java/org/springframework/boot/info/JavaInfoTests.java b/spring-boot-project/spring-boot/src/test/java/org/springframework/boot/info/JavaInfoTests.java index 421809c563..5bf692a6ce 100644 --- a/spring-boot-project/spring-boot/src/test/java/org/springframework/boot/info/JavaInfoTests.java +++ b/spring-boot-project/spring-boot/src/test/java/org/springframework/boot/info/JavaInfoTests.java @@ -31,8 +31,11 @@ class JavaInfoTests { @Test void javaInfoIsAvailable() { JavaInfo javaInfo = new JavaInfo(); - assertThat(javaInfo.getVendor()).isEqualTo(System.getProperty("java.vendor")); assertThat(javaInfo.getVersion()).isEqualTo(System.getProperty("java.version")); + assertThat(javaInfo.getVendor()).satisfies((vendorInfo) -> { + assertThat(vendorInfo.getName()).isEqualTo(System.getProperty("java.vendor")); + assertThat(vendorInfo.getVersion()).isEqualTo(System.getProperty("java.vendor.version")); + }); assertThat(javaInfo.getRuntime()).satisfies((jreInfo) -> { assertThat(jreInfo.getName()).isEqualTo(System.getProperty("java.runtime.name")); assertThat(jreInfo.getVersion()).isEqualTo(System.getProperty("java.runtime.version")); From 605ec2fb0ee09f163fb1d1bcf52d119c3064ee7f Mon Sep 17 00:00:00 2001 From: Stephane Nicoll Date: Tue, 4 Jan 2022 16:10:02 +0100 Subject: [PATCH 2/2] Polish "Add vendor version to JavaInfo" See gh-29090 --- .../java/org/springframework/boot/info/JavaInfo.java | 10 ++++++---- .../org/springframework/boot/info/JavaInfoTests.java | 2 +- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/spring-boot-project/spring-boot/src/main/java/org/springframework/boot/info/JavaInfo.java b/spring-boot-project/spring-boot/src/main/java/org/springframework/boot/info/JavaInfo.java index 9f246bba08..778abd6de9 100644 --- a/spring-boot-project/spring-boot/src/main/java/org/springframework/boot/info/JavaInfo.java +++ b/spring-boot-project/spring-boot/src/main/java/org/springframework/boot/info/JavaInfo.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2021 the original author or authors. + * Copyright 2012-2022 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -57,10 +57,13 @@ public class JavaInfo { } /** - * Information about the Java Vendor of the used Java Runtime. + * Information about the Java Vendor of the Java Runtime the application is running + * in. + * * @since 2.7.0 */ public static class JavaVendorInfo { + private final String name; private final String version; @@ -77,11 +80,11 @@ public class JavaInfo { public String getVersion() { return this.version; } + } /** * Information about the Java Runtime Environment the application is running in. - * @since 2.6.0 */ public static class JavaRuntimeEnvironmentInfo { @@ -106,7 +109,6 @@ public class JavaInfo { /** * Information about the Java Virtual Machine the application is running in. - * @since 2.6.0 */ public static class JavaVirtualMachineInfo { diff --git a/spring-boot-project/spring-boot/src/test/java/org/springframework/boot/info/JavaInfoTests.java b/spring-boot-project/spring-boot/src/test/java/org/springframework/boot/info/JavaInfoTests.java index 5bf692a6ce..153d4dff31 100644 --- a/spring-boot-project/spring-boot/src/test/java/org/springframework/boot/info/JavaInfoTests.java +++ b/spring-boot-project/spring-boot/src/test/java/org/springframework/boot/info/JavaInfoTests.java @@ -1,5 +1,5 @@ /* - * Copyright 2012-2021 the original author or authors. + * Copyright 2012-2022 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License.