[jboss-cvs] JBossAS SVN: r63258 - in branches/JBoss_4_0_4_GA_CP: varia/src/resources/jmx/html and 1 other directory.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Wed May 30 14:17:05 EDT 2007


Author: scott.stark at jboss.org
Date: 2007-05-30 14:17:05 -0400 (Wed, 30 May 2007)
New Revision: 63258

Modified:
   branches/JBoss_4_0_4_GA_CP/jmx/src/main/org/jboss/mx/util/ObjectNameConverter.java
   branches/JBoss_4_0_4_GA_CP/varia/src/resources/jmx/html/inspectMBean.jsp
Log:
ASPATCH-168, inspectMBean.jsp and the jmx ObjectNameConverter util now escape apos and quot

Modified: branches/JBoss_4_0_4_GA_CP/jmx/src/main/org/jboss/mx/util/ObjectNameConverter.java
===================================================================
--- branches/JBoss_4_0_4_GA_CP/jmx/src/main/org/jboss/mx/util/ObjectNameConverter.java	2007-05-30 15:07:39 UTC (rev 63257)
+++ branches/JBoss_4_0_4_GA_CP/jmx/src/main/org/jboss/mx/util/ObjectNameConverter.java	2007-05-30 18:17:05 UTC (rev 63258)
@@ -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: branches/JBoss_4_0_4_GA_CP/varia/src/resources/jmx/html/inspectMBean.jsp
===================================================================
--- branches/JBoss_4_0_4_GA_CP/varia/src/resources/jmx/html/inspectMBean.jsp	2007-05-30 15:07:39 UTC (rev 63257)
+++ branches/JBoss_4_0_4_GA_CP/varia/src/resources/jmx/html/inspectMBean.jsp	2007-05-30 18:17:05 UTC (rev 63258)
@@ -15,6 +15,12 @@
       }
       return desc;
    }
+   public String quoteName(String name)
+   {
+      String sname = name.replace("\"", "&quot;");
+      sname = name.replace("\'", "&apos;");
+      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>
@@ -138,8 +145,11 @@
          }
          else if( attrInfo.isReadable() )
          {  // Text fields for read-write string values
+            String avalue = (attrValue != null ? attrValue : "");
+            if( attrType.equals("javax.management.ObjectName") )
+               avalue = quoteName(avalue);
 %>
-          <input type="text" name="<%= attrName %>" value="<%= (attrValue != null ? attrValue : "") %>" <%= readonly %>>
+          <input type="text" name="<%= attrName %>" value='<%= avalue %>' <%= readonly %>>
 
 <%
          }
@@ -251,7 +261,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