[jboss-cvs] JBossAS SVN: r61306 - in trunk: 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:38:28 EDT 2007


Author: scott.stark at jboss.org
Date: 2007-03-13 15:38:28 -0400 (Tue, 13 Mar 2007)
New Revision: 61306

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

Modified: trunk/j2se/src/main/org/jboss/mx/util/ObjectNameConverter.java
===================================================================
--- trunk/j2se/src/main/org/jboss/mx/util/ObjectNameConverter.java	2007-03-13 19:35:39 UTC (rev 61305)
+++ trunk/j2se/src/main/org/jboss/mx/util/ObjectNameConverter.java	2007-03-13 19:38:28 UTC (rev 61306)
@@ -39,6 +39,8 @@
  * ':'  =>  '%3a'  <br>
  * '?'  =>  '%3f'  <br>
  * '='  =>  '%3d'  <br>
+ * '\'' =>  '%27'  <br>
+ * '\"' =>  '%22'  <br>
  * <br>Thanx to William Hoyle for mention this
  * <br><b>Attention:</b>When you have a comma in one of your property
  * value then you have to use a <i>Hashtable</i> to provide the properties
@@ -207,6 +209,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 +266,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: trunk/varia/src/resources/jmx/html/inspectMBean.jsp
===================================================================
--- trunk/varia/src/resources/jmx/html/inspectMBean.jsp	2007-03-13 19:35:39 UTC (rev 61305)
+++ trunk/varia/src/resources/jmx/html/inspectMBean.jsp	2007-03-13 19:38:28 UTC (rev 61306)
@@ -58,6 +58,12 @@
       }
       return s;
    }
+   public String quoteName(String name)
+   {
+      String sname = name.replace("\"", "&quot;");
+      sname = name.replace("\'", "&apos;");
+      return sname;
+   }
 
 %>
 
@@ -78,7 +84,7 @@
 <%
    ObjectName objectName = mbeanData.getObjectName();
    String objectNameString = mbeanData.getName();
-
+   String quotedObjectNameString = quoteName(mbeanData.getName());
    MBeanInfo mbeanInfo = mbeanData.getMetaData();
 
    MBeanAttributeInfo[] attributeInfo = mbeanInfo.getAttributes();
@@ -144,7 +150,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 class="AttributesClass" cellspacing="0" cellpadding="5">
       <tr class="AttributesHeader">
       <th width="25%">
@@ -332,7 +338,7 @@
       <td class='sep'>
          <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="<%= methodIndex %>" />
 <%
          if( sig.length > 0 )




More information about the jboss-cvs-commits mailing list