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 {
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 {

@ -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"));

Loading…
Cancel
Save