Example usage for org.aspectj.asm IRelationshipMap get

List of usage examples for org.aspectj.asm IRelationshipMap get

Introduction

In this page you can find the example usage for org.aspectj.asm IRelationshipMap get.

Prototype

public List<IRelationship> get(String sourceHandle);

Source Link

Usage

From source file:org.caesarj.compiler.asm.StructureModelDump.java

License:Open Source License

protected void printRelationshipMap(CaesarJAsmManager asmManager) {
    System.out.println("Dumping Relationship Map");
    IHierarchy hierarchy = asmManager.getHierarchy();
    IRelationshipMap map = asmManager.getRelationshipMap();
    Set entries = map.getEntries();
    Iterator i = entries.iterator();
    while (i.hasNext()) {
        List relationships = map.get((String) i.next());
        Iterator j = relationships.iterator();
        while (j.hasNext()) {
            IRelationship relationship = (IRelationship) j.next();
            System.out.println("Relationship '" + relationship.getName() + "' of kind '"
                    + relationship.getKind() + "' has " + relationship.getTargets().size() + " target(s) ");
            System.out.println("   source handle -->" + relationship.getSourceHandle());
            Iterator k = relationship.getTargets().iterator();
            while (k.hasNext()) {
                IProgramElement element = hierarchy.findElementForHandle((String) k.next());
                System.out.println("  -> '" + element.getName() + "' of kind '" + element.getKind()
                        + "' with handle " + element.getHandleIdentifier());
            }//from w  w w . ja  v  a2 s. c o m
        }
    }
}

From source file:org.eclipse.ajdt.core.model.AJModelChecker.java

License:Open Source License

/**
 * iterates through all relationships and checks to see that it passes all rules
 * //from ww w . ja va 2 s .  c  o  m
 * returns list of questionable relationships as strings.  An empty list is returned if the
 * model is OK. 
 */
private static List<String> internalCheckModel(AJProjectModelFacade model) {
    IRelationshipMap relationships = model.getAllRelationships();
    List<String> problems = new ArrayList<String>();
    if (relationships != null) {
        for (Iterator<String> relIter = relationships.getEntries().iterator(); relIter.hasNext();) {
            String handle = (String) relIter.next();
            List<IRelationship> relsForHandle = relationships.get(handle);
            for (Iterator<IRelationship> relIter2 = relsForHandle.iterator(); relIter2.hasNext();) {
                IRelationship rel = (IRelationship) relIter2.next();
                List<String> res = invalidAdviceRelationsip(rel, model);
                problems.addAll(res);
                res = itdsNotOnType(rel, model);
                problems.addAll(res);
            }
        }
    } else {
        problems.add("No relationshipes found");
    }

    return problems;
}