Docjar: A Java Source and Docuemnt Enginecom.*    java.*    javax.*    org.*    all    new    plug-in

Quick Search    Search Deep

Source code: rcs/utils/SystemProps.java


1   package rcs.utils;
2   
3   import java.util.*;
4   import java.io.*;
5   
6   
7   public class SystemProps
8   {
9   
10    static public boolean debug_on = false;
11  
12    /*
13     * This never worked very well. For JDK 1.2 use System.setProperty() 
14    public static void SetProperty(String name, String value)
15    {
16      try
17        {
18    if(debug_on)
19      {
20        System.out.println("SetPropterty("+name+", "+value+")");
21      }
22    Properties props = System.getProperties();
23    if(debug_on)
24      {
25        System.out.println("Old Properties");
26        props.list(System.out);
27      }
28    Properties new_props = new Properties(props);
29    StringBufferInputStream sbis = new StringBufferInputStream(name+"="+value);
30    if(debug_on)
31      {
32        System.out.println("Loading new Propteries");
33      }
34    new_props.load(sbis);
35    if(debug_on)
36      {
37        System.out.println("Setting new Propteries");
38      }
39    System.setProperties(new_props);
40    if(debug_on)
41      {
42        System.out.println("New Properties");
43        new_props.list(System.out);
44        System.out.println("Checking System Properies");
45    }
46    new_props = System.getProperties();
47    if(debug_on)
48      {
49        new_props.list(System.out);
50      }
51        }
52      catch(Exception e)
53        {
54    e.printStackTrace();
55        }
56    }
57    */
58  
59  
60    public static void cd(String dir)
61    {
62      try
63        {
64          // If we are running under something earlier than 1.1 this will 
65    // cause a 
66    if(dir.startsWith(".."))
67      {
68        String orig_dir = System.getProperty("user.dir");
69        int last_slash = orig_dir.lastIndexOf(File.separator);
70        dir = orig_dir.substring(0,last_slash)+ dir.substring(2);
71      }
72    System.setProperty("user.dir", dir);
73        }
74      catch(Exception e)
75        {
76    if(debug_on)
77      {
78        e.printStackTrace();
79      }
80        }
81    }
82  
83    public static void main(String args[])
84    {
85      try
86        {
87    BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
88    Runtime rt = Runtime.getRuntime();
89    while(true)
90      {
91        System.out.print("\nSystemProps> ");
92        String line = br.readLine();
93        if(null == line)
94          {
95      break;
96          }
97        StringTokenizer lineTokenizer = new StringTokenizer(line," \t\r\n");
98        if(!lineTokenizer.hasMoreTokens())
99          {
100     continue;
101         }
102       String first_token = lineTokenizer.nextToken();
103       if(first_token.equals("cd") && lineTokenizer.hasMoreTokens())
104         {
105     String second_token = lineTokenizer.nextToken();
106     cd(second_token);
107     continue;
108         }
109       int eq_index = line.indexOf('=');
110       if(eq_index > 0)
111         {
112     String name = line.substring(0,eq_index);
113     String value = line.substring(eq_index+1);
114     System.setProperty(name,value);
115     continue;
116         }
117       if(first_token.equals("ShowProps"))
118         {
119     Properties p = System.getProperties();
120     p.list(System.out);
121     continue;
122         }
123       if(first_token.equals("ls"))
124         {
125     File f = new File(".");
126           String file_names[] = f.list();
127     for(int i = 0;i < file_names.length; i++)
128       {
129         System.out.println(file_names[i]);
130       }
131     continue;
132         }
133       Process p = rt.exec(line);
134       InputStream temp_input_stream = p.getInputStream();
135       BufferedReader temp_buffered_reader = new BufferedReader(new InputStreamReader(temp_input_stream));
136       Thread.sleep(2000);
137       while(temp_buffered_reader.ready())
138       {
139         String temp_line = temp_buffered_reader.readLine();
140         System.out.println(temp_line);
141       }
142     }
143       }
144     catch(Exception e)
145       {
146   e.printStackTrace();
147       }
148   }
149     
150 }
151