costin 2003/03/26 22:18:47 Modified: modeler/src/java/org/apache/commons/modeler Registry.java modeler/src/java/org/apache/commons/modeler/modules MbeansDescriptorsIntrospectionSource.java MbeansSource.java ModelerSource.java Log: Small bits of refactoring and fixes. Added a method to allow reseting the metadata cache - in case we use class reloading and metadata changes. The right solution is to stop using the static fields. Revision Changes Path 1.26 +9 -0 jakarta-commons/modeler/src/java/org/apache/commons/modeler/Registry.java Index: Registry.java =================================================================== RCS file: /home/cvs/jakarta-commons/modeler/src/java/org/apache/commons/modeler/Registry.java,v retrieving revision 1.25 retrieving revision 1.26 diff -u -r1.25 -r1.26 --- Registry.java 17 Mar 2003 06:48:55 -0000 1.25 +++ Registry.java 27 Mar 2003 06:18:46 -0000 1.26 @@ -355,6 +355,15 @@ // -------------------- Loading data from different sources -------------- + /** The registry will cache the metadata. In some cases we may + * want to reset the cache, to allow reloading of metadata to happen. + * + */ + public void resetMetadata() { + descriptorsByClass = new HashMap(); + descriptors = new HashMap(); + } + /** * Load the registry from the XML input found in the specified input * stream. 1.8 +4 -3 jakarta-commons/modeler/src/java/org/apache/commons/modeler/modules/MbeansDescriptorsIntrospectionSource.java Index: MbeansDescriptorsIntrospectionSource.java =================================================================== RCS file: /home/cvs/jakarta-commons/modeler/src/java/org/apache/commons/modeler/modules/MbeansDescriptorsIntrospectionSource.java,v retrieving revision 1.7 retrieving revision 1.8 diff -u -r1.7 -r1.8 --- MbeansDescriptorsIntrospectionSource.java 26 Feb 2003 22:17:32 -0000 1.7 +++ MbeansDescriptorsIntrospectionSource.java 27 Mar 2003 06:18:47 -0000 1.8 @@ -84,7 +84,7 @@ } private static String strArray[]=new String[0]; - + private static ObjectName objNameArray[]=new ObjectName[0]; // createMBean == registerClass + registerMBean private boolean supportedType( Class ret ) { @@ -96,8 +96,9 @@ ret == java.io.File.class || ret == Boolean.class || ret == Boolean.TYPE || - ret == strArray.getClass() || // XXX ??? - ret == ObjectName.class + ret == strArray.getClass() || + ret == ObjectName.class || + ret == objNameArray.getClass() ; } 1.8 +0 -15 jakarta-commons/modeler/src/java/org/apache/commons/modeler/modules/MbeansSource.java Index: MbeansSource.java =================================================================== RCS file: /home/cvs/jakarta-commons/modeler/src/java/org/apache/commons/modeler/modules/MbeansSource.java,v retrieving revision 1.7 retrieving revision 1.8 diff -u -r1.7 -r1.8 --- MbeansSource.java 28 Feb 2003 04:56:32 -0000 1.7 +++ MbeansSource.java 27 Mar 2003 06:18:47 -0000 1.8 @@ -226,21 +226,6 @@ } - // XXX We should know the type from the mbean metadata - private Object getValueObject( String valueS, String type ) - throws MalformedObjectNameException - { - if( type==null ) - return valueS; - if( "int".equals( type ) || "java.lang.Integer".equals(type) ) { - return new Integer( valueS); - } - if( "ObjectName".equals( type ) || "javax.management.ObjectName".equals(type) ) { - return new ObjectName( valueS); - } - return valueS; - } - private void processArg(Node mbeanN) { Node firstArgN=DomUtil.getChild(mbeanN, "arg" ); // process all args 1.3 +17 -0 jakarta-commons/modeler/src/java/org/apache/commons/modeler/modules/ModelerSource.java Index: ModelerSource.java =================================================================== RCS file: /home/cvs/jakarta-commons/modeler/src/java/org/apache/commons/modeler/modules/ModelerSource.java,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- ModelerSource.java 26 Feb 2003 22:17:32 -0000 1.2 +++ ModelerSource.java 27 Mar 2003 06:18:47 -0000 1.3 @@ -2,6 +2,8 @@ import org.apache.commons.modeler.Registry; import java.util.List; +import javax.management.MalformedObjectNameException; +import javax.management.ObjectName; /** Source for descriptor data. More sources can be added. * @@ -14,5 +16,20 @@ { // TODO return null; + } + + // XXX We should know the type from the mbean metadata + protected Object getValueObject( String valueS, String type ) + throws MalformedObjectNameException + { + if( type==null ) + return valueS; + if( "int".equals( type ) || "java.lang.Integer".equals(type) ) { + return new Integer( valueS); + } + if( "ObjectName".equals( type ) || "javax.management.ObjectName".equals(type) ) { + return new ObjectName( valueS); + } + return valueS; } }
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]