1
package org.hisp.gtool.action;
5
import java.util.ArrayList;
6
import java.util.Hashtable;
9
import javax.xml.parsers.DocumentBuilder;
10
import javax.xml.parsers.DocumentBuilderFactory;
12
import org.w3c.dom.Document;
13
import org.w3c.dom.Element;
14
import org.w3c.dom.Node;
15
import org.w3c.dom.NodeList;
16
import org.xml.sax.SAXException;
17
import org.xml.sax.SAXParseException;
19
public class DBConnection
22
Connection con = null;
23
String dbConnectionXMLFileName = "C:\\Program Files\\DHIS2\\XMLFiles\\DBConnections.xml";
27
* To retrieve all db details
30
public Hashtable getAllDBConnections()
32
Hashtable ht = new Hashtable();
34
String dbConnectionID = "";
38
DocumentBuilderFactory docBuilderFactory = DocumentBuilderFactory.newInstance();
39
DocumentBuilder docBuilder = docBuilderFactory.newDocumentBuilder();
40
Document doc = docBuilder.parse (new File(dbConnectionXMLFileName));
42
NodeList listOfDBConnections = doc.getElementsByTagName("db-connection");
43
int totalDBConnections = listOfDBConnections.getLength();
44
System.out.println("Total no of Connections : " + totalDBConnections);
46
for(int s=0; s<totalDBConnections ; s++)
48
Node dbConnectionsNode = listOfDBConnections.item(s);
50
if(dbConnectionsNode.getNodeType() == Node.ELEMENT_NODE)
52
Element dbConnectionElement = (Element)dbConnectionsNode;
53
dbConnectionID = dbConnectionElement.getAttribute("id");
55
NodeList dbUserNameList = dbConnectionElement.getElementsByTagName("uname");
56
Element dbUserNameElement = (Element)dbUserNameList.item(0);
57
NodeList textDBUNList = dbUserNameElement.getChildNodes();
58
li.add(0,((Node)textDBUNList.item(0)).getNodeValue().trim());
60
NodeList dbUserPwdList = dbConnectionElement.getElementsByTagName("upwd");
61
Element dbUserPwdElement = (Element)dbUserPwdList.item(0);
62
NodeList textDUPwdList = dbUserPwdElement.getChildNodes();
63
li.add(1,((Node)textDUPwdList.item(0)).getNodeValue().trim());
65
NodeList dbURLList = dbConnectionElement.getElementsByTagName("dburl");
66
Element dbURLElement = (Element)dbURLList.item(0);
67
NodeList textDBURLList = dbURLElement.getChildNodes();
68
li.add(2,((Node)textDBURLList.item(0)).getNodeValue().trim());
70
NodeList dbStateNameList = dbConnectionElement.getElementsByTagName("state-name");
71
Element dbStateNameElement = (Element)dbStateNameList.item(0);
72
NodeList textDBSNameList = dbStateNameElement.getChildNodes();
73
li.add(3,((Node)textDBSNameList.item(0)).getNodeValue().trim());
75
System.out.println(li.get(0)+" "+li.get(1)+" "+li.get(2)+" "+li.get(3));
76
ht.put(dbConnectionID,li);
79
}//end of for loop with s var
81
catch (SAXParseException err)
83
System.out.println ("** Parsing error" + ", line "
84
+ err.getLineNumber () + ", uri " + err.getSystemId ());
85
System.out.println(" " + err.getMessage ());
87
catch (SAXException e)
89
Exception x = e.getException ();
90
((x == null) ? e : x).printStackTrace ();
98
}//end of getAllDBConnections
102
* To retrieve the db details
104
public List getDBDeatils()
110
DocumentBuilderFactory docBuilderFactory = DocumentBuilderFactory.newInstance();
111
DocumentBuilder docBuilder = docBuilderFactory.newDocumentBuilder();
112
Document doc = docBuilder.parse (new File(dbConnectionXMLFileName));
114
NodeList listOfDBConnections = doc.getElementsByTagName("db-connection");
116
Node dbConnectionsNode = listOfDBConnections.item(0);
117
li = new ArrayList();
118
if(dbConnectionsNode.getNodeType() == Node.ELEMENT_NODE)
120
Element dbConnectionElement = (Element)dbConnectionsNode;
122
NodeList dbUserNameList = dbConnectionElement.getElementsByTagName("uname");
123
Element dbUserNameElement = (Element)dbUserNameList.item(0);
124
NodeList textDBUNList = dbUserNameElement.getChildNodes();
125
li.add(0,((Node)textDBUNList.item(0)).getNodeValue().trim());
127
NodeList dbUserPwdList = dbConnectionElement.getElementsByTagName("upwd");
128
Element dbUserPwdElement = (Element)dbUserPwdList.item(0);
129
NodeList textDUPwdList = dbUserPwdElement.getChildNodes();
130
li.add(1,((Node)textDUPwdList.item(0)).getNodeValue().trim());
132
NodeList dbURLList = dbConnectionElement.getElementsByTagName("dburl");
133
Element dbURLElement = (Element)dbURLList.item(0);
134
NodeList textDBURLList = dbURLElement.getChildNodes();
135
li.add(2,((Node)textDBURLList.item(0)).getNodeValue().trim());
137
NodeList dbStateNameList = dbConnectionElement.getElementsByTagName("state-name");
138
Element dbStateNameElement = (Element)dbStateNameList.item(0);
139
NodeList textDBSNameList = dbStateNameElement.getChildNodes();
140
li.add(3,((Node)textDBSNameList.item(0)).getNodeValue().trim());
143
catch (SAXParseException err)
145
System.out.println ("** Parsing error" + ", line "
146
+ err.getLineNumber () + ", uri " + err.getSystemId ());
147
System.out.println(" " + err.getMessage ());
149
catch (SAXException e)
151
Exception x = e.getException ();
152
((x == null) ? e : x).printStackTrace ();
156
t.printStackTrace ();
161
public Connection openConnection()
166
//To get From XML File
168
List li = (ArrayList) getDBDeatils();
170
String userName = (String) li.get(0);
171
String userPass = (String) li.get(1);
172
String urlForConnection = (String) li.get(2);
175
String userName = "dhis";
176
String userPass = "";
177
String urlForConnection = "jdbc:mysql://localhost/gj_dhis2";
180
Class.forName ("com.mysql.jdbc.Driver").newInstance ();
181
con = DriverManager.getConnection (urlForConnection, userName, userPass);
183
catch(Exception e){ return null;}
185
} // openConnection end
187
public void closeConnection()
194
try { if(con!=null) con.close(); }
195
catch(Exception e){ System.out.println(e.getMessage());}
197
} // closeConnection end