1 6 7 package org.contineo.actions.setup; 8 9 import javax.servlet.http.HttpServletRequest ; 10 import javax.servlet.http.HttpServletResponse ; 11 import org.apache.commons.beanutils.BeanUtils; 12 import org.apache.log4j.Level; 13 import org.apache.log4j.Logger; 14 import org.apache.struts.action.Action; 15 import org.apache.struts.action.ActionError; 16 import org.apache.struts.action.ActionErrors; 17 import org.apache.struts.action.ActionForm; 18 import org.apache.struts.action.ActionForward; 19 import org.apache.struts.action.ActionMapping; 20 import org.contineo.core.LoggingManager; 21 import org.contineo.core.config.DBMSConfigurator; 22 import org.contineo.forms.ConnectionForm; 23 28 public class SaveDBAction extends Action { 29 30 34 private Logger logger; 35 36 37 38 public SaveDBAction() { 39 logger = LoggingManager.getLogger(this.getClass()); 40 } 41 42 public ActionForward execute(ActionMapping mapping, 43 ActionForm form, HttpServletRequest request, 44 HttpServletResponse response) { 45 ActionForward actionForward = new ActionForward(); 46 ActionErrors errors = new ActionErrors(); 47 try { 48 String dbms = BeanUtils.getSimpleProperty(form, "dbms"); 49 if (dbms == null || dbms.equals("")) { 50 errors.add(ActionErrors.GLOBAL_ERROR, new ActionError("errors.required")); 51 actionForward = mapping.findForward("choosedb"); 52 } else { 53 DBMSConfigurator conf = new DBMSConfigurator(); 54 String clazz = conf.getAttribute(dbms, "class"); 55 String protocol = conf.getAttribute(dbms, "protocol"); 56 String subprotocol = conf.getAttribute(dbms, "subprotocol"); 57 String port = conf.getAttribute(dbms, "port"); 58 String sample = conf.getAttribute(dbms, "sample"); 59 if (dbms.equals("sybase45") || (dbms.equals("sybase55"))) 60 dbms = "SybaseASE"; 61 ConnectionForm cform = new ConnectionForm(); 62 cform.setClazz(clazz); 63 cform.setProtocol(protocol); 64 cform.setSubprotocol(subprotocol); 65 cform.setPort(port); 66 cform.setSample(sample); 67 cform.setDbms(dbms); 68 request.setAttribute("connection", cform); 69 actionForward = mapping.findForward("setdb"); 70 } 71 } catch (Exception e) { 72 if (logger.isEnabledFor(Level.ERROR)) 73 logger.error(e.getMessage()); 74 actionForward = mapping.findForward("error"); 75 } 76 saveErrors(request, errors); 77 return actionForward; 78 } 79 } 80 | Popular Tags |