blob: 6b66e24ae5d1fd93fab77ba4d4a9c81f8a95277d (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
|
package uk.org.ury.config;
import java.io.File;
import org.w3c.dom.*;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.DocumentBuilder;
import org.xml.sax.SAXException;
import org.xml.sax.SAXParseException;
import uk.org.ury.database.UserClass;
public class ConfigReader {
private Database database;
private Auth auth;
public Database getDatabase() { return database; }
public Auth getAuth() { return auth; }
public ConfigReader() {
try {
DocumentBuilderFactory docBuilderFactory = DocumentBuilderFactory.newInstance();
DocumentBuilder docBuilder = docBuilderFactory.newDocumentBuilder();
Document doc = docBuilder.parse (new File("res/conf.xml"));
doc.getDocumentElement().normalize();
System.out.println(doc.getDocumentElement().getNodeName());
String user = doc.getElementsByTagName("user").item(0).getTextContent();
String pass = doc.getElementsByTagName("pass").item(0).getTextContent();
UserClass type;
if(doc.getElementsByTagName("type").item(0).getTextContent().toLowerCase().equals("read_only")) {
type = UserClass.READ_ONLY;
} else if(doc.getElementsByTagName("type").item(0).getTextContent().toLowerCase().equals("read_write")) {
type = UserClass.READ_WRITE;
} else {
throw new IllegalArgumentException("Unused user class.");
}
auth = new Auth(user, pass, type);
String host = doc.getElementsByTagName("host").item(0).getTextContent();
int port = Integer.parseInt(doc.getElementsByTagName("port").item(0).getTextContent().trim());
String db = doc.getElementsByTagName("db").item(0).getTextContent();
database = new Database(host, port, db);
}
catch (SAXParseException err) {
System.out.println ("** Parsing error" + ", line " + err.getLineNumber () + ", uri " + err.getSystemId ());
System.out.println(" " + err.getMessage ());
}
catch (SAXException e) {
Exception x = e.getException ();
((x == null) ? e : x).printStackTrace ();
}
catch (Throwable t) {
t.printStackTrace ();
}
}
}
|