public CommitOrderDependencyNode nodeFor(ClassDescriptor d) { for (Enumeration e = nodes.elements(); e.hasMoreElements();) { CommitOrderDependencyNode n = (CommitOrderDependencyNode)e.nextElement(); if (n.getDescriptor() == d) { return n; } } return null; }
public CommitOrderDependencyNode nodeFor(Class c) { for (Enumeration e = nodes.elements(); e.hasMoreElements();) { CommitOrderDependencyNode n = (CommitOrderDependencyNode)e.nextElement(); if (n.getDescriptor().getJavaClass() == c) { return n; } } return null; }
public void orderCommits() { depthFirstSearch(); Object[] nodeArray = new Object[nodes.size()]; nodes.copyInto(nodeArray); quicksort(nodeArray); Vector result = new Vector(nodes.size()); for (int i = 0; i < nodes.size(); i++) { CommitOrderDependencyNode node = (CommitOrderDependencyNode)nodeArray[i]; result.addElement(node.getDescriptor()); } this.orderedDescriptors = result; }
public Vector withAllSubclasses(CommitOrderDependencyNode node) { Vector results = new Vector(); results.addElement(node); if (node.getDescriptor().hasInheritance()) { InheritancePolicy p = node.getDescriptor().getInheritancePolicy(); // For bug 3019934 replace getChildDescriptors with getAllChildDescriptors. for (Enumeration e = p.getAllChildDescriptors().elements(); e.hasMoreElements();) { results.addElement(getOwner().nodeFor((ClassDescriptor)e.nextElement())); } } return results; } }
/** * Add all owned classes for each descriptor through checking the mappings. * If I have a foreign mapping with a constraint dependency, then add it * If I'm related to a class, I'm related to all its subclasses and superclasses. * If my superclass is related to a class, I'm related to it. */ public void recordSpecifiedDependencies() { for (Enumeration constraintsEnum = getDescriptor().getConstraintDependencies().elements(); constraintsEnum.hasMoreElements();) { Class ownedClass = (Class)constraintsEnum.nextElement(); CommitOrderDependencyNode node = getOwner().nodeFor(ownedClass); Vector ownedNodes = withAllSubclasses(node); // I could remove duplicates here, but it's not that big a deal. Helper.addAllToVector(relatedNodes, ownedNodes); } }
for (Enumeration mappings = getDescriptor().getMappings().elements(); mappings.hasMoreElements();) { DatabaseMapping mapping = (DatabaseMapping)mappings.nextElement();