/* * Copyright (c) 2012-2015 iWave Software LLC * All Rights Reserved */ package com.iwave.ext.linux.command.version; import com.iwave.ext.linux.model.LinuxVersion; public class GetLinuxVersionLSBReleaseCommand extends LinuxVersionCommand { private static final String DISTRIBUTOR_ID = "Distributor ID:"; private static final String RELEASE = "Release:"; private static final String RHEL = "RedHatEnterpriseServer"; private static final String SUSE = "SUSE LINUX"; public GetLinuxVersionLSBReleaseCommand() { setCommand("lsb_release -a"); } @Override public void parseOutput() { String stdOut = getOutput().getStdout(); String lines[] = stdOut.split("\n"); LinuxVersion.LinuxDistribution distribution = LinuxVersion.LinuxDistribution.UNKNOWN; String release = ""; for (String line : lines) { String lineElements[] = line.split("\t"); String key = lineElements[0]; String value = lineElements[1]; if (key.equalsIgnoreCase(DISTRIBUTOR_ID)) { if (RHEL.equals(value)) { distribution = LinuxVersion.LinuxDistribution.REDHAT; } else if (SUSE.equals(value)) { distribution = LinuxVersion.LinuxDistribution.SUSE; } } else if (key.equalsIgnoreCase(RELEASE)) { release = value; } } results = new LinuxVersion(distribution, release); } }