Return-Path: Delivered-To: apmail-incubator-geronimo-cvs-archive@www.apache.org Received: (qmail 33935 invoked from network); 17 Nov 2003 00:47:19 -0000 Received: from daedalus.apache.org (HELO mail.apache.org) (208.185.179.12) by minotaur-2.apache.org with SMTP; 17 Nov 2003 00:47:19 -0000 Received: (qmail 40205 invoked by uid 500); 17 Nov 2003 00:47:04 -0000 Delivered-To: apmail-incubator-geronimo-cvs-archive@incubator.apache.org Received: (qmail 39916 invoked by uid 500); 17 Nov 2003 00:47:03 -0000 Mailing-List: contact geronimo-cvs-help@incubator.apache.org; run by ezmlm Precedence: bulk list-help: list-unsubscribe: list-post: Reply-To: geronimo-dev@incubator.apache.org Delivered-To: mailing list geronimo-cvs@incubator.apache.org Received: (qmail 39903 invoked from network); 17 Nov 2003 00:47:03 -0000 Received: from unknown (HELO minotaur.apache.org) (209.237.227.194) by daedalus.apache.org with SMTP; 17 Nov 2003 00:47:03 -0000 Received: (qmail 33925 invoked by uid 1724); 17 Nov 2003 00:47:17 -0000 Date: 17 Nov 2003 00:47:17 -0000 Message-ID: <20031117004717.33924.qmail@minotaur.apache.org> From: chirino@apache.org To: incubator-geronimo-cvs@apache.org Subject: cvs commit: incubator-geronimo/modules/kernel/src/java/org/apache/geronimo/kernel/service GeronimoMBeanInfo.java X-Spam-Rating: daedalus.apache.org 1.6.2 0/1000/N X-Spam-Rating: minotaur-2.apache.org 1.6.2 0/1000/N chirino 2003/11/16 16:47:17 Modified: modules/kernel/src/java/org/apache/geronimo/kernel/service GeronimoMBeanInfo.java Log: Added a few methods that makes it easier to add Operatiosn to the GMBean. Revision Changes Path 1.10 +27 -1 incubator-geronimo/modules/kernel/src/java/org/apache/geronimo/kernel/service/GeronimoMBeanInfo.java Index: GeronimoMBeanInfo.java =================================================================== RCS file: /home/cvs/incubator-geronimo/modules/kernel/src/java/org/apache/geronimo/kernel/service/GeronimoMBeanInfo.java,v retrieving revision 1.9 retrieving revision 1.10 diff -u -r1.9 -r1.10 --- GeronimoMBeanInfo.java 16 Nov 2003 23:32:29 -0000 1.9 +++ GeronimoMBeanInfo.java 17 Nov 2003 00:47:17 -0000 1.10 @@ -57,6 +57,7 @@ import java.lang.reflect.Method; import java.lang.reflect.Modifier; +import java.util.ArrayList; import java.util.Collections; import java.util.HashMap; import java.util.HashSet; @@ -315,6 +316,31 @@ operations.add(operationInfo); } + public void addOperationsDeclaredIn(Class clazz) { + if (immutable) { + throw new IllegalStateException("Data is no longer mutable"); + } + Method[] methods = clazz.getDeclaredMethods(); + for (int i = 0; i < methods.length; i++) { + addOperationFor(methods[i]); + } + } + + public void addOperationFor(Method method) { + if (immutable) { + throw new IllegalStateException("Data is no longer mutable"); + } + ArrayList l = new ArrayList(); + Class[] classes = method.getParameterTypes(); + for (int j = 0; j < classes.length; j++) { + Class class1 = classes[j]; + l.add(new GeronimoParameterInfo("arg"+(j+1), class1, "")); + } + GeronimoParameterInfo params[] = new GeronimoParameterInfo[l.size()]; + l.toArray(params); + addOperationInfo(new GeronimoOperationInfo(method.getName(), params, MBeanOperationInfo.ACTION, "")); + } + public Set getNotificationsSet() { return Collections.unmodifiableSet(notifications); }