protected Map parseInfo()

in src/main/java/org/jutils/jhardware/info/os/unix/UnixOSInfo.java [66:104]


  protected Map<String, String> parseInfo() {
    Map<String, String> osDataMap = new HashMap<>();

    String lsbRelease = getOSLsbReleaseData();
    String[] dataStringLines = lsbRelease.split(LINE_BREAK_REGEX);

    for (final String dataLine : dataStringLines) {
      String[] dataStringInfo = dataLine.split(":");
      osDataMap.put(
          dataStringInfo[0].trim(), (dataStringInfo.length == 2) ? dataStringInfo[1].trim() : "");
    }

    String osRelease = getOSReleaseData();
    dataStringLines = osRelease.split(LINE_BREAK_REGEX);

    for (final String dataLine : dataStringLines) {
      String[] dataStringInfo = dataLine.split("=");
      osDataMap.put(
          HardwareInfoUtils.toCamelCase("OS_" + dataStringInfo[0].trim()),
          (dataStringInfo.length == 2) ? dataStringInfo[1].trim().replaceAll("\"", "") : "");
    }

    String startTimeFullData = getOSStartTimeData();
    dataStringLines = startTimeFullData.split(LINE_BREAK_REGEX);

    for (final String dataLine : dataStringLines) {
      if (dataLine.startsWith("reboot")) {
        osDataMap.put("LastBootTime", normalizeBootUpDate(dataLine.substring(39, 55)));
        break;
      }
    }

    // Set named data
    osDataMap.put("Manufacturer", osDataMap.get("Distributor ID"));
    osDataMap.put("Name", osDataMap.get("Description"));
    osDataMap.put("Version", osDataMap.get("Release"));

    return osDataMap;
  }