- Template template = templateFactory.createTemplate(new InputStreamReader(getClass().getResourceAsStream(templateName), utf8Charset));
- template.set("currentSone", sone);
+ InputStreamReader templateInputStreamReader;
+ Template template = templateFactory.createTemplate(templateInputStreamReader = new InputStreamReader(getClass().getResourceAsStream(templateName), utf8Charset));
+ try {
+ template.parse();
+ } catch (TemplateException te1) {
+ logger.log(Level.SEVERE, "Could not parse template “" + templateName + "”!", te1);
+ return null;
+ } finally {
+ Closer.close(templateInputStreamReader);
+ }
+ @SuppressWarnings("unchecked")
+ final Set<String> blockedSoneIds = (Set<String>) soneProperties.get("blockedSoneIds");
+ Collection<Sone> knownSones = Filters.filteredCollection(core.getKnownSones(), new Filter<Sone>() {
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public boolean filterObject(Sone object) {
+ return !blockedSoneIds.contains(object.getId()) && !object.getId().equals(soneProperties.get("id"));
+ }
+ });
+
+ template.set("currentSone", soneProperties);
+ template.set("knownSones", knownSones);