[jboss-cvs] JBossAS SVN: r61302 - 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
Tue Mar 13 15:27:46 EDT 2007


Author: scott.stark at jboss.org
Date: 2007-03-13 15:27:46 -0400 (Tue, 13 Mar 2007)
New Revision: 61302

Modified:
   branches/Branch_4_2/jmx/src/main/org/jboss/mx/util/ObjectNameConverter.java
   branches/Branch_4_2/varia/src/resources/jmx/html/inspectMBean.jsp
Log:
JBAS-4183, handle single and double quotes in object names

Modified: branches/Branch_4_2/jmx/src/main/org/jboss/mx/util/ObjectNameConverter.java
===================================================================
--- branches/Branch_4_2/jmx/src/main/org/jboss/mx/util/ObjectNameConverter.java	2007-03-13 18:35:44 UTC (rev 61301)
+++ branches/Branch_4_2/jmx/src/main/org/jboss/mx/util/ObjectNameConverter.java	2007-03-13 19:27:46 UTC (rev 61302)
@@ -207,6 +207,20 @@
                       ( ( lIndex + 1 ) < lReturn.length() ? lReturn.substring( lIndex + 1 ) : "" );
             lIndex = lReturn.indexOf( "," );
          }
+         lIndex = lReturn.indexOf( "'" );
+         while( lIndex >= 0 ) {
+            lReturn = ( lIndex > 0 ? lReturn.substring( 0, lIndex ) : "" ) +
+                      "%27" +
+                      ( ( lIndex + 1 ) < lReturn.length() ? lReturn.substring( lIndex + 1 ) : "" );
+            lIndex = lReturn.indexOf( "'" );
+         }
+         lIndex = lReturn.indexOf( "\"" );
+         while( lIndex >= 0 ) {
+            lReturn = ( lIndex > 0 ? lReturn.substring( 0, lIndex ) : "" ) +
+                      "%22" +
+                      ( ( lIndex + 1 ) < lReturn.length() ? lReturn.substring( lIndex + 1 ) : "" );
+            lIndex = lReturn.indexOf( "\"" );
+         }
       } else {
          int lIndex = lReturn.indexOf( "%2a" );
          while( lIndex >= 0 ) {
@@ -250,6 +264,20 @@
                       ( ( lIndex + 3 ) < lReturn.length() ? lReturn.substring( lIndex + 3 ) : "" );
             lIndex = lReturn.indexOf( "%25" );
          }
+         lIndex = lReturn.indexOf( "%27" );
+         while( lIndex >= 0 ) {
+            lReturn = ( lIndex > 0 ? lReturn.substring( 0, lIndex ) : "" ) +
+                      "'" +
+                      ( ( lIndex + 3 ) < lReturn.length() ? lReturn.substring( lIndex + 3 ) : "" );
+            lIndex = lReturn.indexOf( "%27" );
+         }
+         lIndex = lReturn.indexOf( "%22" );
+         while( lIndex >= 0 ) {
+            lReturn = ( lIndex > 0 ? lReturn.substring( 0, lIndex ) : "" ) +
+                      "\"" +
+                      ( ( lIndex + 3 ) < lReturn.length() ? lReturn.substring( lIndex + 3 ) : "" );
+            lIndex = lReturn.indexOf( "%22" );
+         }
       }
       return lReturn;
    }

Modified: branches/Branch_4_2/varia/src/resources/jmx/html/inspectMBean.jsp
===================================================================
--- branches/Branch_4_2/varia/src/resources/jmx/html/inspectMBean.jsp	2007-03-13 18:35:44 UTC (rev 61301)
+++ branches/Branch_4_2/varia/src/resources/jmx/html/inspectMBean.jsp	2007-03-13 19:27:46 UTC (rev 61302)
@@ -1,5 +1,6 @@
 <%@page contentType="text/html"
-   import="java.net.*,java.util.*,javax.management.*,javax.management.modelmbean.*,
+   import="java.net.*,java.util.*,
+   javax.management.*,javax.management.modelmbean.*,
    org.jboss.jmx.adaptor.control.Server,
    org.jboss.jmx.adaptor.control.AttrResultInfo,
    org.jboss.jmx.adaptor.model.*,
@@ -15,6 +16,11 @@
       }
       return desc;
    }
+   public String quoteName(String name)
+   {
+      String sname = name.replace("\\\"", "&quot;");
+      return sname;
+   }
 %>
 <html>
 <head>
@@ -29,6 +35,7 @@
 <%
    ObjectName objectName = mbeanData.getObjectName();
    String objectNameString = mbeanData.getName();
+   String quotedObjectNameString = quoteName(mbeanData.getName());
    MBeanInfo mbeanInfo = mbeanData.getMetaData();
    MBeanAttributeInfo[] attributeInfo = mbeanInfo.getAttributes();
    MBeanOperationInfo[] operationInfo = mbeanInfo.getOperations();
@@ -80,7 +87,7 @@
 
 <form method="post" action="HtmlAdaptor">
    <input type="hidden" name="action" value="updateAttributes">
-   <input type="hidden" name="name" value="<%= objectNameString %>">
+   <input type="hidden" name="name" value='<%= quotedObjectNameString %>'>
 	<table cellspacing="1" cellpadding="1" border="1">
 		<tr class="AttributesHeader">
 		    <th>Name</th>
@@ -139,7 +146,7 @@
          else if( attrInfo.isReadable() )
          {  // Text fields for read-write string values
 %>
-          <input type="text" name="<%= attrName %>" value="<%= (attrValue != null ? attrValue : "") %>" <%= readonly %>>
+          <input type="text" name="<%= attrName %>" value='<%= (attrValue != null ? attrValue : "") %>' <%= readonly %>>
 
 <%
          }
@@ -251,7 +258,7 @@
 %>
 <form method="post" action="HtmlAdaptor">
    <input type="hidden" name="action" value="invokeOp">
-   <input type="hidden" name="name" value="<%= objectNameString %>">
+   <input type="hidden" name="name" value='<%= quotedObjectNameString %>'>
    <input type="hidden" name="methodIndex" value="<%= a %>">
    <hr align='left' width='80'>
    <h4><%= opInfo.getReturnType() + " " + opInfo.getName() + "()" %></h4>




More information about the jboss-cvs-commits mailing list