KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > albel > tags > table > test > TestHsqlHandler


1 /*
2  * Class.java
3  *
4  * Created on Penktadienis, 2004, Spalio 8, 18.28
5  */

6
7 package albel.tags.table.test;
8
9 /**
10  *
11  * @author Albertas Laurinav
12  */

13 import java.sql.*;
14 import java.util.*;
15
16 public class TestHsqlHandler implements albel.tags.table.model.IRowHandler{
17     
18     private java.sql.Connection JavaDoc c;
19     private String JavaDoc sql1=
20     "CREATE MEMORY TABLE a1("+
21     "NAME VARCHAR(50),"+
22     "CNT NUMERIC);";
23     private String JavaDoc inssql=
24     "INSERT INTO A1(NAME,CNT) "+
25     "VALUES (?,?)";
26     private String JavaDoc updsql=
27     "UPDATE A1 SET NAME=?,CNT=? WHERE NAME=?";
28     private String JavaDoc selsql=
29     "SELECT NAME,CNT FROM A1";
30     private String JavaDoc delsql=
31     "DELETE FROM A1 WHERE NAME=?";
32     /** Creates a new instance of Class */
33     public TestHsqlHandler() throws Exception JavaDoc{
34         Class.forName ( "org.hsqldb.jdbcDriver" );
35         c = DriverManager.getConnection ("jdbc:hsqldb:tabletagtest", "sa", "");
36         c.setAutoCommit(true);
37         try
38         {
39             Statement stm1=c.createStatement();
40             stm1.execute(sql1);
41         }
42         catch (Exception JavaDoc e)
43         {
44             e.printStackTrace();
45         }
46     }
47     
48     public void handleCreate(albel.tags.table.model.Table t, albel.tags.table.model.Cell[] cells) throws albel.tags.table.model.TableTagException {
49         try
50         {
51             PreparedStatement pstm=c.prepareStatement(inssql);
52             pstm.setString(1, cells[0].getValue());
53             String JavaDoc v="0";
54             if(cells[1].getValue()!=null && cells[1].getValue().length()>0)
55                 v=cells[1].getValue();
56             pstm.setInt(2, Integer.parseInt(v));
57             pstm.execute();
58         }
59         catch (SQLException sex)
60         {
61             throw new albel.tags.table.model.TableTagException(sex);
62         }
63     }
64     
65     public void handleDelete(albel.tags.table.model.Row row) throws albel.tags.table.model.TableTagException {
66         try
67         {
68             PreparedStatement pstm=c.prepareStatement(delsql);
69             String JavaDoc val=row.getTable().getCell(row,"name").getValue();
70             pstm.setString(1, val);
71             pstm.execute();
72         }
73         catch (SQLException sex)
74         {
75             throw new albel.tags.table.model.TableTagException(sex);
76         }
77     }
78     
79     public java.util.List JavaDoc handleLoad() throws albel.tags.table.model.TableTagException {
80         List l=new ArrayList();
81         try
82         {
83             PreparedStatement pstm=c.prepareStatement(selsql);
84             ResultSet rs=pstm.executeQuery();
85             while (rs.next())
86             {
87                 TestBean tb=new TestBean();
88                 tb.setName(rs.getString("NAME"));
89                 tb.setCount(rs.getInt("CNT"));
90                 l.add(tb);
91             }
92             rs.close();
93             pstm.close();
94         }
95         catch (SQLException sex)
96         {
97             throw new albel.tags.table.model.TableTagException(sex);
98         }
99         return l;
100     }
101     
102     public void handleUpdate(albel.tags.table.model.Table t, albel.tags.table.model.Cell[] cells) throws albel.tags.table.model.TableTagException {
103         try
104         {
105             PreparedStatement pstm=c.prepareStatement(updsql);
106             pstm.setString(1, cells[0].getValue());
107             pstm.setInt(2, Integer.parseInt(cells[1].getValue()));
108             pstm.setString(3, t.getCell(cells[0]).getValue());
109             pstm.execute();
110         }
111         catch (SQLException sex)
112         {
113             throw new albel.tags.table.model.TableTagException(sex);
114         }
115     }
116     
117 }
118
Popular Tags