src/java/fr/jayasoft/ivy/ant/IvyBuildList.java
/**
     * Returns a collection of ModuleDescriptors that are conatined in the input
     * collection of ModuleDescriptors which depends on the leaf module
     *
     * @param mds input collection of ModuleDescriptors
     * @param leafmd leaf module
     * @return filtered list of modules
     */
Returns a collection of ModuleDescriptors that are conatined in the input
collection of ModuleDescriptors which depends on the leaf module

@param mds input collection of ModuleDescriptors
@param leafmd leaf module
@return filtered list of modules
Returns a collection of ModuleDescriptors that are conatined in the input collection of ModuleDescriptors which depends on the leaf module @param mds input collection of ModuleDescriptors @param leafmd leaf module @return filtered list of modules
private Collection filterModulesFromLeaf(Collection mds, ModuleDescriptor leafmd) {
        Map moduleIdMap = new HashMap();
        for (Iterator iter = mds.iterator(); iter.hasNext();) {
            ModuleDescriptor md = ((ModuleDescriptor) iter.next());
            moduleIdMap.put(md.getModuleRevisionId().getModuleId(), md);
        }
        Set toKeep = new HashSet();
        if (_excludeLeaf) {
        	Message.verbose("Excluded module " + leafmd.getModuleRevisionId().getModuleId().getName());
        } else {
        	toKeep.add(leafmd);
        }
        processFilterNodeFromLeaf(leafmd, toKeep, moduleIdMap);
        for (Iterator iter = toKeep.iterator(); iter.hasNext();) {
            ModuleDescriptor md = ((ModuleDescriptor) iter.next());
            Message.verbose("Kept module " + md.getModuleRevisionId().getModuleId().getName());
        }
        return toKeep;
    }
private Collection filterModulesFromLeaf ( Collection mds , ModuleDescriptor leafmd ) { Map moduleIdMap = new HashMap ( ) ; for ( Iterator iter = mds . iterator ( ) ; iter . hasNext ( ) ; ) { ModuleDescriptor md = ( ( ModuleDescriptor ) iter . next ( ) ) ; moduleIdMap . put ( md . getModuleRevisionId ( ) . getModuleId ( ) , md ) ; } Set toKeep = new HashSet ( ) ; if ( _excludeLeaf ) { Message . verbose ( "Excluded module " + leafmd . getModuleRevisionId ( ) . getModuleId ( ) . getName ( ) ) ; } else { toKeep . add ( leafmd ) ; } processFilterNodeFromLeaf ( leafmd , toKeep , moduleIdMap ) ; for ( Iterator iter = toKeep . iterator ( ) ; iter . hasNext ( ) ; ) { ModuleDescriptor md = ( ( ModuleDescriptor ) iter . next ( ) ) ; Message . verbose ( "Kept module " + md . getModuleRevisionId ( ) . getModuleId ( ) . getName ( ) ) ; } return toKeep ; }
Returns a collection of ModuleDescriptors that are conatined in the input
 collection of ModuleDescriptors which depends on the leaf module
Returns a collection of ModuleDescriptors that are conatined in the input collection of ModuleDescriptors which depends on the leaf module
// Make a map of ModuleId objects -> ModuleDescriptors
 // recursively process the nodes
 // With the excludeleaf attribute set to true, take the rootmd out of the toKeep set.
 // just for logging
