From: Andreas S. <sch...@us...> - 2002-08-23 00:50:11
|
User: schaefera Date: 02/08/22 17:50:10 Modified: src/main/org/jboss/management/mejb ManagementBean.java Log: Added to the MEJB the possibility to also use lower-case attribute names (problem with standard MBeans) and added a test. Revision Changes Path 1.7 +25 -3 jboss-management/src/main/org/jboss/management/mejb/ManagementBean.java Index: ManagementBean.java =================================================================== RCS file: /cvsroot/jboss/jboss-management/src/main/org/jboss/management/mejb/ManagementBean.java,v retrieving revision 1.6 retrieving revision 1.7 diff -u -r1.6 -r1.7 --- ManagementBean.java 16 May 2002 16:57:05 -0000 1.6 +++ ManagementBean.java 23 Aug 2002 00:50:10 -0000 1.7 @@ -55,7 +55,7 @@ * * @author <a href="mailto:mar...@jb...">Marc Fleury</a> * @author <a href="mailto:an...@jb...">Andreas Schaefer</a> - * @version $Revision: 1.6 $ + * @version $Revision: 1.7 $ * * @ejb:bean name="MEJB" * display-name="JBoss Management EJB (MEJB)" @@ -110,6 +110,7 @@ ReflectionException, RemoteException { + pAttribute = checkAttributeName( pAttribute ); if( mManagementService == null ) { return mConnector.getAttribute( pName, pAttribute ); } else { @@ -139,6 +140,9 @@ ReflectionException, RemoteException { + for( int i = 0; i < pAttributes.length; i++ ) { + pAttributes[ i ] = checkAttributeName( pAttributes[ i ] ); + } if( mManagementService == null ) { return mConnector.getAttributes( pName, pAttributes ); } else { @@ -423,6 +427,7 @@ ReflectionException, RemoteException { + Attribute lAttribute = new Attribute( checkAttributeName( pAttribute.getName() ), pAttribute.getValue() ); if( mManagementService == null ) { mConnector.setAttribute( pName, pAttribute ); } else { @@ -452,8 +457,14 @@ ReflectionException, RemoteException { + Iterator i = pAttributes.iterator(); + AttributeList lList = new AttributeList( pAttributes.size() ); + while( i.hasNext() ) { + Attribute lAttribute = (Attribute) i.next(); + lList.add( new Attribute( checkAttributeName( lAttribute.getName() ), lAttribute.getValue() ) ); + } if( mManagementService == null ) { - return setAttributes( pName, pAttributes ); + return setAttributes( pName, lList ); } else { try { return (AttributeList) mConnector.invoke( @@ -461,7 +472,7 @@ "setAttributes", new Object[] { pName, - pAttributes + lList }, new String[] { ObjectName.class.getName(), @@ -1033,5 +1044,16 @@ mServer.removeNotificationListener( pName, pListener ); } + } + + /** + * @return Attribute Name starting with an Uppercase characeter + **/ + private String checkAttributeName( String pName ) { + if( pName != null && pName.length() > 0 ) { + pName = ( pName.substring( 0, 1 ) ).toUpperCase() + + ( pName.length() > 1 ? pName.substring( 1 ) : "" ); + } + return pName; } } |