KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > nemesis > forum > webapp > admin > action > DBAction


1 package org.nemesis.forum.webapp.admin.action;
2
3 import java.sql.Connection JavaDoc;
4 import java.sql.DatabaseMetaData JavaDoc;
5 import java.util.HashMap JavaDoc;
6
7 import javax.servlet.http.HttpServletRequest JavaDoc;
8 import javax.servlet.http.HttpServletResponse JavaDoc;
9
10 import org.apache.commons.collections.FastHashMap;
11 import org.apache.commons.logging.Log;
12 import org.apache.commons.logging.LogFactory;
13 import org.apache.struts.action.ActionError;
14 import org.apache.struts.action.ActionErrors;
15 import org.apache.struts.action.ActionForm;
16 import org.apache.struts.action.ActionForward;
17 import org.apache.struts.action.ActionMapping;
18 import org.nemesis.forum.util.jdbc.DbConnectionManager;
19
20
21
22 public class DBAction extends BaseAction {
23
24     static protected Log log =LogFactory.getLog(DBAction.class);
25
26     public ActionForward execute(ActionMapping mapping,
27                  ActionForm form,
28                  HttpServletRequest JavaDoc request,
29                  HttpServletResponse JavaDoc response)
30     throws Exception JavaDoc {
31
32         //check logon
33
checkUser(request);
34         //check permission
35
checkPermission(request,OperationConstants.VIEW_SGBD_INFO);
36         
37         ActionErrors errors = new ActionErrors();
38         Connection JavaDoc con =null;
39         try {
40                 DatabaseMetaData JavaDoc metaData = null;
41                 con = DbConnectionManager.getConnection();
42                 metaData = con.getMetaData();
43                 HashMap JavaDoc props = new FastHashMap();
44                 props.put("name",metaData.getDatabaseProductName());
45                 props.put("version",metaData.getDatabaseProductVersion() );
46                 props.put("driver",metaData.getDriverName()+" "+ metaData.getDriverVersion());
47                 props.put("url",metaData.getURL());
48                 props.put("user",metaData.getUserName());
49                 props.put("transaction",(metaData.supportsTransactions())?"Yes":"No");
50                 props.put("multiple",(metaData.supportsMultipleTransactions())?"Yes":"No");
51                 props.put("readOnly",(metaData.isReadOnly())?"Yes":"No" );
52                     
53                 request.setAttribute("props",props);
54                 
55                 
56         } catch (Exception JavaDoc e) {
57             String JavaDoc eid=this.getClass().getName()+"_"+System.currentTimeMillis();
58             log.error("eid:"+eid +"\nsessionID" +request.getSession().getId(),e) ;
59             errors.add("general", new ActionError("error.general","error id:"+eid));
60         }finally{
61             try {
62                 con.close();
63             } catch (Exception JavaDoc e) {}
64             
65         }
66         
67         saveErrors(request, errors);
68
69         return mapping.findForward("view");
70     }
71     
72 }
Popular Tags