Author: markt Date: Mon Mar 18 13:08:25 2013 New Revision: 1457748 URL: http://svn.apache.org/r1457748 Log: Enable support for overloaded methods
Modified: tomcat/trunk/java/org/apache/tomcat/util/modeler/ManagedBean.java Modified: tomcat/trunk/java/org/apache/tomcat/util/modeler/ManagedBean.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/modeler/ManagedBean.java?rev=1457748&r1=1457747&r2=1457748&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/tomcat/util/modeler/ManagedBean.java (original) +++ tomcat/trunk/java/org/apache/tomcat/util/modeler/ManagedBean.java Mon Mar 18 13:08:25 2013 @@ -270,7 +270,7 @@ public class ManagedBean implements java * @param operation The new operation descriptor */ public void addOperation(OperationInfo operation) { - operations.put(operation.getName(), operation); + operations.put(createOperationKey(operation), operation); } @@ -527,7 +527,8 @@ public class ManagedBean implements java // Acquire the ModelMBeanOperationInfo information for // the requested operation - OperationInfo opInfo = operations.get(aname); + OperationInfo opInfo = + operations.get(createOperationKey(aname, signature)); if (opInfo == null) throw new MBeanException(new ServiceNotFoundException( "Cannot find operation " + aname), @@ -568,4 +569,31 @@ public class ManagedBean implements java } + private String createOperationKey(OperationInfo operation) { + StringBuilder key = new StringBuilder(operation.getName()); + key.append('('); + for (ParameterInfo parameterInfo: operation.getSignature()) { + key.append(parameterInfo.getType()); + // Note: A trailing ',' does not matter in this case + key.append(','); + } + key.append(')'); + + return key.toString(); + } + + + private String createOperationKey(String methodName, + String[] parameterTypes) { + StringBuilder key = new StringBuilder(methodName); + key.append('('); + for (String parameter: parameterTypes) { + key.append(parameter); + // Note: A trailing ',' does not matter in this case + key.append(','); + } + key.append(')'); + + return key.toString(); + } } --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org