[jboss-cvs] JBossAS SVN: r71316 - in branches/Branch_4_2/varia/src: resources/jmx/html and 1 other directory.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Wed Mar 26 15:57:41 EDT 2008
Author: TobiasF
Date: 2008-03-26 15:57:40 -0400 (Wed, 26 Mar 2008)
New Revision: 71316
Modified:
branches/Branch_4_2/varia/src/main/org/jboss/jmx/adaptor/html/HtmlAdaptorServlet.java
branches/Branch_4_2/varia/src/resources/jmx/html/displayMBeans.jsp
branches/Branch_4_2/varia/src/resources/jmx/html/style_master.css
Log:
JBAS-3406 malformed filter Strings now lead to a proper error message in the jmx-console instead of a 500
Modified: branches/Branch_4_2/varia/src/main/org/jboss/jmx/adaptor/html/HtmlAdaptorServlet.java
===================================================================
--- branches/Branch_4_2/varia/src/main/org/jboss/jmx/adaptor/html/HtmlAdaptorServlet.java 2008-03-26 19:52:05 UTC (rev 71315)
+++ branches/Branch_4_2/varia/src/main/org/jboss/jmx/adaptor/html/HtmlAdaptorServlet.java 2008-03-26 19:57:40 UTC (rev 71316)
@@ -102,95 +102,111 @@
invokeOpByName(request, response);
}
- /** Display all mbeans categorized by domain
+ /**
+ * Display all mbeans categorized by domain
*/
- private void displayMBeans(HttpServletRequest request, HttpServletResponse response)
- throws ServletException, IOException
+ private void displayMBeans(HttpServletRequest request, HttpServletResponse response) throws ServletException,
+ IOException
{
- // get ObjectName filter from request or session context
- HttpSession session = request.getSession(false);
- String filter = request.getParameter(FILTER_PARAM);
+ // get ObjectName filter from request or session context
+ HttpSession session = request.getSession(false);
+ String filter = request.getParameter(FILTER_PARAM);
- if( filter == null && session != null)
+ if (filter == null && session != null)
{
// try using previously provided filter from session context
- filter = (String) session.getAttribute(FILTER_PARAM);
+ filter = (String) session.getAttribute(FILTER_PARAM);
}
-
- if( filter != null && filter.length() > 0 )
+
+ if (filter != null && filter.length() > 0)
{
// Strip any enclosing quotes
- if( filter.charAt(0) == '"' )
+ if (filter.charAt(0) == '"')
filter = filter.substring(1);
- if( filter.charAt(filter.length()-1) == '"')
- filter = filter.substring(0, filter.length()-2);
+ if (filter.charAt(filter.length() - 1) == '"')
+ filter = filter.substring(0, filter.length() - 2);
- // be a litte it tolerant to user input
+ // be a litte it tolerant to user input
String domain = "*";
- String props = "*,*";
+ String props = "*,*";
- int separator = filter.indexOf(':');
+ int separator = filter.indexOf(':');
int assignment = filter.indexOf('=');
if (separator == -1 && assignment != -1)
- {
- // assume properties only
+ {
+ // assume properties only
props = filter.trim();
}
- else if (separator == -1 && assignment == -1)
+ else if (separator == -1 && assignment == -1)
{
- // assume domain name only
- domain = filter.trim();
+ // assume domain name only
+ domain = filter.trim();
}
else
{
- // domain and properties
- domain = filter.substring(0,separator).trim();
- props = filter.substring(separator+1).trim();
- }
+ // domain and properties
+ domain = filter.substring(0, separator).trim();
+ props = filter.substring(separator + 1).trim();
+ }
- if (domain.equals("")) domain = "*";
+ if (domain.equals(""))
+ domain = "*";
- if ( props.equals("") ) props = "*,*";
- if ( props.endsWith("," )) props += "*";
- if (!props.endsWith(",*")) props += ",*";
- if ( props.equals("*,*" )) props = "*";
+ if (props.equals(""))
+ props = "*,*";
+ if (props.endsWith(","))
+ props += "*";
+ if (!props.endsWith(",*"))
+ props += ",*";
+ if (props.equals("*,*"))
+ props = "*";
filter = domain + ":" + props;;
- if (filter.equals("*:*"))
- filter = "";
+ if (filter.equals("*:*"))
+ filter = "";
}
- else
- {
- filter = "";
+ else
+ {
+ filter = "";
}
- // update request filter and store filter in session context,
- // so it can be used when no filter has been submitted in
- // current request
+ // update request filter and store filter in session context,
+ // so it can be used when no filter has been submitted in
+ // current request
request.setAttribute(FILTER_PARAM, filter);
- if( session != null )
- {
- session.setAttribute(FILTER_PARAM, filter);
- }
+ if (session != null)
+ {
+ session.setAttribute(FILTER_PARAM, filter);
+ }
+ Iterator mbeans;
try
{
- Iterator mbeans = Server.getDomainData(filter);
- request.setAttribute("mbeans", mbeans);
- RequestDispatcher rd = this.getServletContext().getRequestDispatcher("/displayMBeans.jsp");
- rd.forward(request, response);
+ mbeans = Server.getDomainData(filter);
}
- catch(JMException e)
+ catch (JMException e)
{
- throw new ServletException("Failed to get MBeans", e);
+ request.setAttribute("filterError", e.getMessage());
+ try
+ {
+ mbeans = Server.getDomainData("");
+ }
+ catch (JMException e1)
+ {
+ throw new ServletException("Failed to get MBeans", e);
+ }
}
+ request.setAttribute("mbeans", mbeans);
+ RequestDispatcher rd = this.getServletContext().getRequestDispatcher("/displayMBeans.jsp");
+ rd.forward(request, response);
}
- /** Display an mbeans attributes and operations
- */
+ /**
+ * Display an mbeans attributes and operations
+ */
private void inspectMBean(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException
{
Modified: branches/Branch_4_2/varia/src/resources/jmx/html/displayMBeans.jsp
===================================================================
--- branches/Branch_4_2/varia/src/resources/jmx/html/displayMBeans.jsp 2008-03-26 19:52:05 UTC (rev 71315)
+++ branches/Branch_4_2/varia/src/resources/jmx/html/displayMBeans.jsp 2008-03-26 19:57:40 UTC (rev 71316)
@@ -27,7 +27,12 @@
</table>
<hr>
<form action="HtmlAdaptor?action=displayMBeans" method="post" name="applyFilter" id="applyFilter">
-ObjectName Filter (e.g. "jboss:*", "*:service=invoker,*") :<input type="text" name="filter" size="40" value="<%= request.getAttribute("filter")%>"> <input type="submit" name="apply" value="ApplyFilter">
+ObjectName Filter (e.g. "jboss:*", "*:service=invoker,*") :<input type="text" name="filter" size="40" value="<%= request.getAttribute("filter")%>" /><input type="submit" name="apply" value="ApplyFilter">
+<%
+ if (request.getAttribute("filterError") != null) {
+ out.println("<br/><span class='error'>"+request.getAttribute("filterError")+"</span>");
+ }
+%>
</form>
<hr>
<%
Modified: branches/Branch_4_2/varia/src/resources/jmx/html/style_master.css
===================================================================
--- branches/Branch_4_2/varia/src/resources/jmx/html/style_master.css 2008-03-26 19:52:05 UTC (rev 71315)
+++ branches/Branch_4_2/varia/src/resources/jmx/html/style_master.css 2008-03-26 19:57:40 UTC (rev 71316)
@@ -31,6 +31,11 @@
}.bg_cell{
background-color : #ffffff;
}
+
+* .error {
+ color: red;
+}
+
A:ACTIVE {
font-family: Arial, Helvetica, sans-serif;
font-size: 14px;
More information about the jboss-cvs-commits
mailing list