ViewVC Help
View File | Revision Log | Show Annotations | Revision Graph | Root Listing
root/i-scream/projects/cms/source/host/java/Config.java
Revision: 1.1
Committed: Mon Nov 27 19:49:00 2000 UTC (24 years ago) by ab11
Branch: MAIN
Log Message:
Initial Version - whenever it is called it will try to reload its config (no checking of filedates) support for dynamic ips =)

File Contents

# User Rev Content
1 ab11 1.1 import java.net.*;
2     import java.util.*;
3     import java.io.*;
4    
5     class Config {
6    
7     private String lastModified;
8     private int numProperties;
9     private Hashtable myProperties;
10     private String filterName;
11     private int filterUDPPort;
12     private int filterTCPPort;
13     private ArrayList aList;
14     private BufferedReader socketIn;
15     private PrintWriter socketOut;
16    
17    
18     public Config( String serverName, int serverPort ){
19     // takes in the master config settings and creates a connection with
20     // this computer, and downloads all the values listed in config.values.txt
21     // which should be in the local directory
22    
23     // read in from the file.
24     try {
25     BufferedReader inFile = new BufferedReader(new FileReader("config.values.txt"));
26     aList = new ArrayList();
27     numProperties = 0;
28     String tmpIn = inFile.readLine();
29     while ( tmpIn != null ){
30     aList.add(tmpIn);
31     numProperties++;
32     tmpIn = inFile.readLine();
33     }
34     }
35     catch ( FileNotFoundException e ){
36     // do something
37     }
38     catch ( IOException e ){
39     // do something
40     }
41    
42     // do the funky jibble
43     connect(serverName, serverPort);
44    
45    
46     }
47    
48     private void connect( String serverName, int serverPort ){
49     Socket mySocket;
50    
51     // might throw a UnknownHostException
52     try {
53     mySocket = new Socket(serverName, serverPort );
54     // ok we have our socket connected ok. grab their input and output streams
55     socketIn = new BufferedReader(new InputStreamReader(mySocket.getInputStream()));
56     socketOut = new PrintWriter(mySocket.getOutputStream());
57    
58    
59     if (sendCommand("STARTCONFIG") == "OK"){
60     // everything is fine
61     sendCommand("LASTMODIFIED");
62     sendCommand("FILELIST");
63    
64     // get all the properties
65     for ( int i = 0; i < numProperties; i++ ){
66     String property = (String) aList.get(i);
67     myProperties.put(property, sendCommand(property));
68     }
69    
70     sendCommand("ENDCONFIG");
71     String filter_data = sendCommand("FILTER");
72     StringTokenizer tok = new StringTokenizer(filter_data,";");
73     filterName = tok.nextToken();
74     filterUDPPort = Integer.parseInt(tok.nextToken());
75     filterTCPPort = Integer.parseInt(tok.nextToken());
76    
77     sendCommand("END");
78    
79     }
80    
81     // close the socket
82     mySocket.close();
83    
84     }
85     catch ( UnknownHostException e ){
86     // what to do
87     }
88     catch ( IOException e ){
89     // what to do
90     }
91    
92     } // connect
93    
94     public InetAddress getFilterName(){
95     // will return the most recient IP address (if it is dynamic for whatever reason
96     try {
97     return InetAddress.getByName(filterName);
98     }
99     catch ( UnknownHostException e ){
100     // do something
101     return null;
102     }
103    
104     }
105    
106     public int getFilterUDPPort(){
107    
108     return filterUDPPort;
109     }
110    
111     public int getFilterTCPPort(){
112    
113     return filterTCPPort;
114     }
115    
116     public String getProperty( String name ){
117    
118     if ( myProperties.containsKey(name) ){
119     // its in there, may return ERROR
120     return (String) myProperties.get(name);
121     }
122     else
123     {
124     // can't have been in the config.values.txt file!
125     return "ERROR";
126     }
127     }
128    
129     private String sendCommand(String command){
130    
131     socketOut.println(command);
132     try {
133     return socketIn.readLine();
134     }
135     catch ( IOException e ){
136     // something went wrong
137     return "ERROR";
138     }
139     }
140    
141     } // class