package com.dotj.test;
import com.dotj.base.Settings;
import com.dotj.io.SQLTag;
import java.util.ArrayList;
import java.util.Properties;
import java.sql.*;
/**
* Sample class to retrieve messages from the dotJ Jive forum table.
*/
public class MessageManager {
private String _driver = null;
private String _url = null;
private String _userid = null;
private String _password = null;
public MessageManager(String driver, String url, String userid, String password) {
_driver = driver;
_url = url;
_userid = userid;
_password = password;
}
public MessageManager(SQLTag tag, Properties dbProperties) {
_driver = dbProperties.getProperty(tag.getSetting(Settings.SETTING_SQL_KEY_DATABASE_DRIVER, "databaseDriver"), "driver not set");
_url = dbProperties.getProperty(tag.getSetting(Settings.SETTING_SQL_KEY_DATABASE_URI, "databaseURI"), "uri not set");
_userid = dbProperties.getProperty(tag.getSetting(Settings.SETTING_SQL_KEY_DATABASE_USERID, "databaseUserid"), "");
_password = dbProperties.getProperty(tag.getSetting(Settings.SETTING_SQL_KEY_DATABASE_PASSWORD, "databasePassword"), "");
}
public ArrayList getMessages(int maxRecords) throws SQLException {
ArrayList messageList = null;
messageList = new ArrayList();
Message message = null;
Connection conn = null;
Statement stmt = null;
ResultSet rs = null;
int i = 1;
try {
Class.forName(_driver);
conn = DriverManager.getConnection(_url, _userid, _password);
stmt = conn.createStatement();
rs = stmt.executeQuery("SELECT messageID, subject, userID, modifiedDate FROM jiveMessage ORDER BY messageID");
while (rs.next()) {
if (i <= maxRecords) {
message = new Message();
message.setId(rs.getLong("messageID"));
message.setSubject(rs.getString("subject"));
message.setUserid(rs.getString("userID"));
message.setModifiedDate(rs.getString("modifiedDate"));
messageList.add(message);
}
i++;
}
} catch (ClassNotFoundException cnfe) {
throw new SQLException(cnfe.getMessage());
} catch (SQLException sqle) {
throw sqle;
} finally {
try {
if (rs != null)
rs.close();
if (stmt != null)
stmt.close();
if (conn != null)
conn.close();
} catch (Exception e) {
; // Eat the exception
}
}
return messageList;
}
public Message getMessage(int messageId) throws SQLException {
Message message = null;
Connection conn = null;
Statement stmt = null;
ResultSet rs = null;
try {
Class.forName(_driver);
conn = DriverManager.getConnection(_url, _userid, _password);
stmt = conn.createStatement();
rs = stmt.executeQuery("SELECT messageID, subject, userID, modifiedDate FROM jiveMessage WHERE messageID = " + messageId);
if (rs.next()) {
message = new Message();
message.setId(rs.getLong("messageID"));
message.setSubject(rs.getString("subject"));
message.setUserid(rs.getString("userID"));
message.setModifiedDate(rs.getString("modifiedDate"));
}
} catch (ClassNotFoundException cnfe) {
throw new SQLException(cnfe.getMessage());
} catch (SQLException sqle) {
throw sqle;
} finally {
try {
if (rs != null)
rs.close();
if (stmt != null)
stmt.close();
if (conn != null)
conn.close();
} catch (Exception e) {
; // Eat the exception
}
}
return message;
}
}