D:\jakarta-tomcat-4.0-b7\webapps\poolman\poolman-raw.jsp

<html> 
<head> 
    <title>The Code Studio: PoolMan JSP Database Client</title> 
</head> 
 
<jsp:useBean  
	id="poolman" 
	class="com.codestudio.bean.PoolManBean" 
	scope="session"> 
</jsp:useBean> 
 
<%@ page import="java.sql.*" %> 
<%@ page import="java.util.*" %> 
 
<body bgcolor="#ffffff"> 
 
<center> 
<table border=0 cellpadding=6 cellspacing=1> 
 
<tr valign=top><td> 
<font face="Helvetica","Arial" size="5" color="#000080"> 
<b>PoolMan JSP Database Client</b> 
<br> 
</font> 
<font face="Helvetica","Arial" size="2" color="#808080"> 
<i>PoolMan v2.1</i><br><br> 
</font> 
<br><br> 
</td> 
</tr> 
 
<!-- QUERY--> 
<form action="PoolMan.jsp" method="post"> 
 
<tr><td bgcolor="gray"> 
<table cellpadding=2 cellspacing=0 width=100%> 
 
<tr> 
<td bgcolor="lightgrey" align="center" colspan="2"> 
	<font face="Helvetica","Arial" size="4"> 
	<b>SQL Statement</b> 
	</font> 
</td> 
</tr> 
 
<tr> 
<td bgcolor="lightgrey"> 
	<font face="Helvetica","Arial"> 
	<b>Use Database Pool:</b> 
	</font> 
</td> 
 
<td bgcolor="lightgrey"> 
<font face="Helvetica","Arial"> 
<SELECT NAME="poolname"> 
 
	<% 
 
	String selectedPool = ""; 
	try { 
		selectedPool = (String) request.getParameter("poolname"); 
		if (selectedPool.length() > 1) 
			poolman.setCurrentPoolname(selectedPool); 
		selectedPool = poolman.getCurrentPoolname(); 
	} catch (Exception e) {} 
 
	boolean poolSelected = false; 
 
	try { 
		for (Enumeration enum=poolman.getAllPoolnames(); enum.hasMoreElements(); ) { 
			String nextpool = (String) enum.nextElement(); 
			if (nextpool.equals(selectedPool)) 
				out.println("<OPTION SELECTED>" + nextpool); 
			else 
				out.println("<OPTION>" + nextpool); 
		} 
	} catch (Exception e) { 
		out.println("<b><i>No Pools Found</i><br>"); 
		out.println("Please verify that poolman.xml is in your app server's CLASSPATH.<br>"); 
	} 
	 
	%> 
 
</SELECT> 
</font> 
</td> 
</tr> 
 
<tr> 
<td bgcolor="lightgrey"> 
<font face="Helvetica","Arial"> 
	<b>Enter SQL:</b> 
</font> 
</td> 
 
<td bgcolor="lightgrey"> 
<font face="Helvetica","Arial"> 
	<% 
	 
	try { 
		poolman.setQuery((String) request.getParameter("query")); 
	} catch (Exception e) {} 
 
         if ((poolman.getQuery() != null) && (poolman.getQuery().length() > 0))  
	        out.println("<input name=\"query\" value=\"" + poolman.getQuery() + "\" size=\"50\">"); 
	     else 
	        out.println("<input name=\"query\" size=\"50\">"); 
	 
	%> 
 
</font> 
</td> 
</tr> 
 
<tr> 
<td bgcolor="lightgrey" align="center" colspan="2"> 
	<font face="Helvetica","Arial"> 
		<input type="Submit" value="Execute SQL"> 
	</font> 
</td> 
</tr> 
</table> 
 
</td> 
</tr> 
</form> 
 
<!-- RESULTS--> 
 
