StructureTest.java 文件源码

java
阅读 23 收藏 0 点赞 0 评论 0

项目:freeVM 作者:
/**
 * This test verifies findReferencingRelations method
 */

public Result testRelationIdMap() throws Exception {

    MBeanServer mBeanServer = MBeanServerFactory.createMBeanServer();

    // Register Relation Service
    RelationService relationService = new RelationService(true);
    ObjectName relationServiceName = new ObjectName(
            "mBeanServer:type=RelationService,name=rs");
    mBeanServer.registerMBean(relationService, relationServiceName);

    // Create Role Information Array
    RoleInfo[] roleInfo = new RoleInfo[1];
    roleInfo[0] = new RoleInfo("unitRole", classPath, true, true, 1, 2,
            "Unit role");

    // Creating an Internal Relation Type
    relationService.createRelationType("internalRelationType", roleInfo);

    // Registering 2 MBean objects
    UnitMBean unit1 = new Unit();

    ObjectName unit2Name = new ObjectName(
            "mBeanServer:type=Unit,name=Unit2");
    mBeanServer.registerMBean(unit1, unit2Name);

    ObjectName unit1Name = new ObjectName(
            "mBeanServer:type=Unit,name=Unit1");
    mBeanServer.registerMBean(unit1, unit1Name);

    // Create RoleLists for single unit and double unit relations
    ArrayList unitList = new ArrayList();

    unitList.add(unit1Name);
    Role singleUnitRole = new Role("unitRole", unitList);

    unitList.add(unit2Name);
    Role doubleUnitRole = new Role("unitRole", unitList);

    RoleList singleunitRoles = new RoleList();
    singleunitRoles.add(singleUnitRole);

    RoleList doubleunitRoles = new RoleList();
    doubleunitRoles.add(doubleUnitRole);

    // Create 2 Internal Relations
    relationService.createRelation("internalRelationSingle",
            "internalRelationType", singleunitRoles);
    relationService.createRelation("internalRelationDouble",
            "internalRelationType", doubleunitRoles);
    ERelation externalRelation = new ERelation("externalRelation",
            relationServiceName, mBeanServer, "internalRelationType",
            doubleunitRoles);
    mBeanServer.registerMBean(externalRelation, externalRelation
            .getRelationON());
    relationService.addRelation(externalRelation.getRelationON());

    if ((!relationService.findReferencingRelations(unit2Name,
            "internalRelationType", "unitRole").containsKey(
            "internalRelationDouble"))
            || (!relationService.findReferencingRelations(unit1Name,
                    "internalRelationType", "unitRole").containsKey(
                    "internalRelationDouble"))
            || (!relationService.findReferencingRelations(unit1Name,
                    "internalRelationType", "unitRole").containsKey(
                    "internalRelationSingle"))
            || (!relationService.findReferencingRelations(unit1Name,
                    "internalRelationType", "unitRole").containsKey(
                    "externalRelation"))
            || (!relationService.findReferencingRelations(unit2Name,
                    "internalRelationType", "unitRole").containsKey(
                    "externalRelation"))) {
        log.info(relationService.findReferencingRelations(unit1Name,
                "internalRelationType", "unitRole").toString());
        return failed("findReferencingRelations method is incorrect");
    }
    return passed();
}
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号