KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > quikj > application > web > talk > plugin > SessionJoinCDR


1 /*
2  * SessionCDR.java
3  *
4  * Created on June 29, 2002, 3:38 PM
5  */

6
7 package com.quikj.application.web.talk.plugin;
8
9 import java.util.*;
10 import java.sql.*;
11
12 /**
13  *
14  * @author amit
15  */

16 public class SessionJoinCDR implements CDRInterface
17 {
18     // database table name constant
19
private static final String JavaDoc SESSION_JOIN_CDR_TABLE_NAME = "cdr_session_join_tbl";
20     
21     // database table column name constants
22
private static final String JavaDoc FIRST_SESSION = "first_session";
23     private static final String JavaDoc TIMESTAMP = "time_stamp";
24     private static final String JavaDoc MORE_SESSIONS = "more_sessions";
25     
26     private ArrayList sessions = new ArrayList();
27     private int code;
28     private java.util.Date JavaDoc timestamp;
29
30     
31     /** Creates a new instance of SessionCDR */
32     public SessionJoinCDR(String JavaDoc session)
33     {
34         timestamp = new java.util.Date JavaDoc();
35         
36         if (session != null)
37         {
38             sessions.add(session);
39         }
40     }
41     
42     public SessionJoinCDR()
43     {
44         this(null);
45     }
46     
47     public void addSession(String JavaDoc session)
48     {
49         sessions.add(session);
50     }
51     
52     public PreparedStatement generateSQLCDR()
53     throws SQLException
54     {
55         Iterator iter = sessions.iterator();
56         
57         String JavaDoc first = (String JavaDoc)iter.next();
58         
59         StringBuffer JavaDoc buffer = new StringBuffer JavaDoc("insert into "
60         + SESSION_JOIN_CDR_TABLE_NAME
61         + " values (?, ?, ?)");
62         
63         PreparedStatement ps = CDRHandler.getInstance().getConnection().prepareStatement(buffer.toString());
64         ps.setString(1, first);
65         ps.setTimestamp(2, new java.sql.Timestamp JavaDoc(timestamp.getTime()));
66       
67         buffer = new StringBuffer JavaDoc();
68         while(iter.hasNext() == true)
69         {
70             String JavaDoc id = (String JavaDoc)iter.next();
71             buffer.append(id);
72             if (iter.hasNext() == true)
73             {
74                 buffer.append(',');
75             }
76         }
77           
78         ps.setString(3, buffer.toString());
79         return ps;
80     }
81     
82     public String JavaDoc generateXMLCDR()
83     {
84         Iterator iter = sessions.iterator();
85         
86         String JavaDoc first = (String JavaDoc)iter.next();
87         
88         StringBuffer JavaDoc buffer = new StringBuffer JavaDoc("<CDR type=\"session-join\" session=\""
89         + first
90         + "\" time-stamp=\"" + timestamp.getTime() + "\">\n");
91         
92         while(iter.hasNext() == true)
93         {
94             String JavaDoc id = (String JavaDoc)iter.next();
95             buffer.append("<session id=\"" + id + "\"/>\n");
96         }
97         
98         buffer.append("</CDR>\n");
99         return buffer.toString();
100     }
101 }
102
Popular Tags