Add vendor version to JavaInfo

See gh-29090
pull/29200/head
Jonatan Ivanov 3 years ago committed by Stephane Nicoll
parent 9ff4ea523d
commit c6e6d109ad

@ -25,29 +25,29 @@ package org.springframework.boot.info;
*/ */
public class JavaInfo { public class JavaInfo {
private final String vendor;
private final String version; private final String version;
private final JavaVendorInfo vendor;
private final JavaRuntimeEnvironmentInfo runtime; private final JavaRuntimeEnvironmentInfo runtime;
private final JavaVirtualMachineInfo jvm; private final JavaVirtualMachineInfo jvm;
public JavaInfo() { public JavaInfo() {
this.vendor = System.getProperty("java.vendor");
this.version = System.getProperty("java.version"); this.version = System.getProperty("java.version");
this.vendor = new JavaVendorInfo();
this.runtime = new JavaRuntimeEnvironmentInfo(); this.runtime = new JavaRuntimeEnvironmentInfo();
this.jvm = new JavaVirtualMachineInfo(); this.jvm = new JavaVirtualMachineInfo();
} }
public String getVendor() {
return this.vendor;
}
public String getVersion() { public String getVersion() {
return this.version; return this.version;
} }
public JavaVendorInfo getVendor() {
return this.vendor;
}
public JavaRuntimeEnvironmentInfo getRuntime() { public JavaRuntimeEnvironmentInfo getRuntime() {
return this.runtime; return this.runtime;
} }
@ -56,8 +56,32 @@ public class JavaInfo {
return this.jvm; 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. * Information about the Java Runtime Environment the application is running in.
* @since 2.6.0
*/ */
public static class JavaRuntimeEnvironmentInfo { public static class JavaRuntimeEnvironmentInfo {
@ -82,6 +106,7 @@ public class JavaInfo {
/** /**
* Information about the Java Virtual Machine the application is running in. * Information about the Java Virtual Machine the application is running in.
* @since 2.6.0
*/ */
public static class JavaVirtualMachineInfo { public static class JavaVirtualMachineInfo {

@ -31,8 +31,11 @@ class JavaInfoTests {
@Test @Test
void javaInfoIsAvailable() { void javaInfoIsAvailable() {
JavaInfo javaInfo = new JavaInfo(); JavaInfo javaInfo = new JavaInfo();
assertThat(javaInfo.getVendor()).isEqualTo(System.getProperty("java.vendor"));
assertThat(javaInfo.getVersion()).isEqualTo(System.getProperty("java.version")); 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(javaInfo.getRuntime()).satisfies((jreInfo) -> {
assertThat(jreInfo.getName()).isEqualTo(System.getProperty("java.runtime.name")); assertThat(jreInfo.getName()).isEqualTo(System.getProperty("java.runtime.name"));
assertThat(jreInfo.getVersion()).isEqualTo(System.getProperty("java.runtime.version")); assertThat(jreInfo.getVersion()).isEqualTo(System.getProperty("java.runtime.version"));

Loading…
Cancel
Save