~mortenoh/+junk/dhis2-detailed-import-export

« back to all changes in this revision

Viewing changes to local/in/dhis-web-ga/WEB-INF/src/org/hisp/gtool/action/DBConnection.java

  • Committer: larshelge at gmail
  • Date: 2009-03-03 16:46:36 UTC
  • Revision ID: larshelge@gmail.com-20090303164636-2sjlrquo7ib1gf7r
Initial check-in

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
package org.hisp.gtool.action;
 
2
 
 
3
import java.io.File;
 
4
import java.sql.*;
 
5
import java.util.ArrayList;
 
6
import java.util.Hashtable;
 
7
import java.util.List;
 
8
 
 
9
import javax.xml.parsers.DocumentBuilder;
 
10
import javax.xml.parsers.DocumentBuilderFactory;
 
11
 
 
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;
 
18
 
 
19
public class DBConnection 
 
20
{
 
21
        
 
22
        Connection con = null;
 
23
        String dbConnectionXMLFileName = "C:\\Program Files\\DHIS2\\XMLFiles\\DBConnections.xml";
 
24
        
 
25
        
 
26
        /*
 
27
         *  To retrieve all db details
 
28
         */
 
29
        /*
 
30
        public Hashtable getAllDBConnections()
 
31
    {
 
32
                Hashtable ht = new Hashtable();
 
33
                List li = null;
 
34
                String dbConnectionID = "";
 
35
                
 
36
                try 
 
37
        {
 
38
            DocumentBuilderFactory docBuilderFactory = DocumentBuilderFactory.newInstance();
 
39
            DocumentBuilder docBuilder = docBuilderFactory.newDocumentBuilder();
 
40
            Document doc = docBuilder.parse (new File(dbConnectionXMLFileName));
 
41
 
 
42
            NodeList listOfDBConnections = doc.getElementsByTagName("db-connection");
 
43
            int totalDBConnections = listOfDBConnections.getLength();
 
44
            System.out.println("Total no of Connections : " + totalDBConnections);
 
45
 
 
46
            for(int s=0; s<totalDBConnections ; s++)
 
47
            {
 
48
                Node dbConnectionsNode = listOfDBConnections.item(s);
 
49
                li = new ArrayList();
 
50
                if(dbConnectionsNode.getNodeType() == Node.ELEMENT_NODE)
 
51
                {
 
52
                    Element dbConnectionElement = (Element)dbConnectionsNode;
 
53
                    dbConnectionID = dbConnectionElement.getAttribute("id");
 
54
                    
 
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());                    
 
59
                    
 
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());                   
 
64
                    
 
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());
 
69
                                        
 
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());
 
74
                    
 
75
                    System.out.println(li.get(0)+"   "+li.get(1)+"   "+li.get(2)+"   "+li.get(3));
 
76
                    ht.put(dbConnectionID,li);                                                                          
 
77
                        li=null;
 
78
                }//end of if clause
 
79
            }//end of for loop with s var
 
80
        }// try block end
 
81
        catch (SAXParseException err) 
 
82
        {
 
83
                System.out.println ("** Parsing error" + ", line " 
 
84
             + err.getLineNumber () + ", uri " + err.getSystemId ());
 
85
                System.out.println(" " + err.getMessage ());
 
86
        }
 
87
        catch (SAXException e) 
 
88
        {
 
89
                Exception x = e.getException ();
 
90
                ((x == null) ? e : x).printStackTrace ();
 
91
        }
 
92
        catch (Throwable t) 
 
93
        {
 
94
                t.printStackTrace ();
 
95
        }
 
96
        
 
97
        return ht;
 
98
    }//end of getAllDBConnections       
 
99
        */
 
100
        
 
101
        /*
 
102
         * To retrieve the db details
 
103
         */
 
104
        public List getDBDeatils()
 
105
        {
 
106
                List li = null;
 
107
                
 
108
                try 
 
109
        {
 
110
            DocumentBuilderFactory docBuilderFactory = DocumentBuilderFactory.newInstance();
 
111
            DocumentBuilder docBuilder = docBuilderFactory.newDocumentBuilder();
 
112
            Document doc = docBuilder.parse (new File(dbConnectionXMLFileName));
 
113
 
 
114
            NodeList listOfDBConnections = doc.getElementsByTagName("db-connection");
 
115
            
 
116
            Node dbConnectionsNode = listOfDBConnections.item(0);
 
117
            li = new ArrayList();
 
118
            if(dbConnectionsNode.getNodeType() == Node.ELEMENT_NODE)
 
119
            {
 
120
                Element dbConnectionElement = (Element)dbConnectionsNode;                
 
121
                    
 
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());                    
 
126
                    
 
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());                   
 
131
                    
 
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());
 
136
                                        
 
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());                                        
 
141
            }//end of if clause            
 
142
        }// try block end
 
143
        catch (SAXParseException err) 
 
144
        {
 
145
                System.out.println ("** Parsing error" + ", line " 
 
146
             + err.getLineNumber () + ", uri " + err.getSystemId ());
 
147
                System.out.println(" " + err.getMessage ());
 
148
        }
 
149
        catch (SAXException e) 
 
150
        {
 
151
                Exception x = e.getException ();
 
152
                ((x == null) ? e : x).printStackTrace ();
 
153
        }
 
154
        catch (Throwable t) 
 
155
        {
 
156
                t.printStackTrace ();
 
157
        }        
 
158
        return li;              
 
159
        }
 
160
        
 
161
        public Connection openConnection()
 
162
        {
 
163
                
 
164
                try
 
165
                {
 
166
                        //To get From XML File
 
167
                 
 
168
                        List li = (ArrayList) getDBDeatils();
 
169
                        
 
170
                        String userName = (String) li.get(0);
 
171
                        String userPass = (String) li.get(1);
 
172
                        String urlForConnection = (String) li.get(2);
 
173
                        
 
174
                /*      
 
175
                        String userName = "dhis";
 
176
                        String userPass = "";
 
177
                        String urlForConnection = "jdbc:mysql://localhost/gj_dhis2";
 
178
                */
 
179
                        
 
180
                        Class.forName ("com.mysql.jdbc.Driver").newInstance ();
 
181
                        con = DriverManager.getConnection (urlForConnection, userName, userPass);
 
182
                }
 
183
                catch(Exception e){ return null;}
 
184
                return con;
 
185
        } // openConnection end
 
186
        
 
187
        public void closeConnection()
 
188
        {
 
189
                try
 
190
                {               
 
191
                }
 
192
                finally
 
193
                {
 
194
                 try  {  if(con!=null) con.close();              }
 
195
                 catch(Exception e){ System.out.println(e.getMessage());}       
 
196
                }
 
197
        } // closeConnection end
 
198
        
 
199
 
 
200
}