KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > contineo > actions > setup > SaveDBPathAction


1 /*
2  * StrutsAction.java
3  *
4  * Created on 16. Dezember 2003, 22:25
5  */

6
7 package org.contineo.actions.setup;
8
9 import javax.servlet.http.HttpServletRequest JavaDoc;
10 import javax.servlet.http.HttpServletResponse JavaDoc;
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 /**
27  *
28  * @author Michael Scholz
29  * @version 1.0
30  */

31 public class SaveDBPathAction extends Action {
32
33     private Logger logger;
34
35     /** Creates a new instance of StrutsAction */
36     public SaveDBPathAction() {
37         logger = LoggingManager.getLogger(this.getClass());
38     }
39
40     public ActionForward execute(ActionMapping mapping,
41                     ActionForm form, HttpServletRequest JavaDoc request,
42                     HttpServletResponse JavaDoc response) {
43         ActionForward actionForward = new ActionForward();
44         ActionErrors errors = new ActionErrors();
45         try {
46             String JavaDoc 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 JavaDoc 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 JavaDoc 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