[jboss-cvs] JBossAS SVN: r81026 - in trunk/mbeans/src: main/org/jboss/mx/interceptor and 11 other directories.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Fri Nov 14 07:51:05 EST 2008
Author: dimitris at jboss.org
Date: 2008-11-14 07:51:05 -0500 (Fri, 14 Nov 2008)
New Revision: 81026
Modified:
trunk/mbeans/src/main/org/jboss/mx/capability/DispatchClassLoader.java
trunk/mbeans/src/main/org/jboss/mx/capability/DispatcherFactory.java
trunk/mbeans/src/main/org/jboss/mx/capability/OptimizedMBeanDispatcher.java
trunk/mbeans/src/main/org/jboss/mx/capability/ReflectedMBeanDispatcher.java
trunk/mbeans/src/main/org/jboss/mx/interceptor/AbstractInterceptor.java
trunk/mbeans/src/main/org/jboss/mx/interceptor/AbstractSharedInterceptor.java
trunk/mbeans/src/main/org/jboss/mx/interceptor/AttributeDispatcher.java
trunk/mbeans/src/main/org/jboss/mx/interceptor/DynamicInterceptor.java
trunk/mbeans/src/main/org/jboss/mx/interceptor/Interceptor.java
trunk/mbeans/src/main/org/jboss/mx/interceptor/InterceptorNameConflictException.java
trunk/mbeans/src/main/org/jboss/mx/interceptor/LogInterceptor.java
trunk/mbeans/src/main/org/jboss/mx/interceptor/ModelMBeanAttributeInterceptor.java
trunk/mbeans/src/main/org/jboss/mx/interceptor/ModelMBeanInfoInterceptor.java
trunk/mbeans/src/main/org/jboss/mx/interceptor/ModelMBeanInterceptor.java
trunk/mbeans/src/main/org/jboss/mx/interceptor/ModelMBeanOperationInterceptor.java
trunk/mbeans/src/main/org/jboss/mx/interceptor/NullInterceptor.java
trunk/mbeans/src/main/org/jboss/mx/interceptor/ObjectReferenceInterceptor.java
trunk/mbeans/src/main/org/jboss/mx/interceptor/PersistenceInterceptor.java
trunk/mbeans/src/main/org/jboss/mx/interceptor/PersistenceInterceptor2.java
trunk/mbeans/src/main/org/jboss/mx/interceptor/ReflectedDispatcher.java
trunk/mbeans/src/main/org/jboss/mx/interceptor/SecurityInterceptor.java
trunk/mbeans/src/main/org/jboss/mx/interceptor/SharedInterceptor.java
trunk/mbeans/src/main/org/jboss/mx/interceptor/StandardMBeanInfoInterceptor.java
trunk/mbeans/src/main/org/jboss/mx/metadata/AbstractBuilder.java
trunk/mbeans/src/main/org/jboss/mx/metadata/AttributeOperationResolver.java
trunk/mbeans/src/main/org/jboss/mx/metadata/IllegalPropertyException.java
trunk/mbeans/src/main/org/jboss/mx/metadata/JBossXMBean10.java
trunk/mbeans/src/main/org/jboss/mx/metadata/MBeanCapability.java
trunk/mbeans/src/main/org/jboss/mx/metadata/MBeanInfoConversion.java
trunk/mbeans/src/main/org/jboss/mx/metadata/MetaDataBuilder.java
trunk/mbeans/src/main/org/jboss/mx/metadata/MethodMapper.java
trunk/mbeans/src/main/org/jboss/mx/metadata/StandardMetaData.java
trunk/mbeans/src/main/org/jboss/mx/metadata/XMBeanEntityResolver.java
trunk/mbeans/src/main/org/jboss/mx/metadata/XMLMetaData.java
trunk/mbeans/src/main/org/jboss/mx/metadata/xb/DescriptorSupportContainer.java
trunk/mbeans/src/main/org/jboss/mx/metadata/xb/Holder.java
trunk/mbeans/src/main/org/jboss/mx/metadata/xb/InterceptorHolder.java
trunk/mbeans/src/main/org/jboss/mx/metadata/xb/InterceptorsHolder.java
trunk/mbeans/src/main/org/jboss/mx/metadata/xb/ModelMBeanAttributeInfoContainer.java
trunk/mbeans/src/main/org/jboss/mx/metadata/xb/ModelMBeanConstructorInfoContainer.java
trunk/mbeans/src/main/org/jboss/mx/metadata/xb/ModelMBeanInfoSupportWrapper.java
trunk/mbeans/src/main/org/jboss/mx/metadata/xb/ModelMBeanNotificationInfoContainer.java
trunk/mbeans/src/main/org/jboss/mx/metadata/xb/ModelMBeanOperationInfoContainer.java
trunk/mbeans/src/main/org/jboss/mx/metadata/xb/PersistPolicy.java
trunk/mbeans/src/main/org/jboss/mx/modelmbean/ModelMBeanInvoker.java
trunk/mbeans/src/main/org/jboss/mx/modelmbean/RequiredModelMBeanInvoker.java
trunk/mbeans/src/main/org/jboss/mx/modelmbean/XMBean.java
trunk/mbeans/src/main/org/jboss/mx/modelmbean/XMBeanConstants.java
trunk/mbeans/src/main/org/jboss/mx/mxbean/CompositeDataInvocationHandler.java
trunk/mbeans/src/main/org/jboss/mx/mxbean/CompositeDataView.java
trunk/mbeans/src/main/org/jboss/mx/mxbean/CompositeTypeMetaData.java
trunk/mbeans/src/main/org/jboss/mx/mxbean/CompositeTypeMetaDataFactory.java
trunk/mbeans/src/main/org/jboss/mx/mxbean/GetterNames.java
trunk/mbeans/src/main/org/jboss/mx/mxbean/ItemMetaData.java
trunk/mbeans/src/main/org/jboss/mx/mxbean/MXBean.java
trunk/mbeans/src/main/org/jboss/mx/mxbean/MXBeanDelegate.java
trunk/mbeans/src/main/org/jboss/mx/mxbean/MXBeanFactory.java
trunk/mbeans/src/main/org/jboss/mx/mxbean/MXBeanInvocationHandler.java
trunk/mbeans/src/main/org/jboss/mx/mxbean/MXBeanMetaData.java
trunk/mbeans/src/main/org/jboss/mx/mxbean/MXBeanSupport.java
trunk/mbeans/src/main/org/jboss/mx/mxbean/MXBeanUtils.java
trunk/mbeans/src/main/org/jboss/mx/mxbean/NotificationType.java
trunk/mbeans/src/main/org/jboss/mx/mxbean/SkeletonOpenType.java
trunk/mbeans/src/main/org/jboss/mx/persistence/AttributePersistenceManager.java
trunk/mbeans/src/main/org/jboss/mx/persistence/DelegatingPersistenceManager.java
trunk/mbeans/src/main/org/jboss/mx/persistence/MBeanInfoOdb.java
trunk/mbeans/src/main/org/jboss/mx/persistence/MbeanInfoDbPm.java
trunk/mbeans/src/main/org/jboss/mx/persistence/NullPersistence.java
trunk/mbeans/src/main/org/jboss/mx/persistence/ObjectStreamPersistenceManager.java
trunk/mbeans/src/main/org/jboss/mx/persistence/PersistenceManager.java
trunk/mbeans/src/main/org/jboss/mx/server/AbstractMBeanInvoker.java
trunk/mbeans/src/main/org/jboss/mx/server/Interceptable.java
trunk/mbeans/src/main/org/jboss/mx/server/Invocation.java
trunk/mbeans/src/main/org/jboss/mx/server/InvocationContext.java
trunk/mbeans/src/main/org/jboss/mx/server/MBeanInvoker.java
trunk/mbeans/src/main/org/jboss/mx/server/MethodMapper.java
trunk/mbeans/src/main/org/jboss/mx/server/Suspendable.java
trunk/mbeans/src/main/org/jboss/mx/server/TCLAction.java
trunk/mbeans/src/main/org/jboss/mx/server/TimeoutException.java
trunk/mbeans/src/main/org/jboss/mx/server/registry/MBeanEntry.java
trunk/mbeans/src/main/org/jboss/mx/server/registry/MbeanInfoDb.java
trunk/mbeans/src/main/org/jboss/mx/service/ServiceConstants.java
trunk/mbeans/src/main/org/jboss/mx/util/JBossNotCompliantMBeanException.java
trunk/mbeans/src/tests/org/jboss/test/mx/mxbean/support/CollectionsInterface.java
trunk/mbeans/src/tests/org/jboss/test/mx/mxbean/support/CollectionsMXBeanSupport.java
trunk/mbeans/src/tests/org/jboss/test/mx/mxbean/support/CollectionsMXBeanSupportMXBean.java
trunk/mbeans/src/tests/org/jboss/test/mx/mxbean/support/CompositeInterface.java
trunk/mbeans/src/tests/org/jboss/test/mx/mxbean/support/CompositeMXBeanSupport.java
trunk/mbeans/src/tests/org/jboss/test/mx/mxbean/support/CompositeMXBeanSupportMXBean.java
trunk/mbeans/src/tests/org/jboss/test/mx/mxbean/support/InvalidInterface.java
trunk/mbeans/src/tests/org/jboss/test/mx/mxbean/support/NullSimpleObject.java
trunk/mbeans/src/tests/org/jboss/test/mx/mxbean/support/SimpleInterface.java
trunk/mbeans/src/tests/org/jboss/test/mx/mxbean/support/SimpleMXBeanSupport.java
trunk/mbeans/src/tests/org/jboss/test/mx/mxbean/support/SimpleMXBeanSupportMXBean.java
trunk/mbeans/src/tests/org/jboss/test/mx/mxbean/support/SimpleObject.java
trunk/mbeans/src/tests/org/jboss/test/mx/mxbean/support/TestEnum.java
trunk/mbeans/src/tests/org/jboss/test/mx/mxbean/support/TestParameterizedType.java
trunk/mbeans/src/tests/org/jboss/test/mx/mxbean/test/AbstractMXBeanTest.java
trunk/mbeans/src/tests/org/jboss/test/mx/mxbean/test/CompositeDataArrayUnitTestCase.java
trunk/mbeans/src/tests/org/jboss/test/mx/mxbean/test/CompositeDataBigDecimalUnitTestCase.java
trunk/mbeans/src/tests/org/jboss/test/mx/mxbean/test/CompositeDataBigIntegerUnitTestCase.java
trunk/mbeans/src/tests/org/jboss/test/mx/mxbean/test/CompositeDataBooleanUnitTestCase.java
trunk/mbeans/src/tests/org/jboss/test/mx/mxbean/test/CompositeDataByteUnitTestCase.java
trunk/mbeans/src/tests/org/jboss/test/mx/mxbean/test/CompositeDataCharacterUnitTestCase.java
trunk/mbeans/src/tests/org/jboss/test/mx/mxbean/test/CompositeDataCollectionUnitTestCase.java
trunk/mbeans/src/tests/org/jboss/test/mx/mxbean/test/CompositeDataCompositeUnitTestCase.java
trunk/mbeans/src/tests/org/jboss/test/mx/mxbean/test/CompositeDataDateUnitTestCase.java
trunk/mbeans/src/tests/org/jboss/test/mx/mxbean/test/CompositeDataDoubleUnitTestCase.java
trunk/mbeans/src/tests/org/jboss/test/mx/mxbean/test/CompositeDataEnumUnitTestCase.java
trunk/mbeans/src/tests/org/jboss/test/mx/mxbean/test/CompositeDataFloatUnitTestCase.java
trunk/mbeans/src/tests/org/jboss/test/mx/mxbean/test/CompositeDataIntegerUnitTestCase.java
trunk/mbeans/src/tests/org/jboss/test/mx/mxbean/test/CompositeDataInvocationHandlerUnitTestCase.java
trunk/mbeans/src/tests/org/jboss/test/mx/mxbean/test/CompositeDataLongUnitTestCase.java
trunk/mbeans/src/tests/org/jboss/test/mx/mxbean/test/CompositeDataMapUnitTestCase.java
trunk/mbeans/src/tests/org/jboss/test/mx/mxbean/test/CompositeDataObjectNameUnitTestCase.java
trunk/mbeans/src/tests/org/jboss/test/mx/mxbean/test/CompositeDataShortUnitTestCase.java
trunk/mbeans/src/tests/org/jboss/test/mx/mxbean/test/CompositeDataStringUnitTestCase.java
trunk/mbeans/src/tests/org/jboss/test/mx/mxbean/test/CompositeDataTest.java
trunk/mbeans/src/tests/org/jboss/test/mx/mxbean/test/CompositeTypeMetaDataFactoryUnitTestCase.java
trunk/mbeans/src/tests/org/jboss/test/mx/mxbean/test/MXBeanInvocationHandlerUnitTestCase.java
trunk/mbeans/src/tests/org/jboss/test/mx/mxbean/test/MXBeanSupportUnitTestCase.java
trunk/mbeans/src/tests/org/jboss/test/mx/mxbean/test/MXBeanTestSuite.java
Log:
JBAS-3916, use the right copyright header
Modified: trunk/mbeans/src/main/org/jboss/mx/capability/DispatchClassLoader.java
===================================================================
--- trunk/mbeans/src/main/org/jboss/mx/capability/DispatchClassLoader.java 2008-11-14 12:49:40 UTC (rev 81025)
+++ trunk/mbeans/src/main/org/jboss/mx/capability/DispatchClassLoader.java 2008-11-14 12:51:05 UTC (rev 81026)
@@ -1,24 +1,24 @@
/*
-* JBoss, Home of Professional Open Source
-* Copyright 2005, JBoss Inc., and individual contributors as indicated
-* by the @authors tag. See the copyright.txt in the distribution for a
-* full listing of individual contributors.
-*
-* This is free software; you can redistribute it and/or modify it
-* under the terms of the GNU Lesser General Public License as
-* published by the Free Software Foundation; either version 2.1 of
-* the License, or (at your option) any later version.
-*
-* This software is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-* Lesser General Public License for more details.
-*
-* You should have received a copy of the GNU Lesser General Public
-* License along with this software; if not, write to the Free
-* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
-* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
-*/
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2008, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
package org.jboss.mx.capability;
/**
Modified: trunk/mbeans/src/main/org/jboss/mx/capability/DispatcherFactory.java
===================================================================
--- trunk/mbeans/src/main/org/jboss/mx/capability/DispatcherFactory.java 2008-11-14 12:49:40 UTC (rev 81025)
+++ trunk/mbeans/src/main/org/jboss/mx/capability/DispatcherFactory.java 2008-11-14 12:51:05 UTC (rev 81026)
@@ -1,24 +1,24 @@
/*
-* JBoss, Home of Professional Open Source
-* Copyright 2005, JBoss Inc., and individual contributors as indicated
-* by the @authors tag. See the copyright.txt in the distribution for a
-* full listing of individual contributors.
-*
-* This is free software; you can redistribute it and/or modify it
-* under the terms of the GNU Lesser General Public License as
-* published by the Free Software Foundation; either version 2.1 of
-* the License, or (at your option) any later version.
-*
-* This software is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-* Lesser General Public License for more details.
-*
-* You should have received a copy of the GNU Lesser General Public
-* License along with this software; if not, write to the Free
-* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
-* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
-*/
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2008, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
package org.jboss.mx.capability;
import org.jboss.mx.metadata.AttributeOperationResolver;
Modified: trunk/mbeans/src/main/org/jboss/mx/capability/OptimizedMBeanDispatcher.java
===================================================================
--- trunk/mbeans/src/main/org/jboss/mx/capability/OptimizedMBeanDispatcher.java 2008-11-14 12:49:40 UTC (rev 81025)
+++ trunk/mbeans/src/main/org/jboss/mx/capability/OptimizedMBeanDispatcher.java 2008-11-14 12:51:05 UTC (rev 81026)
@@ -1,24 +1,24 @@
/*
-* JBoss, Home of Professional Open Source
-* Copyright 2005, JBoss Inc., and individual contributors as indicated
-* by the @authors tag. See the copyright.txt in the distribution for a
-* full listing of individual contributors.
-*
-* This is free software; you can redistribute it and/or modify it
-* under the terms of the GNU Lesser General Public License as
-* published by the Free Software Foundation; either version 2.1 of
-* the License, or (at your option) any later version.
-*
-* This software is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-* Lesser General Public License for more details.
-*
-* You should have received a copy of the GNU Lesser General Public
-* License along with this software; if not, write to the Free
-* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
-* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
-*/
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2008, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
package org.jboss.mx.capability;
import org.apache.bcel.Constants;
Modified: trunk/mbeans/src/main/org/jboss/mx/capability/ReflectedMBeanDispatcher.java
===================================================================
--- trunk/mbeans/src/main/org/jboss/mx/capability/ReflectedMBeanDispatcher.java 2008-11-14 12:49:40 UTC (rev 81025)
+++ trunk/mbeans/src/main/org/jboss/mx/capability/ReflectedMBeanDispatcher.java 2008-11-14 12:51:05 UTC (rev 81026)
@@ -1,24 +1,24 @@
/*
-* JBoss, Home of Professional Open Source
-* Copyright 2005, JBoss Inc., and individual contributors as indicated
-* by the @authors tag. See the copyright.txt in the distribution for a
-* full listing of individual contributors.
-*
-* This is free software; you can redistribute it and/or modify it
-* under the terms of the GNU Lesser General Public License as
-* published by the Free Software Foundation; either version 2.1 of
-* the License, or (at your option) any later version.
-*
-* This software is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-* Lesser General Public License for more details.
-*
-* You should have received a copy of the GNU Lesser General Public
-* License along with this software; if not, write to the Free
-* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
-* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
-*/
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2008, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
package org.jboss.mx.capability;
import org.jboss.mx.metadata.AttributeOperationResolver;
Modified: trunk/mbeans/src/main/org/jboss/mx/interceptor/AbstractInterceptor.java
===================================================================
--- trunk/mbeans/src/main/org/jboss/mx/interceptor/AbstractInterceptor.java 2008-11-14 12:49:40 UTC (rev 81025)
+++ trunk/mbeans/src/main/org/jboss/mx/interceptor/AbstractInterceptor.java 2008-11-14 12:51:05 UTC (rev 81026)
@@ -1,24 +1,24 @@
/*
-* JBoss, Home of Professional Open Source
-* Copyright 2005, JBoss Inc., and individual contributors as indicated
-* by the @authors tag. See the copyright.txt in the distribution for a
-* full listing of individual contributors.
-*
-* This is free software; you can redistribute it and/or modify it
-* under the terms of the GNU Lesser General Public License as
-* published by the Free Software Foundation; either version 2.1 of
-* the License, or (at your option) any later version.
-*
-* This software is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-* Lesser General Public License for more details.
-*
-* You should have received a copy of the GNU Lesser General Public
-* License along with this software; if not, write to the Free
-* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
-* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
-*/
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2008, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
package org.jboss.mx.interceptor;
import javax.management.MBeanServer;
Modified: trunk/mbeans/src/main/org/jboss/mx/interceptor/AbstractSharedInterceptor.java
===================================================================
--- trunk/mbeans/src/main/org/jboss/mx/interceptor/AbstractSharedInterceptor.java 2008-11-14 12:49:40 UTC (rev 81025)
+++ trunk/mbeans/src/main/org/jboss/mx/interceptor/AbstractSharedInterceptor.java 2008-11-14 12:51:05 UTC (rev 81026)
@@ -1,24 +1,24 @@
/*
-* JBoss, Home of Professional Open Source
-* Copyright 2005, JBoss Inc., and individual contributors as indicated
-* by the @authors tag. See the copyright.txt in the distribution for a
-* full listing of individual contributors.
-*
-* This is free software; you can redistribute it and/or modify it
-* under the terms of the GNU Lesser General Public License as
-* published by the Free Software Foundation; either version 2.1 of
-* the License, or (at your option) any later version.
-*
-* This software is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-* Lesser General Public License for more details.
-*
-* You should have received a copy of the GNU Lesser General Public
-* License along with this software; if not, write to the Free
-* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
-* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
-*/
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2008, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
package org.jboss.mx.interceptor;
import java.util.Hashtable;
Modified: trunk/mbeans/src/main/org/jboss/mx/interceptor/AttributeDispatcher.java
===================================================================
--- trunk/mbeans/src/main/org/jboss/mx/interceptor/AttributeDispatcher.java 2008-11-14 12:49:40 UTC (rev 81025)
+++ trunk/mbeans/src/main/org/jboss/mx/interceptor/AttributeDispatcher.java 2008-11-14 12:51:05 UTC (rev 81026)
@@ -1,24 +1,24 @@
/*
-* JBoss, Home of Professional Open Source
-* Copyright 2005, JBoss Inc., and individual contributors as indicated
-* by the @authors tag. See the copyright.txt in the distribution for a
-* full listing of individual contributors.
-*
-* This is free software; you can redistribute it and/or modify it
-* under the terms of the GNU Lesser General Public License as
-* published by the Free Software Foundation; either version 2.1 of
-* the License, or (at your option) any later version.
-*
-* This software is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-* Lesser General Public License for more details.
-*
-* You should have received a copy of the GNU Lesser General Public
-* License along with this software; if not, write to the Free
-* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
-* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
-*/
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2008, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
package org.jboss.mx.interceptor;
import java.lang.reflect.Method;
Modified: trunk/mbeans/src/main/org/jboss/mx/interceptor/DynamicInterceptor.java
===================================================================
--- trunk/mbeans/src/main/org/jboss/mx/interceptor/DynamicInterceptor.java 2008-11-14 12:49:40 UTC (rev 81025)
+++ trunk/mbeans/src/main/org/jboss/mx/interceptor/DynamicInterceptor.java 2008-11-14 12:51:05 UTC (rev 81026)
@@ -1,8 +1,8 @@
/*
- * JBoss, Home of Professional Open Source
- * Copyright 2005, JBoss Inc., and individual contributors as indicated
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2008, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
*
* This is free software; you can redistribute it and/or modify it
* under the terms of the GNU Lesser General Public License as
Modified: trunk/mbeans/src/main/org/jboss/mx/interceptor/Interceptor.java
===================================================================
--- trunk/mbeans/src/main/org/jboss/mx/interceptor/Interceptor.java 2008-11-14 12:49:40 UTC (rev 81025)
+++ trunk/mbeans/src/main/org/jboss/mx/interceptor/Interceptor.java 2008-11-14 12:51:05 UTC (rev 81026)
@@ -1,24 +1,24 @@
/*
-* JBoss, Home of Professional Open Source
-* Copyright 2005, JBoss Inc., and individual contributors as indicated
-* by the @authors tag. See the copyright.txt in the distribution for a
-* full listing of individual contributors.
-*
-* This is free software; you can redistribute it and/or modify it
-* under the terms of the GNU Lesser General Public License as
-* published by the Free Software Foundation; either version 2.1 of
-* the License, or (at your option) any later version.
-*
-* This software is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-* Lesser General Public License for more details.
-*
-* You should have received a copy of the GNU Lesser General Public
-* License along with this software; if not, write to the Free
-* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
-* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
-*/
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2008, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
package org.jboss.mx.interceptor;
import org.jboss.logging.Logger;
Modified: trunk/mbeans/src/main/org/jboss/mx/interceptor/InterceptorNameConflictException.java
===================================================================
--- trunk/mbeans/src/main/org/jboss/mx/interceptor/InterceptorNameConflictException.java 2008-11-14 12:49:40 UTC (rev 81025)
+++ trunk/mbeans/src/main/org/jboss/mx/interceptor/InterceptorNameConflictException.java 2008-11-14 12:51:05 UTC (rev 81026)
@@ -1,24 +1,24 @@
/*
-* JBoss, Home of Professional Open Source
-* Copyright 2005, JBoss Inc., and individual contributors as indicated
-* by the @authors tag. See the copyright.txt in the distribution for a
-* full listing of individual contributors.
-*
-* This is free software; you can redistribute it and/or modify it
-* under the terms of the GNU Lesser General Public License as
-* published by the Free Software Foundation; either version 2.1 of
-* the License, or (at your option) any later version.
-*
-* This software is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-* Lesser General Public License for more details.
-*
-* You should have received a copy of the GNU Lesser General Public
-* License along with this software; if not, write to the Free
-* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
-* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
-*/
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2008, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
package org.jboss.mx.interceptor;
/**
Modified: trunk/mbeans/src/main/org/jboss/mx/interceptor/LogInterceptor.java
===================================================================
--- trunk/mbeans/src/main/org/jboss/mx/interceptor/LogInterceptor.java 2008-11-14 12:49:40 UTC (rev 81025)
+++ trunk/mbeans/src/main/org/jboss/mx/interceptor/LogInterceptor.java 2008-11-14 12:51:05 UTC (rev 81026)
@@ -1,24 +1,24 @@
/*
-* JBoss, Home of Professional Open Source
-* Copyright 2005, JBoss Inc., and individual contributors as indicated
-* by the @authors tag. See the copyright.txt in the distribution for a
-* full listing of individual contributors.
-*
-* This is free software; you can redistribute it and/or modify it
-* under the terms of the GNU Lesser General Public License as
-* published by the Free Software Foundation; either version 2.1 of
-* the License, or (at your option) any later version.
-*
-* This software is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-* Lesser General Public License for more details.
-*
-* You should have received a copy of the GNU Lesser General Public
-* License along with this software; if not, write to the Free
-* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
-* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
-*/
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2008, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
package org.jboss.mx.interceptor;
Modified: trunk/mbeans/src/main/org/jboss/mx/interceptor/ModelMBeanAttributeInterceptor.java
===================================================================
--- trunk/mbeans/src/main/org/jboss/mx/interceptor/ModelMBeanAttributeInterceptor.java 2008-11-14 12:49:40 UTC (rev 81025)
+++ trunk/mbeans/src/main/org/jboss/mx/interceptor/ModelMBeanAttributeInterceptor.java 2008-11-14 12:51:05 UTC (rev 81026)
@@ -1,24 +1,24 @@
/*
-* JBoss, Home of Professional Open Source
-* Copyright 2005, JBoss Inc., and individual contributors as indicated
-* by the @authors tag. See the copyright.txt in the distribution for a
-* full listing of individual contributors.
-*
-* This is free software; you can redistribute it and/or modify it
-* under the terms of the GNU Lesser General Public License as
-* published by the Free Software Foundation; either version 2.1 of
-* the License, or (at your option) any later version.
-*
-* This software is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-* Lesser General Public License for more details.
-*
-* You should have received a copy of the GNU Lesser General Public
-* License along with this software; if not, write to the Free
-* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
-* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
-*/
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2008, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
package org.jboss.mx.interceptor;
import javax.management.Attribute;
Modified: trunk/mbeans/src/main/org/jboss/mx/interceptor/ModelMBeanInfoInterceptor.java
===================================================================
--- trunk/mbeans/src/main/org/jboss/mx/interceptor/ModelMBeanInfoInterceptor.java 2008-11-14 12:49:40 UTC (rev 81025)
+++ trunk/mbeans/src/main/org/jboss/mx/interceptor/ModelMBeanInfoInterceptor.java 2008-11-14 12:51:05 UTC (rev 81026)
@@ -1,24 +1,24 @@
/*
-* JBoss, Home of Professional Open Source
-* Copyright 2005, JBoss Inc., and individual contributors as indicated
-* by the @authors tag. See the copyright.txt in the distribution for a
-* full listing of individual contributors.
-*
-* This is free software; you can redistribute it and/or modify it
-* under the terms of the GNU Lesser General Public License as
-* published by the Free Software Foundation; either version 2.1 of
-* the License, or (at your option) any later version.
-*
-* This software is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-* Lesser General Public License for more details.
-*
-* You should have received a copy of the GNU Lesser General Public
-* License along with this software; if not, write to the Free
-* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
-* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
-*/
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2008, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
package org.jboss.mx.interceptor;
import org.jboss.mx.server.Invocation;
Modified: trunk/mbeans/src/main/org/jboss/mx/interceptor/ModelMBeanInterceptor.java
===================================================================
--- trunk/mbeans/src/main/org/jboss/mx/interceptor/ModelMBeanInterceptor.java 2008-11-14 12:49:40 UTC (rev 81025)
+++ trunk/mbeans/src/main/org/jboss/mx/interceptor/ModelMBeanInterceptor.java 2008-11-14 12:51:05 UTC (rev 81026)
@@ -1,24 +1,24 @@
/*
-* JBoss, Home of Professional Open Source
-* Copyright 2005, JBoss Inc., and individual contributors as indicated
-* by the @authors tag. See the copyright.txt in the distribution for a
-* full listing of individual contributors.
-*
-* This is free software; you can redistribute it and/or modify it
-* under the terms of the GNU Lesser General Public License as
-* published by the Free Software Foundation; either version 2.1 of
-* the License, or (at your option) any later version.
-*
-* This software is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-* Lesser General Public License for more details.
-*
-* You should have received a copy of the GNU Lesser General Public
-* License along with this software; if not, write to the Free
-* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
-* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
-*/
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2008, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
package org.jboss.mx.interceptor;
/** A noop subclass of the ModelMBeanInfoInterceptor for backward compability
Modified: trunk/mbeans/src/main/org/jboss/mx/interceptor/ModelMBeanOperationInterceptor.java
===================================================================
--- trunk/mbeans/src/main/org/jboss/mx/interceptor/ModelMBeanOperationInterceptor.java 2008-11-14 12:49:40 UTC (rev 81025)
+++ trunk/mbeans/src/main/org/jboss/mx/interceptor/ModelMBeanOperationInterceptor.java 2008-11-14 12:51:05 UTC (rev 81026)
@@ -1,24 +1,24 @@
/*
-* JBoss, Home of Professional Open Source
-* Copyright 2005, JBoss Inc., and individual contributors as indicated
-* by the @authors tag. See the copyright.txt in the distribution for a
-* full listing of individual contributors.
-*
-* This is free software; you can redistribute it and/or modify it
-* under the terms of the GNU Lesser General Public License as
-* published by the Free Software Foundation; either version 2.1 of
-* the License, or (at your option) any later version.
-*
-* This software is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-* Lesser General Public License for more details.
-*
-* You should have received a copy of the GNU Lesser General Public
-* License along with this software; if not, write to the Free
-* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
-* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
-*/
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2008, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
package org.jboss.mx.interceptor;
import java.util.Arrays;
Modified: trunk/mbeans/src/main/org/jboss/mx/interceptor/NullInterceptor.java
===================================================================
--- trunk/mbeans/src/main/org/jboss/mx/interceptor/NullInterceptor.java 2008-11-14 12:49:40 UTC (rev 81025)
+++ trunk/mbeans/src/main/org/jboss/mx/interceptor/NullInterceptor.java 2008-11-14 12:51:05 UTC (rev 81026)
@@ -1,24 +1,24 @@
/*
-* JBoss, Home of Professional Open Source
-* Copyright 2005, JBoss Inc., and individual contributors as indicated
-* by the @authors tag. See the copyright.txt in the distribution for a
-* full listing of individual contributors.
-*
-* This is free software; you can redistribute it and/or modify it
-* under the terms of the GNU Lesser General Public License as
-* published by the Free Software Foundation; either version 2.1 of
-* the License, or (at your option) any later version.
-*
-* This software is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-* Lesser General Public License for more details.
-*
-* You should have received a copy of the GNU Lesser General Public
-* License along with this software; if not, write to the Free
-* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
-* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
-*/
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2008, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
package org.jboss.mx.interceptor;
/** A noop subclass of the AbstractInterceptor for backward compability
Modified: trunk/mbeans/src/main/org/jboss/mx/interceptor/ObjectReferenceInterceptor.java
===================================================================
--- trunk/mbeans/src/main/org/jboss/mx/interceptor/ObjectReferenceInterceptor.java 2008-11-14 12:49:40 UTC (rev 81025)
+++ trunk/mbeans/src/main/org/jboss/mx/interceptor/ObjectReferenceInterceptor.java 2008-11-14 12:51:05 UTC (rev 81026)
@@ -1,24 +1,24 @@
/*
-* JBoss, Home of Professional Open Source
-* Copyright 2005, JBoss Inc., and individual contributors as indicated
-* by the @authors tag. See the copyright.txt in the distribution for a
-* full listing of individual contributors.
-*
-* This is free software; you can redistribute it and/or modify it
-* under the terms of the GNU Lesser General Public License as
-* published by the Free Software Foundation; either version 2.1 of
-* the License, or (at your option) any later version.
-*
-* This software is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-* Lesser General Public License for more details.
-*
-* You should have received a copy of the GNU Lesser General Public
-* License along with this software; if not, write to the Free
-* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
-* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
-*/
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2008, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
package org.jboss.mx.interceptor;
/** A noop subclass of the AbstractInterceptor for backward compability
Modified: trunk/mbeans/src/main/org/jboss/mx/interceptor/PersistenceInterceptor.java
===================================================================
--- trunk/mbeans/src/main/org/jboss/mx/interceptor/PersistenceInterceptor.java 2008-11-14 12:49:40 UTC (rev 81025)
+++ trunk/mbeans/src/main/org/jboss/mx/interceptor/PersistenceInterceptor.java 2008-11-14 12:51:05 UTC (rev 81026)
@@ -1,24 +1,24 @@
/*
-* JBoss, Home of Professional Open Source
-* Copyright 2005, JBoss Inc., and individual contributors as indicated
-* by the @authors tag. See the copyright.txt in the distribution for a
-* full listing of individual contributors.
-*
-* This is free software; you can redistribute it and/or modify it
-* under the terms of the GNU Lesser General Public License as
-* published by the Free Software Foundation; either version 2.1 of
-* the License, or (at your option) any later version.
-*
-* This software is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-* Lesser General Public License for more details.
-*
-* You should have received a copy of the GNU Lesser General Public
-* License along with this software; if not, write to the Free
-* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
-* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
-*/
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2008, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
package org.jboss.mx.interceptor;
import java.util.HashMap;
Modified: trunk/mbeans/src/main/org/jboss/mx/interceptor/PersistenceInterceptor2.java
===================================================================
--- trunk/mbeans/src/main/org/jboss/mx/interceptor/PersistenceInterceptor2.java 2008-11-14 12:49:40 UTC (rev 81025)
+++ trunk/mbeans/src/main/org/jboss/mx/interceptor/PersistenceInterceptor2.java 2008-11-14 12:51:05 UTC (rev 81026)
@@ -1,24 +1,24 @@
/*
-* JBoss, Home of Professional Open Source
-* Copyright 2005, JBoss Inc., and individual contributors as indicated
-* by the @authors tag. See the copyright.txt in the distribution for a
-* full listing of individual contributors.
-*
-* This is free software; you can redistribute it and/or modify it
-* under the terms of the GNU Lesser General Public License as
-* published by the Free Software Foundation; either version 2.1 of
-* the License, or (at your option) any later version.
-*
-* This software is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-* Lesser General Public License for more details.
-*
-* You should have received a copy of the GNU Lesser General Public
-* License along with this software; if not, write to the Free
-* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
-* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
-*/
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2008, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
package org.jboss.mx.interceptor;
/** A noop subclass of the PersistenceInterceptor for backward compability
Modified: trunk/mbeans/src/main/org/jboss/mx/interceptor/ReflectedDispatcher.java
===================================================================
--- trunk/mbeans/src/main/org/jboss/mx/interceptor/ReflectedDispatcher.java 2008-11-14 12:49:40 UTC (rev 81025)
+++ trunk/mbeans/src/main/org/jboss/mx/interceptor/ReflectedDispatcher.java 2008-11-14 12:51:05 UTC (rev 81026)
@@ -1,24 +1,24 @@
/*
-* JBoss, Home of Professional Open Source
-* Copyright 2005, JBoss Inc., and individual contributors as indicated
-* by the @authors tag. See the copyright.txt in the distribution for a
-* full listing of individual contributors.
-*
-* This is free software; you can redistribute it and/or modify it
-* under the terms of the GNU Lesser General Public License as
-* published by the Free Software Foundation; either version 2.1 of
-* the License, or (at your option) any later version.
-*
-* This software is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-* Lesser General Public License for more details.
-*
-* You should have received a copy of the GNU Lesser General Public
-* License along with this software; if not, write to the Free
-* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
-* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
-*/
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2008, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
package org.jboss.mx.interceptor;
import java.lang.reflect.InvocationTargetException;
Modified: trunk/mbeans/src/main/org/jboss/mx/interceptor/SecurityInterceptor.java
===================================================================
--- trunk/mbeans/src/main/org/jboss/mx/interceptor/SecurityInterceptor.java 2008-11-14 12:49:40 UTC (rev 81025)
+++ trunk/mbeans/src/main/org/jboss/mx/interceptor/SecurityInterceptor.java 2008-11-14 12:51:05 UTC (rev 81026)
@@ -1,24 +1,24 @@
/*
-* JBoss, Home of Professional Open Source
-* Copyright 2005, JBoss Inc., and individual contributors as indicated
-* by the @authors tag. See the copyright.txt in the distribution for a
-* full listing of individual contributors.
-*
-* This is free software; you can redistribute it and/or modify it
-* under the terms of the GNU Lesser General Public License as
-* published by the Free Software Foundation; either version 2.1 of
-* the License, or (at your option) any later version.
-*
-* This software is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-* Lesser General Public License for more details.
-*
-* You should have received a copy of the GNU Lesser General Public
-* License along with this software; if not, write to the Free
-* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
-* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
-*/
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2008, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
package org.jboss.mx.interceptor;
Modified: trunk/mbeans/src/main/org/jboss/mx/interceptor/SharedInterceptor.java
===================================================================
--- trunk/mbeans/src/main/org/jboss/mx/interceptor/SharedInterceptor.java 2008-11-14 12:49:40 UTC (rev 81025)
+++ trunk/mbeans/src/main/org/jboss/mx/interceptor/SharedInterceptor.java 2008-11-14 12:51:05 UTC (rev 81026)
@@ -1,24 +1,24 @@
/*
-* JBoss, Home of Professional Open Source
-* Copyright 2005, JBoss Inc., and individual contributors as indicated
-* by the @authors tag. See the copyright.txt in the distribution for a
-* full listing of individual contributors.
-*
-* This is free software; you can redistribute it and/or modify it
-* under the terms of the GNU Lesser General Public License as
-* published by the Free Software Foundation; either version 2.1 of
-* the License, or (at your option) any later version.
-*
-* This software is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-* Lesser General Public License for more details.
-*
-* You should have received a copy of the GNU Lesser General Public
-* License along with this software; if not, write to the Free
-* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
-* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
-*/
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2008, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
package org.jboss.mx.interceptor;
import javax.management.MBeanRegistration;
Modified: trunk/mbeans/src/main/org/jboss/mx/interceptor/StandardMBeanInfoInterceptor.java
===================================================================
--- trunk/mbeans/src/main/org/jboss/mx/interceptor/StandardMBeanInfoInterceptor.java 2008-11-14 12:49:40 UTC (rev 81025)
+++ trunk/mbeans/src/main/org/jboss/mx/interceptor/StandardMBeanInfoInterceptor.java 2008-11-14 12:51:05 UTC (rev 81026)
@@ -1,24 +1,24 @@
/*
-* JBoss, Home of Professional Open Source
-* Copyright 2005, JBoss Inc., and individual contributors as indicated
-* by the @authors tag. See the copyright.txt in the distribution for a
-* full listing of individual contributors.
-*
-* This is free software; you can redistribute it and/or modify it
-* under the terms of the GNU Lesser General Public License as
-* published by the Free Software Foundation; either version 2.1 of
-* the License, or (at your option) any later version.
-*
-* This software is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-* Lesser General Public License for more details.
-*
-* You should have received a copy of the GNU Lesser General Public
-* License along with this software; if not, write to the Free
-* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
-* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
-*/
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2008, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
package org.jboss.mx.interceptor;
import javax.management.MBeanInfo;
Modified: trunk/mbeans/src/main/org/jboss/mx/metadata/AbstractBuilder.java
===================================================================
--- trunk/mbeans/src/main/org/jboss/mx/metadata/AbstractBuilder.java 2008-11-14 12:49:40 UTC (rev 81025)
+++ trunk/mbeans/src/main/org/jboss/mx/metadata/AbstractBuilder.java 2008-11-14 12:51:05 UTC (rev 81026)
@@ -1,24 +1,24 @@
/*
-* JBoss, Home of Professional Open Source
-* Copyright 2005, JBoss Inc., and individual contributors as indicated
-* by the @authors tag. See the copyright.txt in the distribution for a
-* full listing of individual contributors.
-*
-* This is free software; you can redistribute it and/or modify it
-* under the terms of the GNU Lesser General Public License as
-* published by the Free Software Foundation; either version 2.1 of
-* the License, or (at your option) any later version.
-*
-* This software is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-* Lesser General Public License for more details.
-*
-* You should have received a copy of the GNU Lesser General Public
-* License along with this software; if not, write to the Free
-* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
-* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
-*/
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2008, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
package org.jboss.mx.metadata;
import java.util.Map;
Modified: trunk/mbeans/src/main/org/jboss/mx/metadata/AttributeOperationResolver.java
===================================================================
--- trunk/mbeans/src/main/org/jboss/mx/metadata/AttributeOperationResolver.java 2008-11-14 12:49:40 UTC (rev 81025)
+++ trunk/mbeans/src/main/org/jboss/mx/metadata/AttributeOperationResolver.java 2008-11-14 12:51:05 UTC (rev 81026)
@@ -1,24 +1,24 @@
/*
-* JBoss, Home of Professional Open Source
-* Copyright 2005, JBoss Inc., and individual contributors as indicated
-* by the @authors tag. See the copyright.txt in the distribution for a
-* full listing of individual contributors.
-*
-* This is free software; you can redistribute it and/or modify it
-* under the terms of the GNU Lesser General Public License as
-* published by the Free Software Foundation; either version 2.1 of
-* the License, or (at your option) any later version.
-*
-* This software is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-* Lesser General Public License for more details.
-*
-* You should have received a copy of the GNU Lesser General Public
-* License along with this software; if not, write to the Free
-* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
-* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
-*/
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2008, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
package org.jboss.mx.metadata;
import javax.management.MBeanAttributeInfo;
Modified: trunk/mbeans/src/main/org/jboss/mx/metadata/IllegalPropertyException.java
===================================================================
--- trunk/mbeans/src/main/org/jboss/mx/metadata/IllegalPropertyException.java 2008-11-14 12:49:40 UTC (rev 81025)
+++ trunk/mbeans/src/main/org/jboss/mx/metadata/IllegalPropertyException.java 2008-11-14 12:51:05 UTC (rev 81026)
@@ -1,24 +1,24 @@
/*
-* JBoss, Home of Professional Open Source
-* Copyright 2005, JBoss Inc., and individual contributors as indicated
-* by the @authors tag. See the copyright.txt in the distribution for a
-* full listing of individual contributors.
-*
-* This is free software; you can redistribute it and/or modify it
-* under the terms of the GNU Lesser General Public License as
-* published by the Free Software Foundation; either version 2.1 of
-* the License, or (at your option) any later version.
-*
-* This software is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-* Lesser General Public License for more details.
-*
-* You should have received a copy of the GNU Lesser General Public
-* License along with this software; if not, write to the Free
-* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
-* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
-*/
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2008, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
package org.jboss.mx.metadata;
/**
* Exception thrown when a property has an illegal value.
Modified: trunk/mbeans/src/main/org/jboss/mx/metadata/JBossXMBean10.java
===================================================================
--- trunk/mbeans/src/main/org/jboss/mx/metadata/JBossXMBean10.java 2008-11-14 12:49:40 UTC (rev 81025)
+++ trunk/mbeans/src/main/org/jboss/mx/metadata/JBossXMBean10.java 2008-11-14 12:51:05 UTC (rev 81026)
@@ -1,8 +1,8 @@
/*
- * JBoss, Home of Professional Open Source
- * Copyright 2005, JBoss Inc., and individual contributors as indicated
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2008, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
*
* This is free software; you can redistribute it and/or modify it
* under the terms of the GNU Lesser General Public License as
Modified: trunk/mbeans/src/main/org/jboss/mx/metadata/MBeanCapability.java
===================================================================
--- trunk/mbeans/src/main/org/jboss/mx/metadata/MBeanCapability.java 2008-11-14 12:49:40 UTC (rev 81025)
+++ trunk/mbeans/src/main/org/jboss/mx/metadata/MBeanCapability.java 2008-11-14 12:51:05 UTC (rev 81026)
@@ -1,24 +1,24 @@
/*
-* JBoss, Home of Professional Open Source
-* Copyright 2005, JBoss Inc., and individual contributors as indicated
-* by the @authors tag. See the copyright.txt in the distribution for a
-* full listing of individual contributors.
-*
-* This is free software; you can redistribute it and/or modify it
-* under the terms of the GNU Lesser General Public License as
-* published by the Free Software Foundation; either version 2.1 of
-* the License, or (at your option) any later version.
-*
-* This software is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-* Lesser General Public License for more details.
-*
-* You should have received a copy of the GNU Lesser General Public
-* License along with this software; if not, write to the Free
-* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
-* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
-*/
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2008, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
package org.jboss.mx.metadata;
import javax.management.DynamicMBean;
Modified: trunk/mbeans/src/main/org/jboss/mx/metadata/MBeanInfoConversion.java
===================================================================
--- trunk/mbeans/src/main/org/jboss/mx/metadata/MBeanInfoConversion.java 2008-11-14 12:49:40 UTC (rev 81025)
+++ trunk/mbeans/src/main/org/jboss/mx/metadata/MBeanInfoConversion.java 2008-11-14 12:51:05 UTC (rev 81026)
@@ -1,24 +1,24 @@
/*
-* JBoss, Home of Professional Open Source
-* Copyright 2005, JBoss Inc., and individual contributors as indicated
-* by the @authors tag. See the copyright.txt in the distribution for a
-* full listing of individual contributors.
-*
-* This is free software; you can redistribute it and/or modify it
-* under the terms of the GNU Lesser General Public License as
-* published by the Free Software Foundation; either version 2.1 of
-* the License, or (at your option) any later version.
-*
-* This software is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-* Lesser General Public License for more details.
-*
-* You should have received a copy of the GNU Lesser General Public
-* License along with this software; if not, write to the Free
-* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
-* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
-*/
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2008, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
package org.jboss.mx.metadata;
import java.util.ArrayList;
Modified: trunk/mbeans/src/main/org/jboss/mx/metadata/MetaDataBuilder.java
===================================================================
--- trunk/mbeans/src/main/org/jboss/mx/metadata/MetaDataBuilder.java 2008-11-14 12:49:40 UTC (rev 81025)
+++ trunk/mbeans/src/main/org/jboss/mx/metadata/MetaDataBuilder.java 2008-11-14 12:51:05 UTC (rev 81026)
@@ -1,24 +1,24 @@
/*
-* JBoss, Home of Professional Open Source
-* Copyright 2005, JBoss Inc., and individual contributors as indicated
-* by the @authors tag. See the copyright.txt in the distribution for a
-* full listing of individual contributors.
-*
-* This is free software; you can redistribute it and/or modify it
-* under the terms of the GNU Lesser General Public License as
-* published by the Free Software Foundation; either version 2.1 of
-* the License, or (at your option) any later version.
-*
-* This software is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-* Lesser General Public License for more details.
-*
-* You should have received a copy of the GNU Lesser General Public
-* License along with this software; if not, write to the Free
-* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
-* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
-*/
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2008, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
package org.jboss.mx.metadata;
import javax.management.MBeanInfo;
Modified: trunk/mbeans/src/main/org/jboss/mx/metadata/MethodMapper.java
===================================================================
--- trunk/mbeans/src/main/org/jboss/mx/metadata/MethodMapper.java 2008-11-14 12:49:40 UTC (rev 81025)
+++ trunk/mbeans/src/main/org/jboss/mx/metadata/MethodMapper.java 2008-11-14 12:51:05 UTC (rev 81026)
@@ -1,24 +1,24 @@
/*
-* JBoss, Home of Professional Open Source
-* Copyright 2005, JBoss Inc., and individual contributors as indicated
-* by the @authors tag. See the copyright.txt in the distribution for a
-* full listing of individual contributors.
-*
-* This is free software; you can redistribute it and/or modify it
-* under the terms of the GNU Lesser General Public License as
-* published by the Free Software Foundation; either version 2.1 of
-* the License, or (at your option) any later version.
-*
-* This software is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-* Lesser General Public License for more details.
-*
-* You should have received a copy of the GNU Lesser General Public
-* License along with this software; if not, write to the Free
-* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
-* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
-*/
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2008, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
package org.jboss.mx.metadata;
import javax.management.MBeanAttributeInfo;
Modified: trunk/mbeans/src/main/org/jboss/mx/metadata/StandardMetaData.java
===================================================================
--- trunk/mbeans/src/main/org/jboss/mx/metadata/StandardMetaData.java 2008-11-14 12:49:40 UTC (rev 81025)
+++ trunk/mbeans/src/main/org/jboss/mx/metadata/StandardMetaData.java 2008-11-14 12:51:05 UTC (rev 81026)
@@ -1,24 +1,24 @@
/*
-* JBoss, Home of Professional Open Source
-* Copyright 2005, JBoss Inc., and individual contributors as indicated
-* by the @authors tag. See the copyright.txt in the distribution for a
-* full listing of individual contributors.
-*
-* This is free software; you can redistribute it and/or modify it
-* under the terms of the GNU Lesser General Public License as
-* published by the Free Software Foundation; either version 2.1 of
-* the License, or (at your option) any later version.
-*
-* This software is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-* Lesser General Public License for more details.
-*
-* You should have received a copy of the GNU Lesser General Public
-* License along with this software; if not, write to the Free
-* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
-* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
-*/
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2008, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
package org.jboss.mx.metadata;
import java.lang.reflect.Constructor;
Modified: trunk/mbeans/src/main/org/jboss/mx/metadata/XMBeanEntityResolver.java
===================================================================
--- trunk/mbeans/src/main/org/jboss/mx/metadata/XMBeanEntityResolver.java 2008-11-14 12:49:40 UTC (rev 81025)
+++ trunk/mbeans/src/main/org/jboss/mx/metadata/XMBeanEntityResolver.java 2008-11-14 12:51:05 UTC (rev 81026)
@@ -1,24 +1,24 @@
/*
-* JBoss, Home of Professional Open Source
-* Copyright 2005, JBoss Inc., and individual contributors as indicated
-* by the @authors tag. See the copyright.txt in the distribution for a
-* full listing of individual contributors.
-*
-* This is free software; you can redistribute it and/or modify it
-* under the terms of the GNU Lesser General Public License as
-* published by the Free Software Foundation; either version 2.1 of
-* the License, or (at your option) any later version.
-*
-* This software is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-* Lesser General Public License for more details.
-*
-* You should have received a copy of the GNU Lesser General Public
-* License along with this software; if not, write to the Free
-* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
-* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
-*/
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2008, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
package org.jboss.mx.metadata;
import java.io.InputStream;
Modified: trunk/mbeans/src/main/org/jboss/mx/metadata/XMLMetaData.java
===================================================================
--- trunk/mbeans/src/main/org/jboss/mx/metadata/XMLMetaData.java 2008-11-14 12:49:40 UTC (rev 81025)
+++ trunk/mbeans/src/main/org/jboss/mx/metadata/XMLMetaData.java 2008-11-14 12:51:05 UTC (rev 81026)
@@ -1,24 +1,24 @@
/*
-* JBoss, Home of Professional Open Source
-* Copyright 2005, JBoss Inc., and individual contributors as indicated
-* by the @authors tag. See the copyright.txt in the distribution for a
-* full listing of individual contributors.
-*
-* This is free software; you can redistribute it and/or modify it
-* under the terms of the GNU Lesser General Public License as
-* published by the Free Software Foundation; either version 2.1 of
-* the License, or (at your option) any later version.
-*
-* This software is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-* Lesser General Public License for more details.
-*
-* You should have received a copy of the GNU Lesser General Public
-* License along with this software; if not, write to the Free
-* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
-* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
-*/
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2008, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
package org.jboss.mx.metadata;
// $Id$
Modified: trunk/mbeans/src/main/org/jboss/mx/metadata/xb/DescriptorSupportContainer.java
===================================================================
--- trunk/mbeans/src/main/org/jboss/mx/metadata/xb/DescriptorSupportContainer.java 2008-11-14 12:49:40 UTC (rev 81025)
+++ trunk/mbeans/src/main/org/jboss/mx/metadata/xb/DescriptorSupportContainer.java 2008-11-14 12:51:05 UTC (rev 81026)
@@ -1,25 +1,24 @@
/*
- * JBoss, Home of Professional Open Source
- * Copyright 2005, JBoss Inc., and individual contributors as indicated
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * This is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This software is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this software; if not, write to the Free
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
- */
-
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2008, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
package org.jboss.mx.metadata.xb;
import javax.management.modelmbean.DescriptorSupport;
Modified: trunk/mbeans/src/main/org/jboss/mx/metadata/xb/Holder.java
===================================================================
--- trunk/mbeans/src/main/org/jboss/mx/metadata/xb/Holder.java 2008-11-14 12:49:40 UTC (rev 81025)
+++ trunk/mbeans/src/main/org/jboss/mx/metadata/xb/Holder.java 2008-11-14 12:51:05 UTC (rev 81026)
@@ -1,25 +1,24 @@
/*
- * JBoss, Home of Professional Open Source
- * Copyright 2005, JBoss Inc., and individual contributors as indicated
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * This is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This software is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this software; if not, write to the Free
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
- */
-
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2008, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
package org.jboss.mx.metadata.xb;
/**
Modified: trunk/mbeans/src/main/org/jboss/mx/metadata/xb/InterceptorHolder.java
===================================================================
--- trunk/mbeans/src/main/org/jboss/mx/metadata/xb/InterceptorHolder.java 2008-11-14 12:49:40 UTC (rev 81025)
+++ trunk/mbeans/src/main/org/jboss/mx/metadata/xb/InterceptorHolder.java 2008-11-14 12:51:05 UTC (rev 81026)
@@ -1,24 +1,24 @@
/*
-* JBoss, Home of Professional Open Source
-* Copyright 2006, JBoss Inc., and individual contributors as indicated
-* by the @authors tag. See the copyright.txt in the distribution for a
-* full listing of individual contributors.
-*
-* This is free software; you can redistribute it and/or modify it
-* under the terms of the GNU Lesser General Public License as
-* published by the Free Software Foundation; either version 2.1 of
-* the License, or (at your option) any later version.
-*
-* This software is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-* Lesser General Public License for more details.
-*
-* You should have received a copy of the GNU Lesser General Public
-* License along with this software; if not, write to the Free
-* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
-* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
-*/
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2008, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
package org.jboss.mx.metadata.xb;
import org.jboss.mx.interceptor.Interceptor;
Modified: trunk/mbeans/src/main/org/jboss/mx/metadata/xb/InterceptorsHolder.java
===================================================================
--- trunk/mbeans/src/main/org/jboss/mx/metadata/xb/InterceptorsHolder.java 2008-11-14 12:49:40 UTC (rev 81025)
+++ trunk/mbeans/src/main/org/jboss/mx/metadata/xb/InterceptorsHolder.java 2008-11-14 12:51:05 UTC (rev 81026)
@@ -1,25 +1,24 @@
/*
- * JBoss, Home of Professional Open Source
- * Copyright 2005, JBoss Inc., and individual contributors as indicated
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * This is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This software is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this software; if not, write to the Free
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
- */
-
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2008, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
package org.jboss.mx.metadata.xb;
import java.util.ArrayList;
Modified: trunk/mbeans/src/main/org/jboss/mx/metadata/xb/ModelMBeanAttributeInfoContainer.java
===================================================================
--- trunk/mbeans/src/main/org/jboss/mx/metadata/xb/ModelMBeanAttributeInfoContainer.java 2008-11-14 12:49:40 UTC (rev 81025)
+++ trunk/mbeans/src/main/org/jboss/mx/metadata/xb/ModelMBeanAttributeInfoContainer.java 2008-11-14 12:51:05 UTC (rev 81026)
@@ -1,25 +1,24 @@
/*
- * JBoss, Home of Professional Open Source
- * Copyright 2005, JBoss Inc., and individual contributors as indicated
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * This is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This software is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this software; if not, write to the Free
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
- */
-
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2008, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
package org.jboss.mx.metadata.xb;
import javax.management.Descriptor;
Modified: trunk/mbeans/src/main/org/jboss/mx/metadata/xb/ModelMBeanConstructorInfoContainer.java
===================================================================
--- trunk/mbeans/src/main/org/jboss/mx/metadata/xb/ModelMBeanConstructorInfoContainer.java 2008-11-14 12:49:40 UTC (rev 81025)
+++ trunk/mbeans/src/main/org/jboss/mx/metadata/xb/ModelMBeanConstructorInfoContainer.java 2008-11-14 12:51:05 UTC (rev 81026)
@@ -1,25 +1,24 @@
/*
- * JBoss, Home of Professional Open Source
- * Copyright 2005, JBoss Inc., and individual contributors as indicated
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * This is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This software is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this software; if not, write to the Free
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
- */
-
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2008, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
package org.jboss.mx.metadata.xb;
import java.util.ArrayList;
Modified: trunk/mbeans/src/main/org/jboss/mx/metadata/xb/ModelMBeanInfoSupportWrapper.java
===================================================================
--- trunk/mbeans/src/main/org/jboss/mx/metadata/xb/ModelMBeanInfoSupportWrapper.java 2008-11-14 12:49:40 UTC (rev 81025)
+++ trunk/mbeans/src/main/org/jboss/mx/metadata/xb/ModelMBeanInfoSupportWrapper.java 2008-11-14 12:51:05 UTC (rev 81026)
@@ -1,25 +1,24 @@
/*
- * JBoss, Home of Professional Open Source
- * Copyright 2005, JBoss Inc., and individual contributors as indicated
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * This is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This software is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this software; if not, write to the Free
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
- */
-
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2008, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
package org.jboss.mx.metadata.xb;
import java.util.ArrayList;
Modified: trunk/mbeans/src/main/org/jboss/mx/metadata/xb/ModelMBeanNotificationInfoContainer.java
===================================================================
--- trunk/mbeans/src/main/org/jboss/mx/metadata/xb/ModelMBeanNotificationInfoContainer.java 2008-11-14 12:49:40 UTC (rev 81025)
+++ trunk/mbeans/src/main/org/jboss/mx/metadata/xb/ModelMBeanNotificationInfoContainer.java 2008-11-14 12:51:05 UTC (rev 81026)
@@ -1,25 +1,24 @@
/*
- * JBoss, Home of Professional Open Source
- * Copyright 2005, JBoss Inc., and individual contributors as indicated
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * This is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This software is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this software; if not, write to the Free
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
- */
-
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2008, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
package org.jboss.mx.metadata.xb;
import java.util.ArrayList;
Modified: trunk/mbeans/src/main/org/jboss/mx/metadata/xb/ModelMBeanOperationInfoContainer.java
===================================================================
--- trunk/mbeans/src/main/org/jboss/mx/metadata/xb/ModelMBeanOperationInfoContainer.java 2008-11-14 12:49:40 UTC (rev 81025)
+++ trunk/mbeans/src/main/org/jboss/mx/metadata/xb/ModelMBeanOperationInfoContainer.java 2008-11-14 12:51:05 UTC (rev 81026)
@@ -1,25 +1,24 @@
/*
- * JBoss, Home of Professional Open Source
- * Copyright 2005, JBoss Inc., and individual contributors as indicated
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * This is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This software is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this software; if not, write to the Free
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
- */
-
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2008, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
package org.jboss.mx.metadata.xb;
import java.util.ArrayList;
Modified: trunk/mbeans/src/main/org/jboss/mx/metadata/xb/PersistPolicy.java
===================================================================
--- trunk/mbeans/src/main/org/jboss/mx/metadata/xb/PersistPolicy.java 2008-11-14 12:49:40 UTC (rev 81025)
+++ trunk/mbeans/src/main/org/jboss/mx/metadata/xb/PersistPolicy.java 2008-11-14 12:51:05 UTC (rev 81026)
@@ -1,25 +1,24 @@
/*
- * JBoss, Home of Professional Open Source
- * Copyright 2005, JBoss Inc., and individual contributors as indicated
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * This is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This software is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this software; if not, write to the Free
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
- */
-
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2008, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
package org.jboss.mx.metadata.xb;
/**
Modified: trunk/mbeans/src/main/org/jboss/mx/modelmbean/ModelMBeanInvoker.java
===================================================================
--- trunk/mbeans/src/main/org/jboss/mx/modelmbean/ModelMBeanInvoker.java 2008-11-14 12:49:40 UTC (rev 81025)
+++ trunk/mbeans/src/main/org/jboss/mx/modelmbean/ModelMBeanInvoker.java 2008-11-14 12:51:05 UTC (rev 81026)
@@ -1,8 +1,8 @@
/*
- * JBoss, Home of Professional Open Source
- * Copyright 2005, JBoss Inc., and individual contributors as indicated
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2008, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
*
* This is free software; you can redistribute it and/or modify it
* under the terms of the GNU Lesser General Public License as
Modified: trunk/mbeans/src/main/org/jboss/mx/modelmbean/RequiredModelMBeanInvoker.java
===================================================================
--- trunk/mbeans/src/main/org/jboss/mx/modelmbean/RequiredModelMBeanInvoker.java 2008-11-14 12:49:40 UTC (rev 81025)
+++ trunk/mbeans/src/main/org/jboss/mx/modelmbean/RequiredModelMBeanInvoker.java 2008-11-14 12:51:05 UTC (rev 81026)
@@ -1,24 +1,24 @@
/*
-* JBoss, Home of Professional Open Source
-* Copyright 2005, JBoss Inc., and individual contributors as indicated
-* by the @authors tag. See the copyright.txt in the distribution for a
-* full listing of individual contributors.
-*
-* This is free software; you can redistribute it and/or modify it
-* under the terms of the GNU Lesser General Public License as
-* published by the Free Software Foundation; either version 2.1 of
-* the License, or (at your option) any later version.
-*
-* This software is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-* Lesser General Public License for more details.
-*
-* You should have received a copy of the GNU Lesser General Public
-* License along with this software; if not, write to the Free
-* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
-* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
-*/
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2008, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
package org.jboss.mx.modelmbean;
import javax.management.Attribute;
Modified: trunk/mbeans/src/main/org/jboss/mx/modelmbean/XMBean.java
===================================================================
--- trunk/mbeans/src/main/org/jboss/mx/modelmbean/XMBean.java 2008-11-14 12:49:40 UTC (rev 81025)
+++ trunk/mbeans/src/main/org/jboss/mx/modelmbean/XMBean.java 2008-11-14 12:51:05 UTC (rev 81026)
@@ -1,24 +1,24 @@
/*
-* JBoss, Home of Professional Open Source
-* Copyright 2005, JBoss Inc., and individual contributors as indicated
-* by the @authors tag. See the copyright.txt in the distribution for a
-* full listing of individual contributors.
-*
-* This is free software; you can redistribute it and/or modify it
-* under the terms of the GNU Lesser General Public License as
-* published by the Free Software Foundation; either version 2.1 of
-* the License, or (at your option) any later version.
-*
-* This software is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-* Lesser General Public License for more details.
-*
-* You should have received a copy of the GNU Lesser General Public
-* License along with this software; if not, write to the Free
-* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
-* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
-*/
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2008, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
package org.jboss.mx.modelmbean;
import java.net.MalformedURLException;
Modified: trunk/mbeans/src/main/org/jboss/mx/modelmbean/XMBeanConstants.java
===================================================================
--- trunk/mbeans/src/main/org/jboss/mx/modelmbean/XMBeanConstants.java 2008-11-14 12:49:40 UTC (rev 81025)
+++ trunk/mbeans/src/main/org/jboss/mx/modelmbean/XMBeanConstants.java 2008-11-14 12:51:05 UTC (rev 81026)
@@ -1,24 +1,24 @@
/*
-* JBoss, Home of Professional Open Source
-* Copyright 2005, JBoss Inc., and individual contributors as indicated
-* by the @authors tag. See the copyright.txt in the distribution for a
-* full listing of individual contributors.
-*
-* This is free software; you can redistribute it and/or modify it
-* under the terms of the GNU Lesser General Public License as
-* published by the Free Software Foundation; either version 2.1 of
-* the License, or (at your option) any later version.
-*
-* This software is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-* Lesser General Public License for more details.
-*
-* You should have received a copy of the GNU Lesser General Public
-* License along with this software; if not, write to the Free
-* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
-* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
-*/
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2008, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
package org.jboss.mx.modelmbean;
/**
Modified: trunk/mbeans/src/main/org/jboss/mx/mxbean/CompositeDataInvocationHandler.java
===================================================================
--- trunk/mbeans/src/main/org/jboss/mx/mxbean/CompositeDataInvocationHandler.java 2008-11-14 12:49:40 UTC (rev 81025)
+++ trunk/mbeans/src/main/org/jboss/mx/mxbean/CompositeDataInvocationHandler.java 2008-11-14 12:51:05 UTC (rev 81026)
@@ -1,115 +1,115 @@
-/*
-* JBoss, Home of Professional Open Source
-* Copyright 2006, JBoss Inc., and individual contributors as indicated
-* by the @authors tag. See the copyright.txt in the distribution for a
-* full listing of individual contributors.
-*
-* This is free software; you can redistribute it and/or modify it
-* under the terms of the GNU Lesser General Public License as
-* published by the Free Software Foundation; either version 2.1 of
-* the License, or (at your option) any later version.
-*
-* This software is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-* Lesser General Public License for more details.
-*
-* You should have received a copy of the GNU Lesser General Public
-* License along with this software; if not, write to the Free
-* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
-* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
-*/
-package org.jboss.mx.mxbean;
-
-import java.lang.reflect.InvocationHandler;
-import java.lang.reflect.Method;
-import java.lang.reflect.Proxy;
-import java.lang.reflect.Type;
-
-import javax.management.openmbean.CompositeData;
-import javax.management.openmbean.InvalidKeyException;
-
-import org.jboss.util.UnreachableStatementException;
-
-/**
- * CompositeDataInvocationHandler.
- *
- * @author <a href="adrian at jboss.com">Adrian Brock</a>
- * @version $Revision: 1.1 $
- */
-public class CompositeDataInvocationHandler implements InvocationHandler
-{
- /** The composite data */
- private CompositeData compositeData;
-
- /**
- * Create a new CompositeDataInvocationHandler.
- *
- * @param compositeData
- */
- public CompositeDataInvocationHandler(CompositeData compositeData)
- {
- if (compositeData == null)
- throw new IllegalArgumentException("Null compositeData");
- this.compositeData = compositeData;
- }
-
- /**
- * Get the compositeData.
- *
- * @return the compositeData.
- */
- public CompositeData getCompositeData()
- {
- return compositeData;
- }
-
- public Object invoke(Object proxy, Method method, Object[] args) throws Throwable
- {
- if (Object.class.equals(method.getDeclaringClass()))
- return handleObjectInvocation(method.getName(), args);
-
- Object value = getValue(method);
-
- Type returnType = method.getGenericReturnType();
- return MXBeanUtils.reconstruct(returnType, value, method);
- }
-
- private Object getValue(Method method)
- {
- String key = MXBeanUtils.getCompositeDataKey(method);
- if (key == null)
- throw new IllegalArgumentException("Unsupported method '" + method + "'; it must be a property getter.");
- try
- {
- return compositeData.get(key);
- }
- catch (InvalidKeyException e)
- {
- throw new IllegalArgumentException("Unsupported method '" + method + "'; it must be a property getter for one of the item names of the composite data: " + compositeData, e);
- }
- }
-
- private Object handleObjectInvocation(String name, Object[] args) throws Throwable
- {
- if ("equals".equals(name))
- {
- Object object = args[0];
- if (object == null || object instanceof Proxy == false)
- return false;
- InvocationHandler handler = Proxy.getInvocationHandler(object);
- if (handler == this)
- return true;
- if (handler == null || handler instanceof CompositeDataInvocationHandler == false)
- return false;
-
- CompositeDataInvocationHandler other = (CompositeDataInvocationHandler) handler;
- return getCompositeData().equals(other.getCompositeData());
- }
- else if ("hashCode".equals(name))
- return getCompositeData().hashCode();
- else if ("toString".equals(name))
- return getCompositeData().toString();
- throw new UnreachableStatementException();
- }
-}
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2008, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.mx.mxbean;
+
+import java.lang.reflect.InvocationHandler;
+import java.lang.reflect.Method;
+import java.lang.reflect.Proxy;
+import java.lang.reflect.Type;
+
+import javax.management.openmbean.CompositeData;
+import javax.management.openmbean.InvalidKeyException;
+
+import org.jboss.util.UnreachableStatementException;
+
+/**
+ * CompositeDataInvocationHandler.
+ *
+ * @author <a href="adrian at jboss.com">Adrian Brock</a>
+ * @version $Revision: 1.1 $
+ */
+public class CompositeDataInvocationHandler implements InvocationHandler
+{
+ /** The composite data */
+ private CompositeData compositeData;
+
+ /**
+ * Create a new CompositeDataInvocationHandler.
+ *
+ * @param compositeData
+ */
+ public CompositeDataInvocationHandler(CompositeData compositeData)
+ {
+ if (compositeData == null)
+ throw new IllegalArgumentException("Null compositeData");
+ this.compositeData = compositeData;
+ }
+
+ /**
+ * Get the compositeData.
+ *
+ * @return the compositeData.
+ */
+ public CompositeData getCompositeData()
+ {
+ return compositeData;
+ }
+
+ public Object invoke(Object proxy, Method method, Object[] args) throws Throwable
+ {
+ if (Object.class.equals(method.getDeclaringClass()))
+ return handleObjectInvocation(method.getName(), args);
+
+ Object value = getValue(method);
+
+ Type returnType = method.getGenericReturnType();
+ return MXBeanUtils.reconstruct(returnType, value, method);
+ }
+
+ private Object getValue(Method method)
+ {
+ String key = MXBeanUtils.getCompositeDataKey(method);
+ if (key == null)
+ throw new IllegalArgumentException("Unsupported method '" + method + "'; it must be a property getter.");
+ try
+ {
+ return compositeData.get(key);
+ }
+ catch (InvalidKeyException e)
+ {
+ throw new IllegalArgumentException("Unsupported method '" + method + "'; it must be a property getter for one of the item names of the composite data: " + compositeData, e);
+ }
+ }
+
+ private Object handleObjectInvocation(String name, Object[] args) throws Throwable
+ {
+ if ("equals".equals(name))
+ {
+ Object object = args[0];
+ if (object == null || object instanceof Proxy == false)
+ return false;
+ InvocationHandler handler = Proxy.getInvocationHandler(object);
+ if (handler == this)
+ return true;
+ if (handler == null || handler instanceof CompositeDataInvocationHandler == false)
+ return false;
+
+ CompositeDataInvocationHandler other = (CompositeDataInvocationHandler) handler;
+ return getCompositeData().equals(other.getCompositeData());
+ }
+ else if ("hashCode".equals(name))
+ return getCompositeData().hashCode();
+ else if ("toString".equals(name))
+ return getCompositeData().toString();
+ throw new UnreachableStatementException();
+ }
+}
Modified: trunk/mbeans/src/main/org/jboss/mx/mxbean/CompositeDataView.java
===================================================================
--- trunk/mbeans/src/main/org/jboss/mx/mxbean/CompositeDataView.java 2008-11-14 12:49:40 UTC (rev 81025)
+++ trunk/mbeans/src/main/org/jboss/mx/mxbean/CompositeDataView.java 2008-11-14 12:51:05 UTC (rev 81026)
@@ -1,40 +1,40 @@
-/*
-* JBoss, Home of Professional Open Source
-* Copyright 2006, JBoss Inc., and individual contributors as indicated
-* by the @authors tag. See the copyright.txt in the distribution for a
-* full listing of individual contributors.
-*
-* This is free software; you can redistribute it and/or modify it
-* under the terms of the GNU Lesser General Public License as
-* published by the Free Software Foundation; either version 2.1 of
-* the License, or (at your option) any later version.
-*
-* This software is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-* Lesser General Public License for more details.
-*
-* You should have received a copy of the GNU Lesser General Public
-* License along with this software; if not, write to the Free
-* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
-* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
-*/
-package org.jboss.mx.mxbean;
-
-import javax.management.openmbean.CompositeData;
-
-/**
- * CompositeDataView.
- *
- * @author <a href="adrian at jboss.com">Adrian Brock</a>
- * @version $Revision: 1.1 $
- */
-public interface CompositeDataView
-{
- /**
- * Convert this object to composite data
- *
- * @return the composite data
- */
- CompositeData toCompositeData();
-}
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2008, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.mx.mxbean;
+
+import javax.management.openmbean.CompositeData;
+
+/**
+ * CompositeDataView.
+ *
+ * @author <a href="adrian at jboss.com">Adrian Brock</a>
+ * @version $Revision: 1.1 $
+ */
+public interface CompositeDataView
+{
+ /**
+ * Convert this object to composite data
+ *
+ * @return the composite data
+ */
+ CompositeData toCompositeData();
+}
Modified: trunk/mbeans/src/main/org/jboss/mx/mxbean/CompositeTypeMetaData.java
===================================================================
--- trunk/mbeans/src/main/org/jboss/mx/mxbean/CompositeTypeMetaData.java 2008-11-14 12:49:40 UTC (rev 81025)
+++ trunk/mbeans/src/main/org/jboss/mx/mxbean/CompositeTypeMetaData.java 2008-11-14 12:51:05 UTC (rev 81026)
@@ -1,198 +1,198 @@
-/*
-* JBoss, Home of Professional Open Source
-* Copyright 2006, JBoss Inc., and individual contributors as indicated
-* by the @authors tag. See the copyright.txt in the distribution for a
-* full listing of individual contributors.
-*
-* This is free software; you can redistribute it and/or modify it
-* under the terms of the GNU Lesser General Public License as
-* published by the Free Software Foundation; either version 2.1 of
-* the License, or (at your option) any later version.
-*
-* This software is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-* Lesser General Public License for more details.
-*
-* You should have received a copy of the GNU Lesser General Public
-* License along with this software; if not, write to the Free
-* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
-* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
-*/
-package org.jboss.mx.mxbean;
-
-import java.lang.reflect.Method;
-import java.lang.reflect.Type;
-import java.util.ArrayList;
-import java.util.List;
-
-import javax.management.openmbean.CompositeType;
-import javax.management.openmbean.OpenType;
-import javax.management.openmbean.SimpleType;
-
-import org.jboss.util.UnexpectedThrowable;
-
-/**
- * CompositeTypeMetaData.
- *
- * @author <a href="adrian at jboss.com">Adrian Brock</a>
- * @version $Revision: 1.1 $
- */
-public class CompositeTypeMetaData
-{
- /** The clazz */
- private Class<?> clazz;
-
- /** The composite type */
- private CompositeType compositeType;
-
- /** The items */
- private List<ItemMetaData> items = new ArrayList<ItemMetaData>();
-
- /**
- * Create a new CompositeTypeMetaData.
- *
- * @param clazz the class
- */
- public CompositeTypeMetaData(Class<?> clazz)
- {
- this.clazz = clazz;
- }
-
- /**
- * Get the composite type
- *
- * @return the composite type
- */
- public CompositeType getCompositeType()
- {
- if (compositeType == null)
- {
- String typeName = clazz.getName();
- if (items.size() == 0)
- return generateAnObject(typeName);
-
- String[] itemNames = new String[items.size()];
- OpenType[] itemTypes = new OpenType[items.size()];
- for (int i = 0; i < items.size(); ++i)
- {
- ItemMetaData item = items.get(i);
- itemNames[i] = item.getName();
- itemTypes[i] = item.getOpenType();
- }
- try
- {
- compositeType = new CompositeType(typeName, typeName, itemNames, itemNames, itemTypes);
- }
- catch (Throwable t)
- {
- throw new UnexpectedThrowable("Error creating composite type for: " + typeName, t);
- }
- }
- return compositeType;
- }
-
- /**
- * Generate the metadata
- */
- public void generate()
- {
- if (Object.class.equals(clazz))
- {
- compositeType = generateObject();
- return;
- }
- if (Class.class.equals(clazz))
- {
- compositeType = generateClass();
- return;
- }
- if (ClassLoader.class.equals(clazz))
- {
- compositeType = generateClassLoader();
- return;
- }
-
- Method[] methods = clazz.getMethods();
- for (Method method : methods)
- {
- Type returnType = method.getGenericReturnType();
- Class<?> declaring = method.getDeclaringClass();
- if (Object.class.equals(declaring) == false)
- {
- String key = MXBeanUtils.getCompositeDataKey(method);
- if (key != null)
- items.add(new ItemMetaData(key, returnType));
- }
- }
- }
-
- /**
- * Generate the composite data for an object
- *
- * @return the composite type
- */
- public static CompositeType generateObject()
- {
- return generateAnObject(Object.class.getName());
- }
-
- /**
- * Generate the composite data for an object
- *
- * @param name the class name
- * @return the composite type
- */
- private static CompositeType generateAnObject(String name)
- {
- String[] itemNames = { "class" };
- OpenType[] openTypes = { generateClass() };
- return safeCreateCompositeType(name, itemNames, openTypes);
- }
-
- /**
- * Generate the composite data for a class
- *
- * @return the composite type
- */
- public static CompositeType generateClass()
- {
- String name = Object.class.getName();
- String[] itemNames = { "name" };
- OpenType[] openTypes = { SimpleType.STRING };
- return safeCreateCompositeType(name, itemNames, openTypes);
- }
-
- /**
- * Generate the composite data for a classloader
- *
- * @return the composite type
- */
- public static CompositeType generateClassLoader()
- {
- String name = Object.class.getName();
- String[] itemNames = { "name" };
- OpenType[] openTypes = { SimpleType.STRING };
- return safeCreateCompositeType(name, itemNames, openTypes);
- }
-
- /**
- * Safely create a composite type
- *
- * @param name the name
- * @param itemNames the item names
- * @param openTypes the open types
- * @return the composite type
- */
- private static CompositeType safeCreateCompositeType(String name, String[] itemNames, OpenType[] openTypes)
- {
- try
- {
- return new CompositeType(name, name, itemNames, itemNames, openTypes);
- }
- catch (Exception e)
- {
- throw new UnexpectedThrowable(e);
- }
- }
-}
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2008, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.mx.mxbean;
+
+import java.lang.reflect.Method;
+import java.lang.reflect.Type;
+import java.util.ArrayList;
+import java.util.List;
+
+import javax.management.openmbean.CompositeType;
+import javax.management.openmbean.OpenType;
+import javax.management.openmbean.SimpleType;
+
+import org.jboss.util.UnexpectedThrowable;
+
+/**
+ * CompositeTypeMetaData.
+ *
+ * @author <a href="adrian at jboss.com">Adrian Brock</a>
+ * @version $Revision: 1.1 $
+ */
+public class CompositeTypeMetaData
+{
+ /** The clazz */
+ private Class<?> clazz;
+
+ /** The composite type */
+ private CompositeType compositeType;
+
+ /** The items */
+ private List<ItemMetaData> items = new ArrayList<ItemMetaData>();
+
+ /**
+ * Create a new CompositeTypeMetaData.
+ *
+ * @param clazz the class
+ */
+ public CompositeTypeMetaData(Class<?> clazz)
+ {
+ this.clazz = clazz;
+ }
+
+ /**
+ * Get the composite type
+ *
+ * @return the composite type
+ */
+ public CompositeType getCompositeType()
+ {
+ if (compositeType == null)
+ {
+ String typeName = clazz.getName();
+ if (items.size() == 0)
+ return generateAnObject(typeName);
+
+ String[] itemNames = new String[items.size()];
+ OpenType[] itemTypes = new OpenType[items.size()];
+ for (int i = 0; i < items.size(); ++i)
+ {
+ ItemMetaData item = items.get(i);
+ itemNames[i] = item.getName();
+ itemTypes[i] = item.getOpenType();
+ }
+ try
+ {
+ compositeType = new CompositeType(typeName, typeName, itemNames, itemNames, itemTypes);
+ }
+ catch (Throwable t)
+ {
+ throw new UnexpectedThrowable("Error creating composite type for: " + typeName, t);
+ }
+ }
+ return compositeType;
+ }
+
+ /**
+ * Generate the metadata
+ */
+ public void generate()
+ {
+ if (Object.class.equals(clazz))
+ {
+ compositeType = generateObject();
+ return;
+ }
+ if (Class.class.equals(clazz))
+ {
+ compositeType = generateClass();
+ return;
+ }
+ if (ClassLoader.class.equals(clazz))
+ {
+ compositeType = generateClassLoader();
+ return;
+ }
+
+ Method[] methods = clazz.getMethods();
+ for (Method method : methods)
+ {
+ Type returnType = method.getGenericReturnType();
+ Class<?> declaring = method.getDeclaringClass();
+ if (Object.class.equals(declaring) == false)
+ {
+ String key = MXBeanUtils.getCompositeDataKey(method);
+ if (key != null)
+ items.add(new ItemMetaData(key, returnType));
+ }
+ }
+ }
+
+ /**
+ * Generate the composite data for an object
+ *
+ * @return the composite type
+ */
+ public static CompositeType generateObject()
+ {
+ return generateAnObject(Object.class.getName());
+ }
+
+ /**
+ * Generate the composite data for an object
+ *
+ * @param name the class name
+ * @return the composite type
+ */
+ private static CompositeType generateAnObject(String name)
+ {
+ String[] itemNames = { "class" };
+ OpenType[] openTypes = { generateClass() };
+ return safeCreateCompositeType(name, itemNames, openTypes);
+ }
+
+ /**
+ * Generate the composite data for a class
+ *
+ * @return the composite type
+ */
+ public static CompositeType generateClass()
+ {
+ String name = Object.class.getName();
+ String[] itemNames = { "name" };
+ OpenType[] openTypes = { SimpleType.STRING };
+ return safeCreateCompositeType(name, itemNames, openTypes);
+ }
+
+ /**
+ * Generate the composite data for a classloader
+ *
+ * @return the composite type
+ */
+ public static CompositeType generateClassLoader()
+ {
+ String name = Object.class.getName();
+ String[] itemNames = { "name" };
+ OpenType[] openTypes = { SimpleType.STRING };
+ return safeCreateCompositeType(name, itemNames, openTypes);
+ }
+
+ /**
+ * Safely create a composite type
+ *
+ * @param name the name
+ * @param itemNames the item names
+ * @param openTypes the open types
+ * @return the composite type
+ */
+ private static CompositeType safeCreateCompositeType(String name, String[] itemNames, OpenType[] openTypes)
+ {
+ try
+ {
+ return new CompositeType(name, name, itemNames, itemNames, openTypes);
+ }
+ catch (Exception e)
+ {
+ throw new UnexpectedThrowable(e);
+ }
+ }
+}
Modified: trunk/mbeans/src/main/org/jboss/mx/mxbean/CompositeTypeMetaDataFactory.java
===================================================================
--- trunk/mbeans/src/main/org/jboss/mx/mxbean/CompositeTypeMetaDataFactory.java 2008-11-14 12:49:40 UTC (rev 81025)
+++ trunk/mbeans/src/main/org/jboss/mx/mxbean/CompositeTypeMetaDataFactory.java 2008-11-14 12:51:05 UTC (rev 81026)
@@ -1,79 +1,79 @@
-/*
-* JBoss, Home of Professional Open Source
-* Copyright 2006, JBoss Inc., and individual contributors as indicated
-* by the @authors tag. See the copyright.txt in the distribution for a
-* full listing of individual contributors.
-*
-* This is free software; you can redistribute it and/or modify it
-* under the terms of the GNU Lesser General Public License as
-* published by the Free Software Foundation; either version 2.1 of
-* the License, or (at your option) any later version.
-*
-* This software is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-* Lesser General Public License for more details.
-*
-* You should have received a copy of the GNU Lesser General Public
-* License along with this software; if not, write to the Free
-* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
-* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
-*/
-package org.jboss.mx.mxbean;
-
-import javax.management.openmbean.CompositeType;
-
-import org.jboss.util.collection.WeakClassCache;
-
-/**
- * CompositeTypeMetaDataFactory.
- *
- * @author <a href="adrian at jboss.com">Adrian Brock</a>
- * @version $Revision: 1.1 $
- */
-public class CompositeTypeMetaDataFactory extends WeakClassCache
-{
- /** The singleton */
- private static final CompositeTypeMetaDataFactory SINGLETON = new CompositeTypeMetaDataFactory();
-
- /**
- * Get the composite type for a class
- *
- * @param clazz the class
- * @return the composite type
- */
- public static CompositeType getCompositeType(Class<?> clazz)
- {
- CompositeTypeMetaData metaData = getCompositeTypeMetaData(clazz);
- return metaData.getCompositeType();
- }
-
- /**
- * Get the composite type meta data
- *
- * @param clazz the class
- * @return the meta data
- */
- public static CompositeTypeMetaData getCompositeTypeMetaData(Class<?> clazz)
- {
- return (CompositeTypeMetaData) SINGLETON.get(clazz);
- }
-
- /**
- * Singleton
- */
- private CompositeTypeMetaDataFactory()
- {
- }
-
- protected Object instantiate(Class clazz)
- {
- return new CompositeTypeMetaData(clazz);
- }
-
- protected void generate(Class clazz, Object object)
- {
- CompositeTypeMetaData metaData = (CompositeTypeMetaData) object;
- metaData.generate();
- }
-}
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2008, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.mx.mxbean;
+
+import javax.management.openmbean.CompositeType;
+
+import org.jboss.util.collection.WeakClassCache;
+
+/**
+ * CompositeTypeMetaDataFactory.
+ *
+ * @author <a href="adrian at jboss.com">Adrian Brock</a>
+ * @version $Revision: 1.1 $
+ */
+public class CompositeTypeMetaDataFactory extends WeakClassCache
+{
+ /** The singleton */
+ private static final CompositeTypeMetaDataFactory SINGLETON = new CompositeTypeMetaDataFactory();
+
+ /**
+ * Get the composite type for a class
+ *
+ * @param clazz the class
+ * @return the composite type
+ */
+ public static CompositeType getCompositeType(Class<?> clazz)
+ {
+ CompositeTypeMetaData metaData = getCompositeTypeMetaData(clazz);
+ return metaData.getCompositeType();
+ }
+
+ /**
+ * Get the composite type meta data
+ *
+ * @param clazz the class
+ * @return the meta data
+ */
+ public static CompositeTypeMetaData getCompositeTypeMetaData(Class<?> clazz)
+ {
+ return (CompositeTypeMetaData) SINGLETON.get(clazz);
+ }
+
+ /**
+ * Singleton
+ */
+ private CompositeTypeMetaDataFactory()
+ {
+ }
+
+ protected Object instantiate(Class clazz)
+ {
+ return new CompositeTypeMetaData(clazz);
+ }
+
+ protected void generate(Class clazz, Object object)
+ {
+ CompositeTypeMetaData metaData = (CompositeTypeMetaData) object;
+ metaData.generate();
+ }
+}
Modified: trunk/mbeans/src/main/org/jboss/mx/mxbean/GetterNames.java
===================================================================
--- trunk/mbeans/src/main/org/jboss/mx/mxbean/GetterNames.java 2008-11-14 12:49:40 UTC (rev 81025)
+++ trunk/mbeans/src/main/org/jboss/mx/mxbean/GetterNames.java 2008-11-14 12:51:05 UTC (rev 81026)
@@ -1,43 +1,43 @@
-/*
-* JBoss, Home of Professional Open Source
-* Copyright 2006, JBoss Inc., and individual contributors as indicated
-* by the @authors tag. See the copyright.txt in the distribution for a
-* full listing of individual contributors.
-*
-* This is free software; you can redistribute it and/or modify it
-* under the terms of the GNU Lesser General Public License as
-* published by the Free Software Foundation; either version 2.1 of
-* the License, or (at your option) any later version.
-*
-* This software is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-* Lesser General Public License for more details.
-*
-* You should have received a copy of the GNU Lesser General Public
-* License along with this software; if not, write to the Free
-* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
-* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
-*/
-package org.jboss.mx.mxbean;
-
-import java.lang.annotation.Documented;
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.lang.annotation.Target;
-
-/**
- * GetterNames.
- *
- * @author <a href="adrian at jboss.com">Adrian Brock</a>
- * @version $Revision: 1.1 $
- */
- at Documented
- at Target(ElementType.CONSTRUCTOR)
- at Retention(RetentionPolicy.RUNTIME)
-public @interface GetterNames
-{
- /** The getter names */
- String[] value();
-}
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2008, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.mx.mxbean;
+
+import java.lang.annotation.Documented;
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+/**
+ * GetterNames.
+ *
+ * @author <a href="adrian at jboss.com">Adrian Brock</a>
+ * @version $Revision: 1.1 $
+ */
+ at Documented
+ at Target(ElementType.CONSTRUCTOR)
+ at Retention(RetentionPolicy.RUNTIME)
+public @interface GetterNames
+{
+ /** The getter names */
+ String[] value();
+}
Modified: trunk/mbeans/src/main/org/jboss/mx/mxbean/ItemMetaData.java
===================================================================
--- trunk/mbeans/src/main/org/jboss/mx/mxbean/ItemMetaData.java 2008-11-14 12:49:40 UTC (rev 81025)
+++ trunk/mbeans/src/main/org/jboss/mx/mxbean/ItemMetaData.java 2008-11-14 12:51:05 UTC (rev 81026)
@@ -1,73 +1,73 @@
-/*
-* JBoss, Home of Professional Open Source
-* Copyright 2006, JBoss Inc., and individual contributors as indicated
-* by the @authors tag. See the copyright.txt in the distribution for a
-* full listing of individual contributors.
-*
-* This is free software; you can redistribute it and/or modify it
-* under the terms of the GNU Lesser General Public License as
-* published by the Free Software Foundation; either version 2.1 of
-* the License, or (at your option) any later version.
-*
-* This software is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-* Lesser General Public License for more details.
-*
-* You should have received a copy of the GNU Lesser General Public
-* License along with this software; if not, write to the Free
-* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
-* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
-*/
-package org.jboss.mx.mxbean;
-
-import java.lang.reflect.Type;
-
-import javax.management.openmbean.OpenType;
-
-/**
- * ItemMetaData.
- *
- * @author <a href="adrian at jboss.com">Adrian Brock</a>
- * @version $Revision: 1.1 $
- */
-public class ItemMetaData
-{
- /** The name */
- private String name;
-
- /** The open type */
- private SkeletonOpenType openType;
-
- /**
- * Create a new ItemMetaData.
- *
- * @param name the name
- * @param type the type
- */
- public ItemMetaData(String name, Type type)
- {
- this.name = name;
- openType = new SkeletonOpenType(type);
- }
-
- /**
- * Get the name.
- *
- * @return the name.
- */
- public String getName()
- {
- return name;
- }
-
- /**
- * Get the openType.
- *
- * @return the openType.
- */
- public OpenType getOpenType()
- {
- return openType.getOpenType();
- }
-}
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2008, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.mx.mxbean;
+
+import java.lang.reflect.Type;
+
+import javax.management.openmbean.OpenType;
+
+/**
+ * ItemMetaData.
+ *
+ * @author <a href="adrian at jboss.com">Adrian Brock</a>
+ * @version $Revision: 1.1 $
+ */
+public class ItemMetaData
+{
+ /** The name */
+ private String name;
+
+ /** The open type */
+ private SkeletonOpenType openType;
+
+ /**
+ * Create a new ItemMetaData.
+ *
+ * @param name the name
+ * @param type the type
+ */
+ public ItemMetaData(String name, Type type)
+ {
+ this.name = name;
+ openType = new SkeletonOpenType(type);
+ }
+
+ /**
+ * Get the name.
+ *
+ * @return the name.
+ */
+ public String getName()
+ {
+ return name;
+ }
+
+ /**
+ * Get the openType.
+ *
+ * @return the openType.
+ */
+ public OpenType getOpenType()
+ {
+ return openType.getOpenType();
+ }
+}
Modified: trunk/mbeans/src/main/org/jboss/mx/mxbean/MXBean.java
===================================================================
--- trunk/mbeans/src/main/org/jboss/mx/mxbean/MXBean.java 2008-11-14 12:49:40 UTC (rev 81025)
+++ trunk/mbeans/src/main/org/jboss/mx/mxbean/MXBean.java 2008-11-14 12:51:05 UTC (rev 81026)
@@ -1,43 +1,43 @@
-/*
-* JBoss, Home of Professional Open Source
-* Copyright 2006, JBoss Inc., and individual contributors as indicated
-* by the @authors tag. See the copyright.txt in the distribution for a
-* full listing of individual contributors.
-*
-* This is free software; you can redistribute it and/or modify it
-* under the terms of the GNU Lesser General Public License as
-* published by the Free Software Foundation; either version 2.1 of
-* the License, or (at your option) any later version.
-*
-* This software is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-* Lesser General Public License for more details.
-*
-* You should have received a copy of the GNU Lesser General Public
-* License along with this software; if not, write to the Free
-* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
-* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
-*/
-package org.jboss.mx.mxbean;
-
-import java.lang.annotation.Documented;
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.lang.annotation.Target;
-
-/**
- * MXBean.
- *
- * @author <a href="adrian at jboss.com">Adrian Brock</a>
- * @version $Revision: 1.1 $
- */
- at Documented
- at Target(ElementType.TYPE)
- at Retention(RetentionPolicy.RUNTIME)
-public @interface MXBean
-{
- /** Whether this is an MXBean */
- boolean value() default true;
-}
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2008, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.mx.mxbean;
+
+import java.lang.annotation.Documented;
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+/**
+ * MXBean.
+ *
+ * @author <a href="adrian at jboss.com">Adrian Brock</a>
+ * @version $Revision: 1.1 $
+ */
+ at Documented
+ at Target(ElementType.TYPE)
+ at Retention(RetentionPolicy.RUNTIME)
+public @interface MXBean
+{
+ /** Whether this is an MXBean */
+ boolean value() default true;
+}
Modified: trunk/mbeans/src/main/org/jboss/mx/mxbean/MXBeanDelegate.java
===================================================================
--- trunk/mbeans/src/main/org/jboss/mx/mxbean/MXBeanDelegate.java 2008-11-14 12:49:40 UTC (rev 81025)
+++ trunk/mbeans/src/main/org/jboss/mx/mxbean/MXBeanDelegate.java 2008-11-14 12:51:05 UTC (rev 81026)
@@ -1,510 +1,510 @@
-/*
-* JBoss, Home of Professional Open Source
-* Copyright 2006, JBoss Inc., and individual contributors as indicated
-* by the @authors tag. See the copyright.txt in the distribution for a
-* full listing of individual contributors.
-*
-* This is free software; you can redistribute it and/or modify it
-* under the terms of the GNU Lesser General Public License as
-* published by the Free Software Foundation; either version 2.1 of
-* the License, or (at your option) any later version.
-*
-* This software is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-* Lesser General Public License for more details.
-*
-* You should have received a copy of the GNU Lesser General Public
-* License along with this software; if not, write to the Free
-* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
-* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
-*/
-package org.jboss.mx.mxbean;
-
-import java.lang.reflect.Method;
-import java.lang.reflect.Type;
-import java.util.HashMap;
-import java.util.Map;
-
-import javax.management.Attribute;
-import javax.management.AttributeList;
-import javax.management.AttributeNotFoundException;
-import javax.management.DynamicMBean;
-import javax.management.InvalidAttributeValueException;
-import javax.management.JMException;
-import javax.management.MBeanAttributeInfo;
-import javax.management.MBeanException;
-import javax.management.MBeanInfo;
-import javax.management.MBeanRegistration;
-import javax.management.MBeanServer;
-import javax.management.NotCompliantMBeanException;
-import javax.management.NotificationBroadcasterSupport;
-import javax.management.NotificationEmitter;
-import javax.management.ObjectName;
-import javax.management.ReflectionException;
-import javax.management.openmbean.OpenMBeanAttributeInfo;
-import javax.management.openmbean.OpenMBeanInfo;
-
-import org.jboss.logging.Logger;
-import org.jboss.mx.server.ExceptionHandler;
-
-/**
- * MXBeanDelegate.
- *
- * FIXME: Reflection madness
- * @author <a href="adrian at jboss.com">Adrian Brock</a>
- * @version $Revision: 1.1 $
- */
-public class MXBeanDelegate extends NotificationBroadcasterSupport implements DynamicMBean, MBeanRegistration, NotificationEmitter
-{
- /** The logger */
- private static final Logger log = Logger.getLogger(MXBeanDelegate.class);
-
- /** The implementation object */
- private Object implementation;
-
- /** The management interface */
- private Class mbeanInterface;
-
- /** The cached mbeaninfo */
- private OpenMBeanInfo cachedMBeanInfo;
-
- /** The attribute mapping */
- private Map<String, OpenMBeanAttributeInfo> attributeMapping;
-
- /** The getters */
- private Map<String, Method> getters;
-
- /** The setters */
- private Map<String, Method> setters;
-
- /** The operatinns */
- private Map<String, Method> operations;
-
- /**
- * Construct a DynamicMBean from the given implementation object
- * and the passed management interface class.
- *
- * @param implementation the object implementing the mbean
- * @param mbeanInterface the management interface of the mbean
- * @exception IllegalArgumentException for a null implementation
- * @exception NotCompliantMBeanException if the management interface
- * does not follow the JMX design patterns or the implementation
- * does not implement the interface
- */
- public MXBeanDelegate(Object implementation, Class mbeanInterface) throws NotCompliantMBeanException
- {
- this.implementation = implementation;
- this.mbeanInterface = mbeanInterface;
- }
-
- /**
- * Construct a DynamicMBean from this object
- * and the passed management interface class.<p>
- *
- * Used in subclassing
- *
- * @param mbeanInterface the management interface of the mbean
- * @exception NotCompliantMBeanException if the management interface
- * does not follow the JMX design patterns or this
- * does not implement the interface
- */
- protected MXBeanDelegate(Class mbeanInterface) throws NotCompliantMBeanException
- {
- this.implementation = this;
- this.mbeanInterface = mbeanInterface;
- }
-
- /**
- * Retrieve the implementation object
- *
- * @return the implementation
- */
- public Object getImplementation()
- {
- return implementation;
- }
-
- /**
- * Replace the implementation object
- *
- * @todo make this work after the mbean is registered
- * @param implementation the new implementation
- * @exception IllegalArgumentException for a null parameter
- * @exception NotCompliantMBeanException if the new implementation
- * does not implement the interface supplied at
- * construction
- */
- public void setImplementation(Object implementation) throws NotCompliantMBeanException
- {
- if (implementation == null)
- throw new IllegalArgumentException("Null implementation");
- this.implementation = implementation;
- }
-
- /**
- * Retrieve the implementation class
- *
- * @return the class of the implementation
- */
- public Class getImplementationClass()
- {
- return implementation.getClass();
- }
-
- /**
- * Retrieve the management interface
- *
- * @return the management interface
- */
- public final Class getMBeanInterface()
- {
- return mbeanInterface;
- }
-
- public Object getAttribute(String attribute) throws AttributeNotFoundException, MBeanException, ReflectionException
- {
- try
- {
- OpenMBeanAttributeInfo attributeInfo = attributeMapping.get(attribute);
- if (attributeInfo == null)
- throw new AttributeNotFoundException(attribute);
- MBeanAttributeInfo mbeanAttributeInfo = (MBeanAttributeInfo) attributeInfo;
- if (mbeanAttributeInfo.isReadable() == false)
- throw new AttributeNotFoundException("Attribute is not readable: " + attribute);
-
- Method method = getters.get(attribute);
- if (method == null)
- throw new NoSuchMethodException("No method to get attribute: " + attribute);
-
- Object result = method.invoke(implementation, new Object[0]);
-
- return MXBeanUtils.construct(attributeInfo.getOpenType(), result, "Get attribute: " + attribute);
- }
- catch (Exception e)
- {
- JMException result = ExceptionHandler.handleException(e);
- if (result instanceof AttributeNotFoundException)
- throw (AttributeNotFoundException)result;
- if (result instanceof MBeanException)
- throw (MBeanException)result;
- if (result instanceof ReflectionException)
- throw (ReflectionException)result;
- throw new MBeanException(e, "Cannot get attribute: " + attribute);
- }
- }
-
- public void setAttribute(Attribute attribute) throws AttributeNotFoundException, InvalidAttributeValueException, MBeanException, ReflectionException
- {
- try
- {
- String attributeName = attribute.getName();
- OpenMBeanAttributeInfo attributeInfo = attributeMapping.get(attributeName);
- if (attributeInfo == null)
- throw new AttributeNotFoundException(attributeName);
- MBeanAttributeInfo mbeanAttributeInfo = (MBeanAttributeInfo) attributeInfo;
- if (mbeanAttributeInfo.isWritable() == false)
- throw new AttributeNotFoundException("Attribute is not writable: " + attributeName);
-
- Method method = setters.get(attributeName);
- if (method == null)
- throw new NoSuchMethodException("No method to set attribute: " + attribute);
-
- Object value = MXBeanUtils.reconstruct(method.getGenericParameterTypes()[0], attribute.getValue(), method);
-
- method.invoke(implementation, new Object[] { value });
- }
- catch (Exception e)
- {
- JMException result = ExceptionHandler.handleException(e);
- if (result instanceof AttributeNotFoundException)
- throw (AttributeNotFoundException)result;
- if (result instanceof InvalidAttributeValueException)
- throw (InvalidAttributeValueException)result;
- if (result instanceof MBeanException)
- throw (MBeanException)result;
- if (result instanceof ReflectionException)
- throw (ReflectionException)result;
- throw new MBeanException(e, "Cannot set attribute: " + attribute);
- }
- }
-
- public AttributeList getAttributes(String[] attributes)
- {
- try
- {
- AttributeList attrList = new AttributeList(attributes.length);
- for (int i = 0; i < attributes.length; i++)
- {
- String name = attributes[i];
- Object value = getAttribute(name);
- attrList.add(new Attribute(name, value));
- }
- return attrList;
- }
- catch (Exception e)
- {
- JMException result = ExceptionHandler.handleException(e);
- // Why is this not throwing the same exceptions as getAttribute(String)
- throw new RuntimeException("Cannot get attributes", result);
- }
- }
-
- public AttributeList setAttributes(AttributeList attributes)
- {
- AttributeList result = new AttributeList(attributes.size());
- for (int i = 0; i < attributes.size(); ++i)
- {
- Attribute attr = (Attribute) attributes.get(i);
- String name = attr.getName();
- try
- {
- setAttribute(attr);
- result.add(new Attribute(name, attr.getValue()));
- }
- catch (Throwable t)
- {
- JMException e = ExceptionHandler.handleException(t);
- result.add(new Attribute(name, e));
- }
- }
- return result;
- }
-
- public Object invoke(String actionName, Object[] params, String[] signature) throws MBeanException, ReflectionException
- {
- try
- {
- String signatureString = getSignatureString(actionName, signature);
- Method method = operations.get(signatureString);
- if (method == null)
- throw new NoSuchMethodException("Cannot find method for operation: " + signatureString);
-
- Object[] parameters = params;
- if (params.length > 0)
- {
- parameters = new Object[params.length];
- Type[] parameterTypes = method.getGenericParameterTypes();
- for (int i = 0; i < parameters.length; ++i)
- parameters[i] = MXBeanUtils.reconstruct(parameterTypes[i], params[i], method);
- }
-
- Object result = method.invoke(implementation, parameters);
-
- if (result == null)
- return null;
- Type returnType = method.getGenericReturnType();
- return MXBeanUtils.construct(returnType, result, method);
- }
- catch (Exception e)
- {
- JMException result = ExceptionHandler.handleException(e);
- if (result instanceof MBeanException)
- throw (MBeanException)result;
- if (result instanceof ReflectionException)
- throw (ReflectionException)result;
- throw new MBeanException(e, "Cannot invoke: " + actionName);
- }
- }
-
- public ObjectName preRegister(MBeanServer server, ObjectName name) throws Exception
- {
- return name;
- }
-
- public void postRegister(Boolean registrationDone)
- {
- }
-
- public void preDeregister() throws Exception
- {
- }
-
- public void postDeregister()
- {
- }
-
- public MBeanInfo getMBeanInfo()
- {
- OpenMBeanInfo info = getCachedMBeanInfo();
- if (info == null)
- {
- try
- {
- info = buildMBeanInfo();
- cacheMBeanInfo(info);
- }
- catch (NotCompliantMBeanException e)
- {
- log.error("Unexcepted exception", e);
- throw new IllegalStateException("Unexcepted exception " + e.toString());
- }
-
- }
- return (MBeanInfo) info;
- }
-
- /**
- * Retrieve the cached mbean info
- *
- * @return the cached mbean info
- */
- public OpenMBeanInfo getCachedMBeanInfo()
- {
- return cachedMBeanInfo;
- }
-
- /**
- * Sets the cached mbean info
- *
- * @param info the mbeaninfo to cache, can be null to erase the cache
- */
- public void cacheMBeanInfo(OpenMBeanInfo info)
- {
- cachedMBeanInfo = info;
- Map<String, OpenMBeanAttributeInfo> attributeMapping = new HashMap<String, OpenMBeanAttributeInfo>();
- MBeanAttributeInfo[] attributes = info.getAttributes();
- for (int i = 0; i < attributes.length; ++i)
- {
- OpenMBeanAttributeInfo attribute = (OpenMBeanAttributeInfo) attributes[i];
- attributeMapping.put(attribute.getName(), attribute);
- }
- this.attributeMapping = attributeMapping;
-
- try
- {
- HashMap<String, Method> getters = new HashMap<String, Method>();
- HashMap<String, Method> setters = new HashMap<String, Method>();
-
- HashMap<String, Method> operations = new HashMap<String, Method>();
-
- Method[] methods = implementation.getClass().getMethods();
- for (Method method : methods)
- {
- String methodName = method.getName();
- Type[] signature = method.getGenericParameterTypes();
- Type returnType = method.getGenericReturnType();
-
- if (methodName.startsWith("set") &&
- methodName.length() > 3 &&
- signature.length == 1 &&
- returnType == Void.TYPE)
- {
- String key = methodName.substring(3, methodName.length());
- Method setter = setters.get(key);
- if (setter != null && setter.getGenericParameterTypes()[0].equals(signature[0]) == false)
- throw new RuntimeException("overloaded type for attribute set: " + key);
- setters.put(key, method);
- }
- else if (methodName.startsWith("get") &&
- methodName.length() > 3 &&
- signature.length == 0 &&
- returnType != Void.TYPE)
- {
- String key = methodName.substring(3, methodName.length());
- Method getter = getters.get(key);
- if (getter != null && getter.getName().startsWith("is"))
- throw new RuntimeException("mixed use of get/is for attribute " + key);
- getters.put(key, method);
- }
- else if (methodName.startsWith("is") &&
- methodName.length() > 2 &&
- signature.length == 0 &&
- returnType == Boolean.TYPE)
- {
- String key = methodName.substring(2, methodName.length());
- Method getter = getters.get(key);
- if (getter != null && getter.getName().startsWith("get"))
- throw new RuntimeException("mixed use of get/is for attribute " + key);
- getters.put(key, method);
- }
- else
- {
- operations.put(getSignatureString(method), method);
- }
- }
- this.getters = getters;
- this.setters = setters;
- this.operations = operations;
- }
- catch (RuntimeException e)
- {
- log.error("Error: ", e);
- throw e;
- }
- catch (Error e)
- {
- log.error("Error: ", e);
- throw e;
- }
- }
-
- /**
- * Builds a default MBeanInfo for this MBean, using the Management Interface specified for this MBean.
- *
- * While building the MBeanInfo, this method calls the customization hooks that make it possible for subclasses to
- * supply their custom descriptions, parameter names, etc...
- *
- * @return the mbean info
- * @throws NotCompliantMBeanException when not a valid mbean
- */
- public OpenMBeanInfo buildMBeanInfo() throws NotCompliantMBeanException
- {
- if (implementation == null)
- throw new IllegalArgumentException("Null implementation");
-
- MXBeanMetaData metadata = new MXBeanMetaData(implementation, mbeanInterface);
- return (OpenMBeanInfo) metadata.build();
- }
-
- /**
- * Get a signature string for a method
- *
- * @param method the method
- * @return the signature
- */
- private String getSignatureString(Method method)
- {
- String name = method.getName();
- Class[] signature = method.getParameterTypes();
- StringBuilder buffer = new StringBuilder(512);
- buffer.append(name);
- buffer.append("(");
- if (signature != null)
- {
- for (int i = 0; i < signature.length; i++)
- {
- buffer.append(signature[i].getName());
- if (i < signature.length-1)
- buffer.append(",");
- }
- }
- buffer.append(")");
- return buffer.toString();
- }
-
- /**
- * Get a signature string for a method
- *
- * @param operation the operation
- * @param signature the signature
- * @return the signature
- */
- private String getSignatureString(String operation, String[] signature)
- {
- StringBuilder buffer = new StringBuilder(512);
- buffer.append(operation);
- buffer.append("(");
- if (signature != null)
- {
- for (int i = 0; i < signature.length; i++)
- {
- buffer.append(signature[i]);
- if (i < signature.length-1)
- buffer.append(",");
- }
- }
- buffer.append(")");
- return buffer.toString();
- }
-}
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2008, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.mx.mxbean;
+
+import java.lang.reflect.Method;
+import java.lang.reflect.Type;
+import java.util.HashMap;
+import java.util.Map;
+
+import javax.management.Attribute;
+import javax.management.AttributeList;
+import javax.management.AttributeNotFoundException;
+import javax.management.DynamicMBean;
+import javax.management.InvalidAttributeValueException;
+import javax.management.JMException;
+import javax.management.MBeanAttributeInfo;
+import javax.management.MBeanException;
+import javax.management.MBeanInfo;
+import javax.management.MBeanRegistration;
+import javax.management.MBeanServer;
+import javax.management.NotCompliantMBeanException;
+import javax.management.NotificationBroadcasterSupport;
+import javax.management.NotificationEmitter;
+import javax.management.ObjectName;
+import javax.management.ReflectionException;
+import javax.management.openmbean.OpenMBeanAttributeInfo;
+import javax.management.openmbean.OpenMBeanInfo;
+
+import org.jboss.logging.Logger;
+import org.jboss.mx.server.ExceptionHandler;
+
+/**
+ * MXBeanDelegate.
+ *
+ * FIXME: Reflection madness
+ * @author <a href="adrian at jboss.com">Adrian Brock</a>
+ * @version $Revision: 1.1 $
+ */
+public class MXBeanDelegate extends NotificationBroadcasterSupport implements DynamicMBean, MBeanRegistration, NotificationEmitter
+{
+ /** The logger */
+ private static final Logger log = Logger.getLogger(MXBeanDelegate.class);
+
+ /** The implementation object */
+ private Object implementation;
+
+ /** The management interface */
+ private Class mbeanInterface;
+
+ /** The cached mbeaninfo */
+ private OpenMBeanInfo cachedMBeanInfo;
+
+ /** The attribute mapping */
+ private Map<String, OpenMBeanAttributeInfo> attributeMapping;
+
+ /** The getters */
+ private Map<String, Method> getters;
+
+ /** The setters */
+ private Map<String, Method> setters;
+
+ /** The operatinns */
+ private Map<String, Method> operations;
+
+ /**
+ * Construct a DynamicMBean from the given implementation object
+ * and the passed management interface class.
+ *
+ * @param implementation the object implementing the mbean
+ * @param mbeanInterface the management interface of the mbean
+ * @exception IllegalArgumentException for a null implementation
+ * @exception NotCompliantMBeanException if the management interface
+ * does not follow the JMX design patterns or the implementation
+ * does not implement the interface
+ */
+ public MXBeanDelegate(Object implementation, Class mbeanInterface) throws NotCompliantMBeanException
+ {
+ this.implementation = implementation;
+ this.mbeanInterface = mbeanInterface;
+ }
+
+ /**
+ * Construct a DynamicMBean from this object
+ * and the passed management interface class.<p>
+ *
+ * Used in subclassing
+ *
+ * @param mbeanInterface the management interface of the mbean
+ * @exception NotCompliantMBeanException if the management interface
+ * does not follow the JMX design patterns or this
+ * does not implement the interface
+ */
+ protected MXBeanDelegate(Class mbeanInterface) throws NotCompliantMBeanException
+ {
+ this.implementation = this;
+ this.mbeanInterface = mbeanInterface;
+ }
+
+ /**
+ * Retrieve the implementation object
+ *
+ * @return the implementation
+ */
+ public Object getImplementation()
+ {
+ return implementation;
+ }
+
+ /**
+ * Replace the implementation object
+ *
+ * @todo make this work after the mbean is registered
+ * @param implementation the new implementation
+ * @exception IllegalArgumentException for a null parameter
+ * @exception NotCompliantMBeanException if the new implementation
+ * does not implement the interface supplied at
+ * construction
+ */
+ public void setImplementation(Object implementation) throws NotCompliantMBeanException
+ {
+ if (implementation == null)
+ throw new IllegalArgumentException("Null implementation");
+ this.implementation = implementation;
+ }
+
+ /**
+ * Retrieve the implementation class
+ *
+ * @return the class of the implementation
+ */
+ public Class getImplementationClass()
+ {
+ return implementation.getClass();
+ }
+
+ /**
+ * Retrieve the management interface
+ *
+ * @return the management interface
+ */
+ public final Class getMBeanInterface()
+ {
+ return mbeanInterface;
+ }
+
+ public Object getAttribute(String attribute) throws AttributeNotFoundException, MBeanException, ReflectionException
+ {
+ try
+ {
+ OpenMBeanAttributeInfo attributeInfo = attributeMapping.get(attribute);
+ if (attributeInfo == null)
+ throw new AttributeNotFoundException(attribute);
+ MBeanAttributeInfo mbeanAttributeInfo = (MBeanAttributeInfo) attributeInfo;
+ if (mbeanAttributeInfo.isReadable() == false)
+ throw new AttributeNotFoundException("Attribute is not readable: " + attribute);
+
+ Method method = getters.get(attribute);
+ if (method == null)
+ throw new NoSuchMethodException("No method to get attribute: " + attribute);
+
+ Object result = method.invoke(implementation, new Object[0]);
+
+ return MXBeanUtils.construct(attributeInfo.getOpenType(), result, "Get attribute: " + attribute);
+ }
+ catch (Exception e)
+ {
+ JMException result = ExceptionHandler.handleException(e);
+ if (result instanceof AttributeNotFoundException)
+ throw (AttributeNotFoundException)result;
+ if (result instanceof MBeanException)
+ throw (MBeanException)result;
+ if (result instanceof ReflectionException)
+ throw (ReflectionException)result;
+ throw new MBeanException(e, "Cannot get attribute: " + attribute);
+ }
+ }
+
+ public void setAttribute(Attribute attribute) throws AttributeNotFoundException, InvalidAttributeValueException, MBeanException, ReflectionException
+ {
+ try
+ {
+ String attributeName = attribute.getName();
+ OpenMBeanAttributeInfo attributeInfo = attributeMapping.get(attributeName);
+ if (attributeInfo == null)
+ throw new AttributeNotFoundException(attributeName);
+ MBeanAttributeInfo mbeanAttributeInfo = (MBeanAttributeInfo) attributeInfo;
+ if (mbeanAttributeInfo.isWritable() == false)
+ throw new AttributeNotFoundException("Attribute is not writable: " + attributeName);
+
+ Method method = setters.get(attributeName);
+ if (method == null)
+ throw new NoSuchMethodException("No method to set attribute: " + attribute);
+
+ Object value = MXBeanUtils.reconstruct(method.getGenericParameterTypes()[0], attribute.getValue(), method);
+
+ method.invoke(implementation, new Object[] { value });
+ }
+ catch (Exception e)
+ {
+ JMException result = ExceptionHandler.handleException(e);
+ if (result instanceof AttributeNotFoundException)
+ throw (AttributeNotFoundException)result;
+ if (result instanceof InvalidAttributeValueException)
+ throw (InvalidAttributeValueException)result;
+ if (result instanceof MBeanException)
+ throw (MBeanException)result;
+ if (result instanceof ReflectionException)
+ throw (ReflectionException)result;
+ throw new MBeanException(e, "Cannot set attribute: " + attribute);
+ }
+ }
+
+ public AttributeList getAttributes(String[] attributes)
+ {
+ try
+ {
+ AttributeList attrList = new AttributeList(attributes.length);
+ for (int i = 0; i < attributes.length; i++)
+ {
+ String name = attributes[i];
+ Object value = getAttribute(name);
+ attrList.add(new Attribute(name, value));
+ }
+ return attrList;
+ }
+ catch (Exception e)
+ {
+ JMException result = ExceptionHandler.handleException(e);
+ // Why is this not throwing the same exceptions as getAttribute(String)
+ throw new RuntimeException("Cannot get attributes", result);
+ }
+ }
+
+ public AttributeList setAttributes(AttributeList attributes)
+ {
+ AttributeList result = new AttributeList(attributes.size());
+ for (int i = 0; i < attributes.size(); ++i)
+ {
+ Attribute attr = (Attribute) attributes.get(i);
+ String name = attr.getName();
+ try
+ {
+ setAttribute(attr);
+ result.add(new Attribute(name, attr.getValue()));
+ }
+ catch (Throwable t)
+ {
+ JMException e = ExceptionHandler.handleException(t);
+ result.add(new Attribute(name, e));
+ }
+ }
+ return result;
+ }
+
+ public Object invoke(String actionName, Object[] params, String[] signature) throws MBeanException, ReflectionException
+ {
+ try
+ {
+ String signatureString = getSignatureString(actionName, signature);
+ Method method = operations.get(signatureString);
+ if (method == null)
+ throw new NoSuchMethodException("Cannot find method for operation: " + signatureString);
+
+ Object[] parameters = params;
+ if (params.length > 0)
+ {
+ parameters = new Object[params.length];
+ Type[] parameterTypes = method.getGenericParameterTypes();
+ for (int i = 0; i < parameters.length; ++i)
+ parameters[i] = MXBeanUtils.reconstruct(parameterTypes[i], params[i], method);
+ }
+
+ Object result = method.invoke(implementation, parameters);
+
+ if (result == null)
+ return null;
+ Type returnType = method.getGenericReturnType();
+ return MXBeanUtils.construct(returnType, result, method);
+ }
+ catch (Exception e)
+ {
+ JMException result = ExceptionHandler.handleException(e);
+ if (result instanceof MBeanException)
+ throw (MBeanException)result;
+ if (result instanceof ReflectionException)
+ throw (ReflectionException)result;
+ throw new MBeanException(e, "Cannot invoke: " + actionName);
+ }
+ }
+
+ public ObjectName preRegister(MBeanServer server, ObjectName name) throws Exception
+ {
+ return name;
+ }
+
+ public void postRegister(Boolean registrationDone)
+ {
+ }
+
+ public void preDeregister() throws Exception
+ {
+ }
+
+ public void postDeregister()
+ {
+ }
+
+ public MBeanInfo getMBeanInfo()
+ {
+ OpenMBeanInfo info = getCachedMBeanInfo();
+ if (info == null)
+ {
+ try
+ {
+ info = buildMBeanInfo();
+ cacheMBeanInfo(info);
+ }
+ catch (NotCompliantMBeanException e)
+ {
+ log.error("Unexcepted exception", e);
+ throw new IllegalStateException("Unexcepted exception " + e.toString());
+ }
+
+ }
+ return (MBeanInfo) info;
+ }
+
+ /**
+ * Retrieve the cached mbean info
+ *
+ * @return the cached mbean info
+ */
+ public OpenMBeanInfo getCachedMBeanInfo()
+ {
+ return cachedMBeanInfo;
+ }
+
+ /**
+ * Sets the cached mbean info
+ *
+ * @param info the mbeaninfo to cache, can be null to erase the cache
+ */
+ public void cacheMBeanInfo(OpenMBeanInfo info)
+ {
+ cachedMBeanInfo = info;
+ Map<String, OpenMBeanAttributeInfo> attributeMapping = new HashMap<String, OpenMBeanAttributeInfo>();
+ MBeanAttributeInfo[] attributes = info.getAttributes();
+ for (int i = 0; i < attributes.length; ++i)
+ {
+ OpenMBeanAttributeInfo attribute = (OpenMBeanAttributeInfo) attributes[i];
+ attributeMapping.put(attribute.getName(), attribute);
+ }
+ this.attributeMapping = attributeMapping;
+
+ try
+ {
+ HashMap<String, Method> getters = new HashMap<String, Method>();
+ HashMap<String, Method> setters = new HashMap<String, Method>();
+
+ HashMap<String, Method> operations = new HashMap<String, Method>();
+
+ Method[] methods = implementation.getClass().getMethods();
+ for (Method method : methods)
+ {
+ String methodName = method.getName();
+ Type[] signature = method.getGenericParameterTypes();
+ Type returnType = method.getGenericReturnType();
+
+ if (methodName.startsWith("set") &&
+ methodName.length() > 3 &&
+ signature.length == 1 &&
+ returnType == Void.TYPE)
+ {
+ String key = methodName.substring(3, methodName.length());
+ Method setter = setters.get(key);
+ if (setter != null && setter.getGenericParameterTypes()[0].equals(signature[0]) == false)
+ throw new RuntimeException("overloaded type for attribute set: " + key);
+ setters.put(key, method);
+ }
+ else if (methodName.startsWith("get") &&
+ methodName.length() > 3 &&
+ signature.length == 0 &&
+ returnType != Void.TYPE)
+ {
+ String key = methodName.substring(3, methodName.length());
+ Method getter = getters.get(key);
+ if (getter != null && getter.getName().startsWith("is"))
+ throw new RuntimeException("mixed use of get/is for attribute " + key);
+ getters.put(key, method);
+ }
+ else if (methodName.startsWith("is") &&
+ methodName.length() > 2 &&
+ signature.length == 0 &&
+ returnType == Boolean.TYPE)
+ {
+ String key = methodName.substring(2, methodName.length());
+ Method getter = getters.get(key);
+ if (getter != null && getter.getName().startsWith("get"))
+ throw new RuntimeException("mixed use of get/is for attribute " + key);
+ getters.put(key, method);
+ }
+ else
+ {
+ operations.put(getSignatureString(method), method);
+ }
+ }
+ this.getters = getters;
+ this.setters = setters;
+ this.operations = operations;
+ }
+ catch (RuntimeException e)
+ {
+ log.error("Error: ", e);
+ throw e;
+ }
+ catch (Error e)
+ {
+ log.error("Error: ", e);
+ throw e;
+ }
+ }
+
+ /**
+ * Builds a default MBeanInfo for this MBean, using the Management Interface specified for this MBean.
+ *
+ * While building the MBeanInfo, this method calls the customization hooks that make it possible for subclasses to
+ * supply their custom descriptions, parameter names, etc...
+ *
+ * @return the mbean info
+ * @throws NotCompliantMBeanException when not a valid mbean
+ */
+ public OpenMBeanInfo buildMBeanInfo() throws NotCompliantMBeanException
+ {
+ if (implementation == null)
+ throw new IllegalArgumentException("Null implementation");
+
+ MXBeanMetaData metadata = new MXBeanMetaData(implementation, mbeanInterface);
+ return (OpenMBeanInfo) metadata.build();
+ }
+
+ /**
+ * Get a signature string for a method
+ *
+ * @param method the method
+ * @return the signature
+ */
+ private String getSignatureString(Method method)
+ {
+ String name = method.getName();
+ Class[] signature = method.getParameterTypes();
+ StringBuilder buffer = new StringBuilder(512);
+ buffer.append(name);
+ buffer.append("(");
+ if (signature != null)
+ {
+ for (int i = 0; i < signature.length; i++)
+ {
+ buffer.append(signature[i].getName());
+ if (i < signature.length-1)
+ buffer.append(",");
+ }
+ }
+ buffer.append(")");
+ return buffer.toString();
+ }
+
+ /**
+ * Get a signature string for a method
+ *
+ * @param operation the operation
+ * @param signature the signature
+ * @return the signature
+ */
+ private String getSignatureString(String operation, String[] signature)
+ {
+ StringBuilder buffer = new StringBuilder(512);
+ buffer.append(operation);
+ buffer.append("(");
+ if (signature != null)
+ {
+ for (int i = 0; i < signature.length; i++)
+ {
+ buffer.append(signature[i]);
+ if (i < signature.length-1)
+ buffer.append(",");
+ }
+ }
+ buffer.append(")");
+ return buffer.toString();
+ }
+}
Modified: trunk/mbeans/src/main/org/jboss/mx/mxbean/MXBeanFactory.java
===================================================================
--- trunk/mbeans/src/main/org/jboss/mx/mxbean/MXBeanFactory.java 2008-11-14 12:49:40 UTC (rev 81025)
+++ trunk/mbeans/src/main/org/jboss/mx/mxbean/MXBeanFactory.java 2008-11-14 12:51:05 UTC (rev 81026)
@@ -1,77 +1,77 @@
-/*
-* JBoss, Home of Professional Open Source
-* Copyright 2006, JBoss Inc., and individual contributors as indicated
-* by the @authors tag. See the copyright.txt in the distribution for a
-* full listing of individual contributors.
-*
-* This is free software; you can redistribute it and/or modify it
-* under the terms of the GNU Lesser General Public License as
-* published by the Free Software Foundation; either version 2.1 of
-* the License, or (at your option) any later version.
-*
-* This software is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-* Lesser General Public License for more details.
-*
-* You should have received a copy of the GNU Lesser General Public
-* License along with this software; if not, write to the Free
-* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
-* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
-*/
-package org.jboss.mx.mxbean;
-
-import java.lang.reflect.Proxy;
-
-import javax.management.DynamicMBean;
-import javax.management.MBeanServerConnection;
-import javax.management.ObjectName;
-
-/**
- * MXBeanFactory.
- *
- * @author <a href="adrian at jboss.com">Adrian Brock</a>
- * @version $Revision: 1.1 $
- */
-public class MXBeanFactory
-{
- /**
- * Create a proxy
- *
- * @param <T> the interface type
- * @param mbeanServerConnection the connection
- * @param objectName the object name
- * @param mxbeanInterface the interface
- * @return the proxy
- */
- public static <T> T makeProxy(MBeanServerConnection mbeanServerConnection, ObjectName objectName, Class<T> mxbeanInterface)
- {
- MXBeanInvocationHandler handler = new MXBeanInvocationHandler(mbeanServerConnection, mxbeanInterface, objectName);
- Object object = Proxy.newProxyInstance(mxbeanInterface.getClassLoader(), new Class[] { mxbeanInterface }, handler);
- return mxbeanInterface.cast(object);
- }
-
- /**
- * Create a new MXBean
- *
- * @param resource the resource
- * @return the MXBean
- */
- public static DynamicMBean newMXBean(Object resource)
- {
- return MXBeanUtils.createMXBean(resource, null);
- }
-
- /**
- * Create a new MXBean
- *
- * @param <T> the interface type
- * @param resource the resource
- * @param mxbeanInterface the interface
- * @return the MXBean
- */
- public static <T> DynamicMBean newMXBean(T resource, Class<T> mxbeanInterface)
- {
- return MXBeanUtils.createMXBean(resource, mxbeanInterface);
- }
-}
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2008, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.mx.mxbean;
+
+import java.lang.reflect.Proxy;
+
+import javax.management.DynamicMBean;
+import javax.management.MBeanServerConnection;
+import javax.management.ObjectName;
+
+/**
+ * MXBeanFactory.
+ *
+ * @author <a href="adrian at jboss.com">Adrian Brock</a>
+ * @version $Revision: 1.1 $
+ */
+public class MXBeanFactory
+{
+ /**
+ * Create a proxy
+ *
+ * @param <T> the interface type
+ * @param mbeanServerConnection the connection
+ * @param objectName the object name
+ * @param mxbeanInterface the interface
+ * @return the proxy
+ */
+ public static <T> T makeProxy(MBeanServerConnection mbeanServerConnection, ObjectName objectName, Class<T> mxbeanInterface)
+ {
+ MXBeanInvocationHandler handler = new MXBeanInvocationHandler(mbeanServerConnection, mxbeanInterface, objectName);
+ Object object = Proxy.newProxyInstance(mxbeanInterface.getClassLoader(), new Class[] { mxbeanInterface }, handler);
+ return mxbeanInterface.cast(object);
+ }
+
+ /**
+ * Create a new MXBean
+ *
+ * @param resource the resource
+ * @return the MXBean
+ */
+ public static DynamicMBean newMXBean(Object resource)
+ {
+ return MXBeanUtils.createMXBean(resource, null);
+ }
+
+ /**
+ * Create a new MXBean
+ *
+ * @param <T> the interface type
+ * @param resource the resource
+ * @param mxbeanInterface the interface
+ * @return the MXBean
+ */
+ public static <T> DynamicMBean newMXBean(T resource, Class<T> mxbeanInterface)
+ {
+ return MXBeanUtils.createMXBean(resource, mxbeanInterface);
+ }
+}
Modified: trunk/mbeans/src/main/org/jboss/mx/mxbean/MXBeanInvocationHandler.java
===================================================================
--- trunk/mbeans/src/main/org/jboss/mx/mxbean/MXBeanInvocationHandler.java 2008-11-14 12:49:40 UTC (rev 81025)
+++ trunk/mbeans/src/main/org/jboss/mx/mxbean/MXBeanInvocationHandler.java 2008-11-14 12:51:05 UTC (rev 81026)
@@ -1,497 +1,497 @@
-/*
-* JBoss, Home of Professional Open Source
-* Copyright 2006, JBoss Inc., and individual contributors as indicated
-* by the @authors tag. See the copyright.txt in the distribution for a
-* full listing of individual contributors.
-*
-* This is free software; you can redistribute it and/or modify it
-* under the terms of the GNU Lesser General Public License as
-* published by the Free Software Foundation; either version 2.1 of
-* the License, or (at your option) any later version.
-*
-* This software is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-* Lesser General Public License for more details.
-*
-* You should have received a copy of the GNU Lesser General Public
-* License along with this software; if not, write to the Free
-* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
-* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
-*/
-package org.jboss.mx.mxbean;
-
-import java.io.Serializable;
-import java.lang.reflect.InvocationHandler;
-import java.lang.reflect.Method;
-import java.lang.reflect.Proxy;
-import java.lang.reflect.Type;
-import java.util.HashMap;
-import java.util.Map;
-
-import javax.management.Attribute;
-import javax.management.MBeanAttributeInfo;
-import javax.management.MBeanOperationInfo;
-import javax.management.MBeanParameterInfo;
-import javax.management.MBeanServerConnection;
-import javax.management.NotificationBroadcaster;
-import javax.management.NotificationEmitter;
-import javax.management.NotificationFilter;
-import javax.management.NotificationListener;
-import javax.management.ObjectName;
-import javax.management.openmbean.OpenMBeanAttributeInfo;
-import javax.management.openmbean.OpenMBeanInfo;
-import javax.management.openmbean.OpenMBeanOperationInfo;
-import javax.management.openmbean.OpenMBeanParameterInfo;
-import javax.management.openmbean.OpenType;
-
-import org.jboss.mx.util.JMXExceptionDecoder;
-
-/**
- * MXBeanInvocationHandler.
- *
- * @author <a href="adrian at jboss.com">Adrian Brock</a>
- * @version $Revision: 1.1 $
- */
-public class MXBeanInvocationHandler implements InvocationHandler, Serializable
-{
- /** The serialVersionUID */
- private static final long serialVersionUID = -2872014223541692039L;
-
- private static final Class[] LISTENER = new Class[] { NotificationListener.class };
- private static final Class[] TRIPLET = new Class[] { NotificationListener.class, NotificationFilter.class, Object.class };
-
- private static final Method EQUALS;
- private static final Method HASH_CODE;
- private static final Method TO_STRING;
-
- private static final Method ADD_NOTIFICATION_LISTENER;
- private static final Method GET_NOTIFICATION_INFO;
- private static final Method REMOVE_NOTIFICATION_LISTENER;
- private static final Method REMOVE_NOTIFICATION_LISTENER_TRIPLET;
-
- /** The connection */
- private MBeanServerConnection mbeanServerConnection;
-
- /** The interface */
- private Class<?> mxbeanInterface;
-
- /** The object name */
- private ObjectName objectName;
-
- /** The method mappings */
- private transient Map<Method, Action> mappings;
-
- /** The MBean Info */
- private transient OpenMBeanInfo mbeanInfo;
-
- static
- {
- try
- {
- ADD_NOTIFICATION_LISTENER = NotificationBroadcaster.class.getDeclaredMethod("addNotificationListener", TRIPLET);
- GET_NOTIFICATION_INFO = NotificationBroadcaster.class.getDeclaredMethod("getNotificationInfo", new Class[0]);
- REMOVE_NOTIFICATION_LISTENER = NotificationBroadcaster.class.getDeclaredMethod("removeNotificationListener", LISTENER);
- REMOVE_NOTIFICATION_LISTENER_TRIPLET = NotificationEmitter.class.getDeclaredMethod("removeNotificationListener", TRIPLET);
- EQUALS = Object.class.getDeclaredMethod("equals", new Class[] { Object.class });
- HASH_CODE = Object.class.getDeclaredMethod("hashCode", new Class[0]);
- TO_STRING = Object.class.getDeclaredMethod("toString", new Class[0]);
- }
- catch (Exception e)
- {
- throw new RuntimeException(e);
- }
- }
-
- /**
- * Create a new MXBeanInvocationHandler.
- *
- * @param mbeanServerConnection the connection
- * @param mxbeanInterface the interface
- * @param objectName the object name
- */
- public MXBeanInvocationHandler(MBeanServerConnection mbeanServerConnection, Class<?> mxbeanInterface, ObjectName objectName)
- {
- if (mbeanServerConnection == null)
- throw new IllegalArgumentException("Null mbeanServerConnection");
- if (mxbeanInterface == null)
- throw new IllegalArgumentException("Null mxmbeanInterface");
- if (objectName == null)
- throw new IllegalArgumentException("Null objectName");
-
- this.mbeanServerConnection = mbeanServerConnection;
- this.mxbeanInterface = mxbeanInterface;
- this.objectName = objectName;
- }
-
- /**
- * Get the mbeanServerConnection.
- *
- * @return the mbeanServerConnection.
- */
- public MBeanServerConnection getMBeanServerConnection()
- {
- return mbeanServerConnection;
- }
-
- /**
- * Get the mxbeanInterface.
- *
- * @return the mxbeanInterface.
- */
- public Class<?> getMXBeanInterface()
- {
- return mxbeanInterface;
- }
-
- /**
- * Get the objectName.
- *
- * @return the objectName.
- */
- public ObjectName getObjectName()
- {
- return objectName;
- }
-
- public Object invoke(Object proxy, Method method, Object[] args) throws Throwable
- {
- try
- {
- return getAction(proxy, method).perform(args);
- }
- catch (Throwable t)
- {
- throw JMXExceptionDecoder.decode(t);
- }
- }
-
- /**
- * Get the actions for this method
- * @param proxy the proxy
- * @param method the method
- * @return the action
- * @throws Throwable for any error
- */
- private Action getAction(Object proxy, Method method) throws Throwable
- {
- // Doesn't really matter if the mappings are
- // setup twice by two different threads, they are the same.
- if (mappings == null)
- mappings = getMappings(proxy);
-
- // Check the action
- Action result = mappings.get(method);
- if (result == null)
- throw new UnsupportedOperationException("Unknown method: " + method);
-
- // Return the result
- return result;
- }
-
- /**
- * Set up the mappings
- *
- * @param proxy the proxy
- * @return the mapping
- * @throws Throwable for any error
- */
- private Map<Method, Action> getMappings(Object proxy) throws Throwable
- {
- mbeanInfo = (OpenMBeanInfo) mbeanServerConnection.getMBeanInfo(objectName);
- Map<String, OpenMBeanAttributeInfo> attributesMap = new HashMap<String, OpenMBeanAttributeInfo>();
- MBeanAttributeInfo[] attributes = mbeanInfo.getAttributes();
- for (int i = 0; i < attributes.length; ++i)
- {
- OpenMBeanAttributeInfo openAttribute = (OpenMBeanAttributeInfo) attributes[i];
- attributesMap.put(openAttribute.getName(), openAttribute);
- }
- MBeanOperationInfo[] operations = mbeanInfo.getOperations();
-
- Map<Method, Action> result = new HashMap<Method, Action>();
-
- Class[] interfaces = proxy.getClass().getInterfaces();
- for (int i = 0; i < interfaces.length; ++i)
- {
- if (NotificationBroadcaster.class.isAssignableFrom(interfaces[i]))
- {
- result.put(ADD_NOTIFICATION_LISTENER, new AddNotificationListenerAction());
- result.put(GET_NOTIFICATION_INFO, new GetNotificationInfoAction());
- result.put(REMOVE_NOTIFICATION_LISTENER, new RemoveNotificationListenerAction());
- result.put(REMOVE_NOTIFICATION_LISTENER_TRIPLET, new RemoveNotificationListenerTripletAction());
- }
- else
- {
- Method[] methods = interfaces[i].getMethods();
- for (Method method : methods)
- {
- String methodName = method.getName();
- Class returnType = method.getReturnType();
- Class[] parameterTypes = method.getParameterTypes();
-
- // Getter
- if (methodName.startsWith("get") &&
- methodName.length() > 3 &&
- Void.TYPE.equals(returnType) == false &&
- parameterTypes.length == 0)
- {
- String name = methodName.substring(3);
- OpenMBeanAttributeInfo attribute = attributesMap.get(name);
- if (attribute != null)
- {
- Type type = method.getGenericReturnType();
- result.put(method, new GetAction(attribute, type));
- continue;
- }
- }
- // Getter (is)
- else if(methodName.startsWith("is") &&
- methodName.length() > 2 &&
- Boolean.TYPE.equals(returnType) &&
- parameterTypes.length == 0)
- {
- String name = methodName.substring(2);
- OpenMBeanAttributeInfo attribute = attributesMap.get(name);
- if (attribute != null)
- {
- Type type = method.getGenericReturnType();
- result.put(method, new GetAction(attribute, type));
- continue;
- }
- }
- // Setter
- else if(methodName.startsWith("set") &&
- methodName.length() > 3 &&
- Void.TYPE.equals(returnType) &&
- parameterTypes.length == 1)
- {
- String name = methodName.substring(3);
- OpenMBeanAttributeInfo attribute = attributesMap.get(name);
- if (attribute != null)
- {
- result.put(method, new SetAction(attribute));
- continue;
- }
- }
- // Invoker
- OpenMBeanOperationInfo operation = findOperation(methodName, method.getGenericParameterTypes(), operations);
- if (operation != null)
- {
- String[] signature = getSignature(method);
- Type type = method.getGenericReturnType();
- result.put(method, new InvokeAction(operation, signature, type));
- }
- else
- {
- result.put(method, new InvalidAction(method));
- }
- }
- }
- }
-
- // Add the Object mappings
- result.put(EQUALS, new EqualsAction());
- result.put(HASH_CODE, new HashCodeAction());
- result.put(TO_STRING, new ToStringAction());
-
- return result;
- }
-
- private static OpenMBeanOperationInfo findOperation(String name, Type[] parameterTypes, MBeanOperationInfo[] operations)
- {
- OpenType[] signature = getSignature(parameterTypes);
- for (int i = 0; i < operations.length; ++i)
- {
- if (operations[i].getName().equals(name) == false)
- continue;
- MBeanParameterInfo[] parameters = operations[i].getSignature();
- boolean match = true;
- for (int p = 0; p < parameters.length && match; ++p)
- {
- OpenMBeanParameterInfo openMBeanParameterInfo = (OpenMBeanParameterInfo) parameters[p];
- if (signature[p].equals(openMBeanParameterInfo.getOpenType()) == false)
- match = false;
- }
- if (match)
- return (OpenMBeanOperationInfo) operations[i];
- }
- return null;
- }
-
- private static String[] getSignature(final Method method)
- {
- Class[] parameterTypes = method.getParameterTypes();
- String[] signature = new String[parameterTypes.length];
- for (int p = 0; p < parameterTypes.length; ++p)
- signature[p] = parameterTypes[p].getName();
- return signature;
- }
-
- private static OpenType[] getSignature(final Type[] parameterTypes)
- {
- OpenType[] signature = new OpenType[parameterTypes.length];
- for (int p = 0; p < parameterTypes.length; ++p)
- signature[p] = MXBeanUtils.getOpenType(parameterTypes[p]);
- return signature;
- }
-
- private interface Action
- {
- public Object perform(Object[] args) throws Throwable;
- }
-
- private class GetAction implements Action
- {
- private OpenMBeanAttributeInfo attribute;
- private Type type;
-
- public GetAction(OpenMBeanAttributeInfo attribute, Type type)
- {
- this.attribute = attribute;
- this.type = type;
- }
-
- public Object perform(Object[] args) throws Throwable
- {
- Object result = mbeanServerConnection.getAttribute(objectName, attribute.getName());
-
- return MXBeanUtils.reconstruct(attribute.getOpenType(), type, result, "Get attribute: " + attribute.getName());
- }
- }
-
- private class SetAction implements Action
- {
- private OpenMBeanAttributeInfo attribute;
-
- public SetAction(OpenMBeanAttributeInfo attribute)
- {
- this.attribute = attribute;
- }
-
- public Object perform(Object[] args) throws Throwable
- {
- Object value = MXBeanUtils.construct(attribute.getOpenType(), args[0], "Set attribute: " + attribute.getName());
-
- Attribute attr = new Attribute(attribute.getName(), value);
- mbeanServerConnection.setAttribute(objectName, attr);
- return null;
- }
- }
-
- private class InvokeAction implements Action
- {
- private OpenMBeanOperationInfo operation;
- private String[] signature;
- private Type type;
-
- public InvokeAction(OpenMBeanOperationInfo operation, String[] signature, Type type)
- {
- this.operation = operation;
- this.signature = signature;
- this.type = type;
- }
-
- public Object perform(Object[] args) throws Throwable
- {
- MBeanParameterInfo[] parameters = operation.getSignature();
- Object[] arguments = new Object[args.length];
- for (int i = 0; i < parameters.length; ++i)
- {
- OpenMBeanParameterInfo parameter = (OpenMBeanParameterInfo) parameters[i];
- arguments[i] = MXBeanUtils.construct(parameter.getOpenType(), args[i], operation.getName());
- }
-
- Object result = mbeanServerConnection.invoke(objectName, operation.getName(), arguments, signature);
-
- return MXBeanUtils.reconstruct(operation.getReturnOpenType(), type, result, operation.getName());
- }
- }
-
- private class InvalidAction implements Action
- {
- private Method method;
-
- public InvalidAction(Method method)
- {
- this.method = method;
- }
-
- public Object perform(Object[] args) throws Throwable
- {
- throw new UnsupportedOperationException(method + " is not mapped to the MBeanInfo operations for " + objectName);
- }
- }
-
- private class EqualsAction implements Action
- {
- public Object perform(Object[] args) throws Throwable
- {
- Object object = args[0];
- if (object == null || object instanceof Proxy == false)
- return false;
- InvocationHandler handler = Proxy.getInvocationHandler(object);
- if (handler instanceof MXBeanInvocationHandler == false)
- return false;
- MXBeanInvocationHandler other = (MXBeanInvocationHandler) handler;
- return mbeanServerConnection.equals(other.mbeanServerConnection) && objectName.equals(other.objectName);
- }
- }
-
- private class HashCodeAction implements Action
- {
- public Object perform(Object[] args) throws Throwable
- {
- return objectName.hashCode();
- }
- }
-
- private class ToStringAction implements Action
- {
- public Object perform(Object[] args) throws Throwable
- {
- return "MXBeanInvocationHandler(" + objectName + ")";
- }
- }
-
- private class AddNotificationListenerAction implements Action
- {
- public Object perform(Object[] args) throws Throwable
- {
- NotificationListener listener = (NotificationListener) args[0];
- NotificationFilter filter = (NotificationFilter) args[1];
- Object handback = args[2];
- mbeanServerConnection.addNotificationListener(objectName, listener, filter, handback);
- return null;
- }
- }
-
- private class GetNotificationInfoAction implements Action
- {
- public Object perform(Object[] args) throws Throwable
- {
- return mbeanServerConnection.getMBeanInfo(objectName).getNotifications();
- }
- }
-
- private class RemoveNotificationListenerAction implements Action
- {
- public Object perform(Object[] args) throws Throwable
- {
- NotificationListener listener = (NotificationListener) args[0];
- mbeanServerConnection.removeNotificationListener(objectName, listener);
- return null;
- }
- }
-
- private class RemoveNotificationListenerTripletAction implements Action
- {
- public Object perform(Object[] args) throws Throwable
- {
- NotificationListener listener = (NotificationListener) args[0];
- NotificationFilter filter = (NotificationFilter) args[1];
- Object handback = args[2];
- mbeanServerConnection.removeNotificationListener(objectName, listener, filter, handback);
- return null;
- }
- }
-}
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2008, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.mx.mxbean;
+
+import java.io.Serializable;
+import java.lang.reflect.InvocationHandler;
+import java.lang.reflect.Method;
+import java.lang.reflect.Proxy;
+import java.lang.reflect.Type;
+import java.util.HashMap;
+import java.util.Map;
+
+import javax.management.Attribute;
+import javax.management.MBeanAttributeInfo;
+import javax.management.MBeanOperationInfo;
+import javax.management.MBeanParameterInfo;
+import javax.management.MBeanServerConnection;
+import javax.management.NotificationBroadcaster;
+import javax.management.NotificationEmitter;
+import javax.management.NotificationFilter;
+import javax.management.NotificationListener;
+import javax.management.ObjectName;
+import javax.management.openmbean.OpenMBeanAttributeInfo;
+import javax.management.openmbean.OpenMBeanInfo;
+import javax.management.openmbean.OpenMBeanOperationInfo;
+import javax.management.openmbean.OpenMBeanParameterInfo;
+import javax.management.openmbean.OpenType;
+
+import org.jboss.mx.util.JMXExceptionDecoder;
+
+/**
+ * MXBeanInvocationHandler.
+ *
+ * @author <a href="adrian at jboss.com">Adrian Brock</a>
+ * @version $Revision: 1.1 $
+ */
+public class MXBeanInvocationHandler implements InvocationHandler, Serializable
+{
+ /** The serialVersionUID */
+ private static final long serialVersionUID = -2872014223541692039L;
+
+ private static final Class[] LISTENER = new Class[] { NotificationListener.class };
+ private static final Class[] TRIPLET = new Class[] { NotificationListener.class, NotificationFilter.class, Object.class };
+
+ private static final Method EQUALS;
+ private static final Method HASH_CODE;
+ private static final Method TO_STRING;
+
+ private static final Method ADD_NOTIFICATION_LISTENER;
+ private static final Method GET_NOTIFICATION_INFO;
+ private static final Method REMOVE_NOTIFICATION_LISTENER;
+ private static final Method REMOVE_NOTIFICATION_LISTENER_TRIPLET;
+
+ /** The connection */
+ private MBeanServerConnection mbeanServerConnection;
+
+ /** The interface */
+ private Class<?> mxbeanInterface;
+
+ /** The object name */
+ private ObjectName objectName;
+
+ /** The method mappings */
+ private transient Map<Method, Action> mappings;
+
+ /** The MBean Info */
+ private transient OpenMBeanInfo mbeanInfo;
+
+ static
+ {
+ try
+ {
+ ADD_NOTIFICATION_LISTENER = NotificationBroadcaster.class.getDeclaredMethod("addNotificationListener", TRIPLET);
+ GET_NOTIFICATION_INFO = NotificationBroadcaster.class.getDeclaredMethod("getNotificationInfo", new Class[0]);
+ REMOVE_NOTIFICATION_LISTENER = NotificationBroadcaster.class.getDeclaredMethod("removeNotificationListener", LISTENER);
+ REMOVE_NOTIFICATION_LISTENER_TRIPLET = NotificationEmitter.class.getDeclaredMethod("removeNotificationListener", TRIPLET);
+ EQUALS = Object.class.getDeclaredMethod("equals", new Class[] { Object.class });
+ HASH_CODE = Object.class.getDeclaredMethod("hashCode", new Class[0]);
+ TO_STRING = Object.class.getDeclaredMethod("toString", new Class[0]);
+ }
+ catch (Exception e)
+ {
+ throw new RuntimeException(e);
+ }
+ }
+
+ /**
+ * Create a new MXBeanInvocationHandler.
+ *
+ * @param mbeanServerConnection the connection
+ * @param mxbeanInterface the interface
+ * @param objectName the object name
+ */
+ public MXBeanInvocationHandler(MBeanServerConnection mbeanServerConnection, Class<?> mxbeanInterface, ObjectName objectName)
+ {
+ if (mbeanServerConnection == null)
+ throw new IllegalArgumentException("Null mbeanServerConnection");
+ if (mxbeanInterface == null)
+ throw new IllegalArgumentException("Null mxmbeanInterface");
+ if (objectName == null)
+ throw new IllegalArgumentException("Null objectName");
+
+ this.mbeanServerConnection = mbeanServerConnection;
+ this.mxbeanInterface = mxbeanInterface;
+ this.objectName = objectName;
+ }
+
+ /**
+ * Get the mbeanServerConnection.
+ *
+ * @return the mbeanServerConnection.
+ */
+ public MBeanServerConnection getMBeanServerConnection()
+ {
+ return mbeanServerConnection;
+ }
+
+ /**
+ * Get the mxbeanInterface.
+ *
+ * @return the mxbeanInterface.
+ */
+ public Class<?> getMXBeanInterface()
+ {
+ return mxbeanInterface;
+ }
+
+ /**
+ * Get the objectName.
+ *
+ * @return the objectName.
+ */
+ public ObjectName getObjectName()
+ {
+ return objectName;
+ }
+
+ public Object invoke(Object proxy, Method method, Object[] args) throws Throwable
+ {
+ try
+ {
+ return getAction(proxy, method).perform(args);
+ }
+ catch (Throwable t)
+ {
+ throw JMXExceptionDecoder.decode(t);
+ }
+ }
+
+ /**
+ * Get the actions for this method
+ * @param proxy the proxy
+ * @param method the method
+ * @return the action
+ * @throws Throwable for any error
+ */
+ private Action getAction(Object proxy, Method method) throws Throwable
+ {
+ // Doesn't really matter if the mappings are
+ // setup twice by two different threads, they are the same.
+ if (mappings == null)
+ mappings = getMappings(proxy);
+
+ // Check the action
+ Action result = mappings.get(method);
+ if (result == null)
+ throw new UnsupportedOperationException("Unknown method: " + method);
+
+ // Return the result
+ return result;
+ }
+
+ /**
+ * Set up the mappings
+ *
+ * @param proxy the proxy
+ * @return the mapping
+ * @throws Throwable for any error
+ */
+ private Map<Method, Action> getMappings(Object proxy) throws Throwable
+ {
+ mbeanInfo = (OpenMBeanInfo) mbeanServerConnection.getMBeanInfo(objectName);
+ Map<String, OpenMBeanAttributeInfo> attributesMap = new HashMap<String, OpenMBeanAttributeInfo>();
+ MBeanAttributeInfo[] attributes = mbeanInfo.getAttributes();
+ for (int i = 0; i < attributes.length; ++i)
+ {
+ OpenMBeanAttributeInfo openAttribute = (OpenMBeanAttributeInfo) attributes[i];
+ attributesMap.put(openAttribute.getName(), openAttribute);
+ }
+ MBeanOperationInfo[] operations = mbeanInfo.getOperations();
+
+ Map<Method, Action> result = new HashMap<Method, Action>();
+
+ Class[] interfaces = proxy.getClass().getInterfaces();
+ for (int i = 0; i < interfaces.length; ++i)
+ {
+ if (NotificationBroadcaster.class.isAssignableFrom(interfaces[i]))
+ {
+ result.put(ADD_NOTIFICATION_LISTENER, new AddNotificationListenerAction());
+ result.put(GET_NOTIFICATION_INFO, new GetNotificationInfoAction());
+ result.put(REMOVE_NOTIFICATION_LISTENER, new RemoveNotificationListenerAction());
+ result.put(REMOVE_NOTIFICATION_LISTENER_TRIPLET, new RemoveNotificationListenerTripletAction());
+ }
+ else
+ {
+ Method[] methods = interfaces[i].getMethods();
+ for (Method method : methods)
+ {
+ String methodName = method.getName();
+ Class returnType = method.getReturnType();
+ Class[] parameterTypes = method.getParameterTypes();
+
+ // Getter
+ if (methodName.startsWith("get") &&
+ methodName.length() > 3 &&
+ Void.TYPE.equals(returnType) == false &&
+ parameterTypes.length == 0)
+ {
+ String name = methodName.substring(3);
+ OpenMBeanAttributeInfo attribute = attributesMap.get(name);
+ if (attribute != null)
+ {
+ Type type = method.getGenericReturnType();
+ result.put(method, new GetAction(attribute, type));
+ continue;
+ }
+ }
+ // Getter (is)
+ else if(methodName.startsWith("is") &&
+ methodName.length() > 2 &&
+ Boolean.TYPE.equals(returnType) &&
+ parameterTypes.length == 0)
+ {
+ String name = methodName.substring(2);
+ OpenMBeanAttributeInfo attribute = attributesMap.get(name);
+ if (attribute != null)
+ {
+ Type type = method.getGenericReturnType();
+ result.put(method, new GetAction(attribute, type));
+ continue;
+ }
+ }
+ // Setter
+ else if(methodName.startsWith("set") &&
+ methodName.length() > 3 &&
+ Void.TYPE.equals(returnType) &&
+ parameterTypes.length == 1)
+ {
+ String name = methodName.substring(3);
+ OpenMBeanAttributeInfo attribute = attributesMap.get(name);
+ if (attribute != null)
+ {
+ result.put(method, new SetAction(attribute));
+ continue;
+ }
+ }
+ // Invoker
+ OpenMBeanOperationInfo operation = findOperation(methodName, method.getGenericParameterTypes(), operations);
+ if (operation != null)
+ {
+ String[] signature = getSignature(method);
+ Type type = method.getGenericReturnType();
+ result.put(method, new InvokeAction(operation, signature, type));
+ }
+ else
+ {
+ result.put(method, new InvalidAction(method));
+ }
+ }
+ }
+ }
+
+ // Add the Object mappings
+ result.put(EQUALS, new EqualsAction());
+ result.put(HASH_CODE, new HashCodeAction());
+ result.put(TO_STRING, new ToStringAction());
+
+ return result;
+ }
+
+ private static OpenMBeanOperationInfo findOperation(String name, Type[] parameterTypes, MBeanOperationInfo[] operations)
+ {
+ OpenType[] signature = getSignature(parameterTypes);
+ for (int i = 0; i < operations.length; ++i)
+ {
+ if (operations[i].getName().equals(name) == false)
+ continue;
+ MBeanParameterInfo[] parameters = operations[i].getSignature();
+ boolean match = true;
+ for (int p = 0; p < parameters.length && match; ++p)
+ {
+ OpenMBeanParameterInfo openMBeanParameterInfo = (OpenMBeanParameterInfo) parameters[p];
+ if (signature[p].equals(openMBeanParameterInfo.getOpenType()) == false)
+ match = false;
+ }
+ if (match)
+ return (OpenMBeanOperationInfo) operations[i];
+ }
+ return null;
+ }
+
+ private static String[] getSignature(final Method method)
+ {
+ Class[] parameterTypes = method.getParameterTypes();
+ String[] signature = new String[parameterTypes.length];
+ for (int p = 0; p < parameterTypes.length; ++p)
+ signature[p] = parameterTypes[p].getName();
+ return signature;
+ }
+
+ private static OpenType[] getSignature(final Type[] parameterTypes)
+ {
+ OpenType[] signature = new OpenType[parameterTypes.length];
+ for (int p = 0; p < parameterTypes.length; ++p)
+ signature[p] = MXBeanUtils.getOpenType(parameterTypes[p]);
+ return signature;
+ }
+
+ private interface Action
+ {
+ public Object perform(Object[] args) throws Throwable;
+ }
+
+ private class GetAction implements Action
+ {
+ private OpenMBeanAttributeInfo attribute;
+ private Type type;
+
+ public GetAction(OpenMBeanAttributeInfo attribute, Type type)
+ {
+ this.attribute = attribute;
+ this.type = type;
+ }
+
+ public Object perform(Object[] args) throws Throwable
+ {
+ Object result = mbeanServerConnection.getAttribute(objectName, attribute.getName());
+
+ return MXBeanUtils.reconstruct(attribute.getOpenType(), type, result, "Get attribute: " + attribute.getName());
+ }
+ }
+
+ private class SetAction implements Action
+ {
+ private OpenMBeanAttributeInfo attribute;
+
+ public SetAction(OpenMBeanAttributeInfo attribute)
+ {
+ this.attribute = attribute;
+ }
+
+ public Object perform(Object[] args) throws Throwable
+ {
+ Object value = MXBeanUtils.construct(attribute.getOpenType(), args[0], "Set attribute: " + attribute.getName());
+
+ Attribute attr = new Attribute(attribute.getName(), value);
+ mbeanServerConnection.setAttribute(objectName, attr);
+ return null;
+ }
+ }
+
+ private class InvokeAction implements Action
+ {
+ private OpenMBeanOperationInfo operation;
+ private String[] signature;
+ private Type type;
+
+ public InvokeAction(OpenMBeanOperationInfo operation, String[] signature, Type type)
+ {
+ this.operation = operation;
+ this.signature = signature;
+ this.type = type;
+ }
+
+ public Object perform(Object[] args) throws Throwable
+ {
+ MBeanParameterInfo[] parameters = operation.getSignature();
+ Object[] arguments = new Object[args.length];
+ for (int i = 0; i < parameters.length; ++i)
+ {
+ OpenMBeanParameterInfo parameter = (OpenMBeanParameterInfo) parameters[i];
+ arguments[i] = MXBeanUtils.construct(parameter.getOpenType(), args[i], operation.getName());
+ }
+
+ Object result = mbeanServerConnection.invoke(objectName, operation.getName(), arguments, signature);
+
+ return MXBeanUtils.reconstruct(operation.getReturnOpenType(), type, result, operation.getName());
+ }
+ }
+
+ private class InvalidAction implements Action
+ {
+ private Method method;
+
+ public InvalidAction(Method method)
+ {
+ this.method = method;
+ }
+
+ public Object perform(Object[] args) throws Throwable
+ {
+ throw new UnsupportedOperationException(method + " is not mapped to the MBeanInfo operations for " + objectName);
+ }
+ }
+
+ private class EqualsAction implements Action
+ {
+ public Object perform(Object[] args) throws Throwable
+ {
+ Object object = args[0];
+ if (object == null || object instanceof Proxy == false)
+ return false;
+ InvocationHandler handler = Proxy.getInvocationHandler(object);
+ if (handler instanceof MXBeanInvocationHandler == false)
+ return false;
+ MXBeanInvocationHandler other = (MXBeanInvocationHandler) handler;
+ return mbeanServerConnection.equals(other.mbeanServerConnection) && objectName.equals(other.objectName);
+ }
+ }
+
+ private class HashCodeAction implements Action
+ {
+ public Object perform(Object[] args) throws Throwable
+ {
+ return objectName.hashCode();
+ }
+ }
+
+ private class ToStringAction implements Action
+ {
+ public Object perform(Object[] args) throws Throwable
+ {
+ return "MXBeanInvocationHandler(" + objectName + ")";
+ }
+ }
+
+ private class AddNotificationListenerAction implements Action
+ {
+ public Object perform(Object[] args) throws Throwable
+ {
+ NotificationListener listener = (NotificationListener) args[0];
+ NotificationFilter filter = (NotificationFilter) args[1];
+ Object handback = args[2];
+ mbeanServerConnection.addNotificationListener(objectName, listener, filter, handback);
+ return null;
+ }
+ }
+
+ private class GetNotificationInfoAction implements Action
+ {
+ public Object perform(Object[] args) throws Throwable
+ {
+ return mbeanServerConnection.getMBeanInfo(objectName).getNotifications();
+ }
+ }
+
+ private class RemoveNotificationListenerAction implements Action
+ {
+ public Object perform(Object[] args) throws Throwable
+ {
+ NotificationListener listener = (NotificationListener) args[0];
+ mbeanServerConnection.removeNotificationListener(objectName, listener);
+ return null;
+ }
+ }
+
+ private class RemoveNotificationListenerTripletAction implements Action
+ {
+ public Object perform(Object[] args) throws Throwable
+ {
+ NotificationListener listener = (NotificationListener) args[0];
+ NotificationFilter filter = (NotificationFilter) args[1];
+ Object handback = args[2];
+ mbeanServerConnection.removeNotificationListener(objectName, listener, filter, handback);
+ return null;
+ }
+ }
+}
Modified: trunk/mbeans/src/main/org/jboss/mx/mxbean/MXBeanMetaData.java
===================================================================
--- trunk/mbeans/src/main/org/jboss/mx/mxbean/MXBeanMetaData.java 2008-11-14 12:49:40 UTC (rev 81025)
+++ trunk/mbeans/src/main/org/jboss/mx/mxbean/MXBeanMetaData.java 2008-11-14 12:51:05 UTC (rev 81026)
@@ -1,417 +1,417 @@
-/*
-* JBoss, Home of Professional Open Source
-* Copyright 2005, JBoss Inc., and individual contributors as indicated
-* by the @authors tag. See the copyright.txt in the distribution for a
-* full listing of individual contributors.
-*
-* This is free software; you can redistribute it and/or modify it
-* under the terms of the GNU Lesser General Public License as
-* published by the Free Software Foundation; either version 2.1 of
-* the License, or (at your option) any later version.
-*
-* This software is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-* Lesser General Public License for more details.
-*
-* You should have received a copy of the GNU Lesser General Public
-* License along with this software; if not, write to the Free
-* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
-* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
-*/
-package org.jboss.mx.mxbean;
-
-import java.lang.reflect.Constructor;
-import java.lang.reflect.Method;
-import java.lang.reflect.Type;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.HashMap;
-import java.util.List;
-
-import javax.management.IntrospectionException;
-import javax.management.MBeanInfo;
-import javax.management.MBeanNotificationInfo;
-import javax.management.MBeanOperationInfo;
-import javax.management.NotCompliantMBeanException;
-import javax.management.NotificationBroadcaster;
-import javax.management.openmbean.OpenMBeanAttributeInfo;
-import javax.management.openmbean.OpenMBeanAttributeInfoSupport;
-import javax.management.openmbean.OpenMBeanConstructorInfo;
-import javax.management.openmbean.OpenMBeanConstructorInfoSupport;
-import javax.management.openmbean.OpenMBeanInfoSupport;
-import javax.management.openmbean.OpenMBeanOperationInfo;
-import javax.management.openmbean.OpenMBeanOperationInfoSupport;
-import javax.management.openmbean.OpenMBeanParameterInfo;
-import javax.management.openmbean.OpenMBeanParameterInfoSupport;
-import javax.management.openmbean.OpenType;
-
-import org.jboss.mx.metadata.AbstractBuilder;
-
-/**
- * MXBeanMetaData
- *
- * @author <a href="mailto:juha at jboss.org">Juha Lindfors</a>.
- * @author <a href="mailto:trevor at protocool.com">Trevor Squires</a>.
- * @author <a href="mailto:thomas.diesler at jboss.com">Thomas Diesler</a>.
- * @author <a href="mailto:dimitris at jboss.org">Dimitris Andreadis</a>.
- */
-public class MXBeanMetaData extends AbstractBuilder
-{
- /** The MBean */
- private Object mbeanInstance;
-
- /** The class */
- private Class<?> mbeanClass;
-
- /** The interface */
- private Class<?> mbeanInterface;
-
- /**
- * Find the MXBean interface for a class
- *
- * @param mbeanClass the mbean class
- * @return the interface
- */
- public static Class<?> findMXBeanInterface(Class<?> mbeanClass)
- {
- Class<?> concrete = mbeanClass;
- while (null != concrete)
- {
- Class result = findMXBeanInterface(concrete, concrete.getInterfaces());
- if (null != result)
- return result;
- concrete = concrete.getSuperclass();
- }
- return null;
- }
-
- /**
- * Find the MXBean interface for a class
- *
- * @param concrete the mbean class
- * @param interfaces the interfaces to consider
- * @return the interface
- */
- private static Class<?> findMXBeanInterface(Class<?> concrete, Class<?>[] interfaces)
- {
- String mxName = concrete.getName() + "MXBean";
- String stdName = concrete.getName() + "MBean";
-
- for (Class<?> intf : interfaces)
- {
- String name = intf.getName();
- if (mxName.equals(name) || stdName.equals(name))
- return intf;
-
- MXBean mxBean = intf.getAnnotation(MXBean.class);
- if (mxBean != null && mxBean.value())
- return intf;
- }
- return null;
- }
-
- /**
- * Create a new MXBeanMetaData.
- *
- * @param mbeanInstance the mbean instance
- * @throws NotCompliantMBeanException for any error
- */
- public MXBeanMetaData(Object mbeanInstance) throws NotCompliantMBeanException
- {
- this(mbeanInstance.getClass());
- this.mbeanInstance = mbeanInstance;
- }
-
- /**
- * Create a new MXBeanMetaData.
- *
- * @param mbeanClass the class
- * @throws NotCompliantMBeanException for any error
- */
- public MXBeanMetaData(Class<?> mbeanClass) throws NotCompliantMBeanException
- {
- this.mbeanClass = mbeanClass;
- this.mbeanInterface = findMXBeanInterface(mbeanClass);
- if (this.mbeanInterface == null)
- throw new NotCompliantMBeanException("Cannot obtain MXBean interface for: " + mbeanClass);
- }
-
- /**
- * Create a new MXBeanMetaData.
- *
- * @param mbeanInstance the mbean instance
- * @param mbeanInterface the mbean interface
- * @throws NotCompliantMBeanException for any error
- */
- public MXBeanMetaData(Object mbeanInstance, Class<?> mbeanInterface) throws NotCompliantMBeanException
- {
- this.mbeanInstance = mbeanInstance;
- this.mbeanClass = mbeanInstance.getClass();
- this.mbeanInterface = mbeanInterface;
- if (this.mbeanInterface == null)
- this.mbeanInterface = MXBeanMetaData.findMXBeanInterface(mbeanClass);
- if (this.mbeanInterface == null)
- throw new NotCompliantMBeanException("Cannot obtain mxbean interface for: " + mbeanClass);
- if (this.mbeanInterface.isInterface() == false)
- throw new NotCompliantMBeanException("Management interface is not an interface: " + mbeanInterface);
- }
-
- /**
- * Retrieve the management interface
- *
- * @return the interface
- */
- public Class<?> getMBeanInterface()
- {
- return mbeanInterface;
- }
-
- public MBeanInfo build() throws NotCompliantMBeanException
- {
- try
- {
- // First check the mbean instance implements the interface
- if (mbeanInterface == null)
- throw new NotCompliantMBeanException("The mbean does not implement a management interface");
- if (mbeanInstance != null && mbeanInterface.isInstance(mbeanInstance) == false)
- throw new NotCompliantMBeanException("The mbean does not implement its management interface " + mbeanInterface.getName());
-
- OpenMBeanConstructorInfo[] constructorInfo = buildConstructors();
-
- HashMap<String, Method> getters = new HashMap<String, Method>();
- HashMap<String, Method> setters = new HashMap<String, Method>();
-
- HashMap<String, OpenMBeanOperationInfo> operInfo = new HashMap<String, OpenMBeanOperationInfo>();
- List<OpenMBeanAttributeInfo> attrInfo = new ArrayList<OpenMBeanAttributeInfo>();
-
- Method[] methods = mbeanInterface.getMethods();
- for (Method method : methods)
- {
- String methodName = method.getName();
- Type[] signature = method.getGenericParameterTypes();
- Type returnType = method.getGenericReturnType();
-
- if (methodName.startsWith("set") &&
- methodName.length() > 3 &&
- signature.length == 1 &&
- returnType == Void.TYPE)
- {
- String key = methodName.substring(3, methodName.length());
- Method setter = setters.get(key);
- if (setter != null && setter.getGenericParameterTypes()[0].equals(signature[0]) == false)
- throw new IntrospectionException("overloaded type for attribute set: " + key);
- setters.put(key, method);
- }
- else if (methodName.startsWith("get") &&
- methodName.length() > 3 &&
- signature.length == 0 &&
- returnType != Void.TYPE)
- {
- String key = methodName.substring(3, methodName.length());
- Method getter = getters.get(key);
- if (getter != null && getter.getName().startsWith("is"))
- throw new IntrospectionException("mixed use of get/is for attribute " + key);
- getters.put(key, method);
- }
- else if (methodName.startsWith("is") &&
- methodName.length() > 2 &&
- signature.length == 0 &&
- isBooleanReturn(returnType))
- {
- String key = methodName.substring(2, methodName.length());
- Method getter = getters.get(key);
- if (getter != null && getter.getName().startsWith("get"))
- throw new IntrospectionException("mixed use of get/is for attribute " + key);
- getters.put(key, method);
- }
- else
- {
- OpenMBeanOperationInfo info = buildOperation(method);
- operInfo.put(getSignatureString(method), info);
- }
- }
-
- String[] keys = getters.keySet().toArray(new String[getters.size()]);
- for (String key : keys)
- {
- Method getter = getters.remove(key);
- Method setter = setters.remove(key);
- OpenMBeanAttributeInfo info = buildAttribute(key, getter, setter);
- attrInfo.add(info);
- }
-
- for (String key : setters.keySet())
- {
- Method setter = setters.remove(key);
- OpenMBeanAttributeInfo info = buildAttribute(key, null, setter);
- attrInfo.add(info);
- }
-
- OpenMBeanAttributeInfo[] attributeInfo = attrInfo.toArray(new OpenMBeanAttributeInfo[attrInfo.size()]);
- Collection<OpenMBeanOperationInfo> operations = operInfo.values();
- OpenMBeanOperationInfo[] operationInfo = operations.toArray(new OpenMBeanOperationInfo[operations.size()]);
-
- MBeanNotificationInfo[] notifications = null;
- if (mbeanInstance instanceof NotificationBroadcaster)
- notifications = ((NotificationBroadcaster) mbeanInstance).getNotificationInfo();
- else
- notifications = new MBeanNotificationInfo[0];
-
- return buildMBeanInfo(attributeInfo, constructorInfo, operationInfo, notifications);
-
- }
- catch (Throwable t)
- {
- NotCompliantMBeanException e = new NotCompliantMBeanException("Error generating OpenMBeanInfo.");
- e.initCause(t);
- throw e;
- }
- }
-
- /**
- * Build the constructors
- *
- * @return the info
- * @throws Exception for any error
- */
- private OpenMBeanConstructorInfo[] buildConstructors() throws Exception
- {
- Constructor<?>[] constructors = mbeanClass.getConstructors();
- OpenMBeanConstructorInfo[] constructorInfo = new OpenMBeanConstructorInfo[constructors.length];
- for (int i = 0; i < constructors.length; ++i)
- constructorInfo[i] = buildConstructor(constructors[i]);
- return constructorInfo;
- }
-
- /**
- * Build a constructor
- *
- * @param constructor the constructor
- * @return the info
- * @throws Exception for any error
- */
- private OpenMBeanConstructorInfo buildConstructor(Constructor<?> constructor) throws Exception
- {
- Type[] parameterTypes = constructor.getGenericParameterTypes();
- OpenMBeanParameterInfo[] parameterInfo = new OpenMBeanParameterInfo[parameterTypes.length];
- for (int i = 0; i < parameterTypes.length; ++i)
- parameterInfo[i] = buildParameter(i, parameterTypes[i]);
- return new OpenMBeanConstructorInfoSupport("MBean Constructor.", "MBean Constructor.", parameterInfo);
- }
-
- /**
- * Build a parameter
- *
- * @param i the index of the parameter
- * @param parameterType the parameter type
- * @return the info
- * @throws Exception for any error
- */
- private OpenMBeanParameterInfo buildParameter(int i, Type parameterType) throws Exception
- {
- OpenType openType = MXBeanUtils.getOpenType(parameterType);
- return new OpenMBeanParameterInfoSupport("arg" + i, "MBean Parameter.", openType);
- }
-
- /**
- * Build an attribute
- *
- * @param attrName the attribute name
- * @param getter the getter
- * @param setter the setter
- * @return the info
- * @throws Exception for any error
- */
- private OpenMBeanAttributeInfo buildAttribute(String attrName, Method getter, Method setter) throws Exception
- {
- boolean isReadable = (getter != null);
- boolean isWritable = (setter != null);
- boolean isIs = false;
-
- OpenType openType = null;
- if (getter != null)
- {
- openType = MXBeanUtils.getOpenType(getter.getGenericReturnType());
- if (getter.getName().startsWith("is"))
- isIs = true;
- }
- else
- {
- openType = MXBeanUtils.getOpenType(setter.getGenericParameterTypes()[0]);
- }
-
- return new OpenMBeanAttributeInfoSupport(attrName, attrName, openType, isReadable, isWritable, isIs);
- }
-
- /**
- * Build the operation info
- *
- * @param method the method
- * @return the info
- * @throws Exception for any error
- */
- private OpenMBeanOperationInfo buildOperation(Method method) throws Exception
- {
- Type[] parameterTypes = method.getGenericParameterTypes();
- OpenMBeanParameterInfo[] parameterInfo = new OpenMBeanParameterInfo[parameterTypes.length];
- for (int i = 0; i < parameterTypes.length; ++i)
- parameterInfo[i] = buildParameter(i, parameterTypes[i]);
- OpenType openType = MXBeanUtils.getOpenType(method.getGenericReturnType());
- return new OpenMBeanOperationInfoSupport(method.getName(), method.getName(), parameterInfo, openType, MBeanOperationInfo.ACTION);
- }
-
- /**
- * Build the mbean info
- *
- * @param attributes the attributes
- * @param constructors the constructors
- * @param operations the operations
- * @param notifications the notifications
- * @return the info
- * @throws Exception for any error
- */
- private OpenMBeanInfoSupport buildMBeanInfo(OpenMBeanAttributeInfo[] attributes, OpenMBeanConstructorInfo[] constructors, OpenMBeanOperationInfo[] operations, MBeanNotificationInfo[] notifications) throws Exception
- {
- return new OpenMBeanInfoSupport(mbeanClass.getName(), mbeanClass.getName(), attributes, constructors, operations, notifications);
- }
-
- /**
- * JMX standard specifies that only "boolean isX()" style methods
- * represent attributes. "Boolean isX()" methods map to operations.
- *
- * @param returnType the return type
- * @return true when boolean
- */
- private boolean isBooleanReturn(Type returnType)
- {
- return returnType == Boolean.TYPE;
- }
-
- /**
- * Get a signature string for a method
- *
- * @param method the method
- * @return the signature
- */
- private String getSignatureString(Method method)
- {
- String name = method.getName();
- Class[] signature = method.getParameterTypes();
- StringBuffer buffer = new StringBuffer(512);
- buffer.append(name);
- buffer.append("(");
- if (signature != null)
- {
- for (int i = 0; i < signature.length; i++)
- {
- buffer.append(signature[i].getName());
- if (i < signature.length-1)
- buffer.append(",");
- }
- }
- buffer.append(")");
- return buffer.toString();
- }
-}
-
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2008, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.mx.mxbean;
+
+import java.lang.reflect.Constructor;
+import java.lang.reflect.Method;
+import java.lang.reflect.Type;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.HashMap;
+import java.util.List;
+
+import javax.management.IntrospectionException;
+import javax.management.MBeanInfo;
+import javax.management.MBeanNotificationInfo;
+import javax.management.MBeanOperationInfo;
+import javax.management.NotCompliantMBeanException;
+import javax.management.NotificationBroadcaster;
+import javax.management.openmbean.OpenMBeanAttributeInfo;
+import javax.management.openmbean.OpenMBeanAttributeInfoSupport;
+import javax.management.openmbean.OpenMBeanConstructorInfo;
+import javax.management.openmbean.OpenMBeanConstructorInfoSupport;
+import javax.management.openmbean.OpenMBeanInfoSupport;
+import javax.management.openmbean.OpenMBeanOperationInfo;
+import javax.management.openmbean.OpenMBeanOperationInfoSupport;
+import javax.management.openmbean.OpenMBeanParameterInfo;
+import javax.management.openmbean.OpenMBeanParameterInfoSupport;
+import javax.management.openmbean.OpenType;
+
+import org.jboss.mx.metadata.AbstractBuilder;
+
+/**
+ * MXBeanMetaData
+ *
+ * @author <a href="mailto:juha at jboss.org">Juha Lindfors</a>.
+ * @author <a href="mailto:trevor at protocool.com">Trevor Squires</a>.
+ * @author <a href="mailto:thomas.diesler at jboss.com">Thomas Diesler</a>.
+ * @author <a href="mailto:dimitris at jboss.org">Dimitris Andreadis</a>.
+ */
+public class MXBeanMetaData extends AbstractBuilder
+{
+ /** The MBean */
+ private Object mbeanInstance;
+
+ /** The class */
+ private Class<?> mbeanClass;
+
+ /** The interface */
+ private Class<?> mbeanInterface;
+
+ /**
+ * Find the MXBean interface for a class
+ *
+ * @param mbeanClass the mbean class
+ * @return the interface
+ */
+ public static Class<?> findMXBeanInterface(Class<?> mbeanClass)
+ {
+ Class<?> concrete = mbeanClass;
+ while (null != concrete)
+ {
+ Class result = findMXBeanInterface(concrete, concrete.getInterfaces());
+ if (null != result)
+ return result;
+ concrete = concrete.getSuperclass();
+ }
+ return null;
+ }
+
+ /**
+ * Find the MXBean interface for a class
+ *
+ * @param concrete the mbean class
+ * @param interfaces the interfaces to consider
+ * @return the interface
+ */
+ private static Class<?> findMXBeanInterface(Class<?> concrete, Class<?>[] interfaces)
+ {
+ String mxName = concrete.getName() + "MXBean";
+ String stdName = concrete.getName() + "MBean";
+
+ for (Class<?> intf : interfaces)
+ {
+ String name = intf.getName();
+ if (mxName.equals(name) || stdName.equals(name))
+ return intf;
+
+ MXBean mxBean = intf.getAnnotation(MXBean.class);
+ if (mxBean != null && mxBean.value())
+ return intf;
+ }
+ return null;
+ }
+
+ /**
+ * Create a new MXBeanMetaData.
+ *
+ * @param mbeanInstance the mbean instance
+ * @throws NotCompliantMBeanException for any error
+ */
+ public MXBeanMetaData(Object mbeanInstance) throws NotCompliantMBeanException
+ {
+ this(mbeanInstance.getClass());
+ this.mbeanInstance = mbeanInstance;
+ }
+
+ /**
+ * Create a new MXBeanMetaData.
+ *
+ * @param mbeanClass the class
+ * @throws NotCompliantMBeanException for any error
+ */
+ public MXBeanMetaData(Class<?> mbeanClass) throws NotCompliantMBeanException
+ {
+ this.mbeanClass = mbeanClass;
+ this.mbeanInterface = findMXBeanInterface(mbeanClass);
+ if (this.mbeanInterface == null)
+ throw new NotCompliantMBeanException("Cannot obtain MXBean interface for: " + mbeanClass);
+ }
+
+ /**
+ * Create a new MXBeanMetaData.
+ *
+ * @param mbeanInstance the mbean instance
+ * @param mbeanInterface the mbean interface
+ * @throws NotCompliantMBeanException for any error
+ */
+ public MXBeanMetaData(Object mbeanInstance, Class<?> mbeanInterface) throws NotCompliantMBeanException
+ {
+ this.mbeanInstance = mbeanInstance;
+ this.mbeanClass = mbeanInstance.getClass();
+ this.mbeanInterface = mbeanInterface;
+ if (this.mbeanInterface == null)
+ this.mbeanInterface = MXBeanMetaData.findMXBeanInterface(mbeanClass);
+ if (this.mbeanInterface == null)
+ throw new NotCompliantMBeanException("Cannot obtain mxbean interface for: " + mbeanClass);
+ if (this.mbeanInterface.isInterface() == false)
+ throw new NotCompliantMBeanException("Management interface is not an interface: " + mbeanInterface);
+ }
+
+ /**
+ * Retrieve the management interface
+ *
+ * @return the interface
+ */
+ public Class<?> getMBeanInterface()
+ {
+ return mbeanInterface;
+ }
+
+ public MBeanInfo build() throws NotCompliantMBeanException
+ {
+ try
+ {
+ // First check the mbean instance implements the interface
+ if (mbeanInterface == null)
+ throw new NotCompliantMBeanException("The mbean does not implement a management interface");
+ if (mbeanInstance != null && mbeanInterface.isInstance(mbeanInstance) == false)
+ throw new NotCompliantMBeanException("The mbean does not implement its management interface " + mbeanInterface.getName());
+
+ OpenMBeanConstructorInfo[] constructorInfo = buildConstructors();
+
+ HashMap<String, Method> getters = new HashMap<String, Method>();
+ HashMap<String, Method> setters = new HashMap<String, Method>();
+
+ HashMap<String, OpenMBeanOperationInfo> operInfo = new HashMap<String, OpenMBeanOperationInfo>();
+ List<OpenMBeanAttributeInfo> attrInfo = new ArrayList<OpenMBeanAttributeInfo>();
+
+ Method[] methods = mbeanInterface.getMethods();
+ for (Method method : methods)
+ {
+ String methodName = method.getName();
+ Type[] signature = method.getGenericParameterTypes();
+ Type returnType = method.getGenericReturnType();
+
+ if (methodName.startsWith("set") &&
+ methodName.length() > 3 &&
+ signature.length == 1 &&
+ returnType == Void.TYPE)
+ {
+ String key = methodName.substring(3, methodName.length());
+ Method setter = setters.get(key);
+ if (setter != null && setter.getGenericParameterTypes()[0].equals(signature[0]) == false)
+ throw new IntrospectionException("overloaded type for attribute set: " + key);
+ setters.put(key, method);
+ }
+ else if (methodName.startsWith("get") &&
+ methodName.length() > 3 &&
+ signature.length == 0 &&
+ returnType != Void.TYPE)
+ {
+ String key = methodName.substring(3, methodName.length());
+ Method getter = getters.get(key);
+ if (getter != null && getter.getName().startsWith("is"))
+ throw new IntrospectionException("mixed use of get/is for attribute " + key);
+ getters.put(key, method);
+ }
+ else if (methodName.startsWith("is") &&
+ methodName.length() > 2 &&
+ signature.length == 0 &&
+ isBooleanReturn(returnType))
+ {
+ String key = methodName.substring(2, methodName.length());
+ Method getter = getters.get(key);
+ if (getter != null && getter.getName().startsWith("get"))
+ throw new IntrospectionException("mixed use of get/is for attribute " + key);
+ getters.put(key, method);
+ }
+ else
+ {
+ OpenMBeanOperationInfo info = buildOperation(method);
+ operInfo.put(getSignatureString(method), info);
+ }
+ }
+
+ String[] keys = getters.keySet().toArray(new String[getters.size()]);
+ for (String key : keys)
+ {
+ Method getter = getters.remove(key);
+ Method setter = setters.remove(key);
+ OpenMBeanAttributeInfo info = buildAttribute(key, getter, setter);
+ attrInfo.add(info);
+ }
+
+ for (String key : setters.keySet())
+ {
+ Method setter = setters.remove(key);
+ OpenMBeanAttributeInfo info = buildAttribute(key, null, setter);
+ attrInfo.add(info);
+ }
+
+ OpenMBeanAttributeInfo[] attributeInfo = attrInfo.toArray(new OpenMBeanAttributeInfo[attrInfo.size()]);
+ Collection<OpenMBeanOperationInfo> operations = operInfo.values();
+ OpenMBeanOperationInfo[] operationInfo = operations.toArray(new OpenMBeanOperationInfo[operations.size()]);
+
+ MBeanNotificationInfo[] notifications = null;
+ if (mbeanInstance instanceof NotificationBroadcaster)
+ notifications = ((NotificationBroadcaster) mbeanInstance).getNotificationInfo();
+ else
+ notifications = new MBeanNotificationInfo[0];
+
+ return buildMBeanInfo(attributeInfo, constructorInfo, operationInfo, notifications);
+
+ }
+ catch (Throwable t)
+ {
+ NotCompliantMBeanException e = new NotCompliantMBeanException("Error generating OpenMBeanInfo.");
+ e.initCause(t);
+ throw e;
+ }
+ }
+
+ /**
+ * Build the constructors
+ *
+ * @return the info
+ * @throws Exception for any error
+ */
+ private OpenMBeanConstructorInfo[] buildConstructors() throws Exception
+ {
+ Constructor<?>[] constructors = mbeanClass.getConstructors();
+ OpenMBeanConstructorInfo[] constructorInfo = new OpenMBeanConstructorInfo[constructors.length];
+ for (int i = 0; i < constructors.length; ++i)
+ constructorInfo[i] = buildConstructor(constructors[i]);
+ return constructorInfo;
+ }
+
+ /**
+ * Build a constructor
+ *
+ * @param constructor the constructor
+ * @return the info
+ * @throws Exception for any error
+ */
+ private OpenMBeanConstructorInfo buildConstructor(Constructor<?> constructor) throws Exception
+ {
+ Type[] parameterTypes = constructor.getGenericParameterTypes();
+ OpenMBeanParameterInfo[] parameterInfo = new OpenMBeanParameterInfo[parameterTypes.length];
+ for (int i = 0; i < parameterTypes.length; ++i)
+ parameterInfo[i] = buildParameter(i, parameterTypes[i]);
+ return new OpenMBeanConstructorInfoSupport("MBean Constructor.", "MBean Constructor.", parameterInfo);
+ }
+
+ /**
+ * Build a parameter
+ *
+ * @param i the index of the parameter
+ * @param parameterType the parameter type
+ * @return the info
+ * @throws Exception for any error
+ */
+ private OpenMBeanParameterInfo buildParameter(int i, Type parameterType) throws Exception
+ {
+ OpenType openType = MXBeanUtils.getOpenType(parameterType);
+ return new OpenMBeanParameterInfoSupport("arg" + i, "MBean Parameter.", openType);
+ }
+
+ /**
+ * Build an attribute
+ *
+ * @param attrName the attribute name
+ * @param getter the getter
+ * @param setter the setter
+ * @return the info
+ * @throws Exception for any error
+ */
+ private OpenMBeanAttributeInfo buildAttribute(String attrName, Method getter, Method setter) throws Exception
+ {
+ boolean isReadable = (getter != null);
+ boolean isWritable = (setter != null);
+ boolean isIs = false;
+
+ OpenType openType = null;
+ if (getter != null)
+ {
+ openType = MXBeanUtils.getOpenType(getter.getGenericReturnType());
+ if (getter.getName().startsWith("is"))
+ isIs = true;
+ }
+ else
+ {
+ openType = MXBeanUtils.getOpenType(setter.getGenericParameterTypes()[0]);
+ }
+
+ return new OpenMBeanAttributeInfoSupport(attrName, attrName, openType, isReadable, isWritable, isIs);
+ }
+
+ /**
+ * Build the operation info
+ *
+ * @param method the method
+ * @return the info
+ * @throws Exception for any error
+ */
+ private OpenMBeanOperationInfo buildOperation(Method method) throws Exception
+ {
+ Type[] parameterTypes = method.getGenericParameterTypes();
+ OpenMBeanParameterInfo[] parameterInfo = new OpenMBeanParameterInfo[parameterTypes.length];
+ for (int i = 0; i < parameterTypes.length; ++i)
+ parameterInfo[i] = buildParameter(i, parameterTypes[i]);
+ OpenType openType = MXBeanUtils.getOpenType(method.getGenericReturnType());
+ return new OpenMBeanOperationInfoSupport(method.getName(), method.getName(), parameterInfo, openType, MBeanOperationInfo.ACTION);
+ }
+
+ /**
+ * Build the mbean info
+ *
+ * @param attributes the attributes
+ * @param constructors the constructors
+ * @param operations the operations
+ * @param notifications the notifications
+ * @return the info
+ * @throws Exception for any error
+ */
+ private OpenMBeanInfoSupport buildMBeanInfo(OpenMBeanAttributeInfo[] attributes, OpenMBeanConstructorInfo[] constructors, OpenMBeanOperationInfo[] operations, MBeanNotificationInfo[] notifications) throws Exception
+ {
+ return new OpenMBeanInfoSupport(mbeanClass.getName(), mbeanClass.getName(), attributes, constructors, operations, notifications);
+ }
+
+ /**
+ * JMX standard specifies that only "boolean isX()" style methods
+ * represent attributes. "Boolean isX()" methods map to operations.
+ *
+ * @param returnType the return type
+ * @return true when boolean
+ */
+ private boolean isBooleanReturn(Type returnType)
+ {
+ return returnType == Boolean.TYPE;
+ }
+
+ /**
+ * Get a signature string for a method
+ *
+ * @param method the method
+ * @return the signature
+ */
+ private String getSignatureString(Method method)
+ {
+ String name = method.getName();
+ Class[] signature = method.getParameterTypes();
+ StringBuffer buffer = new StringBuffer(512);
+ buffer.append(name);
+ buffer.append("(");
+ if (signature != null)
+ {
+ for (int i = 0; i < signature.length; i++)
+ {
+ buffer.append(signature[i].getName());
+ if (i < signature.length-1)
+ buffer.append(",");
+ }
+ }
+ buffer.append(")");
+ return buffer.toString();
+ }
+}
+
Modified: trunk/mbeans/src/main/org/jboss/mx/mxbean/MXBeanSupport.java
===================================================================
--- trunk/mbeans/src/main/org/jboss/mx/mxbean/MXBeanSupport.java 2008-11-14 12:49:40 UTC (rev 81025)
+++ trunk/mbeans/src/main/org/jboss/mx/mxbean/MXBeanSupport.java 2008-11-14 12:51:05 UTC (rev 81026)
@@ -1,161 +1,161 @@
-/*
-* JBoss, Home of Professional Open Source
-* Copyright 2006, JBoss Inc., and individual contributors as indicated
-* by the @authors tag. See the copyright.txt in the distribution for a
-* full listing of individual contributors.
-*
-* This is free software; you can redistribute it and/or modify it
-* under the terms of the GNU Lesser General Public License as
-* published by the Free Software Foundation; either version 2.1 of
-* the License, or (at your option) any later version.
-*
-* This software is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-* Lesser General Public License for more details.
-*
-* You should have received a copy of the GNU Lesser General Public
-* License along with this software; if not, write to the Free
-* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
-* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
-*/
-package org.jboss.mx.mxbean;
-
-import javax.management.Attribute;
-import javax.management.AttributeList;
-import javax.management.AttributeNotFoundException;
-import javax.management.DynamicMBean;
-import javax.management.InvalidAttributeValueException;
-import javax.management.ListenerNotFoundException;
-import javax.management.MBeanException;
-import javax.management.MBeanInfo;
-import javax.management.MBeanNotificationInfo;
-import javax.management.MBeanRegistration;
-import javax.management.MBeanServer;
-import javax.management.NotificationEmitter;
-import javax.management.NotificationFilter;
-import javax.management.NotificationListener;
-import javax.management.ObjectName;
-import javax.management.ReflectionException;
-
-/**
- * MXBeanSupport.
- *
- * @author <a href="adrian at jboss.com">Adrian Brock</a>
- * @version $Revision: 1.1 $
- */
-public class MXBeanSupport implements DynamicMBean, MBeanRegistration, NotificationEmitter
-{
- /** No notifications */
- private static final MBeanNotificationInfo[] NO_NOTIFICATIONS = new MBeanNotificationInfo[0];
-
- /** The delegate */
- private DynamicMBean delegate;
-
- /** The mbean registration delegate */
- private MBeanRegistration registration;
-
- /** The emitter delegate */
- private NotificationEmitter emitter;
-
- /**
- * Create a new MXBeanSupport.
- */
- protected MXBeanSupport()
- {
- init(MXBeanUtils.createMXBean(this, null));
- }
-
- /**
- * Create a new MXBeanSupport.
- *
- * @param mxbeanInterface the interface
- */
- protected MXBeanSupport(Class<?> mxbeanInterface)
- {
- init(MXBeanUtils.createMXBean(this, mxbeanInterface));
- }
-
- public MBeanInfo getMBeanInfo()
- {
- return delegate.getMBeanInfo();
- }
-
- public Object getAttribute(String attribute) throws AttributeNotFoundException, MBeanException, ReflectionException
- {
- return delegate.getAttribute(attribute);
- }
-
- public AttributeList getAttributes(String[] attributes)
- {
- return delegate.getAttributes(attributes);
- }
-
- public void setAttribute(Attribute attribute) throws AttributeNotFoundException, InvalidAttributeValueException, MBeanException, ReflectionException
- {
- delegate.setAttribute(attribute);
- }
-
- public AttributeList setAttributes(AttributeList attributes)
- {
- return delegate.setAttributes(attributes);
- }
-
- public Object invoke(String actionName, Object[] params, String[] signature) throws MBeanException, ReflectionException
- {
- return delegate.invoke(actionName, params, signature);
- }
-
- public ObjectName preRegister(MBeanServer server, ObjectName name) throws Exception
- {
- return registration.preRegister(server, name);
- }
-
- public void postRegister(Boolean registrationDone)
- {
- registration.postDeregister();
- }
-
- public void preDeregister() throws Exception
- {
- registration.preDeregister();
- }
-
- public void postDeregister()
- {
- registration.postDeregister();
- }
-
- public MBeanNotificationInfo[] getNotificationInfo()
- {
- return NO_NOTIFICATIONS;
- }
-
- public void addNotificationListener(NotificationListener listener, NotificationFilter filter, Object handback) throws IllegalArgumentException
- {
- emitter.addNotificationListener(listener, filter, handback);
-
- }
-
- public void removeNotificationListener(NotificationListener listener) throws ListenerNotFoundException
- {
- emitter.removeNotificationListener(listener);
- }
-
- public void removeNotificationListener(NotificationListener listener, NotificationFilter filter, Object handback) throws ListenerNotFoundException
- {
- emitter.removeNotificationListener(listener, filter, handback);
- }
-
- /**
- * Initialise the delegates
- *
- * @param delegate the delegate
- */
- private void init(DynamicMBean delegate)
- {
- this.delegate = delegate;
- this.registration = (MBeanRegistration) delegate;
- this.emitter = (NotificationEmitter) delegate;
- }
-}
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2008, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.mx.mxbean;
+
+import javax.management.Attribute;
+import javax.management.AttributeList;
+import javax.management.AttributeNotFoundException;
+import javax.management.DynamicMBean;
+import javax.management.InvalidAttributeValueException;
+import javax.management.ListenerNotFoundException;
+import javax.management.MBeanException;
+import javax.management.MBeanInfo;
+import javax.management.MBeanNotificationInfo;
+import javax.management.MBeanRegistration;
+import javax.management.MBeanServer;
+import javax.management.NotificationEmitter;
+import javax.management.NotificationFilter;
+import javax.management.NotificationListener;
+import javax.management.ObjectName;
+import javax.management.ReflectionException;
+
+/**
+ * MXBeanSupport.
+ *
+ * @author <a href="adrian at jboss.com">Adrian Brock</a>
+ * @version $Revision: 1.1 $
+ */
+public class MXBeanSupport implements DynamicMBean, MBeanRegistration, NotificationEmitter
+{
+ /** No notifications */
+ private static final MBeanNotificationInfo[] NO_NOTIFICATIONS = new MBeanNotificationInfo[0];
+
+ /** The delegate */
+ private DynamicMBean delegate;
+
+ /** The mbean registration delegate */
+ private MBeanRegistration registration;
+
+ /** The emitter delegate */
+ private NotificationEmitter emitter;
+
+ /**
+ * Create a new MXBeanSupport.
+ */
+ protected MXBeanSupport()
+ {
+ init(MXBeanUtils.createMXBean(this, null));
+ }
+
+ /**
+ * Create a new MXBeanSupport.
+ *
+ * @param mxbeanInterface the interface
+ */
+ protected MXBeanSupport(Class<?> mxbeanInterface)
+ {
+ init(MXBeanUtils.createMXBean(this, mxbeanInterface));
+ }
+
+ public MBeanInfo getMBeanInfo()
+ {
+ return delegate.getMBeanInfo();
+ }
+
+ public Object getAttribute(String attribute) throws AttributeNotFoundException, MBeanException, ReflectionException
+ {
+ return delegate.getAttribute(attribute);
+ }
+
+ public AttributeList getAttributes(String[] attributes)
+ {
+ return delegate.getAttributes(attributes);
+ }
+
+ public void setAttribute(Attribute attribute) throws AttributeNotFoundException, InvalidAttributeValueException, MBeanException, ReflectionException
+ {
+ delegate.setAttribute(attribute);
+ }
+
+ public AttributeList setAttributes(AttributeList attributes)
+ {
+ return delegate.setAttributes(attributes);
+ }
+
+ public Object invoke(String actionName, Object[] params, String[] signature) throws MBeanException, ReflectionException
+ {
+ return delegate.invoke(actionName, params, signature);
+ }
+
+ public ObjectName preRegister(MBeanServer server, ObjectName name) throws Exception
+ {
+ return registration.preRegister(server, name);
+ }
+
+ public void postRegister(Boolean registrationDone)
+ {
+ registration.postDeregister();
+ }
+
+ public void preDeregister() throws Exception
+ {
+ registration.preDeregister();
+ }
+
+ public void postDeregister()
+ {
+ registration.postDeregister();
+ }
+
+ public MBeanNotificationInfo[] getNotificationInfo()
+ {
+ return NO_NOTIFICATIONS;
+ }
+
+ public void addNotificationListener(NotificationListener listener, NotificationFilter filter, Object handback) throws IllegalArgumentException
+ {
+ emitter.addNotificationListener(listener, filter, handback);
+
+ }
+
+ public void removeNotificationListener(NotificationListener listener) throws ListenerNotFoundException
+ {
+ emitter.removeNotificationListener(listener);
+ }
+
+ public void removeNotificationListener(NotificationListener listener, NotificationFilter filter, Object handback) throws ListenerNotFoundException
+ {
+ emitter.removeNotificationListener(listener, filter, handback);
+ }
+
+ /**
+ * Initialise the delegates
+ *
+ * @param delegate the delegate
+ */
+ private void init(DynamicMBean delegate)
+ {
+ this.delegate = delegate;
+ this.registration = (MBeanRegistration) delegate;
+ this.emitter = (NotificationEmitter) delegate;
+ }
+}
Modified: trunk/mbeans/src/main/org/jboss/mx/mxbean/MXBeanUtils.java
===================================================================
--- trunk/mbeans/src/main/org/jboss/mx/mxbean/MXBeanUtils.java 2008-11-14 12:49:40 UTC (rev 81025)
+++ trunk/mbeans/src/main/org/jboss/mx/mxbean/MXBeanUtils.java 2008-11-14 12:51:05 UTC (rev 81026)
@@ -1,1042 +1,1042 @@
-/*
-* JBoss, Home of Professional Open Source
-* Copyright 2006, JBoss Inc., and individual contributors as indicated
-* by the @authors tag. See the copyright.txt in the distribution for a
-* full listing of individual contributors.
-*
-* This is free software; you can redistribute it and/or modify it
-* under the terms of the GNU Lesser General Public License as
-* published by the Free Software Foundation; either version 2.1 of
-* the License, or (at your option) any later version.
-*
-* This software is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-* Lesser General Public License for more details.
-*
-* You should have received a copy of the GNU Lesser General Public
-* License along with this software; if not, write to the Free
-* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
-* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
-*/
-package org.jboss.mx.mxbean;
-
-import java.lang.reflect.Array;
-import java.lang.reflect.GenericArrayType;
-import java.lang.reflect.InvocationHandler;
-import java.lang.reflect.Method;
-import java.lang.reflect.ParameterizedType;
-import java.lang.reflect.Proxy;
-import java.lang.reflect.Type;
-import java.math.BigDecimal;
-import java.math.BigInteger;
-import java.util.Arrays;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.Date;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.Map;
-import java.util.Set;
-import java.util.WeakHashMap;
-
-import javax.management.DynamicMBean;
-import javax.management.ObjectName;
-import javax.management.openmbean.ArrayType;
-import javax.management.openmbean.CompositeData;
-import javax.management.openmbean.CompositeDataSupport;
-import javax.management.openmbean.CompositeType;
-import javax.management.openmbean.OpenType;
-import javax.management.openmbean.SimpleType;
-import javax.management.openmbean.TabularData;
-import javax.management.openmbean.TabularDataSupport;
-import javax.management.openmbean.TabularType;
-
-import org.jboss.util.collection.WeakValueHashMap;
-
-/**
- * Utils.
- *
- * @author <a href="adrian at jboss.com">Adrian Brock</a>
- * @version $Revision: 1.1 $
- */
-public class MXBeanUtils
-{
- /** A cache of methods to keys */
- private static final Map<Method, String> compositeDataKeyCache = Collections.synchronizedMap(new WeakHashMap<Method, String>());
-
- /** A cache of classes to key to getters */
- private static final Map<Class, Map<String, Method>> compositeDataMethodCache = Collections.synchronizedMap(new WeakHashMap<Class, Map<String, Method>>());
-
- /** The map key */
- public static final String MAP_KEY = "key";
-
- /** The map value */
- public static final String MAP_VALUE = "value";
-
- /** Map index names */
- public static final String[] MAP_INDEX_NAMES = { MAP_KEY };
-
- /** Map item names */
- public static final String[] MAP_ITEM_NAMES = { MAP_KEY, MAP_VALUE };
-
- /**
- * Get the OpenType for a class
- *
- * @param type the type
- * @return the open type
- */
- public static OpenType getOpenType(Type type)
- {
- if (type == null)
- throw new IllegalArgumentException("Null type");
-
- OpenType result = checkType(type);
- if (result != null)
- return result;
- Class clazz = (Class) type;
- return CompositeTypeMetaDataFactory.getCompositeType(clazz);
- }
-
- /**
- * Get the SimpleType for a class
- *
- * @param type the type
- * @return the open type
- * @throws Exception for any error
- */
- public static SimpleType getSimpleType(Class type) throws Exception
- {
- SimpleType simpleType = checkSimpleType(type);
- if (simpleType == null)
- throw new IllegalArgumentException("Not a SimpleType: " + type.getName());
- return simpleType;
- }
-
- /**
- * Get the for a class that is not composite
- *
- * @param type the type
- * @return the open type or null if composite
- */
- public static OpenType checkType(Type type)
- {
- OpenType result = checkSimpleType(type);
- if (result != null)
- return result;
- result = checkEnum(type);
- if (result != null)
- return result;
- result = checkArray(type);
- if (result != null)
- return result;
- result = checkCollection(type);
- if (result != null)
- return result;
- return checkMap(type);
- }
-
- /**
- * Create a composite data proxy
- *
- * @param <T> the interface type
- * @param intf the interface type
- * @param compositeData the composite data
- * @return the proxy
- */
- public static <T> T createCompositeDataProxy(Class<T> intf, CompositeData compositeData)
- {
- if (intf == null)
- throw new IllegalArgumentException("Null interface");
- InvocationHandler handler = new CompositeDataInvocationHandler(compositeData);
- Object object = Proxy.newProxyInstance(intf.getClassLoader(), new Class[] { intf }, handler);
- return intf.cast(object);
- }
-
- /**
- * Construct some open data
- *
- * @param type the type
- * @param value the value
- * @param context the context
- * @return the open data
- * @throws Exception for any error
- */
- public static Object construct(Type type, Object value, Object context) throws Exception
- {
- OpenType openType = getOpenType(type);
- return construct(openType, value, context);
- }
-
- /**
- * Construct some open data
- *
- * @param openType the open type
- * @param value the value
- * @param context the context
- * @return the open data
- * @throws Exception for any error
- */
- public static Object construct(OpenType openType, Object value, Object context) throws Exception
- {
- if (openType instanceof SimpleType)
- return constructSimpleData(value);
- if (openType.isArray())
- return constructArrayData(openType, value, context);
- if (openType instanceof TabularType)
- return constructTabularData(openType, value, context);
- return constructCompositeData(openType, value, context);
- }
-
- /**
- * Reconstruct a type from an object
- *
- * @param type the type
- * @param value the value
- * @param context for error reporting
- * @return the object
- * @throws Exception for any error
- */
- public static Object reconstruct(Type type, Object value, Object context) throws Exception
- {
- OpenType openType = MXBeanUtils.getOpenType(type);
- return reconstruct(openType, type, value, context);
- }
-
- /**
- * Reconstruct a type from an object
- *
- * @param openType the open type
- * @param type the type
- * @param value the value
- * @param context for error reporting
- * @return the object
- * @throws Exception for any error
- */
- public static Object reconstruct(OpenType openType, Type type, Object value, Object context) throws Exception
- {
- if (openType instanceof SimpleType)
- return reconstructSimpleData(type, value, context);
- if (openType.isArray())
- return reconstructArrayData(openType, type, value, context);
- if (openType instanceof TabularType)
- return reconstructTabularData(openType, type, value, context);
- return reconstructCompositeData(openType, type, value, context);
- }
-
- /**
- * Get the SimpleType for a class
- *
- * @param type the type
- * @return the simple type or null if not a simple type
- */
- public static SimpleType checkSimpleType(Type type)
- {
- if (BigDecimal.class.equals(type))
- return SimpleType.BIGDECIMAL;
- if (BigInteger.class.equals(type))
- return SimpleType.BIGINTEGER;
- if (Boolean.class.equals(type))
- return SimpleType.BOOLEAN;
- if (Boolean.TYPE.equals(type))
- return SimpleType.BOOLEAN;
- if (Byte.class.equals(type))
- return SimpleType.BYTE;
- if (Byte.TYPE.equals(type))
- return SimpleType.BYTE;
- if (Character.class.equals(type))
- return SimpleType.CHARACTER;
- if (Character.TYPE.equals(type))
- return SimpleType.CHARACTER;
- if (Date.class.equals(type))
- return SimpleType.DATE;
- if (Double.class.equals(type))
- return SimpleType.DOUBLE;
- if (Double.TYPE.equals(type))
- return SimpleType.DOUBLE;
- if (Float.class.equals(type))
- return SimpleType.FLOAT;
- if (Float.TYPE.equals(type))
- return SimpleType.FLOAT;
- if (Integer.class.equals(type))
- return SimpleType.INTEGER;
- if (Integer.TYPE.equals(type))
- return SimpleType.INTEGER;
- if (Long.class.equals(type))
- return SimpleType.LONG;
- if (Long.TYPE.equals(type))
- return SimpleType.LONG;
- if (ObjectName.class.equals(type))
- return SimpleType.OBJECTNAME;
- if (Short.class.equals(type))
- return SimpleType.SHORT;
- if (Short.TYPE.equals(type))
- return SimpleType.SHORT;
- if (String.class.equals(type))
- return SimpleType.STRING;
- if (Void.class.equals(type))
- return SimpleType.VOID;
- return null;
- }
-
- /**
- * Get the simple type for an enum
- *
- * @param type the type
- * @return return the enum type or null if it is not an enum
- */
- public static SimpleType checkEnum(Type type)
- {
- if (type instanceof Class == false)
- return null;
- Class clazz = (Class) type;
- if (clazz.isEnum() || Enum.class.equals(clazz))
- return SimpleType.STRING;
- return null;
- }
-
- /**
- * Construct a simple type open data
- *
- * @param value the value
- * @return the simple type
- */
- public static Object constructSimpleData(Object value)
- {
- if (value != null && value instanceof Enum)
- {
- Enum enumeration = (Enum) value;
- return enumeration.name();
- }
- return value;
- }
-
- /**
- * Reconstruct a simple type open data
- *
- * @param type the type
- * @param value the value
- * @param context the context
- * @return the simple type
- */
- @SuppressWarnings("unchecked")
- private static Object reconstructSimpleData(Type type, Object value, Object context)
- {
- if (type instanceof Class)
- {
- if (value != null)
- {
- Class clazz = (Class) type;
- if (clazz.isEnum() || Enum.class.equals(clazz))
- {
- String string = (String) value;
- return Enum.valueOf(clazz, string);
- }
- }
- else
- {
- Class clazz = (Class) type;
- if (clazz.isPrimitive())
- throw new IllegalArgumentException("Attempt to use null as a primitive for: " + context);
- return null;
- }
- }
- return value;
- }
-
- /**
- * Get the array type for a class
- *
- * @param type the type
- * @return return the array type or null if it is not an array
- */
- public static ArrayType checkArray(Type type)
- {
- if (type instanceof Class)
- {
- Class clazz = (Class) type;
- if (clazz.isArray() == false)
- return null;
- int dimension = 1;
- Class componentType = clazz.getComponentType();
- while (componentType.isArray())
- {
- ++dimension;
- componentType = componentType.getComponentType();
- }
- OpenType componentOpenType = getOpenType(componentType);
- try
- {
- return new ArrayType(dimension, componentOpenType);
- }
- catch (RuntimeException e)
- {
- throw e;
- }
- catch (Exception e)
- {
- throw new RuntimeException(e);
- }
- }
- if (type instanceof GenericArrayType)
- {
- GenericArrayType arrayType = (GenericArrayType) type;
- int dimension = 1;
- Type componentType = arrayType.getGenericComponentType();
- while (componentType instanceof GenericArrayType)
- {
- ++dimension;
- arrayType = (GenericArrayType) componentType;
- componentType = arrayType.getGenericComponentType();
- }
- OpenType componentOpenType = getOpenType(componentType);
- try
- {
- return new ArrayType(dimension, componentOpenType);
- }
- catch (RuntimeException e)
- {
- throw e;
- }
- catch (Exception e)
- {
- throw new RuntimeException(e);
- }
- }
- return null;
- }
-
- /**
- * Get the collection type for a class
- *
- * @param type the type
- * @return return the array type or null if it is not a collection
- */
- public static ArrayType checkCollection(Type type)
- {
- if (type instanceof ParameterizedType == false)
- {
- if (type instanceof Class)
- return checkCollectionClass((Class) type);
- else
- return null;
- }
- ParameterizedType parameterizedType = (ParameterizedType) type;
- Type rawType = parameterizedType.getRawType();
- if (rawType instanceof Class == false)
- return null;
- Class rawClass = (Class) rawType;
- if (Collection.class.isAssignableFrom(rawClass) == false)
- return null;
- Type componentType = parameterizedType.getActualTypeArguments()[0];
- OpenType componentOpenType = getOpenType(componentType);
- try
- {
- return new ArrayType(1, componentOpenType);
- }
- catch (RuntimeException e)
- {
- throw e;
- }
- catch (Exception e)
- {
- throw new RuntimeException(e);
- }
- }
-
- /**
- * Get the collection type for a class
- *
- * @param clazz the class
- * @return return the array type or null if it is not a collection
- */
- public static ArrayType checkCollectionClass(Class clazz)
- {
- if (Collection.class.isAssignableFrom(clazz) == false)
- return null;
- OpenType componentOpenType = getOpenType(Object.class);
- try
- {
- return new ArrayType(1, componentOpenType);
- }
- catch (RuntimeException e)
- {
- throw e;
- }
- catch (Exception e)
- {
- throw new RuntimeException(e);
- }
- }
-
- /**
- * Construct an array type open data
- *
- * @param openType the open type
- * @param value the value
- * @param context the context
- * @return the open data
- * @throws Exception for any error
- */
- public static Object constructArrayData(OpenType openType, Object value, Object context) throws Exception
- {
- if (value == null)
- return null;
-
- ArrayType arrayType = (ArrayType) openType;
- OpenType elementType = arrayType.getElementOpenType();
- int dimension = arrayType.getDimension();
-
- Class clazz = value.getClass();
- if (clazz.isArray())
- {
- Object[] oldArray = (Object[]) value;
- Class<?> componentType = Class.forName(arrayType.getClassName());
- return constructArray(elementType, componentType.getComponentType(), dimension, oldArray, context);
- }
- if (value instanceof Collection)
- {
- Collection c = (Collection) value;
- Object[] oldArray = c.toArray();
- Class<?> componentType = Class.forName(arrayType.getClassName());
- return constructArray(elementType, componentType.getComponentType(), dimension, oldArray, context);
- }
- throw new UnsupportedOperationException("Cannot construct array for: " + value);
- }
-
- /**
- * Construct an array of open data
- *
- * @param elementType the element type
- * @param componentType the componentType
- * @param dimension the dimension
- * @param oldArray the old array
- * @param context the context
- * @return the array
- * @throws Exception for any error
- */
- private static Object[] constructArray(OpenType elementType, Class<?> componentType, int dimension, Object[] oldArray, Object context) throws Exception
- {
- if (oldArray == null)
- return null;
-
- Object[] newArray = (Object[]) Array.newInstance(componentType, oldArray.length);
- if (dimension > 1)
- {
- for (int i = 0; i < oldArray.length; ++i)
- {
- Object[] nestedOld = (Object[]) oldArray[i];
- newArray[i] = constructArray(elementType, componentType.getComponentType(), dimension-1, nestedOld, context);
- }
- }
- else
- {
- if (Object.class.equals(componentType))
- {
- for (int i = 0; i < oldArray.length; ++i)
- newArray[i] = oldArray[i];
- }
- else
- {
- for (int i = 0; i < oldArray.length; ++i)
- newArray[i] = construct(elementType, oldArray[i], context);
- }
- }
-
- return newArray;
- }
-
- /**
- * Reconstruct an array type
- *
- * @param openType the open type
- * @param type the type
- * @param value the value
- * @param context the context
- * @return the value
- * @throws Exception for any error
- */
- public static Object reconstructArrayData(OpenType openType, Type type, Object value, Object context) throws Exception
- {
- if (value == null)
- return null;
-
- ArrayType arrayType = (ArrayType) getOpenType(type);
- OpenType elementType = arrayType.getElementOpenType();
- int dimension = arrayType.getDimension();
- Object[] oldArray = (Object[]) value;
- if (type instanceof Class)
- {
- Class clazz = (Class) type;
- if (clazz.isArray())
- return reconstructArray(elementType, clazz.getComponentType(), dimension, oldArray, context);
- // TODO FIXME
- // else if (Set.class.isAssignableFrom(clazz))
- // return createSet(oldArray);
- // else if (Collection.class.isAssignableFrom(clazz))
- // return createCollection(oldArray);
- }
- else if (type instanceof ParameterizedType)
- {
- ParameterizedType parameterizedType = (ParameterizedType) type;
- Type rawType = parameterizedType.getRawType();
- if (rawType instanceof Class)
- {
- Class raw = (Class) rawType;
- if (Set.class.isAssignableFrom(raw))
- return createSet(oldArray);
- else if (Collection.class.isAssignableFrom(raw))
- return createCollection(oldArray);
- }
- }
- throw new UnsupportedOperationException("Cannot convert array type: " + type);
- }
-
- /**
- * Reconstruct an array
- *
- * @param elementType the element type
- * @param componentType the componentType
- * @param dimension the dimension
- * @param oldArray the old array of open data
- * @param context the context
- * @return the array
- * @throws Exception for any error
- */
- private static Object[] reconstructArray(OpenType elementType, Class componentType, int dimension, Object[] oldArray, Object context) throws Exception
- {
- if (oldArray == null)
- return null;
-
- Object[] newArray = (Object[]) Array.newInstance(componentType, oldArray.length);
- if (dimension > 1)
- {
- for (int i = 0; i < oldArray.length; ++i)
- {
- Object[] nestedOld = (Object[]) oldArray[i];
- newArray[i] = reconstructArray(elementType, componentType.getComponentType(), dimension-1, nestedOld, context);
- }
- }
- else
- {
- for (int i = 0; i < oldArray.length; ++i)
- newArray[i] = reconstruct(elementType, componentType, oldArray[i], context);
- }
-
- return newArray;
- }
-
- /**
- * Create a collection
- *
- * @param array the array
- * @return the collection
- */
- private static Collection createCollection(Object[] array)
- {
- return Arrays.asList(array);
- }
-
- /**
- * Create a set
- *
- * @param array the array
- * @return the set
- */
- @SuppressWarnings("unchecked")
- private static Set createSet(Object[] array)
- {
- HashSet result = new HashSet(array.length);
- for (int i = 0; i < array.length; ++i)
- result.add(array[i]);
- return result;
- }
-
- /**
- * Get the map type for a class
- *
- * @param type the type
- * @return return the tabular type or null if it is not a collection
- */
- public static TabularType checkMap(Type type)
- {
- if (type instanceof ParameterizedType == false)
- {
- if (type instanceof Class)
- return checkMapClass((Class) type);
- else
- return null;
- }
- ParameterizedType parameterizedType = (ParameterizedType) type;
- Type rawType = parameterizedType.getRawType();
- if (rawType instanceof Class == false)
- return null;
- Class rawClass = (Class) rawType;
- if (Map.class.isAssignableFrom(rawClass) == false)
- return null;
- Type[] args = parameterizedType.getActualTypeArguments();
- Type keyType = args[0];
- Type valueType = args[1];
- return createMapType(keyType, valueType);
- }
-
- /**
- * Get the map type for a class
- *
- * @param clazz the class
- * @return return the tabular type or null if it is not a collection
- */
- public static TabularType checkMapClass(Class clazz)
- {
- if (Map.class.isAssignableFrom(clazz) == false)
- return null;
- return createMapType(Object.class, Object.class);
- }
-
- /**
- * Create a map type
- *
- * @param keyType the key type
- * @param valueType the value type
- * @return the map type
- */
- public static TabularType createMapType(Type keyType, Type valueType)
- {
- String name = Map.class.getName();
- OpenType[] itemTypes = { getOpenType(keyType), getOpenType(valueType) };
- try
- {
- CompositeType entryType = createMapEntryType(itemTypes);
- return new TabularType(name, name, entryType, MAP_INDEX_NAMES);
- }
- catch (RuntimeException e)
- {
- throw e;
- }
- catch (Exception e)
- {
- throw new RuntimeException(e);
- }
- }
-
- /**
- * Create a map type
- *
- * @param itemTypes the item types
- * @return the map entry type
- */
- private static CompositeType createMapEntryType(OpenType[] itemTypes)
- {
- String entryName = Map.Entry.class.getName();
- try
- {
- return new CompositeType(entryName, entryName, MAP_ITEM_NAMES, MAP_ITEM_NAMES, itemTypes);
- }
- catch (RuntimeException e)
- {
- throw e;
- }
- catch (Exception e)
- {
- throw new RuntimeException(e);
- }
- }
-
- /**
- * Construct a tabular type open data
- *
- * @param openType the open type
- * @param value the value
- * @param context the context
- * @return the open data
- * @throws Exception for any error
- */
- @SuppressWarnings("unchecked")
- public static Object constructTabularData(OpenType openType, Object value, Object context) throws Exception
- {
- if (value == null)
- return null;
-
- TabularType tabularType = (TabularType) openType;
-
- if (value instanceof Map)
- {
- TabularDataSupport table = new TabularDataSupport(tabularType);
- CompositeType entryType = tabularType.getRowType();
- OpenType keyType = entryType.getType(MAP_KEY);
- OpenType valueType = entryType.getType(MAP_VALUE);
-
- Map<Object, Object> m = (Map<Object, Object>) value;
- for (Iterator<Map.Entry<Object, Object>> i = m.entrySet().iterator(); i.hasNext();)
- {
- Map.Entry<Object, Object> entry = i.next();
- Object key = construct(keyType, entry.getKey(), context);
- Object val = construct(valueType, entry.getValue(), context);
- CompositeDataSupport data = new CompositeDataSupport(entryType, MXBeanUtils.MAP_ITEM_NAMES, new Object[] { key, val });
- table.put(data);
- }
- return table;
- }
- throw new UnsupportedOperationException("Cannot construct map for: " + value);
- }
-
- /**
- * Reconstruct a tabular type
- *
- * @param openType the open type
- * @param type the type
- * @param value the value
- * @param context the context
- * @return the value
- * @throws Exception for any error
- */
- public static Object reconstructTabularData(OpenType openType, Type type, Object value, Object context) throws Exception
- {
- if (value == null)
- return null;
-
- TabularType tabularType = (TabularType) getOpenType(type);
- if (type instanceof Class)
- {
- // TODO FIXME
- // Class clazz = (Class) type;
- // if (Map.class.isAssignableFrom(clazz))
- // return createMap(tabularType, Object.class, Object.class, value, context);
- }
- else if (type instanceof ParameterizedType)
- {
- ParameterizedType parameterizedType = (ParameterizedType) type;
- Type rawType = parameterizedType.getRawType();
- if (rawType instanceof Class)
- {
- Class raw = (Class) rawType;
- if (Map.class.isAssignableFrom(raw))
- {
- Type keyType = parameterizedType.getActualTypeArguments()[0];
- Type valueType = parameterizedType.getActualTypeArguments()[1];
- return createMap(tabularType, keyType, valueType, value, context);
- }
- }
- }
- throw new UnsupportedOperationException("Cannot convert map type: " + type);
- }
-
- /**
- * Create a map
- *
- * @param openType the open type
- * @param keyType the key type
- * @param valueType the value type
- * @param value the value
- * @param context the context
- * @return the map
- * @throws Exception for any problem
- */
- @SuppressWarnings("unchecked")
- private static Map createMap(TabularType openType, Type keyType, Type valueType, Object value, Object context) throws Exception
- {
- if (value == null)
- return null;
-
- Map<Object, Object> result = new HashMap<Object, Object>();
-
- TabularData table = (TabularData) value;
- Collection<?> values = table.values();
- for (Object v : values)
- {
- CompositeData entry = CompositeData.class.cast(v);
- Object key = reconstruct(keyType, entry.get(MAP_KEY), context);
- Object val = reconstruct(valueType, entry.get(MAP_VALUE), context);
- result.put(key, val);
- }
-
- return result;
- }
-
- /**
- * Construct composite type open data
- *
- * @param openType the open type
- * @param value the value
- * @param context the context
- * @return the open data
- * @throws Exception for any error
- */
- @SuppressWarnings("unchecked")
- public static Object constructCompositeData(OpenType openType, Object value, Object context) throws Exception
- {
- if (value == null)
- return null;
-
- Class clazz = value.getClass();
-
- CompositeType compositeType = (CompositeType) openType;
- Set<String> nameSet = compositeType.keySet();
- String[] names = nameSet.toArray(new String[nameSet.size()]);
-
- Object[] values = new Object[names.length];
-
- for (int i = 0 ; i < names.length; ++i)
- {
- String name = names[i];
- OpenType itemType = compositeType.getType(name);
- Method method = getCompositeDataMethod(clazz, name, itemType == SimpleType.BOOLEAN);
- Object itemValue = method.invoke(value, null);
- values[i] = construct(itemType, itemValue, context);
- }
- return new CompositeDataSupport(compositeType, names, values);
- }
-
- /**
- * Reconstruct a composite type
- *
- * @param openType the open type
- * @param type the type
- * @param value the value
- * @param context the context
- * @return the value
- * @throws Exception for any error
- */
- public static Object reconstructCompositeData(OpenType openType, Type type, Object value, Object context) throws Exception
- {
- if (value == null)
- return null;
-
- CompositeData compositeData = (CompositeData) value;
- CompositeDataInvocationHandler handler = new CompositeDataInvocationHandler(compositeData);
- Class clazz = (Class) type;
- Class[] interfaces = null;
- if (clazz.isInterface())
- interfaces = new Class[] { clazz };
- else
- interfaces = clazz.getInterfaces();
- return Proxy.newProxyInstance(clazz.getClassLoader(), interfaces, handler);
- }
-
- /**
- * Get the key for a composite data getter method
- *
- * @param method the method
- * @return the key
- */
- public static String getCompositeDataKey(Method method)
- {
- String key = compositeDataKeyCache.get(method);
- if (key != null)
- return key;
-
- StringBuilder fieldName = null;
-
- Class returnType = method.getReturnType();
- Class[] paramTypes = method.getParameterTypes();
- if (Void.TYPE.equals(returnType) == false && paramTypes.length == 0)
- {
- String name = method.getName();
- if (name.startsWith("is") && name.length() > 2)
- {
- if (Boolean.TYPE.equals(returnType))
- {
- fieldName = new StringBuilder();
- fieldName.append(Character.toLowerCase(name.charAt(2)));
- if (name.length() > 3)
- fieldName.append(name.substring(3));
- }
- }
- else if (name.startsWith("get") && name.length() > 3)
- {
- fieldName = new StringBuilder();
- fieldName.append(Character.toLowerCase(name.charAt(3)));
- if (name.length() > 4)
- fieldName.append(name.substring(4));
- }
- }
-
- if (fieldName == null)
- return null;
-
- String result = fieldName.toString();
- compositeDataKeyCache.put(method, result);
- return result;
- }
-
- /**
- * Get the key for a composite data getter method
- *
- * @param clazz the class
- * @param key the key
- * @param isBoolean whether it is boolean
- * @return the method
- * @throws Exception for any error
- */
- @SuppressWarnings("unchecked")
- public static Method getCompositeDataMethod(Class clazz, String key, boolean isBoolean) throws Exception
- {
- Map<String, Method> cache = compositeDataMethodCache.get(clazz);
- if (cache != null)
- {
- Method method = cache.get(key);
- if (method != null)
- return method;
- }
-
- StringBuilder name = new StringBuilder();
- name.append(Character.toUpperCase(key.charAt(0)));
- if (key.length() > 1)
- name.append(key.substring(1));
- Method method = null;
- try
- {
- method = clazz.getMethod("get" + name, null);
- }
- catch (NoSuchMethodException e)
- {
- if (isBoolean)
- {
- try
- {
- method = clazz.getMethod("is" + name, null);
- }
- catch (NoSuchMethodException ignored)
- {
- throw e;
- }
- }
- else
- {
- throw e;
- }
- }
-
- if (cache == null)
- {
- cache = new WeakValueHashMap();
- compositeDataMethodCache.put(clazz, cache);
- }
- cache.put(key, method);
- return method;
- }
-
- /**
- * Create a new MXBean
- *
- * @param resource the resource
- * @param mxbeanInterface the interface
- * @return the MXBean
- */
- public static DynamicMBean createMXBean(Object resource, Class<?> mxbeanInterface)
- {
- try
- {
- return new MXBeanDelegate(resource, mxbeanInterface);
- }
- catch (RuntimeException e)
- {
- throw e;
- }
- catch (Exception e)
- {
- throw new RuntimeException("Error creating MXBean", e);
- }
- }
-}
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2008, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.mx.mxbean;
+
+import java.lang.reflect.Array;
+import java.lang.reflect.GenericArrayType;
+import java.lang.reflect.InvocationHandler;
+import java.lang.reflect.Method;
+import java.lang.reflect.ParameterizedType;
+import java.lang.reflect.Proxy;
+import java.lang.reflect.Type;
+import java.math.BigDecimal;
+import java.math.BigInteger;
+import java.util.Arrays;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.Date;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.Iterator;
+import java.util.Map;
+import java.util.Set;
+import java.util.WeakHashMap;
+
+import javax.management.DynamicMBean;
+import javax.management.ObjectName;
+import javax.management.openmbean.ArrayType;
+import javax.management.openmbean.CompositeData;
+import javax.management.openmbean.CompositeDataSupport;
+import javax.management.openmbean.CompositeType;
+import javax.management.openmbean.OpenType;
+import javax.management.openmbean.SimpleType;
+import javax.management.openmbean.TabularData;
+import javax.management.openmbean.TabularDataSupport;
+import javax.management.openmbean.TabularType;
+
+import org.jboss.util.collection.WeakValueHashMap;
+
+/**
+ * Utils.
+ *
+ * @author <a href="adrian at jboss.com">Adrian Brock</a>
+ * @version $Revision: 1.1 $
+ */
+public class MXBeanUtils
+{
+ /** A cache of methods to keys */
+ private static final Map<Method, String> compositeDataKeyCache = Collections.synchronizedMap(new WeakHashMap<Method, String>());
+
+ /** A cache of classes to key to getters */
+ private static final Map<Class, Map<String, Method>> compositeDataMethodCache = Collections.synchronizedMap(new WeakHashMap<Class, Map<String, Method>>());
+
+ /** The map key */
+ public static final String MAP_KEY = "key";
+
+ /** The map value */
+ public static final String MAP_VALUE = "value";
+
+ /** Map index names */
+ public static final String[] MAP_INDEX_NAMES = { MAP_KEY };
+
+ /** Map item names */
+ public static final String[] MAP_ITEM_NAMES = { MAP_KEY, MAP_VALUE };
+
+ /**
+ * Get the OpenType for a class
+ *
+ * @param type the type
+ * @return the open type
+ */
+ public static OpenType getOpenType(Type type)
+ {
+ if (type == null)
+ throw new IllegalArgumentException("Null type");
+
+ OpenType result = checkType(type);
+ if (result != null)
+ return result;
+ Class clazz = (Class) type;
+ return CompositeTypeMetaDataFactory.getCompositeType(clazz);
+ }
+
+ /**
+ * Get the SimpleType for a class
+ *
+ * @param type the type
+ * @return the open type
+ * @throws Exception for any error
+ */
+ public static SimpleType getSimpleType(Class type) throws Exception
+ {
+ SimpleType simpleType = checkSimpleType(type);
+ if (simpleType == null)
+ throw new IllegalArgumentException("Not a SimpleType: " + type.getName());
+ return simpleType;
+ }
+
+ /**
+ * Get the for a class that is not composite
+ *
+ * @param type the type
+ * @return the open type or null if composite
+ */
+ public static OpenType checkType(Type type)
+ {
+ OpenType result = checkSimpleType(type);
+ if (result != null)
+ return result;
+ result = checkEnum(type);
+ if (result != null)
+ return result;
+ result = checkArray(type);
+ if (result != null)
+ return result;
+ result = checkCollection(type);
+ if (result != null)
+ return result;
+ return checkMap(type);
+ }
+
+ /**
+ * Create a composite data proxy
+ *
+ * @param <T> the interface type
+ * @param intf the interface type
+ * @param compositeData the composite data
+ * @return the proxy
+ */
+ public static <T> T createCompositeDataProxy(Class<T> intf, CompositeData compositeData)
+ {
+ if (intf == null)
+ throw new IllegalArgumentException("Null interface");
+ InvocationHandler handler = new CompositeDataInvocationHandler(compositeData);
+ Object object = Proxy.newProxyInstance(intf.getClassLoader(), new Class[] { intf }, handler);
+ return intf.cast(object);
+ }
+
+ /**
+ * Construct some open data
+ *
+ * @param type the type
+ * @param value the value
+ * @param context the context
+ * @return the open data
+ * @throws Exception for any error
+ */
+ public static Object construct(Type type, Object value, Object context) throws Exception
+ {
+ OpenType openType = getOpenType(type);
+ return construct(openType, value, context);
+ }
+
+ /**
+ * Construct some open data
+ *
+ * @param openType the open type
+ * @param value the value
+ * @param context the context
+ * @return the open data
+ * @throws Exception for any error
+ */
+ public static Object construct(OpenType openType, Object value, Object context) throws Exception
+ {
+ if (openType instanceof SimpleType)
+ return constructSimpleData(value);
+ if (openType.isArray())
+ return constructArrayData(openType, value, context);
+ if (openType instanceof TabularType)
+ return constructTabularData(openType, value, context);
+ return constructCompositeData(openType, value, context);
+ }
+
+ /**
+ * Reconstruct a type from an object
+ *
+ * @param type the type
+ * @param value the value
+ * @param context for error reporting
+ * @return the object
+ * @throws Exception for any error
+ */
+ public static Object reconstruct(Type type, Object value, Object context) throws Exception
+ {
+ OpenType openType = MXBeanUtils.getOpenType(type);
+ return reconstruct(openType, type, value, context);
+ }
+
+ /**
+ * Reconstruct a type from an object
+ *
+ * @param openType the open type
+ * @param type the type
+ * @param value the value
+ * @param context for error reporting
+ * @return the object
+ * @throws Exception for any error
+ */
+ public static Object reconstruct(OpenType openType, Type type, Object value, Object context) throws Exception
+ {
+ if (openType instanceof SimpleType)
+ return reconstructSimpleData(type, value, context);
+ if (openType.isArray())
+ return reconstructArrayData(openType, type, value, context);
+ if (openType instanceof TabularType)
+ return reconstructTabularData(openType, type, value, context);
+ return reconstructCompositeData(openType, type, value, context);
+ }
+
+ /**
+ * Get the SimpleType for a class
+ *
+ * @param type the type
+ * @return the simple type or null if not a simple type
+ */
+ public static SimpleType checkSimpleType(Type type)
+ {
+ if (BigDecimal.class.equals(type))
+ return SimpleType.BIGDECIMAL;
+ if (BigInteger.class.equals(type))
+ return SimpleType.BIGINTEGER;
+ if (Boolean.class.equals(type))
+ return SimpleType.BOOLEAN;
+ if (Boolean.TYPE.equals(type))
+ return SimpleType.BOOLEAN;
+ if (Byte.class.equals(type))
+ return SimpleType.BYTE;
+ if (Byte.TYPE.equals(type))
+ return SimpleType.BYTE;
+ if (Character.class.equals(type))
+ return SimpleType.CHARACTER;
+ if (Character.TYPE.equals(type))
+ return SimpleType.CHARACTER;
+ if (Date.class.equals(type))
+ return SimpleType.DATE;
+ if (Double.class.equals(type))
+ return SimpleType.DOUBLE;
+ if (Double.TYPE.equals(type))
+ return SimpleType.DOUBLE;
+ if (Float.class.equals(type))
+ return SimpleType.FLOAT;
+ if (Float.TYPE.equals(type))
+ return SimpleType.FLOAT;
+ if (Integer.class.equals(type))
+ return SimpleType.INTEGER;
+ if (Integer.TYPE.equals(type))
+ return SimpleType.INTEGER;
+ if (Long.class.equals(type))
+ return SimpleType.LONG;
+ if (Long.TYPE.equals(type))
+ return SimpleType.LONG;
+ if (ObjectName.class.equals(type))
+ return SimpleType.OBJECTNAME;
+ if (Short.class.equals(type))
+ return SimpleType.SHORT;
+ if (Short.TYPE.equals(type))
+ return SimpleType.SHORT;
+ if (String.class.equals(type))
+ return SimpleType.STRING;
+ if (Void.class.equals(type))
+ return SimpleType.VOID;
+ return null;
+ }
+
+ /**
+ * Get the simple type for an enum
+ *
+ * @param type the type
+ * @return return the enum type or null if it is not an enum
+ */
+ public static SimpleType checkEnum(Type type)
+ {
+ if (type instanceof Class == false)
+ return null;
+ Class clazz = (Class) type;
+ if (clazz.isEnum() || Enum.class.equals(clazz))
+ return SimpleType.STRING;
+ return null;
+ }
+
+ /**
+ * Construct a simple type open data
+ *
+ * @param value the value
+ * @return the simple type
+ */
+ public static Object constructSimpleData(Object value)
+ {
+ if (value != null && value instanceof Enum)
+ {
+ Enum enumeration = (Enum) value;
+ return enumeration.name();
+ }
+ return value;
+ }
+
+ /**
+ * Reconstruct a simple type open data
+ *
+ * @param type the type
+ * @param value the value
+ * @param context the context
+ * @return the simple type
+ */
+ @SuppressWarnings("unchecked")
+ private static Object reconstructSimpleData(Type type, Object value, Object context)
+ {
+ if (type instanceof Class)
+ {
+ if (value != null)
+ {
+ Class clazz = (Class) type;
+ if (clazz.isEnum() || Enum.class.equals(clazz))
+ {
+ String string = (String) value;
+ return Enum.valueOf(clazz, string);
+ }
+ }
+ else
+ {
+ Class clazz = (Class) type;
+ if (clazz.isPrimitive())
+ throw new IllegalArgumentException("Attempt to use null as a primitive for: " + context);
+ return null;
+ }
+ }
+ return value;
+ }
+
+ /**
+ * Get the array type for a class
+ *
+ * @param type the type
+ * @return return the array type or null if it is not an array
+ */
+ public static ArrayType checkArray(Type type)
+ {
+ if (type instanceof Class)
+ {
+ Class clazz = (Class) type;
+ if (clazz.isArray() == false)
+ return null;
+ int dimension = 1;
+ Class componentType = clazz.getComponentType();
+ while (componentType.isArray())
+ {
+ ++dimension;
+ componentType = componentType.getComponentType();
+ }
+ OpenType componentOpenType = getOpenType(componentType);
+ try
+ {
+ return new ArrayType(dimension, componentOpenType);
+ }
+ catch (RuntimeException e)
+ {
+ throw e;
+ }
+ catch (Exception e)
+ {
+ throw new RuntimeException(e);
+ }
+ }
+ if (type instanceof GenericArrayType)
+ {
+ GenericArrayType arrayType = (GenericArrayType) type;
+ int dimension = 1;
+ Type componentType = arrayType.getGenericComponentType();
+ while (componentType instanceof GenericArrayType)
+ {
+ ++dimension;
+ arrayType = (GenericArrayType) componentType;
+ componentType = arrayType.getGenericComponentType();
+ }
+ OpenType componentOpenType = getOpenType(componentType);
+ try
+ {
+ return new ArrayType(dimension, componentOpenType);
+ }
+ catch (RuntimeException e)
+ {
+ throw e;
+ }
+ catch (Exception e)
+ {
+ throw new RuntimeException(e);
+ }
+ }
+ return null;
+ }
+
+ /**
+ * Get the collection type for a class
+ *
+ * @param type the type
+ * @return return the array type or null if it is not a collection
+ */
+ public static ArrayType checkCollection(Type type)
+ {
+ if (type instanceof ParameterizedType == false)
+ {
+ if (type instanceof Class)
+ return checkCollectionClass((Class) type);
+ else
+ return null;
+ }
+ ParameterizedType parameterizedType = (ParameterizedType) type;
+ Type rawType = parameterizedType.getRawType();
+ if (rawType instanceof Class == false)
+ return null;
+ Class rawClass = (Class) rawType;
+ if (Collection.class.isAssignableFrom(rawClass) == false)
+ return null;
+ Type componentType = parameterizedType.getActualTypeArguments()[0];
+ OpenType componentOpenType = getOpenType(componentType);
+ try
+ {
+ return new ArrayType(1, componentOpenType);
+ }
+ catch (RuntimeException e)
+ {
+ throw e;
+ }
+ catch (Exception e)
+ {
+ throw new RuntimeException(e);
+ }
+ }
+
+ /**
+ * Get the collection type for a class
+ *
+ * @param clazz the class
+ * @return return the array type or null if it is not a collection
+ */
+ public static ArrayType checkCollectionClass(Class clazz)
+ {
+ if (Collection.class.isAssignableFrom(clazz) == false)
+ return null;
+ OpenType componentOpenType = getOpenType(Object.class);
+ try
+ {
+ return new ArrayType(1, componentOpenType);
+ }
+ catch (RuntimeException e)
+ {
+ throw e;
+ }
+ catch (Exception e)
+ {
+ throw new RuntimeException(e);
+ }
+ }
+
+ /**
+ * Construct an array type open data
+ *
+ * @param openType the open type
+ * @param value the value
+ * @param context the context
+ * @return the open data
+ * @throws Exception for any error
+ */
+ public static Object constructArrayData(OpenType openType, Object value, Object context) throws Exception
+ {
+ if (value == null)
+ return null;
+
+ ArrayType arrayType = (ArrayType) openType;
+ OpenType elementType = arrayType.getElementOpenType();
+ int dimension = arrayType.getDimension();
+
+ Class clazz = value.getClass();
+ if (clazz.isArray())
+ {
+ Object[] oldArray = (Object[]) value;
+ Class<?> componentType = Class.forName(arrayType.getClassName());
+ return constructArray(elementType, componentType.getComponentType(), dimension, oldArray, context);
+ }
+ if (value instanceof Collection)
+ {
+ Collection c = (Collection) value;
+ Object[] oldArray = c.toArray();
+ Class<?> componentType = Class.forName(arrayType.getClassName());
+ return constructArray(elementType, componentType.getComponentType(), dimension, oldArray, context);
+ }
+ throw new UnsupportedOperationException("Cannot construct array for: " + value);
+ }
+
+ /**
+ * Construct an array of open data
+ *
+ * @param elementType the element type
+ * @param componentType the componentType
+ * @param dimension the dimension
+ * @param oldArray the old array
+ * @param context the context
+ * @return the array
+ * @throws Exception for any error
+ */
+ private static Object[] constructArray(OpenType elementType, Class<?> componentType, int dimension, Object[] oldArray, Object context) throws Exception
+ {
+ if (oldArray == null)
+ return null;
+
+ Object[] newArray = (Object[]) Array.newInstance(componentType, oldArray.length);
+ if (dimension > 1)
+ {
+ for (int i = 0; i < oldArray.length; ++i)
+ {
+ Object[] nestedOld = (Object[]) oldArray[i];
+ newArray[i] = constructArray(elementType, componentType.getComponentType(), dimension-1, nestedOld, context);
+ }
+ }
+ else
+ {
+ if (Object.class.equals(componentType))
+ {
+ for (int i = 0; i < oldArray.length; ++i)
+ newArray[i] = oldArray[i];
+ }
+ else
+ {
+ for (int i = 0; i < oldArray.length; ++i)
+ newArray[i] = construct(elementType, oldArray[i], context);
+ }
+ }
+
+ return newArray;
+ }
+
+ /**
+ * Reconstruct an array type
+ *
+ * @param openType the open type
+ * @param type the type
+ * @param value the value
+ * @param context the context
+ * @return the value
+ * @throws Exception for any error
+ */
+ public static Object reconstructArrayData(OpenType openType, Type type, Object value, Object context) throws Exception
+ {
+ if (value == null)
+ return null;
+
+ ArrayType arrayType = (ArrayType) getOpenType(type);
+ OpenType elementType = arrayType.getElementOpenType();
+ int dimension = arrayType.getDimension();
+ Object[] oldArray = (Object[]) value;
+ if (type instanceof Class)
+ {
+ Class clazz = (Class) type;
+ if (clazz.isArray())
+ return reconstructArray(elementType, clazz.getComponentType(), dimension, oldArray, context);
+ // TODO FIXME
+ // else if (Set.class.isAssignableFrom(clazz))
+ // return createSet(oldArray);
+ // else if (Collection.class.isAssignableFrom(clazz))
+ // return createCollection(oldArray);
+ }
+ else if (type instanceof ParameterizedType)
+ {
+ ParameterizedType parameterizedType = (ParameterizedType) type;
+ Type rawType = parameterizedType.getRawType();
+ if (rawType instanceof Class)
+ {
+ Class raw = (Class) rawType;
+ if (Set.class.isAssignableFrom(raw))
+ return createSet(oldArray);
+ else if (Collection.class.isAssignableFrom(raw))
+ return createCollection(oldArray);
+ }
+ }
+ throw new UnsupportedOperationException("Cannot convert array type: " + type);
+ }
+
+ /**
+ * Reconstruct an array
+ *
+ * @param elementType the element type
+ * @param componentType the componentType
+ * @param dimension the dimension
+ * @param oldArray the old array of open data
+ * @param context the context
+ * @return the array
+ * @throws Exception for any error
+ */
+ private static Object[] reconstructArray(OpenType elementType, Class componentType, int dimension, Object[] oldArray, Object context) throws Exception
+ {
+ if (oldArray == null)
+ return null;
+
+ Object[] newArray = (Object[]) Array.newInstance(componentType, oldArray.length);
+ if (dimension > 1)
+ {
+ for (int i = 0; i < oldArray.length; ++i)
+ {
+ Object[] nestedOld = (Object[]) oldArray[i];
+ newArray[i] = reconstructArray(elementType, componentType.getComponentType(), dimension-1, nestedOld, context);
+ }
+ }
+ else
+ {
+ for (int i = 0; i < oldArray.length; ++i)
+ newArray[i] = reconstruct(elementType, componentType, oldArray[i], context);
+ }
+
+ return newArray;
+ }
+
+ /**
+ * Create a collection
+ *
+ * @param array the array
+ * @return the collection
+ */
+ private static Collection createCollection(Object[] array)
+ {
+ return Arrays.asList(array);
+ }
+
+ /**
+ * Create a set
+ *
+ * @param array the array
+ * @return the set
+ */
+ @SuppressWarnings("unchecked")
+ private static Set createSet(Object[] array)
+ {
+ HashSet result = new HashSet(array.length);
+ for (int i = 0; i < array.length; ++i)
+ result.add(array[i]);
+ return result;
+ }
+
+ /**
+ * Get the map type for a class
+ *
+ * @param type the type
+ * @return return the tabular type or null if it is not a collection
+ */
+ public static TabularType checkMap(Type type)
+ {
+ if (type instanceof ParameterizedType == false)
+ {
+ if (type instanceof Class)
+ return checkMapClass((Class) type);
+ else
+ return null;
+ }
+ ParameterizedType parameterizedType = (ParameterizedType) type;
+ Type rawType = parameterizedType.getRawType();
+ if (rawType instanceof Class == false)
+ return null;
+ Class rawClass = (Class) rawType;
+ if (Map.class.isAssignableFrom(rawClass) == false)
+ return null;
+ Type[] args = parameterizedType.getActualTypeArguments();
+ Type keyType = args[0];
+ Type valueType = args[1];
+ return createMapType(keyType, valueType);
+ }
+
+ /**
+ * Get the map type for a class
+ *
+ * @param clazz the class
+ * @return return the tabular type or null if it is not a collection
+ */
+ public static TabularType checkMapClass(Class clazz)
+ {
+ if (Map.class.isAssignableFrom(clazz) == false)
+ return null;
+ return createMapType(Object.class, Object.class);
+ }
+
+ /**
+ * Create a map type
+ *
+ * @param keyType the key type
+ * @param valueType the value type
+ * @return the map type
+ */
+ public static TabularType createMapType(Type keyType, Type valueType)
+ {
+ String name = Map.class.getName();
+ OpenType[] itemTypes = { getOpenType(keyType), getOpenType(valueType) };
+ try
+ {
+ CompositeType entryType = createMapEntryType(itemTypes);
+ return new TabularType(name, name, entryType, MAP_INDEX_NAMES);
+ }
+ catch (RuntimeException e)
+ {
+ throw e;
+ }
+ catch (Exception e)
+ {
+ throw new RuntimeException(e);
+ }
+ }
+
+ /**
+ * Create a map type
+ *
+ * @param itemTypes the item types
+ * @return the map entry type
+ */
+ private static CompositeType createMapEntryType(OpenType[] itemTypes)
+ {
+ String entryName = Map.Entry.class.getName();
+ try
+ {
+ return new CompositeType(entryName, entryName, MAP_ITEM_NAMES, MAP_ITEM_NAMES, itemTypes);
+ }
+ catch (RuntimeException e)
+ {
+ throw e;
+ }
+ catch (Exception e)
+ {
+ throw new RuntimeException(e);
+ }
+ }
+
+ /**
+ * Construct a tabular type open data
+ *
+ * @param openType the open type
+ * @param value the value
+ * @param context the context
+ * @return the open data
+ * @throws Exception for any error
+ */
+ @SuppressWarnings("unchecked")
+ public static Object constructTabularData(OpenType openType, Object value, Object context) throws Exception
+ {
+ if (value == null)
+ return null;
+
+ TabularType tabularType = (TabularType) openType;
+
+ if (value instanceof Map)
+ {
+ TabularDataSupport table = new TabularDataSupport(tabularType);
+ CompositeType entryType = tabularType.getRowType();
+ OpenType keyType = entryType.getType(MAP_KEY);
+ OpenType valueType = entryType.getType(MAP_VALUE);
+
+ Map<Object, Object> m = (Map<Object, Object>) value;
+ for (Iterator<Map.Entry<Object, Object>> i = m.entrySet().iterator(); i.hasNext();)
+ {
+ Map.Entry<Object, Object> entry = i.next();
+ Object key = construct(keyType, entry.getKey(), context);
+ Object val = construct(valueType, entry.getValue(), context);
+ CompositeDataSupport data = new CompositeDataSupport(entryType, MXBeanUtils.MAP_ITEM_NAMES, new Object[] { key, val });
+ table.put(data);
+ }
+ return table;
+ }
+ throw new UnsupportedOperationException("Cannot construct map for: " + value);
+ }
+
+ /**
+ * Reconstruct a tabular type
+ *
+ * @param openType the open type
+ * @param type the type
+ * @param value the value
+ * @param context the context
+ * @return the value
+ * @throws Exception for any error
+ */
+ public static Object reconstructTabularData(OpenType openType, Type type, Object value, Object context) throws Exception
+ {
+ if (value == null)
+ return null;
+
+ TabularType tabularType = (TabularType) getOpenType(type);
+ if (type instanceof Class)
+ {
+ // TODO FIXME
+ // Class clazz = (Class) type;
+ // if (Map.class.isAssignableFrom(clazz))
+ // return createMap(tabularType, Object.class, Object.class, value, context);
+ }
+ else if (type instanceof ParameterizedType)
+ {
+ ParameterizedType parameterizedType = (ParameterizedType) type;
+ Type rawType = parameterizedType.getRawType();
+ if (rawType instanceof Class)
+ {
+ Class raw = (Class) rawType;
+ if (Map.class.isAssignableFrom(raw))
+ {
+ Type keyType = parameterizedType.getActualTypeArguments()[0];
+ Type valueType = parameterizedType.getActualTypeArguments()[1];
+ return createMap(tabularType, keyType, valueType, value, context);
+ }
+ }
+ }
+ throw new UnsupportedOperationException("Cannot convert map type: " + type);
+ }
+
+ /**
+ * Create a map
+ *
+ * @param openType the open type
+ * @param keyType the key type
+ * @param valueType the value type
+ * @param value the value
+ * @param context the context
+ * @return the map
+ * @throws Exception for any problem
+ */
+ @SuppressWarnings("unchecked")
+ private static Map createMap(TabularType openType, Type keyType, Type valueType, Object value, Object context) throws Exception
+ {
+ if (value == null)
+ return null;
+
+ Map<Object, Object> result = new HashMap<Object, Object>();
+
+ TabularData table = (TabularData) value;
+ Collection<?> values = table.values();
+ for (Object v : values)
+ {
+ CompositeData entry = CompositeData.class.cast(v);
+ Object key = reconstruct(keyType, entry.get(MAP_KEY), context);
+ Object val = reconstruct(valueType, entry.get(MAP_VALUE), context);
+ result.put(key, val);
+ }
+
+ return result;
+ }
+
+ /**
+ * Construct composite type open data
+ *
+ * @param openType the open type
+ * @param value the value
+ * @param context the context
+ * @return the open data
+ * @throws Exception for any error
+ */
+ @SuppressWarnings("unchecked")
+ public static Object constructCompositeData(OpenType openType, Object value, Object context) throws Exception
+ {
+ if (value == null)
+ return null;
+
+ Class clazz = value.getClass();
+
+ CompositeType compositeType = (CompositeType) openType;
+ Set<String> nameSet = compositeType.keySet();
+ String[] names = nameSet.toArray(new String[nameSet.size()]);
+
+ Object[] values = new Object[names.length];
+
+ for (int i = 0 ; i < names.length; ++i)
+ {
+ String name = names[i];
+ OpenType itemType = compositeType.getType(name);
+ Method method = getCompositeDataMethod(clazz, name, itemType == SimpleType.BOOLEAN);
+ Object itemValue = method.invoke(value, null);
+ values[i] = construct(itemType, itemValue, context);
+ }
+ return new CompositeDataSupport(compositeType, names, values);
+ }
+
+ /**
+ * Reconstruct a composite type
+ *
+ * @param openType the open type
+ * @param type the type
+ * @param value the value
+ * @param context the context
+ * @return the value
+ * @throws Exception for any error
+ */
+ public static Object reconstructCompositeData(OpenType openType, Type type, Object value, Object context) throws Exception
+ {
+ if (value == null)
+ return null;
+
+ CompositeData compositeData = (CompositeData) value;
+ CompositeDataInvocationHandler handler = new CompositeDataInvocationHandler(compositeData);
+ Class clazz = (Class) type;
+ Class[] interfaces = null;
+ if (clazz.isInterface())
+ interfaces = new Class[] { clazz };
+ else
+ interfaces = clazz.getInterfaces();
+ return Proxy.newProxyInstance(clazz.getClassLoader(), interfaces, handler);
+ }
+
+ /**
+ * Get the key for a composite data getter method
+ *
+ * @param method the method
+ * @return the key
+ */
+ public static String getCompositeDataKey(Method method)
+ {
+ String key = compositeDataKeyCache.get(method);
+ if (key != null)
+ return key;
+
+ StringBuilder fieldName = null;
+
+ Class returnType = method.getReturnType();
+ Class[] paramTypes = method.getParameterTypes();
+ if (Void.TYPE.equals(returnType) == false && paramTypes.length == 0)
+ {
+ String name = method.getName();
+ if (name.startsWith("is") && name.length() > 2)
+ {
+ if (Boolean.TYPE.equals(returnType))
+ {
+ fieldName = new StringBuilder();
+ fieldName.append(Character.toLowerCase(name.charAt(2)));
+ if (name.length() > 3)
+ fieldName.append(name.substring(3));
+ }
+ }
+ else if (name.startsWith("get") && name.length() > 3)
+ {
+ fieldName = new StringBuilder();
+ fieldName.append(Character.toLowerCase(name.charAt(3)));
+ if (name.length() > 4)
+ fieldName.append(name.substring(4));
+ }
+ }
+
+ if (fieldName == null)
+ return null;
+
+ String result = fieldName.toString();
+ compositeDataKeyCache.put(method, result);
+ return result;
+ }
+
+ /**
+ * Get the key for a composite data getter method
+ *
+ * @param clazz the class
+ * @param key the key
+ * @param isBoolean whether it is boolean
+ * @return the method
+ * @throws Exception for any error
+ */
+ @SuppressWarnings("unchecked")
+ public static Method getCompositeDataMethod(Class clazz, String key, boolean isBoolean) throws Exception
+ {
+ Map<String, Method> cache = compositeDataMethodCache.get(clazz);
+ if (cache != null)
+ {
+ Method method = cache.get(key);
+ if (method != null)
+ return method;
+ }
+
+ StringBuilder name = new StringBuilder();
+ name.append(Character.toUpperCase(key.charAt(0)));
+ if (key.length() > 1)
+ name.append(key.substring(1));
+ Method method = null;
+ try
+ {
+ method = clazz.getMethod("get" + name, null);
+ }
+ catch (NoSuchMethodException e)
+ {
+ if (isBoolean)
+ {
+ try
+ {
+ method = clazz.getMethod("is" + name, null);
+ }
+ catch (NoSuchMethodException ignored)
+ {
+ throw e;
+ }
+ }
+ else
+ {
+ throw e;
+ }
+ }
+
+ if (cache == null)
+ {
+ cache = new WeakValueHashMap();
+ compositeDataMethodCache.put(clazz, cache);
+ }
+ cache.put(key, method);
+ return method;
+ }
+
+ /**
+ * Create a new MXBean
+ *
+ * @param resource the resource
+ * @param mxbeanInterface the interface
+ * @return the MXBean
+ */
+ public static DynamicMBean createMXBean(Object resource, Class<?> mxbeanInterface)
+ {
+ try
+ {
+ return new MXBeanDelegate(resource, mxbeanInterface);
+ }
+ catch (RuntimeException e)
+ {
+ throw e;
+ }
+ catch (Exception e)
+ {
+ throw new RuntimeException("Error creating MXBean", e);
+ }
+ }
+}
Modified: trunk/mbeans/src/main/org/jboss/mx/mxbean/NotificationType.java
===================================================================
--- trunk/mbeans/src/main/org/jboss/mx/mxbean/NotificationType.java 2008-11-14 12:49:40 UTC (rev 81025)
+++ trunk/mbeans/src/main/org/jboss/mx/mxbean/NotificationType.java 2008-11-14 12:51:05 UTC (rev 81026)
@@ -1,48 +1,48 @@
-/*
-* JBoss, Home of Professional Open Source
-* Copyright 2006, JBoss Inc., and individual contributors as indicated
-* by the @authors tag. See the copyright.txt in the distribution for a
-* full listing of individual contributors.
-*
-* This is free software; you can redistribute it and/or modify it
-* under the terms of the GNU Lesser General Public License as
-* published by the Free Software Foundation; either version 2.1 of
-* the License, or (at your option) any later version.
-*
-* This software is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-* Lesser General Public License for more details.
-*
-* You should have received a copy of the GNU Lesser General Public
-* License along with this software; if not, write to the Free
-* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
-* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
-*/
-package org.jboss.mx.mxbean;
-
-import java.lang.annotation.Documented;
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Inherited;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.lang.annotation.Target;
-
-/**
- * NotificationType.
- *
- * @author <a href="adrian at jboss.com">Adrian Brock</a>
- * @version $Revision: 1.1 $
- */
- at Documented
- at Inherited
- at Target(ElementType.TYPE)
- at Retention(RetentionPolicy.RUNTIME)
-public @interface NotificationType
-{
- /** The notification type */
- String value();
-
- /** The user data class */
- Class userDataClass() default void.class;
-}
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2008, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.mx.mxbean;
+
+import java.lang.annotation.Documented;
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Inherited;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+/**
+ * NotificationType.
+ *
+ * @author <a href="adrian at jboss.com">Adrian Brock</a>
+ * @version $Revision: 1.1 $
+ */
+ at Documented
+ at Inherited
+ at Target(ElementType.TYPE)
+ at Retention(RetentionPolicy.RUNTIME)
+public @interface NotificationType
+{
+ /** The notification type */
+ String value();
+
+ /** The user data class */
+ Class userDataClass() default void.class;
+}
Modified: trunk/mbeans/src/main/org/jboss/mx/mxbean/SkeletonOpenType.java
===================================================================
--- trunk/mbeans/src/main/org/jboss/mx/mxbean/SkeletonOpenType.java 2008-11-14 12:49:40 UTC (rev 81025)
+++ trunk/mbeans/src/main/org/jboss/mx/mxbean/SkeletonOpenType.java 2008-11-14 12:51:05 UTC (rev 81026)
@@ -1,85 +1,85 @@
-/*
-* JBoss, Home of Professional Open Source
-* Copyright 2006, JBoss Inc., and individual contributors as indicated
-* by the @authors tag. See the copyright.txt in the distribution for a
-* full listing of individual contributors.
-*
-* This is free software; you can redistribute it and/or modify it
-* under the terms of the GNU Lesser General Public License as
-* published by the Free Software Foundation; either version 2.1 of
-* the License, or (at your option) any later version.
-*
-* This software is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-* Lesser General Public License for more details.
-*
-* You should have received a copy of the GNU Lesser General Public
-* License along with this software; if not, write to the Free
-* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
-* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
-*/
-package org.jboss.mx.mxbean;
-
-import java.lang.reflect.ParameterizedType;
-import java.lang.reflect.Type;
-
-import javax.management.openmbean.OpenType;
-
-import org.jboss.util.UnreachableStatementException;
-
-/**
- * SkeletonOpenType.
- *
- * @author <a href="adrian at jboss.com">Adrian Brock</a>
- * @version $Revision: 1.1 $
- */
-public class SkeletonOpenType
-{
- /** The open type */
- private OpenType openType;
-
- /** The composite type meta data */
- private CompositeTypeMetaData composite;
-
- /**
- * Create a new SkeletonOpenType.
- *
- * @param type the type
- */
- public SkeletonOpenType(Type type)
- {
- openType = MXBeanUtils.checkType(type);
- if (openType != null)
- return;
- Class clazz = null;
- if (type instanceof ParameterizedType)
- {
- ParameterizedType parameterizedType = (ParameterizedType) type;
- clazz = (Class) parameterizedType.getRawType();
- }
- else if (type instanceof Class)
- {
- clazz = (Class) type;
- }
- else
- {
- throw new UnsupportedOperationException("Unable to create open type for " + type);
- }
- composite = CompositeTypeMetaDataFactory.getCompositeTypeMetaData(clazz);
- }
-
- /**
- * Get the openType.
- *
- * @return the openType.
- */
- public OpenType getOpenType()
- {
- if (openType != null)
- return openType;
- if (composite != null)
- return composite.getCompositeType();
- throw new UnreachableStatementException();
- }
-}
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2008, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.mx.mxbean;
+
+import java.lang.reflect.ParameterizedType;
+import java.lang.reflect.Type;
+
+import javax.management.openmbean.OpenType;
+
+import org.jboss.util.UnreachableStatementException;
+
+/**
+ * SkeletonOpenType.
+ *
+ * @author <a href="adrian at jboss.com">Adrian Brock</a>
+ * @version $Revision: 1.1 $
+ */
+public class SkeletonOpenType
+{
+ /** The open type */
+ private OpenType openType;
+
+ /** The composite type meta data */
+ private CompositeTypeMetaData composite;
+
+ /**
+ * Create a new SkeletonOpenType.
+ *
+ * @param type the type
+ */
+ public SkeletonOpenType(Type type)
+ {
+ openType = MXBeanUtils.checkType(type);
+ if (openType != null)
+ return;
+ Class clazz = null;
+ if (type instanceof ParameterizedType)
+ {
+ ParameterizedType parameterizedType = (ParameterizedType) type;
+ clazz = (Class) parameterizedType.getRawType();
+ }
+ else if (type instanceof Class)
+ {
+ clazz = (Class) type;
+ }
+ else
+ {
+ throw new UnsupportedOperationException("Unable to create open type for " + type);
+ }
+ composite = CompositeTypeMetaDataFactory.getCompositeTypeMetaData(clazz);
+ }
+
+ /**
+ * Get the openType.
+ *
+ * @return the openType.
+ */
+ public OpenType getOpenType()
+ {
+ if (openType != null)
+ return openType;
+ if (composite != null)
+ return composite.getCompositeType();
+ throw new UnreachableStatementException();
+ }
+}
Modified: trunk/mbeans/src/main/org/jboss/mx/persistence/AttributePersistenceManager.java
===================================================================
--- trunk/mbeans/src/main/org/jboss/mx/persistence/AttributePersistenceManager.java 2008-11-14 12:49:40 UTC (rev 81025)
+++ trunk/mbeans/src/main/org/jboss/mx/persistence/AttributePersistenceManager.java 2008-11-14 12:51:05 UTC (rev 81026)
@@ -1,24 +1,24 @@
/*
-* JBoss, Home of Professional Open Source
-* Copyright 2005, JBoss Inc., and individual contributors as indicated
-* by the @authors tag. See the copyright.txt in the distribution for a
-* full listing of individual contributors.
-*
-* This is free software; you can redistribute it and/or modify it
-* under the terms of the GNU Lesser General Public License as
-* published by the Free Software Foundation; either version 2.1 of
-* the License, or (at your option) any later version.
-*
-* This software is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-* Lesser General Public License for more details.
-*
-* You should have received a copy of the GNU Lesser General Public
-* License along with this software; if not, write to the Free
-* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
-* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
-*/
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2008, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
package org.jboss.mx.persistence;
import javax.management.AttributeList;
Modified: trunk/mbeans/src/main/org/jboss/mx/persistence/DelegatingPersistenceManager.java
===================================================================
--- trunk/mbeans/src/main/org/jboss/mx/persistence/DelegatingPersistenceManager.java 2008-11-14 12:49:40 UTC (rev 81025)
+++ trunk/mbeans/src/main/org/jboss/mx/persistence/DelegatingPersistenceManager.java 2008-11-14 12:51:05 UTC (rev 81026)
@@ -1,24 +1,24 @@
/*
-* JBoss, Home of Professional Open Source
-* Copyright 2005, JBoss Inc., and individual contributors as indicated
-* by the @authors tag. See the copyright.txt in the distribution for a
-* full listing of individual contributors.
-*
-* This is free software; you can redistribute it and/or modify it
-* under the terms of the GNU Lesser General Public License as
-* published by the Free Software Foundation; either version 2.1 of
-* the License, or (at your option) any later version.
-*
-* This software is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-* Lesser General Public License for more details.
-*
-* You should have received a copy of the GNU Lesser General Public
-* License along with this software; if not, write to the Free
-* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
-* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
-*/
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2008, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
package org.jboss.mx.persistence;
import javax.management.Attribute;
Modified: trunk/mbeans/src/main/org/jboss/mx/persistence/MBeanInfoOdb.java
===================================================================
--- trunk/mbeans/src/main/org/jboss/mx/persistence/MBeanInfoOdb.java 2008-11-14 12:49:40 UTC (rev 81025)
+++ trunk/mbeans/src/main/org/jboss/mx/persistence/MBeanInfoOdb.java 2008-11-14 12:51:05 UTC (rev 81026)
@@ -1,24 +1,24 @@
/*
-* JBoss, Home of Professional Open Source
-* Copyright 2005, JBoss Inc., and individual contributors as indicated
-* by the @authors tag. See the copyright.txt in the distribution for a
-* full listing of individual contributors.
-*
-* This is free software; you can redistribute it and/or modify it
-* under the terms of the GNU Lesser General Public License as
-* published by the Free Software Foundation; either version 2.1 of
-* the License, or (at your option) any later version.
-*
-* This software is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-* Lesser General Public License for more details.
-*
-* You should have received a copy of the GNU Lesser General Public
-* License along with this software; if not, write to the Free
-* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
-* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
-*/
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2008, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
package org.jboss.mx.persistence;
import java.io.File;
Modified: trunk/mbeans/src/main/org/jboss/mx/persistence/MbeanInfoDbPm.java
===================================================================
--- trunk/mbeans/src/main/org/jboss/mx/persistence/MbeanInfoDbPm.java 2008-11-14 12:49:40 UTC (rev 81025)
+++ trunk/mbeans/src/main/org/jboss/mx/persistence/MbeanInfoDbPm.java 2008-11-14 12:51:05 UTC (rev 81026)
@@ -1,24 +1,24 @@
/*
-* JBoss, Home of Professional Open Source
-* Copyright 2005, JBoss Inc., and individual contributors as indicated
-* by the @authors tag. See the copyright.txt in the distribution for a
-* full listing of individual contributors.
-*
-* This is free software; you can redistribute it and/or modify it
-* under the terms of the GNU Lesser General Public License as
-* published by the Free Software Foundation; either version 2.1 of
-* the License, or (at your option) any later version.
-*
-* This software is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-* Lesser General Public License for more details.
-*
-* You should have received a copy of the GNU Lesser General Public
-* License along with this software; if not, write to the Free
-* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
-* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
-*/
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2008, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
package org.jboss.mx.persistence;
import java.io.File;
Modified: trunk/mbeans/src/main/org/jboss/mx/persistence/NullPersistence.java
===================================================================
--- trunk/mbeans/src/main/org/jboss/mx/persistence/NullPersistence.java 2008-11-14 12:49:40 UTC (rev 81025)
+++ trunk/mbeans/src/main/org/jboss/mx/persistence/NullPersistence.java 2008-11-14 12:51:05 UTC (rev 81026)
@@ -1,24 +1,24 @@
/*
-* JBoss, Home of Professional Open Source
-* Copyright 2005, JBoss Inc., and individual contributors as indicated
-* by the @authors tag. See the copyright.txt in the distribution for a
-* full listing of individual contributors.
-*
-* This is free software; you can redistribute it and/or modify it
-* under the terms of the GNU Lesser General Public License as
-* published by the Free Software Foundation; either version 2.1 of
-* the License, or (at your option) any later version.
-*
-* This software is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-* Lesser General Public License for more details.
-*
-* You should have received a copy of the GNU Lesser General Public
-* License along with this software; if not, write to the Free
-* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
-* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
-*/
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2008, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
package org.jboss.mx.persistence;
import javax.management.MBeanInfo;
Modified: trunk/mbeans/src/main/org/jboss/mx/persistence/ObjectStreamPersistenceManager.java
===================================================================
--- trunk/mbeans/src/main/org/jboss/mx/persistence/ObjectStreamPersistenceManager.java 2008-11-14 12:49:40 UTC (rev 81025)
+++ trunk/mbeans/src/main/org/jboss/mx/persistence/ObjectStreamPersistenceManager.java 2008-11-14 12:51:05 UTC (rev 81026)
@@ -1,24 +1,24 @@
/*
-* JBoss, Home of Professional Open Source
-* Copyright 2005, JBoss Inc., and individual contributors as indicated
-* by the @authors tag. See the copyright.txt in the distribution for a
-* full listing of individual contributors.
-*
-* This is free software; you can redistribute it and/or modify it
-* under the terms of the GNU Lesser General Public License as
-* published by the Free Software Foundation; either version 2.1 of
-* the License, or (at your option) any later version.
-*
-* This software is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-* Lesser General Public License for more details.
-*
-* You should have received a copy of the GNU Lesser General Public
-* License along with this software; if not, write to the Free
-* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
-* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
-*/
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2008, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
package org.jboss.mx.persistence;
import java.io.File;
Modified: trunk/mbeans/src/main/org/jboss/mx/persistence/PersistenceManager.java
===================================================================
--- trunk/mbeans/src/main/org/jboss/mx/persistence/PersistenceManager.java 2008-11-14 12:49:40 UTC (rev 81025)
+++ trunk/mbeans/src/main/org/jboss/mx/persistence/PersistenceManager.java 2008-11-14 12:51:05 UTC (rev 81026)
@@ -1,24 +1,24 @@
/*
-* JBoss, Home of Professional Open Source
-* Copyright 2005, JBoss Inc., and individual contributors as indicated
-* by the @authors tag. See the copyright.txt in the distribution for a
-* full listing of individual contributors.
-*
-* This is free software; you can redistribute it and/or modify it
-* under the terms of the GNU Lesser General Public License as
-* published by the Free Software Foundation; either version 2.1 of
-* the License, or (at your option) any later version.
-*
-* This software is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-* Lesser General Public License for more details.
-*
-* You should have received a copy of the GNU Lesser General Public
-* License along with this software; if not, write to the Free
-* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
-* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
-*/
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2008, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
package org.jboss.mx.persistence;
import javax.management.MBeanException;
Modified: trunk/mbeans/src/main/org/jboss/mx/server/AbstractMBeanInvoker.java
===================================================================
--- trunk/mbeans/src/main/org/jboss/mx/server/AbstractMBeanInvoker.java 2008-11-14 12:49:40 UTC (rev 81025)
+++ trunk/mbeans/src/main/org/jboss/mx/server/AbstractMBeanInvoker.java 2008-11-14 12:51:05 UTC (rev 81026)
@@ -1,8 +1,8 @@
/*
- * JBoss, Home of Professional Open Source
- * Copyright 2005, JBoss Inc., and individual contributors as indicated
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2008, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
*
* This is free software; you can redistribute it and/or modify it
* under the terms of the GNU Lesser General Public License as
Modified: trunk/mbeans/src/main/org/jboss/mx/server/Interceptable.java
===================================================================
--- trunk/mbeans/src/main/org/jboss/mx/server/Interceptable.java 2008-11-14 12:49:40 UTC (rev 81025)
+++ trunk/mbeans/src/main/org/jboss/mx/server/Interceptable.java 2008-11-14 12:51:05 UTC (rev 81026)
@@ -1,24 +1,24 @@
/*
-* JBoss, Home of Professional Open Source
-* Copyright 2005, JBoss Inc., and individual contributors as indicated
-* by the @authors tag. See the copyright.txt in the distribution for a
-* full listing of individual contributors.
-*
-* This is free software; you can redistribute it and/or modify it
-* under the terms of the GNU Lesser General Public License as
-* published by the Free Software Foundation; either version 2.1 of
-* the License, or (at your option) any later version.
-*
-* This software is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-* Lesser General Public License for more details.
-*
-* You should have received a copy of the GNU Lesser General Public
-* License along with this software; if not, write to the Free
-* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
-* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
-*/
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2008, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
package org.jboss.mx.server;
import org.jboss.mx.interceptor.Interceptor;
Modified: trunk/mbeans/src/main/org/jboss/mx/server/Invocation.java
===================================================================
--- trunk/mbeans/src/main/org/jboss/mx/server/Invocation.java 2008-11-14 12:49:40 UTC (rev 81025)
+++ trunk/mbeans/src/main/org/jboss/mx/server/Invocation.java 2008-11-14 12:51:05 UTC (rev 81026)
@@ -1,24 +1,24 @@
/*
-* JBoss, Home of Professional Open Source
-* Copyright 2005, JBoss Inc., and individual contributors as indicated
-* by the @authors tag. See the copyright.txt in the distribution for a
-* full listing of individual contributors.
-*
-* This is free software; you can redistribute it and/or modify it
-* under the terms of the GNU Lesser General Public License as
-* published by the Free Software Foundation; either version 2.1 of
-* the License, or (at your option) any later version.
-*
-* This software is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-* Lesser General Public License for more details.
-*
-* You should have received a copy of the GNU Lesser General Public
-* License along with this software; if not, write to the Free
-* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
-* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
-*/
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2008, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
package org.jboss.mx.server;
import java.util.Arrays;
Modified: trunk/mbeans/src/main/org/jboss/mx/server/InvocationContext.java
===================================================================
--- trunk/mbeans/src/main/org/jboss/mx/server/InvocationContext.java 2008-11-14 12:49:40 UTC (rev 81025)
+++ trunk/mbeans/src/main/org/jboss/mx/server/InvocationContext.java 2008-11-14 12:51:05 UTC (rev 81026)
@@ -1,8 +1,8 @@
/*
- * JBoss, Home of Professional Open Source
- * Copyright 2005, JBoss Inc., and individual contributors as indicated
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2008, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
*
* This is free software; you can redistribute it and/or modify it
* under the terms of the GNU Lesser General Public License as
Modified: trunk/mbeans/src/main/org/jboss/mx/server/MBeanInvoker.java
===================================================================
--- trunk/mbeans/src/main/org/jboss/mx/server/MBeanInvoker.java 2008-11-14 12:49:40 UTC (rev 81025)
+++ trunk/mbeans/src/main/org/jboss/mx/server/MBeanInvoker.java 2008-11-14 12:51:05 UTC (rev 81026)
@@ -1,24 +1,24 @@
/*
-* JBoss, Home of Professional Open Source
-* Copyright 2005, JBoss Inc., and individual contributors as indicated
-* by the @authors tag. See the copyright.txt in the distribution for a
-* full listing of individual contributors.
-*
-* This is free software; you can redistribute it and/or modify it
-* under the terms of the GNU Lesser General Public License as
-* published by the Free Software Foundation; either version 2.1 of
-* the License, or (at your option) any later version.
-*
-* This software is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-* Lesser General Public License for more details.
-*
-* You should have received a copy of the GNU Lesser General Public
-* License along with this software; if not, write to the Free
-* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
-* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
-*/
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2008, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
package org.jboss.mx.server;
import javax.management.Descriptor;
Modified: trunk/mbeans/src/main/org/jboss/mx/server/MethodMapper.java
===================================================================
--- trunk/mbeans/src/main/org/jboss/mx/server/MethodMapper.java 2008-11-14 12:49:40 UTC (rev 81025)
+++ trunk/mbeans/src/main/org/jboss/mx/server/MethodMapper.java 2008-11-14 12:51:05 UTC (rev 81026)
@@ -1,8 +1,8 @@
/*
- * JBoss, Home of Professional Open Source
- * Copyright 2005, JBoss Inc., and individual contributors as indicated
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2008, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
*
* This is free software; you can redistribute it and/or modify it
* under the terms of the GNU Lesser General Public License as
Modified: trunk/mbeans/src/main/org/jboss/mx/server/Suspendable.java
===================================================================
--- trunk/mbeans/src/main/org/jboss/mx/server/Suspendable.java 2008-11-14 12:49:40 UTC (rev 81025)
+++ trunk/mbeans/src/main/org/jboss/mx/server/Suspendable.java 2008-11-14 12:51:05 UTC (rev 81026)
@@ -1,24 +1,24 @@
/*
-* JBoss, Home of Professional Open Source
-* Copyright 2005, JBoss Inc., and individual contributors as indicated
-* by the @authors tag. See the copyright.txt in the distribution for a
-* full listing of individual contributors.
-*
-* This is free software; you can redistribute it and/or modify it
-* under the terms of the GNU Lesser General Public License as
-* published by the Free Software Foundation; either version 2.1 of
-* the License, or (at your option) any later version.
-*
-* This software is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-* Lesser General Public License for more details.
-*
-* You should have received a copy of the GNU Lesser General Public
-* License along with this software; if not, write to the Free
-* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
-* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
-*/
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2008, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
package org.jboss.mx.server;
/**
Modified: trunk/mbeans/src/main/org/jboss/mx/server/TCLAction.java
===================================================================
--- trunk/mbeans/src/main/org/jboss/mx/server/TCLAction.java 2008-11-14 12:49:40 UTC (rev 81025)
+++ trunk/mbeans/src/main/org/jboss/mx/server/TCLAction.java 2008-11-14 12:51:05 UTC (rev 81026)
@@ -1,24 +1,24 @@
/*
-* JBoss, Home of Professional Open Source
-* Copyright 2005, JBoss Inc., and individual contributors as indicated
-* by the @authors tag. See the copyright.txt in the distribution for a
-* full listing of individual contributors.
-*
-* This is free software; you can redistribute it and/or modify it
-* under the terms of the GNU Lesser General Public License as
-* published by the Free Software Foundation; either version 2.1 of
-* the License, or (at your option) any later version.
-*
-* This software is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-* Lesser General Public License for more details.
-*
-* You should have received a copy of the GNU Lesser General Public
-* License along with this software; if not, write to the Free
-* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
-* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
-*/
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2008, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
package org.jboss.mx.server;
import java.security.PrivilegedAction;
Modified: trunk/mbeans/src/main/org/jboss/mx/server/TimeoutException.java
===================================================================
--- trunk/mbeans/src/main/org/jboss/mx/server/TimeoutException.java 2008-11-14 12:49:40 UTC (rev 81025)
+++ trunk/mbeans/src/main/org/jboss/mx/server/TimeoutException.java 2008-11-14 12:51:05 UTC (rev 81026)
@@ -1,24 +1,24 @@
/*
-* JBoss, Home of Professional Open Source
-* Copyright 2005, JBoss Inc., and individual contributors as indicated
-* by the @authors tag. See the copyright.txt in the distribution for a
-* full listing of individual contributors.
-*
-* This is free software; you can redistribute it and/or modify it
-* under the terms of the GNU Lesser General Public License as
-* published by the Free Software Foundation; either version 2.1 of
-* the License, or (at your option) any later version.
-*
-* This software is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-* Lesser General Public License for more details.
-*
-* You should have received a copy of the GNU Lesser General Public
-* License along with this software; if not, write to the Free
-* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
-* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
-*/
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2008, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
package org.jboss.mx.server;
/**
Modified: trunk/mbeans/src/main/org/jboss/mx/server/registry/MBeanEntry.java
===================================================================
--- trunk/mbeans/src/main/org/jboss/mx/server/registry/MBeanEntry.java 2008-11-14 12:49:40 UTC (rev 81025)
+++ trunk/mbeans/src/main/org/jboss/mx/server/registry/MBeanEntry.java 2008-11-14 12:51:05 UTC (rev 81026)
@@ -1,24 +1,24 @@
/*
-* JBoss, Home of Professional Open Source
-* Copyright 2005, JBoss Inc., and individual contributors as indicated
-* by the @authors tag. See the copyright.txt in the distribution for a
-* full listing of individual contributors.
-*
-* This is free software; you can redistribute it and/or modify it
-* under the terms of the GNU Lesser General Public License as
-* published by the Free Software Foundation; either version 2.1 of
-* the License, or (at your option) any later version.
-*
-* This software is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-* Lesser General Public License for more details.
-*
-* You should have received a copy of the GNU Lesser General Public
-* License along with this software; if not, write to the Free
-* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
-* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
-*/
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2008, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
package org.jboss.mx.server.registry;
import java.util.Map;
Modified: trunk/mbeans/src/main/org/jboss/mx/server/registry/MbeanInfoDb.java
===================================================================
--- trunk/mbeans/src/main/org/jboss/mx/server/registry/MbeanInfoDb.java 2008-11-14 12:49:40 UTC (rev 81025)
+++ trunk/mbeans/src/main/org/jboss/mx/server/registry/MbeanInfoDb.java 2008-11-14 12:51:05 UTC (rev 81026)
@@ -1,24 +1,24 @@
/*
-* JBoss, Home of Professional Open Source
-* Copyright 2005, JBoss Inc., and individual contributors as indicated
-* by the @authors tag. See the copyright.txt in the distribution for a
-* full listing of individual contributors.
-*
-* This is free software; you can redistribute it and/or modify it
-* under the terms of the GNU Lesser General Public License as
-* published by the Free Software Foundation; either version 2.1 of
-* the License, or (at your option) any later version.
-*
-* This software is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-* Lesser General Public License for more details.
-*
-* You should have received a copy of the GNU Lesser General Public
-* License along with this software; if not, write to the Free
-* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
-* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
-*/
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2008, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
package org.jboss.mx.server.registry;
import java.util.Enumeration;
Modified: trunk/mbeans/src/main/org/jboss/mx/service/ServiceConstants.java
===================================================================
--- trunk/mbeans/src/main/org/jboss/mx/service/ServiceConstants.java 2008-11-14 12:49:40 UTC (rev 81025)
+++ trunk/mbeans/src/main/org/jboss/mx/service/ServiceConstants.java 2008-11-14 12:51:05 UTC (rev 81026)
@@ -1,24 +1,24 @@
/*
-* JBoss, Home of Professional Open Source
-* Copyright 2005, JBoss Inc., and individual contributors as indicated
-* by the @authors tag. See the copyright.txt in the distribution for a
-* full listing of individual contributors.
-*
-* This is free software; you can redistribute it and/or modify it
-* under the terms of the GNU Lesser General Public License as
-* published by the Free Software Foundation; either version 2.1 of
-* the License, or (at your option) any later version.
-*
-* This software is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-* Lesser General Public License for more details.
-*
-* You should have received a copy of the GNU Lesser General Public
-* License along with this software; if not, write to the Free
-* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
-* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
-*/
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2008, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
package org.jboss.mx.service;
Modified: trunk/mbeans/src/main/org/jboss/mx/util/JBossNotCompliantMBeanException.java
===================================================================
--- trunk/mbeans/src/main/org/jboss/mx/util/JBossNotCompliantMBeanException.java 2008-11-14 12:49:40 UTC (rev 81025)
+++ trunk/mbeans/src/main/org/jboss/mx/util/JBossNotCompliantMBeanException.java 2008-11-14 12:51:05 UTC (rev 81026)
@@ -1,24 +1,24 @@
/*
-* JBoss, Home of Professional Open Source
-* Copyright 2005, JBoss Inc., and individual contributors as indicated
-* by the @authors tag. See the copyright.txt in the distribution for a
-* full listing of individual contributors.
-*
-* This is free software; you can redistribute it and/or modify it
-* under the terms of the GNU Lesser General Public License as
-* published by the Free Software Foundation; either version 2.1 of
-* the License, or (at your option) any later version.
-*
-* This software is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-* Lesser General Public License for more details.
-*
-* You should have received a copy of the GNU Lesser General Public
-* License along with this software; if not, write to the Free
-* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
-* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
-*/
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2008, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
package org.jboss.mx.util;
Modified: trunk/mbeans/src/tests/org/jboss/test/mx/mxbean/support/CollectionsInterface.java
===================================================================
--- trunk/mbeans/src/tests/org/jboss/test/mx/mxbean/support/CollectionsInterface.java 2008-11-14 12:49:40 UTC (rev 81025)
+++ trunk/mbeans/src/tests/org/jboss/test/mx/mxbean/support/CollectionsInterface.java 2008-11-14 12:51:05 UTC (rev 81026)
@@ -1,98 +1,98 @@
-/*
-* JBoss, Home of Professional Open Source
-* Copyright 2006, JBoss Inc., and individual contributors as indicated
-* by the @authors tag. See the copyright.txt in the distribution for a
-* full listing of individual contributors.
-*
-* This is free software; you can redistribute it and/or modify it
-* under the terms of the GNU Lesser General Public License as
-* published by the Free Software Foundation; either version 2.1 of
-* the License, or (at your option) any later version.
-*
-* This software is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-* Lesser General Public License for more details.
-*
-* You should have received a copy of the GNU Lesser General Public
-* License along with this software; if not, write to the Free
-* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
-* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
-*/
-package org.jboss.test.mx.mxbean.support;
-
-import java.util.Collection;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-
-import javax.management.openmbean.ArrayType;
-import javax.management.openmbean.OpenType;
-import javax.management.openmbean.SimpleType;
-
-import org.jboss.mx.mxbean.MXBeanUtils;
-
-/**
- * CollectionsInterface.
- *
- * @author <a href="adrian at jboss.com">Adrian Brock</a>
- * @version $Revision: 1.1 $
- */
-public interface CollectionsInterface
-{
- String ARRAY = "array";
- String COLLECTION = "collection";
- String SET = "set";
- String LIST = "list";
- String MAP = "map";
- String ENUM = "enum";
-
- String[] KEYS =
- {
- ARRAY,
- COLLECTION,
- SET,
- LIST,
- MAP,
- ENUM
- };
-
- OpenType[] TYPES = Initializer._TYPES;
-
- String[] getArray();
-
- Collection<String> getCollection();
-
- Set<String> getSet();
-
- List<String> getList();
-
- Map<String, Integer> getMap();
-
- TestEnum getEnum();
-
- public static class Initializer
- {
- static OpenType[] _TYPES;
-
- static
- {
- try
- {
- _TYPES = new OpenType[]
- {
- new ArrayType(1, SimpleType.STRING),
- new ArrayType(1, SimpleType.STRING),
- new ArrayType(1, SimpleType.STRING),
- new ArrayType(1, SimpleType.STRING),
- MXBeanUtils.createMapType(String.class, Integer.class),
- SimpleType.STRING
- };
- }
- catch (Exception e)
- {
- throw new RuntimeException(e);
- }
- }
- }
-}
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2008, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.test.mx.mxbean.support;
+
+import java.util.Collection;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+
+import javax.management.openmbean.ArrayType;
+import javax.management.openmbean.OpenType;
+import javax.management.openmbean.SimpleType;
+
+import org.jboss.mx.mxbean.MXBeanUtils;
+
+/**
+ * CollectionsInterface.
+ *
+ * @author <a href="adrian at jboss.com">Adrian Brock</a>
+ * @version $Revision: 1.1 $
+ */
+public interface CollectionsInterface
+{
+ String ARRAY = "array";
+ String COLLECTION = "collection";
+ String SET = "set";
+ String LIST = "list";
+ String MAP = "map";
+ String ENUM = "enum";
+
+ String[] KEYS =
+ {
+ ARRAY,
+ COLLECTION,
+ SET,
+ LIST,
+ MAP,
+ ENUM
+ };
+
+ OpenType[] TYPES = Initializer._TYPES;
+
+ String[] getArray();
+
+ Collection<String> getCollection();
+
+ Set<String> getSet();
+
+ List<String> getList();
+
+ Map<String, Integer> getMap();
+
+ TestEnum getEnum();
+
+ public static class Initializer
+ {
+ static OpenType[] _TYPES;
+
+ static
+ {
+ try
+ {
+ _TYPES = new OpenType[]
+ {
+ new ArrayType(1, SimpleType.STRING),
+ new ArrayType(1, SimpleType.STRING),
+ new ArrayType(1, SimpleType.STRING),
+ new ArrayType(1, SimpleType.STRING),
+ MXBeanUtils.createMapType(String.class, Integer.class),
+ SimpleType.STRING
+ };
+ }
+ catch (Exception e)
+ {
+ throw new RuntimeException(e);
+ }
+ }
+ }
+}
Modified: trunk/mbeans/src/tests/org/jboss/test/mx/mxbean/support/CollectionsMXBeanSupport.java
===================================================================
--- trunk/mbeans/src/tests/org/jboss/test/mx/mxbean/support/CollectionsMXBeanSupport.java 2008-11-14 12:49:40 UTC (rev 81025)
+++ trunk/mbeans/src/tests/org/jboss/test/mx/mxbean/support/CollectionsMXBeanSupport.java 2008-11-14 12:51:05 UTC (rev 81026)
@@ -1,129 +1,129 @@
-/*
-* JBoss, Home of Professional Open Source
-* Copyright 2006, JBoss Inc., and individual contributors as indicated
-* by the @authors tag. See the copyright.txt in the distribution for a
-* full listing of individual contributors.
-*
-* This is free software; you can redistribute it and/or modify it
-* under the terms of the GNU Lesser General Public License as
-* published by the Free Software Foundation; either version 2.1 of
-* the License, or (at your option) any later version.
-*
-* This software is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-* Lesser General Public License for more details.
-*
-* You should have received a copy of the GNU Lesser General Public
-* License along with this software; if not, write to the Free
-* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
-* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
-*/
-package org.jboss.test.mx.mxbean.support;
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.List;
-import java.util.ListIterator;
-import java.util.Map;
-import java.util.Set;
-
-import org.jboss.mx.mxbean.MXBeanSupport;
-
-/**
- * CollectionsMXBeanSupport.
- *
- * @author <a href="adrian at jboss.com">Adrian Brock</a>
- * @version $Revision: 1.1 $
- */
-public class CollectionsMXBeanSupport extends MXBeanSupport implements CollectionsMXBeanSupportMXBean
-{
- String[] array;
- Collection<String> collection;
- Set<String> set;
- List<String> list;
- Map<String, Integer> map;
- TestEnum enumeration;
-
- public CollectionsMXBeanSupport()
- {
- }
-
- public CollectionsMXBeanSupport(String[] array, Collection<String> collection, Set<String> set, List<String> list, Map<String, Integer> map, TestEnum enumeration)
- {
- this.array = array;
- this.collection = collection;
- this.set = set;
- this.list = list;
- this.map = map;
- this.enumeration = enumeration;
- }
-
- public String[] getArray()
- {
- return array;
- }
-
- public Collection<String> getCollection()
- {
- return collection;
- }
-
- public List<String> getList()
- {
- return list;
- }
-
- public Set<String> getSet()
- {
- return set;
- }
-
- public Map<String, Integer> getMap()
- {
- return map;
- }
-
- public TestEnum getEnum()
- {
- return enumeration;
- }
-
- public void setEnum(TestEnum enumeration)
- {
- this.enumeration = enumeration;
- }
-
- public void setArray(String[] array)
- {
- this.array = array;
- }
-
- public void setCollection(Collection<String> collection)
- {
- this.collection = collection;
- }
-
- public void setList(List<String> list)
- {
- this.list = list;
- }
-
- public void setMap(Map<String, Integer> map)
- {
- this.map = map;
- }
-
- public void setSet(Set<String> set)
- {
- this.set = set;
- }
-
- public List<String> echoReverse(List<String> list)
- {
- ArrayList<String> result = new ArrayList<String>(list.size());
- for (ListIterator<String> i = list.listIterator(list.size()); i.hasPrevious();)
- result.add(i.previous());
- return result;
- }
-}
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2008, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.test.mx.mxbean.support;
+
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.List;
+import java.util.ListIterator;
+import java.util.Map;
+import java.util.Set;
+
+import org.jboss.mx.mxbean.MXBeanSupport;
+
+/**
+ * CollectionsMXBeanSupport.
+ *
+ * @author <a href="adrian at jboss.com">Adrian Brock</a>
+ * @version $Revision: 1.1 $
+ */
+public class CollectionsMXBeanSupport extends MXBeanSupport implements CollectionsMXBeanSupportMXBean
+{
+ String[] array;
+ Collection<String> collection;
+ Set<String> set;
+ List<String> list;
+ Map<String, Integer> map;
+ TestEnum enumeration;
+
+ public CollectionsMXBeanSupport()
+ {
+ }
+
+ public CollectionsMXBeanSupport(String[] array, Collection<String> collection, Set<String> set, List<String> list, Map<String, Integer> map, TestEnum enumeration)
+ {
+ this.array = array;
+ this.collection = collection;
+ this.set = set;
+ this.list = list;
+ this.map = map;
+ this.enumeration = enumeration;
+ }
+
+ public String[] getArray()
+ {
+ return array;
+ }
+
+ public Collection<String> getCollection()
+ {
+ return collection;
+ }
+
+ public List<String> getList()
+ {
+ return list;
+ }
+
+ public Set<String> getSet()
+ {
+ return set;
+ }
+
+ public Map<String, Integer> getMap()
+ {
+ return map;
+ }
+
+ public TestEnum getEnum()
+ {
+ return enumeration;
+ }
+
+ public void setEnum(TestEnum enumeration)
+ {
+ this.enumeration = enumeration;
+ }
+
+ public void setArray(String[] array)
+ {
+ this.array = array;
+ }
+
+ public void setCollection(Collection<String> collection)
+ {
+ this.collection = collection;
+ }
+
+ public void setList(List<String> list)
+ {
+ this.list = list;
+ }
+
+ public void setMap(Map<String, Integer> map)
+ {
+ this.map = map;
+ }
+
+ public void setSet(Set<String> set)
+ {
+ this.set = set;
+ }
+
+ public List<String> echoReverse(List<String> list)
+ {
+ ArrayList<String> result = new ArrayList<String>(list.size());
+ for (ListIterator<String> i = list.listIterator(list.size()); i.hasPrevious();)
+ result.add(i.previous());
+ return result;
+ }
+}
Modified: trunk/mbeans/src/tests/org/jboss/test/mx/mxbean/support/CollectionsMXBeanSupportMXBean.java
===================================================================
--- trunk/mbeans/src/tests/org/jboss/test/mx/mxbean/support/CollectionsMXBeanSupportMXBean.java 2008-11-14 12:49:40 UTC (rev 81025)
+++ trunk/mbeans/src/tests/org/jboss/test/mx/mxbean/support/CollectionsMXBeanSupportMXBean.java 2008-11-14 12:51:05 UTC (rev 81026)
@@ -1,57 +1,57 @@
-/*
-* JBoss, Home of Professional Open Source
-* Copyright 2006, JBoss Inc., and individual contributors as indicated
-* by the @authors tag. See the copyright.txt in the distribution for a
-* full listing of individual contributors.
-*
-* This is free software; you can redistribute it and/or modify it
-* under the terms of the GNU Lesser General Public License as
-* published by the Free Software Foundation; either version 2.1 of
-* the License, or (at your option) any later version.
-*
-* This software is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-* Lesser General Public License for more details.
-*
-* You should have received a copy of the GNU Lesser General Public
-* License along with this software; if not, write to the Free
-* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
-* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
-*/
-package org.jboss.test.mx.mxbean.support;
-
-import java.util.Collection;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-
-import javax.management.ObjectName;
-
-import org.jboss.mx.util.ObjectNameFactory;
-
-/**
- * CollectionsMXBeanSupportMXBean.
- *
- * @author <a href="adrian at jboss.com">Adrian Brock</a>
- * @version $Revision: 1.1 $
- */
-public interface CollectionsMXBeanSupportMXBean extends CollectionsInterface
-{
- /** The Object name */
- ObjectName REGISTERED_OBJECT_NAME = ObjectNameFactory.create("test:test=CollectionsMXBeanSupport");
-
- void setEnum(TestEnum enumeration);
-
- void setArray(String[] array);
-
- void setCollection(Collection<String> collection);
-
- void setList(List<String> list);
-
- void setMap(Map<String, Integer> map);
-
- void setSet(Set<String> set);
-
- List<String> echoReverse(List<String> list);
-}
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2008, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.test.mx.mxbean.support;
+
+import java.util.Collection;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+
+import javax.management.ObjectName;
+
+import org.jboss.mx.util.ObjectNameFactory;
+
+/**
+ * CollectionsMXBeanSupportMXBean.
+ *
+ * @author <a href="adrian at jboss.com">Adrian Brock</a>
+ * @version $Revision: 1.1 $
+ */
+public interface CollectionsMXBeanSupportMXBean extends CollectionsInterface
+{
+ /** The Object name */
+ ObjectName REGISTERED_OBJECT_NAME = ObjectNameFactory.create("test:test=CollectionsMXBeanSupport");
+
+ void setEnum(TestEnum enumeration);
+
+ void setArray(String[] array);
+
+ void setCollection(Collection<String> collection);
+
+ void setList(List<String> list);
+
+ void setMap(Map<String, Integer> map);
+
+ void setSet(Set<String> set);
+
+ List<String> echoReverse(List<String> list);
+}
Modified: trunk/mbeans/src/tests/org/jboss/test/mx/mxbean/support/CompositeInterface.java
===================================================================
--- trunk/mbeans/src/tests/org/jboss/test/mx/mxbean/support/CompositeInterface.java 2008-11-14 12:49:40 UTC (rev 81025)
+++ trunk/mbeans/src/tests/org/jboss/test/mx/mxbean/support/CompositeInterface.java 2008-11-14 12:51:05 UTC (rev 81026)
@@ -1,55 +1,55 @@
-/*
-* JBoss, Home of Professional Open Source
-* Copyright 2006, JBoss Inc., and individual contributors as indicated
-* by the @authors tag. See the copyright.txt in the distribution for a
-* full listing of individual contributors.
-*
-* This is free software; you can redistribute it and/or modify it
-* under the terms of the GNU Lesser General Public License as
-* published by the Free Software Foundation; either version 2.1 of
-* the License, or (at your option) any later version.
-*
-* This software is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-* Lesser General Public License for more details.
-*
-* You should have received a copy of the GNU Lesser General Public
-* License along with this software; if not, write to the Free
-* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
-* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
-*/
-package org.jboss.test.mx.mxbean.support;
-
-import javax.management.openmbean.OpenType;
-import javax.management.openmbean.SimpleType;
-
-import org.jboss.mx.mxbean.CompositeTypeMetaDataFactory;
-
-/**
- * CompositeInterface.
- *
- * @author <a href="adrian at jboss.com">Adrian Brock</a>
- * @version $Revision: 1.1 $
- */
-public interface CompositeInterface
-{
- String SIMPLE = "simple";
- String COMPOSITE = "composite";
-
- String[] KEYS =
- {
- SIMPLE,
- COMPOSITE
- };
-
- OpenType[] TYPES =
- {
- SimpleType.STRING,
- CompositeTypeMetaDataFactory.getCompositeType(SimpleInterface.class)
- };
-
- String getSimple();
-
- SimpleInterface getComposite();
-}
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2008, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.test.mx.mxbean.support;
+
+import javax.management.openmbean.OpenType;
+import javax.management.openmbean.SimpleType;
+
+import org.jboss.mx.mxbean.CompositeTypeMetaDataFactory;
+
+/**
+ * CompositeInterface.
+ *
+ * @author <a href="adrian at jboss.com">Adrian Brock</a>
+ * @version $Revision: 1.1 $
+ */
+public interface CompositeInterface
+{
+ String SIMPLE = "simple";
+ String COMPOSITE = "composite";
+
+ String[] KEYS =
+ {
+ SIMPLE,
+ COMPOSITE
+ };
+
+ OpenType[] TYPES =
+ {
+ SimpleType.STRING,
+ CompositeTypeMetaDataFactory.getCompositeType(SimpleInterface.class)
+ };
+
+ String getSimple();
+
+ SimpleInterface getComposite();
+}
Modified: trunk/mbeans/src/tests/org/jboss/test/mx/mxbean/support/CompositeMXBeanSupport.java
===================================================================
--- trunk/mbeans/src/tests/org/jboss/test/mx/mxbean/support/CompositeMXBeanSupport.java 2008-11-14 12:49:40 UTC (rev 81025)
+++ trunk/mbeans/src/tests/org/jboss/test/mx/mxbean/support/CompositeMXBeanSupport.java 2008-11-14 12:51:05 UTC (rev 81026)
@@ -1,71 +1,71 @@
-/*
-* JBoss, Home of Professional Open Source
-* Copyright 2006, JBoss Inc., and individual contributors as indicated
-* by the @authors tag. See the copyright.txt in the distribution for a
-* full listing of individual contributors.
-*
-* This is free software; you can redistribute it and/or modify it
-* under the terms of the GNU Lesser General Public License as
-* published by the Free Software Foundation; either version 2.1 of
-* the License, or (at your option) any later version.
-*
-* This software is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-* Lesser General Public License for more details.
-*
-* You should have received a copy of the GNU Lesser General Public
-* License along with this software; if not, write to the Free
-* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
-* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
-*/
-package org.jboss.test.mx.mxbean.support;
-
-import org.jboss.mx.mxbean.MXBeanSupport;
-
-/**
- * SimpleMXBeanSupport.
- *
- * @author <a href="adrian at jboss.com">Adrian Brock</a>
- * @version $Revision: 1.1 $
- */
-public class CompositeMXBeanSupport extends MXBeanSupport implements CompositeMXBeanSupportMXBean
-{
- private String simple;
- private SimpleInterface composite;
-
- public String getSimple()
- {
- return simple;
- }
-
- public CompositeMXBeanSupport(String simple, SimpleInterface composite)
- {
- this.simple = simple;
- this.composite = composite;
- }
-
- public SimpleInterface getComposite()
- {
- return composite;
- }
-
- public void setComposite(SimpleInterface composite)
- {
- this.composite = composite;
- }
-
- public void setSimple(String simple)
- {
- this.simple = simple;
- }
-
- public SimpleInterface echoReverse(SimpleInterface composite)
- {
- SimpleObject result = new SimpleObject();
- StringBuilder builder = new StringBuilder(composite.getString());
- builder.reverse();
- result.setString(builder.toString());
- return result;
- }
-}
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2008, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.test.mx.mxbean.support;
+
+import org.jboss.mx.mxbean.MXBeanSupport;
+
+/**
+ * SimpleMXBeanSupport.
+ *
+ * @author <a href="adrian at jboss.com">Adrian Brock</a>
+ * @version $Revision: 1.1 $
+ */
+public class CompositeMXBeanSupport extends MXBeanSupport implements CompositeMXBeanSupportMXBean
+{
+ private String simple;
+ private SimpleInterface composite;
+
+ public String getSimple()
+ {
+ return simple;
+ }
+
+ public CompositeMXBeanSupport(String simple, SimpleInterface composite)
+ {
+ this.simple = simple;
+ this.composite = composite;
+ }
+
+ public SimpleInterface getComposite()
+ {
+ return composite;
+ }
+
+ public void setComposite(SimpleInterface composite)
+ {
+ this.composite = composite;
+ }
+
+ public void setSimple(String simple)
+ {
+ this.simple = simple;
+ }
+
+ public SimpleInterface echoReverse(SimpleInterface composite)
+ {
+ SimpleObject result = new SimpleObject();
+ StringBuilder builder = new StringBuilder(composite.getString());
+ builder.reverse();
+ result.setString(builder.toString());
+ return result;
+ }
+}
Modified: trunk/mbeans/src/tests/org/jboss/test/mx/mxbean/support/CompositeMXBeanSupportMXBean.java
===================================================================
--- trunk/mbeans/src/tests/org/jboss/test/mx/mxbean/support/CompositeMXBeanSupportMXBean.java 2008-11-14 12:49:40 UTC (rev 81025)
+++ trunk/mbeans/src/tests/org/jboss/test/mx/mxbean/support/CompositeMXBeanSupportMXBean.java 2008-11-14 12:51:05 UTC (rev 81026)
@@ -1,44 +1,44 @@
-/*
-* JBoss, Home of Professional Open Source
-* Copyright 2006, JBoss Inc., and individual contributors as indicated
-* by the @authors tag. See the copyright.txt in the distribution for a
-* full listing of individual contributors.
-*
-* This is free software; you can redistribute it and/or modify it
-* under the terms of the GNU Lesser General Public License as
-* published by the Free Software Foundation; either version 2.1 of
-* the License, or (at your option) any later version.
-*
-* This software is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-* Lesser General Public License for more details.
-*
-* You should have received a copy of the GNU Lesser General Public
-* License along with this software; if not, write to the Free
-* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
-* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
-*/
-package org.jboss.test.mx.mxbean.support;
-
-import javax.management.ObjectName;
-
-import org.jboss.mx.util.ObjectNameFactory;
-
-/**
- * CompositeMXBeanSupportMXBean.
- *
- * @author <a href="adrian at jboss.com">Adrian Brock</a>
- * @version $Revision: 1.1 $
- */
-public interface CompositeMXBeanSupportMXBean extends CompositeInterface
-{
- /** The Object name */
- ObjectName REGISTERED_OBJECT_NAME = ObjectNameFactory.create("test:test=CompositeMXBeanSupport");
-
- void setComposite(SimpleInterface composite);
-
- void setSimple(String simple);
-
- SimpleInterface echoReverse(SimpleInterface composite);
-}
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2008, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.test.mx.mxbean.support;
+
+import javax.management.ObjectName;
+
+import org.jboss.mx.util.ObjectNameFactory;
+
+/**
+ * CompositeMXBeanSupportMXBean.
+ *
+ * @author <a href="adrian at jboss.com">Adrian Brock</a>
+ * @version $Revision: 1.1 $
+ */
+public interface CompositeMXBeanSupportMXBean extends CompositeInterface
+{
+ /** The Object name */
+ ObjectName REGISTERED_OBJECT_NAME = ObjectNameFactory.create("test:test=CompositeMXBeanSupport");
+
+ void setComposite(SimpleInterface composite);
+
+ void setSimple(String simple);
+
+ SimpleInterface echoReverse(SimpleInterface composite);
+}
Modified: trunk/mbeans/src/tests/org/jboss/test/mx/mxbean/support/InvalidInterface.java
===================================================================
--- trunk/mbeans/src/tests/org/jboss/test/mx/mxbean/support/InvalidInterface.java 2008-11-14 12:49:40 UTC (rev 81025)
+++ trunk/mbeans/src/tests/org/jboss/test/mx/mxbean/support/InvalidInterface.java 2008-11-14 12:51:05 UTC (rev 81026)
@@ -1,38 +1,38 @@
-/*
-* JBoss, Home of Professional Open Source
-* Copyright 2006, JBoss Inc., and individual contributors as indicated
-* by the @authors tag. See the copyright.txt in the distribution for a
-* full listing of individual contributors.
-*
-* This is free software; you can redistribute it and/or modify it
-* under the terms of the GNU Lesser General Public License as
-* published by the Free Software Foundation; either version 2.1 of
-* the License, or (at your option) any later version.
-*
-* This software is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-* Lesser General Public License for more details.
-*
-* You should have received a copy of the GNU Lesser General Public
-* License along with this software; if not, write to the Free
-* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
-* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
-*/
-package org.jboss.test.mx.mxbean.support;
-
-/**
- * SimpleInterface.
- *
- * @author <a href="adrian at jboss.com">Adrian Brock</a>
- * @version $Revision: 1.1 $
- */
-public interface InvalidInterface
-{
- Object getInvalid();
- void notAGetter();
- void getString();
- String isString();
- String getString(Object parameter);
- Boolean isBoolean();
-}
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2008, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.test.mx.mxbean.support;
+
+/**
+ * SimpleInterface.
+ *
+ * @author <a href="adrian at jboss.com">Adrian Brock</a>
+ * @version $Revision: 1.1 $
+ */
+public interface InvalidInterface
+{
+ Object getInvalid();
+ void notAGetter();
+ void getString();
+ String isString();
+ String getString(Object parameter);
+ Boolean isBoolean();
+}
Modified: trunk/mbeans/src/tests/org/jboss/test/mx/mxbean/support/NullSimpleObject.java
===================================================================
--- trunk/mbeans/src/tests/org/jboss/test/mx/mxbean/support/NullSimpleObject.java 2008-11-14 12:49:40 UTC (rev 81025)
+++ trunk/mbeans/src/tests/org/jboss/test/mx/mxbean/support/NullSimpleObject.java 2008-11-14 12:51:05 UTC (rev 81026)
@@ -1,142 +1,142 @@
-/*
-* JBoss, Home of Professional Open Source
-* Copyright 2006, JBoss Inc., and individual contributors as indicated
-* by the @authors tag. See the copyright.txt in the distribution for a
-* full listing of individual contributors.
-*
-* This is free software; you can redistribute it and/or modify it
-* under the terms of the GNU Lesser General Public License as
-* published by the Free Software Foundation; either version 2.1 of
-* the License, or (at your option) any later version.
-*
-* This software is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-* Lesser General Public License for more details.
-*
-* You should have received a copy of the GNU Lesser General Public
-* License along with this software; if not, write to the Free
-* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
-* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
-*/
-package org.jboss.test.mx.mxbean.support;
-
-import java.math.BigDecimal;
-import java.math.BigInteger;
-import java.util.Date;
-
-import javax.management.ObjectName;
-
-/**
- * NullSimpleObject.
- *
- * @author <a href="adrian at jboss.com">Adrian Brock</a>
- * @version $Revision: 1.1 $
- */
-public class NullSimpleObject implements SimpleInterface
-{
- public BigDecimal getBigDecimal()
- {
- return null;
- }
-
- public BigInteger getBigInteger()
- {
- return null;
- }
-
- public Boolean getBoolean()
- {
- return null;
- }
-
- public Byte getByte()
- {
- return null;
- }
-
- public Character getCharacter()
- {
- return null;
- }
-
- public Date getDate()
- {
- return null;
- }
-
- public Double getDouble()
- {
- return null;
- }
-
- public Float getFloat()
- {
- return null;
- }
-
- public Integer getInteger()
- {
- return null;
- }
-
- public Long getLong()
- {
- return null;
- }
-
- public ObjectName getObjectName()
- {
- return null;
- }
-
- public byte getPrimitiveByte()
- {
- return primitiveByteValue;
- }
-
- public char getPrimitiveChar()
- {
- return primitiveCharValue;
- }
-
- public double getPrimitiveDouble()
- {
- return primitiveDoubleValue;
- }
-
- public float getPrimitiveFloat()
- {
- return primitiveFloatValue;
- }
-
- public int getPrimitiveInt()
- {
- return primitiveIntValue;
- }
-
- public long getPrimitiveLong()
- {
- return primitiveLongValue;
- }
-
- public short getPrimitiveShort()
- {
- return primitiveShortValue;
- }
-
- public Short getShort()
- {
- return null;
- }
-
- public String getString()
- {
- return null;
- }
-
- public boolean isPrimitiveBoolean()
- {
- return primitiveBooleanValue;
- }
-}
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2008, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.test.mx.mxbean.support;
+
+import java.math.BigDecimal;
+import java.math.BigInteger;
+import java.util.Date;
+
+import javax.management.ObjectName;
+
+/**
+ * NullSimpleObject.
+ *
+ * @author <a href="adrian at jboss.com">Adrian Brock</a>
+ * @version $Revision: 1.1 $
+ */
+public class NullSimpleObject implements SimpleInterface
+{
+ public BigDecimal getBigDecimal()
+ {
+ return null;
+ }
+
+ public BigInteger getBigInteger()
+ {
+ return null;
+ }
+
+ public Boolean getBoolean()
+ {
+ return null;
+ }
+
+ public Byte getByte()
+ {
+ return null;
+ }
+
+ public Character getCharacter()
+ {
+ return null;
+ }
+
+ public Date getDate()
+ {
+ return null;
+ }
+
+ public Double getDouble()
+ {
+ return null;
+ }
+
+ public Float getFloat()
+ {
+ return null;
+ }
+
+ public Integer getInteger()
+ {
+ return null;
+ }
+
+ public Long getLong()
+ {
+ return null;
+ }
+
+ public ObjectName getObjectName()
+ {
+ return null;
+ }
+
+ public byte getPrimitiveByte()
+ {
+ return primitiveByteValue;
+ }
+
+ public char getPrimitiveChar()
+ {
+ return primitiveCharValue;
+ }
+
+ public double getPrimitiveDouble()
+ {
+ return primitiveDoubleValue;
+ }
+
+ public float getPrimitiveFloat()
+ {
+ return primitiveFloatValue;
+ }
+
+ public int getPrimitiveInt()
+ {
+ return primitiveIntValue;
+ }
+
+ public long getPrimitiveLong()
+ {
+ return primitiveLongValue;
+ }
+
+ public short getPrimitiveShort()
+ {
+ return primitiveShortValue;
+ }
+
+ public Short getShort()
+ {
+ return null;
+ }
+
+ public String getString()
+ {
+ return null;
+ }
+
+ public boolean isPrimitiveBoolean()
+ {
+ return primitiveBooleanValue;
+ }
+}
Modified: trunk/mbeans/src/tests/org/jboss/test/mx/mxbean/support/SimpleInterface.java
===================================================================
--- trunk/mbeans/src/tests/org/jboss/test/mx/mxbean/support/SimpleInterface.java 2008-11-14 12:49:40 UTC (rev 81025)
+++ trunk/mbeans/src/tests/org/jboss/test/mx/mxbean/support/SimpleInterface.java 2008-11-14 12:51:05 UTC (rev 81026)
@@ -1,337 +1,337 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2006, JBoss Inc., and individual contributors as indicated
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * This is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This software is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this software; if not, write to the Free
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
- */
-package org.jboss.test.mx.mxbean.support;
-
-import java.math.BigDecimal;
-import java.math.BigInteger;
-import java.util.Date;
-
-import javax.management.ObjectName;
-
-import org.jboss.mx.util.ObjectNameFactory;
-import org.jboss.test.mx.mxbean.test.AbstractMXBeanTest;
-
-/**
- * SimpleInterface.
- *
- * @author <a href="adrian at jboss.com">Adrian Brock</a>
- * @version $Revision: 1.1 $
- */
-public interface SimpleInterface
-{
- String BIG_DECIMAL = "bigDecimal";
-
- BigDecimal bigDecimalValue = new BigDecimal("12e4");
- BigDecimal bigDecimalChangedValue = new BigDecimal("12e5");
-
- String BIG_INTEGER = "bigInteger";
-
- BigInteger bigIntegerValue = new BigInteger("123456");
- BigInteger bigIntegerChangedValue = new BigInteger("123457");
-
- String BOOLEAN = "boolean";
-
- Boolean booleanValue = Boolean.TRUE;
- Boolean booleanChangedValue = Boolean.FALSE;
-
- String BOOLEAN_PRIMITIVE = "primitiveBoolean";
-
- boolean primitiveBooleanValue = booleanValue.booleanValue();
- boolean primitiveBooleanChangedValue = booleanChangedValue.booleanValue();
-
- String BYTE = "byte";
-
- Byte byteValue = new Byte("12");
- Byte byteChangedValue = new Byte("13");
-
- String BYTE_PRIMITIVE = "primitiveByte";
-
- byte primitiveByteValue = byteValue.byteValue();
- byte primitiveByteChangedValue = byteChangedValue.byteValue();
-
- String CHARACTER = "character";
-
- Character characterValue = new Character('a');
- Character characterChangedValue = new Character('b');
-
- String CHAR_PRIMITIVE = "primitiveChar";
-
- char primitiveCharValue = characterValue.charValue();
- char primitiveCharChangedValue = characterChangedValue.charValue();
-
- String DATE = "date";
-
- Date dateValue = AbstractMXBeanTest.createDate(2001, 1, 1);
- Date dateChangedValue = AbstractMXBeanTest.createDate(2002, 2, 2);
-
- String DOUBLE = "double";
-
- Double doubleValue = new Double("3.14e12");
- Double doubleChangedValue = new Double("3.14e13");
-
- String DOUBLE_PRIMITIVE = "primitiveDouble";
-
- double primitiveDoubleValue = doubleValue.doubleValue();
- double primitiveDoubleChangedValue = doubleChangedValue.doubleValue();
-
- String FLOAT = "float";
-
- Float floatValue = new Float("3.14");
- Float floatChangedValue = new Float("3.15");
-
- String FLOAT_PRIMITIVE = "primitiveFloat";
-
- float primitiveFloatValue = floatValue.floatValue();
- float primitiveFloatChangedValue = floatChangedValue.floatValue();
-
- String INTEGER = "integer";
-
- Integer integerValue = new Integer("1234");
- Integer integerChangedValue = new Integer("1235");
-
- String INT_PRIMITIVE = "primitiveInt";
-
- int primitiveIntValue = integerValue.intValue();
- int primitiveIntChangedValue = integerChangedValue.intValue();
-
- String LONG = "long";
-
- Long longValue = new Long("12345");
- Long longChangedValue = new Long("12346");
-
- String LONG_PRIMITIVE = "primitiveLong";
-
- long primitiveLongValue = longValue.longValue();
- long primitiveLongChangedValue = longChangedValue.longValue();
-
- String OBJECT_NAME = "objectName";
-
- ObjectName objectNameValue = ObjectNameFactory.create("domain:key=property");
- ObjectName objectNameChangedValue = ObjectNameFactory.create("domain:key=property2");
-
- String SHORT = "short";
-
- Short shortValue = new Short("123");
- Short shortChangedValue = new Short("124");
-
- String SHORT_PRIMITIVE = "primitiveShort";
-
- short primitiveShortValue = shortValue.shortValue();
- short primitiveShortChangedValue = shortChangedValue.shortValue();
-
- String STRING = "string";
-
- String stringValue = new String("StringValue");
- String stringChangedValue = new String("ChangedValue");
-
- String[] KEYS =
- {
- BIG_DECIMAL,
- BIG_INTEGER,
- BOOLEAN,
- BOOLEAN_PRIMITIVE,
- BYTE,
- BYTE_PRIMITIVE,
- CHARACTER,
- CHAR_PRIMITIVE,
- DATE,
- DOUBLE,
- DOUBLE_PRIMITIVE,
- FLOAT,
- FLOAT_PRIMITIVE,
- INTEGER,
- INT_PRIMITIVE,
- LONG,
- LONG_PRIMITIVE,
- OBJECT_NAME,
- SHORT,
- SHORT_PRIMITIVE,
- STRING
- };
-
- Object[] VALUES =
- {
- bigDecimalValue,
- bigIntegerValue,
- booleanValue,
- primitiveBooleanValue,
- byteValue,
- primitiveByteValue,
- characterValue,
- primitiveCharValue,
- dateValue,
- doubleValue,
- primitiveDoubleValue,
- floatValue,
- primitiveFloatValue,
- integerValue,
- primitiveIntValue,
- longValue,
- primitiveLongValue,
- objectNameValue,
- shortValue,
- primitiveShortValue,
- stringValue
- };
-
- Object[] CHANGED_VALUES =
- {
- bigDecimalChangedValue,
- bigIntegerChangedValue,
- booleanChangedValue,
- primitiveBooleanChangedValue,
- byteChangedValue,
- primitiveByteChangedValue,
- characterChangedValue,
- primitiveCharChangedValue,
- dateChangedValue,
- doubleChangedValue,
- primitiveDoubleChangedValue,
- floatChangedValue,
- primitiveFloatChangedValue,
- integerChangedValue,
- primitiveIntChangedValue,
- longChangedValue,
- primitiveLongChangedValue,
- objectNameChangedValue,
- shortChangedValue,
- primitiveShortChangedValue,
- stringChangedValue
- };
-
- Class[] TYPES =
- {
- BigDecimal.class,
- BigInteger.class,
- Boolean.class,
- Boolean.TYPE,
- Byte.class,
- Byte.TYPE,
- Character.class,
- Character.TYPE,
- Date.class,
- Double.class,
- Double.TYPE,
- Float.class,
- Float.TYPE,
- Integer.class,
- Integer.TYPE,
- Long.class,
- Long.TYPE,
- ObjectName.class,
- Short.class,
- Short.TYPE,
- String.class
- };
-
- Object[] NULL_VALUES =
- {
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null,
- null
- };
-
- Object[] LEGAL_NULL_VALUES =
- {
- null,
- null,
- null,
- primitiveBooleanValue,
- null,
- primitiveByteValue,
- null,
- primitiveCharValue,
- null,
- null,
- primitiveDoubleValue,
- null,
- primitiveFloatValue,
- null,
- primitiveIntValue,
- null,
- primitiveLongValue,
- null,
- null,
- primitiveShortValue,
- null,
- };
-
- BigDecimal getBigDecimal();
-
- BigInteger getBigInteger();
-
- boolean isPrimitiveBoolean();
-
- Boolean getBoolean();
-
- byte getPrimitiveByte();
-
- Byte getByte();
-
- char getPrimitiveChar();
-
- Character getCharacter();
-
- Date getDate();
-
- double getPrimitiveDouble();
-
- Double getDouble();
-
- float getPrimitiveFloat();
-
- Float getFloat();
-
- int getPrimitiveInt();
-
- Integer getInteger();
-
- long getPrimitiveLong();
-
- Long getLong();
-
- ObjectName getObjectName();
-
- short getPrimitiveShort();
-
- Short getShort();
-
- String getString();
-}
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2008, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.test.mx.mxbean.support;
+
+import java.math.BigDecimal;
+import java.math.BigInteger;
+import java.util.Date;
+
+import javax.management.ObjectName;
+
+import org.jboss.mx.util.ObjectNameFactory;
+import org.jboss.test.mx.mxbean.test.AbstractMXBeanTest;
+
+/**
+ * SimpleInterface.
+ *
+ * @author <a href="adrian at jboss.com">Adrian Brock</a>
+ * @version $Revision: 1.1 $
+ */
+public interface SimpleInterface
+{
+ String BIG_DECIMAL = "bigDecimal";
+
+ BigDecimal bigDecimalValue = new BigDecimal("12e4");
+ BigDecimal bigDecimalChangedValue = new BigDecimal("12e5");
+
+ String BIG_INTEGER = "bigInteger";
+
+ BigInteger bigIntegerValue = new BigInteger("123456");
+ BigInteger bigIntegerChangedValue = new BigInteger("123457");
+
+ String BOOLEAN = "boolean";
+
+ Boolean booleanValue = Boolean.TRUE;
+ Boolean booleanChangedValue = Boolean.FALSE;
+
+ String BOOLEAN_PRIMITIVE = "primitiveBoolean";
+
+ boolean primitiveBooleanValue = booleanValue.booleanValue();
+ boolean primitiveBooleanChangedValue = booleanChangedValue.booleanValue();
+
+ String BYTE = "byte";
+
+ Byte byteValue = new Byte("12");
+ Byte byteChangedValue = new Byte("13");
+
+ String BYTE_PRIMITIVE = "primitiveByte";
+
+ byte primitiveByteValue = byteValue.byteValue();
+ byte primitiveByteChangedValue = byteChangedValue.byteValue();
+
+ String CHARACTER = "character";
+
+ Character characterValue = new Character('a');
+ Character characterChangedValue = new Character('b');
+
+ String CHAR_PRIMITIVE = "primitiveChar";
+
+ char primitiveCharValue = characterValue.charValue();
+ char primitiveCharChangedValue = characterChangedValue.charValue();
+
+ String DATE = "date";
+
+ Date dateValue = AbstractMXBeanTest.createDate(2001, 1, 1);
+ Date dateChangedValue = AbstractMXBeanTest.createDate(2002, 2, 2);
+
+ String DOUBLE = "double";
+
+ Double doubleValue = new Double("3.14e12");
+ Double doubleChangedValue = new Double("3.14e13");
+
+ String DOUBLE_PRIMITIVE = "primitiveDouble";
+
+ double primitiveDoubleValue = doubleValue.doubleValue();
+ double primitiveDoubleChangedValue = doubleChangedValue.doubleValue();
+
+ String FLOAT = "float";
+
+ Float floatValue = new Float("3.14");
+ Float floatChangedValue = new Float("3.15");
+
+ String FLOAT_PRIMITIVE = "primitiveFloat";
+
+ float primitiveFloatValue = floatValue.floatValue();
+ float primitiveFloatChangedValue = floatChangedValue.floatValue();
+
+ String INTEGER = "integer";
+
+ Integer integerValue = new Integer("1234");
+ Integer integerChangedValue = new Integer("1235");
+
+ String INT_PRIMITIVE = "primitiveInt";
+
+ int primitiveIntValue = integerValue.intValue();
+ int primitiveIntChangedValue = integerChangedValue.intValue();
+
+ String LONG = "long";
+
+ Long longValue = new Long("12345");
+ Long longChangedValue = new Long("12346");
+
+ String LONG_PRIMITIVE = "primitiveLong";
+
+ long primitiveLongValue = longValue.longValue();
+ long primitiveLongChangedValue = longChangedValue.longValue();
+
+ String OBJECT_NAME = "objectName";
+
+ ObjectName objectNameValue = ObjectNameFactory.create("domain:key=property");
+ ObjectName objectNameChangedValue = ObjectNameFactory.create("domain:key=property2");
+
+ String SHORT = "short";
+
+ Short shortValue = new Short("123");
+ Short shortChangedValue = new Short("124");
+
+ String SHORT_PRIMITIVE = "primitiveShort";
+
+ short primitiveShortValue = shortValue.shortValue();
+ short primitiveShortChangedValue = shortChangedValue.shortValue();
+
+ String STRING = "string";
+
+ String stringValue = new String("StringValue");
+ String stringChangedValue = new String("ChangedValue");
+
+ String[] KEYS =
+ {
+ BIG_DECIMAL,
+ BIG_INTEGER,
+ BOOLEAN,
+ BOOLEAN_PRIMITIVE,
+ BYTE,
+ BYTE_PRIMITIVE,
+ CHARACTER,
+ CHAR_PRIMITIVE,
+ DATE,
+ DOUBLE,
+ DOUBLE_PRIMITIVE,
+ FLOAT,
+ FLOAT_PRIMITIVE,
+ INTEGER,
+ INT_PRIMITIVE,
+ LONG,
+ LONG_PRIMITIVE,
+ OBJECT_NAME,
+ SHORT,
+ SHORT_PRIMITIVE,
+ STRING
+ };
+
+ Object[] VALUES =
+ {
+ bigDecimalValue,
+ bigIntegerValue,
+ booleanValue,
+ primitiveBooleanValue,
+ byteValue,
+ primitiveByteValue,
+ characterValue,
+ primitiveCharValue,
+ dateValue,
+ doubleValue,
+ primitiveDoubleValue,
+ floatValue,
+ primitiveFloatValue,
+ integerValue,
+ primitiveIntValue,
+ longValue,
+ primitiveLongValue,
+ objectNameValue,
+ shortValue,
+ primitiveShortValue,
+ stringValue
+ };
+
+ Object[] CHANGED_VALUES =
+ {
+ bigDecimalChangedValue,
+ bigIntegerChangedValue,
+ booleanChangedValue,
+ primitiveBooleanChangedValue,
+ byteChangedValue,
+ primitiveByteChangedValue,
+ characterChangedValue,
+ primitiveCharChangedValue,
+ dateChangedValue,
+ doubleChangedValue,
+ primitiveDoubleChangedValue,
+ floatChangedValue,
+ primitiveFloatChangedValue,
+ integerChangedValue,
+ primitiveIntChangedValue,
+ longChangedValue,
+ primitiveLongChangedValue,
+ objectNameChangedValue,
+ shortChangedValue,
+ primitiveShortChangedValue,
+ stringChangedValue
+ };
+
+ Class[] TYPES =
+ {
+ BigDecimal.class,
+ BigInteger.class,
+ Boolean.class,
+ Boolean.TYPE,
+ Byte.class,
+ Byte.TYPE,
+ Character.class,
+ Character.TYPE,
+ Date.class,
+ Double.class,
+ Double.TYPE,
+ Float.class,
+ Float.TYPE,
+ Integer.class,
+ Integer.TYPE,
+ Long.class,
+ Long.TYPE,
+ ObjectName.class,
+ Short.class,
+ Short.TYPE,
+ String.class
+ };
+
+ Object[] NULL_VALUES =
+ {
+ null,
+ null,
+ null,
+ null,
+ null,
+ null,
+ null,
+ null,
+ null,
+ null,
+ null,
+ null,
+ null,
+ null,
+ null,
+ null,
+ null,
+ null,
+ null,
+ null,
+ null
+ };
+
+ Object[] LEGAL_NULL_VALUES =
+ {
+ null,
+ null,
+ null,
+ primitiveBooleanValue,
+ null,
+ primitiveByteValue,
+ null,
+ primitiveCharValue,
+ null,
+ null,
+ primitiveDoubleValue,
+ null,
+ primitiveFloatValue,
+ null,
+ primitiveIntValue,
+ null,
+ primitiveLongValue,
+ null,
+ null,
+ primitiveShortValue,
+ null,
+ };
+
+ BigDecimal getBigDecimal();
+
+ BigInteger getBigInteger();
+
+ boolean isPrimitiveBoolean();
+
+ Boolean getBoolean();
+
+ byte getPrimitiveByte();
+
+ Byte getByte();
+
+ char getPrimitiveChar();
+
+ Character getCharacter();
+
+ Date getDate();
+
+ double getPrimitiveDouble();
+
+ Double getDouble();
+
+ float getPrimitiveFloat();
+
+ Float getFloat();
+
+ int getPrimitiveInt();
+
+ Integer getInteger();
+
+ long getPrimitiveLong();
+
+ Long getLong();
+
+ ObjectName getObjectName();
+
+ short getPrimitiveShort();
+
+ Short getShort();
+
+ String getString();
+}
Modified: trunk/mbeans/src/tests/org/jboss/test/mx/mxbean/support/SimpleMXBeanSupport.java
===================================================================
--- trunk/mbeans/src/tests/org/jboss/test/mx/mxbean/support/SimpleMXBeanSupport.java 2008-11-14 12:49:40 UTC (rev 81025)
+++ trunk/mbeans/src/tests/org/jboss/test/mx/mxbean/support/SimpleMXBeanSupport.java 2008-11-14 12:51:05 UTC (rev 81026)
@@ -1,278 +1,278 @@
-/*
-* JBoss, Home of Professional Open Source
-* Copyright 2006, JBoss Inc., and individual contributors as indicated
-* by the @authors tag. See the copyright.txt in the distribution for a
-* full listing of individual contributors.
-*
-* This is free software; you can redistribute it and/or modify it
-* under the terms of the GNU Lesser General Public License as
-* published by the Free Software Foundation; either version 2.1 of
-* the License, or (at your option) any later version.
-*
-* This software is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-* Lesser General Public License for more details.
-*
-* You should have received a copy of the GNU Lesser General Public
-* License along with this software; if not, write to the Free
-* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
-* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
-*/
-package org.jboss.test.mx.mxbean.support;
-
-import java.math.BigDecimal;
-import java.math.BigInteger;
-import java.util.Date;
-
-import javax.management.ObjectName;
-
-import org.jboss.mx.mxbean.MXBeanSupport;
-
-/**
- * SimpleMXBeanSupport.
- *
- * @author <a href="adrian at jboss.com">Adrian Brock</a>
- * @version $Revision: 1.1 $
- */
-public class SimpleMXBeanSupport extends MXBeanSupport implements SimpleMXBeanSupportMXBean
-{
- private BigDecimal bigDecimal = bigDecimalValue;
- private BigInteger bigInteger = bigIntegerValue;
- private Boolean booleanV = booleanValue;
- private Byte byteV = byteValue;
- private Character characterV = characterValue;
- private Date date = dateValue;
- private Double doubleV = doubleValue;
- private Float floatV = floatValue;
- private Integer integer = integerValue;
- private Long longV = longValue;
- private ObjectName objectName = objectNameValue;
- private boolean primitiveBoolean = primitiveBooleanValue;
- private byte primitiveByte = primitiveByteValue;
- private char primitiveChar = primitiveCharValue;
- private double primitiveDouble = primitiveDoubleValue;
- private float primitiveFloat = primitiveFloatValue;
- private int primitiveInt = primitiveIntValue;
- private long primitiveLong = primitiveLongValue;
- private Short shortV = shortValue;
- private short primitiveShort = primitiveShortValue;
- private String string = stringValue;
-
- public BigDecimal getBigDecimal()
- {
- return bigDecimal;
- }
-
- public BigInteger getBigInteger()
- {
- return bigInteger;
- }
-
- public Boolean getBoolean()
- {
- return booleanV;
- }
-
- public Byte getByte()
- {
- return byteV;
- }
-
- public Character getCharacter()
- {
- return characterV;
- }
-
- public Date getDate()
- {
- return date;
- }
-
- public Double getDouble()
- {
- return doubleV;
- }
-
- public Float getFloat()
- {
- return floatV;
- }
-
- public Integer getInteger()
- {
- return integer;
- }
-
- public Long getLong()
- {
- return longV;
- }
-
- public ObjectName getObjectName()
- {
- return objectName;
- }
-
- public byte getPrimitiveByte()
- {
- return primitiveByte;
- }
-
- public char getPrimitiveChar()
- {
- return primitiveChar;
- }
-
- public double getPrimitiveDouble()
- {
- return primitiveDouble;
- }
-
- public float getPrimitiveFloat()
- {
- return primitiveFloat;
- }
-
- public int getPrimitiveInt()
- {
- return primitiveInt;
- }
-
- public long getPrimitiveLong()
- {
- return primitiveLong;
- }
-
- public short getPrimitiveShort()
- {
- return primitiveShort;
- }
-
- public Short getShort()
- {
- return shortV;
- }
-
- public String getString()
- {
- return string;
- }
-
- public boolean isPrimitiveBoolean()
- {
- return primitiveBoolean;
- }
-
- public void setBoolean(Boolean booleanV)
- {
- this.booleanV = booleanV;
- }
-
- public void setByte(Byte byteV)
- {
- this.byteV = byteV;
- }
-
- public void setCharacter(Character characterV)
- {
- this.characterV = characterV;
- }
-
- public void setDouble(Double doubleV)
- {
- this.doubleV = doubleV;
- }
-
- public void setFloat(Float floatV)
- {
- this.floatV = floatV;
- }
-
- public void setLong(Long longV)
- {
- this.longV = longV;
- }
-
- public void setShort(Short shortV)
- {
- this.shortV = shortV;
- }
-
- public void setBigDecimal(BigDecimal bigDecimal)
- {
- this.bigDecimal = bigDecimal;
- }
-
- public void setBigInteger(BigInteger bigInteger)
- {
- this.bigInteger = bigInteger;
- }
-
- public void setDate(Date date)
- {
- this.date = date;
- }
-
- public void setInteger(Integer integer)
- {
- this.integer = integer;
- }
-
- public void setObjectName(ObjectName objectName)
- {
- this.objectName = objectName;
- }
-
- public void setPrimitiveBoolean(boolean primitiveBoolean)
- {
- this.primitiveBoolean = primitiveBoolean;
- }
-
- public void setPrimitiveByte(byte primitiveByte)
- {
- this.primitiveByte = primitiveByte;
- }
-
- public void setPrimitiveChar(char primitiveChar)
- {
- this.primitiveChar = primitiveChar;
- }
-
- public void setPrimitiveDouble(double primitiveDouble)
- {
- this.primitiveDouble = primitiveDouble;
- }
-
- public void setPrimitiveFloat(float primitiveFloat)
- {
- this.primitiveFloat = primitiveFloat;
- }
-
- public void setPrimitiveInt(int primitiveInt)
- {
- this.primitiveInt = primitiveInt;
- }
-
- public void setPrimitiveLong(long primitiveLong)
- {
- this.primitiveLong = primitiveLong;
- }
-
- public void setPrimitiveShort(short primitiveShort)
- {
- this.primitiveShort = primitiveShort;
- }
-
- public void setString(String string)
- {
- this.string = string;
- }
-
- public String echoReverse(String string)
- {
- StringBuilder builder = new StringBuilder(string);
- builder.reverse();
- return builder.toString();
- }
-}
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2008, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.test.mx.mxbean.support;
+
+import java.math.BigDecimal;
+import java.math.BigInteger;
+import java.util.Date;
+
+import javax.management.ObjectName;
+
+import org.jboss.mx.mxbean.MXBeanSupport;
+
+/**
+ * SimpleMXBeanSupport.
+ *
+ * @author <a href="adrian at jboss.com">Adrian Brock</a>
+ * @version $Revision: 1.1 $
+ */
+public class SimpleMXBeanSupport extends MXBeanSupport implements SimpleMXBeanSupportMXBean
+{
+ private BigDecimal bigDecimal = bigDecimalValue;
+ private BigInteger bigInteger = bigIntegerValue;
+ private Boolean booleanV = booleanValue;
+ private Byte byteV = byteValue;
+ private Character characterV = characterValue;
+ private Date date = dateValue;
+ private Double doubleV = doubleValue;
+ private Float floatV = floatValue;
+ private Integer integer = integerValue;
+ private Long longV = longValue;
+ private ObjectName objectName = objectNameValue;
+ private boolean primitiveBoolean = primitiveBooleanValue;
+ private byte primitiveByte = primitiveByteValue;
+ private char primitiveChar = primitiveCharValue;
+ private double primitiveDouble = primitiveDoubleValue;
+ private float primitiveFloat = primitiveFloatValue;
+ private int primitiveInt = primitiveIntValue;
+ private long primitiveLong = primitiveLongValue;
+ private Short shortV = shortValue;
+ private short primitiveShort = primitiveShortValue;
+ private String string = stringValue;
+
+ public BigDecimal getBigDecimal()
+ {
+ return bigDecimal;
+ }
+
+ public BigInteger getBigInteger()
+ {
+ return bigInteger;
+ }
+
+ public Boolean getBoolean()
+ {
+ return booleanV;
+ }
+
+ public Byte getByte()
+ {
+ return byteV;
+ }
+
+ public Character getCharacter()
+ {
+ return characterV;
+ }
+
+ public Date getDate()
+ {
+ return date;
+ }
+
+ public Double getDouble()
+ {
+ return doubleV;
+ }
+
+ public Float getFloat()
+ {
+ return floatV;
+ }
+
+ public Integer getInteger()
+ {
+ return integer;
+ }
+
+ public Long getLong()
+ {
+ return longV;
+ }
+
+ public ObjectName getObjectName()
+ {
+ return objectName;
+ }
+
+ public byte getPrimitiveByte()
+ {
+ return primitiveByte;
+ }
+
+ public char getPrimitiveChar()
+ {
+ return primitiveChar;
+ }
+
+ public double getPrimitiveDouble()
+ {
+ return primitiveDouble;
+ }
+
+ public float getPrimitiveFloat()
+ {
+ return primitiveFloat;
+ }
+
+ public int getPrimitiveInt()
+ {
+ return primitiveInt;
+ }
+
+ public long getPrimitiveLong()
+ {
+ return primitiveLong;
+ }
+
+ public short getPrimitiveShort()
+ {
+ return primitiveShort;
+ }
+
+ public Short getShort()
+ {
+ return shortV;
+ }
+
+ public String getString()
+ {
+ return string;
+ }
+
+ public boolean isPrimitiveBoolean()
+ {
+ return primitiveBoolean;
+ }
+
+ public void setBoolean(Boolean booleanV)
+ {
+ this.booleanV = booleanV;
+ }
+
+ public void setByte(Byte byteV)
+ {
+ this.byteV = byteV;
+ }
+
+ public void setCharacter(Character characterV)
+ {
+ this.characterV = characterV;
+ }
+
+ public void setDouble(Double doubleV)
+ {
+ this.doubleV = doubleV;
+ }
+
+ public void setFloat(Float floatV)
+ {
+ this.floatV = floatV;
+ }
+
+ public void setLong(Long longV)
+ {
+ this.longV = longV;
+ }
+
+ public void setShort(Short shortV)
+ {
+ this.shortV = shortV;
+ }
+
+ public void setBigDecimal(BigDecimal bigDecimal)
+ {
+ this.bigDecimal = bigDecimal;
+ }
+
+ public void setBigInteger(BigInteger bigInteger)
+ {
+ this.bigInteger = bigInteger;
+ }
+
+ public void setDate(Date date)
+ {
+ this.date = date;
+ }
+
+ public void setInteger(Integer integer)
+ {
+ this.integer = integer;
+ }
+
+ public void setObjectName(ObjectName objectName)
+ {
+ this.objectName = objectName;
+ }
+
+ public void setPrimitiveBoolean(boolean primitiveBoolean)
+ {
+ this.primitiveBoolean = primitiveBoolean;
+ }
+
+ public void setPrimitiveByte(byte primitiveByte)
+ {
+ this.primitiveByte = primitiveByte;
+ }
+
+ public void setPrimitiveChar(char primitiveChar)
+ {
+ this.primitiveChar = primitiveChar;
+ }
+
+ public void setPrimitiveDouble(double primitiveDouble)
+ {
+ this.primitiveDouble = primitiveDouble;
+ }
+
+ public void setPrimitiveFloat(float primitiveFloat)
+ {
+ this.primitiveFloat = primitiveFloat;
+ }
+
+ public void setPrimitiveInt(int primitiveInt)
+ {
+ this.primitiveInt = primitiveInt;
+ }
+
+ public void setPrimitiveLong(long primitiveLong)
+ {
+ this.primitiveLong = primitiveLong;
+ }
+
+ public void setPrimitiveShort(short primitiveShort)
+ {
+ this.primitiveShort = primitiveShort;
+ }
+
+ public void setString(String string)
+ {
+ this.string = string;
+ }
+
+ public String echoReverse(String string)
+ {
+ StringBuilder builder = new StringBuilder(string);
+ builder.reverse();
+ return builder.toString();
+ }
+}
Modified: trunk/mbeans/src/tests/org/jboss/test/mx/mxbean/support/SimpleMXBeanSupportMXBean.java
===================================================================
--- trunk/mbeans/src/tests/org/jboss/test/mx/mxbean/support/SimpleMXBeanSupportMXBean.java 2008-11-14 12:49:40 UTC (rev 81025)
+++ trunk/mbeans/src/tests/org/jboss/test/mx/mxbean/support/SimpleMXBeanSupportMXBean.java 2008-11-14 12:51:05 UTC (rev 81026)
@@ -1,86 +1,86 @@
-/*
-* JBoss, Home of Professional Open Source
-* Copyright 2006, JBoss Inc., and individual contributors as indicated
-* by the @authors tag. See the copyright.txt in the distribution for a
-* full listing of individual contributors.
-*
-* This is free software; you can redistribute it and/or modify it
-* under the terms of the GNU Lesser General Public License as
-* published by the Free Software Foundation; either version 2.1 of
-* the License, or (at your option) any later version.
-*
-* This software is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-* Lesser General Public License for more details.
-*
-* You should have received a copy of the GNU Lesser General Public
-* License along with this software; if not, write to the Free
-* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
-* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
-*/
-package org.jboss.test.mx.mxbean.support;
-
-import java.math.BigDecimal;
-import java.math.BigInteger;
-import java.util.Date;
-
-import javax.management.ObjectName;
-
-import org.jboss.mx.util.ObjectNameFactory;
-
-/**
- * SimpleMXBeanSupportMXBean.
- *
- * @author <a href="adrian at jboss.com">Adrian Brock</a>
- * @version $Revision: 1.1 $
- */
-public interface SimpleMXBeanSupportMXBean extends SimpleInterface
-{
- /** The Object name */
- ObjectName REGISTERED_OBJECT_NAME = ObjectNameFactory.create("test:test=SimpleMXBeanSupport");
-
- void setBoolean(Boolean booleanV);
-
- void setByte(Byte byteV);
-
- void setCharacter(Character characterV);
-
- void setDouble(Double doubleV);
-
- void setFloat(Float floatV);
-
- void setLong(Long longV);
-
- void setShort(Short shortV);
-
- void setBigDecimal(BigDecimal bigDecimal);
-
- void setBigInteger(BigInteger bigInteger);
-
- void setDate(Date date);
-
- void setInteger(Integer integer);
-
- void setObjectName(ObjectName objectName);
-
- void setPrimitiveBoolean(boolean primitiveBoolean);
-
- void setPrimitiveByte(byte primitiveByte);
-
- void setPrimitiveChar(char primitiveChar);
-
- void setPrimitiveDouble(double primitiveDouble);
-
- void setPrimitiveFloat(float primitiveFloat);
-
- void setPrimitiveInt(int primitiveInt);
-
- void setPrimitiveLong(long primitiveLong);
-
- void setPrimitiveShort(short primitiveShort);
-
- void setString(String string);
-
- String echoReverse(String string);
-}
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2008, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.test.mx.mxbean.support;
+
+import java.math.BigDecimal;
+import java.math.BigInteger;
+import java.util.Date;
+
+import javax.management.ObjectName;
+
+import org.jboss.mx.util.ObjectNameFactory;
+
+/**
+ * SimpleMXBeanSupportMXBean.
+ *
+ * @author <a href="adrian at jboss.com">Adrian Brock</a>
+ * @version $Revision: 1.1 $
+ */
+public interface SimpleMXBeanSupportMXBean extends SimpleInterface
+{
+ /** The Object name */
+ ObjectName REGISTERED_OBJECT_NAME = ObjectNameFactory.create("test:test=SimpleMXBeanSupport");
+
+ void setBoolean(Boolean booleanV);
+
+ void setByte(Byte byteV);
+
+ void setCharacter(Character characterV);
+
+ void setDouble(Double doubleV);
+
+ void setFloat(Float floatV);
+
+ void setLong(Long longV);
+
+ void setShort(Short shortV);
+
+ void setBigDecimal(BigDecimal bigDecimal);
+
+ void setBigInteger(BigInteger bigInteger);
+
+ void setDate(Date date);
+
+ void setInteger(Integer integer);
+
+ void setObjectName(ObjectName objectName);
+
+ void setPrimitiveBoolean(boolean primitiveBoolean);
+
+ void setPrimitiveByte(byte primitiveByte);
+
+ void setPrimitiveChar(char primitiveChar);
+
+ void setPrimitiveDouble(double primitiveDouble);
+
+ void setPrimitiveFloat(float primitiveFloat);
+
+ void setPrimitiveInt(int primitiveInt);
+
+ void setPrimitiveLong(long primitiveLong);
+
+ void setPrimitiveShort(short primitiveShort);
+
+ void setString(String string);
+
+ String echoReverse(String string);
+}
Modified: trunk/mbeans/src/tests/org/jboss/test/mx/mxbean/support/SimpleObject.java
===================================================================
--- trunk/mbeans/src/tests/org/jboss/test/mx/mxbean/support/SimpleObject.java 2008-11-14 12:49:40 UTC (rev 81025)
+++ trunk/mbeans/src/tests/org/jboss/test/mx/mxbean/support/SimpleObject.java 2008-11-14 12:51:05 UTC (rev 81026)
@@ -1,269 +1,269 @@
-/*
-* JBoss, Home of Professional Open Source
-* Copyright 2006, JBoss Inc., and individual contributors as indicated
-* by the @authors tag. See the copyright.txt in the distribution for a
-* full listing of individual contributors.
-*
-* This is free software; you can redistribute it and/or modify it
-* under the terms of the GNU Lesser General Public License as
-* published by the Free Software Foundation; either version 2.1 of
-* the License, or (at your option) any later version.
-*
-* This software is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-* Lesser General Public License for more details.
-*
-* You should have received a copy of the GNU Lesser General Public
-* License along with this software; if not, write to the Free
-* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
-* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
-*/
-package org.jboss.test.mx.mxbean.support;
-
-import java.math.BigDecimal;
-import java.math.BigInteger;
-import java.util.Date;
-
-import javax.management.ObjectName;
-
-/**
- * SimpleObject.
- *
- * @author <a href="adrian at jboss.com">Adrian Brock</a>
- * @version $Revision: 1.1 $
- */
-public class SimpleObject implements SimpleInterface
-{
- private BigDecimal bigDecimal = bigDecimalValue;
- private BigInteger bigInteger = bigIntegerValue;
- private Boolean booleanV = booleanValue;
- private Byte byteV = byteValue;
- private Character characterV = characterValue;
- private Date date = dateValue;
- private Double doubleV = doubleValue;
- private Float floatV = floatValue;
- private Integer integer = integerValue;
- private Long longV = longValue;
- private ObjectName objectName = objectNameValue;
- private boolean primitiveBoolean = primitiveBooleanValue;
- private byte primitiveByte = primitiveByteValue;
- private char primitiveChar = primitiveCharValue;
- private double primitiveDouble = primitiveDoubleValue;
- private float primitiveFloat = primitiveFloatValue;
- private int primitiveInt = primitiveIntValue;
- private long primitiveLong = primitiveLongValue;
- private Short shortV = shortValue;
- private short primitiveShort = primitiveShortValue;
- private String string = stringValue;
-
- public BigDecimal getBigDecimal()
- {
- return bigDecimal;
- }
-
- public BigInteger getBigInteger()
- {
- return bigInteger;
- }
-
- public Boolean getBoolean()
- {
- return booleanV;
- }
-
- public Byte getByte()
- {
- return byteV;
- }
-
- public Character getCharacter()
- {
- return characterV;
- }
-
- public Date getDate()
- {
- return date;
- }
-
- public Double getDouble()
- {
- return doubleV;
- }
-
- public Float getFloat()
- {
- return floatV;
- }
-
- public Integer getInteger()
- {
- return integer;
- }
-
- public Long getLong()
- {
- return longV;
- }
-
- public ObjectName getObjectName()
- {
- return objectName;
- }
-
- public byte getPrimitiveByte()
- {
- return primitiveByte;
- }
-
- public char getPrimitiveChar()
- {
- return primitiveChar;
- }
-
- public double getPrimitiveDouble()
- {
- return primitiveDouble;
- }
-
- public float getPrimitiveFloat()
- {
- return primitiveFloat;
- }
-
- public int getPrimitiveInt()
- {
- return primitiveInt;
- }
-
- public long getPrimitiveLong()
- {
- return primitiveLong;
- }
-
- public short getPrimitiveShort()
- {
- return primitiveShort;
- }
-
- public Short getShort()
- {
- return shortV;
- }
-
- public String getString()
- {
- return string;
- }
-
- public boolean isPrimitiveBoolean()
- {
- return primitiveBoolean;
- }
-
- public void setBoolean(Boolean booleanV)
- {
- this.booleanV = booleanV;
- }
-
- public void setByte(Byte byteV)
- {
- this.byteV = byteV;
- }
-
- public void setCharacter(Character characterV)
- {
- this.characterV = characterV;
- }
-
- public void setDouble(Double doubleV)
- {
- this.doubleV = doubleV;
- }
-
- public void setFloat(Float floatV)
- {
- this.floatV = floatV;
- }
-
- public void setLong(Long longV)
- {
- this.longV = longV;
- }
-
- public void setShort(Short shortV)
- {
- this.shortV = shortV;
- }
-
- public void setBigDecimal(BigDecimal bigDecimal)
- {
- this.bigDecimal = bigDecimal;
- }
-
- public void setBigInteger(BigInteger bigInteger)
- {
- this.bigInteger = bigInteger;
- }
-
- public void setDate(Date date)
- {
- this.date = date;
- }
-
- public void setInteger(Integer integer)
- {
- this.integer = integer;
- }
-
- public void setObjectName(ObjectName objectName)
- {
- this.objectName = objectName;
- }
-
- public void setPrimitiveBoolean(boolean primitiveBoolean)
- {
- this.primitiveBoolean = primitiveBoolean;
- }
-
- public void setPrimitiveByte(byte primitiveByte)
- {
- this.primitiveByte = primitiveByte;
- }
-
- public void setPrimitiveChar(char primitiveChar)
- {
- this.primitiveChar = primitiveChar;
- }
-
- public void setPrimitiveDouble(double primitiveDouble)
- {
- this.primitiveDouble = primitiveDouble;
- }
-
- public void setPrimitiveFloat(float primitiveFloat)
- {
- this.primitiveFloat = primitiveFloat;
- }
-
- public void setPrimitiveInt(int primitiveInt)
- {
- this.primitiveInt = primitiveInt;
- }
-
- public void setPrimitiveLong(long primitiveLong)
- {
- this.primitiveLong = primitiveLong;
- }
-
- public void setPrimitiveShort(short primitiveShort)
- {
- this.primitiveShort = primitiveShort;
- }
-
- public void setString(String string)
- {
- this.string = string;
- }
-}
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2008, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.test.mx.mxbean.support;
+
+import java.math.BigDecimal;
+import java.math.BigInteger;
+import java.util.Date;
+
+import javax.management.ObjectName;
+
+/**
+ * SimpleObject.
+ *
+ * @author <a href="adrian at jboss.com">Adrian Brock</a>
+ * @version $Revision: 1.1 $
+ */
+public class SimpleObject implements SimpleInterface
+{
+ private BigDecimal bigDecimal = bigDecimalValue;
+ private BigInteger bigInteger = bigIntegerValue;
+ private Boolean booleanV = booleanValue;
+ private Byte byteV = byteValue;
+ private Character characterV = characterValue;
+ private Date date = dateValue;
+ private Double doubleV = doubleValue;
+ private Float floatV = floatValue;
+ private Integer integer = integerValue;
+ private Long longV = longValue;
+ private ObjectName objectName = objectNameValue;
+ private boolean primitiveBoolean = primitiveBooleanValue;
+ private byte primitiveByte = primitiveByteValue;
+ private char primitiveChar = primitiveCharValue;
+ private double primitiveDouble = primitiveDoubleValue;
+ private float primitiveFloat = primitiveFloatValue;
+ private int primitiveInt = primitiveIntValue;
+ private long primitiveLong = primitiveLongValue;
+ private Short shortV = shortValue;
+ private short primitiveShort = primitiveShortValue;
+ private String string = stringValue;
+
+ public BigDecimal getBigDecimal()
+ {
+ return bigDecimal;
+ }
+
+ public BigInteger getBigInteger()
+ {
+ return bigInteger;
+ }
+
+ public Boolean getBoolean()
+ {
+ return booleanV;
+ }
+
+ public Byte getByte()
+ {
+ return byteV;
+ }
+
+ public Character getCharacter()
+ {
+ return characterV;
+ }
+
+ public Date getDate()
+ {
+ return date;
+ }
+
+ public Double getDouble()
+ {
+ return doubleV;
+ }
+
+ public Float getFloat()
+ {
+ return floatV;
+ }
+
+ public Integer getInteger()
+ {
+ return integer;
+ }
+
+ public Long getLong()
+ {
+ return longV;
+ }
+
+ public ObjectName getObjectName()
+ {
+ return objectName;
+ }
+
+ public byte getPrimitiveByte()
+ {
+ return primitiveByte;
+ }
+
+ public char getPrimitiveChar()
+ {
+ return primitiveChar;
+ }
+
+ public double getPrimitiveDouble()
+ {
+ return primitiveDouble;
+ }
+
+ public float getPrimitiveFloat()
+ {
+ return primitiveFloat;
+ }
+
+ public int getPrimitiveInt()
+ {
+ return primitiveInt;
+ }
+
+ public long getPrimitiveLong()
+ {
+ return primitiveLong;
+ }
+
+ public short getPrimitiveShort()
+ {
+ return primitiveShort;
+ }
+
+ public Short getShort()
+ {
+ return shortV;
+ }
+
+ public String getString()
+ {
+ return string;
+ }
+
+ public boolean isPrimitiveBoolean()
+ {
+ return primitiveBoolean;
+ }
+
+ public void setBoolean(Boolean booleanV)
+ {
+ this.booleanV = booleanV;
+ }
+
+ public void setByte(Byte byteV)
+ {
+ this.byteV = byteV;
+ }
+
+ public void setCharacter(Character characterV)
+ {
+ this.characterV = characterV;
+ }
+
+ public void setDouble(Double doubleV)
+ {
+ this.doubleV = doubleV;
+ }
+
+ public void setFloat(Float floatV)
+ {
+ this.floatV = floatV;
+ }
+
+ public void setLong(Long longV)
+ {
+ this.longV = longV;
+ }
+
+ public void setShort(Short shortV)
+ {
+ this.shortV = shortV;
+ }
+
+ public void setBigDecimal(BigDecimal bigDecimal)
+ {
+ this.bigDecimal = bigDecimal;
+ }
+
+ public void setBigInteger(BigInteger bigInteger)
+ {
+ this.bigInteger = bigInteger;
+ }
+
+ public void setDate(Date date)
+ {
+ this.date = date;
+ }
+
+ public void setInteger(Integer integer)
+ {
+ this.integer = integer;
+ }
+
+ public void setObjectName(ObjectName objectName)
+ {
+ this.objectName = objectName;
+ }
+
+ public void setPrimitiveBoolean(boolean primitiveBoolean)
+ {
+ this.primitiveBoolean = primitiveBoolean;
+ }
+
+ public void setPrimitiveByte(byte primitiveByte)
+ {
+ this.primitiveByte = primitiveByte;
+ }
+
+ public void setPrimitiveChar(char primitiveChar)
+ {
+ this.primitiveChar = primitiveChar;
+ }
+
+ public void setPrimitiveDouble(double primitiveDouble)
+ {
+ this.primitiveDouble = primitiveDouble;
+ }
+
+ public void setPrimitiveFloat(float primitiveFloat)
+ {
+ this.primitiveFloat = primitiveFloat;
+ }
+
+ public void setPrimitiveInt(int primitiveInt)
+ {
+ this.primitiveInt = primitiveInt;
+ }
+
+ public void setPrimitiveLong(long primitiveLong)
+ {
+ this.primitiveLong = primitiveLong;
+ }
+
+ public void setPrimitiveShort(short primitiveShort)
+ {
+ this.primitiveShort = primitiveShort;
+ }
+
+ public void setString(String string)
+ {
+ this.string = string;
+ }
+}
Modified: trunk/mbeans/src/tests/org/jboss/test/mx/mxbean/support/TestEnum.java
===================================================================
--- trunk/mbeans/src/tests/org/jboss/test/mx/mxbean/support/TestEnum.java 2008-11-14 12:49:40 UTC (rev 81025)
+++ trunk/mbeans/src/tests/org/jboss/test/mx/mxbean/support/TestEnum.java 2008-11-14 12:51:05 UTC (rev 81026)
@@ -1,33 +1,33 @@
-/*
-* JBoss, Home of Professional Open Source
-* Copyright 2006, JBoss Inc., and individual contributors as indicated
-* by the @authors tag. See the copyright.txt in the distribution for a
-* full listing of individual contributors.
-*
-* This is free software; you can redistribute it and/or modify it
-* under the terms of the GNU Lesser General Public License as
-* published by the Free Software Foundation; either version 2.1 of
-* the License, or (at your option) any later version.
-*
-* This software is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-* Lesser General Public License for more details.
-*
-* You should have received a copy of the GNU Lesser General Public
-* License along with this software; if not, write to the Free
-* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
-* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
-*/
-package org.jboss.test.mx.mxbean.support;
-
-/**
- * TestEnum.
- *
- * @author <a href="adrian at jboss.com">Adrian Brock</a>
- * @version $Revision: 1.1 $
- */
-public enum TestEnum
-{
- FIRST, SECOND
-}
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2008, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.test.mx.mxbean.support;
+
+/**
+ * TestEnum.
+ *
+ * @author <a href="adrian at jboss.com">Adrian Brock</a>
+ * @version $Revision: 1.1 $
+ */
+public enum TestEnum
+{
+ FIRST, SECOND
+}
Modified: trunk/mbeans/src/tests/org/jboss/test/mx/mxbean/support/TestParameterizedType.java
===================================================================
--- trunk/mbeans/src/tests/org/jboss/test/mx/mxbean/support/TestParameterizedType.java 2008-11-14 12:49:40 UTC (rev 81025)
+++ trunk/mbeans/src/tests/org/jboss/test/mx/mxbean/support/TestParameterizedType.java 2008-11-14 12:51:05 UTC (rev 81026)
@@ -1,66 +1,66 @@
-/*
-* JBoss, Home of Professional Open Source
-* Copyright 2006, JBoss Inc., and individual contributors as indicated
-* by the @authors tag. See the copyright.txt in the distribution for a
-* full listing of individual contributors.
-*
-* This is free software; you can redistribute it and/or modify it
-* under the terms of the GNU Lesser General Public License as
-* published by the Free Software Foundation; either version 2.1 of
-* the License, or (at your option) any later version.
-*
-* This software is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-* Lesser General Public License for more details.
-*
-* You should have received a copy of the GNU Lesser General Public
-* License along with this software; if not, write to the Free
-* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
-* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
-*/
-package org.jboss.test.mx.mxbean.support;
-
-import java.lang.reflect.ParameterizedType;
-import java.lang.reflect.Type;
-
-import org.jboss.util.NotImplementedException;
-
-/**
- * TestParameterizedType.
- *
- * @author <a href="adrian at jboss.com">Adrian Brock</a>
- * @version $Revision: 1.1 $
- */
-public class TestParameterizedType implements ParameterizedType
-{
- private Type raw;
- private Type[] args;
-
- /**
- * Create a new TestParameterizedType.
- *
- * @param raw the raw type
- * @param args the args the type args
- */
- public TestParameterizedType(Type raw, Type[] args)
- {
- this.raw = raw;
- this.args = args;
- }
-
- public Type[] getActualTypeArguments()
- {
- return args;
- }
-
- public Type getRawType()
- {
- return raw;
- }
-
- public Type getOwnerType()
- {
- throw new NotImplementedException();
- }
-}
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2008, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.test.mx.mxbean.support;
+
+import java.lang.reflect.ParameterizedType;
+import java.lang.reflect.Type;
+
+import org.jboss.util.NotImplementedException;
+
+/**
+ * TestParameterizedType.
+ *
+ * @author <a href="adrian at jboss.com">Adrian Brock</a>
+ * @version $Revision: 1.1 $
+ */
+public class TestParameterizedType implements ParameterizedType
+{
+ private Type raw;
+ private Type[] args;
+
+ /**
+ * Create a new TestParameterizedType.
+ *
+ * @param raw the raw type
+ * @param args the args the type args
+ */
+ public TestParameterizedType(Type raw, Type[] args)
+ {
+ this.raw = raw;
+ this.args = args;
+ }
+
+ public Type[] getActualTypeArguments()
+ {
+ return args;
+ }
+
+ public Type getRawType()
+ {
+ return raw;
+ }
+
+ public Type getOwnerType()
+ {
+ throw new NotImplementedException();
+ }
+}
Modified: trunk/mbeans/src/tests/org/jboss/test/mx/mxbean/test/AbstractMXBeanTest.java
===================================================================
--- trunk/mbeans/src/tests/org/jboss/test/mx/mxbean/test/AbstractMXBeanTest.java 2008-11-14 12:49:40 UTC (rev 81025)
+++ trunk/mbeans/src/tests/org/jboss/test/mx/mxbean/test/AbstractMXBeanTest.java 2008-11-14 12:51:05 UTC (rev 81026)
@@ -1,309 +1,309 @@
-/*
-* JBoss, Home of Professional Open Source
-* Copyright 2006, JBoss Inc., and individual contributors as indicated
-* by the @authors tag. See the copyright.txt in the distribution for a
-* full listing of individual contributors.
-*
-* This is free software; you can redistribute it and/or modify it
-* under the terms of the GNU Lesser General Public License as
-* published by the Free Software Foundation; either version 2.1 of
-* the License, or (at your option) any later version.
-*
-* This software is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-* Lesser General Public License for more details.
-*
-* You should have received a copy of the GNU Lesser General Public
-* License along with this software; if not, write to the Free
-* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
-* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
-*/
-package org.jboss.test.mx.mxbean.test;
-
-import java.lang.reflect.Method;
-import java.lang.reflect.Proxy;
-import java.util.Arrays;
-import java.util.Calendar;
-import java.util.Date;
-import java.util.Set;
-
-import javax.management.MBeanServer;
-import javax.management.MBeanServerFactory;
-import javax.management.openmbean.CompositeData;
-import javax.management.openmbean.CompositeDataSupport;
-import javax.management.openmbean.CompositeType;
-import javax.management.openmbean.OpenType;
-import javax.management.openmbean.SimpleType;
-
-import junit.framework.AssertionFailedError;
-
-import org.jboss.logging.Logger;
-import org.jboss.mx.mxbean.CompositeDataInvocationHandler;
-import org.jboss.mx.mxbean.MXBeanUtils;
-import org.jboss.test.BaseTestCase;
-import org.jboss.test.mx.mxbean.support.InvalidInterface;
-import org.jboss.test.mx.mxbean.support.SimpleInterface;
-import org.jboss.util.UnexpectedThrowable;
-
-/**
- * AbstractMXBeanTest.
- *
- * @author <a href="adrian at jboss.com">Adrian Brock</a>
- * @version $Revision: 1.1 $
- */
-public abstract class AbstractMXBeanTest extends BaseTestCase
-{
- private static Logger staticLog = Logger.getLogger(AbstractMXBeanTest.class);
-
- public AbstractMXBeanTest(String name)
- {
- super(name);
- }
-
- // @fixme move to AbstractTestCase
- public static void checkThrowableDeep(Class<? extends Throwable> wrapperExpected, Class<? extends Throwable> deepExpected, Throwable throwable) throws Exception
- {
- assertNotNull(deepExpected);
- assertNotNull(throwable);
-
- Throwable original = throwable;
-
- if (wrapperExpected != null)
- {
- if (wrapperExpected.isInstance(original) == false)
- {
- if (original instanceof Exception)
- throw (Exception) original;
- else if (original instanceof Error)
- throw (Error) original;
- else
- throw new UnexpectedThrowable("UnexpectedThrowable", original);
- }
- staticLog.debug("Got expected " + wrapperExpected.getName() + "(" + original + ")");
- }
-
- while (throwable.getCause() != null)
- throwable = throwable.getCause();
-
- if (deepExpected.isInstance(throwable) == false)
- {
- if (original instanceof Exception)
- throw (Exception) original;
- else if (original instanceof Error)
- throw (Error) original;
- else
- throw new UnexpectedThrowable("UnexpectedThrowable", original);
- }
- else
- {
- staticLog.debug("Got expected " + deepExpected.getName() + "(" + throwable + ")");
- }
- }
-
- // @fixme move to AbstractTestCase
- public static void checkThrowableDeep(Class<? extends Throwable> expected, Throwable throwable) throws Exception
- {
- checkThrowableDeep(null, expected, throwable);
- }
-
- // @fixme move to AbstractTestCase
- public static <T> T assertInstanceOf(Class<T> expected, Object object) throws Exception
- {
- if (object == null)
- return null;
- assertTrue(object.getClass(). getName() + " is not an instance of " + expected.getName(), expected.isInstance(object));
- return expected.cast(object);
- }
-
- public static void checkArrayEquals(Object expected, Object actual)
- {
- Object[] a1 = (Object[]) expected;
- Object[] a2 = (Object[]) actual;
- if (Arrays.deepEquals(a1, a2) == false)
- throw new AssertionFailedError("Expected: " + a1 + "=" + Arrays.deepToString(a1) + " got " + a2 + "=" + Arrays.deepToString(a2));
- }
-
- @SuppressWarnings("unchecked")
- public static void checkCompositeDataHandlerEquals(Object expected, Object actual)
- {
- if (expected == null)
- {
- assertEquals(expected, actual);
- return;
- }
-
- CompositeDataInvocationHandler handler = (CompositeDataInvocationHandler) Proxy.getInvocationHandler(actual);
- CompositeData data = handler.getCompositeData();
- CompositeType type = data.getCompositeType();
- Set<String> names = type.keySet();
- Class clazz = expected.getClass();
- for (String name : names)
- {
- OpenType itemType = type.getType(name);
- try
- {
- Method method = MXBeanUtils.getCompositeDataMethod(clazz, name, itemType == SimpleType.BOOLEAN);
- Object expectedValue = method.invoke(expected, null);
- Object actualValue = handler.invoke(actual, method, null);
- assertEquals(expectedValue, actualValue);
- }
- catch (RuntimeException e)
- {
- throw e;
- }
- catch (Error e)
- {
- throw e;
- }
- catch (Throwable t)
- {
- throw new RuntimeException(t);
- }
- }
- }
-
- public static void checkValueEquals(Object expected, Object actual)
- {
- if (actual == null)
- assertEquals(expected, actual);
- else if (actual instanceof Proxy)
- checkCompositeDataHandlerEquals(expected, actual);
- else if (actual.getClass().isArray())
- checkArrayEquals(expected, actual);
- else
- assertEquals(expected, actual);
- }
-
- protected CompositeData createCompositeData(String name, String[] keys, Object[] values) throws Exception
- {
- assertNotNullArray("values", values);
-
- Class[] types = new Class[values.length];
- for (int i = 0; i < values.length; ++i)
- types[i] = values[i].getClass();
-
- return createCompositeData(name, keys, types, values);
- }
-
- protected CompositeData createCompositeData(String name, String[] keys, Class[] types, Object[] values) throws Exception
- {
- CompositeType compositeType = createCompositeType(name, keys, types);
- return new CompositeDataSupport(compositeType, keys, values);
- }
-
- protected CompositeData createCompositeData(String name, String[] keys, OpenType[] openTypes, Object[] values) throws Exception
- {
- CompositeType compositeType = createCompositeType(name, keys, openTypes);
- return new CompositeDataSupport(compositeType, keys, values);
- }
-
- protected CompositeType createCompositeType(String name, String[] keys, Class[] types) throws Exception
- {
- assertNotNull(name);
- assertNotNullArray("keys", keys);
- assertNotNullArray("types", types);
- assertEquals(keys.length, types.length);
-
- OpenType[] openTypes = new OpenType[types.length];
- for (int i = 0; i < types.length; ++i)
- openTypes[i] = MXBeanUtils.getOpenType(types[i]);
-
- return new CompositeType(name, name, keys, keys, openTypes);
- }
-
- protected CompositeType createCompositeType(String name, String[] keys, OpenType[] openTypes) throws Exception
- {
- assertNotNull(name);
- assertNotNullArray("keys", keys);
- assertNotNullArray("types", openTypes);
- assertEquals(keys.length, openTypes.length);
-
- return new CompositeType(name, name, keys, keys, openTypes);
- }
-
- protected <T> T createCompositeDataProxy(Class<T> intf, String[] keys, Object[] values) throws Exception
- {
- assertNotNull(intf);
- return createCompositeDataProxy(intf, intf.getName(), keys, values);
- }
-
- protected <T> T createCompositeDataProxy(Class<T> intf, String name, String[] keys, Object[] values) throws Exception
- {
- CompositeData compositeData = createCompositeData(name, keys, values);
- return createCompositeDataProxy(intf, compositeData);
- }
-
- protected <T> T createCompositeDataProxy(Class<T> intf, String[] keys, Class[] types, Object[] values) throws Exception
- {
- assertNotNull(intf);
- return createCompositeDataProxy(intf, intf.getName(), keys, types, values);
- }
-
- protected <T> T createCompositeDataProxy(Class<T> intf, String name, String[] keys, Class[] types, Object[] values) throws Exception
- {
- CompositeData compositeData = createCompositeData(name, keys, types, values);
- return createCompositeDataProxy(intf, compositeData);
- }
-
- protected <T> T createCompositeDataProxy(Class<T> intf, String name, String[] keys, OpenType[] openTypes, Object[] values) throws Exception
- {
- CompositeData compositeData = createCompositeData(name, keys, openTypes, values);
- return createCompositeDataProxy(intf, compositeData);
- }
-
- protected <T> T createCompositeDataProxy(Class<T> intf, CompositeData compositeData)
- {
- return MXBeanUtils.createCompositeDataProxy(intf, compositeData);
- }
-
- protected CompositeData createTestCompositeData() throws Exception
- {
- return createCompositeData("Test", SimpleInterface.KEYS, SimpleInterface.VALUES);
- }
-
- protected SimpleInterface createTestCompositeDataProxy() throws Exception
- {
- return createCompositeDataProxy(SimpleInterface.class, SimpleInterface.KEYS, SimpleInterface.VALUES);
- }
-
- protected SimpleInterface createNullCompositeDataProxy() throws Exception
- {
- return createCompositeDataProxy(SimpleInterface.class, SimpleInterface.KEYS, SimpleInterface.TYPES, SimpleInterface.NULL_VALUES);
- }
-
- protected InvalidInterface createInvalidCompositeDataProxy() throws Exception
- {
- return createCompositeDataProxy(InvalidInterface.class, SimpleInterface.KEYS, SimpleInterface.VALUES);
- }
-
- protected SimpleInterface createTestCompositeDataProxy(String name) throws Exception
- {
- return createCompositeDataProxy(SimpleInterface.class, name, SimpleInterface.KEYS, SimpleInterface.VALUES);
- }
-
- protected MBeanServer createMBeanServer()
- {
- return MBeanServerFactory.newMBeanServer();
- }
-
- protected void assertNotNullArray(String context, Object[] array) throws Exception
- {
- assertNotNull(context + " is null ", array);
- for (int i = 0; i < array.length; ++i)
- assertNotNull(context + "[" + i + "] is null", array[i]);
- }
-
- public static Date createDate(int year, int month, int day)
- {
- Calendar calender = Calendar.getInstance();
- calender.clear();
- calender.set(year, month-1, day, 0, 0, 0);
- return calender.getTime();
- }
-
- public static String getUpperName(String name)
- {
- return Character.toUpperCase(name.charAt(0)) + name.substring(1);
- }
-}
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2008, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.test.mx.mxbean.test;
+
+import java.lang.reflect.Method;
+import java.lang.reflect.Proxy;
+import java.util.Arrays;
+import java.util.Calendar;
+import java.util.Date;
+import java.util.Set;
+
+import javax.management.MBeanServer;
+import javax.management.MBeanServerFactory;
+import javax.management.openmbean.CompositeData;
+import javax.management.openmbean.CompositeDataSupport;
+import javax.management.openmbean.CompositeType;
+import javax.management.openmbean.OpenType;
+import javax.management.openmbean.SimpleType;
+
+import junit.framework.AssertionFailedError;
+
+import org.jboss.logging.Logger;
+import org.jboss.mx.mxbean.CompositeDataInvocationHandler;
+import org.jboss.mx.mxbean.MXBeanUtils;
+import org.jboss.test.BaseTestCase;
+import org.jboss.test.mx.mxbean.support.InvalidInterface;
+import org.jboss.test.mx.mxbean.support.SimpleInterface;
+import org.jboss.util.UnexpectedThrowable;
+
+/**
+ * AbstractMXBeanTest.
+ *
+ * @author <a href="adrian at jboss.com">Adrian Brock</a>
+ * @version $Revision: 1.1 $
+ */
+public abstract class AbstractMXBeanTest extends BaseTestCase
+{
+ private static Logger staticLog = Logger.getLogger(AbstractMXBeanTest.class);
+
+ public AbstractMXBeanTest(String name)
+ {
+ super(name);
+ }
+
+ // @fixme move to AbstractTestCase
+ public static void checkThrowableDeep(Class<? extends Throwable> wrapperExpected, Class<? extends Throwable> deepExpected, Throwable throwable) throws Exception
+ {
+ assertNotNull(deepExpected);
+ assertNotNull(throwable);
+
+ Throwable original = throwable;
+
+ if (wrapperExpected != null)
+ {
+ if (wrapperExpected.isInstance(original) == false)
+ {
+ if (original instanceof Exception)
+ throw (Exception) original;
+ else if (original instanceof Error)
+ throw (Error) original;
+ else
+ throw new UnexpectedThrowable("UnexpectedThrowable", original);
+ }
+ staticLog.debug("Got expected " + wrapperExpected.getName() + "(" + original + ")");
+ }
+
+ while (throwable.getCause() != null)
+ throwable = throwable.getCause();
+
+ if (deepExpected.isInstance(throwable) == false)
+ {
+ if (original instanceof Exception)
+ throw (Exception) original;
+ else if (original instanceof Error)
+ throw (Error) original;
+ else
+ throw new UnexpectedThrowable("UnexpectedThrowable", original);
+ }
+ else
+ {
+ staticLog.debug("Got expected " + deepExpected.getName() + "(" + throwable + ")");
+ }
+ }
+
+ // @fixme move to AbstractTestCase
+ public static void checkThrowableDeep(Class<? extends Throwable> expected, Throwable throwable) throws Exception
+ {
+ checkThrowableDeep(null, expected, throwable);
+ }
+
+ // @fixme move to AbstractTestCase
+ public static <T> T assertInstanceOf(Class<T> expected, Object object) throws Exception
+ {
+ if (object == null)
+ return null;
+ assertTrue(object.getClass(). getName() + " is not an instance of " + expected.getName(), expected.isInstance(object));
+ return expected.cast(object);
+ }
+
+ public static void checkArrayEquals(Object expected, Object actual)
+ {
+ Object[] a1 = (Object[]) expected;
+ Object[] a2 = (Object[]) actual;
+ if (Arrays.deepEquals(a1, a2) == false)
+ throw new AssertionFailedError("Expected: " + a1 + "=" + Arrays.deepToString(a1) + " got " + a2 + "=" + Arrays.deepToString(a2));
+ }
+
+ @SuppressWarnings("unchecked")
+ public static void checkCompositeDataHandlerEquals(Object expected, Object actual)
+ {
+ if (expected == null)
+ {
+ assertEquals(expected, actual);
+ return;
+ }
+
+ CompositeDataInvocationHandler handler = (CompositeDataInvocationHandler) Proxy.getInvocationHandler(actual);
+ CompositeData data = handler.getCompositeData();
+ CompositeType type = data.getCompositeType();
+ Set<String> names = type.keySet();
+ Class clazz = expected.getClass();
+ for (String name : names)
+ {
+ OpenType itemType = type.getType(name);
+ try
+ {
+ Method method = MXBeanUtils.getCompositeDataMethod(clazz, name, itemType == SimpleType.BOOLEAN);
+ Object expectedValue = method.invoke(expected, null);
+ Object actualValue = handler.invoke(actual, method, null);
+ assertEquals(expectedValue, actualValue);
+ }
+ catch (RuntimeException e)
+ {
+ throw e;
+ }
+ catch (Error e)
+ {
+ throw e;
+ }
+ catch (Throwable t)
+ {
+ throw new RuntimeException(t);
+ }
+ }
+ }
+
+ public static void checkValueEquals(Object expected, Object actual)
+ {
+ if (actual == null)
+ assertEquals(expected, actual);
+ else if (actual instanceof Proxy)
+ checkCompositeDataHandlerEquals(expected, actual);
+ else if (actual.getClass().isArray())
+ checkArrayEquals(expected, actual);
+ else
+ assertEquals(expected, actual);
+ }
+
+ protected CompositeData createCompositeData(String name, String[] keys, Object[] values) throws Exception
+ {
+ assertNotNullArray("values", values);
+
+ Class[] types = new Class[values.length];
+ for (int i = 0; i < values.length; ++i)
+ types[i] = values[i].getClass();
+
+ return createCompositeData(name, keys, types, values);
+ }
+
+ protected CompositeData createCompositeData(String name, String[] keys, Class[] types, Object[] values) throws Exception
+ {
+ CompositeType compositeType = createCompositeType(name, keys, types);
+ return new CompositeDataSupport(compositeType, keys, values);
+ }
+
+ protected CompositeData createCompositeData(String name, String[] keys, OpenType[] openTypes, Object[] values) throws Exception
+ {
+ CompositeType compositeType = createCompositeType(name, keys, openTypes);
+ return new CompositeDataSupport(compositeType, keys, values);
+ }
+
+ protected CompositeType createCompositeType(String name, String[] keys, Class[] types) throws Exception
+ {
+ assertNotNull(name);
+ assertNotNullArray("keys", keys);
+ assertNotNullArray("types", types);
+ assertEquals(keys.length, types.length);
+
+ OpenType[] openTypes = new OpenType[types.length];
+ for (int i = 0; i < types.length; ++i)
+ openTypes[i] = MXBeanUtils.getOpenType(types[i]);
+
+ return new CompositeType(name, name, keys, keys, openTypes);
+ }
+
+ protected CompositeType createCompositeType(String name, String[] keys, OpenType[] openTypes) throws Exception
+ {
+ assertNotNull(name);
+ assertNotNullArray("keys", keys);
+ assertNotNullArray("types", openTypes);
+ assertEquals(keys.length, openTypes.length);
+
+ return new CompositeType(name, name, keys, keys, openTypes);
+ }
+
+ protected <T> T createCompositeDataProxy(Class<T> intf, String[] keys, Object[] values) throws Exception
+ {
+ assertNotNull(intf);
+ return createCompositeDataProxy(intf, intf.getName(), keys, values);
+ }
+
+ protected <T> T createCompositeDataProxy(Class<T> intf, String name, String[] keys, Object[] values) throws Exception
+ {
+ CompositeData compositeData = createCompositeData(name, keys, values);
+ return createCompositeDataProxy(intf, compositeData);
+ }
+
+ protected <T> T createCompositeDataProxy(Class<T> intf, String[] keys, Class[] types, Object[] values) throws Exception
+ {
+ assertNotNull(intf);
+ return createCompositeDataProxy(intf, intf.getName(), keys, types, values);
+ }
+
+ protected <T> T createCompositeDataProxy(Class<T> intf, String name, String[] keys, Class[] types, Object[] values) throws Exception
+ {
+ CompositeData compositeData = createCompositeData(name, keys, types, values);
+ return createCompositeDataProxy(intf, compositeData);
+ }
+
+ protected <T> T createCompositeDataProxy(Class<T> intf, String name, String[] keys, OpenType[] openTypes, Object[] values) throws Exception
+ {
+ CompositeData compositeData = createCompositeData(name, keys, openTypes, values);
+ return createCompositeDataProxy(intf, compositeData);
+ }
+
+ protected <T> T createCompositeDataProxy(Class<T> intf, CompositeData compositeData)
+ {
+ return MXBeanUtils.createCompositeDataProxy(intf, compositeData);
+ }
+
+ protected CompositeData createTestCompositeData() throws Exception
+ {
+ return createCompositeData("Test", SimpleInterface.KEYS, SimpleInterface.VALUES);
+ }
+
+ protected SimpleInterface createTestCompositeDataProxy() throws Exception
+ {
+ return createCompositeDataProxy(SimpleInterface.class, SimpleInterface.KEYS, SimpleInterface.VALUES);
+ }
+
+ protected SimpleInterface createNullCompositeDataProxy() throws Exception
+ {
+ return createCompositeDataProxy(SimpleInterface.class, SimpleInterface.KEYS, SimpleInterface.TYPES, SimpleInterface.NULL_VALUES);
+ }
+
+ protected InvalidInterface createInvalidCompositeDataProxy() throws Exception
+ {
+ return createCompositeDataProxy(InvalidInterface.class, SimpleInterface.KEYS, SimpleInterface.VALUES);
+ }
+
+ protected SimpleInterface createTestCompositeDataProxy(String name) throws Exception
+ {
+ return createCompositeDataProxy(SimpleInterface.class, name, SimpleInterface.KEYS, SimpleInterface.VALUES);
+ }
+
+ protected MBeanServer createMBeanServer()
+ {
+ return MBeanServerFactory.newMBeanServer();
+ }
+
+ protected void assertNotNullArray(String context, Object[] array) throws Exception
+ {
+ assertNotNull(context + " is null ", array);
+ for (int i = 0; i < array.length; ++i)
+ assertNotNull(context + "[" + i + "] is null", array[i]);
+ }
+
+ public static Date createDate(int year, int month, int day)
+ {
+ Calendar calender = Calendar.getInstance();
+ calender.clear();
+ calender.set(year, month-1, day, 0, 0, 0);
+ return calender.getTime();
+ }
+
+ public static String getUpperName(String name)
+ {
+ return Character.toUpperCase(name.charAt(0)) + name.substring(1);
+ }
+}
Modified: trunk/mbeans/src/tests/org/jboss/test/mx/mxbean/test/CompositeDataArrayUnitTestCase.java
===================================================================
--- trunk/mbeans/src/tests/org/jboss/test/mx/mxbean/test/CompositeDataArrayUnitTestCase.java 2008-11-14 12:49:40 UTC (rev 81025)
+++ trunk/mbeans/src/tests/org/jboss/test/mx/mxbean/test/CompositeDataArrayUnitTestCase.java 2008-11-14 12:51:05 UTC (rev 81026)
@@ -1,103 +1,103 @@
-/*
-* JBoss, Home of Professional Open Source
-* Copyright 2006, JBoss Inc., and individual contributors as indicated
-* by the @authors tag. See the copyright.txt in the distribution for a
-* full listing of individual contributors.
-*
-* This is free software; you can redistribute it and/or modify it
-* under the terms of the GNU Lesser General Public License as
-* published by the Free Software Foundation; either version 2.1 of
-* the License, or (at your option) any later version.
-*
-* This software is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-* Lesser General Public License for more details.
-*
-* You should have received a copy of the GNU Lesser General Public
-* License along with this software; if not, write to the Free
-* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
-* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
-*/
-package org.jboss.test.mx.mxbean.test;
-
-import org.jboss.test.mx.mxbean.support.TestEnum;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-/**
- * CompositeDataArrayUnitTestCase.
- *
- * @author <a href="adrian at jboss.com">Adrian Brock</a>
- * @version $Revision: 1.1 $
- */
-public class CompositeDataArrayUnitTestCase extends CompositeDataTest
-{
- public static Test suite()
- {
- return new TestSuite(CompositeDataArrayUnitTestCase.class);
- }
-
- public CompositeDataArrayUnitTestCase(String name)
- {
- super(name);
- }
-
- public void testArrayString() throws Exception
- {
- String[] array = { "one", "two", "three" };
- constructReconstructTest(array);
- }
-
- public void testMultiArrayString() throws Exception
- {
- String[][] array = { { "one", "two", "three" }, { "four", "five", "six" } };
- constructReconstructTest(array);
- }
-
- public void testArrayEnum() throws Exception
- {
- TestEnum[] array = { TestEnum.FIRST, TestEnum.SECOND };
- String[] openData = { TestEnum.FIRST.name(), TestEnum.SECOND.name() };
- constructReconstructTest(array, openData);
- }
-
- public void testMultiArrayEnum() throws Exception
- {
- TestEnum[][] array = { { TestEnum.FIRST, TestEnum.SECOND }, { TestEnum.SECOND } };
- String[][] openData = { { TestEnum.FIRST.name(), TestEnum.SECOND.name() }, { TestEnum.SECOND.name() } };
- constructReconstructTest(array, openData);
- }
-
- public void testArrayNull() throws Exception
- {
- constructReconstructTest(null, new String[0].getClass());
- }
-
- public void testArrayElementNull() throws Exception
- {
- TestEnum[] array = { TestEnum.FIRST, null };
- String[] openData = { TestEnum.FIRST.name(), null };
- constructReconstructTest(array, openData);
- }
-
- public void testMultiArrayElementNull() throws Exception
- {
- TestEnum[][] array = { { TestEnum.FIRST, null }, { TestEnum.SECOND } };
- String[][] openData = { { TestEnum.FIRST.name(), null }, { TestEnum.SECOND.name() } };
- constructReconstructTest(array, openData);
- }
-
- public void testMultiArrayNull() throws Exception
- {
- TestEnum[][] array = { { TestEnum.FIRST, TestEnum.SECOND }, null, { TestEnum.SECOND } };
- String[][] openData = { { TestEnum.FIRST.name(), TestEnum.SECOND.name() }, null, { TestEnum.SECOND.name() } };
- constructReconstructTest(array, openData);
- }
-
- public void checkEquals(Object expected, Object actual)
- {
- checkArrayEquals(expected, actual);
- }
-}
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2008, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.test.mx.mxbean.test;
+
+import org.jboss.test.mx.mxbean.support.TestEnum;
+
+import junit.framework.Test;
+import junit.framework.TestSuite;
+
+/**
+ * CompositeDataArrayUnitTestCase.
+ *
+ * @author <a href="adrian at jboss.com">Adrian Brock</a>
+ * @version $Revision: 1.1 $
+ */
+public class CompositeDataArrayUnitTestCase extends CompositeDataTest
+{
+ public static Test suite()
+ {
+ return new TestSuite(CompositeDataArrayUnitTestCase.class);
+ }
+
+ public CompositeDataArrayUnitTestCase(String name)
+ {
+ super(name);
+ }
+
+ public void testArrayString() throws Exception
+ {
+ String[] array = { "one", "two", "three" };
+ constructReconstructTest(array);
+ }
+
+ public void testMultiArrayString() throws Exception
+ {
+ String[][] array = { { "one", "two", "three" }, { "four", "five", "six" } };
+ constructReconstructTest(array);
+ }
+
+ public void testArrayEnum() throws Exception
+ {
+ TestEnum[] array = { TestEnum.FIRST, TestEnum.SECOND };
+ String[] openData = { TestEnum.FIRST.name(), TestEnum.SECOND.name() };
+ constructReconstructTest(array, openData);
+ }
+
+ public void testMultiArrayEnum() throws Exception
+ {
+ TestEnum[][] array = { { TestEnum.FIRST, TestEnum.SECOND }, { TestEnum.SECOND } };
+ String[][] openData = { { TestEnum.FIRST.name(), TestEnum.SECOND.name() }, { TestEnum.SECOND.name() } };
+ constructReconstructTest(array, openData);
+ }
+
+ public void testArrayNull() throws Exception
+ {
+ constructReconstructTest(null, new String[0].getClass());
+ }
+
+ public void testArrayElementNull() throws Exception
+ {
+ TestEnum[] array = { TestEnum.FIRST, null };
+ String[] openData = { TestEnum.FIRST.name(), null };
+ constructReconstructTest(array, openData);
+ }
+
+ public void testMultiArrayElementNull() throws Exception
+ {
+ TestEnum[][] array = { { TestEnum.FIRST, null }, { TestEnum.SECOND } };
+ String[][] openData = { { TestEnum.FIRST.name(), null }, { TestEnum.SECOND.name() } };
+ constructReconstructTest(array, openData);
+ }
+
+ public void testMultiArrayNull() throws Exception
+ {
+ TestEnum[][] array = { { TestEnum.FIRST, TestEnum.SECOND }, null, { TestEnum.SECOND } };
+ String[][] openData = { { TestEnum.FIRST.name(), TestEnum.SECOND.name() }, null, { TestEnum.SECOND.name() } };
+ constructReconstructTest(array, openData);
+ }
+
+ public void checkEquals(Object expected, Object actual)
+ {
+ checkArrayEquals(expected, actual);
+ }
+}
Modified: trunk/mbeans/src/tests/org/jboss/test/mx/mxbean/test/CompositeDataBigDecimalUnitTestCase.java
===================================================================
--- trunk/mbeans/src/tests/org/jboss/test/mx/mxbean/test/CompositeDataBigDecimalUnitTestCase.java 2008-11-14 12:49:40 UTC (rev 81025)
+++ trunk/mbeans/src/tests/org/jboss/test/mx/mxbean/test/CompositeDataBigDecimalUnitTestCase.java 2008-11-14 12:51:05 UTC (rev 81026)
@@ -1,56 +1,56 @@
-/*
-* JBoss, Home of Professional Open Source
-* Copyright 2006, JBoss Inc., and individual contributors as indicated
-* by the @authors tag. See the copyright.txt in the distribution for a
-* full listing of individual contributors.
-*
-* This is free software; you can redistribute it and/or modify it
-* under the terms of the GNU Lesser General Public License as
-* published by the Free Software Foundation; either version 2.1 of
-* the License, or (at your option) any later version.
-*
-* This software is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-* Lesser General Public License for more details.
-*
-* You should have received a copy of the GNU Lesser General Public
-* License along with this software; if not, write to the Free
-* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
-* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
-*/
-package org.jboss.test.mx.mxbean.test;
-
-import java.math.BigDecimal;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-/**
- * CompositeDataBigDecimalUnitTestCase.
- *
- * @author <a href="adrian at jboss.com">Adrian Brock</a>
- * @version $Revision: 1.1 $
- */
-public class CompositeDataBigDecimalUnitTestCase extends CompositeDataTest
-{
- public static Test suite()
- {
- return new TestSuite(CompositeDataBigDecimalUnitTestCase.class);
- }
-
- public CompositeDataBigDecimalUnitTestCase(String name)
- {
- super(name);
- }
-
- public void testBigDecimal() throws Exception
- {
- constructReconstructTest(new BigDecimal("12e4"));
- }
-
- public void testBigDecimalNull() throws Exception
- {
- constructReconstructTest(null, BigDecimal.class);
- }
-}
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2008, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.test.mx.mxbean.test;
+
+import java.math.BigDecimal;
+
+import junit.framework.Test;
+import junit.framework.TestSuite;
+
+/**
+ * CompositeDataBigDecimalUnitTestCase.
+ *
+ * @author <a href="adrian at jboss.com">Adrian Brock</a>
+ * @version $Revision: 1.1 $
+ */
+public class CompositeDataBigDecimalUnitTestCase extends CompositeDataTest
+{
+ public static Test suite()
+ {
+ return new TestSuite(CompositeDataBigDecimalUnitTestCase.class);
+ }
+
+ public CompositeDataBigDecimalUnitTestCase(String name)
+ {
+ super(name);
+ }
+
+ public void testBigDecimal() throws Exception
+ {
+ constructReconstructTest(new BigDecimal("12e4"));
+ }
+
+ public void testBigDecimalNull() throws Exception
+ {
+ constructReconstructTest(null, BigDecimal.class);
+ }
+}
Modified: trunk/mbeans/src/tests/org/jboss/test/mx/mxbean/test/CompositeDataBigIntegerUnitTestCase.java
===================================================================
--- trunk/mbeans/src/tests/org/jboss/test/mx/mxbean/test/CompositeDataBigIntegerUnitTestCase.java 2008-11-14 12:49:40 UTC (rev 81025)
+++ trunk/mbeans/src/tests/org/jboss/test/mx/mxbean/test/CompositeDataBigIntegerUnitTestCase.java 2008-11-14 12:51:05 UTC (rev 81026)
@@ -1,56 +1,56 @@
-/*
-* JBoss, Home of Professional Open Source
-* Copyright 2006, JBoss Inc., and individual contributors as indicated
-* by the @authors tag. See the copyright.txt in the distribution for a
-* full listing of individual contributors.
-*
-* This is free software; you can redistribute it and/or modify it
-* under the terms of the GNU Lesser General Public License as
-* published by the Free Software Foundation; either version 2.1 of
-* the License, or (at your option) any later version.
-*
-* This software is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-* Lesser General Public License for more details.
-*
-* You should have received a copy of the GNU Lesser General Public
-* License along with this software; if not, write to the Free
-* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
-* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
-*/
-package org.jboss.test.mx.mxbean.test;
-
-import java.math.BigInteger;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-/**
- * CompositeDataBigIntegerUnitTestCase.
- *
- * @author <a href="adrian at jboss.com">Adrian Brock</a>
- * @version $Revision: 1.1 $
- */
-public class CompositeDataBigIntegerUnitTestCase extends CompositeDataTest
-{
- public static Test suite()
- {
- return new TestSuite(CompositeDataBigIntegerUnitTestCase.class);
- }
-
- public CompositeDataBigIntegerUnitTestCase(String name)
- {
- super(name);
- }
-
- public void testBigInteger() throws Exception
- {
- constructReconstructTest(new BigInteger("123456"));
- }
-
- public void testBigIntegerNull() throws Exception
- {
- constructReconstructTest(null, BigInteger.class);
- }
-}
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2008, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.test.mx.mxbean.test;
+
+import java.math.BigInteger;
+
+import junit.framework.Test;
+import junit.framework.TestSuite;
+
+/**
+ * CompositeDataBigIntegerUnitTestCase.
+ *
+ * @author <a href="adrian at jboss.com">Adrian Brock</a>
+ * @version $Revision: 1.1 $
+ */
+public class CompositeDataBigIntegerUnitTestCase extends CompositeDataTest
+{
+ public static Test suite()
+ {
+ return new TestSuite(CompositeDataBigIntegerUnitTestCase.class);
+ }
+
+ public CompositeDataBigIntegerUnitTestCase(String name)
+ {
+ super(name);
+ }
+
+ public void testBigInteger() throws Exception
+ {
+ constructReconstructTest(new BigInteger("123456"));
+ }
+
+ public void testBigIntegerNull() throws Exception
+ {
+ constructReconstructTest(null, BigInteger.class);
+ }
+}
Modified: trunk/mbeans/src/tests/org/jboss/test/mx/mxbean/test/CompositeDataBooleanUnitTestCase.java
===================================================================
--- trunk/mbeans/src/tests/org/jboss/test/mx/mxbean/test/CompositeDataBooleanUnitTestCase.java 2008-11-14 12:49:40 UTC (rev 81025)
+++ trunk/mbeans/src/tests/org/jboss/test/mx/mxbean/test/CompositeDataBooleanUnitTestCase.java 2008-11-14 12:51:05 UTC (rev 81026)
@@ -1,74 +1,74 @@
-/*
-* JBoss, Home of Professional Open Source
-* Copyright 2006, JBoss Inc., and individual contributors as indicated
-* by the @authors tag. See the copyright.txt in the distribution for a
-* full listing of individual contributors.
-*
-* This is free software; you can redistribute it and/or modify it
-* under the terms of the GNU Lesser General Public License as
-* published by the Free Software Foundation; either version 2.1 of
-* the License, or (at your option) any later version.
-*
-* This software is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-* Lesser General Public License for more details.
-*
-* You should have received a copy of the GNU Lesser General Public
-* License along with this software; if not, write to the Free
-* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
-* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
-*/
-package org.jboss.test.mx.mxbean.test;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-/**
- * CompositeDataBooleanUnitTestCase.
- *
- * @author <a href="adrian at jboss.com">Adrian Brock</a>
- * @version $Revision: 1.1 $
- */
-public class CompositeDataBooleanUnitTestCase extends CompositeDataTest
-{
- public static Test suite()
- {
- return new TestSuite(CompositeDataBooleanUnitTestCase.class);
- }
-
- public CompositeDataBooleanUnitTestCase(String name)
- {
- super(name);
- }
-
- public void testBooleanTrue() throws Exception
- {
- constructReconstructTest(new Boolean(true));
- }
-
- public void testBooleanFalse() throws Exception
- {
- constructReconstructTest(new Boolean(false));
- }
-
- public void testBooleanNull() throws Exception
- {
- constructReconstructTest(null, Boolean.class);
- }
-
- public void testBooleanTruePrimitive() throws Exception
- {
- constructReconstructTest(new Boolean(true), Boolean.TYPE);
- }
-
- public void testBooleanFalsePrimitive() throws Exception
- {
- constructReconstructTest(new Boolean(false), Boolean.TYPE);
- }
-
- public void testBooleanNullPrimitive() throws Exception
- {
- assertNullFailure(Boolean.TYPE);
- }
-}
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2008, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.test.mx.mxbean.test;
+
+import junit.framework.Test;
+import junit.framework.TestSuite;
+
+/**
+ * CompositeDataBooleanUnitTestCase.
+ *
+ * @author <a href="adrian at jboss.com">Adrian Brock</a>
+ * @version $Revision: 1.1 $
+ */
+public class CompositeDataBooleanUnitTestCase extends CompositeDataTest
+{
+ public static Test suite()
+ {
+ return new TestSuite(CompositeDataBooleanUnitTestCase.class);
+ }
+
+ public CompositeDataBooleanUnitTestCase(String name)
+ {
+ super(name);
+ }
+
+ public void testBooleanTrue() throws Exception
+ {
+ constructReconstructTest(new Boolean(true));
+ }
+
+ public void testBooleanFalse() throws Exception
+ {
+ constructReconstructTest(new Boolean(false));
+ }
+
+ public void testBooleanNull() throws Exception
+ {
+ constructReconstructTest(null, Boolean.class);
+ }
+
+ public void testBooleanTruePrimitive() throws Exception
+ {
+ constructReconstructTest(new Boolean(true), Boolean.TYPE);
+ }
+
+ public void testBooleanFalsePrimitive() throws Exception
+ {
+ constructReconstructTest(new Boolean(false), Boolean.TYPE);
+ }
+
+ public void testBooleanNullPrimitive() throws Exception
+ {
+ assertNullFailure(Boolean.TYPE);
+ }
+}
Modified: trunk/mbeans/src/tests/org/jboss/test/mx/mxbean/test/CompositeDataByteUnitTestCase.java
===================================================================
--- trunk/mbeans/src/tests/org/jboss/test/mx/mxbean/test/CompositeDataByteUnitTestCase.java 2008-11-14 12:49:40 UTC (rev 81025)
+++ trunk/mbeans/src/tests/org/jboss/test/mx/mxbean/test/CompositeDataByteUnitTestCase.java 2008-11-14 12:51:05 UTC (rev 81026)
@@ -1,64 +1,64 @@
-/*
-* JBoss, Home of Professional Open Source
-* Copyright 2006, JBoss Inc., and individual contributors as indicated
-* by the @authors tag. See the copyright.txt in the distribution for a
-* full listing of individual contributors.
-*
-* This is free software; you can redistribute it and/or modify it
-* under the terms of the GNU Lesser General Public License as
-* published by the Free Software Foundation; either version 2.1 of
-* the License, or (at your option) any later version.
-*
-* This software is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-* Lesser General Public License for more details.
-*
-* You should have received a copy of the GNU Lesser General Public
-* License along with this software; if not, write to the Free
-* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
-* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
-*/
-package org.jboss.test.mx.mxbean.test;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-/**
- * CompositeDataByteUnitTestCase.
- *
- * @author <a href="adrian at jboss.com">Adrian Brock</a>
- * @version $Revision: 1.1 $
- */
-public class CompositeDataByteUnitTestCase extends CompositeDataTest
-{
- public static Test suite()
- {
- return new TestSuite(CompositeDataByteUnitTestCase.class);
- }
-
- public CompositeDataByteUnitTestCase(String name)
- {
- super(name);
- }
-
- public void testByte() throws Exception
- {
- constructReconstructTest(new Byte(Byte.MAX_VALUE));
- }
-
- public void testByteNull() throws Exception
- {
- constructReconstructTest(null, Byte.class);
- }
-
- public void testBytePrimitive() throws Exception
- {
- constructReconstructTest(Byte.MAX_VALUE, Byte.TYPE);
- }
-
- public void testByteNullPrimitive() throws Exception
- {
- assertNullFailure(Byte.TYPE);
- }
-}
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2008, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.test.mx.mxbean.test;
+
+import junit.framework.Test;
+import junit.framework.TestSuite;
+
+/**
+ * CompositeDataByteUnitTestCase.
+ *
+ * @author <a href="adrian at jboss.com">Adrian Brock</a>
+ * @version $Revision: 1.1 $
+ */
+public class CompositeDataByteUnitTestCase extends CompositeDataTest
+{
+ public static Test suite()
+ {
+ return new TestSuite(CompositeDataByteUnitTestCase.class);
+ }
+
+ public CompositeDataByteUnitTestCase(String name)
+ {
+ super(name);
+ }
+
+ public void testByte() throws Exception
+ {
+ constructReconstructTest(new Byte(Byte.MAX_VALUE));
+ }
+
+ public void testByteNull() throws Exception
+ {
+ constructReconstructTest(null, Byte.class);
+ }
+
+ public void testBytePrimitive() throws Exception
+ {
+ constructReconstructTest(Byte.MAX_VALUE, Byte.TYPE);
+ }
+
+ public void testByteNullPrimitive() throws Exception
+ {
+ assertNullFailure(Byte.TYPE);
+ }
+}
Modified: trunk/mbeans/src/tests/org/jboss/test/mx/mxbean/test/CompositeDataCharacterUnitTestCase.java
===================================================================
--- trunk/mbeans/src/tests/org/jboss/test/mx/mxbean/test/CompositeDataCharacterUnitTestCase.java 2008-11-14 12:49:40 UTC (rev 81025)
+++ trunk/mbeans/src/tests/org/jboss/test/mx/mxbean/test/CompositeDataCharacterUnitTestCase.java 2008-11-14 12:51:05 UTC (rev 81026)
@@ -1,64 +1,64 @@
-/*
-* JBoss, Home of Professional Open Source
-* Copyright 2006, JBoss Inc., and individual contributors as indicated
-* by the @authors tag. See the copyright.txt in the distribution for a
-* full listing of individual contributors.
-*
-* This is free software; you can redistribute it and/or modify it
-* under the terms of the GNU Lesser General Public License as
-* published by the Free Software Foundation; either version 2.1 of
-* the License, or (at your option) any later version.
-*
-* This software is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-* Lesser General Public License for more details.
-*
-* You should have received a copy of the GNU Lesser General Public
-* License along with this software; if not, write to the Free
-* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
-* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
-*/
-package org.jboss.test.mx.mxbean.test;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-/**
- * CompositeDataCharacterUnitTestCase.
- *
- * @author <a href="adrian at jboss.com">Adrian Brock</a>
- * @version $Revision: 1.1 $
- */
-public class CompositeDataCharacterUnitTestCase extends CompositeDataTest
-{
- public static Test suite()
- {
- return new TestSuite(CompositeDataCharacterUnitTestCase.class);
- }
-
- public CompositeDataCharacterUnitTestCase(String name)
- {
- super(name);
- }
-
- public void testCharacter() throws Exception
- {
- constructReconstructTest(new Character(Character.MAX_VALUE));
- }
-
- public void testCharacterNull() throws Exception
- {
- constructReconstructTest(null, Character.class);
- }
-
- public void testCharacterPrimitive() throws Exception
- {
- constructReconstructTest(Character.MAX_VALUE, Character.TYPE);
- }
-
- public void testCharacterNullPrimitive() throws Exception
- {
- assertNullFailure(Character.TYPE);
- }
-}
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2008, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.test.mx.mxbean.test;
+
+import junit.framework.Test;
+import junit.framework.TestSuite;
+
+/**
+ * CompositeDataCharacterUnitTestCase.
+ *
+ * @author <a href="adrian at jboss.com">Adrian Brock</a>
+ * @version $Revision: 1.1 $
+ */
+public class CompositeDataCharacterUnitTestCase extends CompositeDataTest
+{
+ public static Test suite()
+ {
+ return new TestSuite(CompositeDataCharacterUnitTestCase.class);
+ }
+
+ public CompositeDataCharacterUnitTestCase(String name)
+ {
+ super(name);
+ }
+
+ public void testCharacter() throws Exception
+ {
+ constructReconstructTest(new Character(Character.MAX_VALUE));
+ }
+
+ public void testCharacterNull() throws Exception
+ {
+ constructReconstructTest(null, Character.class);
+ }
+
+ public void testCharacterPrimitive() throws Exception
+ {
+ constructReconstructTest(Character.MAX_VALUE, Character.TYPE);
+ }
+
+ public void testCharacterNullPrimitive() throws Exception
+ {
+ assertNullFailure(Character.TYPE);
+ }
+}
Modified: trunk/mbeans/src/tests/org/jboss/test/mx/mxbean/test/CompositeDataCollectionUnitTestCase.java
===================================================================
--- trunk/mbeans/src/tests/org/jboss/test/mx/mxbean/test/CompositeDataCollectionUnitTestCase.java 2008-11-14 12:49:40 UTC (rev 81025)
+++ trunk/mbeans/src/tests/org/jboss/test/mx/mxbean/test/CompositeDataCollectionUnitTestCase.java 2008-11-14 12:51:05 UTC (rev 81026)
@@ -1,137 +1,137 @@
-/*
-* JBoss, Home of Professional Open Source
-* Copyright 2006, JBoss Inc., and individual contributors as indicated
-* by the @authors tag. See the copyright.txt in the distribution for a
-* full listing of individual contributors.
-*
-* This is free software; you can redistribute it and/or modify it
-* under the terms of the GNU Lesser General Public License as
-* published by the Free Software Foundation; either version 2.1 of
-* the License, or (at your option) any later version.
-*
-* This software is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-* Lesser General Public License for more details.
-*
-* You should have received a copy of the GNU Lesser General Public
-* License along with this software; if not, write to the Free
-* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
-* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
-*/
-package org.jboss.test.mx.mxbean.test;
-
-import java.lang.reflect.Type;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.LinkedHashSet;
-import java.util.List;
-import java.util.Set;
-
-import org.jboss.test.mx.mxbean.support.TestParameterizedType;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-/**
- * CompositeDataCollectionUnitTestCase.
- *
- * @author <a href="adrian at jboss.com">Adrian Brock</a>
- * @version $Revision: 1.1 $
- */
-public class CompositeDataCollectionUnitTestCase extends CompositeDataTest
-{
- private static final TestParameterizedType COLLECTION_OF_STRINGS = new TestParameterizedType(Collection.class, new Type[] { String.class });
- private static final TestParameterizedType LIST_OF_STRINGS = new TestParameterizedType(List.class, new Type[] { String.class });
- private static final TestParameterizedType SET_OF_STRINGS = new TestParameterizedType(Set.class, new Type[] { String.class });
-
- public static Test suite()
- {
- return new TestSuite(CompositeDataCollectionUnitTestCase.class);
- }
-
- public CompositeDataCollectionUnitTestCase(String name)
- {
- super(name);
- }
-
- public void testCollection() throws Exception
- {
- Collection<String> c = new ArrayList<String>();
- c.add("one");
- c.add("two");
- c.add("three");
- String[] openData = { "one", "two", "three" };
- constructReconstructTest(c, COLLECTION_OF_STRINGS, openData);
- }
-
- public void testCollectionNull() throws Exception
- {
- constructReconstructTest(null, COLLECTION_OF_STRINGS);
- }
-
- public void testCollectionContainsNull() throws Exception
- {
- Collection<String> c = new ArrayList<String>();
- c.add("one");
- c.add(null);
- c.add("three");
- String[] openData = { "one", null, "three" };
- constructReconstructTest(c, COLLECTION_OF_STRINGS, openData);
- }
-
- public void testList() throws Exception
- {
- ArrayList<String> c = new ArrayList<String>();
- c.add("one");
- c.add("two");
- c.add("three");
- String[] openData = { "one", "two", "three" };
- constructReconstructTest(c, LIST_OF_STRINGS, openData);
- }
-
- public void testListNull() throws Exception
- {
- constructReconstructTest(null, LIST_OF_STRINGS);
- }
-
- public void testListContainsNull() throws Exception
- {
- ArrayList<String> c = new ArrayList<String>();
- c.add("one");
- c.add(null);
- c.add("three");
- String[] openData = { "one", null, "three" };
- constructReconstructTest(c, LIST_OF_STRINGS, openData);
- }
-
- public void testSet() throws Exception
- {
- LinkedHashSet<String> c = new LinkedHashSet<String>();
- c.add("one");
- c.add("two");
- c.add("three");
- String[] openData = { "one", "two", "three" };
- constructReconstructTest(c, SET_OF_STRINGS, openData);
- }
-
- public void testSetNull() throws Exception
- {
- constructReconstructTest(null, SET_OF_STRINGS);
- }
-
- public void testSetContainsNull() throws Exception
- {
- LinkedHashSet<String> c = new LinkedHashSet<String>();
- c.add("one");
- c.add(null);
- c.add("three");
- String[] openData = { "one", null, "three" };
- constructReconstructTest(c, SET_OF_STRINGS, openData);
- }
-
- protected void checkOpenDataEquals(Object expected, Object actual)
- {
- checkArrayEquals(expected, actual);
- }
-}
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2008, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.test.mx.mxbean.test;
+
+import java.lang.reflect.Type;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.LinkedHashSet;
+import java.util.List;
+import java.util.Set;
+
+import org.jboss.test.mx.mxbean.support.TestParameterizedType;
+
+import junit.framework.Test;
+import junit.framework.TestSuite;
+
+/**
+ * CompositeDataCollectionUnitTestCase.
+ *
+ * @author <a href="adrian at jboss.com">Adrian Brock</a>
+ * @version $Revision: 1.1 $
+ */
+public class CompositeDataCollectionUnitTestCase extends CompositeDataTest
+{
+ private static final TestParameterizedType COLLECTION_OF_STRINGS = new TestParameterizedType(Collection.class, new Type[] { String.class });
+ private static final TestParameterizedType LIST_OF_STRINGS = new TestParameterizedType(List.class, new Type[] { String.class });
+ private static final TestParameterizedType SET_OF_STRINGS = new TestParameterizedType(Set.class, new Type[] { String.class });
+
+ public static Test suite()
+ {
+ return new TestSuite(CompositeDataCollectionUnitTestCase.class);
+ }
+
+ public CompositeDataCollectionUnitTestCase(String name)
+ {
+ super(name);
+ }
+
+ public void testCollection() throws Exception
+ {
+ Collection<String> c = new ArrayList<String>();
+ c.add("one");
+ c.add("two");
+ c.add("three");
+ String[] openData = { "one", "two", "three" };
+ constructReconstructTest(c, COLLECTION_OF_STRINGS, openData);
+ }
+
+ public void testCollectionNull() throws Exception
+ {
+ constructReconstructTest(null, COLLECTION_OF_STRINGS);
+ }
+
+ public void testCollectionContainsNull() throws Exception
+ {
+ Collection<String> c = new ArrayList<String>();
+ c.add("one");
+ c.add(null);
+ c.add("three");
+ String[] openData = { "one", null, "three" };
+ constructReconstructTest(c, COLLECTION_OF_STRINGS, openData);
+ }
+
+ public void testList() throws Exception
+ {
+ ArrayList<String> c = new ArrayList<String>();
+ c.add("one");
+ c.add("two");
+ c.add("three");
+ String[] openData = { "one", "two", "three" };
+ constructReconstructTest(c, LIST_OF_STRINGS, openData);
+ }
+
+ public void testListNull() throws Exception
+ {
+ constructReconstructTest(null, LIST_OF_STRINGS);
+ }
+
+ public void testListContainsNull() throws Exception
+ {
+ ArrayList<String> c = new ArrayList<String>();
+ c.add("one");
+ c.add(null);
+ c.add("three");
+ String[] openData = { "one", null, "three" };
+ constructReconstructTest(c, LIST_OF_STRINGS, openData);
+ }
+
+ public void testSet() throws Exception
+ {
+ LinkedHashSet<String> c = new LinkedHashSet<String>();
+ c.add("one");
+ c.add("two");
+ c.add("three");
+ String[] openData = { "one", "two", "three" };
+ constructReconstructTest(c, SET_OF_STRINGS, openData);
+ }
+
+ public void testSetNull() throws Exception
+ {
+ constructReconstructTest(null, SET_OF_STRINGS);
+ }
+
+ public void testSetContainsNull() throws Exception
+ {
+ LinkedHashSet<String> c = new LinkedHashSet<String>();
+ c.add("one");
+ c.add(null);
+ c.add("three");
+ String[] openData = { "one", null, "three" };
+ constructReconstructTest(c, SET_OF_STRINGS, openData);
+ }
+
+ protected void checkOpenDataEquals(Object expected, Object actual)
+ {
+ checkArrayEquals(expected, actual);
+ }
+}
Modified: trunk/mbeans/src/tests/org/jboss/test/mx/mxbean/test/CompositeDataCompositeUnitTestCase.java
===================================================================
--- trunk/mbeans/src/tests/org/jboss/test/mx/mxbean/test/CompositeDataCompositeUnitTestCase.java 2008-11-14 12:49:40 UTC (rev 81025)
+++ trunk/mbeans/src/tests/org/jboss/test/mx/mxbean/test/CompositeDataCompositeUnitTestCase.java 2008-11-14 12:51:05 UTC (rev 81026)
@@ -1,74 +1,74 @@
-/*
-* JBoss, Home of Professional Open Source
-* Copyright 2006, JBoss Inc., and individual contributors as indicated
-* by the @authors tag. See the copyright.txt in the distribution for a
-* full listing of individual contributors.
-*
-* This is free software; you can redistribute it and/or modify it
-* under the terms of the GNU Lesser General Public License as
-* published by the Free Software Foundation; either version 2.1 of
-* the License, or (at your option) any later version.
-*
-* This software is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-* Lesser General Public License for more details.
-*
-* You should have received a copy of the GNU Lesser General Public
-* License along with this software; if not, write to the Free
-* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
-* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
-*/
-package org.jboss.test.mx.mxbean.test;
-
-import javax.management.openmbean.CompositeData;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-import org.jboss.test.mx.mxbean.support.NullSimpleObject;
-import org.jboss.test.mx.mxbean.support.SimpleInterface;
-import org.jboss.test.mx.mxbean.support.SimpleObject;
-
-/**
- * CompositeDataCompositeUnitTestCase.
- *
- * @author <a href="adrian at jboss.com">Adrian Brock</a>
- * @version $Revision: 1.1 $
- */
-public class CompositeDataCompositeUnitTestCase extends CompositeDataTest
-{
- public static Test suite()
- {
- return new TestSuite(CompositeDataCompositeUnitTestCase.class);
- }
-
- public CompositeDataCompositeUnitTestCase(String name)
- {
- super(name);
- }
-
- public void testComposite() throws Exception
- {
- SimpleObject simple = new SimpleObject();
- CompositeData openData = createCompositeData(simple.getClass().getName(), SimpleInterface.KEYS, SimpleInterface.VALUES);
- constructReconstructTest(simple, openData);
- }
-
- public void testCompositeNull() throws Exception
- {
- constructReconstructTest(null, SimpleObject.class);
- }
-
- public void testCompositeContainsNull() throws Exception
- {
- NullSimpleObject simple = new NullSimpleObject();
- CompositeData openData = createCompositeData(simple.getClass().getName(), SimpleInterface.KEYS, SimpleInterface.TYPES, SimpleInterface.LEGAL_NULL_VALUES);
- constructReconstructTest(simple, openData);
- }
-
- protected void checkFinalEquals(Object expected, Object actual)
- {
- checkCompositeDataHandlerEquals(expected, actual);
- }
-}
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2008, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.test.mx.mxbean.test;
+
+import javax.management.openmbean.CompositeData;
+
+import junit.framework.Test;
+import junit.framework.TestSuite;
+
+import org.jboss.test.mx.mxbean.support.NullSimpleObject;
+import org.jboss.test.mx.mxbean.support.SimpleInterface;
+import org.jboss.test.mx.mxbean.support.SimpleObject;
+
+/**
+ * CompositeDataCompositeUnitTestCase.
+ *
+ * @author <a href="adrian at jboss.com">Adrian Brock</a>
+ * @version $Revision: 1.1 $
+ */
+public class CompositeDataCompositeUnitTestCase extends CompositeDataTest
+{
+ public static Test suite()
+ {
+ return new TestSuite(CompositeDataCompositeUnitTestCase.class);
+ }
+
+ public CompositeDataCompositeUnitTestCase(String name)
+ {
+ super(name);
+ }
+
+ public void testComposite() throws Exception
+ {
+ SimpleObject simple = new SimpleObject();
+ CompositeData openData = createCompositeData(simple.getClass().getName(), SimpleInterface.KEYS, SimpleInterface.VALUES);
+ constructReconstructTest(simple, openData);
+ }
+
+ public void testCompositeNull() throws Exception
+ {
+ constructReconstructTest(null, SimpleObject.class);
+ }
+
+ public void testCompositeContainsNull() throws Exception
+ {
+ NullSimpleObject simple = new NullSimpleObject();
+ CompositeData openData = createCompositeData(simple.getClass().getName(), SimpleInterface.KEYS, SimpleInterface.TYPES, SimpleInterface.LEGAL_NULL_VALUES);
+ constructReconstructTest(simple, openData);
+ }
+
+ protected void checkFinalEquals(Object expected, Object actual)
+ {
+ checkCompositeDataHandlerEquals(expected, actual);
+ }
+}
Modified: trunk/mbeans/src/tests/org/jboss/test/mx/mxbean/test/CompositeDataDateUnitTestCase.java
===================================================================
--- trunk/mbeans/src/tests/org/jboss/test/mx/mxbean/test/CompositeDataDateUnitTestCase.java 2008-11-14 12:49:40 UTC (rev 81025)
+++ trunk/mbeans/src/tests/org/jboss/test/mx/mxbean/test/CompositeDataDateUnitTestCase.java 2008-11-14 12:51:05 UTC (rev 81026)
@@ -1,56 +1,56 @@
-/*
-* JBoss, Home of Professional Open Source
-* Copyright 2006, JBoss Inc., and individual contributors as indicated
-* by the @authors tag. See the copyright.txt in the distribution for a
-* full listing of individual contributors.
-*
-* This is free software; you can redistribute it and/or modify it
-* under the terms of the GNU Lesser General Public License as
-* published by the Free Software Foundation; either version 2.1 of
-* the License, or (at your option) any later version.
-*
-* This software is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-* Lesser General Public License for more details.
-*
-* You should have received a copy of the GNU Lesser General Public
-* License along with this software; if not, write to the Free
-* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
-* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
-*/
-package org.jboss.test.mx.mxbean.test;
-
-import java.util.Date;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-/**
- * CompositeDataDateUnitTestCase.
- *
- * @author <a href="adrian at jboss.com">Adrian Brock</a>
- * @version $Revision: 1.1 $
- */
-public class CompositeDataDateUnitTestCase extends CompositeDataTest
-{
- public static Test suite()
- {
- return new TestSuite(CompositeDataDateUnitTestCase.class);
- }
-
- public CompositeDataDateUnitTestCase(String name)
- {
- super(name);
- }
-
- public void testDate() throws Exception
- {
- constructReconstructTest(createDate(2001, 1, 1));
- }
-
- public void testDateNull() throws Exception
- {
- constructReconstructTest(null, Date.class);
- }
-}
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2008, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.test.mx.mxbean.test;
+
+import java.util.Date;
+
+import junit.framework.Test;
+import junit.framework.TestSuite;
+
+/**
+ * CompositeDataDateUnitTestCase.
+ *
+ * @author <a href="adrian at jboss.com">Adrian Brock</a>
+ * @version $Revision: 1.1 $
+ */
+public class CompositeDataDateUnitTestCase extends CompositeDataTest
+{
+ public static Test suite()
+ {
+ return new TestSuite(CompositeDataDateUnitTestCase.class);
+ }
+
+ public CompositeDataDateUnitTestCase(String name)
+ {
+ super(name);
+ }
+
+ public void testDate() throws Exception
+ {
+ constructReconstructTest(createDate(2001, 1, 1));
+ }
+
+ public void testDateNull() throws Exception
+ {
+ constructReconstructTest(null, Date.class);
+ }
+}
Modified: trunk/mbeans/src/tests/org/jboss/test/mx/mxbean/test/CompositeDataDoubleUnitTestCase.java
===================================================================
--- trunk/mbeans/src/tests/org/jboss/test/mx/mxbean/test/CompositeDataDoubleUnitTestCase.java 2008-11-14 12:49:40 UTC (rev 81025)
+++ trunk/mbeans/src/tests/org/jboss/test/mx/mxbean/test/CompositeDataDoubleUnitTestCase.java 2008-11-14 12:51:05 UTC (rev 81026)
@@ -1,64 +1,64 @@
-/*
-* JBoss, Home of Professional Open Source
-* Copyright 2006, JBoss Inc., and individual contributors as indicated
-* by the @authors tag. See the copyright.txt in the distribution for a
-* full listing of individual contributors.
-*
-* This is free software; you can redistribute it and/or modify it
-* under the terms of the GNU Lesser General Public License as
-* published by the Free Software Foundation; either version 2.1 of
-* the License, or (at your option) any later version.
-*
-* This software is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-* Lesser General Public License for more details.
-*
-* You should have received a copy of the GNU Lesser General Public
-* License along with this software; if not, write to the Free
-* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
-* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
-*/
-package org.jboss.test.mx.mxbean.test;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-/**
- * CompositeDataDoubleUnitTestCase.
- *
- * @author <a href="adrian at jboss.com">Adrian Brock</a>
- * @version $Revision: 1.1 $
- */
-public class CompositeDataDoubleUnitTestCase extends CompositeDataTest
-{
- public static Test suite()
- {
- return new TestSuite(CompositeDataDoubleUnitTestCase.class);
- }
-
- public CompositeDataDoubleUnitTestCase(String name)
- {
- super(name);
- }
-
- public void testDouble() throws Exception
- {
- constructReconstructTest(new Double(Double.MAX_VALUE));
- }
-
- public void testDoubleNull() throws Exception
- {
- constructReconstructTest(null, Double.class);
- }
-
- public void testDoublePrimitive() throws Exception
- {
- constructReconstructTest(Double.MAX_VALUE, Double.TYPE);
- }
-
- public void testDoubleNullPrimitive() throws Exception
- {
- assertNullFailure(Double.TYPE);
- }
-}
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2008, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.test.mx.mxbean.test;
+
+import junit.framework.Test;
+import junit.framework.TestSuite;
+
+/**
+ * CompositeDataDoubleUnitTestCase.
+ *
+ * @author <a href="adrian at jboss.com">Adrian Brock</a>
+ * @version $Revision: 1.1 $
+ */
+public class CompositeDataDoubleUnitTestCase extends CompositeDataTest
+{
+ public static Test suite()
+ {
+ return new TestSuite(CompositeDataDoubleUnitTestCase.class);
+ }
+
+ public CompositeDataDoubleUnitTestCase(String name)
+ {
+ super(name);
+ }
+
+ public void testDouble() throws Exception
+ {
+ constructReconstructTest(new Double(Double.MAX_VALUE));
+ }
+
+ public void testDoubleNull() throws Exception
+ {
+ constructReconstructTest(null, Double.class);
+ }
+
+ public void testDoublePrimitive() throws Exception
+ {
+ constructReconstructTest(Double.MAX_VALUE, Double.TYPE);
+ }
+
+ public void testDoubleNullPrimitive() throws Exception
+ {
+ assertNullFailure(Double.TYPE);
+ }
+}
Modified: trunk/mbeans/src/tests/org/jboss/test/mx/mxbean/test/CompositeDataEnumUnitTestCase.java
===================================================================
--- trunk/mbeans/src/tests/org/jboss/test/mx/mxbean/test/CompositeDataEnumUnitTestCase.java 2008-11-14 12:49:40 UTC (rev 81025)
+++ trunk/mbeans/src/tests/org/jboss/test/mx/mxbean/test/CompositeDataEnumUnitTestCase.java 2008-11-14 12:51:05 UTC (rev 81026)
@@ -1,56 +1,56 @@
-/*
-* JBoss, Home of Professional Open Source
-* Copyright 2006, JBoss Inc., and individual contributors as indicated
-* by the @authors tag. See the copyright.txt in the distribution for a
-* full listing of individual contributors.
-*
-* This is free software; you can redistribute it and/or modify it
-* under the terms of the GNU Lesser General Public License as
-* published by the Free Software Foundation; either version 2.1 of
-* the License, or (at your option) any later version.
-*
-* This software is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-* Lesser General Public License for more details.
-*
-* You should have received a copy of the GNU Lesser General Public
-* License along with this software; if not, write to the Free
-* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
-* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
-*/
-package org.jboss.test.mx.mxbean.test;
-
-import org.jboss.test.mx.mxbean.support.TestEnum;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-/**
- * CompositeTypeEnumUnitTestCase.
- *
- * @author <a href="adrian at jboss.com">Adrian Brock</a>
- * @version $Revision: 1.1 $
- */
-public class CompositeDataEnumUnitTestCase extends CompositeDataTest
-{
- public static Test suite()
- {
- return new TestSuite(CompositeDataEnumUnitTestCase.class);
- }
-
- public CompositeDataEnumUnitTestCase(String name)
- {
- super(name);
- }
-
- public void testEnum() throws Exception
- {
- constructReconstructTest(TestEnum.FIRST, TestEnum.FIRST.name());
- }
-
- public void testEnumNull() throws Exception
- {
- constructReconstructTest(null, TestEnum.class);
- }
-}
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2008, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.test.mx.mxbean.test;
+
+import org.jboss.test.mx.mxbean.support.TestEnum;
+
+import junit.framework.Test;
+import junit.framework.TestSuite;
+
+/**
+ * CompositeTypeEnumUnitTestCase.
+ *
+ * @author <a href="adrian at jboss.com">Adrian Brock</a>
+ * @version $Revision: 1.1 $
+ */
+public class CompositeDataEnumUnitTestCase extends CompositeDataTest
+{
+ public static Test suite()
+ {
+ return new TestSuite(CompositeDataEnumUnitTestCase.class);
+ }
+
+ public CompositeDataEnumUnitTestCase(String name)
+ {
+ super(name);
+ }
+
+ public void testEnum() throws Exception
+ {
+ constructReconstructTest(TestEnum.FIRST, TestEnum.FIRST.name());
+ }
+
+ public void testEnumNull() throws Exception
+ {
+ constructReconstructTest(null, TestEnum.class);
+ }
+}
Modified: trunk/mbeans/src/tests/org/jboss/test/mx/mxbean/test/CompositeDataFloatUnitTestCase.java
===================================================================
--- trunk/mbeans/src/tests/org/jboss/test/mx/mxbean/test/CompositeDataFloatUnitTestCase.java 2008-11-14 12:49:40 UTC (rev 81025)
+++ trunk/mbeans/src/tests/org/jboss/test/mx/mxbean/test/CompositeDataFloatUnitTestCase.java 2008-11-14 12:51:05 UTC (rev 81026)
@@ -1,64 +1,64 @@
-/*
-* JBoss, Home of Professional Open Source
-* Copyright 2006, JBoss Inc., and individual contributors as indicated
-* by the @authors tag. See the copyright.txt in the distribution for a
-* full listing of individual contributors.
-*
-* This is free software; you can redistribute it and/or modify it
-* under the terms of the GNU Lesser General Public License as
-* published by the Free Software Foundation; either version 2.1 of
-* the License, or (at your option) any later version.
-*
-* This software is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-* Lesser General Public License for more details.
-*
-* You should have received a copy of the GNU Lesser General Public
-* License along with this software; if not, write to the Free
-* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
-* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
-*/
-package org.jboss.test.mx.mxbean.test;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-/**
- * CompositeDataFloatUnitTestCase.
- *
- * @author <a href="adrian at jboss.com">Adrian Brock</a>
- * @version $Revision: 1.1 $
- */
-public class CompositeDataFloatUnitTestCase extends CompositeDataTest
-{
- public static Test suite()
- {
- return new TestSuite(CompositeDataFloatUnitTestCase.class);
- }
-
- public CompositeDataFloatUnitTestCase(String name)
- {
- super(name);
- }
-
- public void testFloat() throws Exception
- {
- constructReconstructTest(new Float(Float.MAX_VALUE));
- }
-
- public void testFloatNull() throws Exception
- {
- constructReconstructTest(null, Float.class);
- }
-
- public void testFloatPrimitive() throws Exception
- {
- constructReconstructTest(Float.MAX_VALUE, Float.TYPE);
- }
-
- public void testFloatNullPrimitive() throws Exception
- {
- assertNullFailure(Float.TYPE);
- }
-}
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2008, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.test.mx.mxbean.test;
+
+import junit.framework.Test;
+import junit.framework.TestSuite;
+
+/**
+ * CompositeDataFloatUnitTestCase.
+ *
+ * @author <a href="adrian at jboss.com">Adrian Brock</a>
+ * @version $Revision: 1.1 $
+ */
+public class CompositeDataFloatUnitTestCase extends CompositeDataTest
+{
+ public static Test suite()
+ {
+ return new TestSuite(CompositeDataFloatUnitTestCase.class);
+ }
+
+ public CompositeDataFloatUnitTestCase(String name)
+ {
+ super(name);
+ }
+
+ public void testFloat() throws Exception
+ {
+ constructReconstructTest(new Float(Float.MAX_VALUE));
+ }
+
+ public void testFloatNull() throws Exception
+ {
+ constructReconstructTest(null, Float.class);
+ }
+
+ public void testFloatPrimitive() throws Exception
+ {
+ constructReconstructTest(Float.MAX_VALUE, Float.TYPE);
+ }
+
+ public void testFloatNullPrimitive() throws Exception
+ {
+ assertNullFailure(Float.TYPE);
+ }
+}
Modified: trunk/mbeans/src/tests/org/jboss/test/mx/mxbean/test/CompositeDataIntegerUnitTestCase.java
===================================================================
--- trunk/mbeans/src/tests/org/jboss/test/mx/mxbean/test/CompositeDataIntegerUnitTestCase.java 2008-11-14 12:49:40 UTC (rev 81025)
+++ trunk/mbeans/src/tests/org/jboss/test/mx/mxbean/test/CompositeDataIntegerUnitTestCase.java 2008-11-14 12:51:05 UTC (rev 81026)
@@ -1,64 +1,64 @@
-/*
-* JBoss, Home of Professional Open Source
-* Copyright 2006, JBoss Inc., and individual contributors as indicated
-* by the @authors tag. See the copyright.txt in the distribution for a
-* full listing of individual contributors.
-*
-* This is free software; you can redistribute it and/or modify it
-* under the terms of the GNU Lesser General Public License as
-* published by the Free Software Foundation; either version 2.1 of
-* the License, or (at your option) any later version.
-*
-* This software is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-* Lesser General Public License for more details.
-*
-* You should have received a copy of the GNU Lesser General Public
-* License along with this software; if not, write to the Free
-* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
-* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
-*/
-package org.jboss.test.mx.mxbean.test;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-/**
- * CompositeDataIntegerUnitTestCase.
- *
- * @author <a href="adrian at jboss.com">Adrian Brock</a>
- * @version $Revision: 1.1 $
- */
-public class CompositeDataIntegerUnitTestCase extends CompositeDataTest
-{
- public static Test suite()
- {
- return new TestSuite(CompositeDataIntegerUnitTestCase.class);
- }
-
- public CompositeDataIntegerUnitTestCase(String name)
- {
- super(name);
- }
-
- public void testInteger() throws Exception
- {
- constructReconstructTest(new Integer(Integer.MAX_VALUE));
- }
-
- public void testIntegerNull() throws Exception
- {
- constructReconstructTest(null, Integer.class);
- }
-
- public void testIntegerPrimitive() throws Exception
- {
- constructReconstructTest(Integer.MAX_VALUE, Integer.TYPE);
- }
-
- public void testIntegerNullPrimitive() throws Exception
- {
- assertNullFailure(Integer.TYPE);
- }
-}
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2008, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.test.mx.mxbean.test;
+
+import junit.framework.Test;
+import junit.framework.TestSuite;
+
+/**
+ * CompositeDataIntegerUnitTestCase.
+ *
+ * @author <a href="adrian at jboss.com">Adrian Brock</a>
+ * @version $Revision: 1.1 $
+ */
+public class CompositeDataIntegerUnitTestCase extends CompositeDataTest
+{
+ public static Test suite()
+ {
+ return new TestSuite(CompositeDataIntegerUnitTestCase.class);
+ }
+
+ public CompositeDataIntegerUnitTestCase(String name)
+ {
+ super(name);
+ }
+
+ public void testInteger() throws Exception
+ {
+ constructReconstructTest(new Integer(Integer.MAX_VALUE));
+ }
+
+ public void testIntegerNull() throws Exception
+ {
+ constructReconstructTest(null, Integer.class);
+ }
+
+ public void testIntegerPrimitive() throws Exception
+ {
+ constructReconstructTest(Integer.MAX_VALUE, Integer.TYPE);
+ }
+
+ public void testIntegerNullPrimitive() throws Exception
+ {
+ assertNullFailure(Integer.TYPE);
+ }
+}
Modified: trunk/mbeans/src/tests/org/jboss/test/mx/mxbean/test/CompositeDataInvocationHandlerUnitTestCase.java
===================================================================
--- trunk/mbeans/src/tests/org/jboss/test/mx/mxbean/test/CompositeDataInvocationHandlerUnitTestCase.java 2008-11-14 12:49:40 UTC (rev 81025)
+++ trunk/mbeans/src/tests/org/jboss/test/mx/mxbean/test/CompositeDataInvocationHandlerUnitTestCase.java 2008-11-14 12:51:05 UTC (rev 81026)
@@ -1,361 +1,361 @@
-/*
-* JBoss, Home of Professional Open Source
-* Copyright 2006, JBoss Inc., and individual contributors as indicated
-* by the @authors tag. See the copyright.txt in the distribution for a
-* full listing of individual contributors.
-*
-* This is free software; you can redistribute it and/or modify it
-* under the terms of the GNU Lesser General Public License as
-* published by the Free Software Foundation; either version 2.1 of
-* the License, or (at your option) any later version.
-*
-* This software is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-* Lesser General Public License for more details.
-*
-* You should have received a copy of the GNU Lesser General Public
-* License along with this software; if not, write to the Free
-* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
-* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
-*/
-package org.jboss.test.mx.mxbean.test;
-
-import javax.management.openmbean.CompositeData;
-import javax.management.openmbean.InvalidKeyException;
-
-import junit.framework.AssertionFailedError;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-import org.jboss.mx.mxbean.CompositeDataInvocationHandler;
-import org.jboss.test.mx.mxbean.support.InvalidInterface;
-import org.jboss.test.mx.mxbean.support.SimpleInterface;
-
-/**
- * CompositeDataInvocationHandlerUnitTestCase.
- *
- * @author <a href="adrian at jboss.com">Adrian Brock</a>
- * @version $Revision: 1.1 $
- */
-public class CompositeDataInvocationHandlerUnitTestCase extends AbstractMXBeanTest
-{
- public static Test suite()
- {
- return new TestSuite(CompositeDataInvocationHandlerUnitTestCase.class);
- }
-
- public CompositeDataInvocationHandlerUnitTestCase(String name)
- {
- super(name);
- }
-
- public void testGetCompositeData() throws Exception
- {
- CompositeData compositeData = createTestCompositeData();
- CompositeDataInvocationHandler test = new CompositeDataInvocationHandler(compositeData);
- assertTrue(compositeData == test.getCompositeData());
- }
-
- public void testNullCompositeData() throws Exception
- {
- try
- {
- new CompositeDataInvocationHandler(null);
- fail("Should not be here");
- }
- catch (AssertionFailedError e)
- {
- throw e;
- }
- catch (Throwable t)
- {
- checkThrowable(IllegalArgumentException.class, t);
- }
- }
-
- public void testToEquals() throws Exception
- {
- SimpleInterface test1 = createTestCompositeDataProxy("Test1");
-
- assertFalse(test1.equals(null));
- assertFalse(test1.equals(new Object()));
- assertTrue(test1.equals(test1));
-
- SimpleInterface test2 = createTestCompositeDataProxy("Test2");
-
- assertFalse(test1.equals(test2));
- }
-
- public void testHashCode() throws Exception
- {
- CompositeData compositeData = createTestCompositeData();
- SimpleInterface test = createCompositeDataProxy(SimpleInterface.class, compositeData);
-
- assertEquals(test.hashCode(), compositeData.hashCode());
- }
-
- public void testToString() throws Exception
- {
- CompositeData compositeData = createTestCompositeData();
- SimpleInterface test = createCompositeDataProxy(SimpleInterface.class, compositeData);
-
- assertEquals(test.toString(), compositeData.toString());
- }
-
- public void testGetSimpleTypes() throws Exception
- {
- SimpleInterface test = createTestCompositeDataProxy();
- assertEquals(SimpleInterface.bigDecimalValue, test.getBigDecimal());
- assertEquals(SimpleInterface.bigIntegerValue, test.getBigInteger());
- assertEquals(SimpleInterface.booleanValue, test.getBoolean());
- assertEquals(SimpleInterface.primitiveBooleanValue, test.isPrimitiveBoolean());
- assertEquals(SimpleInterface.byteValue, test.getByte());
- assertEquals(SimpleInterface.primitiveByteValue, test.getPrimitiveByte());
- assertEquals(SimpleInterface.characterValue, test.getCharacter());
- assertEquals(SimpleInterface.primitiveCharValue, test.getPrimitiveChar());
- assertEquals(SimpleInterface.dateValue, test.getDate());
- assertEquals(SimpleInterface.doubleValue, test.getDouble());
- assertEquals(SimpleInterface.primitiveDoubleValue, test.getPrimitiveDouble());
- assertEquals(SimpleInterface.floatValue, test.getFloat());
- assertEquals(SimpleInterface.primitiveFloatValue, test.getPrimitiveFloat());
- assertEquals(SimpleInterface.integerValue, test.getInteger());
- assertEquals(SimpleInterface.primitiveIntValue, test.getPrimitiveInt());
- assertEquals(SimpleInterface.longValue, test.getLong());
- assertEquals(SimpleInterface.primitiveLongValue, test.getPrimitiveLong());
- assertEquals(SimpleInterface.objectNameValue, test.getObjectName());
- assertEquals(SimpleInterface.shortValue, test.getShort());
- assertEquals(SimpleInterface.primitiveShortValue, test.getPrimitiveShort());
- assertEquals(SimpleInterface.stringValue, test.getString());
- }
-
- public void testNullPrimitives() throws Exception
- {
- SimpleInterface test = createNullCompositeDataProxy();
- assertNull(test.getBigDecimal());
- assertNull(test.getBigInteger());
- assertNull(test.getBoolean());
- try
- {
- test.isPrimitiveBoolean();
- fail("Should not be here");
- }
- catch (AssertionFailedError e)
- {
- throw e;
- }
- catch (Throwable t)
- {
- checkThrowableDeep(IllegalArgumentException.class, t);
- }
- assertNull(test.getByte());
- try
- {
- test.getPrimitiveByte();
- fail("Should not be here");
- }
- catch (AssertionFailedError e)
- {
- throw e;
- }
- catch (Throwable t)
- {
- checkThrowableDeep(IllegalArgumentException.class, t);
- }
- assertNull(test.getCharacter());
- try
- {
- test.getPrimitiveChar();
- fail("Should not be here");
- }
- catch (AssertionFailedError e)
- {
- throw e;
- }
- catch (Throwable t)
- {
- checkThrowableDeep(IllegalArgumentException.class, t);
- }
- assertNull(test.getDate());
- assertNull(test.getDouble());
- try
- {
- test.getPrimitiveDouble();
- fail("Should not be here");
- }
- catch (AssertionFailedError e)
- {
- throw e;
- }
- catch (Throwable t)
- {
- checkThrowableDeep(IllegalArgumentException.class, t);
- }
- assertNull(test.getFloat());
- try
- {
- test.getPrimitiveFloat();
- fail("Should not be here");
- }
- catch (AssertionFailedError e)
- {
- throw e;
- }
- catch (Throwable t)
- {
- checkThrowableDeep(IllegalArgumentException.class, t);
- }
- assertNull(test.getInteger());
- try
- {
- test.getPrimitiveInt();
- fail("Should not be here");
- }
- catch (AssertionFailedError e)
- {
- throw e;
- }
- catch (Throwable t)
- {
- checkThrowableDeep(IllegalArgumentException.class, t);
- }
- assertNull(test.getLong());
- try
- {
- test.getPrimitiveLong();
- fail("Should not be here");
- }
- catch (AssertionFailedError e)
- {
- throw e;
- }
- catch (Throwable t)
- {
- checkThrowableDeep(IllegalArgumentException.class, t);
- }
- assertNull(test.getObjectName());
- assertNull(test.getShort());
- try
- {
- test.getPrimitiveShort();
- fail("Should not be here");
- }
- catch (AssertionFailedError e)
- {
- throw e;
- }
- catch (Throwable t)
- {
- checkThrowableDeep(IllegalArgumentException.class, t);
- }
- assertNull(SimpleInterface.stringValue, test.getString());
- }
-
- public void testGetInvalid() throws Exception
- {
- InvalidInterface test = createInvalidCompositeDataProxy();
- try
- {
- test.getInvalid();
- fail("Should not be here");
- }
- catch (AssertionFailedError e)
- {
- throw e;
- }
- catch (Throwable t)
- {
- checkThrowableDeep(IllegalArgumentException.class, InvalidKeyException.class, t);
- }
- }
-
- public void testNotAGetter() throws Exception
- {
- InvalidInterface test = createInvalidCompositeDataProxy();
- try
- {
- test.notAGetter();
- fail("Should not be here");
- }
- catch (AssertionFailedError e)
- {
- throw e;
- }
- catch (Throwable t)
- {
- checkThrowableDeep(IllegalArgumentException.class, t);
- }
- }
-
- public void testGetNoReturnType() throws Exception
- {
- InvalidInterface test = createInvalidCompositeDataProxy();
- try
- {
- test.getString();
- fail("Should not be here");
- }
- catch (AssertionFailedError e)
- {
- throw e;
- }
- catch (Throwable t)
- {
- checkThrowableDeep(IllegalArgumentException.class, t);
- }
- }
-
- public void testGetWithParameters() throws Exception
- {
- InvalidInterface test = createInvalidCompositeDataProxy();
- try
- {
- test.getString(null);
- fail("Should not be here");
- }
- catch (AssertionFailedError e)
- {
- throw e;
- }
- catch (Throwable t)
- {
- checkThrowableDeep(IllegalArgumentException.class, t);
- }
- }
-
- public void testIsNotBoolean() throws Exception
- {
- InvalidInterface test = createInvalidCompositeDataProxy();
- try
- {
- test.isString();
- fail("Should not be here");
- }
- catch (AssertionFailedError e)
- {
- throw e;
- }
- catch (Throwable t)
- {
- checkThrowableDeep(IllegalArgumentException.class, t);
- }
- }
-
- public void testIsBoolean() throws Exception
- {
- InvalidInterface test = createInvalidCompositeDataProxy();
- try
- {
- test.isBoolean();
- fail("Should not be here");
- }
- catch (AssertionFailedError e)
- {
- throw e;
- }
- catch (Throwable t)
- {
- checkThrowableDeep(IllegalArgumentException.class, t);
- }
- }
-}
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2008, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.test.mx.mxbean.test;
+
+import javax.management.openmbean.CompositeData;
+import javax.management.openmbean.InvalidKeyException;
+
+import junit.framework.AssertionFailedError;
+import junit.framework.Test;
+import junit.framework.TestSuite;
+
+import org.jboss.mx.mxbean.CompositeDataInvocationHandler;
+import org.jboss.test.mx.mxbean.support.InvalidInterface;
+import org.jboss.test.mx.mxbean.support.SimpleInterface;
+
+/**
+ * CompositeDataInvocationHandlerUnitTestCase.
+ *
+ * @author <a href="adrian at jboss.com">Adrian Brock</a>
+ * @version $Revision: 1.1 $
+ */
+public class CompositeDataInvocationHandlerUnitTestCase extends AbstractMXBeanTest
+{
+ public static Test suite()
+ {
+ return new TestSuite(CompositeDataInvocationHandlerUnitTestCase.class);
+ }
+
+ public CompositeDataInvocationHandlerUnitTestCase(String name)
+ {
+ super(name);
+ }
+
+ public void testGetCompositeData() throws Exception
+ {
+ CompositeData compositeData = createTestCompositeData();
+ CompositeDataInvocationHandler test = new CompositeDataInvocationHandler(compositeData);
+ assertTrue(compositeData == test.getCompositeData());
+ }
+
+ public void testNullCompositeData() throws Exception
+ {
+ try
+ {
+ new CompositeDataInvocationHandler(null);
+ fail("Should not be here");
+ }
+ catch (AssertionFailedError e)
+ {
+ throw e;
+ }
+ catch (Throwable t)
+ {
+ checkThrowable(IllegalArgumentException.class, t);
+ }
+ }
+
+ public void testToEquals() throws Exception
+ {
+ SimpleInterface test1 = createTestCompositeDataProxy("Test1");
+
+ assertFalse(test1.equals(null));
+ assertFalse(test1.equals(new Object()));
+ assertTrue(test1.equals(test1));
+
+ SimpleInterface test2 = createTestCompositeDataProxy("Test2");
+
+ assertFalse(test1.equals(test2));
+ }
+
+ public void testHashCode() throws Exception
+ {
+ CompositeData compositeData = createTestCompositeData();
+ SimpleInterface test = createCompositeDataProxy(SimpleInterface.class, compositeData);
+
+ assertEquals(test.hashCode(), compositeData.hashCode());
+ }
+
+ public void testToString() throws Exception
+ {
+ CompositeData compositeData = createTestCompositeData();
+ SimpleInterface test = createCompositeDataProxy(SimpleInterface.class, compositeData);
+
+ assertEquals(test.toString(), compositeData.toString());
+ }
+
+ public void testGetSimpleTypes() throws Exception
+ {
+ SimpleInterface test = createTestCompositeDataProxy();
+ assertEquals(SimpleInterface.bigDecimalValue, test.getBigDecimal());
+ assertEquals(SimpleInterface.bigIntegerValue, test.getBigInteger());
+ assertEquals(SimpleInterface.booleanValue, test.getBoolean());
+ assertEquals(SimpleInterface.primitiveBooleanValue, test.isPrimitiveBoolean());
+ assertEquals(SimpleInterface.byteValue, test.getByte());
+ assertEquals(SimpleInterface.primitiveByteValue, test.getPrimitiveByte());
+ assertEquals(SimpleInterface.characterValue, test.getCharacter());
+ assertEquals(SimpleInterface.primitiveCharValue, test.getPrimitiveChar());
+ assertEquals(SimpleInterface.dateValue, test.getDate());
+ assertEquals(SimpleInterface.doubleValue, test.getDouble());
+ assertEquals(SimpleInterface.primitiveDoubleValue, test.getPrimitiveDouble());
+ assertEquals(SimpleInterface.floatValue, test.getFloat());
+ assertEquals(SimpleInterface.primitiveFloatValue, test.getPrimitiveFloat());
+ assertEquals(SimpleInterface.integerValue, test.getInteger());
+ assertEquals(SimpleInterface.primitiveIntValue, test.getPrimitiveInt());
+ assertEquals(SimpleInterface.longValue, test.getLong());
+ assertEquals(SimpleInterface.primitiveLongValue, test.getPrimitiveLong());
+ assertEquals(SimpleInterface.objectNameValue, test.getObjectName());
+ assertEquals(SimpleInterface.shortValue, test.getShort());
+ assertEquals(SimpleInterface.primitiveShortValue, test.getPrimitiveShort());
+ assertEquals(SimpleInterface.stringValue, test.getString());
+ }
+
+ public void testNullPrimitives() throws Exception
+ {
+ SimpleInterface test = createNullCompositeDataProxy();
+ assertNull(test.getBigDecimal());
+ assertNull(test.getBigInteger());
+ assertNull(test.getBoolean());
+ try
+ {
+ test.isPrimitiveBoolean();
+ fail("Should not be here");
+ }
+ catch (AssertionFailedError e)
+ {
+ throw e;
+ }
+ catch (Throwable t)
+ {
+ checkThrowableDeep(IllegalArgumentException.class, t);
+ }
+ assertNull(test.getByte());
+ try
+ {
+ test.getPrimitiveByte();
+ fail("Should not be here");
+ }
+ catch (AssertionFailedError e)
+ {
+ throw e;
+ }
+ catch (Throwable t)
+ {
+ checkThrowableDeep(IllegalArgumentException.class, t);
+ }
+ assertNull(test.getCharacter());
+ try
+ {
+ test.getPrimitiveChar();
+ fail("Should not be here");
+ }
+ catch (AssertionFailedError e)
+ {
+ throw e;
+ }
+ catch (Throwable t)
+ {
+ checkThrowableDeep(IllegalArgumentException.class, t);
+ }
+ assertNull(test.getDate());
+ assertNull(test.getDouble());
+ try
+ {
+ test.getPrimitiveDouble();
+ fail("Should not be here");
+ }
+ catch (AssertionFailedError e)
+ {
+ throw e;
+ }
+ catch (Throwable t)
+ {
+ checkThrowableDeep(IllegalArgumentException.class, t);
+ }
+ assertNull(test.getFloat());
+ try
+ {
+ test.getPrimitiveFloat();
+ fail("Should not be here");
+ }
+ catch (AssertionFailedError e)
+ {
+ throw e;
+ }
+ catch (Throwable t)
+ {
+ checkThrowableDeep(IllegalArgumentException.class, t);
+ }
+ assertNull(test.getInteger());
+ try
+ {
+ test.getPrimitiveInt();
+ fail("Should not be here");
+ }
+ catch (AssertionFailedError e)
+ {
+ throw e;
+ }
+ catch (Throwable t)
+ {
+ checkThrowableDeep(IllegalArgumentException.class, t);
+ }
+ assertNull(test.getLong());
+ try
+ {
+ test.getPrimitiveLong();
+ fail("Should not be here");
+ }
+ catch (AssertionFailedError e)
+ {
+ throw e;
+ }
+ catch (Throwable t)
+ {
+ checkThrowableDeep(IllegalArgumentException.class, t);
+ }
+ assertNull(test.getObjectName());
+ assertNull(test.getShort());
+ try
+ {
+ test.getPrimitiveShort();
+ fail("Should not be here");
+ }
+ catch (AssertionFailedError e)
+ {
+ throw e;
+ }
+ catch (Throwable t)
+ {
+ checkThrowableDeep(IllegalArgumentException.class, t);
+ }
+ assertNull(SimpleInterface.stringValue, test.getString());
+ }
+
+ public void testGetInvalid() throws Exception
+ {
+ InvalidInterface test = createInvalidCompositeDataProxy();
+ try
+ {
+ test.getInvalid();
+ fail("Should not be here");
+ }
+ catch (AssertionFailedError e)
+ {
+ throw e;
+ }
+ catch (Throwable t)
+ {
+ checkThrowableDeep(IllegalArgumentException.class, InvalidKeyException.class, t);
+ }
+ }
+
+ public void testNotAGetter() throws Exception
+ {
+ InvalidInterface test = createInvalidCompositeDataProxy();
+ try
+ {
+ test.notAGetter();
+ fail("Should not be here");
+ }
+ catch (AssertionFailedError e)
+ {
+ throw e;
+ }
+ catch (Throwable t)
+ {
+ checkThrowableDeep(IllegalArgumentException.class, t);
+ }
+ }
+
+ public void testGetNoReturnType() throws Exception
+ {
+ InvalidInterface test = createInvalidCompositeDataProxy();
+ try
+ {
+ test.getString();
+ fail("Should not be here");
+ }
+ catch (AssertionFailedError e)
+ {
+ throw e;
+ }
+ catch (Throwable t)
+ {
+ checkThrowableDeep(IllegalArgumentException.class, t);
+ }
+ }
+
+ public void testGetWithParameters() throws Exception
+ {
+ InvalidInterface test = createInvalidCompositeDataProxy();
+ try
+ {
+ test.getString(null);
+ fail("Should not be here");
+ }
+ catch (AssertionFailedError e)
+ {
+ throw e;
+ }
+ catch (Throwable t)
+ {
+ checkThrowableDeep(IllegalArgumentException.class, t);
+ }
+ }
+
+ public void testIsNotBoolean() throws Exception
+ {
+ InvalidInterface test = createInvalidCompositeDataProxy();
+ try
+ {
+ test.isString();
+ fail("Should not be here");
+ }
+ catch (AssertionFailedError e)
+ {
+ throw e;
+ }
+ catch (Throwable t)
+ {
+ checkThrowableDeep(IllegalArgumentException.class, t);
+ }
+ }
+
+ public void testIsBoolean() throws Exception
+ {
+ InvalidInterface test = createInvalidCompositeDataProxy();
+ try
+ {
+ test.isBoolean();
+ fail("Should not be here");
+ }
+ catch (AssertionFailedError e)
+ {
+ throw e;
+ }
+ catch (Throwable t)
+ {
+ checkThrowableDeep(IllegalArgumentException.class, t);
+ }
+ }
+}
Modified: trunk/mbeans/src/tests/org/jboss/test/mx/mxbean/test/CompositeDataLongUnitTestCase.java
===================================================================
--- trunk/mbeans/src/tests/org/jboss/test/mx/mxbean/test/CompositeDataLongUnitTestCase.java 2008-11-14 12:49:40 UTC (rev 81025)
+++ trunk/mbeans/src/tests/org/jboss/test/mx/mxbean/test/CompositeDataLongUnitTestCase.java 2008-11-14 12:51:05 UTC (rev 81026)
@@ -1,64 +1,64 @@
-/*
-* JBoss, Home of Professional Open Source
-* Copyright 2006, JBoss Inc., and individual contributors as indicated
-* by the @authors tag. See the copyright.txt in the distribution for a
-* full listing of individual contributors.
-*
-* This is free software; you can redistribute it and/or modify it
-* under the terms of the GNU Lesser General Public License as
-* published by the Free Software Foundation; either version 2.1 of
-* the License, or (at your option) any later version.
-*
-* This software is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-* Lesser General Public License for more details.
-*
-* You should have received a copy of the GNU Lesser General Public
-* License along with this software; if not, write to the Free
-* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
-* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
-*/
-package org.jboss.test.mx.mxbean.test;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-/**
- * CompositeDataLongUnitTestCase.
- *
- * @author <a href="adrian at jboss.com">Adrian Brock</a>
- * @version $Revision: 1.1 $
- */
-public class CompositeDataLongUnitTestCase extends CompositeDataTest
-{
- public static Test suite()
- {
- return new TestSuite(CompositeDataLongUnitTestCase.class);
- }
-
- public CompositeDataLongUnitTestCase(String name)
- {
- super(name);
- }
-
- public void testLong() throws Exception
- {
- constructReconstructTest(new Long(Long.MAX_VALUE));
- }
-
- public void testLongNull() throws Exception
- {
- constructReconstructTest(null, Long.class);
- }
-
- public void testLongPrimitive() throws Exception
- {
- constructReconstructTest(Long.MAX_VALUE, Long.TYPE);
- }
-
- public void testLongNullPrimitive() throws Exception
- {
- assertNullFailure(Long.TYPE);
- }
-}
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2008, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.test.mx.mxbean.test;
+
+import junit.framework.Test;
+import junit.framework.TestSuite;
+
+/**
+ * CompositeDataLongUnitTestCase.
+ *
+ * @author <a href="adrian at jboss.com">Adrian Brock</a>
+ * @version $Revision: 1.1 $
+ */
+public class CompositeDataLongUnitTestCase extends CompositeDataTest
+{
+ public static Test suite()
+ {
+ return new TestSuite(CompositeDataLongUnitTestCase.class);
+ }
+
+ public CompositeDataLongUnitTestCase(String name)
+ {
+ super(name);
+ }
+
+ public void testLong() throws Exception
+ {
+ constructReconstructTest(new Long(Long.MAX_VALUE));
+ }
+
+ public void testLongNull() throws Exception
+ {
+ constructReconstructTest(null, Long.class);
+ }
+
+ public void testLongPrimitive() throws Exception
+ {
+ constructReconstructTest(Long.MAX_VALUE, Long.TYPE);
+ }
+
+ public void testLongNullPrimitive() throws Exception
+ {
+ assertNullFailure(Long.TYPE);
+ }
+}
Modified: trunk/mbeans/src/tests/org/jboss/test/mx/mxbean/test/CompositeDataMapUnitTestCase.java
===================================================================
--- trunk/mbeans/src/tests/org/jboss/test/mx/mxbean/test/CompositeDataMapUnitTestCase.java 2008-11-14 12:49:40 UTC (rev 81025)
+++ trunk/mbeans/src/tests/org/jboss/test/mx/mxbean/test/CompositeDataMapUnitTestCase.java 2008-11-14 12:51:05 UTC (rev 81026)
@@ -1,106 +1,106 @@
-/*
-* JBoss, Home of Professional Open Source
-* Copyright 2006, JBoss Inc., and individual contributors as indicated
-* by the @authors tag. See the copyright.txt in the distribution for a
-* full listing of individual contributors.
-*
-* This is free software; you can redistribute it and/or modify it
-* under the terms of the GNU Lesser General Public License as
-* published by the Free Software Foundation; either version 2.1 of
-* the License, or (at your option) any later version.
-*
-* This software is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-* Lesser General Public License for more details.
-*
-* You should have received a copy of the GNU Lesser General Public
-* License along with this software; if not, write to the Free
-* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
-* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
-*/
-package org.jboss.test.mx.mxbean.test;
-
-import java.lang.reflect.Type;
-import java.util.LinkedHashMap;
-import java.util.Map;
-
-import javax.management.openmbean.CompositeDataSupport;
-import javax.management.openmbean.CompositeType;
-import javax.management.openmbean.TabularDataSupport;
-import javax.management.openmbean.TabularType;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-import org.jboss.mx.mxbean.MXBeanUtils;
-import org.jboss.test.mx.mxbean.support.TestParameterizedType;
-
-/**
- * CompositeDataMapUnitTestCase.
- *
- * @author <a href="adrian at jboss.com">Adrian Brock</a>
- * @version $Revision: 1.1 $
- */
-public class CompositeDataMapUnitTestCase extends CompositeDataTest
-{
- private static final TestParameterizedType MAP_OF_STRINGS_TO_INTEGERS = new TestParameterizedType(Map.class, new Type[] { String.class, Integer.class });
- private static final TabularType TABLE_STRING_TO_INTEGER = MXBeanUtils.createMapType(String.class, Integer.class);
-
- public static Test suite()
- {
- return new TestSuite(CompositeDataMapUnitTestCase.class);
- }
-
- public CompositeDataMapUnitTestCase(String name)
- {
- super(name);
- }
-
- public void testMap() throws Exception
- {
- Map<String, Integer> c = new LinkedHashMap<String, Integer>();
- c.put("one", 1);
- c.put("two", 2);
- c.put("three", 3);
- TabularDataSupport openData = new TabularDataSupport(TABLE_STRING_TO_INTEGER);
- CompositeType entryType = TABLE_STRING_TO_INTEGER.getRowType();
- openData.put(new CompositeDataSupport(entryType, MXBeanUtils.MAP_ITEM_NAMES, new Object[] { "one", 1 }));
- openData.put(new CompositeDataSupport(entryType, MXBeanUtils.MAP_ITEM_NAMES, new Object[] { "two", 2 }));
- openData.put(new CompositeDataSupport(entryType, MXBeanUtils.MAP_ITEM_NAMES, new Object[] { "three", 3 }));
- constructReconstructTest(c, MAP_OF_STRINGS_TO_INTEGERS, openData);
- }
-
- public void testMapNull() throws Exception
- {
- constructReconstructTest(null, MAP_OF_STRINGS_TO_INTEGERS);
- }
-
- public void testMapNullKey() throws Exception
- {
- Map<String, Integer> c = new LinkedHashMap<String, Integer>();
- c.put("one", 1);
- c.put(null, 2);
- c.put("three", 3);
- TabularDataSupport openData = new TabularDataSupport(TABLE_STRING_TO_INTEGER);
- CompositeType entryType = TABLE_STRING_TO_INTEGER.getRowType();
- openData.put(new CompositeDataSupport(entryType, MXBeanUtils.MAP_ITEM_NAMES, new Object[] { "one", 1 }));
- openData.put(new CompositeDataSupport(entryType, MXBeanUtils.MAP_ITEM_NAMES, new Object[] { null, 2 }));
- openData.put(new CompositeDataSupport(entryType, MXBeanUtils.MAP_ITEM_NAMES, new Object[] { "three", 3 }));
- constructReconstructTest(c, MAP_OF_STRINGS_TO_INTEGERS, openData);
- }
-
- public void testMapNullValue() throws Exception
- {
- Map<String, Integer> c = new LinkedHashMap<String, Integer>();
- c.put("one", 1);
- c.put("two", null);
- c.put("three", 3);
- TabularDataSupport openData = new TabularDataSupport(TABLE_STRING_TO_INTEGER);
- CompositeType entryType = TABLE_STRING_TO_INTEGER.getRowType();
- openData.put(new CompositeDataSupport(entryType, MXBeanUtils.MAP_ITEM_NAMES, new Object[] { "one", 1 }));
- openData.put(new CompositeDataSupport(entryType, MXBeanUtils.MAP_ITEM_NAMES, new Object[] { "two", null }));
- openData.put(new CompositeDataSupport(entryType, MXBeanUtils.MAP_ITEM_NAMES, new Object[] { "three", 3 }));
- constructReconstructTest(c, MAP_OF_STRINGS_TO_INTEGERS, openData);
- }
-}
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2008, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.test.mx.mxbean.test;
+
+import java.lang.reflect.Type;
+import java.util.LinkedHashMap;
+import java.util.Map;
+
+import javax.management.openmbean.CompositeDataSupport;
+import javax.management.openmbean.CompositeType;
+import javax.management.openmbean.TabularDataSupport;
+import javax.management.openmbean.TabularType;
+
+import junit.framework.Test;
+import junit.framework.TestSuite;
+
+import org.jboss.mx.mxbean.MXBeanUtils;
+import org.jboss.test.mx.mxbean.support.TestParameterizedType;
+
+/**
+ * CompositeDataMapUnitTestCase.
+ *
+ * @author <a href="adrian at jboss.com">Adrian Brock</a>
+ * @version $Revision: 1.1 $
+ */
+public class CompositeDataMapUnitTestCase extends CompositeDataTest
+{
+ private static final TestParameterizedType MAP_OF_STRINGS_TO_INTEGERS = new TestParameterizedType(Map.class, new Type[] { String.class, Integer.class });
+ private static final TabularType TABLE_STRING_TO_INTEGER = MXBeanUtils.createMapType(String.class, Integer.class);
+
+ public static Test suite()
+ {
+ return new TestSuite(CompositeDataMapUnitTestCase.class);
+ }
+
+ public CompositeDataMapUnitTestCase(String name)
+ {
+ super(name);
+ }
+
+ public void testMap() throws Exception
+ {
+ Map<String, Integer> c = new LinkedHashMap<String, Integer>();
+ c.put("one", 1);
+ c.put("two", 2);
+ c.put("three", 3);
+ TabularDataSupport openData = new TabularDataSupport(TABLE_STRING_TO_INTEGER);
+ CompositeType entryType = TABLE_STRING_TO_INTEGER.getRowType();
+ openData.put(new CompositeDataSupport(entryType, MXBeanUtils.MAP_ITEM_NAMES, new Object[] { "one", 1 }));
+ openData.put(new CompositeDataSupport(entryType, MXBeanUtils.MAP_ITEM_NAMES, new Object[] { "two", 2 }));
+ openData.put(new CompositeDataSupport(entryType, MXBeanUtils.MAP_ITEM_NAMES, new Object[] { "three", 3 }));
+ constructReconstructTest(c, MAP_OF_STRINGS_TO_INTEGERS, openData);
+ }
+
+ public void testMapNull() throws Exception
+ {
+ constructReconstructTest(null, MAP_OF_STRINGS_TO_INTEGERS);
+ }
+
+ public void testMapNullKey() throws Exception
+ {
+ Map<String, Integer> c = new LinkedHashMap<String, Integer>();
+ c.put("one", 1);
+ c.put(null, 2);
+ c.put("three", 3);
+ TabularDataSupport openData = new TabularDataSupport(TABLE_STRING_TO_INTEGER);
+ CompositeType entryType = TABLE_STRING_TO_INTEGER.getRowType();
+ openData.put(new CompositeDataSupport(entryType, MXBeanUtils.MAP_ITEM_NAMES, new Object[] { "one", 1 }));
+ openData.put(new CompositeDataSupport(entryType, MXBeanUtils.MAP_ITEM_NAMES, new Object[] { null, 2 }));
+ openData.put(new CompositeDataSupport(entryType, MXBeanUtils.MAP_ITEM_NAMES, new Object[] { "three", 3 }));
+ constructReconstructTest(c, MAP_OF_STRINGS_TO_INTEGERS, openData);
+ }
+
+ public void testMapNullValue() throws Exception
+ {
+ Map<String, Integer> c = new LinkedHashMap<String, Integer>();
+ c.put("one", 1);
+ c.put("two", null);
+ c.put("three", 3);
+ TabularDataSupport openData = new TabularDataSupport(TABLE_STRING_TO_INTEGER);
+ CompositeType entryType = TABLE_STRING_TO_INTEGER.getRowType();
+ openData.put(new CompositeDataSupport(entryType, MXBeanUtils.MAP_ITEM_NAMES, new Object[] { "one", 1 }));
+ openData.put(new CompositeDataSupport(entryType, MXBeanUtils.MAP_ITEM_NAMES, new Object[] { "two", null }));
+ openData.put(new CompositeDataSupport(entryType, MXBeanUtils.MAP_ITEM_NAMES, new Object[] { "three", 3 }));
+ constructReconstructTest(c, MAP_OF_STRINGS_TO_INTEGERS, openData);
+ }
+}
Modified: trunk/mbeans/src/tests/org/jboss/test/mx/mxbean/test/CompositeDataObjectNameUnitTestCase.java
===================================================================
--- trunk/mbeans/src/tests/org/jboss/test/mx/mxbean/test/CompositeDataObjectNameUnitTestCase.java 2008-11-14 12:49:40 UTC (rev 81025)
+++ trunk/mbeans/src/tests/org/jboss/test/mx/mxbean/test/CompositeDataObjectNameUnitTestCase.java 2008-11-14 12:51:05 UTC (rev 81026)
@@ -1,58 +1,58 @@
-/*
-* JBoss, Home of Professional Open Source
-* Copyright 2006, JBoss Inc., and individual contributors as indicated
-* by the @authors tag. See the copyright.txt in the distribution for a
-* full listing of individual contributors.
-*
-* This is free software; you can redistribute it and/or modify it
-* under the terms of the GNU Lesser General Public License as
-* published by the Free Software Foundation; either version 2.1 of
-* the License, or (at your option) any later version.
-*
-* This software is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-* Lesser General Public License for more details.
-*
-* You should have received a copy of the GNU Lesser General Public
-* License along with this software; if not, write to the Free
-* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
-* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
-*/
-package org.jboss.test.mx.mxbean.test;
-
-import javax.management.ObjectName;
-
-import org.jboss.mx.util.ObjectNameFactory;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-/**
- * CompositeDataObjectNameUnitTestCase.
- *
- * @author <a href="adrian at jboss.com">Adrian Brock</a>
- * @version $Revision: 1.1 $
- */
-public class CompositeDataObjectNameUnitTestCase extends CompositeDataTest
-{
- public static Test suite()
- {
- return new TestSuite(CompositeDataObjectNameUnitTestCase.class);
- }
-
- public CompositeDataObjectNameUnitTestCase(String name)
- {
- super(name);
- }
-
- public void testObjectName() throws Exception
- {
- constructReconstructTest(ObjectNameFactory.create("domain:key=property"));
- }
-
- public void testObjectNameNull() throws Exception
- {
- constructReconstructTest(null, ObjectName.class);
- }
-}
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2008, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.test.mx.mxbean.test;
+
+import javax.management.ObjectName;
+
+import org.jboss.mx.util.ObjectNameFactory;
+
+import junit.framework.Test;
+import junit.framework.TestSuite;
+
+/**
+ * CompositeDataObjectNameUnitTestCase.
+ *
+ * @author <a href="adrian at jboss.com">Adrian Brock</a>
+ * @version $Revision: 1.1 $
+ */
+public class CompositeDataObjectNameUnitTestCase extends CompositeDataTest
+{
+ public static Test suite()
+ {
+ return new TestSuite(CompositeDataObjectNameUnitTestCase.class);
+ }
+
+ public CompositeDataObjectNameUnitTestCase(String name)
+ {
+ super(name);
+ }
+
+ public void testObjectName() throws Exception
+ {
+ constructReconstructTest(ObjectNameFactory.create("domain:key=property"));
+ }
+
+ public void testObjectNameNull() throws Exception
+ {
+ constructReconstructTest(null, ObjectName.class);
+ }
+}
Modified: trunk/mbeans/src/tests/org/jboss/test/mx/mxbean/test/CompositeDataShortUnitTestCase.java
===================================================================
--- trunk/mbeans/src/tests/org/jboss/test/mx/mxbean/test/CompositeDataShortUnitTestCase.java 2008-11-14 12:49:40 UTC (rev 81025)
+++ trunk/mbeans/src/tests/org/jboss/test/mx/mxbean/test/CompositeDataShortUnitTestCase.java 2008-11-14 12:51:05 UTC (rev 81026)
@@ -1,64 +1,64 @@
-/*
-* JBoss, Home of Professional Open Source
-* Copyright 2006, JBoss Inc., and individual contributors as indicated
-* by the @authors tag. See the copyright.txt in the distribution for a
-* full listing of individual contributors.
-*
-* This is free software; you can redistribute it and/or modify it
-* under the terms of the GNU Lesser General Public License as
-* published by the Free Software Foundation; either version 2.1 of
-* the License, or (at your option) any later version.
-*
-* This software is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-* Lesser General Public License for more details.
-*
-* You should have received a copy of the GNU Lesser General Public
-* License along with this software; if not, write to the Free
-* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
-* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
-*/
-package org.jboss.test.mx.mxbean.test;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-/**
- * CompositeDataShortUnitTestCase.
- *
- * @author <a href="adrian at jboss.com">Adrian Brock</a>
- * @version $Revision: 1.1 $
- */
-public class CompositeDataShortUnitTestCase extends CompositeDataTest
-{
- public static Test suite()
- {
- return new TestSuite(CompositeDataShortUnitTestCase.class);
- }
-
- public CompositeDataShortUnitTestCase(String name)
- {
- super(name);
- }
-
- public void testShort() throws Exception
- {
- constructReconstructTest(new Short(Short.MAX_VALUE));
- }
-
- public void testShortNull() throws Exception
- {
- constructReconstructTest(null, Short.class);
- }
-
- public void testShortPrimitive() throws Exception
- {
- constructReconstructTest(Short.MAX_VALUE, Short.TYPE);
- }
-
- public void testShortNullPrimitive() throws Exception
- {
- assertNullFailure(Short.TYPE);
- }
-}
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2008, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.test.mx.mxbean.test;
+
+import junit.framework.Test;
+import junit.framework.TestSuite;
+
+/**
+ * CompositeDataShortUnitTestCase.
+ *
+ * @author <a href="adrian at jboss.com">Adrian Brock</a>
+ * @version $Revision: 1.1 $
+ */
+public class CompositeDataShortUnitTestCase extends CompositeDataTest
+{
+ public static Test suite()
+ {
+ return new TestSuite(CompositeDataShortUnitTestCase.class);
+ }
+
+ public CompositeDataShortUnitTestCase(String name)
+ {
+ super(name);
+ }
+
+ public void testShort() throws Exception
+ {
+ constructReconstructTest(new Short(Short.MAX_VALUE));
+ }
+
+ public void testShortNull() throws Exception
+ {
+ constructReconstructTest(null, Short.class);
+ }
+
+ public void testShortPrimitive() throws Exception
+ {
+ constructReconstructTest(Short.MAX_VALUE, Short.TYPE);
+ }
+
+ public void testShortNullPrimitive() throws Exception
+ {
+ assertNullFailure(Short.TYPE);
+ }
+}
Modified: trunk/mbeans/src/tests/org/jboss/test/mx/mxbean/test/CompositeDataStringUnitTestCase.java
===================================================================
--- trunk/mbeans/src/tests/org/jboss/test/mx/mxbean/test/CompositeDataStringUnitTestCase.java 2008-11-14 12:49:40 UTC (rev 81025)
+++ trunk/mbeans/src/tests/org/jboss/test/mx/mxbean/test/CompositeDataStringUnitTestCase.java 2008-11-14 12:51:05 UTC (rev 81026)
@@ -1,59 +1,59 @@
-/*
-* JBoss, Home of Professional Open Source
-* Copyright 2006, JBoss Inc., and individual contributors as indicated
-* by the @authors tag. See the copyright.txt in the distribution for a
-* full listing of individual contributors.
-*
-* This is free software; you can redistribute it and/or modify it
-* under the terms of the GNU Lesser General Public License as
-* published by the Free Software Foundation; either version 2.1 of
-* the License, or (at your option) any later version.
-*
-* This software is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-* Lesser General Public License for more details.
-*
-* You should have received a copy of the GNU Lesser General Public
-* License along with this software; if not, write to the Free
-* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
-* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
-*/
-package org.jboss.test.mx.mxbean.test;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-/**
- * CompositeTypeStringUnitTestCase.
- *
- * @author <a href="adrian at jboss.com">Adrian Brock</a>
- * @version $Revision: 1.1 $
- */
-public class CompositeDataStringUnitTestCase extends CompositeDataTest
-{
- public static Test suite()
- {
- return new TestSuite(CompositeDataStringUnitTestCase.class);
- }
-
- public CompositeDataStringUnitTestCase(String name)
- {
- super(name);
- }
-
- public void testString() throws Exception
- {
- constructReconstructTest("Hello");
- }
-
- public void testStringEmpty() throws Exception
- {
- constructReconstructTest("");
- }
-
- public void testStringNull() throws Exception
- {
- constructReconstructTest(null, String.class);
- }
-}
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2008, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.test.mx.mxbean.test;
+
+import junit.framework.Test;
+import junit.framework.TestSuite;
+
+/**
+ * CompositeTypeStringUnitTestCase.
+ *
+ * @author <a href="adrian at jboss.com">Adrian Brock</a>
+ * @version $Revision: 1.1 $
+ */
+public class CompositeDataStringUnitTestCase extends CompositeDataTest
+{
+ public static Test suite()
+ {
+ return new TestSuite(CompositeDataStringUnitTestCase.class);
+ }
+
+ public CompositeDataStringUnitTestCase(String name)
+ {
+ super(name);
+ }
+
+ public void testString() throws Exception
+ {
+ constructReconstructTest("Hello");
+ }
+
+ public void testStringEmpty() throws Exception
+ {
+ constructReconstructTest("");
+ }
+
+ public void testStringNull() throws Exception
+ {
+ constructReconstructTest(null, String.class);
+ }
+}
Modified: trunk/mbeans/src/tests/org/jboss/test/mx/mxbean/test/CompositeDataTest.java
===================================================================
--- trunk/mbeans/src/tests/org/jboss/test/mx/mxbean/test/CompositeDataTest.java 2008-11-14 12:49:40 UTC (rev 81025)
+++ trunk/mbeans/src/tests/org/jboss/test/mx/mxbean/test/CompositeDataTest.java 2008-11-14 12:51:05 UTC (rev 81026)
@@ -1,129 +1,129 @@
-/*
-* JBoss, Home of Professional Open Source
-* Copyright 2006, JBoss Inc., and individual contributors as indicated
-* by the @authors tag. See the copyright.txt in the distribution for a
-* full listing of individual contributors.
-*
-* This is free software; you can redistribute it and/or modify it
-* under the terms of the GNU Lesser General Public License as
-* published by the Free Software Foundation; either version 2.1 of
-* the License, or (at your option) any later version.
-*
-* This software is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-* Lesser General Public License for more details.
-*
-* You should have received a copy of the GNU Lesser General Public
-* License along with this software; if not, write to the Free
-* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
-* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
-*/
-package org.jboss.test.mx.mxbean.test;
-
-import java.lang.reflect.Type;
-
-import javax.management.openmbean.OpenType;
-
-import junit.framework.AssertionFailedError;
-
-import org.jboss.mx.mxbean.MXBeanUtils;
-
-/**
- * CompositeDataTest.
- *
- * @author <a href="adrian at jboss.com">Adrian Brock</a>
- * @version $Revision: 1.1 $
- */
-public abstract class CompositeDataTest extends AbstractMXBeanTest
-{
- public CompositeDataTest(String name)
- {
- super(name);
- }
-
- protected void constructReconstructTest(Object initialValue) throws Exception
- {
- constructReconstructTest(initialValue, initialValue);
- }
-
- protected void constructReconstructTest(Object initialValue, Type type) throws Exception
- {
- constructReconstructTest(initialValue, type, initialValue);
- }
-
- protected void constructReconstructTest(Object initialValue, Type type, Object expectedOpenData) throws Exception
- {
- constructReconstructTest(initialValue, type, expectedOpenData, initialValue);
- }
-
- protected void assertNullFailure(Type type) throws Exception
- {
- try
- {
- constructReconstructTest(null, type);
- fail("Should not be here");
- }
- catch (AssertionFailedError e)
- {
- throw e;
- }
- catch (Throwable t)
- {
- checkThrowable(IllegalArgumentException.class, t);
- }
- }
-
- protected void constructReconstructTest(Object initialValue, Object expectedOpenData) throws Exception
- {
- constructReconstructTest(initialValue, expectedOpenData, initialValue);
- }
-
- protected void constructReconstructTest(Object initialValue, Object expectedOpenData, Object expected) throws Exception
- {
- Type type = initialValue.getClass();
- constructReconstructTest(initialValue, type, expectedOpenData, expected);
- }
-
- protected void constructReconstructTest(Object initialValue, Type type, Object expectedOpenData, Object expected) throws Exception
- {
- OpenType openType = MXBeanUtils.getOpenType(type);
- constructReconstructTest(initialValue, type, openType, expectedOpenData, expected);
- }
-
- protected void constructReconstructTest(Object initialValue, Type type, OpenType openType, Object expectedOpenData, Object expected) throws Exception
- {
- Object openData = construct(openType, type, initialValue);
- checkOpenDataEquals(expectedOpenData, openData);
- if (initialValue != null)
- assertTrue(openData + " is not " + openType, openType.isValue(openData));
-
- Object finalValue = reconstruct(openType, type, openData);
- checkFinalEquals(expected, finalValue);
- }
-
- protected void checkOpenDataEquals(Object expected, Object actual)
- {
- checkEquals(expected, actual);
- }
-
- protected void checkFinalEquals(Object expected, Object actual)
- {
- checkEquals(expected, actual);
- }
-
- protected void checkEquals(Object expected, Object actual)
- {
- assertEquals(expected, actual);
- }
-
- protected Object construct(OpenType openType, Type type, Object value) throws Exception
- {
- return MXBeanUtils.construct(openType, value, getClass().getName() + "#" + getName());
- }
-
- protected Object reconstruct(OpenType openType, Type type, Object openData) throws Exception
- {
- return MXBeanUtils.reconstruct(openType, type, openData, getClass().getName() + "#" + getName());
- }
-}
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2008, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.test.mx.mxbean.test;
+
+import java.lang.reflect.Type;
+
+import javax.management.openmbean.OpenType;
+
+import junit.framework.AssertionFailedError;
+
+import org.jboss.mx.mxbean.MXBeanUtils;
+
+/**
+ * CompositeDataTest.
+ *
+ * @author <a href="adrian at jboss.com">Adrian Brock</a>
+ * @version $Revision: 1.1 $
+ */
+public abstract class CompositeDataTest extends AbstractMXBeanTest
+{
+ public CompositeDataTest(String name)
+ {
+ super(name);
+ }
+
+ protected void constructReconstructTest(Object initialValue) throws Exception
+ {
+ constructReconstructTest(initialValue, initialValue);
+ }
+
+ protected void constructReconstructTest(Object initialValue, Type type) throws Exception
+ {
+ constructReconstructTest(initialValue, type, initialValue);
+ }
+
+ protected void constructReconstructTest(Object initialValue, Type type, Object expectedOpenData) throws Exception
+ {
+ constructReconstructTest(initialValue, type, expectedOpenData, initialValue);
+ }
+
+ protected void assertNullFailure(Type type) throws Exception
+ {
+ try
+ {
+ constructReconstructTest(null, type);
+ fail("Should not be here");
+ }
+ catch (AssertionFailedError e)
+ {
+ throw e;
+ }
+ catch (Throwable t)
+ {
+ checkThrowable(IllegalArgumentException.class, t);
+ }
+ }
+
+ protected void constructReconstructTest(Object initialValue, Object expectedOpenData) throws Exception
+ {
+ constructReconstructTest(initialValue, expectedOpenData, initialValue);
+ }
+
+ protected void constructReconstructTest(Object initialValue, Object expectedOpenData, Object expected) throws Exception
+ {
+ Type type = initialValue.getClass();
+ constructReconstructTest(initialValue, type, expectedOpenData, expected);
+ }
+
+ protected void constructReconstructTest(Object initialValue, Type type, Object expectedOpenData, Object expected) throws Exception
+ {
+ OpenType openType = MXBeanUtils.getOpenType(type);
+ constructReconstructTest(initialValue, type, openType, expectedOpenData, expected);
+ }
+
+ protected void constructReconstructTest(Object initialValue, Type type, OpenType openType, Object expectedOpenData, Object expected) throws Exception
+ {
+ Object openData = construct(openType, type, initialValue);
+ checkOpenDataEquals(expectedOpenData, openData);
+ if (initialValue != null)
+ assertTrue(openData + " is not " + openType, openType.isValue(openData));
+
+ Object finalValue = reconstruct(openType, type, openData);
+ checkFinalEquals(expected, finalValue);
+ }
+
+ protected void checkOpenDataEquals(Object expected, Object actual)
+ {
+ checkEquals(expected, actual);
+ }
+
+ protected void checkFinalEquals(Object expected, Object actual)
+ {
+ checkEquals(expected, actual);
+ }
+
+ protected void checkEquals(Object expected, Object actual)
+ {
+ assertEquals(expected, actual);
+ }
+
+ protected Object construct(OpenType openType, Type type, Object value) throws Exception
+ {
+ return MXBeanUtils.construct(openType, value, getClass().getName() + "#" + getName());
+ }
+
+ protected Object reconstruct(OpenType openType, Type type, Object openData) throws Exception
+ {
+ return MXBeanUtils.reconstruct(openType, type, openData, getClass().getName() + "#" + getName());
+ }
+}
Modified: trunk/mbeans/src/tests/org/jboss/test/mx/mxbean/test/CompositeTypeMetaDataFactoryUnitTestCase.java
===================================================================
--- trunk/mbeans/src/tests/org/jboss/test/mx/mxbean/test/CompositeTypeMetaDataFactoryUnitTestCase.java 2008-11-14 12:49:40 UTC (rev 81025)
+++ trunk/mbeans/src/tests/org/jboss/test/mx/mxbean/test/CompositeTypeMetaDataFactoryUnitTestCase.java 2008-11-14 12:51:05 UTC (rev 81026)
@@ -1,113 +1,113 @@
-/*
-* JBoss, Home of Professional Open Source
-* Copyright 2006, JBoss Inc., and individual contributors as indicated
-* by the @authors tag. See the copyright.txt in the distribution for a
-* full listing of individual contributors.
-*
-* This is free software; you can redistribute it and/or modify it
-* under the terms of the GNU Lesser General Public License as
-* published by the Free Software Foundation; either version 2.1 of
-* the License, or (at your option) any later version.
-*
-* This software is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-* Lesser General Public License for more details.
-*
-* You should have received a copy of the GNU Lesser General Public
-* License along with this software; if not, write to the Free
-* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
-* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
-*/
-package org.jboss.test.mx.mxbean.test;
-
-import javax.management.openmbean.CompositeType;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-import org.jboss.mx.mxbean.CompositeTypeMetaData;
-import org.jboss.mx.mxbean.CompositeTypeMetaDataFactory;
-import org.jboss.test.mx.mxbean.support.CollectionsInterface;
-import org.jboss.test.mx.mxbean.support.CompositeInterface;
-import org.jboss.test.mx.mxbean.support.SimpleInterface;
-import org.jboss.test.mx.mxbean.support.SimpleObject;
-
-/**
- * CompositeTypeMetaDataFactoryUnitTestCase.
- *
- * @author <a href="adrian at jboss.com">Adrian Brock</a>
- * @version $Revision: 1.1 $
- */
-public class CompositeTypeMetaDataFactoryUnitTestCase extends AbstractMXBeanTest
-{
- private static final CompositeType OBJECT_TYPE = CompositeTypeMetaData.generateObject();
- private static final CompositeType CLASS_TYPE = CompositeTypeMetaData.generateClass();
- private static final CompositeType CLASSLOADER_TYPE = CompositeTypeMetaData.generateClassLoader();
-
- public static Test suite()
- {
- return new TestSuite(CompositeTypeMetaDataFactoryUnitTestCase.class);
- }
-
- public CompositeTypeMetaDataFactoryUnitTestCase(String name)
- {
- super(name);
- }
-
- public void testGetCompositeDataObject() throws Exception
- {
- CompositeType type = CompositeTypeMetaDataFactory.getCompositeType(Object.class);
- assertNotNull(type);
- assertEquals(OBJECT_TYPE, type);
- }
-
- public void testGetCompositeDataClass() throws Exception
- {
- CompositeType type = CompositeTypeMetaDataFactory.getCompositeType(Class.class);
- assertNotNull(type);
- assertEquals(CLASS_TYPE, type);
- }
-
- public void testGetCompositeDataClassLoader() throws Exception
- {
- CompositeType type = CompositeTypeMetaDataFactory.getCompositeType(ClassLoader.class);
- assertNotNull(type);
- assertEquals(CLASSLOADER_TYPE, type);
- }
-
- public void testSimpleInterfaceCompositeType() throws Exception
- {
- CompositeType type = CompositeTypeMetaDataFactory.getCompositeType(SimpleInterface.class);
- assertNotNull(type);
- assertEquals(createSimpleCompositeType(SimpleInterface.class), type);
- }
-
- public void testSimpleObjectCompositeType() throws Exception
- {
- CompositeType type = CompositeTypeMetaDataFactory.getCompositeType(SimpleObject.class);
- assertNotNull(type);
- assertEquals(createSimpleCompositeType(SimpleObject.class), type);
- }
-
- public void testCompositeInterfaceType() throws Exception
- {
- CompositeType type = CompositeTypeMetaDataFactory.getCompositeType(CompositeInterface.class);
- assertNotNull(type);
- CompositeType expected = createCompositeType(CompositeInterface.class.getName(), CompositeInterface.KEYS, CompositeInterface.TYPES);
- assertEquals(expected, type);
- }
-
- public void testCollectionsInterfaceType() throws Exception
- {
- CompositeType type = CompositeTypeMetaDataFactory.getCompositeType(CollectionsInterface.class);
- assertNotNull(type);
- CompositeType expected = createCompositeType(CollectionsInterface.class.getName(), CollectionsInterface.KEYS, CollectionsInterface.TYPES);
- assertEquals(expected, type);
- }
-
- protected CompositeType createSimpleCompositeType(Class clazz) throws Exception
- {
- return createCompositeType(clazz.getName(), SimpleInterface.KEYS, SimpleInterface.TYPES);
- }
-}
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2008, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.test.mx.mxbean.test;
+
+import javax.management.openmbean.CompositeType;
+
+import junit.framework.Test;
+import junit.framework.TestSuite;
+
+import org.jboss.mx.mxbean.CompositeTypeMetaData;
+import org.jboss.mx.mxbean.CompositeTypeMetaDataFactory;
+import org.jboss.test.mx.mxbean.support.CollectionsInterface;
+import org.jboss.test.mx.mxbean.support.CompositeInterface;
+import org.jboss.test.mx.mxbean.support.SimpleInterface;
+import org.jboss.test.mx.mxbean.support.SimpleObject;
+
+/**
+ * CompositeTypeMetaDataFactoryUnitTestCase.
+ *
+ * @author <a href="adrian at jboss.com">Adrian Brock</a>
+ * @version $Revision: 1.1 $
+ */
+public class CompositeTypeMetaDataFactoryUnitTestCase extends AbstractMXBeanTest
+{
+ private static final CompositeType OBJECT_TYPE = CompositeTypeMetaData.generateObject();
+ private static final CompositeType CLASS_TYPE = CompositeTypeMetaData.generateClass();
+ private static final CompositeType CLASSLOADER_TYPE = CompositeTypeMetaData.generateClassLoader();
+
+ public static Test suite()
+ {
+ return new TestSuite(CompositeTypeMetaDataFactoryUnitTestCase.class);
+ }
+
+ public CompositeTypeMetaDataFactoryUnitTestCase(String name)
+ {
+ super(name);
+ }
+
+ public void testGetCompositeDataObject() throws Exception
+ {
+ CompositeType type = CompositeTypeMetaDataFactory.getCompositeType(Object.class);
+ assertNotNull(type);
+ assertEquals(OBJECT_TYPE, type);
+ }
+
+ public void testGetCompositeDataClass() throws Exception
+ {
+ CompositeType type = CompositeTypeMetaDataFactory.getCompositeType(Class.class);
+ assertNotNull(type);
+ assertEquals(CLASS_TYPE, type);
+ }
+
+ public void testGetCompositeDataClassLoader() throws Exception
+ {
+ CompositeType type = CompositeTypeMetaDataFactory.getCompositeType(ClassLoader.class);
+ assertNotNull(type);
+ assertEquals(CLASSLOADER_TYPE, type);
+ }
+
+ public void testSimpleInterfaceCompositeType() throws Exception
+ {
+ CompositeType type = CompositeTypeMetaDataFactory.getCompositeType(SimpleInterface.class);
+ assertNotNull(type);
+ assertEquals(createSimpleCompositeType(SimpleInterface.class), type);
+ }
+
+ public void testSimpleObjectCompositeType() throws Exception
+ {
+ CompositeType type = CompositeTypeMetaDataFactory.getCompositeType(SimpleObject.class);
+ assertNotNull(type);
+ assertEquals(createSimpleCompositeType(SimpleObject.class), type);
+ }
+
+ public void testCompositeInterfaceType() throws Exception
+ {
+ CompositeType type = CompositeTypeMetaDataFactory.getCompositeType(CompositeInterface.class);
+ assertNotNull(type);
+ CompositeType expected = createCompositeType(CompositeInterface.class.getName(), CompositeInterface.KEYS, CompositeInterface.TYPES);
+ assertEquals(expected, type);
+ }
+
+ public void testCollectionsInterfaceType() throws Exception
+ {
+ CompositeType type = CompositeTypeMetaDataFactory.getCompositeType(CollectionsInterface.class);
+ assertNotNull(type);
+ CompositeType expected = createCompositeType(CollectionsInterface.class.getName(), CollectionsInterface.KEYS, CollectionsInterface.TYPES);
+ assertEquals(expected, type);
+ }
+
+ protected CompositeType createSimpleCompositeType(Class clazz) throws Exception
+ {
+ return createCompositeType(clazz.getName(), SimpleInterface.KEYS, SimpleInterface.TYPES);
+ }
+}
Modified: trunk/mbeans/src/tests/org/jboss/test/mx/mxbean/test/MXBeanInvocationHandlerUnitTestCase.java
===================================================================
--- trunk/mbeans/src/tests/org/jboss/test/mx/mxbean/test/MXBeanInvocationHandlerUnitTestCase.java 2008-11-14 12:49:40 UTC (rev 81025)
+++ trunk/mbeans/src/tests/org/jboss/test/mx/mxbean/test/MXBeanInvocationHandlerUnitTestCase.java 2008-11-14 12:51:05 UTC (rev 81026)
@@ -1,311 +1,311 @@
-/*
-* JBoss, Home of Professional Open Source
-* Copyright 2006, JBoss Inc., and individual contributors as indicated
-* by the @authors tag. See the copyright.txt in the distribution for a
-* full listing of individual contributors.
-*
-* This is free software; you can redistribute it and/or modify it
-* under the terms of the GNU Lesser General Public License as
-* published by the Free Software Foundation; either version 2.1 of
-* the License, or (at your option) any later version.
-*
-* This software is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-* Lesser General Public License for more details.
-*
-* You should have received a copy of the GNU Lesser General Public
-* License along with this software; if not, write to the Free
-* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
-* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
-*/
-package org.jboss.test.mx.mxbean.test;
-
-import java.lang.reflect.Method;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.LinkedHashMap;
-import java.util.LinkedHashSet;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-
-import javax.management.MBeanAttributeInfo;
-import javax.management.MBeanServer;
-import javax.management.ObjectName;
-import javax.management.openmbean.OpenMBeanAttributeInfo;
-import javax.management.openmbean.OpenMBeanInfo;
-import javax.management.openmbean.OpenType;
-import javax.management.openmbean.SimpleType;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-import org.jboss.mx.mxbean.MXBeanFactory;
-import org.jboss.mx.mxbean.MXBeanUtils;
-import org.jboss.test.mx.mxbean.support.CollectionsInterface;
-import org.jboss.test.mx.mxbean.support.CollectionsMXBeanSupport;
-import org.jboss.test.mx.mxbean.support.CollectionsMXBeanSupportMXBean;
-import org.jboss.test.mx.mxbean.support.CompositeInterface;
-import org.jboss.test.mx.mxbean.support.CompositeMXBeanSupport;
-import org.jboss.test.mx.mxbean.support.CompositeMXBeanSupportMXBean;
-import org.jboss.test.mx.mxbean.support.SimpleInterface;
-import org.jboss.test.mx.mxbean.support.SimpleMXBeanSupport;
-import org.jboss.test.mx.mxbean.support.SimpleMXBeanSupportMXBean;
-import org.jboss.test.mx.mxbean.support.SimpleObject;
-import org.jboss.test.mx.mxbean.support.TestEnum;
-
-/**
- * MXBeanInvocationHandlerUnitTestCase.
- *
- * @author <a href="adrian at jboss.com">Adrian Brock</a>
- * @version $Revision: 1.1 $
- */
-public class MXBeanInvocationHandlerUnitTestCase extends AbstractMXBeanTest
-{
- public static Test suite()
- {
- return new TestSuite(MXBeanInvocationHandlerUnitTestCase.class);
- }
-
- public MXBeanInvocationHandlerUnitTestCase(String name)
- {
- super(name);
- }
-
- public void testGetSimpleAttributes() throws Exception
- {
- MBeanServer server = createMBeanServer();
- SimpleMXBeanSupport support = new SimpleMXBeanSupport();
- ObjectName objectName = SimpleMXBeanSupportMXBean.REGISTERED_OBJECT_NAME;
- server.registerMBean(support, objectName);
- SimpleMXBeanSupportMXBean proxy = MXBeanFactory.makeProxy(server, objectName, SimpleMXBeanSupportMXBean.class);
- OpenMBeanInfo info = (OpenMBeanInfo) server.getMBeanInfo(objectName);
- OpenType[] types = new OpenType[SimpleInterface.TYPES.length];
- for (int i = 0; i < types.length; ++i)
- types[i] = MXBeanUtils.getOpenType(SimpleInterface.TYPES[i]);
- checkAttributes(SimpleMXBeanSupportMXBean.class, proxy, support, SimpleInterface.KEYS, types, SimpleInterface.VALUES, info);
- }
-
- public void testSetSimpleAttributes() throws Exception
- {
- MBeanServer server = createMBeanServer();
- SimpleMXBeanSupport support = new SimpleMXBeanSupport();
- ObjectName objectName = SimpleMXBeanSupportMXBean.REGISTERED_OBJECT_NAME;
- server.registerMBean(support, objectName);
- SimpleMXBeanSupportMXBean proxy = MXBeanFactory.makeProxy(server, objectName, SimpleMXBeanSupportMXBean.class);
- OpenMBeanInfo info = (OpenMBeanInfo) server.getMBeanInfo(objectName);
- OpenType[] types = new OpenType[SimpleInterface.TYPES.length];
- for (int i = 0; i < types.length; ++i)
- types[i] = MXBeanUtils.getOpenType(SimpleInterface.TYPES[i]);
- proxy.setBigDecimal(SimpleInterface.bigDecimalChangedValue);
- proxy.setBigInteger(SimpleInterface.bigIntegerChangedValue);
- proxy.setBoolean(SimpleInterface.booleanChangedValue);
- proxy.setByte(SimpleInterface.byteChangedValue);
- proxy.setCharacter(SimpleInterface.characterChangedValue);
- proxy.setDate(SimpleInterface.dateChangedValue);
- proxy.setDouble(SimpleInterface.doubleChangedValue);
- proxy.setFloat(SimpleInterface.floatChangedValue);
- proxy.setInteger(SimpleInterface.integerChangedValue);
- proxy.setLong(SimpleInterface.longChangedValue);
- proxy.setObjectName(SimpleInterface.objectNameChangedValue);
- proxy.setPrimitiveBoolean(SimpleInterface.primitiveBooleanChangedValue);
- proxy.setPrimitiveByte(SimpleInterface.primitiveByteChangedValue);
- proxy.setPrimitiveChar(SimpleInterface.primitiveCharChangedValue);
- proxy.setPrimitiveDouble(SimpleInterface.primitiveDoubleChangedValue);
- proxy.setPrimitiveFloat(SimpleInterface.primitiveFloatChangedValue);
- proxy.setPrimitiveInt(SimpleInterface.primitiveIntChangedValue);
- proxy.setPrimitiveLong(SimpleInterface.primitiveLongChangedValue);
- proxy.setPrimitiveShort(SimpleInterface.primitiveShortChangedValue);
- proxy.setShort(SimpleInterface.shortChangedValue);
- proxy.setString(SimpleInterface.stringChangedValue);
- checkAttributes(SimpleInterface.class, proxy, support, SimpleInterface.KEYS, types, SimpleInterface.CHANGED_VALUES, info);
- }
-
- public void testSimpleInvoke() throws Exception
- {
- MBeanServer server = createMBeanServer();
- SimpleMXBeanSupport support = new SimpleMXBeanSupport();
- ObjectName objectName = SimpleMXBeanSupportMXBean.REGISTERED_OBJECT_NAME;
- server.registerMBean(support, objectName);
- SimpleMXBeanSupportMXBean proxy = MXBeanFactory.makeProxy(server, objectName, SimpleMXBeanSupportMXBean.class);
- assertEquals("olleH", proxy.echoReverse("Hello"));
- }
-
- public void testGetCompositeAttributes() throws Exception
- {
- MBeanServer server = createMBeanServer();
- SimpleObject composite = new SimpleObject();
- CompositeMXBeanSupport support = new CompositeMXBeanSupport("Simple", composite);
- ObjectName objectName = CompositeMXBeanSupportMXBean.REGISTERED_OBJECT_NAME;
- server.registerMBean(support, objectName);
- CompositeMXBeanSupportMXBean proxy = MXBeanFactory.makeProxy(server, objectName, CompositeMXBeanSupportMXBean.class);
- OpenMBeanInfo info = (OpenMBeanInfo) server.getMBeanInfo(objectName);
- Object[] values = { "Simple", composite };
- checkAttributes(CompositeMXBeanSupportMXBean.class, proxy, support, CompositeInterface.KEYS, CompositeInterface.TYPES, values, info);
- }
-
- public void testSetCompositeAttributes() throws Exception
- {
- MBeanServer server = createMBeanServer();
- SimpleObject composite = new SimpleObject();
- CompositeMXBeanSupport support = new CompositeMXBeanSupport("Simple", composite);
- ObjectName objectName = CompositeMXBeanSupportMXBean.REGISTERED_OBJECT_NAME;
- server.registerMBean(support, objectName);
- CompositeMXBeanSupportMXBean proxy = MXBeanFactory.makeProxy(server, objectName, CompositeMXBeanSupportMXBean.class);
- OpenMBeanInfo info = (OpenMBeanInfo) server.getMBeanInfo(objectName);
- SimpleObject changed = new SimpleObject();
- changed.setBigDecimal(SimpleInterface.bigDecimalChangedValue);
- changed.setBigInteger(SimpleInterface.bigIntegerChangedValue);
- changed.setBoolean(SimpleInterface.booleanChangedValue);
- changed.setByte(SimpleInterface.byteChangedValue);
- changed.setCharacter(SimpleInterface.characterChangedValue);
- changed.setDate(SimpleInterface.dateChangedValue);
- changed.setDouble(SimpleInterface.doubleChangedValue);
- changed.setFloat(SimpleInterface.floatChangedValue);
- changed.setInteger(SimpleInterface.integerChangedValue);
- changed.setLong(SimpleInterface.longChangedValue);
- changed.setObjectName(SimpleInterface.objectNameChangedValue);
- changed.setPrimitiveBoolean(SimpleInterface.primitiveBooleanChangedValue);
- changed.setPrimitiveByte(SimpleInterface.primitiveByteChangedValue);
- changed.setPrimitiveChar(SimpleInterface.primitiveCharChangedValue);
- changed.setPrimitiveDouble(SimpleInterface.primitiveDoubleChangedValue);
- changed.setPrimitiveFloat(SimpleInterface.primitiveFloatChangedValue);
- changed.setPrimitiveInt(SimpleInterface.primitiveIntChangedValue);
- changed.setPrimitiveLong(SimpleInterface.primitiveLongChangedValue);
- changed.setPrimitiveShort(SimpleInterface.primitiveShortChangedValue);
- changed.setShort(SimpleInterface.shortChangedValue);
- changed.setString(SimpleInterface.stringChangedValue);
- proxy.setSimple("Changed");
- proxy.setComposite(changed);
- Object[] values = new Object[] { "Changed", changed };
- checkAttributes(CompositeMXBeanSupportMXBean.class, proxy, support, CompositeInterface.KEYS, CompositeInterface.TYPES, values, info);
- }
-
- public void testCompositeInvoke() throws Exception
- {
- MBeanServer server = createMBeanServer();
- SimpleObject composite = new SimpleObject();
- CompositeMXBeanSupport support = new CompositeMXBeanSupport("Simple", composite);
- ObjectName objectName = CompositeMXBeanSupportMXBean.REGISTERED_OBJECT_NAME;
- server.registerMBean(support, objectName);
- CompositeMXBeanSupportMXBean proxy = MXBeanFactory.makeProxy(server, objectName, CompositeMXBeanSupportMXBean.class);
- composite = new SimpleObject();
- composite.setString("hello");
- SimpleInterface result = proxy.echoReverse(composite);
- assertEquals("olleh", result.getString());
- }
-
- public void testGetCollectionAttributes() throws Exception
- {
- MBeanServer server = createMBeanServer();
- String[] array = { "array" };
- Collection<String> collection = new ArrayList<String>();
- collection.add("collection");
- Set<String> set = new HashSet<String>();
- set.add("set");
- List<String> list = new ArrayList<String>();
- list.add("list");
- Map<String, Integer> map = new HashMap<String, Integer>();
- map.put("map", 1);
- TestEnum enumeration = TestEnum.FIRST;
- CollectionsMXBeanSupport support = new CollectionsMXBeanSupport(array, collection, set, list, map, enumeration);
- ObjectName objectName = CollectionsMXBeanSupportMXBean.REGISTERED_OBJECT_NAME;
- server.registerMBean(support, objectName);
- CollectionsMXBeanSupportMXBean proxy = MXBeanFactory.makeProxy(server, objectName, CollectionsMXBeanSupportMXBean.class);
- OpenMBeanInfo info = (OpenMBeanInfo) server.getMBeanInfo(objectName);
- Object[] values = { array, collection, set, list, map, enumeration };
- checkAttributes(CollectionsMXBeanSupportMXBean.class, proxy, support, CollectionsInterface.KEYS, CollectionsInterface.TYPES, values, info);
- }
-
- public void testSetCollectionAttributes() throws Exception
- {
- MBeanServer server = createMBeanServer();
- String[] array = { "array" };
- Collection<String> collection = new ArrayList<String>();
- collection.add("collection");
- Set<String> set = new LinkedHashSet<String>();
- set.add("set");
- List<String> list = new ArrayList<String>();
- list.add("list");
- Map<String, Integer> map = new LinkedHashMap<String, Integer>();
- map.put("map", 1);
- TestEnum enumeration = TestEnum.FIRST;
- CollectionsMXBeanSupport support = new CollectionsMXBeanSupport(array, collection, set, list, map, enumeration);
- ObjectName objectName = CollectionsMXBeanSupportMXBean.REGISTERED_OBJECT_NAME;
- server.registerMBean(support, objectName);
- CollectionsMXBeanSupportMXBean proxy = MXBeanFactory.makeProxy(server, objectName, CollectionsMXBeanSupportMXBean.class);
- OpenMBeanInfo info = (OpenMBeanInfo) server.getMBeanInfo(objectName);
-
- String[] changedArray = { "arrayChanged" };
- Collection<String> changedCollection = new ArrayList<String>();
- changedCollection.add("collectionChanged");
- Set<String> changedSet = new LinkedHashSet<String>();
- changedSet.add("setChanged");
- List<String> changedList = new ArrayList<String>();
- changedList.add("listChanged");
- Map<String, Integer> changedMap = new LinkedHashMap<String, Integer>();
- changedMap.put("mapChanged", 2);
- TestEnum changedEnumeration = TestEnum.SECOND;
-
- proxy.setArray(changedArray);
- proxy.setCollection(changedCollection);
- proxy.setEnum(changedEnumeration);
- proxy.setList(changedList);
- proxy.setMap(changedMap);
- proxy.setSet(changedSet);
- Object[] changedValues = { changedArray, changedCollection, changedSet, changedList, changedMap, changedEnumeration };
- checkAttributes(CollectionsMXBeanSupportMXBean.class, proxy, support, CollectionsInterface.KEYS, CollectionsInterface.TYPES, changedValues, info);
- }
-
- public void testCollectionInvoke() throws Exception
- {
- MBeanServer server = createMBeanServer();
- CollectionsMXBeanSupport support = new CollectionsMXBeanSupport();
- ObjectName objectName = CompositeMXBeanSupportMXBean.REGISTERED_OBJECT_NAME;
- server.registerMBean(support, objectName);
- CollectionsMXBeanSupportMXBean proxy = MXBeanFactory.makeProxy(server, objectName, CollectionsMXBeanSupportMXBean.class);
- List<String> list = new ArrayList<String>();
- list.add("one");
- list.add("two");
- list.add("three");
- List<String> expected = new ArrayList<String>();
- expected.add("three");
- expected.add("two");
- expected.add("one");
- List<String> result = proxy.echoReverse(list);
- assertEquals(expected, result);
- }
-
- protected void checkAttributes(Class intf, Object proxy, Object mxbean, String[] keys, OpenType[] types, Object[] values, OpenMBeanInfo info) throws Exception
- {
- MBeanAttributeInfo[] attributes = info.getAttributes();
-
- assertEquals(keys.length, values.length);
- assertEquals(keys.length, types.length);
- assertEquals(keys.length, attributes.length);
-
- Map<String, OpenMBeanAttributeInfo> mapping = new HashMap<String, OpenMBeanAttributeInfo>(attributes.length);
- for (int i = 0; i < attributes.length; ++i)
- {
- OpenMBeanAttributeInfo attribute = (OpenMBeanAttributeInfo) attributes[i];
- String name = attribute.getName();
- mapping.put(name, attribute);
- }
-
- for (int i = 0; i < keys.length; ++i)
- {
- String name = getUpperName(keys[i]);
- OpenMBeanAttributeInfo attribute = mapping.get(name);
- assertNotNull("Could not find key " + name + " in " + mapping.keySet(), attribute);
- Method method = MXBeanUtils.getCompositeDataMethod(intf, keys[i], types[i] == SimpleType.BOOLEAN);
- Object value = method.invoke(proxy, null);
- checkValueEquals(values[i], value);
- value = method.invoke(mxbean, null);
- checkValueEquals(values[i], value);
- assertEquals(types[i], attribute.getOpenType());
- }
- }
-}
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2008, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.test.mx.mxbean.test;
+
+import java.lang.reflect.Method;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.LinkedHashMap;
+import java.util.LinkedHashSet;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+
+import javax.management.MBeanAttributeInfo;
+import javax.management.MBeanServer;
+import javax.management.ObjectName;
+import javax.management.openmbean.OpenMBeanAttributeInfo;
+import javax.management.openmbean.OpenMBeanInfo;
+import javax.management.openmbean.OpenType;
+import javax.management.openmbean.SimpleType;
+
+import junit.framework.Test;
+import junit.framework.TestSuite;
+
+import org.jboss.mx.mxbean.MXBeanFactory;
+import org.jboss.mx.mxbean.MXBeanUtils;
+import org.jboss.test.mx.mxbean.support.CollectionsInterface;
+import org.jboss.test.mx.mxbean.support.CollectionsMXBeanSupport;
+import org.jboss.test.mx.mxbean.support.CollectionsMXBeanSupportMXBean;
+import org.jboss.test.mx.mxbean.support.CompositeInterface;
+import org.jboss.test.mx.mxbean.support.CompositeMXBeanSupport;
+import org.jboss.test.mx.mxbean.support.CompositeMXBeanSupportMXBean;
+import org.jboss.test.mx.mxbean.support.SimpleInterface;
+import org.jboss.test.mx.mxbean.support.SimpleMXBeanSupport;
+import org.jboss.test.mx.mxbean.support.SimpleMXBeanSupportMXBean;
+import org.jboss.test.mx.mxbean.support.SimpleObject;
+import org.jboss.test.mx.mxbean.support.TestEnum;
+
+/**
+ * MXBeanInvocationHandlerUnitTestCase.
+ *
+ * @author <a href="adrian at jboss.com">Adrian Brock</a>
+ * @version $Revision: 1.1 $
+ */
+public class MXBeanInvocationHandlerUnitTestCase extends AbstractMXBeanTest
+{
+ public static Test suite()
+ {
+ return new TestSuite(MXBeanInvocationHandlerUnitTestCase.class);
+ }
+
+ public MXBeanInvocationHandlerUnitTestCase(String name)
+ {
+ super(name);
+ }
+
+ public void testGetSimpleAttributes() throws Exception
+ {
+ MBeanServer server = createMBeanServer();
+ SimpleMXBeanSupport support = new SimpleMXBeanSupport();
+ ObjectName objectName = SimpleMXBeanSupportMXBean.REGISTERED_OBJECT_NAME;
+ server.registerMBean(support, objectName);
+ SimpleMXBeanSupportMXBean proxy = MXBeanFactory.makeProxy(server, objectName, SimpleMXBeanSupportMXBean.class);
+ OpenMBeanInfo info = (OpenMBeanInfo) server.getMBeanInfo(objectName);
+ OpenType[] types = new OpenType[SimpleInterface.TYPES.length];
+ for (int i = 0; i < types.length; ++i)
+ types[i] = MXBeanUtils.getOpenType(SimpleInterface.TYPES[i]);
+ checkAttributes(SimpleMXBeanSupportMXBean.class, proxy, support, SimpleInterface.KEYS, types, SimpleInterface.VALUES, info);
+ }
+
+ public void testSetSimpleAttributes() throws Exception
+ {
+ MBeanServer server = createMBeanServer();
+ SimpleMXBeanSupport support = new SimpleMXBeanSupport();
+ ObjectName objectName = SimpleMXBeanSupportMXBean.REGISTERED_OBJECT_NAME;
+ server.registerMBean(support, objectName);
+ SimpleMXBeanSupportMXBean proxy = MXBeanFactory.makeProxy(server, objectName, SimpleMXBeanSupportMXBean.class);
+ OpenMBeanInfo info = (OpenMBeanInfo) server.getMBeanInfo(objectName);
+ OpenType[] types = new OpenType[SimpleInterface.TYPES.length];
+ for (int i = 0; i < types.length; ++i)
+ types[i] = MXBeanUtils.getOpenType(SimpleInterface.TYPES[i]);
+ proxy.setBigDecimal(SimpleInterface.bigDecimalChangedValue);
+ proxy.setBigInteger(SimpleInterface.bigIntegerChangedValue);
+ proxy.setBoolean(SimpleInterface.booleanChangedValue);
+ proxy.setByte(SimpleInterface.byteChangedValue);
+ proxy.setCharacter(SimpleInterface.characterChangedValue);
+ proxy.setDate(SimpleInterface.dateChangedValue);
+ proxy.setDouble(SimpleInterface.doubleChangedValue);
+ proxy.setFloat(SimpleInterface.floatChangedValue);
+ proxy.setInteger(SimpleInterface.integerChangedValue);
+ proxy.setLong(SimpleInterface.longChangedValue);
+ proxy.setObjectName(SimpleInterface.objectNameChangedValue);
+ proxy.setPrimitiveBoolean(SimpleInterface.primitiveBooleanChangedValue);
+ proxy.setPrimitiveByte(SimpleInterface.primitiveByteChangedValue);
+ proxy.setPrimitiveChar(SimpleInterface.primitiveCharChangedValue);
+ proxy.setPrimitiveDouble(SimpleInterface.primitiveDoubleChangedValue);
+ proxy.setPrimitiveFloat(SimpleInterface.primitiveFloatChangedValue);
+ proxy.setPrimitiveInt(SimpleInterface.primitiveIntChangedValue);
+ proxy.setPrimitiveLong(SimpleInterface.primitiveLongChangedValue);
+ proxy.setPrimitiveShort(SimpleInterface.primitiveShortChangedValue);
+ proxy.setShort(SimpleInterface.shortChangedValue);
+ proxy.setString(SimpleInterface.stringChangedValue);
+ checkAttributes(SimpleInterface.class, proxy, support, SimpleInterface.KEYS, types, SimpleInterface.CHANGED_VALUES, info);
+ }
+
+ public void testSimpleInvoke() throws Exception
+ {
+ MBeanServer server = createMBeanServer();
+ SimpleMXBeanSupport support = new SimpleMXBeanSupport();
+ ObjectName objectName = SimpleMXBeanSupportMXBean.REGISTERED_OBJECT_NAME;
+ server.registerMBean(support, objectName);
+ SimpleMXBeanSupportMXBean proxy = MXBeanFactory.makeProxy(server, objectName, SimpleMXBeanSupportMXBean.class);
+ assertEquals("olleH", proxy.echoReverse("Hello"));
+ }
+
+ public void testGetCompositeAttributes() throws Exception
+ {
+ MBeanServer server = createMBeanServer();
+ SimpleObject composite = new SimpleObject();
+ CompositeMXBeanSupport support = new CompositeMXBeanSupport("Simple", composite);
+ ObjectName objectName = CompositeMXBeanSupportMXBean.REGISTERED_OBJECT_NAME;
+ server.registerMBean(support, objectName);
+ CompositeMXBeanSupportMXBean proxy = MXBeanFactory.makeProxy(server, objectName, CompositeMXBeanSupportMXBean.class);
+ OpenMBeanInfo info = (OpenMBeanInfo) server.getMBeanInfo(objectName);
+ Object[] values = { "Simple", composite };
+ checkAttributes(CompositeMXBeanSupportMXBean.class, proxy, support, CompositeInterface.KEYS, CompositeInterface.TYPES, values, info);
+ }
+
+ public void testSetCompositeAttributes() throws Exception
+ {
+ MBeanServer server = createMBeanServer();
+ SimpleObject composite = new SimpleObject();
+ CompositeMXBeanSupport support = new CompositeMXBeanSupport("Simple", composite);
+ ObjectName objectName = CompositeMXBeanSupportMXBean.REGISTERED_OBJECT_NAME;
+ server.registerMBean(support, objectName);
+ CompositeMXBeanSupportMXBean proxy = MXBeanFactory.makeProxy(server, objectName, CompositeMXBeanSupportMXBean.class);
+ OpenMBeanInfo info = (OpenMBeanInfo) server.getMBeanInfo(objectName);
+ SimpleObject changed = new SimpleObject();
+ changed.setBigDecimal(SimpleInterface.bigDecimalChangedValue);
+ changed.setBigInteger(SimpleInterface.bigIntegerChangedValue);
+ changed.setBoolean(SimpleInterface.booleanChangedValue);
+ changed.setByte(SimpleInterface.byteChangedValue);
+ changed.setCharacter(SimpleInterface.characterChangedValue);
+ changed.setDate(SimpleInterface.dateChangedValue);
+ changed.setDouble(SimpleInterface.doubleChangedValue);
+ changed.setFloat(SimpleInterface.floatChangedValue);
+ changed.setInteger(SimpleInterface.integerChangedValue);
+ changed.setLong(SimpleInterface.longChangedValue);
+ changed.setObjectName(SimpleInterface.objectNameChangedValue);
+ changed.setPrimitiveBoolean(SimpleInterface.primitiveBooleanChangedValue);
+ changed.setPrimitiveByte(SimpleInterface.primitiveByteChangedValue);
+ changed.setPrimitiveChar(SimpleInterface.primitiveCharChangedValue);
+ changed.setPrimitiveDouble(SimpleInterface.primitiveDoubleChangedValue);
+ changed.setPrimitiveFloat(SimpleInterface.primitiveFloatChangedValue);
+ changed.setPrimitiveInt(SimpleInterface.primitiveIntChangedValue);
+ changed.setPrimitiveLong(SimpleInterface.primitiveLongChangedValue);
+ changed.setPrimitiveShort(SimpleInterface.primitiveShortChangedValue);
+ changed.setShort(SimpleInterface.shortChangedValue);
+ changed.setString(SimpleInterface.stringChangedValue);
+ proxy.setSimple("Changed");
+ proxy.setComposite(changed);
+ Object[] values = new Object[] { "Changed", changed };
+ checkAttributes(CompositeMXBeanSupportMXBean.class, proxy, support, CompositeInterface.KEYS, CompositeInterface.TYPES, values, info);
+ }
+
+ public void testCompositeInvoke() throws Exception
+ {
+ MBeanServer server = createMBeanServer();
+ SimpleObject composite = new SimpleObject();
+ CompositeMXBeanSupport support = new CompositeMXBeanSupport("Simple", composite);
+ ObjectName objectName = CompositeMXBeanSupportMXBean.REGISTERED_OBJECT_NAME;
+ server.registerMBean(support, objectName);
+ CompositeMXBeanSupportMXBean proxy = MXBeanFactory.makeProxy(server, objectName, CompositeMXBeanSupportMXBean.class);
+ composite = new SimpleObject();
+ composite.setString("hello");
+ SimpleInterface result = proxy.echoReverse(composite);
+ assertEquals("olleh", result.getString());
+ }
+
+ public void testGetCollectionAttributes() throws Exception
+ {
+ MBeanServer server = createMBeanServer();
+ String[] array = { "array" };
+ Collection<String> collection = new ArrayList<String>();
+ collection.add("collection");
+ Set<String> set = new HashSet<String>();
+ set.add("set");
+ List<String> list = new ArrayList<String>();
+ list.add("list");
+ Map<String, Integer> map = new HashMap<String, Integer>();
+ map.put("map", 1);
+ TestEnum enumeration = TestEnum.FIRST;
+ CollectionsMXBeanSupport support = new CollectionsMXBeanSupport(array, collection, set, list, map, enumeration);
+ ObjectName objectName = CollectionsMXBeanSupportMXBean.REGISTERED_OBJECT_NAME;
+ server.registerMBean(support, objectName);
+ CollectionsMXBeanSupportMXBean proxy = MXBeanFactory.makeProxy(server, objectName, CollectionsMXBeanSupportMXBean.class);
+ OpenMBeanInfo info = (OpenMBeanInfo) server.getMBeanInfo(objectName);
+ Object[] values = { array, collection, set, list, map, enumeration };
+ checkAttributes(CollectionsMXBeanSupportMXBean.class, proxy, support, CollectionsInterface.KEYS, CollectionsInterface.TYPES, values, info);
+ }
+
+ public void testSetCollectionAttributes() throws Exception
+ {
+ MBeanServer server = createMBeanServer();
+ String[] array = { "array" };
+ Collection<String> collection = new ArrayList<String>();
+ collection.add("collection");
+ Set<String> set = new LinkedHashSet<String>();
+ set.add("set");
+ List<String> list = new ArrayList<String>();
+ list.add("list");
+ Map<String, Integer> map = new LinkedHashMap<String, Integer>();
+ map.put("map", 1);
+ TestEnum enumeration = TestEnum.FIRST;
+ CollectionsMXBeanSupport support = new CollectionsMXBeanSupport(array, collection, set, list, map, enumeration);
+ ObjectName objectName = CollectionsMXBeanSupportMXBean.REGISTERED_OBJECT_NAME;
+ server.registerMBean(support, objectName);
+ CollectionsMXBeanSupportMXBean proxy = MXBeanFactory.makeProxy(server, objectName, CollectionsMXBeanSupportMXBean.class);
+ OpenMBeanInfo info = (OpenMBeanInfo) server.getMBeanInfo(objectName);
+
+ String[] changedArray = { "arrayChanged" };
+ Collection<String> changedCollection = new ArrayList<String>();
+ changedCollection.add("collectionChanged");
+ Set<String> changedSet = new LinkedHashSet<String>();
+ changedSet.add("setChanged");
+ List<String> changedList = new ArrayList<String>();
+ changedList.add("listChanged");
+ Map<String, Integer> changedMap = new LinkedHashMap<String, Integer>();
+ changedMap.put("mapChanged", 2);
+ TestEnum changedEnumeration = TestEnum.SECOND;
+
+ proxy.setArray(changedArray);
+ proxy.setCollection(changedCollection);
+ proxy.setEnum(changedEnumeration);
+ proxy.setList(changedList);
+ proxy.setMap(changedMap);
+ proxy.setSet(changedSet);
+ Object[] changedValues = { changedArray, changedCollection, changedSet, changedList, changedMap, changedEnumeration };
+ checkAttributes(CollectionsMXBeanSupportMXBean.class, proxy, support, CollectionsInterface.KEYS, CollectionsInterface.TYPES, changedValues, info);
+ }
+
+ public void testCollectionInvoke() throws Exception
+ {
+ MBeanServer server = createMBeanServer();
+ CollectionsMXBeanSupport support = new CollectionsMXBeanSupport();
+ ObjectName objectName = CompositeMXBeanSupportMXBean.REGISTERED_OBJECT_NAME;
+ server.registerMBean(support, objectName);
+ CollectionsMXBeanSupportMXBean proxy = MXBeanFactory.makeProxy(server, objectName, CollectionsMXBeanSupportMXBean.class);
+ List<String> list = new ArrayList<String>();
+ list.add("one");
+ list.add("two");
+ list.add("three");
+ List<String> expected = new ArrayList<String>();
+ expected.add("three");
+ expected.add("two");
+ expected.add("one");
+ List<String> result = proxy.echoReverse(list);
+ assertEquals(expected, result);
+ }
+
+ protected void checkAttributes(Class intf, Object proxy, Object mxbean, String[] keys, OpenType[] types, Object[] values, OpenMBeanInfo info) throws Exception
+ {
+ MBeanAttributeInfo[] attributes = info.getAttributes();
+
+ assertEquals(keys.length, values.length);
+ assertEquals(keys.length, types.length);
+ assertEquals(keys.length, attributes.length);
+
+ Map<String, OpenMBeanAttributeInfo> mapping = new HashMap<String, OpenMBeanAttributeInfo>(attributes.length);
+ for (int i = 0; i < attributes.length; ++i)
+ {
+ OpenMBeanAttributeInfo attribute = (OpenMBeanAttributeInfo) attributes[i];
+ String name = attribute.getName();
+ mapping.put(name, attribute);
+ }
+
+ for (int i = 0; i < keys.length; ++i)
+ {
+ String name = getUpperName(keys[i]);
+ OpenMBeanAttributeInfo attribute = mapping.get(name);
+ assertNotNull("Could not find key " + name + " in " + mapping.keySet(), attribute);
+ Method method = MXBeanUtils.getCompositeDataMethod(intf, keys[i], types[i] == SimpleType.BOOLEAN);
+ Object value = method.invoke(proxy, null);
+ checkValueEquals(values[i], value);
+ value = method.invoke(mxbean, null);
+ checkValueEquals(values[i], value);
+ assertEquals(types[i], attribute.getOpenType());
+ }
+ }
+}
Modified: trunk/mbeans/src/tests/org/jboss/test/mx/mxbean/test/MXBeanSupportUnitTestCase.java
===================================================================
--- trunk/mbeans/src/tests/org/jboss/test/mx/mxbean/test/MXBeanSupportUnitTestCase.java 2008-11-14 12:49:40 UTC (rev 81025)
+++ trunk/mbeans/src/tests/org/jboss/test/mx/mxbean/test/MXBeanSupportUnitTestCase.java 2008-11-14 12:51:05 UTC (rev 81026)
@@ -1,371 +1,371 @@
-/*
-* JBoss, Home of Professional Open Source
-* Copyright 2006, JBoss Inc., and individual contributors as indicated
-* by the @authors tag. See the copyright.txt in the distribution for a
-* full listing of individual contributors.
-*
-* This is free software; you can redistribute it and/or modify it
-* under the terms of the GNU Lesser General Public License as
-* published by the Free Software Foundation; either version 2.1 of
-* the License, or (at your option) any later version.
-*
-* This software is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-* Lesser General Public License for more details.
-*
-* You should have received a copy of the GNU Lesser General Public
-* License along with this software; if not, write to the Free
-* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
-* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
-*/
-package org.jboss.test.mx.mxbean.test;
-
-import java.lang.reflect.Method;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.HashMap;
-import java.util.LinkedHashMap;
-import java.util.LinkedHashSet;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-
-import javax.management.Attribute;
-import javax.management.AttributeList;
-import javax.management.MBeanAttributeInfo;
-import javax.management.MBeanServer;
-import javax.management.ObjectName;
-import javax.management.openmbean.CompositeData;
-import javax.management.openmbean.CompositeDataSupport;
-import javax.management.openmbean.CompositeType;
-import javax.management.openmbean.OpenMBeanAttributeInfo;
-import javax.management.openmbean.OpenMBeanInfo;
-import javax.management.openmbean.OpenType;
-import javax.management.openmbean.SimpleType;
-import javax.management.openmbean.TabularDataSupport;
-import javax.management.openmbean.TabularType;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-import org.jboss.mx.mxbean.MXBeanUtils;
-import org.jboss.test.mx.mxbean.support.CollectionsInterface;
-import org.jboss.test.mx.mxbean.support.CollectionsMXBeanSupport;
-import org.jboss.test.mx.mxbean.support.CollectionsMXBeanSupportMXBean;
-import org.jboss.test.mx.mxbean.support.CompositeInterface;
-import org.jboss.test.mx.mxbean.support.CompositeMXBeanSupport;
-import org.jboss.test.mx.mxbean.support.CompositeMXBeanSupportMXBean;
-import org.jboss.test.mx.mxbean.support.SimpleInterface;
-import org.jboss.test.mx.mxbean.support.SimpleMXBeanSupport;
-import org.jboss.test.mx.mxbean.support.SimpleMXBeanSupportMXBean;
-import org.jboss.test.mx.mxbean.support.SimpleObject;
-import org.jboss.test.mx.mxbean.support.TestEnum;
-
-/**
- * MXBeanSupportUnitTestCase.
- *
- * @author <a href="adrian at jboss.com">Adrian Brock</a>
- * @version $Revision: 1.1 $
- */
-public class MXBeanSupportUnitTestCase extends AbstractMXBeanTest
-{
- private static final TabularType TABLE_STRING_TO_INTEGER = MXBeanUtils.createMapType(String.class, Integer.class);
-
- public static Test suite()
- {
- return new TestSuite(MXBeanSupportUnitTestCase.class);
- }
-
- public MXBeanSupportUnitTestCase(String name)
- {
- super(name);
- }
-
- public void testGetSimpleAttributes() throws Exception
- {
- MBeanServer server = createMBeanServer();
- SimpleMXBeanSupport support = new SimpleMXBeanSupport();
- ObjectName objectName = SimpleMXBeanSupportMXBean.REGISTERED_OBJECT_NAME;
- server.registerMBean(support, objectName);
- OpenMBeanInfo info = (OpenMBeanInfo) server.getMBeanInfo(objectName);
- OpenType[] types = new OpenType[SimpleInterface.TYPES.length];
- for (int i = 0; i < types.length; ++i)
- types[i] = MXBeanUtils.getOpenType(SimpleInterface.TYPES[i]);
- checkAttributes(server, objectName, SimpleMXBeanSupportMXBean.class, support, SimpleInterface.KEYS, types, SimpleInterface.VALUES, SimpleInterface.VALUES, info);
- }
-
- public void testSetSimpleAttributes() throws Exception
- {
- MBeanServer server = createMBeanServer();
- SimpleMXBeanSupport support = new SimpleMXBeanSupport();
- ObjectName objectName = SimpleMXBeanSupportMXBean.REGISTERED_OBJECT_NAME;
- server.registerMBean(support, objectName);
- OpenMBeanInfo info = (OpenMBeanInfo) server.getMBeanInfo(objectName);
- String[] keys = SimpleInterface.KEYS;
- Object[] values = SimpleInterface.VALUES;
- Object[] changedValues = SimpleInterface.CHANGED_VALUES;
- AttributeList list = new AttributeList(keys.length);
- OpenType[] types = new OpenType[SimpleInterface.TYPES.length];
- for (int i = 0; i < types.length; ++i)
- {
- types[i] = MXBeanUtils.getOpenType(SimpleInterface.TYPES[i]);
- String name = getUpperName(keys[i]);
- server.setAttribute(objectName, new Attribute(name, changedValues[i]));
- Attribute attribute = new Attribute(name, values[i]);
- list.add(attribute);
- }
- checkAttributes(server, objectName, SimpleMXBeanSupportMXBean.class, support, keys, types, SimpleInterface.CHANGED_VALUES, SimpleInterface.CHANGED_VALUES, info);
-
- setAttributes(server, objectName, list);
- checkAttributes(server, objectName, SimpleMXBeanSupportMXBean.class, support, keys, types, SimpleInterface.VALUES, SimpleInterface.VALUES, info);
- }
-
- public void testSimpleInvoke() throws Exception
- {
- MBeanServer server = createMBeanServer();
- SimpleMXBeanSupport support = new SimpleMXBeanSupport();
- ObjectName objectName = SimpleMXBeanSupportMXBean.REGISTERED_OBJECT_NAME;
- server.registerMBean(support, objectName);
- assertEquals("olleH", server.invoke(objectName, "echoReverse", new Object[] { "Hello" }, new String[] { String.class.getName() }));
- }
-
- public void testGetCompositeAttributes() throws Exception
- {
- MBeanServer server = createMBeanServer();
- SimpleObject composite = new SimpleObject();
- CompositeMXBeanSupport support = new CompositeMXBeanSupport("Simple", composite);
- ObjectName objectName = CompositeMXBeanSupportMXBean.REGISTERED_OBJECT_NAME;
- server.registerMBean(support, objectName);
- OpenMBeanInfo info = (OpenMBeanInfo) server.getMBeanInfo(objectName);
- CompositeData data = createCompositeData(SimpleInterface.class.getName(), SimpleInterface.KEYS, SimpleInterface.VALUES);
- Object[] values = { "Simple", data };
- Object[] realValues = { "Simple", composite };
- checkAttributes(server, objectName, CompositeMXBeanSupportMXBean.class, support, CompositeInterface.KEYS, CompositeInterface.TYPES, values, realValues, info);
- }
-
- public void testSetCompositeAttributes() throws Exception
- {
- MBeanServer server = createMBeanServer();
- SimpleObject composite = new SimpleObject();
- CompositeMXBeanSupport support = new CompositeMXBeanSupport("Simple", composite);
- ObjectName objectName = CompositeMXBeanSupportMXBean.REGISTERED_OBJECT_NAME;
- server.registerMBean(support, objectName);
- OpenMBeanInfo info = (OpenMBeanInfo) server.getMBeanInfo(objectName);
- String[] keys = CompositeInterface.KEYS;
- CompositeData data = createCompositeData(SimpleInterface.class.getName(), SimpleInterface.KEYS, SimpleInterface.VALUES);
- Object[] values = { "Simple", data };
- data = createCompositeData(SimpleInterface.class.getName(), SimpleInterface.KEYS, SimpleInterface.CHANGED_VALUES);
- Object[] changedValues = { "Changed", data };
- AttributeList list = new AttributeList(keys.length);
- for (int i = 0; i < keys.length; ++i)
- {
- String name = getUpperName(keys[i]);
- server.setAttribute(objectName, new Attribute(name, changedValues[i]));
- Attribute attribute = new Attribute(name, values[i]);
- list.add(attribute);
- }
- SimpleObject changed = new SimpleObject();
- changed.setBigDecimal(SimpleInterface.bigDecimalChangedValue);
- changed.setBigInteger(SimpleInterface.bigIntegerChangedValue);
- changed.setBoolean(SimpleInterface.booleanChangedValue);
- changed.setByte(SimpleInterface.byteChangedValue);
- changed.setCharacter(SimpleInterface.characterChangedValue);
- changed.setDate(SimpleInterface.dateChangedValue);
- changed.setDouble(SimpleInterface.doubleChangedValue);
- changed.setFloat(SimpleInterface.floatChangedValue);
- changed.setInteger(SimpleInterface.integerChangedValue);
- changed.setLong(SimpleInterface.longChangedValue);
- changed.setObjectName(SimpleInterface.objectNameChangedValue);
- changed.setPrimitiveBoolean(SimpleInterface.primitiveBooleanChangedValue);
- changed.setPrimitiveByte(SimpleInterface.primitiveByteChangedValue);
- changed.setPrimitiveChar(SimpleInterface.primitiveCharChangedValue);
- changed.setPrimitiveDouble(SimpleInterface.primitiveDoubleChangedValue);
- changed.setPrimitiveFloat(SimpleInterface.primitiveFloatChangedValue);
- changed.setPrimitiveInt(SimpleInterface.primitiveIntChangedValue);
- changed.setPrimitiveLong(SimpleInterface.primitiveLongChangedValue);
- changed.setPrimitiveShort(SimpleInterface.primitiveShortChangedValue);
- changed.setShort(SimpleInterface.shortChangedValue);
- changed.setString(SimpleInterface.stringChangedValue);
- Object[] realChangedValues = { "Changed", changed };
- checkAttributes(server, objectName, CompositeMXBeanSupportMXBean.class, support, CompositeInterface.KEYS, CompositeInterface.TYPES, changedValues, realChangedValues, info);
-
- setAttributes(server, objectName, list);
- Object[] realValues = { "Simple", composite };
- checkAttributes(server, objectName, CompositeMXBeanSupportMXBean.class, support, keys, CompositeInterface.TYPES, values, realValues, info);
- }
-
- public void testCompositeInvoke() throws Exception
- {
- MBeanServer server = createMBeanServer();
- SimpleObject composite = new SimpleObject();
- CompositeMXBeanSupport support = new CompositeMXBeanSupport("Simple", composite);
- ObjectName objectName = CompositeMXBeanSupportMXBean.REGISTERED_OBJECT_NAME;
- server.registerMBean(support, objectName);
- composite = new SimpleObject();
- composite.setString("hello");
- CompositeData data = (CompositeData) MXBeanUtils.construct(MXBeanUtils.getOpenType(SimpleInterface.class), composite, getName());
- Object actual = server.invoke(objectName, "echoReverse", new Object[] { data }, new String[] { SimpleInterface.class.getName() });
- composite = new SimpleObject();
- composite.setString("olleh");
- CompositeData expected = (CompositeData) MXBeanUtils.construct(MXBeanUtils.getOpenType(SimpleInterface.class), composite, getName());
- checkValueEquals(expected, actual);
- }
-
- public void testGetCollectionAttributes() throws Exception
- {
- MBeanServer server = createMBeanServer();
- String[] array = { "array" };
- Collection<String> collection = new ArrayList<String>();
- collection.add("collection");
- Set<String> set = new LinkedHashSet<String>();
- set.add("set");
- List<String> list = new ArrayList<String>();
- list.add("list");
- Map<String, Integer> map = new LinkedHashMap<String, Integer>();
- map.put("map", 1);
- TestEnum enumeration = TestEnum.FIRST;
- CollectionsMXBeanSupport support = new CollectionsMXBeanSupport(array, collection, set, list, map, enumeration);
- ObjectName objectName = CollectionsMXBeanSupportMXBean.REGISTERED_OBJECT_NAME;
- server.registerMBean(support, objectName);
- OpenMBeanInfo info = (OpenMBeanInfo) server.getMBeanInfo(objectName);
- String[] collectionArray = collection.toArray(new String[collection.size()]);
- String[] setArray = set.toArray(new String[set.size()]);
- String[] listArray = list.toArray(new String[list.size()]);
- TabularDataSupport mapData = new TabularDataSupport(TABLE_STRING_TO_INTEGER);
- CompositeType entryType = TABLE_STRING_TO_INTEGER.getRowType();
- mapData.put(new CompositeDataSupport(entryType, MXBeanUtils.MAP_ITEM_NAMES, new Object[] { "map", 1 }));
-
- Object[] values = { array, collectionArray, setArray, listArray, mapData, TestEnum.FIRST.name() };
- Object[] realValues = { array, collection, set, list, map, enumeration };
- checkAttributes(server, objectName, CollectionsMXBeanSupportMXBean.class, support, CollectionsInterface.KEYS, CollectionsInterface.TYPES, values, realValues, info);
- }
-
- public void testSetCollectionAttributes() throws Exception
- {
- MBeanServer server = createMBeanServer();
- String[] array = { "array" };
- Collection<String> collection = new ArrayList<String>();
- collection.add("collection");
- Set<String> set = new LinkedHashSet<String>();
- set.add("set");
- List<String> list = new ArrayList<String>();
- list.add("list");
- Map<String, Integer> map = new LinkedHashMap<String, Integer>();
- map.put("map", 1);
- TestEnum enumeration = TestEnum.FIRST;
- CollectionsMXBeanSupport support = new CollectionsMXBeanSupport(array, collection, set, list, map, enumeration);
- ObjectName objectName = CollectionsMXBeanSupportMXBean.REGISTERED_OBJECT_NAME;
- server.registerMBean(support, objectName);
- OpenMBeanInfo info = (OpenMBeanInfo) server.getMBeanInfo(objectName);
-
- String[] keys = CollectionsInterface.KEYS;
- String[] collectionArray = collection.toArray(new String[collection.size()]);
- String[] setArray = set.toArray(new String[set.size()]);
- String[] listArray = list.toArray(new String[list.size()]);
- TabularDataSupport mapData = new TabularDataSupport(TABLE_STRING_TO_INTEGER);
- CompositeType entryType = TABLE_STRING_TO_INTEGER.getRowType();
- mapData.put(new CompositeDataSupport(entryType, MXBeanUtils.MAP_ITEM_NAMES, new Object[] { "map", 1 }));
- Object[] values = { array, collectionArray, setArray, listArray, mapData, TestEnum.FIRST.name() };
-
- String[] changedArray = { "arrayChanged" };
- Collection<String> changedCollection = new ArrayList<String>();
- changedCollection.add("collectionChanged");
- Set<String> changedSet = new LinkedHashSet<String>();
- changedSet.add("setChanged");
- List<String> changedList = new ArrayList<String>();
- changedList.add("listChanged");
-
- String[] changedCollectionArray = changedCollection.toArray(new String[changedCollection.size()]);
- String[] changedSetArray = changedSet.toArray(new String[changedSet.size()]);
- String[] changedListArray = changedList.toArray(new String[changedList.size()]);
- TabularDataSupport changedMapData = new TabularDataSupport(TABLE_STRING_TO_INTEGER);
- changedMapData.put(new CompositeDataSupport(entryType, MXBeanUtils.MAP_ITEM_NAMES, new Object[] { "mapChanged", 2 }));
- Object[] changedValues = { changedArray, changedCollectionArray, changedSetArray, changedListArray, changedMapData, TestEnum.SECOND.name() };
-
- AttributeList attributeList = new AttributeList(keys.length);
- for (int i = 0; i < keys.length; ++i)
- {
- String name = getUpperName(keys[i]);
- server.setAttribute(objectName, new Attribute(name, changedValues[i]));
- Attribute attribute = new Attribute(name, values[i]);
- attributeList.add(attribute);
- }
- Map<String, Integer> changedMap = new LinkedHashMap<String, Integer>();
- changedMap.put("mapChanged", 2);
- Object[] realChangedValues = { changedArray, changedCollection, changedSet, changedList, changedMap, TestEnum.SECOND };
- checkAttributes(server, objectName, CollectionsMXBeanSupportMXBean.class, support, keys, CollectionsInterface.TYPES, changedValues, realChangedValues, info);
-
- setAttributes(server, objectName, attributeList);
- Object[] realValues = { array, collection, set, list, map, enumeration };
- checkAttributes(server, objectName, CollectionsMXBeanSupportMXBean.class, support, keys, CollectionsInterface.TYPES, values, realValues, info);
- }
-
- public void testCollectionInvoke() throws Exception
- {
- MBeanServer server = createMBeanServer();
- CollectionsMXBeanSupport support = new CollectionsMXBeanSupport();
- ObjectName objectName = CompositeMXBeanSupportMXBean.REGISTERED_OBJECT_NAME;
- server.registerMBean(support, objectName);
- String[] list = { "one", "two", "three" };
- String[] expected = { "three", "two", "one" };
- Object result = server.invoke(objectName, "echoReverse", new Object[] { list }, new String[] { List.class.getName() });
- checkArrayEquals(expected, result);
- }
-
- private void checkAttributes(MBeanServer server, ObjectName objectName, Class intf, Object mxbean, String[] keys, OpenType[] types, Object[] values, Object[] realValues, OpenMBeanInfo info) throws Exception
- {
- MBeanAttributeInfo[] attributes = info.getAttributes();
-
- assertEquals(keys.length, values.length);
- assertEquals(keys.length, types.length);
- assertEquals(keys.length, attributes.length);
-
- Map<String, OpenMBeanAttributeInfo> mapping = new HashMap<String, OpenMBeanAttributeInfo>(attributes.length);
- for (int i = 0; i < attributes.length; ++i)
- {
- OpenMBeanAttributeInfo attribute = (OpenMBeanAttributeInfo) attributes[i];
- String name = attribute.getName();
- mapping.put(name, attribute);
- }
-
- String[] attributeNames = new String[keys.length];
-
- for (int i = 0; i < keys.length; ++i)
- {
- String name = getUpperName(keys[i]);
- OpenMBeanAttributeInfo attribute = mapping.get(name);
- assertNotNull("Could not find key " + name + " in " + mapping.keySet(), attribute);
- Object value = server.getAttribute(objectName, name);
- checkValueEquals(values[i], value);
- Method method = MXBeanUtils.getCompositeDataMethod(intf, keys[i], types[i] == SimpleType.BOOLEAN);
- value = method.invoke(mxbean, null);
- checkValueEquals(realValues[i], value);
- assertEquals(types[i], attribute.getOpenType());
- attributeNames[i] = name;
- }
-
- AttributeList list = server.getAttributes(objectName, attributeNames);
- for (int i = 0; i < keys.length; ++i)
- {
- String name = attributeNames[i];
- OpenMBeanAttributeInfo attribute = mapping.get(name);
- Attribute attr = (Attribute) list.get(i);
- checkValueEquals(values[i], attr.getValue());
- assertEquals(types[i], attribute.getOpenType());
- }
- }
-
- private void setAttributes(MBeanServer server, ObjectName objectName, AttributeList list) throws Exception
- {
- AttributeList result = server.setAttributes(objectName, list);
- for (int i = 0; i < list.size(); ++i)
- {
- Attribute attribute = (Attribute) list.get(i);
- Object expected = attribute.getValue();
- attribute = (Attribute) result.get(i);
- Object actual = attribute.getValue();
- checkValueEquals(expected, actual);
- }
- }
-}
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2008, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.test.mx.mxbean.test;
+
+import java.lang.reflect.Method;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.HashMap;
+import java.util.LinkedHashMap;
+import java.util.LinkedHashSet;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+
+import javax.management.Attribute;
+import javax.management.AttributeList;
+import javax.management.MBeanAttributeInfo;
+import javax.management.MBeanServer;
+import javax.management.ObjectName;
+import javax.management.openmbean.CompositeData;
+import javax.management.openmbean.CompositeDataSupport;
+import javax.management.openmbean.CompositeType;
+import javax.management.openmbean.OpenMBeanAttributeInfo;
+import javax.management.openmbean.OpenMBeanInfo;
+import javax.management.openmbean.OpenType;
+import javax.management.openmbean.SimpleType;
+import javax.management.openmbean.TabularDataSupport;
+import javax.management.openmbean.TabularType;
+
+import junit.framework.Test;
+import junit.framework.TestSuite;
+
+import org.jboss.mx.mxbean.MXBeanUtils;
+import org.jboss.test.mx.mxbean.support.CollectionsInterface;
+import org.jboss.test.mx.mxbean.support.CollectionsMXBeanSupport;
+import org.jboss.test.mx.mxbean.support.CollectionsMXBeanSupportMXBean;
+import org.jboss.test.mx.mxbean.support.CompositeInterface;
+import org.jboss.test.mx.mxbean.support.CompositeMXBeanSupport;
+import org.jboss.test.mx.mxbean.support.CompositeMXBeanSupportMXBean;
+import org.jboss.test.mx.mxbean.support.SimpleInterface;
+import org.jboss.test.mx.mxbean.support.SimpleMXBeanSupport;
+import org.jboss.test.mx.mxbean.support.SimpleMXBeanSupportMXBean;
+import org.jboss.test.mx.mxbean.support.SimpleObject;
+import org.jboss.test.mx.mxbean.support.TestEnum;
+
+/**
+ * MXBeanSupportUnitTestCase.
+ *
+ * @author <a href="adrian at jboss.com">Adrian Brock</a>
+ * @version $Revision: 1.1 $
+ */
+public class MXBeanSupportUnitTestCase extends AbstractMXBeanTest
+{
+ private static final TabularType TABLE_STRING_TO_INTEGER = MXBeanUtils.createMapType(String.class, Integer.class);
+
+ public static Test suite()
+ {
+ return new TestSuite(MXBeanSupportUnitTestCase.class);
+ }
+
+ public MXBeanSupportUnitTestCase(String name)
+ {
+ super(name);
+ }
+
+ public void testGetSimpleAttributes() throws Exception
+ {
+ MBeanServer server = createMBeanServer();
+ SimpleMXBeanSupport support = new SimpleMXBeanSupport();
+ ObjectName objectName = SimpleMXBeanSupportMXBean.REGISTERED_OBJECT_NAME;
+ server.registerMBean(support, objectName);
+ OpenMBeanInfo info = (OpenMBeanInfo) server.getMBeanInfo(objectName);
+ OpenType[] types = new OpenType[SimpleInterface.TYPES.length];
+ for (int i = 0; i < types.length; ++i)
+ types[i] = MXBeanUtils.getOpenType(SimpleInterface.TYPES[i]);
+ checkAttributes(server, objectName, SimpleMXBeanSupportMXBean.class, support, SimpleInterface.KEYS, types, SimpleInterface.VALUES, SimpleInterface.VALUES, info);
+ }
+
+ public void testSetSimpleAttributes() throws Exception
+ {
+ MBeanServer server = createMBeanServer();
+ SimpleMXBeanSupport support = new SimpleMXBeanSupport();
+ ObjectName objectName = SimpleMXBeanSupportMXBean.REGISTERED_OBJECT_NAME;
+ server.registerMBean(support, objectName);
+ OpenMBeanInfo info = (OpenMBeanInfo) server.getMBeanInfo(objectName);
+ String[] keys = SimpleInterface.KEYS;
+ Object[] values = SimpleInterface.VALUES;
+ Object[] changedValues = SimpleInterface.CHANGED_VALUES;
+ AttributeList list = new AttributeList(keys.length);
+ OpenType[] types = new OpenType[SimpleInterface.TYPES.length];
+ for (int i = 0; i < types.length; ++i)
+ {
+ types[i] = MXBeanUtils.getOpenType(SimpleInterface.TYPES[i]);
+ String name = getUpperName(keys[i]);
+ server.setAttribute(objectName, new Attribute(name, changedValues[i]));
+ Attribute attribute = new Attribute(name, values[i]);
+ list.add(attribute);
+ }
+ checkAttributes(server, objectName, SimpleMXBeanSupportMXBean.class, support, keys, types, SimpleInterface.CHANGED_VALUES, SimpleInterface.CHANGED_VALUES, info);
+
+ setAttributes(server, objectName, list);
+ checkAttributes(server, objectName, SimpleMXBeanSupportMXBean.class, support, keys, types, SimpleInterface.VALUES, SimpleInterface.VALUES, info);
+ }
+
+ public void testSimpleInvoke() throws Exception
+ {
+ MBeanServer server = createMBeanServer();
+ SimpleMXBeanSupport support = new SimpleMXBeanSupport();
+ ObjectName objectName = SimpleMXBeanSupportMXBean.REGISTERED_OBJECT_NAME;
+ server.registerMBean(support, objectName);
+ assertEquals("olleH", server.invoke(objectName, "echoReverse", new Object[] { "Hello" }, new String[] { String.class.getName() }));
+ }
+
+ public void testGetCompositeAttributes() throws Exception
+ {
+ MBeanServer server = createMBeanServer();
+ SimpleObject composite = new SimpleObject();
+ CompositeMXBeanSupport support = new CompositeMXBeanSupport("Simple", composite);
+ ObjectName objectName = CompositeMXBeanSupportMXBean.REGISTERED_OBJECT_NAME;
+ server.registerMBean(support, objectName);
+ OpenMBeanInfo info = (OpenMBeanInfo) server.getMBeanInfo(objectName);
+ CompositeData data = createCompositeData(SimpleInterface.class.getName(), SimpleInterface.KEYS, SimpleInterface.VALUES);
+ Object[] values = { "Simple", data };
+ Object[] realValues = { "Simple", composite };
+ checkAttributes(server, objectName, CompositeMXBeanSupportMXBean.class, support, CompositeInterface.KEYS, CompositeInterface.TYPES, values, realValues, info);
+ }
+
+ public void testSetCompositeAttributes() throws Exception
+ {
+ MBeanServer server = createMBeanServer();
+ SimpleObject composite = new SimpleObject();
+ CompositeMXBeanSupport support = new CompositeMXBeanSupport("Simple", composite);
+ ObjectName objectName = CompositeMXBeanSupportMXBean.REGISTERED_OBJECT_NAME;
+ server.registerMBean(support, objectName);
+ OpenMBeanInfo info = (OpenMBeanInfo) server.getMBeanInfo(objectName);
+ String[] keys = CompositeInterface.KEYS;
+ CompositeData data = createCompositeData(SimpleInterface.class.getName(), SimpleInterface.KEYS, SimpleInterface.VALUES);
+ Object[] values = { "Simple", data };
+ data = createCompositeData(SimpleInterface.class.getName(), SimpleInterface.KEYS, SimpleInterface.CHANGED_VALUES);
+ Object[] changedValues = { "Changed", data };
+ AttributeList list = new AttributeList(keys.length);
+ for (int i = 0; i < keys.length; ++i)
+ {
+ String name = getUpperName(keys[i]);
+ server.setAttribute(objectName, new Attribute(name, changedValues[i]));
+ Attribute attribute = new Attribute(name, values[i]);
+ list.add(attribute);
+ }
+ SimpleObject changed = new SimpleObject();
+ changed.setBigDecimal(SimpleInterface.bigDecimalChangedValue);
+ changed.setBigInteger(SimpleInterface.bigIntegerChangedValue);
+ changed.setBoolean(SimpleInterface.booleanChangedValue);
+ changed.setByte(SimpleInterface.byteChangedValue);
+ changed.setCharacter(SimpleInterface.characterChangedValue);
+ changed.setDate(SimpleInterface.dateChangedValue);
+ changed.setDouble(SimpleInterface.doubleChangedValue);
+ changed.setFloat(SimpleInterface.floatChangedValue);
+ changed.setInteger(SimpleInterface.integerChangedValue);
+ changed.setLong(SimpleInterface.longChangedValue);
+ changed.setObjectName(SimpleInterface.objectNameChangedValue);
+ changed.setPrimitiveBoolean(SimpleInterface.primitiveBooleanChangedValue);
+ changed.setPrimitiveByte(SimpleInterface.primitiveByteChangedValue);
+ changed.setPrimitiveChar(SimpleInterface.primitiveCharChangedValue);
+ changed.setPrimitiveDouble(SimpleInterface.primitiveDoubleChangedValue);
+ changed.setPrimitiveFloat(SimpleInterface.primitiveFloatChangedValue);
+ changed.setPrimitiveInt(SimpleInterface.primitiveIntChangedValue);
+ changed.setPrimitiveLong(SimpleInterface.primitiveLongChangedValue);
+ changed.setPrimitiveShort(SimpleInterface.primitiveShortChangedValue);
+ changed.setShort(SimpleInterface.shortChangedValue);
+ changed.setString(SimpleInterface.stringChangedValue);
+ Object[] realChangedValues = { "Changed", changed };
+ checkAttributes(server, objectName, CompositeMXBeanSupportMXBean.class, support, CompositeInterface.KEYS, CompositeInterface.TYPES, changedValues, realChangedValues, info);
+
+ setAttributes(server, objectName, list);
+ Object[] realValues = { "Simple", composite };
+ checkAttributes(server, objectName, CompositeMXBeanSupportMXBean.class, support, keys, CompositeInterface.TYPES, values, realValues, info);
+ }
+
+ public void testCompositeInvoke() throws Exception
+ {
+ MBeanServer server = createMBeanServer();
+ SimpleObject composite = new SimpleObject();
+ CompositeMXBeanSupport support = new CompositeMXBeanSupport("Simple", composite);
+ ObjectName objectName = CompositeMXBeanSupportMXBean.REGISTERED_OBJECT_NAME;
+ server.registerMBean(support, objectName);
+ composite = new SimpleObject();
+ composite.setString("hello");
+ CompositeData data = (CompositeData) MXBeanUtils.construct(MXBeanUtils.getOpenType(SimpleInterface.class), composite, getName());
+ Object actual = server.invoke(objectName, "echoReverse", new Object[] { data }, new String[] { SimpleInterface.class.getName() });
+ composite = new SimpleObject();
+ composite.setString("olleh");
+ CompositeData expected = (CompositeData) MXBeanUtils.construct(MXBeanUtils.getOpenType(SimpleInterface.class), composite, getName());
+ checkValueEquals(expected, actual);
+ }
+
+ public void testGetCollectionAttributes() throws Exception
+ {
+ MBeanServer server = createMBeanServer();
+ String[] array = { "array" };
+ Collection<String> collection = new ArrayList<String>();
+ collection.add("collection");
+ Set<String> set = new LinkedHashSet<String>();
+ set.add("set");
+ List<String> list = new ArrayList<String>();
+ list.add("list");
+ Map<String, Integer> map = new LinkedHashMap<String, Integer>();
+ map.put("map", 1);
+ TestEnum enumeration = TestEnum.FIRST;
+ CollectionsMXBeanSupport support = new CollectionsMXBeanSupport(array, collection, set, list, map, enumeration);
+ ObjectName objectName = CollectionsMXBeanSupportMXBean.REGISTERED_OBJECT_NAME;
+ server.registerMBean(support, objectName);
+ OpenMBeanInfo info = (OpenMBeanInfo) server.getMBeanInfo(objectName);
+ String[] collectionArray = collection.toArray(new String[collection.size()]);
+ String[] setArray = set.toArray(new String[set.size()]);
+ String[] listArray = list.toArray(new String[list.size()]);
+ TabularDataSupport mapData = new TabularDataSupport(TABLE_STRING_TO_INTEGER);
+ CompositeType entryType = TABLE_STRING_TO_INTEGER.getRowType();
+ mapData.put(new CompositeDataSupport(entryType, MXBeanUtils.MAP_ITEM_NAMES, new Object[] { "map", 1 }));
+
+ Object[] values = { array, collectionArray, setArray, listArray, mapData, TestEnum.FIRST.name() };
+ Object[] realValues = { array, collection, set, list, map, enumeration };
+ checkAttributes(server, objectName, CollectionsMXBeanSupportMXBean.class, support, CollectionsInterface.KEYS, CollectionsInterface.TYPES, values, realValues, info);
+ }
+
+ public void testSetCollectionAttributes() throws Exception
+ {
+ MBeanServer server = createMBeanServer();
+ String[] array = { "array" };
+ Collection<String> collection = new ArrayList<String>();
+ collection.add("collection");
+ Set<String> set = new LinkedHashSet<String>();
+ set.add("set");
+ List<String> list = new ArrayList<String>();
+ list.add("list");
+ Map<String, Integer> map = new LinkedHashMap<String, Integer>();
+ map.put("map", 1);
+ TestEnum enumeration = TestEnum.FIRST;
+ CollectionsMXBeanSupport support = new CollectionsMXBeanSupport(array, collection, set, list, map, enumeration);
+ ObjectName objectName = CollectionsMXBeanSupportMXBean.REGISTERED_OBJECT_NAME;
+ server.registerMBean(support, objectName);
+ OpenMBeanInfo info = (OpenMBeanInfo) server.getMBeanInfo(objectName);
+
+ String[] keys = CollectionsInterface.KEYS;
+ String[] collectionArray = collection.toArray(new String[collection.size()]);
+ String[] setArray = set.toArray(new String[set.size()]);
+ String[] listArray = list.toArray(new String[list.size()]);
+ TabularDataSupport mapData = new TabularDataSupport(TABLE_STRING_TO_INTEGER);
+ CompositeType entryType = TABLE_STRING_TO_INTEGER.getRowType();
+ mapData.put(new CompositeDataSupport(entryType, MXBeanUtils.MAP_ITEM_NAMES, new Object[] { "map", 1 }));
+ Object[] values = { array, collectionArray, setArray, listArray, mapData, TestEnum.FIRST.name() };
+
+ String[] changedArray = { "arrayChanged" };
+ Collection<String> changedCollection = new ArrayList<String>();
+ changedCollection.add("collectionChanged");
+ Set<String> changedSet = new LinkedHashSet<String>();
+ changedSet.add("setChanged");
+ List<String> changedList = new ArrayList<String>();
+ changedList.add("listChanged");
+
+ String[] changedCollectionArray = changedCollection.toArray(new String[changedCollection.size()]);
+ String[] changedSetArray = changedSet.toArray(new String[changedSet.size()]);
+ String[] changedListArray = changedList.toArray(new String[changedList.size()]);
+ TabularDataSupport changedMapData = new TabularDataSupport(TABLE_STRING_TO_INTEGER);
+ changedMapData.put(new CompositeDataSupport(entryType, MXBeanUtils.MAP_ITEM_NAMES, new Object[] { "mapChanged", 2 }));
+ Object[] changedValues = { changedArray, changedCollectionArray, changedSetArray, changedListArray, changedMapData, TestEnum.SECOND.name() };
+
+ AttributeList attributeList = new AttributeList(keys.length);
+ for (int i = 0; i < keys.length; ++i)
+ {
+ String name = getUpperName(keys[i]);
+ server.setAttribute(objectName, new Attribute(name, changedValues[i]));
+ Attribute attribute = new Attribute(name, values[i]);
+ attributeList.add(attribute);
+ }
+ Map<String, Integer> changedMap = new LinkedHashMap<String, Integer>();
+ changedMap.put("mapChanged", 2);
+ Object[] realChangedValues = { changedArray, changedCollection, changedSet, changedList, changedMap, TestEnum.SECOND };
+ checkAttributes(server, objectName, CollectionsMXBeanSupportMXBean.class, support, keys, CollectionsInterface.TYPES, changedValues, realChangedValues, info);
+
+ setAttributes(server, objectName, attributeList);
+ Object[] realValues = { array, collection, set, list, map, enumeration };
+ checkAttributes(server, objectName, CollectionsMXBeanSupportMXBean.class, support, keys, CollectionsInterface.TYPES, values, realValues, info);
+ }
+
+ public void testCollectionInvoke() throws Exception
+ {
+ MBeanServer server = createMBeanServer();
+ CollectionsMXBeanSupport support = new CollectionsMXBeanSupport();
+ ObjectName objectName = CompositeMXBeanSupportMXBean.REGISTERED_OBJECT_NAME;
+ server.registerMBean(support, objectName);
+ String[] list = { "one", "two", "three" };
+ String[] expected = { "three", "two", "one" };
+ Object result = server.invoke(objectName, "echoReverse", new Object[] { list }, new String[] { List.class.getName() });
+ checkArrayEquals(expected, result);
+ }
+
+ private void checkAttributes(MBeanServer server, ObjectName objectName, Class intf, Object mxbean, String[] keys, OpenType[] types, Object[] values, Object[] realValues, OpenMBeanInfo info) throws Exception
+ {
+ MBeanAttributeInfo[] attributes = info.getAttributes();
+
+ assertEquals(keys.length, values.length);
+ assertEquals(keys.length, types.length);
+ assertEquals(keys.length, attributes.length);
+
+ Map<String, OpenMBeanAttributeInfo> mapping = new HashMap<String, OpenMBeanAttributeInfo>(attributes.length);
+ for (int i = 0; i < attributes.length; ++i)
+ {
+ OpenMBeanAttributeInfo attribute = (OpenMBeanAttributeInfo) attributes[i];
+ String name = attribute.getName();
+ mapping.put(name, attribute);
+ }
+
+ String[] attributeNames = new String[keys.length];
+
+ for (int i = 0; i < keys.length; ++i)
+ {
+ String name = getUpperName(keys[i]);
+ OpenMBeanAttributeInfo attribute = mapping.get(name);
+ assertNotNull("Could not find key " + name + " in " + mapping.keySet(), attribute);
+ Object value = server.getAttribute(objectName, name);
+ checkValueEquals(values[i], value);
+ Method method = MXBeanUtils.getCompositeDataMethod(intf, keys[i], types[i] == SimpleType.BOOLEAN);
+ value = method.invoke(mxbean, null);
+ checkValueEquals(realValues[i], value);
+ assertEquals(types[i], attribute.getOpenType());
+ attributeNames[i] = name;
+ }
+
+ AttributeList list = server.getAttributes(objectName, attributeNames);
+ for (int i = 0; i < keys.length; ++i)
+ {
+ String name = attributeNames[i];
+ OpenMBeanAttributeInfo attribute = mapping.get(name);
+ Attribute attr = (Attribute) list.get(i);
+ checkValueEquals(values[i], attr.getValue());
+ assertEquals(types[i], attribute.getOpenType());
+ }
+ }
+
+ private void setAttributes(MBeanServer server, ObjectName objectName, AttributeList list) throws Exception
+ {
+ AttributeList result = server.setAttributes(objectName, list);
+ for (int i = 0; i < list.size(); ++i)
+ {
+ Attribute attribute = (Attribute) list.get(i);
+ Object expected = attribute.getValue();
+ attribute = (Attribute) result.get(i);
+ Object actual = attribute.getValue();
+ checkValueEquals(expected, actual);
+ }
+ }
+}
Modified: trunk/mbeans/src/tests/org/jboss/test/mx/mxbean/test/MXBeanTestSuite.java
===================================================================
--- trunk/mbeans/src/tests/org/jboss/test/mx/mxbean/test/MXBeanTestSuite.java 2008-11-14 12:49:40 UTC (rev 81025)
+++ trunk/mbeans/src/tests/org/jboss/test/mx/mxbean/test/MXBeanTestSuite.java 2008-11-14 12:51:05 UTC (rev 81026)
@@ -1,70 +1,70 @@
-/*
-* JBoss, Home of Professional Open Source
-* Copyright 2006, JBoss Inc., and individual contributors as indicated
-* by the @authors tag. See the copyright.txt in the distribution for a
-* full listing of individual contributors.
-*
-* This is free software; you can redistribute it and/or modify it
-* under the terms of the GNU Lesser General Public License as
-* published by the Free Software Foundation; either version 2.1 of
-* the License, or (at your option) any later version.
-*
-* This software is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-* Lesser General Public License for more details.
-*
-* You should have received a copy of the GNU Lesser General Public
-* License along with this software; if not, write to the Free
-* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
-* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
-*/
-package org.jboss.test.mx.mxbean.test;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import junit.textui.TestRunner;
-
-/**
- * MXBean Test Suite.
- *
- * @author <a href="adrian at jboss.com">Adrian Brock</a>
- * @version $Revision: 37459 $
- */
-public class MXBeanTestSuite extends TestSuite
-{
- public static void main(String[] args)
- {
- TestRunner.run(suite());
- }
-
- public static Test suite()
- {
- TestSuite suite = new TestSuite("MXBean Tests");
-
- suite.addTest(CompositeDataInvocationHandlerUnitTestCase.suite());
- suite.addTest(CompositeTypeMetaDataFactoryUnitTestCase.suite());
- suite.addTest(CompositeDataBigDecimalUnitTestCase.suite());
- suite.addTest(CompositeDataBigIntegerUnitTestCase.suite());
- suite.addTest(CompositeDataBooleanUnitTestCase.suite());
- suite.addTest(CompositeDataByteUnitTestCase.suite());
- suite.addTest(CompositeDataCharacterUnitTestCase.suite());
- suite.addTest(CompositeDataDateUnitTestCase.suite());
- suite.addTest(CompositeDataDoubleUnitTestCase.suite());
- suite.addTest(CompositeDataFloatUnitTestCase.suite());
- suite.addTest(CompositeDataIntegerUnitTestCase.suite());
- suite.addTest(CompositeDataLongUnitTestCase.suite());
- suite.addTest(CompositeDataObjectNameUnitTestCase.suite());
- suite.addTest(CompositeDataShortUnitTestCase.suite());
- suite.addTest(CompositeDataStringUnitTestCase.suite());
- suite.addTest(CompositeDataEnumUnitTestCase.suite());
- suite.addTest(CompositeDataArrayUnitTestCase.suite());
- suite.addTest(CompositeDataCollectionUnitTestCase.suite());
- suite.addTest(CompositeDataMapUnitTestCase.suite());
- suite.addTest(CompositeDataCompositeUnitTestCase.suite());
- suite.addTest(MXBeanSupportUnitTestCase.suite());
- suite.addTest(MXBeanInvocationHandlerUnitTestCase.suite());
-
- return suite;
- }
-}
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2008, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.test.mx.mxbean.test;
+
+import junit.framework.Test;
+import junit.framework.TestSuite;
+import junit.textui.TestRunner;
+
+/**
+ * MXBean Test Suite.
+ *
+ * @author <a href="adrian at jboss.com">Adrian Brock</a>
+ * @version $Revision: 37459 $
+ */
+public class MXBeanTestSuite extends TestSuite
+{
+ public static void main(String[] args)
+ {
+ TestRunner.run(suite());
+ }
+
+ public static Test suite()
+ {
+ TestSuite suite = new TestSuite("MXBean Tests");
+
+ suite.addTest(CompositeDataInvocationHandlerUnitTestCase.suite());
+ suite.addTest(CompositeTypeMetaDataFactoryUnitTestCase.suite());
+ suite.addTest(CompositeDataBigDecimalUnitTestCase.suite());
+ suite.addTest(CompositeDataBigIntegerUnitTestCase.suite());
+ suite.addTest(CompositeDataBooleanUnitTestCase.suite());
+ suite.addTest(CompositeDataByteUnitTestCase.suite());
+ suite.addTest(CompositeDataCharacterUnitTestCase.suite());
+ suite.addTest(CompositeDataDateUnitTestCase.suite());
+ suite.addTest(CompositeDataDoubleUnitTestCase.suite());
+ suite.addTest(CompositeDataFloatUnitTestCase.suite());
+ suite.addTest(CompositeDataIntegerUnitTestCase.suite());
+ suite.addTest(CompositeDataLongUnitTestCase.suite());
+ suite.addTest(CompositeDataObjectNameUnitTestCase.suite());
+ suite.addTest(CompositeDataShortUnitTestCase.suite());
+ suite.addTest(CompositeDataStringUnitTestCase.suite());
+ suite.addTest(CompositeDataEnumUnitTestCase.suite());
+ suite.addTest(CompositeDataArrayUnitTestCase.suite());
+ suite.addTest(CompositeDataCollectionUnitTestCase.suite());
+ suite.addTest(CompositeDataMapUnitTestCase.suite());
+ suite.addTest(CompositeDataCompositeUnitTestCase.suite());
+ suite.addTest(MXBeanSupportUnitTestCase.suite());
+ suite.addTest(MXBeanInvocationHandlerUnitTestCase.suite());
+
+ return suite;
+ }
+}
More information about the jboss-cvs-commits
mailing list