Synchronize template access to prevent multiple copies appearing in the HTML.
[Sone.git] / src / main / java / net / pterodactylus / sone / web / ajax / GetPostAjaxPage.java
index 7c96d56..ec0145a 100644 (file)
@@ -90,14 +90,16 @@ public class GetPostAjaxPage extends JsonPage {
                jsonPost.put("sone", post.getSone().getId());
                jsonPost.put("recipient", (post.getRecipient() == null) ? null : post.getRecipient().getId());
                jsonPost.put("time", post.getTime());
-               postTemplate.set("post", post);
                StringWriter stringWriter = new StringWriter();
-               try {
-                       postTemplate.render(stringWriter);
-               } catch (TemplateException te1) {
-                       /* TODO - shouldn’t happen. */
-               } finally {
-                       Closer.close(stringWriter);
+               synchronized (postTemplate) {
+                       postTemplate.set("post", post);
+                       try {
+                               postTemplate.render(stringWriter);
+                       } catch (TemplateException te1) {
+                               /* TODO - shouldn’t happen. */
+                       } finally {
+                               Closer.close(stringWriter);
+                       }
                }
                jsonPost.put("html", stringWriter.toString());
                return jsonPost;