KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > geinuke > action > InstallAction


1 package com.geinuke.action;
2
3 import java.util.HashMap JavaDoc;
4
5 import javax.servlet.http.HttpServletRequest JavaDoc;
6 import javax.servlet.http.HttpServletResponse JavaDoc;
7
8 import org.apache.velocity.context.Context;
9
10 import com.geinuke.util.TextUtil;
11 import com.ibatis.common.jdbc.ScriptRunner;
12 import com.ibatis.common.resources.Resources;
13 import com.magic.servlet.action.MagicAction;
14
15 import java.io.Reader JavaDoc;
16 import java.sql.*;
17
18 public class InstallAction extends MagicAction {
19
20     protected HashMap JavaDoc paths=null,drivers=null;
21     
22     public InstallAction(){
23         super();
24         drivers=new HashMap JavaDoc();
25         drivers.put("hsqldb","org.hsqldb.jdbcDriver");
26         drivers.put("mysql","org.gjt.mm.mysql.Driver");
27         
28         paths=new HashMap JavaDoc();
29         paths.put("hsqldb","./dbinst/hsqldb.sql");
30         paths.put("mysql","./dbinst/mysql.sql");
31             
32     }
33     
34     protected String JavaDoc check(Context ctx,HttpServletRequest JavaDoc req){
35         String JavaDoc ris=null;
36         
37         String JavaDoc dbType=req.getParameter("dbType");
38         String JavaDoc dbURL=req.getParameter("dbURL");
39         String JavaDoc dbUser=req.getParameter("dbUser");
40         String JavaDoc dbPassw=req.getParameter("dbPassw");
41         System.out.println(dbType+" "+dbURL+" "+dbUser+" "+dbPassw);
42         if(TextUtil.isEmpty(dbType) || TextUtil.isEmpty(dbURL)
43                 || TextUtil.isEmpty(dbUser) ){
44             
45             ris="error";
46         }else{
47             ris="ok";
48         }
49         System.out.println("ris="+ris);
50         
51         return ris;
52     }
53     
54     protected Connection getConnection(HttpServletRequest JavaDoc req) throws Exception JavaDoc{
55         Connection con=null;
56         String JavaDoc dbType=req.getParameter("dbType");
57         String JavaDoc dbURL=req.getParameter("dbURL");
58         String JavaDoc dbUser=req.getParameter("dbUser");
59         String JavaDoc dbPassw=TextUtil.normString(req.getParameter("dbPassw"));
60         
61         String JavaDoc driver=(String JavaDoc)drivers.get(dbType);
62         Class.forName(driver);
63         con=DriverManager.getConnection(dbURL,dbUser,dbPassw);
64         return con;
65     }
66     
67     
68     protected String JavaDoc getTemplateString(Context ctx, HttpServletRequest JavaDoc req, HttpServletResponse JavaDoc res) throws Exception JavaDoc {
69         String JavaDoc ris=null;
70         String JavaDoc checkk=this.check(ctx,req);
71         if(checkk!=null && checkk.equals("ok") ){
72             Connection con=null;
73             try{
74
75                 con=this.getConnection(req);
76                 ScriptRunner script=new ScriptRunner();
77                 String JavaDoc path=(String JavaDoc)this.paths.get(req.getParameter("dbType"));
78                 Reader JavaDoc reader = Resources.getResourceAsReader (path);
79                 script.runScript(con,reader);
80                 ris="./install/ok.vm";
81             }catch(Exception JavaDoc e){
82                 ris="./install/error.vm";
83                 e.printStackTrace();
84                 ctx.put("dbError","y");
85             }finally{
86                 if(con!=null)
87                     con.close();
88             }
89         }else{
90             ris="./install/error.vm";
91             ctx.put("error","y");
92         }
93         return ris;
94     }
95
96 }
Popular Tags