User: ejort   
  Date: 02/02/16 02:31:23

  Modified:    src/main/test/compliance/relation
                        RelationSupportTestCase.java
  Log:
  Updated relation tests - still not finished :-(
  
  Revision  Changes    Path
  1.2       +750 -43   
jmx/src/main/test/compliance/relation/RelationSupportTestCase.java
  
  Index: RelationSupportTestCase.java
  ===================================================================
  RCS file: 
/cvsroot/jboss/jmx/src/main/test/compliance/relation/RelationSupportTestCase.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- RelationSupportTestCase.java      8 Feb 2002 21:24:18 -0000       1.1
  +++ RelationSupportTestCase.java      16 Feb 2002 10:31:23 -0000      1.2
  @@ -7,16 +7,29 @@
   
   package test.compliance.relation;
   
  +import junit.framework.TestCase;
  +
   import java.util.ArrayList;
  +import java.util.HashMap;
  +import java.util.Iterator;
  +import java.util.List;
  +import java.util.Map;
   
   import javax.management.MBeanServer;
   import javax.management.MBeanServerFactory;
   import javax.management.ObjectName;
  +
  +import javax.management.relation.RelationService;
   import javax.management.relation.RelationSupport;
  +import javax.management.relation.RelationType;
   import javax.management.relation.Role;
  +import javax.management.relation.RoleInfo;
   import javax.management.relation.RoleList;
  +import javax.management.relation.RoleResult;
  +import javax.management.relation.RoleUnresolved;
  +import javax.management.relation.RoleUnresolvedList;
   
  -import junit.framework.TestCase;
  +import test.compliance.relation.support.Trivial;
   
   /**
    * Relation Support tests
  @@ -31,20 +44,14 @@
   
     // Attributes ----------------------------------------------------------------
   
  -  RelationSupport support;
  -
  -  ObjectName relationService;
  +  HashMap services = new HashMap();
   
  -  ObjectName on1;
  -  ObjectName on2;
  -  ObjectName on3;
  -
  -  MBeanServer server;
  -
  -  ArrayList roles1;
  -  ArrayList roles2;
  -
  -  RoleList roleList;
  +  RoleList rolesA;
  +  HashMap roleInfosA = new HashMap();
  +  RoleList rolesB;
  +  HashMap roleInfosB = new HashMap();
  +  RoleList rolesC;
  +  HashMap roleInfosC = new HashMap();
   
     // Constructor ---------------------------------------------------------------
   
  @@ -59,47 +66,747 @@
     // Tests ---------------------------------------------------------------------
   
     /**
  -   * Test the main constructor, used by the relation service and delegating
  -   * implementations of Relation
  +   * Test the delegate constructor
  +   */
  +  public void testDelegateConstructor()
  +  {
  +    MBeanServer server = createMBeanServer();
  +    ObjectName service = createRelationService("test:type=service", null);
  +    createRolesB(null);
  +    RelationSupport support = null;
  +    try
  +    {
  +      support = new RelationSupport("id", service, server, "relationTypeB",
  +                                    rolesB);
  +    }
  +    catch(Exception e)
  +    {
  +      fail(e.toString());
  +    }
  +    assertEquals("id", support.getRelationId());
  +    assertEquals("relationTypeB", support.getRelationTypeName());
  +    assertEquals("test:type=service", support.getRelationServiceName().toString());
  +    RoleList roleList = support.retrieveAllRoles();
  +    compare(rolesB, roleList);
  +  }
  +
  +  /**
  +   * Test get all roles
  +   */
  +  public void testGetAllRoles()
  +  {
  +    MBeanServer server = createMBeanServer();
  +    ObjectName service = createRelationService("test:type=service", server);
  +    createRelationTypeB(service);
  +    createRolesB(server);
  +    RoleResult result = null;
  +    try
  +    {
  +      RelationSupport support = new RelationSupport("id", service, server, 
  +                                  "relationTypeB", rolesB);
  +      addRelation(server, service, support, "test:type=support");
  +      result = support.getAllRoles();
  +    }
  +    catch(Exception e)
  +    {
  +      fail(e.toString());
  +    }
  +    checkResult(result, roleInfosB, rolesB);
  +  }
  +
  +  /**
  +   * Test get referenced mbeans when not registered in service
  +   */
  +  public void testGetReferencedMBeansNotRegistered()
  +  {
  +    MBeanServer server = createMBeanServer();
  +    ObjectName service = createRelationService("test:type=service", null);
  +    createRelationTypeC(service);
  +    createRolesC(server);
  +    Map result = null;
  +    try
  +    {
  +      RelationSupport support = new RelationSupport("id", service, server, 
  +                                  "relationTypeC", rolesC);
  +      result = support.getReferencedMBeans();
  +    }
  +    catch(Exception e)
  +    {
  +      fail(e.toString());
  +    }
  +    checkMBeans(result, rolesC);
  +  }
  +
  +  /**
  +   * Test get referenced mbeans when registered in service
  +   */
  +  public void testGetReferencedMBeansWhenRegistered()
  +  {
  +    MBeanServer server = createMBeanServer();
  +    ObjectName service = createRelationService("test:type=service", server);
  +    createRelationTypeC(service);
  +    createRolesC(server);
  +    Map result = null;
  +    try
  +    {
  +      RelationSupport support = new RelationSupport("id", service, server, 
  +                                  "relationTypeC", rolesC);
  +      addRelation(server, service, support, "test:type=support");
  +      result = support.getReferencedMBeans();
  +    }
  +    catch(Exception e)
  +    {
  +      fail(e.toString());
  +    }
  +    checkMBeans(result, rolesC);
  +  }
  +
  +  /**
  +   * Test get Role
  +   */
  +  public void testGetRole()
  +  {
  +    MBeanServer server = createMBeanServer();
  +    ObjectName service = createRelationService("test:type=service", server);
  +    createRelationTypeC(service);
  +    createRolesC(server);
  +    List result = null;
  +    try
  +    {
  +      RelationSupport support = new RelationSupport("id", service, server, 
  +                                  "relationTypeC", rolesC);
  +      addRelation(server, service, support, "test:type=support");
  +      result = support.getRole("roleC1");
  +    }
  +    catch(Exception e)
  +    {
  +      fail(e.toString());
  +    }
  +    compareListOfObjectNames(getRole(rolesC, "roleC1").getRoleValue(), result);
  +  }
  +
  +  /**
  +   * Test get Role cardinality when not registered
  +   */
  +  public void testGetRoleCardinalityUnregistered()
  +  {
  +    MBeanServer server = createMBeanServer();
  +    ObjectName service = createRelationService("test:type=service", null);
  +    createRolesC(null);
  +    Integer result = null;
  +    RelationSupport support = null;
  +    try
  +    {
  +      support = new RelationSupport("id", service, server, 
  +                                  "relationTypeC", rolesC);
  +      result = support.getRoleCardinality("roleC1");
  +    }
  +    catch(Exception e)
  +    {
  +      fail(e.toString());
  +    }
  +    assertEquals(2, result.intValue());
  +
  +    try
  +    {
  +      result = support.getRoleCardinality("roleC2");
  +    }
  +    catch(Exception e)
  +    {
  +      fail(e.toString());
  +    }
  +    assertEquals(3, result.intValue());
  +  }
  +
  +  /**
  +   * Test get Role cardinality registered
  +   */
  +  public void testGetRoleCardinalityRegistered()
  +  {
  +    MBeanServer server = createMBeanServer();
  +    ObjectName service = createRelationService("test:type=service", server);
  +    createRelationTypeC(service);
  +    createRolesC(server);
  +    Integer result = null;
  +    RelationSupport support = null;
  +    try
  +    {
  +      support = new RelationSupport("id", service, server, 
  +                                  "relationTypeC", rolesC);
  +      addRelation(server, service, support, "test:type=support");
  +      result = support.getRoleCardinality("roleC1");
  +    }
  +    catch(Exception e)
  +    {
  +      fail(e.toString());
  +    }
  +    assertEquals(2, result.intValue());
  +
  +    try
  +    {
  +      result = support.getRoleCardinality("roleC2");
  +    }
  +    catch(Exception e)
  +    {
  +      fail(e.toString());
  +    }
  +    assertEquals(3, result.intValue());
  +  }
  +
  +  /**
  +   * Test get Roles
      */
  -  public void testMainConstructor()
  +  public void testGetRoles()
     {
  -    setUpTestMain();
  +    MBeanServer server = createMBeanServer();
  +    ObjectName service = createRelationService("test:type=service", server);
  +    createRelationTypeC(service);
  +    createRolesC(server);
  +    RoleResult result = null;
  +    RelationSupport support = null;
  +    try
  +    {
  +      support = new RelationSupport("id", service, server, 
  +                                  "relationTypeC", rolesC);
  +      addRelation(server, service, support, "test:type=support");
  +      result = support.getRoles(new String[] {"roleC1", "roleC2" });
  +    }
  +    catch(Exception e)
  +    {
  +      fail(e.toString());
  +    }
  +    checkResult(result, roleInfosC, rolesC);
  +
  +    try
  +    {
  +      result = support.getRoles(new String[] {"roleC1" });
  +    }
  +    catch(Exception e)
  +    {
  +      fail(e.toString());
  +    }
  +    RoleList resolved = result.getRoles();
  +    assertEquals(1, resolved.size());
  +    assertEquals(0, result.getRolesUnresolved().size());
  +    compare(getRole(rolesC, "roleC1"), (Role) resolved.get(0));
   
  -    // Did it work?
  -    assertEquals("relationTypeName", support.getRelationTypeName());
  -    assertEquals(relationService, support.getRelationServiceName());
  -    assertEquals("relationId", support.getRelationId());
  +    try
  +    {
  +      result = support.getRoles(new String[] {"roleC2" });
  +    }
  +    catch(Exception e)
  +    {
  +      fail(e.toString());
  +    }
  +    RoleUnresolvedList unresolved = result.getRolesUnresolved();
  +    assertEquals(0, result.getRoles().size());
  +    assertEquals(1, unresolved.size());
  +    assertEquals("roleC2", ((RoleUnresolved)unresolved.get(0)).getRoleName());
  +  }
  +
  +  /**
  +   * Test the handle unregistration
  +   */
  +  public void testHandleMBeanUnregistration()
  +  {
  +// TODO !!!!!!!!
  +  }
  +
  +  /**
  +   * Test relation service flag
  +   */
  +  public void testRelationServiceFlag()
  +  {
  +    MBeanServer server = createMBeanServer();
  +    ObjectName service = createRelationService("test:type=service", null);
  +    createRolesB(null);
  +    RelationSupport support = null;
  +    try
  +    {
  +      support = new RelationSupport("id", service, server, "relationTypeB",
  +                                    rolesB);
  +    }
  +    catch(Exception e)
  +    {
  +      fail(e.toString());
  +    }
       assertEquals(false, support.isInRelationService().booleanValue());
  -    RoleList rl = support.retrieveAllRoles();
  -    Role r1 = (Role) rl.get(0);
  -    ArrayList rv1 = (ArrayList) r1.getRoleValue();
  -    assertEquals(2, rv1.size());
  +    support.setRelationServiceManagementFlag(new Boolean(true));
  +    assertEquals(true, support.isInRelationService().booleanValue());
  +    support.setRelationServiceManagementFlag(new Boolean(false));
  +    assertEquals(false, support.isInRelationService().booleanValue());
  +  }
  +
  +  /**
  +   * Test retrieve all roles when unregistered
  +   */
  +  public void testRetrieveAllRolesUnRegistered()
  +  {
  +    MBeanServer server = createMBeanServer();
  +    ObjectName service = createRelationService("test:type=service", null);
  +    createRolesB(null);
  +    RoleList result = null;
  +    try
  +    {
  +      RelationSupport support = new RelationSupport("id", service, server, 
  +                                  "relationTypeB", rolesB);
  +      result = support.retrieveAllRoles();
  +    }
  +    catch(Exception e)
  +    {
  +      fail(e.toString());
  +    }
  +    compare(rolesB, result);
  +  }
  +
  +  /**
  +   * Test retrieve all roles registered
  +   */
  +  public void testRetrieveAllRolesRegistered()
  +  {
  +    MBeanServer server = createMBeanServer();
  +    ObjectName service = createRelationService("test:type=service", server);
  +    createRelationTypeB(service);
  +    createRolesB(server);
  +    RoleList result = null;
  +    try
  +    {
  +      RelationSupport support = new RelationSupport("id", service, server, 
  +                                  "relationTypeB", rolesB);
  +      addRelation(server, service, support, "test:type=support");
  +      result = support.retrieveAllRoles();
  +    }
  +    catch(Exception e)
  +    {
  +      fail(e.toString());
  +    }
  +    compare(rolesB, result);
     }
   
     // Support -------------------------------------------------------------------
   
  -  public void setUpTestMain()
  +  private MBeanServer createMBeanServer()
  +  {
  +      return MBeanServerFactory.createMBeanServer();
  +  }
  +
  +  private ObjectName createRelationService(String name, MBeanServer server)
  +  {
  +    ObjectName result = null;
  +    RelationService relationService = new RelationService(true);
  +    try
  +    {
  +      result = new ObjectName(name);
  +      services.put(result, relationService);
  +      if (server !=null)
  +        server.registerMBean(relationService, result);
  +    }
  +    catch(Exception e)
  +    {
  +      fail(e.toString());
  +    }
  +    return result;
  +  }
  +
  +  private ObjectName addRelation(MBeanServer server, ObjectName service,
  +                                 RelationSupport support, String name)
  +  {
  +    ObjectName result = null;
  +    try
  +    {
  +      result = new ObjectName(name);
  +      server.registerMBean(support, result);
  +      if (service != null)
  +      {
  +        RelationService relationService = (RelationService) services.get(service);
  +        relationService.addRelation(result);
  +      }
  +    }
  +    catch(Exception e)
  +    {
  +      fail(e.toString());
  +    }
  +    return result;
  +  }
  +
  +  private RoleInfo createRoleInfo(String name, Class mbean, 
  +                                  boolean read, boolean write,
  +                                  int min, int max)
  +  {
  +    RoleInfo result = null;
  +    try
  +    {
  +      result = new RoleInfo(name, mbean.getName(), read, write, min, max, "");
  +    }
  +    catch(Exception e)
  +    {
  +      fail(e.toString());
  +    }
  +    return result;
  +  }
  +
  +  private void createRelationType(ObjectName relationService, String name, 
RoleInfo[] roleInfos)
  +  {
  +    try
  +    {
  +      RelationService service = (RelationService) services.get(relationService);
  +      service.createRelationType(name, roleInfos);
  +    }
  +    catch(Exception e)
  +    {
  +      fail(e.toString());
  +    }
  +  }
  +
  +  private void compare(RoleList original, RoleList result)
  +  {
  +    assertEquals(original.size(), result.size());
  +    Iterator iterator = original.iterator();
  +    while (iterator.hasNext())
  +    {
  +      Role originalRole = (Role) iterator.next();
  +      Iterator iterator2 = result.iterator();
  +      while (iterator2.hasNext())
  +      {
  +        Role resultRole = (Role) iterator2.next();
  +        if (originalRole.getRoleName().equals(resultRole.getRoleName()))
  +        {
  +          compare(originalRole, resultRole);
  +          iterator2.remove();
  +        }
  +      }
  +    }
  +    assertEquals(0, result.size());   
  +  }
  +
  +  private void compare(Role original, Role result)
  +  {
  +    assertEquals(original.getRoleName(), result.getRoleName());
  +    compareListOfObjectNames(original.getRoleValue(), result.getRoleValue());
  +  }
  +
  +  private void compareListOfObjectNames(List original, List result)
  +  {
  +    assertEquals(original.size(), result.size());
  +    Iterator iterator = original.iterator();
  +    while (iterator.hasNext())
  +    {
  +      ObjectName originalBean = (ObjectName) iterator.next();
  +      Iterator iterator2 = result.iterator();
  +      while (iterator2.hasNext())
  +      {
  +        ObjectName resultBean = (ObjectName) iterator2.next();
  +        if (originalBean.equals(resultBean))
  +        {
  +          iterator2.remove();
  +        }
  +      }
  +    }
  +    assertEquals(0, result.size());   
  +  }
  +
  +  private void compareListOfStrings(List original, List result)
  +  {
  +    assertEquals(original.size(), result.size());
  +    Iterator iterator = original.iterator();
  +    while (iterator.hasNext())
  +    {
  +      String originalString = (String) iterator.next();
  +      Iterator iterator2 = result.iterator();
  +      while (iterator2.hasNext())
  +      {
  +        String resultString = (String) iterator2.next();
  +        if (originalString.equals(resultString))
  +        {
  +          iterator2.remove();
  +        }
  +      }
  +    }
  +    assertEquals(0, result.size());   
  +  }
  +
  +  private ObjectName createRoleValueBean(String name, Class mbean, MBeanServer 
server)
  +  {
  +    ObjectName result = null;
  +    try
  +    {
  +      result = new ObjectName(name);
  +      if (server != null)
  +      {
  +        server.registerMBean(mbean.newInstance(), result);
  +      }
  +    }
  +    catch(Exception e)
  +    {
  +      fail(e.toString());
  +    }
  +    return result;
  +  }
  +
  +  private void checkResult(RoleResult result, HashMap infos, RoleList roles)
  +  {
  +    checkResolved(result.getRoles(), infos, roles);
  +    checkUnresolved(result.getRolesUnresolved(), infos, roles);
  +  }
  +
  +  private void checkResolved(RoleList resolved, HashMap infos, RoleList roles)
  +  {
  +    RoleList copy = (RoleList) roles.clone();
  +    Iterator iterator = resolved.iterator();
  +    while (iterator.hasNext())
  +    {
  +      Role role = (Role) iterator.next();
  +      String roleName = role.getRoleName();
  +      RoleInfo info = (RoleInfo) infos.get(roleName);
  +      if (info == null)
  +        fail("unknown role " + roleName);
  +      if (info.isReadable() == false)
  +        fail("role should not be readable " + roleName);
  +      Role original = removeRole(copy, roleName);
  +      compareListOfObjectNames(original.getRoleValue(), role.getRoleValue());
  +    }
  +
  +    iterator = copy.iterator();
  +    while (iterator.hasNext())
  +    {
  +      Role role = (Role) iterator.next();
  +      String roleName = role.getRoleName();
  +      RoleInfo info = (RoleInfo) infos.get(roleName);
  +      if (info.isReadable() == true)
  +        fail("missing role " + roleName);
  +    }
  +  }
  +
  +  private void checkUnresolved(RoleUnresolvedList unresolved, HashMap infos, 
RoleList roles)
  +  {
  +    RoleList copy = (RoleList) roles.clone();
  +    Iterator iterator = unresolved.iterator();
  +    while (iterator.hasNext())
  +    {
  +      RoleUnresolved roleUnresolved = (RoleUnresolved) iterator.next();
  +      String roleName = roleUnresolved.getRoleName();
  +      RoleInfo info = (RoleInfo) infos.get(roleName);
  +      if (info == null)
  +        fail("unknown role " + roleName);
  +      if (info.isReadable() == true)
  +        fail("role should be readable " + roleName);
  +      removeRole(copy, roleName);
  +    }
  +
  +    iterator = copy.iterator();
  +    while (iterator.hasNext())
  +    {
  +      Role role = (Role) iterator.next();
  +      String roleName = role.getRoleName();
  +      RoleInfo info = (RoleInfo) infos.get(roleName);
  +      if (info.isReadable() == false)
  +        fail("missing unresolved role " + roleName);
  +    }
  +  }
  +
  +  private Role removeRole(RoleList roles, String roleName)
  +  {
  +    Iterator iterator = roles.iterator();
  +    while (iterator.hasNext())
  +    {
  +      Role role = (Role) iterator.next();
  +      if (role.getRoleName().equals(roleName))
  +      {
  +        iterator.remove();
  +        return role;
  +      }
  +    }
  +    fail("role was not in the original " + roleName);
  +    return null;
  +  }
  +
  +  private Role getRole(RoleList roles, String roleName)
  +  {
  +    Iterator iterator = roles.iterator();
  +    while (iterator.hasNext())
  +    {
  +      Role role = (Role) iterator.next();
  +      if (role.getRoleName().equals(roleName))
  +      {
  +        return role;
  +      }
  +    }
  +    fail("role was not in the original " + roleName);
  +    return null;
  +  }
  +
  +  private void checkMBeans(Map result, RoleList roles)
  +  {
  +    // Construct what we think the value should be
  +    Map expected = calcMBeanRoleMap(roles);
  +    
  +    // Check the actual result
  +    Iterator iterator = result.entrySet().iterator();
  +    while (iterator.hasNext())
  +    {
  +       Map.Entry entry = (Map.Entry) iterator.next();
  +       ObjectName key = (ObjectName) entry.getKey();
  +       ArrayList roleNames = (ArrayList) entry.getValue();
  +       ArrayList expectedNames = (ArrayList) expected.get(key);
  +       if (expectedNames == null)
  +         fail("Unexpected object name " + key);
  +       compareListOfStrings(expectedNames, roleNames);
  +       expected.remove(key);
  +    }
  +    assertEquals(0, expected.size());
  +  }
  +
  +  private Map calcMBeanRoleMap(RoleList roles)
  +  {
  +    HashMap result = new HashMap();
  +    Iterator iterator = roles.iterator();
  +    while (iterator.hasNext())
  +    {
  +      Role role = (Role) iterator.next();
  +      String roleName = role.getRoleName();
  +      ArrayList mbeans = (ArrayList) role.getRoleValue();
  +      Iterator iterator2 = mbeans.iterator();
  +      while (iterator2.hasNext())
  +      {
  +        ObjectName objectName = (ObjectName) iterator2.next();
  +        ArrayList names = (ArrayList) result.get(objectName);
  +        if (names == null)
  +        {
  +          names = new ArrayList();
  +          result.put(objectName, names);
  +        }
  +        // It seems the role name should be duplicated?
  +        // Include the following test if this is a bug in RI.
  +        // if (names.contains(roleName) == false)
  +
  +        names.add(roleName);
  +      }
  +    }
  +    return result;
  +  }
  +
  +  private void createRolesA(MBeanServer server)
  +  {
  +    try
  +    {
  +      ArrayList roleA1Values = new ArrayList();
  +      roleA1Values.add(createRoleValueBean(":relation=a,role=1,bean=1", 
  +                                            Trivial.class, server));
  +      Role roleA1 = new Role("roleA1", roleA1Values);
  +      rolesA = new RoleList();
  +      rolesA.add(roleA1);
  +    }
  +    catch(Exception e)
  +    {
  +      fail(e.toString());
  +    }
  +  }
  +
  +  private void createRelationTypeA(ObjectName relationService)
  +  {
  +    try
  +    {
  +      RoleInfo roleInfoA1 = createRoleInfo("roleA1", Trivial.class, true, true, 1, 
1);
  +      RoleInfo[] roleInfos = new RoleInfo[] { roleInfoA1 };
  +      createRelationType(relationService, "relationTypeA", roleInfos);
  +      for (int i=0; i < roleInfos.length; i++)
  +        roleInfosA.put(roleInfos[i].getName(), roleInfos[i]);
  +    }
  +    catch(Exception e)
  +    {
  +      fail(e.toString());
  +    }
  +  }
  +
  +  private void createRolesB(MBeanServer server)
  +  {
  +    try
  +    {
  +      ArrayList roleB1Values = new ArrayList();
  +      roleB1Values.add(createRoleValueBean(":relation=b,role=1,bean=1", 
  +                                            Trivial.class, server));
  +      roleB1Values.add(createRoleValueBean(":relation=b,role=1,bean=2", 
  +                                            Trivial.class, server));
  +      Role roleB1 = new Role("roleB1", roleB1Values);
  +
  +      ArrayList roleB2Values = new ArrayList();
  +      roleB2Values.add(createRoleValueBean(":relation=b,role=2,bean=1", 
  +                                            Trivial.class, server));
  +      roleB2Values.add(createRoleValueBean(":relation=b,role=2,bean=2", 
  +                                            Trivial.class, server));
  +      roleB2Values.add(createRoleValueBean(":relation=b,role=2,bean=3", 
  +                                            Trivial.class, server));
  +      Role roleB2 = new Role("roleB2", roleB2Values);
  +
  +      rolesB = new RoleList();
  +      rolesB.add(roleB1);
  +      rolesB.add(roleB2);
  +    }
  +    catch(Exception e)
  +    {
  +      fail(e.toString());
  +    }
  +  }
  +
  +  private void createRelationTypeB(ObjectName relationService)
  +  {
  +    try
  +    {
  +      RoleInfo roleInfoB1 = createRoleInfo("roleB1", Trivial.class, true, false, 1, 
2);
  +      RoleInfo roleInfoB2 = createRoleInfo("roleB2", Trivial.class, false, true, 3, 
4);
  +      RoleInfo[] roleInfos = new RoleInfo[] { roleInfoB1, roleInfoB2 };
  +      createRelationType(relationService, "relationTypeB", roleInfos );
  +      for (int i=0; i < roleInfos.length; i++)
  +        roleInfosB.put(roleInfos[i].getName(), roleInfos[i]);
  +    }
  +    catch(Exception e)
  +    {
  +      fail(e.toString());
  +    }
  +  }
  +
  +  private void createRolesC(MBeanServer server)
  +  {
  +    try
  +    {
  +      ArrayList roleC1Values = new ArrayList();
  +      roleC1Values.add(createRoleValueBean(":relation=c,role=1,bean=1", 
  +                                            Trivial.class, server));
  +      roleC1Values.add(createRoleValueBean(":relation=c,role=1,bean=1", 
  +                                            Trivial.class, null));
  +      Role roleC1 = new Role("roleC1", roleC1Values);
  +
  +      ArrayList roleC2Values = new ArrayList();
  +      roleC2Values.add(createRoleValueBean(":relation=c,role=1,bean=1", 
  +                                            Trivial.class, null));
  +      roleC2Values.add(createRoleValueBean(":relation=c,role=2,bean=1", 
  +                                            Trivial.class, server));
  +      roleC2Values.add(createRoleValueBean(":relation=c,role=2,bean=2", 
  +                                            Trivial.class, server));
  +      Role roleC2 = new Role("roleC2", roleC2Values);
  +
  +      rolesC = new RoleList();
  +      rolesC.add(roleC1);
  +      rolesC.add(roleC2);
  +    }
  +    catch(Exception e)
  +    {
  +      fail(e.toString());
  +    }
  +  }
  +
  +  private void createRelationTypeC(ObjectName relationService)
     {
       try
       {
  -      relationService = new ObjectName(":type=RelationService");
  -      server = MBeanServerFactory.createMBeanServer();
  -      on1 = new ObjectName(":type=1");
  -      on2 = new ObjectName(":type=2");
  -      on3 = new ObjectName(":type=3");
  -      roleList = new RoleList();
  -      roles1 = new ArrayList();
  -      roles1.add(on1);
  -      roles2 = new ArrayList();
  -      roles2.add(on2);
  -      roles2.add(on3);
  -      roleList.add(new Role("roleName1", roles1));
  -      roleList.add(new Role("roleName2", roles2));
  -      support = new RelationSupport("relationId", relationService,
  -                                    server, "relationTypeName", roleList);
  +      RoleInfo roleInfoC1 = createRoleInfo("roleC1", Trivial.class, true, false, 1, 
2);
  +      RoleInfo roleInfoC2 = createRoleInfo("roleC2", Trivial.class, false, true, 3, 
4);
  +      RoleInfo[] roleInfos = new RoleInfo[] { roleInfoC1, roleInfoC2 };
  +      createRelationType(relationService, "relationTypeC", roleInfos );
  +      for (int i=0; i < roleInfos.length; i++)
  +        roleInfosC.put(roleInfos[i].getName(), roleInfos[i]);
       }
  -    catch (Exception e)
  +    catch(Exception e)
       {
         fail(e.toString());
       }
  
  
  

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

Reply via email to