KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > net > killingar > forum > internal > caches > PollAlternativesCache


1 /* Copyright 2000-2005 Anders Hovmöller
2  *
3  * The person or persons who have associated their work with
4  * this document (the "Dedicator") hereby dedicate the entire
5  * copyright in the work of authorship identified below (the
6  * "Work") to the public domain.
7  *
8  * Dedicator makes this dedication for the benefit of the
9  * public at large and to the detriment of Dedicator's heirs
10  * and successors. Dedicator intends this dedication to be an
11  * overt act of relinquishment in perpetuity of all present
12  * and future rights under copyright law, whether vested or
13  * contingent, in the Work. Dedicator understands that such
14  * relinquishment of all rights includes the relinquishment of
15  * all rights to enforce (by lawsuit or otherwise) those
16  * copyrights in the Work.
17  *
18  * Dedicator recognizes that, once placed in the public
19  * domain, the Work may be freely reproduced, distributed,
20  * transmitted, used, modified, built upon, or otherwise
21  * exploited by anyone for any purpose, commercial or non-
22  * commercial, and in any way, including by methods that have
23  * not yet been invented or conceived.
24  */

25
26 /**
27  * Cache for polls
28  */

29 package net.killingar.forum.internal.caches;
30
31 import net.killingar.forum.internal.IDItem;
32 import net.killingar.forum.internal.PollAlternative;
33
34 import java.sql.Connection JavaDoc;
35 import java.sql.PreparedStatement JavaDoc;
36 import java.sql.ResultSet JavaDoc;
37 import java.sql.SQLException JavaDoc;
38
39 public class PollAlternativesCache extends AbstractIDItemCache
40 {
41     public synchronized PollAlternative getPollAlternative(long pollID) throws SQLException JavaDoc
42     {
43         return (PollAlternative)get(pollID);
44     }
45
46     protected IDItem getObjectFromRow(ResultSet JavaDoc result) throws SQLException JavaDoc
47     {
48         return new PollAlternative(
49             result.getLong(1),
50             result.getLong(2),
51             result.getString(3),
52             result.getString(4),
53             result.getLong(5));
54     }
55
56     protected PreparedStatement JavaDoc createStatement(Connection JavaDoc c) throws SQLException JavaDoc
57     {
58         PreparedStatement JavaDoc statement = c.prepareStatement(
59             "select "+
60                     "PollAlternatives.ID, "+
61                     "PollAlternatives.Poll, "+
62                     "PollAlternatives.Alternative, "+
63                     "PollAlternatives.Color, "+
64                     "count(PollAnswers.Reply) "+
65                 "from "+
66                     "PollAlternatives "+
67                 "left join PollAnswers on PollAlternatives.ID = PollAnswers.Reply "+
68                 "where "+
69                     "PollAlternatives.LastChanged > ? "+
70                 "group by "+
71                     "PollAlternatives.ID ");
72
73         statement.setTimestamp(1, latestUpdate);
74
75         return statement;
76     }
77 }
78
Popular Tags