The code below is adding the languages to the value map at the country level. ${country.locale} outputs the locale value for both nodes under languages. Any ideas?
private List<ValueMap> getLanguageLinks(String nodeName) {
List<ValueMap> multifieldList = new ArrayList<ValueMap>();
try {
if (null != langSwitcherNode && langSwitcherNode.hasNode(nodeName)) {
Node propertyNode = langSwitcherNode.getNode(nodeName);
if (propertyNode.hasNodes()) {
NodeIterator iterator = propertyNode.getNodes();
while (iterator.hasNext()) {
Node childNode = iterator.nextNode();
multifieldList.add(resourceResolver.getResource(
childNode.getPath()).adaptTo(ValueMap.class));
if (childNode.hasNodes()){
Node languagesNode = childNode.getNode("languages");
if (languagesNode.hasNodes()){
NodeIterator childNodeIterator = languagesNode.getNodes();
while (childNodeIterator.hasNext()){
Node childLevel2Node = childNodeIterator.nextNode();
multifieldList.add(resourceResolver.getResource(
childLevel2Node.getPath()).adaptTo(ValueMap.class));
}
}
}
}
}
}
} catch (RepositoryException e) {
LOG.error("RepositoryException", e);
}
return multifieldList;
}