/** * Return the refinements (children responsibilities) of a given responsibility * * @param parentResponsibility The parent responsibility */ public List<ArchEResponsibility> getChildrenResponsibilities( ArchEResponsibility parentResponsibility) { List<ArchEResponsibility> children = new ArrayList<ArchEResponsibility>(); ArchERefinementRelationVO item = null; for (Iterator<ArchERefinementRelationVO> it = refVOs.iterator(); it.hasNext(); ) { item = it.next(); // TODO: Check if an equal 'by name' works better here ArchEResponsibility parent = item.getParent(); if ((parent != null) && parent.equals(parentResponsibility) && item.getChild() != null) children.add(item.getChild()); } return (children); }
/** * Test whether there is a refinement relationship between a pair of responsibilities * * @param resp The source responsibility * @param leaf The target responsibility */ public boolean existRefinement(ArchEResponsibilityVO resp, ArchEResponsibilityVO leaf) { ArchERefinementRelationVO rel = null; for (Iterator<ArchERefinementRelationVO> it = refVOs.iterator(); it.hasNext(); ) { rel = it.next(); // TODO: Check if an equal 'by name' is needed below ArchEResponsibilityVO parent = rel.getParent(); ArchEResponsibilityVO child = rel.getChild(); if ((parent != null) && (child != null) && parent.equals(resp) && child.equals(leaf)) return (true); } return (false); }
/** * Test if a given responsibility has been refined * * @param responsibility The parent responsibility */ public boolean isLeaf(ArchEResponsibility responsibility) { ArchERefinementRelationVO item = null; for (Iterator<ArchERefinementRelationVO> it = refVOs.iterator(); it.hasNext(); ) { item = it.next(); // TODO: Check if an equal 'by name' works better here ArchEResponsibility parent = item.getParent(); if ((parent != null) && parent.equals(responsibility) && item.getChild() != null) return (false); } return (true); }