4686l5

Listing 5. Weblog.java

package il.co.lerner;

import java.io.*;
import java.text.*;
import java.util.*;
import java.sql.*;

public class Weblog implements java.io.Serializable {

    // field for JDBC connections -- not thread-safe!
    Connection con;

    // we will make these login parameters fields as well
    String loginJdbc = "org.postgresql.Driver";
    String loginUser = "reuven";
    String loginPasswd = "";
    String loginUrl = "jdbc:postgresql://localhost/atf";

    // ------------------------------------------------------------
    // Constructor

    public Weblog () 
	throws ClassNotFoundException, SQLException    
    {
	Class.forName(loginJdbc);
	con = DriverManager.getConnection(loginUrl, 
					  loginUser, loginPasswd);
    }

    // ------------------------------------------------------------
    public String getBlog ()
	throws SQLException
    {
	// Initialize a variable for returning stuff
	String returnString = "";

	synchronized (con) 
	    {
		// Declare our statement
		Statement statement = con.createStatement();

		String query = "SELECT entry_date, entry_headline, ";
		query +=       "       entry_text ";
		query +=       "FROM   BlogEntries ";
		query +=       "ORDER BY entry_date DESC ";
	
		// Perform the query
		ResultSet rs = statement.executeQuery(query);

		while (rs.next()) {
		    
		    returnString +=

			"<tr>" +
			"<td> " + rs.getString("entry_date") + "</td>" +
			"<td> " + rs.getString("entry_headline") + "</td>" +
			"<td> " + rs.getString("entry_text") + "</td>" +
			"</tr>";
		}
	    }

	return returnString;
    }
}

