if (s.length > 1) {
nodetype = s[1];
}
try {
JCRSiteNode site = null;
JCRNodeWrapper contextNode = (JCRNodeWrapper) context.get("contextParent");
if (contextNode == null) {
contextNode = (JCRNodeWrapper) context.get("contextNode");
}
if (contextNode != null) {
site = contextNode.getResolveSite();
} else {
final JahiaSite defaultSite = JahiaSitesBaseService.getInstance().getDefaultSite();
if (defaultSite != null) {
site = (JCRSiteNode) sessionFactory.getCurrentUserSession().getNode("/sites/"+ defaultSite.getSiteKey());
} else {
site = (JCRSiteNode) sessionFactory.getCurrentUserSession().getNode(JCRContentUtils.getSystemSitePath());
}
}
String path = s[0];
Locale fallbackLocale = null;
if (site != null) {
fallbackLocale = site.isMixLanguagesActive() ? LanguageCodeConverters.languageCodeToLocale(
site.getDefaultLanguage()) : null;
path = path.replace("$currentSite", site.getPath());
}
boolean subTree = false;
if (path.endsWith("//*")) {
path = StringUtils.substringBeforeLast(path, "//*");
subTree = true;
}
final JCRSessionWrapper jcrSessionWrapper = sessionFactory.getCurrentUserSession(null, locale, fallbackLocale);
final JCRNodeWrapper node = jcrSessionWrapper.getNode(path);
addSubnodes(listValues, nodetype, node, subTree);
} catch (PathNotFoundException e) {
} catch (Exception e) {
logger.error(e.getMessage(), e);
}