| 1 6 7 package org.contineo.actions.setup; 8 9 import javax.servlet.http.HttpServletRequest ; 10 import javax.servlet.http.HttpServletResponse ; 11 12 import org.apache.commons.beanutils.BeanUtils; 13 import org.apache.log4j.Level; 14 import org.apache.log4j.Logger; 15 import org.apache.struts.action.Action; 16 import org.apache.struts.action.ActionError; 17 import org.apache.struts.action.ActionErrors; 18 import org.apache.struts.action.ActionForm; 19 import org.apache.struts.action.ActionForward; 20 import org.apache.struts.action.ActionMapping; 21 import org.contineo.core.LoggingManager; 22 import org.contineo.core.config.RepositoryConfigurator; 23 import org.contineo.core.FileBean; 24 import org.contineo.setup.DBInit; 25 import org.contineo.setup.DBProtocol; 26 31 public class SaveDBPathAction extends Action { 32 33 private Logger logger; 34 35 36 public SaveDBPathAction() { 37 logger = LoggingManager.getLogger(this.getClass()); 38 } 39 40 public ActionForward execute(ActionMapping mapping, 41 ActionForm form, HttpServletRequest request, 42 HttpServletResponse response) { 43 ActionForward actionForward = new ActionForward(); 44 ActionErrors errors = new ActionErrors(); 45 try { 46 String path = BeanUtils.getSimpleProperty(form, "path"); 47 if (path == null || path.equals("")) { 48 errors.add(ActionErrors.GLOBAL_ERROR, new ActionError("errors.required")); 49 actionForward = mapping.findForward("internaldb"); 50 } else { 51 if (!path.endsWith("/") && !path.endsWith("\\")) 52 path += "/"; 53 FileBean.createDir(path); 54 RepositoryConfigurator conf = new RepositoryConfigurator(); 55 conf.setAttribute("contineo", "dbalias", path); 56 conf.setAttribute("contineo", "platform", "Hsqldb"); 57 conf.setAttribute("contineo", "default-connection", "true"); 58 conf.setAttribute("contineo", "driver", "org.hsqldb.jdbcDriver"); 59 conf.setAttribute("contineo", "password", ""); 60 conf.setAttribute("contineo", "protocol", "jdbc"); 61 conf.setAttribute("contineo", "subprotocol", "hsqldb"); 62 conf.setAttribute("contineo", "username", "sa"); 63 conf.toXML(); 64 DBInit init = new DBInit("sql92.sql"); 65 if (init.testConnection()) { 66 String result = init.generate(); 67 DBProtocol prot = new DBProtocol(); 68 prot.setLogs(result); 69 request.setAttribute("protocol", prot); 70 actionForward = mapping.findForward("initdb"); 71 } else { 72 errors.add(ActionErrors.GLOBAL_ERROR, new ActionError("errors.action.dbfailed")); 73 actionForward = mapping.findForward("choosedblevel"); 74 } 75 } 76 } catch (Exception e) { 77 if (logger.isEnabledFor(Level.ERROR)) 78 logger.error(e.getMessage()); 79 actionForward = mapping.findForward("error"); 80 } 81 return actionForward; 82 } 83 } | Popular Tags |