1 package org.nemesis.forum.webapp.admin.action; 2 3 import java.sql.Connection ; 4 import java.sql.DatabaseMetaData ; 5 import java.util.HashMap ; 6 7 import javax.servlet.http.HttpServletRequest ; 8 import javax.servlet.http.HttpServletResponse ; 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 request, 29 HttpServletResponse response) 30 throws Exception { 31 32 checkUser(request); 34 checkPermission(request,OperationConstants.VIEW_SGBD_INFO); 36 37 ActionErrors errors = new ActionErrors(); 38 Connection con =null; 39 try { 40 DatabaseMetaData metaData = null; 41 con = DbConnectionManager.getConnection(); 42 metaData = con.getMetaData(); 43 HashMap 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 e) { 57 String 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 e) {} 64 65 } 66 67 saveErrors(request, errors); 68 69 return mapping.findForward("view"); 70 } 71 72 } | Popular Tags |