/*
* Copyright (C) 2000 - 2008 TagServlet Ltd
*
* This file is part of Open BlueDragon (OpenBD) CFML Server Engine.
*
* OpenBD is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* Free Software Foundation,version 3.
*
* OpenBD is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with OpenBD. If not, see http://www.gnu.org/licenses/
*
* Additional permission under GNU GPL version 3 section 7
*
* If you modify this Program, or any covered work, by linking or combining
* it with any of the JARS listed in the README.txt (or a modified version of
* (that library), containing parts covered by the terms of that JAR, the
* licensors of this Program grant you additional permission to convey the
* resulting work.
* README.txt @ http://www.openbluedragon.org/license/README.txt
*
* http://www.openbluedragon.org/
*/
package com.naryx.tagfusion.util;
/**
* This class is for collating and dumping all the debug info
*/
import com.naryx.tagfusion.cfm.engine.cfEngine;
import com.naryx.tagfusion.cfm.engine.cfSession;
import com.naryx.tagfusion.cfm.engine.cfStructData;
import com.naryx.tagfusion.cfm.engine.cfmRunTimeException;
import com.naryx.tagfusion.cfm.engine.variableStore;
class debugInfo{
public void dump( cfSession session ){
//--] Collate Debug data and display it in a <table>
try{
cfStructData serverscope = (cfStructData) session.getQualifiedData( variableStore.SERVER_SCOPE );
String prodVersion = serverscope.getData( "coldfusion" ).getData( "productversion" ).getString();
String prodLevel = cfEngine.PRODUCT_NAME + " " + serverscope.getData( "coldfusion" ).getData( "productlevel" ).getString();
cfStructData cgiscope = (cfStructData) session.getQualifiedData( variableStore.CGI_SCOPE );
String template = cgiscope.getData( "script_name" ).getString();
String userAgent = cgiscope.getData( "http_user_agent" ).getString();
String remoteIP = cgiscope.getData( "remote_addr" ).getString();
String hostname = cgiscope.getData( "remote_host" ).getString();
String timestamp = com.nary.util.Date.formatNow( "dd-MMM-yy hh:mm a" );
session.write( "<HR><b><div class=\"debughdr\">Debugging Information</div></b>\n" );
session.write( "<table class=\"debug\">\n" );
session.write( "<tr>\n" );
session.write( " <td class=\"debug\" nowrap> " + prodLevel + " </td>\n" );
session.write( " <td class=\"debug\">" + prodVersion + "</td>\n" );
session.write( "</tr>\n" );
session.write( "<tr>\n" );
session.write( " <td class=\"debug\" nowrap> Template </td>\n" );
session.write( " <td class=\"debug\">" + template + "</td>\n" );
session.write( "</tr>\n" );
session.write( "<tr>\n" );
session.write( " <td class=\"debug\" nowrap> Time stamp </td>\n" );
session.write( " <td class=\"debug\" nowrap>" + timestamp + "</td>\n" );
session.write( "</tr>\n" );
session.write( "<tr>\n" );
session.write( " <td class=\"debug\" nowrap> Locale </td>\n" );
session.write( " <td class=\"debug\" nowrap>" + session.getLocaleDisplayName() + "</td>\n" );
session.write( "</tr>\n" );
session.write( "<tr>\n" );
session.write( " <td class=\"debug\" nowrap> User Agent </td>\n" );
session.write( " <td class=\"debug\" nowrap>" + userAgent + "</td>\n" );
session.write( "</tr>\n" );
session.write( "<tr>\n" );
session.write( " <td class=\"debug\" nowrap> Remote IP </td>\n" );
session.write( " <td class=\"debug\" nowrap>" + remoteIP + "</td>\n" );
session.write( "</tr>\n" );
session.write( "<tr>\n" );
session.write( " <td class=\"debug\" nowrap> Host Name </td>\n" );
session.write( " <td class=\"debug\" nowrap>" + hostname + "</td>\n" );
session.write( "</tr>\n" );
session.write( "</table>\n" );
}catch( cfmRunTimeException e ){}
}
}