home *** CD-ROM | disk | FTP | other *** search
- package com.zerog.ia.download.utility.nativelib.unix;
-
- import com.zerog.ia.download.utility.ZGProcess;
- import java.io.IOException;
- import java.util.Hashtable;
- import java.util.StringTokenizer;
-
- public class Environment {
- private static Environment env = null;
- private static Hashtable variableTable = new Hashtable();
-
- private Environment() throws IOException {
- this.makeVariableTable(this.getEnvironmentVariables());
- }
-
- public static Environment getInstance() throws IOException {
- if (env == null) {
- env = new Environment();
- }
-
- return env;
- }
-
- public String getValue(String var1) {
- try {
- return variableTable.get(var1).toString();
- } catch (Exception var3) {
- return "";
- }
- }
-
- private void makeVariableTable(String var1) {
- StringTokenizer var2 = new StringTokenizer(var1, "\n");
-
- while(var2.hasMoreTokens()) {
- String var3 = var2.nextToken();
- StringTokenizer var4 = new StringTokenizer(var3, "=");
- String var5 = var4.nextToken();
- String var6 = "";
- if (var4.hasMoreTokens()) {
- var6 = var4.nextToken();
- }
-
- variableTable.put(var5, var6);
- if (var5.equalsIgnoreCase("PATH")) {
- break;
- }
- }
-
- }
-
- private String getEnvironmentVariables() throws IOException {
- int var1 = 0;
- ZGProcess var2 = new ZGProcess("/bin/sh -c set");
- String var3 = "";
- StringBuffer var4 = new StringBuffer();
- if (var2 == null) {
- System.err.println("ZGProcess p = null");
- return null;
- } else {
- for(String var5 = var2.getLine(); var5 != null; var5 = var2.getLine()) {
- if (!var5.trim().equals("")) {
- var4.append(var5 + "\n");
- } else {
- ++var1;
- if (var1 > 15) {
- break;
- }
- }
-
- if (var5.startsWith("PATH")) {
- break;
- }
- }
-
- return var4.toString();
- }
- }
- }
-