package openshift.cop; import java.io.IOException; import java.io.InputStream; import java.lang.Process; import java.lang.Runtime; import java.util.HashMap; import java.util.Map; import java.util.Scanner; public class EnvInfo { private Map<String, String> envInfo = new HashMap<String,String>(); public EnvInfo(String filter) throws IOException { this.envInfo = mapEnvInfo(filter); } public Map<String, String> getEnv() { return envInfo; }final public static Map<String,String> mapEnvInfo(String filter) throws IOException { Process proc = Runtime.getRuntime().exec("env"); Map<String, String> ret = new HashMap<>(); try (InputStream stream = proc.getInputStream()) { try (Scanner s = new Scanner(stream).useDelimiter("\\n")) { while (s.hasNext()) { String val = s.next(); String[] nameVal = val.split("="); if (filter.equalsIgnoreCase("*")) ret.put(nameVal[0],nameVal.length > 1 ? nameVal[1] : ""); else { if (nameVal[0].startsWith(filter)) { ret.put(nameVal[0],nameVal.length > 1 ? nameVal[1] : ""); } } } } } return ret; } }