String[] tokensToList = (String[]) moduleCrit.getAttributes().keySet()
.toArray(new String[moduleCrit.getAttributes().size()]);
for (Iterator iter = settings.getResolvers().iterator(); iter.hasNext();) {
DependencyResolver resolver = (DependencyResolver) iter.next();
Map[] moduleIdAsMap = resolver.listTokenValues(tokensToList, criteria);
for (int i = 0; i < moduleIdAsMap.length; i++) {
String org = (String) moduleIdAsMap[i].get(IvyPatternHelper.ORGANISATION_KEY);
String name = (String) moduleIdAsMap[i].get(IvyPatternHelper.MODULE_KEY);
String branch = (String) moduleIdAsMap[i].get(IvyPatternHelper.BRANCH_KEY);
String rev = (String) moduleIdAsMap[i].get(IvyPatternHelper.REVISION_KEY);
Map foundExtraAtts = new HashMap();
Set qualAttributes = moduleCrit.getQualifiedExtraAttributes().keySet();
for (Iterator iter2 = qualAttributes.iterator(); iter2.hasNext();) {
String qualifiedKey = (String) iter2.next();
String value = null;
int colonIndex = qualifiedKey.indexOf(':');
if (colonIndex == -1) {
value = (String) moduleIdAsMap[i].get(qualifiedKey);
} else {
value = (String) moduleIdAsMap[i].get(qualifiedKey
.substring(colonIndex + 1));
}
if (value != null) {
foundExtraAtts.put(qualifiedKey, value);
}
}
ModuleRevisionId modRevId = ModuleRevisionId.newInstance(org, name, branch, rev,
foundExtraAtts);
ret.add(resolver.getNamespace().getToSystemTransformer().transform(modRevId));
}
}
return (ModuleRevisionId[]) ret.toArray(new ModuleRevisionId[ret.size()]);
}