Synchronize template access to prevent multiple copies appearing in the HTML.
[Sone.git] / src / main / java / net / pterodactylus / sone / web / ajax / GetReplyAjaxPage.java
index 77b3ada..0963b09 100644 (file)
@@ -92,14 +92,16 @@ public class GetReplyAjaxPage extends JsonPage {
                jsonReply.put("postId", reply.getPost().getId());
                jsonReply.put("soneId", reply.getSone().getId());
                jsonReply.put("time", reply.getTime());
-               replyTemplate.set("reply", reply);
                StringWriter stringWriter = new StringWriter();
-               try {
-                       replyTemplate.render(stringWriter);
-               } catch (TemplateException te1) {
-                       /* TODO - shouldn’t happen. */
-               } finally {
-                       Closer.close(stringWriter);
+               synchronized (replyTemplate) {
+                       replyTemplate.set("reply", reply);
+                       try {
+                               replyTemplate.render(stringWriter);
+                       } catch (TemplateException te1) {
+                               /* TODO - shouldn’t happen. */
+                       } finally {
+                               Closer.close(stringWriter);
+                       }
                }
                return jsonReply.put("html", stringWriter.toString());
        }