KickJava   Java API By Example, From Geeks To Geeks.

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


1 /*
2  * ChangePasswordAction.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 import org.apache.log4j.Level;
12 import org.apache.log4j.Logger;
13 import org.apache.struts.action.Action;
14 import org.apache.struts.action.ActionError;
15 import org.apache.struts.action.ActionErrors;
16 import org.apache.struts.action.ActionForm;
17 import org.apache.struts.action.ActionForward;
18 import org.apache.struts.action.ActionMapping;
19 import org.contineo.core.LoggingManager;
20 import org.contineo.core.config.RepositoryConfigurator;
21 import org.contineo.forms.ConnectionForm;
22 import org.contineo.setup.DBInit;
23 import org.contineo.setup.DBProtocol;
24 /**
25  *
26  * @author Michael Scholz
27  * @version 1.0
28  */

29 public class SetDBAction extends Action {
30
31     /**
32      * @uml.property name="logger"
33      * @uml.associationEnd
34      */

35     private Logger logger;
36
37     
38     /** Creates a new instance of ChangePasswordAction */
39     public SetDBAction() {
40         logger = LoggingManager.getLogger(this.getClass());
41     }
42     
43     public ActionForward execute(ActionMapping mapping,
44             ActionForm form, HttpServletRequest JavaDoc request,
45             HttpServletResponse JavaDoc response) {
46         ActionErrors errors = new ActionErrors();
47         ActionForward actionForward = new ActionForward();
48         try {
49             ConnectionForm cform = (ConnectionForm)form;
50             RepositoryConfigurator conf = new RepositoryConfigurator();
51             conf.setAttribute("contineo", "dbalias", cform.getDbalias());
52             conf.setAttribute("contineo", "platform", cform.getDbms());
53             conf.setAttribute("contineo", "default-connection", "true");
54             conf.setAttribute("contineo", "driver", cform.getClazz());
55             conf.setAttribute("contineo", "password", cform.getPassword());
56             conf.setAttribute("contineo", "protocol", cform.getProtocol());
57             conf.setAttribute("contineo", "subprotocol", cform.getSubprotocol());
58             conf.setAttribute("contineo", "username", cform.getUser());
59             conf.toXML();
60             DBInit init;
61             if (cform.getDbms().equals("MySQL"))
62                 init = new DBInit("mysql.sql");
63             else
64                 if (cform.getDbms().equals("Firebird"))
65                     init = new DBInit("firebird.sql");
66                 else
67                     init = new DBInit("sql92.sql");
68             if (init.testConnection()) {
69                 String JavaDoc result = init.generate();
70                 DBProtocol prot = new DBProtocol();
71                 prot.setLogs(result);
72                 request.setAttribute("protocol", prot);
73                 actionForward = mapping.findForward("initdb");
74             } else {
75                 errors.add(ActionErrors.GLOBAL_ERROR, new ActionError("errors.action.dbfailed"));
76                 actionForward = mapping.findForward("choosedb");
77             }
78         } catch (Exception JavaDoc e) {
79             if (logger.isEnabledFor(Level.ERROR))
80                 logger.error(e.getMessage());
81             actionForward = mapping.findForward("error");
82         }
83         saveErrors(request, errors);
84         return actionForward;
85     }
86 }
87
Popular Tags