I already added this check while working on ProfileService:
| protected static String getAttributeName(String name)
| {
| if (name == null || name.length() == 0)
| throw new IllegalArgumentException("Illegal name: " + name);
|
| char firstCharacter = name.charAt(0);
| if (Character.isLowerCase(firstCharacter))
| {
| String attributeName =
String.valueOf(Character.toUpperCase(firstCharacter));
| if (name.length() > 1)
| attributeName += name.substring(1);
| return attributeName;
| }
| return name;
| }
|
| public Object get(String name) throws Throwable
| {
| return getMBeanServer().getAttribute(objectName, getAttributeName(name));
| }
|
| public void set(String name, Object value) throws Throwable
| {
| Attribute attribute = new Attribute(getAttributeName(name), value);
| getMBeanServer().setAttribute(objectName, attribute);
| }
|
Since we explicitly go over MBeanServer, when accessing MBean's property in MC -->
ServiceControllerContext, I see no need to do a switch check.
The test - ConfigureMCFromJMXWithPropertyUnitTestCase - was added to the system-jmx
tests.
It checks access to the MBean's attribute both ways - uppercase and lower case first
letter.
View the original post :
http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4111008#...
Reply to the post :
http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&a...