<% 
 
    try { 
 
    if ((poolman.getQuery() != null) && (poolman.getQuery().length() > 0)) { 
 
	out.println("<tr valign=\"top\"><td bgcolor=\"gray\" align=\"center\">"); 
 
	out.println("<table cellpadding=\"10\" cellspacing=\"0\" width=\"100%\">"); 
 
	out.println("<tr valign=\"top\"><td bgcolor=\"lightgrey\" colspan=\"2\" align=\"center\">"); 
	out.println("<font face=\"Helvetica\",\"Arial\" size=\"4\">"); 
	out.println("<b>SQL Results</b></font><p>"); 
	out.println("</td></tr>"); 
 
	out.println("<tr valign=\"top\">"); 
 
	out.println("<td bgcolor=\"lightgrey\">"); 
 
	out.println("<font face=\"Helvetica\",\"Arial\">"); 
	out.println("<b><u>ResultSet</u></b>"); 
	out.println("</font><br>"); 
	 
	try { 
 
     	java.util.Hashtable[] results = poolman.getResults(); 
 
        out.println("<table cellpadding=\"1\" cellspacing=\"2\" border=\"1\">"); 
 
        // print the header 
        Hashtable header = results[0]; 
        out.println("<tr>"); 
 
        for (Enumeration enum=header.keys(); enum.hasMoreElements(); ) { 
            String column = enum.nextElement().toString(); 
            out.println("<td bgcolor=\"white\">"); 
            out.println("<font face=\"Helvetica\",\"Arial\" size=\"4\"><b>"); 
            out.println(column); 
            out.println("</b></font></td>"); 
      	} 
        out.println("</tr>"); 
 
        // print the rest of the results 
        for (int i=0; i<results.length; i++) { 
            Hashtable row = results[i]; 
            out.println("<tr>"); 
            for (Enumeration enum=row.keys(); enum.hasMoreElements(); ) { 
                String column = enum.nextElement().toString(); 
                // print the results by row 
                out.println("<td bgcolor=\"white\"><font face=\"Helvetica\",\"Arial\" size=\"3\">"); 
                out.println(row.get(column).toString()); 
                out.println("</font></td>"); 
            } 
            out.println("</tr>"); 
        } 
 
	out.println("</table>"); 
 
	} catch (NullPointerException npe) { 
		    out.println("<br><font face=\"Helvetica\",\"Arial\">"); 
		    out.println("Empty ResultSet<br>"); 
 
	} catch (SQLException sqle) { 
		    out.println("<br><font face=\"Helvetica\",\"Arial\">"); 
		    out.println("ERROR: SQLException thrown.<br>"); 
		    out.println(sqle.getMessage()); 
		    sqle.printStackTrace(); 
 
	} catch (Exception hre) { 
		out.println("<br><font face=\"Helvetica\",\"Arial\">"); 
		out.println("ERROR: Unable to process query.<br>" + 
			"Please verify that poolman.jar and your JDBC Driver " + 
			"are in your application server's CLASSPATH.<p>If the " + 
			"problem continues, try testing your database and JDBC " + 
			"configuration via PoolManSample from the command line."); 
		out.println("</font>"); 
	} 
 
	out.println("</td>"); 
 
	com.codestudio.util.JDBCPool active_pool = poolman.getCurrentPool(); 
 
	out.println("<td bgcolor=\"lightgrey\">"); 
	out.println("<font face=\"Helvetica\",\"Arial\">"); 
	out.println("<b><u>PoolMan Info</u></b><br>"); 
    	out.println("<br>Number of queries this session: " + poolman.getQueryNumber());  
     	out.println("<br>Last Statement: " + poolman.getQuery()); 
	out.println("<br>Database pool: " + poolman.getCurrentPoolname()); 
	if (active_pool.usingCache()) 
		out.println("<br>Using cache: TRUE"); 
	else 
		out.println("<br>Using cache: FALSE"); 
 
	out.println("<br>DB URL: " + active_pool.getURL()); 
	out.println("<br>DB Driver: " + active_pool.getDriver()); 
	out.println("<br>DB User: " + active_pool.getUserName()); 
	 
	out.println("<br><br><b><u>PoolMan Metrics</u></b><br>"); 
	out.println("<br>Active connections in this pool: " +  
		active_pool.numTotalObjects()); 
	out.println("<br>Available Connections: " + 
		active_pool.numCheckedInObjects()); 
	out.println("<br>Unavailable Connections (currently in use): " + 
		active_pool.numCheckedOutObjects() + "</b><p>"); 
	out.println("</font>"); 
 
	out.println("</td>"); 
 
	out.println("</tr></table>"); 
    } 
 
    } catch (Exception e) {  
	out.println("<tr><td bgcolor=\"gray\">"); 
	out.println("<font face=\"Helvetica\",\"Arial\">"); 
	out.println("ERROR: Unable to process query.<br>" + 
		"Please verify that poolman.jar and your JDBC Driver " + 
		"are in your application server's CLASSPATH."); 
	out.println("</td></tr>"); 
    } 
 
%> 
 
</table> 
</center> 
</body> 
</html>