class KPM::System
def show_java_system_information(command, output_as_json)
def show_java_system_information(command, output_as_json) java_system = {} property_count = 0 last_key = '' `#{command}`.split("\n").each do |prop| break if prop.to_s.strip.empty? if property_count > 0 props = prop.split('=') if !(props[1].nil? && props[1].to_s.strip.size > MAX_VALUE_COLUMN_WIDTH) && output_as_json == false chunks = ".{1,#{MAX_VALUE_COLUMN_WIDTH}}" props[1].to_s.scan(/#{chunks}/).each_with_index do |p, index| java_system[property_count] = { java_property: index.equal?(0) ? props[0] : '', value: p } property_count += 1 end elsif output_as_json key = (props[1].nil? ? last_key : props[0]).to_s.strip value = props[1].nil? ? props[0] : props[1] if java_system.key?(key) java_system[key][:value] = java_system[key][:value].to_s.concat(' ').concat(value) else java_system[key] = { java_property: key, value: value } end else java_system[property_count] = { java_property: props[1].nil? ? '' : props[0], value: props[1].nil? ? props[0] : props[1] } end last_key = props[1].nil? ? last_key : props[0] end property_count += 1 end labels = [{ label: :java_property }, { label: :value }] @formatter.format(java_system, labels) unless output_as_json java_system end