Debug.jsp revision df387df0958751f2d39e4e69c070ddd544b83f42
099524d7b0df690e3361ffc3fe3c6aed0558b4fcLennart Poettering<%--
099524d7b0df690e3361ffc3fe3c6aed0558b4fcLennart Poettering DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
099524d7b0df690e3361ffc3fe3c6aed0558b4fcLennart Poettering
099524d7b0df690e3361ffc3fe3c6aed0558b4fcLennart Poettering Copyright (c) 2006 Sun Microsystems Inc. All Rights Reserved
099524d7b0df690e3361ffc3fe3c6aed0558b4fcLennart Poettering
099524d7b0df690e3361ffc3fe3c6aed0558b4fcLennart Poettering The contents of this file are subject to the terms
099524d7b0df690e3361ffc3fe3c6aed0558b4fcLennart Poettering of the Common Development and Distribution License
099524d7b0df690e3361ffc3fe3c6aed0558b4fcLennart Poettering (the License). You may not use this file except in
099524d7b0df690e3361ffc3fe3c6aed0558b4fcLennart Poettering compliance with the License.
099524d7b0df690e3361ffc3fe3c6aed0558b4fcLennart Poettering
099524d7b0df690e3361ffc3fe3c6aed0558b4fcLennart Poettering You can obtain a copy of the License at
099524d7b0df690e3361ffc3fe3c6aed0558b4fcLennart Poettering https://opensso.dev.java.net/public/CDDLv1.0.html or
099524d7b0df690e3361ffc3fe3c6aed0558b4fcLennart Poettering opensso/legal/CDDLv1.0.txt
099524d7b0df690e3361ffc3fe3c6aed0558b4fcLennart Poettering See the License for the specific language governing
099524d7b0df690e3361ffc3fe3c6aed0558b4fcLennart Poettering permission and limitations under the License.
099524d7b0df690e3361ffc3fe3c6aed0558b4fcLennart Poettering
099524d7b0df690e3361ffc3fe3c6aed0558b4fcLennart Poettering When distributing Covered Code, include this CDDL
099524d7b0df690e3361ffc3fe3c6aed0558b4fcLennart Poettering Header Notice in each file and include the License file
099524d7b0df690e3361ffc3fe3c6aed0558b4fcLennart Poettering at opensso/legal/CDDLv1.0.txt.
099524d7b0df690e3361ffc3fe3c6aed0558b4fcLennart Poettering If applicable, add the following below the CDDL Header,
099524d7b0df690e3361ffc3fe3c6aed0558b4fcLennart Poettering with the fields enclosed by brackets [] replaced by
099524d7b0df690e3361ffc3fe3c6aed0558b4fcLennart Poettering your own identifying information:
099524d7b0df690e3361ffc3fe3c6aed0558b4fcLennart Poettering "Portions Copyrighted [year] [name of copyright owner]"
099524d7b0df690e3361ffc3fe3c6aed0558b4fcLennart Poettering
099524d7b0df690e3361ffc3fe3c6aed0558b4fcLennart Poettering $Id: Debug.jsp,v 1.15 2009/01/28 05:35:06 ww203982 Exp $
592fd144ae313855f48d0ca52a103013b41e5d59Lennart Poettering
099524d7b0df690e3361ffc3fe3c6aed0558b4fcLennart Poettering--%>
099524d7b0df690e3361ffc3fe3c6aed0558b4fcLennart Poettering
099524d7b0df690e3361ffc3fe3c6aed0558b4fcLennart Poettering<%--
099524d7b0df690e3361ffc3fe3c6aed0558b4fcLennart Poettering Portions Copyrighted 2010-2012 ForgeRock Inc
099524d7b0df690e3361ffc3fe3c6aed0558b4fcLennart Poettering--%>
099524d7b0df690e3361ffc3fe3c6aed0558b4fcLennart Poettering
099524d7b0df690e3361ffc3fe3c6aed0558b4fcLennart Poettering<%@ page pageEncoding="UTF-8" %>
099524d7b0df690e3361ffc3fe3c6aed0558b4fcLennart Poettering<%@ page
099524d7b0df690e3361ffc3fe3c6aed0558b4fcLennart Poettering import="
099524d7b0df690e3361ffc3fe3c6aed0558b4fcLennart Poettering com.iplanet.sso.SSOException,
099524d7b0df690e3361ffc3fe3c6aed0558b4fcLennart Poettering com.iplanet.sso.SSOToken,
099524d7b0df690e3361ffc3fe3c6aed0558b4fcLennart Poettering com.iplanet.sso.SSOTokenManager,
099524d7b0df690e3361ffc3fe3c6aed0558b4fcLennart Poettering com.iplanet.am.util.SystemProperties,
099524d7b0df690e3361ffc3fe3c6aed0558b4fcLennart Poettering com.sun.identity.common.DNUtils,
099524d7b0df690e3361ffc3fe3c6aed0558b4fcLennart Poettering com.sun.identity.idm.AMIdentity,
099524d7b0df690e3361ffc3fe3c6aed0558b4fcLennart Poettering com.sun.identity.idm.IdRepoException,
099524d7b0df690e3361ffc3fe3c6aed0558b4fcLennart Poettering com.sun.identity.idm.IdType,
592fd144ae313855f48d0ca52a103013b41e5d59Lennart Poettering com.sun.identity.idm.IdUtils,
099524d7b0df690e3361ffc3fe3c6aed0558b4fcLennart Poettering com.sun.identity.shared.debug.Debug,
099524d7b0df690e3361ffc3fe3c6aed0558b4fcLennart Poettering com.sun.identity.shared.encode.Hash,
099524d7b0df690e3361ffc3fe3c6aed0558b4fcLennart Poettering java.text.MessageFormat,
099524d7b0df690e3361ffc3fe3c6aed0558b4fcLennart Poettering java.util.ArrayList,
099524d7b0df690e3361ffc3fe3c6aed0558b4fcLennart Poettering java.util.Enumeration,
099524d7b0df690e3361ffc3fe3c6aed0558b4fcLennart Poettering java.util.Collections,
099524d7b0df690e3361ffc3fe3c6aed0558b4fcLennart Poettering java.util.HashMap,
099524d7b0df690e3361ffc3fe3c6aed0558b4fcLennart Poettering java.util.HashSet,
099524d7b0df690e3361ffc3fe3c6aed0558b4fcLennart Poettering java.util.Iterator,
ae0e60fbbc28990617964204ea925a1ef8f42262Lennart Poettering java.util.List,
099524d7b0df690e3361ffc3fe3c6aed0558b4fcLennart Poettering java.util.Map,
ae0e60fbbc28990617964204ea925a1ef8f42262Lennart Poettering java.util.MissingResourceException,
099524d7b0df690e3361ffc3fe3c6aed0558b4fcLennart Poettering java.util.ResourceBundle,
099524d7b0df690e3361ffc3fe3c6aed0558b4fcLennart Poettering java.util.Set,
099524d7b0df690e3361ffc3fe3c6aed0558b4fcLennart Poettering java.util.StringTokenizer,
099524d7b0df690e3361ffc3fe3c6aed0558b4fcLennart Poettering com.sun.identity.shared.ldap.util.DN,
099524d7b0df690e3361ffc3fe3c6aed0558b4fcLennart Poettering org.owasp.esapi.ESAPI"
099524d7b0df690e3361ffc3fe3c6aed0558b4fcLennart Poettering%>
099524d7b0df690e3361ffc3fe3c6aed0558b4fcLennart Poettering
099524d7b0df690e3361ffc3fe3c6aed0558b4fcLennart Poettering<%
099524d7b0df690e3361ffc3fe3c6aed0558b4fcLennart Poettering String category = request.getParameter("category");
099524d7b0df690e3361ffc3fe3c6aed0558b4fcLennart Poettering String instance = request.getParameter("instance");
099524d7b0df690e3361ffc3fe3c6aed0558b4fcLennart Poettering String level = request.getParameter("level");
099524d7b0df690e3361ffc3fe3c6aed0558b4fcLennart Poettering if (!ESAPI.validator().isValidInput("category", category, "HTTPParameterValue", 512, true)
099524d7b0df690e3361ffc3fe3c6aed0558b4fcLennart Poettering || !ESAPI.validator().isValidInput("instance", instance, "HTTPParameterValue", 512, true)
099524d7b0df690e3361ffc3fe3c6aed0558b4fcLennart Poettering || !ESAPI.validator().isValidInput("level", level, "HTTPParameterValue", 512, true)) {
099524d7b0df690e3361ffc3fe3c6aed0558b4fcLennart Poettering //Invalid values received, let's null them out and ignore them.
099524d7b0df690e3361ffc3fe3c6aed0558b4fcLennart Poettering category = null;
099524d7b0df690e3361ffc3fe3c6aed0558b4fcLennart Poettering instance = null;
099524d7b0df690e3361ffc3fe3c6aed0558b4fcLennart Poettering level = null;
099524d7b0df690e3361ffc3fe3c6aed0558b4fcLennart Poettering }
099524d7b0df690e3361ffc3fe3c6aed0558b4fcLennart Poettering boolean performAction = Boolean.valueOf(request.getParameter("do")).
099524d7b0df690e3361ffc3fe3c6aed0558b4fcLennart Poettering booleanValue();
099524d7b0df690e3361ffc3fe3c6aed0558b4fcLennart Poettering
099524d7b0df690e3361ffc3fe3c6aed0558b4fcLennart Poettering ResourceBundle resourceBundle = ResourceBundle.getBundle("debug", request.getLocale());
099524d7b0df690e3361ffc3fe3c6aed0558b4fcLennart Poettering ResourceBundle rbFiles = ResourceBundle.getBundle("debugfiles");
099524d7b0df690e3361ffc3fe3c6aed0558b4fcLennart Poettering Map categories = new HashMap();
099524d7b0df690e3361ffc3fe3c6aed0558b4fcLennart Poettering String adminUserDN = "";
099524d7b0df690e3361ffc3fe3c6aed0558b4fcLennart Poettering List<String> instances = new ArrayList<String>();
099524d7b0df690e3361ffc3fe3c6aed0558b4fcLennart Poettering AMIdentity adminUserId = null;
099524d7b0df690e3361ffc3fe3c6aed0558b4fcLennart Poettering String formToken = null;
099524d7b0df690e3361ffc3fe3c6aed0558b4fcLennart Poettering try {
099524d7b0df690e3361ffc3fe3c6aed0558b4fcLennart Poettering SSOTokenManager sMgr = SSOTokenManager.getInstance();
099524d7b0df690e3361ffc3fe3c6aed0558b4fcLennart Poettering SSOToken ssoToken = sMgr.createSSOToken(request);
099524d7b0df690e3361ffc3fe3c6aed0558b4fcLennart Poettering
099524d7b0df690e3361ffc3fe3c6aed0558b4fcLennart Poettering // This will give you the 'amAdmin' user dn
099524d7b0df690e3361ffc3fe3c6aed0558b4fcLennart Poettering String adminUser = SystemProperties.get(
099524d7b0df690e3361ffc3fe3c6aed0558b4fcLennart Poettering "com.sun.identity.authentication.super.user");
099524d7b0df690e3361ffc3fe3c6aed0558b4fcLennart Poettering if (adminUser != null) {
099524d7b0df690e3361ffc3fe3c6aed0558b4fcLennart Poettering adminUserDN = DNUtils.normalizeDN(adminUser);
099524d7b0df690e3361ffc3fe3c6aed0558b4fcLennart Poettering // This will give you the 'amAdmin' Identity
099524d7b0df690e3361ffc3fe3c6aed0558b4fcLennart Poettering adminUserId = new AMIdentity(ssoToken, adminUser,
099524d7b0df690e3361ffc3fe3c6aed0558b4fcLennart Poettering IdType.USER, "/", null);
099524d7b0df690e3361ffc3fe3c6aed0558b4fcLennart Poettering }
099524d7b0df690e3361ffc3fe3c6aed0558b4fcLennart Poettering
099524d7b0df690e3361ffc3fe3c6aed0558b4fcLennart Poettering // This will be your incoming user/token.
099524d7b0df690e3361ffc3fe3c6aed0558b4fcLennart Poettering AMIdentity user = new AMIdentity(ssoToken);
099524d7b0df690e3361ffc3fe3c6aed0558b4fcLennart Poettering
099524d7b0df690e3361ffc3fe3c6aed0558b4fcLennart Poettering if ((!adminUserDN.equals(DNUtils.normalizeDN(
099524d7b0df690e3361ffc3fe3c6aed0558b4fcLennart Poettering ssoToken.getPrincipal().getName()))) &&
099524d7b0df690e3361ffc3fe3c6aed0558b4fcLennart Poettering (!user.equals(adminUserId))) {
099524d7b0df690e3361ffc3fe3c6aed0558b4fcLennart Poettering
099524d7b0df690e3361ffc3fe3c6aed0558b4fcLennart Poettering out.println(resourceBundle.getString("message-no-privileges"));
099524d7b0df690e3361ffc3fe3c6aed0558b4fcLennart Poettering return;
099524d7b0df690e3361ffc3fe3c6aed0558b4fcLennart Poettering }
099524d7b0df690e3361ffc3fe3c6aed0558b4fcLennart Poettering formToken = Hash.hash(ssoToken.getTokenID().toString());
099524d7b0df690e3361ffc3fe3c6aed0558b4fcLennart Poettering
099524d7b0df690e3361ffc3fe3c6aed0558b4fcLennart Poettering // Make a copy to prevent ConcurrentModificationException
099524d7b0df690e3361ffc3fe3c6aed0558b4fcLennart Poettering List<Debug> temp = new ArrayList<Debug>(Debug.getInstances());
099524d7b0df690e3361ffc3fe3c6aed0558b4fcLennart Poettering for (Debug debug : temp) {
46eea341c36f0caf0bdd5b2274a1ef7cb4e83e97Henrik Grindal Bakken instances.add(debug.getName());
46eea341c36f0caf0bdd5b2274a1ef7cb4e83e97Henrik Grindal Bakken }
86bafac9540ba9e111ccba2fdf4161fe3a67cd3bUmut Tezduyar Lindskog Collections.sort(instances);
9b3a0ba3e9e28382a1072bf0e2c07a3661432743Umut Tezduyar Lindskog for (Enumeration e = rbFiles.getKeys();
099524d7b0df690e3361ffc3fe3c6aed0558b4fcLennart Poettering e.hasMoreElements();
099524d7b0df690e3361ffc3fe3c6aed0558b4fcLennart Poettering ) {
099524d7b0df690e3361ffc3fe3c6aed0558b4fcLennart Poettering String key = (String)e.nextElement();
099524d7b0df690e3361ffc3fe3c6aed0558b4fcLennart Poettering String val = rbFiles.getString(key);
099524d7b0df690e3361ffc3fe3c6aed0558b4fcLennart Poettering List lst = (List) categories.get(val);
592fd144ae313855f48d0ca52a103013b41e5d59Lennart Poettering if (lst == null) {
099524d7b0df690e3361ffc3fe3c6aed0558b4fcLennart Poettering lst = new ArrayList();
099524d7b0df690e3361ffc3fe3c6aed0558b4fcLennart Poettering }
099524d7b0df690e3361ffc3fe3c6aed0558b4fcLennart Poettering lst.add(key);
099524d7b0df690e3361ffc3fe3c6aed0558b4fcLennart Poettering categories.put(val, lst);
099524d7b0df690e3361ffc3fe3c6aed0558b4fcLennart Poettering }
099524d7b0df690e3361ffc3fe3c6aed0558b4fcLennart Poettering } catch (SSOException e) {
099524d7b0df690e3361ffc3fe3c6aed0558b4fcLennart Poettering response.sendRedirect("UI/Login?goto=../Debug.jsp");
099524d7b0df690e3361ffc3fe3c6aed0558b4fcLennart Poettering return;
099524d7b0df690e3361ffc3fe3c6aed0558b4fcLennart Poettering } catch (MissingResourceException e) {
099524d7b0df690e3361ffc3fe3c6aed0558b4fcLennart Poettering out.println(e.getMessage());
099524d7b0df690e3361ffc3fe3c6aed0558b4fcLennart Poettering return;
099524d7b0df690e3361ffc3fe3c6aed0558b4fcLennart Poettering }
099524d7b0df690e3361ffc3fe3c6aed0558b4fcLennart Poettering if (performAction) {
099524d7b0df690e3361ffc3fe3c6aed0558b4fcLennart Poettering String receivedToken = request.getParameter("formToken");
099524d7b0df690e3361ffc3fe3c6aed0558b4fcLennart Poettering if (!formToken.equals(receivedToken)) {
099524d7b0df690e3361ffc3fe3c6aed0558b4fcLennart Poettering out.println("Invalid form token provided!");
099524d7b0df690e3361ffc3fe3c6aed0558b4fcLennart Poettering return;
099524d7b0df690e3361ffc3fe3c6aed0558b4fcLennart Poettering }
099524d7b0df690e3361ffc3fe3c6aed0558b4fcLennart Poettering }
099524d7b0df690e3361ffc3fe3c6aed0558b4fcLennart Poettering%>
ae0e60fbbc28990617964204ea925a1ef8f42262Lennart Poettering
099524d7b0df690e3361ffc3fe3c6aed0558b4fcLennart Poettering<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
ae0e60fbbc28990617964204ea925a1ef8f42262Lennart Poettering<html xmlns="http://www.w3.org/1999/xhtml">
099524d7b0df690e3361ffc3fe3c6aed0558b4fcLennart Poettering<head>
099524d7b0df690e3361ffc3fe3c6aed0558b4fcLennart Poettering <title>OpenAM</title>
099524d7b0df690e3361ffc3fe3c6aed0558b4fcLennart Poettering <link rel="stylesheet" type="text/css" href="com_sun_web_ui/css/css_ns6up.css" />
099524d7b0df690e3361ffc3fe3c6aed0558b4fcLennart Poettering <link rel="shortcut icon" href="com_sun_web_ui/images/favicon/favicon.ico" type="image/x-icon" />
099524d7b0df690e3361ffc3fe3c6aed0558b4fcLennart Poettering</head>
099524d7b0df690e3361ffc3fe3c6aed0558b4fcLennart Poettering<body class="DefBdy">
099524d7b0df690e3361ffc3fe3c6aed0558b4fcLennart Poettering <div class="SkpMedGry1"><a href="#SkipAnchor3860"><img src="com_sun_web_ui/images/other/dot.gif" alt="Jump to End of Masthead" border="0" height="1" width="1" /></a></div><div class="MstDiv">
099524d7b0df690e3361ffc3fe3c6aed0558b4fcLennart Poettering <table class="MstTblBot" title="" border="0" cellpadding="0" cellspacing="0" width="100%">
037c26d0aeb750ca9c8d605884ea1db7baecfea8Lennart Poettering <tr>
099524d7b0df690e3361ffc3fe3c6aed0558b4fcLennart Poettering <td class="MstTdTtl" width="99%">
037c26d0aeb750ca9c8d605884ea1db7baecfea8Lennart Poettering <div class="MstDivTtl"><img name="AMConfig.configurator.ProdName" src="console/images/PrimaryProductName.png" alt="OpenAM" border="0" /></div>
099524d7b0df690e3361ffc3fe3c6aed0558b4fcLennart Poettering </td>
099524d7b0df690e3361ffc3fe3c6aed0558b4fcLennart Poettering <td class="MstTdLogo" width="1%"><img name="AMConfig.configurator.BrandLogo" src="com_sun_web_ui/images/other/javalogo.gif" alt="Java(TM) Logo" border="0" height="55" width="31" /></td>
099524d7b0df690e3361ffc3fe3c6aed0558b4fcLennart Poettering </tr>
099524d7b0df690e3361ffc3fe3c6aed0558b4fcLennart Poettering </table>
099524d7b0df690e3361ffc3fe3c6aed0558b4fcLennart Poettering <table class="MstTblEnd" border="0" cellpadding="0" cellspacing="0" width="100%"><tr><td><img name="RMRealm.mhCommon.EndorserLogo" src="com_sun_web_ui/images/masthead/masthead-sunname.gif" alt="Sun(TM) Microsystems, Inc." align="right" border="0" height="10" width="108" /></td></tr></table>
099524d7b0df690e3361ffc3fe3c6aed0558b4fcLennart Poettering </div>
099524d7b0df690e3361ffc3fe3c6aed0558b4fcLennart Poettering <table class="SkpMedGry1" border="0" cellpadding="5" cellspacing="0" width="100%"><tr><td><img src="com_sun_web_ui/images/other/dot.gif" alt="Jump to End of Masthead" border="0" height="1" width="1" /></a></td></tr></table>
099524d7b0df690e3361ffc3fe3c6aed0558b4fcLennart Poettering <table border="0" cellpadding="10" cellspacing="0" width="100%"><tr><td></td></tr></table>
46eea341c36f0caf0bdd5b2274a1ef7cb4e83e97Henrik Grindal Bakken
86bafac9540ba9e111ccba2fdf4161fe3a67cd3bUmut Tezduyar Lindskog<table cellpadding=5>
099524d7b0df690e3361ffc3fe3c6aed0558b4fcLennart Poettering<tr>
099524d7b0df690e3361ffc3fe3c6aed0558b4fcLennart Poettering<td>
592fd144ae313855f48d0ca52a103013b41e5d59Lennart Poettering
<%
if ((instance == null || instance.length() == 0) && (category == null || category.length() == 0)
|| level == null || level.length() == 0
) {
%>
<form name="frm" action="Debug.jsp" method="POST">
<table>
<tr>
<td>
<%
out.println(resourceBundle.getString("label-category"));
%>
:</td>
<td>
<select name="category">
<%
for (Iterator i = categories.keySet().iterator(); i.hasNext(); ) {
String key = (String)i.next();
out.println("<option>" + key + "</option>");
}
%>
</select>
</td>
<td>&nbsp;&nbsp;</td>
<td>
<%
out.println(resourceBundle.getString("label-level"));
%>
:</td>
<td>
<select name="level">
<%
out.println("<option value=\"1\">" +
resourceBundle.getString("label-level-error") + "</option>");
out.println("<option value=\"2\">" +
resourceBundle.getString("label-level-warning") + "</option>");
out.println("<option value=\"3\">" +
resourceBundle.getString("label-level-message") + "</option>");
%>
</select>
</td>
<td><input type="submit" value="Submit" class="Btn1" onclick="this.form.submit();" onmouseover="javascript: this.className='Btn1Hov'" onmouseout="javascript: this.className='Btn1'" onblur="javascript: javascript: this.className='Btn1'" onfocus="javascript: this.className='Btn1Hov'" />
</td>
</tr>
</table>
</form>
<form name="frm" action="Debug.jsp" method="POST">
<table>
<tr>
<td>
<%
out.println(resourceBundle.getString("label-instance"));
%>
:</td>
<td>
<select name="instance">
<%
for (String inst : instances) {
out.println("<option>" + inst + "</option>");
}
%>
</select>
</td>
<td>&nbsp;&nbsp;</td>
<td>
<%
out.println(resourceBundle.getString("label-level"));
%>
:</td>
<td>
<select name="level">
<%
out.println("<option value=\"1\">" +
resourceBundle.getString("label-level-error") + "</option>");
out.println("<option value=\"2\">" +
resourceBundle.getString("label-level-warning") + "</option>");
out.println("<option value=\"3\">" +
resourceBundle.getString("label-level-message") + "</option>");
%>
</select>
</td>
<td><input type="submit" value="Submit" class="Btn1" onclick="this.form.submit();" onmouseover="javascript: this.className='Btn1Hov'" onmouseout="javascript: this.className='Btn1'" onblur="javascript: javascript: this.className='Btn1'" onfocus="javascript: this.className='Btn1Hov'" />
</td>
</tr>
</table>
</form>
<p>&nbsp;</p>
<table border=1 cellpadding=5 cellspacing=0>
<tr>
<th>
<%
out.println(resourceBundle.getString("label-category"));
%>
</th>
<th>
<%
out.println(resourceBundle.getString("label-filenames"));
%>
</th>
</tr>
<%
for (Iterator i = categories.keySet().iterator(); i.hasNext(); ) {
String key = (String)i.next();
out.println("<tr><td valign=top><b>" + key + "</b></td>");
List values = (List)categories.get(key);
out.println("<td>");
String msg = "message-category-"+key;
try {
msg = resourceBundle.getString("message-category-"+key);
} catch (Exception ex) {}
out.println("<b>"+msg+"</b><br>");
out.print("<span class=\"HlpFldTxt\">");
for (Iterator j = values.iterator(); j.hasNext(); ) {
out.println((String)j.next() + " " );
}
out.print("</span>");
out.println("</td></tr>");
}
%>
</table>
<%
} else {
if (category != null) {
out.println(resourceBundle.getString("label-category") + " = " + category);
} else {
out.println("Instance" + " = " + instance);
}
out.println("<br />");
String strLevel = "message";
if (level.equals("1")) {
strLevel = "error";
} else if (level.equals("2")) {
strLevel = "warning";
}
out.println(resourceBundle.getString("label-level") + " = " + strLevel);
out.println("<br />");
int levelint = Integer.parseInt(level);
if (category != null) {
Object[] param = {strLevel};
out.println(MessageFormat.format(
resourceBundle.getString("message-setting-level-on-modules"), param));
out.println("<br />");
List values = (List)categories.get(category);
out.println("<ul>");
for (Iterator i = values.iterator(); i.hasNext(); ) {
String mname = (String)i.next();
out.println( "<li>" + mname + "</li>" );
if (performAction) {
Debug debug = Debug.getInstance(mname);
debug.setDebug(levelint);
}
}
out.println("</ul>");
} else {
Object[] param = {strLevel, instance};
out.println(MessageFormat.format(
resourceBundle.getString("message-setting-level-on-instance"), param));
if (performAction) {
Debug.getInstance(instance).setDebug(levelint);
}
}
String backURL = "Debug.jsp";
if (!performAction) {
out.println("<form name='frm' method='POST' action='Debug.jsp'>");
if (category != null) {
out.println("<input name='category' type='hidden' value='" + category + "' />");
} else {
out.println("<input name='instance' type='hidden' value='" + instance + "' />");
}
out.println("<input name='level' type='hidden' value='" + levelint + "' />");
out.println("<input name='do' type='hidden' value='true' />");
out.println("<input type='hidden' name='formToken' value='" + formToken + "' />");
out.println("<table border=0>");
out.println("<tr><td>");
out.println("<input type=\"button\" name=\"do\" value=\"" + resourceBundle.getString("button-confirm") + "\" class=\"Btn1\" onclick=\"this.form.submit();\" onmouseover=\"javascript: this.className='Btn1Hov'\" onmouseout=\"javascript: this.className='Btn1'\" onblur=\"javascript: javascript: this.className='Btn1'\" onfocus=\"javascript: this.className='Btn1Hov'\" /></form>");
out.println("</td><td>");
out.println("<input type=\"button\" name=\"back\" value=\"" + resourceBundle.getString("button-back") + "\" class=\"Btn1\" onclick=\"var elements=this.form.elements;for (var i=0;i<elements.length;i++){if(elements[i].type && elements[i].type==='hidden'){elements[i].value=''}};this.form.submit();\" onmouseover=\"javascript: this.className='Btn1Hov'\" onmouseout=\"javascript: this.className='Btn1'\" onblur=\"javascript: this.className='Btn1'\" onfocus=\"javascript: this.className='Btn1Hov'\" />");
out.println("</td></tr></table>");
out.println("</form>");
} else {
Object[] params = {backURL};
out.println("<p>");
out.println(MessageFormat.format(
resourceBundle.getString("message-succeed"), params));
}
}
%>
</td></tr>
</table>
</body>
</html>