dain 2004/02/24 23:49:10
Modified: modules/kernel/src/java/org/apache/geronimo/gbean GBeanInfoFactory.java Log: Changed operations to be keyed by a method signature instead of just method name Revision Changes Path 1.14 +48 -22 incubator-geronimo/modules/kernel/src/java/org/apache/geronimo/gbean/GBeanInfoFactory.java Index: GBeanInfoFactory.java =================================================================== RCS file: /home/cvs/incubator-geronimo/modules/kernel/src/java/org/apache/geronimo/gbean/GBeanInfoFactory.java,v retrieving revision 1.13 retrieving revision 1.14 diff -u -r1.13 -r1.14 --- GBeanInfoFactory.java 24 Feb 2004 22:36:01 -0000 1.13 +++ GBeanInfoFactory.java 25 Feb 2004 07:49:10 -0000 1.14 @@ -65,6 +65,8 @@ import java.util.Map; import java.util.Set; +import org.apache.geronimo.kernel.jmx.MBeanOperationSignature; + /** * @version $Revision$ $Date$ */ @@ -91,7 +93,7 @@ } public GBeanInfoFactory(Class clazz) { - this(((Class) checkNotNull(clazz)).getName(), clazz.getName(), null); + this(checkNotNull(clazz).getName(), clazz.getName(), null); } public GBeanInfoFactory(String name, String className) { @@ -103,7 +105,7 @@ } public GBeanInfoFactory(Class clazz, GBeanInfo source) { - this(((Class) checkNotNull(clazz)).getName(), clazz.getName(), source); + this(checkNotNull(clazz).getName(), clazz.getName(), source); } public GBeanInfoFactory(String name, String className, GBeanInfo source) { @@ -113,19 +115,21 @@ this.name = name; this.className = className; if (source != null) { - Set sourceAttrs = source.getAttributes(); - if (sourceAttrs != null && !sourceAttrs.isEmpty()) { - for (Iterator it = sourceAttrs.iterator(); it.hasNext();) { - GAttributeInfo gattrInfo = (GAttributeInfo) it.next(); - attributes.put(gattrInfo.getName(), gattrInfo); + Set sourceAttributes = source.getAttributes(); + if (sourceAttributes != null && !sourceAttributes.isEmpty()) { + for (Iterator it = sourceAttributes.iterator(); it.hasNext();) { + GAttributeInfo attributeInfo = (GAttributeInfo) it.next(); + attributes.put(attributeInfo.getName(), attributeInfo); } } - Set sourceOps = source.getOperations(); - if (sourceOps != null && !sourceOps.isEmpty()) { - for (Iterator it = sourceOps.iterator(); it.hasNext();) { - GOperationInfo gopInfo = (GOperationInfo) it.next(); - operations.put(gopInfo.getName(), gopInfo); + Set sourceOperations = source.getOperations(); + if (sourceOperations != null && !sourceOperations.isEmpty()) { + for (Iterator it = sourceOperations.iterator(); it.hasNext();) { + GOperationInfo operationInfo = (GOperationInfo) it.next(); + operations.put( + new MBeanOperationSignature(operationInfo.getName(), operationInfo.getParameterList()), + operationInfo); } } references.addAll(source.getReferences()); @@ -138,15 +142,29 @@ /** * Checks whether or not the input argument is null; otherwise it throws * [EMAIL PROTECTED] IllegalArgumentException}. - * - * @param obj - * the input argument to validate + * + * @param clazz the input argument to validate + * @throws IllegalArgumentException if input is null + */ + private static Class checkNotNull(final Class clazz) { + if (clazz == null) { + throw new IllegalArgumentException("null argument supplied"); + } + return clazz; + } + + /** + * Checks whether or not the input argument is null; otherwise it throws + * [EMAIL PROTECTED] IllegalArgumentException}. + * + * @param string the input argument to validate + * @throws IllegalArgumentException if input is null */ - private static final Object checkNotNull(final Object obj) { - if (obj == null) { + private static String checkNotNull(final String string) { + if (string == null) { throw new IllegalArgumentException("null argument supplied"); } - return obj; + return string; } public void addInterface(Class intf) { @@ -207,8 +225,10 @@ constructor = new GConstructorInfo(names, types); } - public void addOperation(GOperationInfo info) { - operations.put(info.getName(), info); + public void addOperation(GOperationInfo operationInfo) { + operations.put( + new MBeanOperationSignature(operationInfo.getName(), operationInfo.getParameterList()), + operationInfo); } public void addOperation(String name) { @@ -232,7 +252,13 @@ } public GBeanInfo getBeanInfo() { - return new GBeanInfo(name, className, attributes.values(), constructor, operations.values(), references, + return new GBeanInfo( + name, + className, + attributes.values(), + constructor, + operations.values(), + references, notifications); } }