User: juhalindfors
  Date: 02/01/16 03:37:11

  Added:       src/main/test/compliance/modelmbean ModelMBeanSUITE.java
                        ModelMBeanTEST.java
  Log:
  mmb test stuff
  
  Revision  Changes    Path
  1.1                  jmx/src/main/test/compliance/modelmbean/ModelMBeanSUITE.java
  
  Index: ModelMBeanSUITE.java
  ===================================================================
  /*
   * JBoss, the OpenSource J2EE webOS
   *
   * Distributable under LGPL license.
   * See terms of license at gnu.org.
   */
  
  package test.compliance.modelmbean;
  
  import junit.framework.Test;
  import junit.framework.TestSuite;
  
  public class ModelMBeanSUITE extends TestSuite
  {
     public static void main(String[] args)
     {
        junit.textui.TestRunner.run(suite());
     }
  
     public static Test suite()
     {
        TestSuite suite = new TestSuite("All ModelMBean Related Tests");
  
        suite.addTest(new TestSuite(ModelMBeanTEST.class));
  
        return suite;
     }
  
  }
  
  
  
  1.1                  jmx/src/main/test/compliance/modelmbean/ModelMBeanTEST.java
  
  Index: ModelMBeanTEST.java
  ===================================================================
  /*
   * JBoss, the OpenSource J2EE webOS
   *
   * Distributable under LGPL license.
   * See terms of license at gnu.org.
   */
  
  package test.compliance.modelmbean;
  
  import junit.framework.TestCase;
  import test.compliance.modelmbean.support.Resource;
  
  import javax.management.*;
  import javax.management.modelmbean.*;
  
  public class ModelMBeanTEST extends TestCase
  {
     public ModelMBeanTEST(String s)
     {
        super(s);
     }
  
     public void testRequiredModelMBeanConstructors()
     {
        try
        {
           new RequiredModelMBean();
        }
        catch (Throwable t)
        {
           t.printStackTrace();
           fail("Creating Required ModelMBean instance with default constructor 
failed: " + t.toString());
        }
     }
     
     public void testRMMSetManagedResource()
     {
        try
        {
           ModelMBean modelmbean = new RequiredModelMBean();
           Resource resource = new Resource();
           modelmbean.setManagedResource(resource, "ObjectReference");
        }
        catch (Throwable t)
        {
           t.printStackTrace();
           fail("Setting resource object with 'ObjectReference' type failed: " + 
t.toString());
        }
     }
     
     public void testRMMSetModelMBeanInfo()
     {
        try
        {
           ModelMBean modelmbean = new RequiredModelMBean();
           modelmbean.setModelMBeanInfo(getModelMBeanInfo());
        }
        catch (Throwable t)
        {
           t.printStackTrace();
           fail("Unable to set model mbean info for resource object: " + t.toString());
        }
  
     }
  
     public void testRMMInvocation()
     {
        try
        {
           MBeanServer server = MBeanServerFactory.createMBeanServer();
           
           Resource resource = new Resource();
           ModelMBean modelmbean = new RequiredModelMBean();
           modelmbean.setModelMBeanInfo(getModelMBeanInfo());
           modelmbean.setManagedResource(resource, "ObjectReference");
           
           ObjectName name = new ObjectName("rmm:invokeTest=true");
           server.registerMBean(modelmbean, name);
           
           assertTrue(((Boolean)server.invoke(name, "isActive", null, 
null)).booleanValue());
        }
        catch (Throwable t) 
        {
           t.printStackTrace();
           fail("RMMInvocation: " + t.toString());
        }
     }
     
     public ModelMBeanInfo getModelMBeanInfo()
     {
        final boolean READABLE = true;
        final boolean WRITABLE = true;
        final boolean BOOLEAN  = true;
        
        // build 'RoomName' read-write attribute
        Descriptor descr1 = new DescriptorSupport();
        descr1.setField("name", "Room");
        descr1.setField("descriptorType", "attribute");
        descr1.setField("displayName", "Room Number");
        descr1.setField("default", "D325");
  
        ModelMBeanAttributeInfo roomNameInfo =
           new ModelMBeanAttributeInfo(
              "Room",                        // attribute name
              String.class.getName(),        // attribute type
              "Room name or number.",        // description
              READABLE, WRITABLE, !BOOLEAN,  // read write
              descr1                         // descriptor
           );
  
  
        // build 'Active' read-only attribute
        Descriptor descr2 = new DescriptorSupport();
        descr2.setField("name", "Active");
        descr2.setField("descriptorType", "attribute");
        descr2.setField("getMethod", "isActive");
        descr2.setField("currencyTimeLimit", "10");
  
        ModelMBeanAttributeInfo activeInfo =
           new ModelMBeanAttributeInfo(
              "Active",
              boolean.class.getName(),
              "Printer state.",
              READABLE, !WRITABLE, !BOOLEAN,
              descr2
           );
  
        // build 'isActive' getter operation
        Descriptor descr3 = new DescriptorSupport();
        descr3.setField("name", "isActive");
        descr3.setField("descriptorType", "operation");
        descr3.setField("role", "getter");
  
        ModelMBeanOperationInfo isActiveInfo =
           new ModelMBeanOperationInfo(
              "isActive",                   // name & description
              "Checks if the printer is currently active.",
              null,                         // signature
              boolean.class.getName(),      // return type
              MBeanOperationInfo.INFO,      // impact
              descr3                        // descriptor
           );
  
        // MBean descriptor
        Descriptor descr4 = new DescriptorSupport();
        descr4.setField("name", "Printer");
        descr4.setField("descriptorType", "mbean");
  
        // create ModelMBeanInfo
        ModelMBeanInfo info = new ModelMBeanInfoSupport(
                                 RequiredModelMBean.class.getName(),  // class name
                                 "Printer",                           // description
                                 new ModelMBeanAttributeInfo[] {      // attributes
                                    roomNameInfo,
                                    activeInfo
                                 },
                                 null,                                // constructors
                                 new ModelMBeanOperationInfo[] {      // operations
                                    isActiveInfo
                                 },
                                 null,                                // notifications
                                 descr4                               // descriptor
                              );
  
        return info;
     }
  
  }
  
  
  

_______________________________________________
Jboss-development mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-development

Reply via email to