/*
* TestContextLogServlet - PWC 1.0 GENE21 (bug 4781119). Log
* ServletContext.log() message as "INFO" messages.
*/
package servlet_tests;
import java.io.*;
import java.util.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class TestContextLogServlet extends HttpServlet {
private ServletContext context;
private File baseDir = null;
private String logFile = null;
private String fullLogFileName = null;
private String serverType = null;
private String str = null;
public void doGet(HttpServletRequest request,
HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html");
PrintWriter out = response.getWriter();
out.println("");
out.println("
");
out.println("TestContextLogServlet
");
ServletContext servletContext = getServletContext();
//get the file name from the request parameter
serverType = (String) request.getParameter("serverType");
logFile = (String) request.getParameter("logFile");
if (serverType == null) {
out.println("Test FAILED: parameter serverType is null, it should "
+ "be either s1as8, jwsdp, s1ws, or tomcat
");
} else if (logFile == null) {
out.println("Test FAILED: parameter logFile is null
");
} else if (servletContext != null) {
// Get the base directory for the temp working files
baseDir = (File) servletContext.getAttribute(
"javax.servlet.context.tempdir");
// Get the full path name of server.log
String logBaseDir = null;
if (serverType.equals("s1as8")) {
String baseDirString = baseDir.toString();
System.out.println("base dir is : " + baseDirString);
logBaseDir = baseDirString.substring(0, baseDirString.indexOf(
"generated"));
logBaseDir = logBaseDir + "logs" + baseDir.separator;
System.out.println("logBaseDir is : " + logBaseDir);
}
fullLogFileName = logBaseDir + logFile;
// Test the servletContext.log()
String message = "Log message from TestContextLogServlet.doGet()";
servletContext.log(message);
// Check the server.log for this INFO message
boolean found = false;
try {
BufferedReader in = new BufferedReader(new FileReader(
fullLogFileName));
String s = null;
while ((s = in.readLine()) != null) {
if (s.indexOf(message) > -1 && s.indexOf("INFO") > -1) {
found = true;
break;
}
}
in.close();
if (found) {
out.println("Test PASSED: found \"" + message + "\"" +
" in server.log
");
// out.println("s = \"" + s + "\"");
} else {
out.println("Test FAILED: can't find \"" + message + "\"" +
" in server.log
");
}
} catch (Exception e) {
e.printStackTrace(out);
}
} else {
if (servletContext == null) {
out.println("Test FAILED: servletContext is null
");
}
}
out.println("");
out.println("");
out.flush();
out.close();
}
}