class KPM::System

def information(bundles_dir = nil, output_as_json = false, config_file = nil, kaui_web_path = nil, killbill_web_path = nil)

def information(bundles_dir = nil, output_as_json = false, config_file = nil, kaui_web_path = nil, killbill_web_path = nil)
  set_config(config_file)
  killbill_information = show_killbill_information(kaui_web_path,killbill_web_path,output_as_json)
  java_version = `java -version 2>&1`.split("\n")[0].split('"')[1]
  environment_information = show_environment_information(java_version, output_as_json)
  os_information = show_os_information(output_as_json)
  cpu_information = show_cpu_information(output_as_json)
  memory_information = show_memory_information(output_as_json)
  disk_space_information = show_disk_space_information(output_as_json)
  entropy_available = show_entropy_available(output_as_json)
  if not java_version.nil?
    command = get_command
    java_system_information = show_java_system_information(command,output_as_json)
  end
  plugin_information = show_plugin_information(get_plugin_path || bundles_dir || DEFAULT_BUNDLE_DIR, output_as_json)
  json_data = Hash.new
  json_data[:killbill_information] = killbill_information
  json_data[:environment_information] = environment_information
  json_data[:os_information] = os_information
  json_data[:cpu_information] = cpu_information
  json_data[:memory_information] = memory_information
  json_data[:disk_space_information] = disk_space_information
  json_data[:entropy_available] = entropy_available
  json_data[:java_system_information] = java_system_information
  json_data[:plugin_information] = plugin_information
  json_data.to_json
end