(MODULES-1570) Add java_major_version fact

Gives the major version of the Java release (ie. Java 1.7.0_71, major version is 7)

We also want to specifically return nil when java not present
This commit is contained in:
Peter Souter
2014-12-29 15:06:22 +00:00
committed by Peter Souter
parent 5168f61c26
commit cd3ac1ee46
6 changed files with 59 additions and 15 deletions

View File

@@ -0,0 +1,20 @@
# Fact: java_major_version
#
# Purpose: get Java's major version
#
# Resolution:
# Tests for presence of java, returns nil if not present
# returns output of "java -version" and splits on \n + '"'
# eg.
#
# Caveats:
# none
#
# Notes:
# None
Facter.add(:java_major_version) do
setcode do
java_version = Facter.value(:java_version)
java_patch_level = java_version.strip.split('_')[0].split('.')[1] unless java_version.nil?
end
end

View File

@@ -13,10 +13,6 @@
Facter.add(:java_patch_level) do
setcode do
java_version = Facter.value(:java_version)
if java_version.nil?
"JAVA_NOT_INSTALLED"
else
java_patch_level = java_version.strip.split('_')[1]
end
java_patch_level = java_version.strip.split('_')[1] unless java_version.nil?
end
end

View File

@@ -1,6 +1,6 @@
# Fact: java_version
#
# Purpose: store java versions in the config DB
# Purpose: get full java version string
#
# Resolution:
# Tests for presence of java, returns nil if not present
@@ -11,9 +11,10 @@
#
# Notes:
# None
Facter.add(:java_version) do
setcode do
java_version = Facter::Util::Resolution.exec("java -version 2>&1")
java_version = java_version.to_s.lines.first.strip.split(/version/)[1].gsub(/"/, "").strip
if Facter::Util::Resolution.which('java')
Facter.add(:java_version) do
setcode do
Facter::Util::Resolution.exec('java -version 2>&1').lines.first.split(/"/)[1].strip
end
end
end
end