private static QueryResource getResourceInfo(final OnmsResource resource, final Source source) {
if (resource == null) return null;
OnmsNode node = null;
try {
node = ResourceTypeUtils.getNodeFromResourceRoot(resource);
} catch (final ObjectRetrievalFailureException e) {
LOG.warn("Failed to get node info from resource: {}", resource, e);
}
return new QueryResource(
resource.getId().toString(),
resource.getParent() == null? null : resource.getParent().getId().toString(),
resource.getLabel(),
resource.getName(),
node == null? null : new QueryNode(node.getId(), node.getForeignSource(), node.getForeignId(), node.getLabel())
);
}
}