X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=src%2Fmain%2Fjava%2Fnet%2Fpterodactylus%2Fsone%2Fcore%2FSoneInserter.java;h=aa2062c221c1e53de9ed8f3c43e0d0de639a1346;hb=29b5ba6409b0843b2bd881e605181ecf30464b68;hp=393697585c8b73d62023f5296978c1f3413abe46;hpb=c5e641893a2656ebf2c2c8c369fe75eaf3061b52;p=Sone.git
diff --git a/src/main/java/net/pterodactylus/sone/core/SoneInserter.java b/src/main/java/net/pterodactylus/sone/core/SoneInserter.java
index 3936975..aa2062c 100644
--- a/src/main/java/net/pterodactylus/sone/core/SoneInserter.java
+++ b/src/main/java/net/pterodactylus/sone/core/SoneInserter.java
@@ -33,6 +33,8 @@ import net.pterodactylus.sone.data.Reply;
import net.pterodactylus.sone.data.Sone;
import net.pterodactylus.sone.freenet.StringBucket;
import net.pterodactylus.sone.main.SonePlugin;
+import net.pterodactylus.util.collection.ListBuilder;
+import net.pterodactylus.util.collection.ReverseComparator;
import net.pterodactylus.util.io.Closer;
import net.pterodactylus.util.logging.Logging;
import net.pterodactylus.util.service.AbstractService;
@@ -229,7 +231,6 @@ public class SoneInserter extends AbstractService {
synchronized (sone) {
if (lastInsertFingerprint.equals(sone.getFingerprint())) {
logger.log(Level.FINE, "Sone â%sâ was not modified further, resetting counterâ¦", new Object[] { sone });
- core.saveSone(sone);
lastModificationTime = 0;
modified = false;
}
@@ -248,7 +249,7 @@ public class SoneInserter extends AbstractService {
*
* @author David âBombeâ Roden
*/
- private static class InsertInformation {
+ private class InsertInformation {
/** All properties of the Sone, copied for thread safety. */
private final Map soneProperties = new HashMap();
@@ -266,8 +267,8 @@ public class SoneInserter extends AbstractService {
soneProperties.put("requestUri", sone.getRequestUri());
soneProperties.put("insertUri", sone.getInsertUri());
soneProperties.put("profile", sone.getProfile());
- soneProperties.put("posts", new ArrayList(sone.getPosts()));
- soneProperties.put("replies", new HashSet(sone.getReplies()));
+ soneProperties.put("posts", new ListBuilder(new ArrayList(sone.getPosts())).sort(Post.TIME_COMPARATOR).get());
+ soneProperties.put("replies", new ListBuilder(new ArrayList(sone.getReplies())).sort(new ReverseComparator(Reply.TIME_COMPARATOR)).get());
soneProperties.put("likedPostIds", new HashSet(sone.getLikedPostIds()));
soneProperties.put("likedReplyIds", new HashSet(sone.getLikedReplyIds()));
}
@@ -346,7 +347,9 @@ public class SoneInserter extends AbstractService {
}
TemplateContext templateContext = templateContextFactory.createTemplateContext();
+ templateContext.set("core", core);
templateContext.set("currentSone", soneProperties);
+ templateContext.set("currentEdition", core.getUpdateChecker().getLatestEdition());
templateContext.set("version", SonePlugin.VERSION);
StringWriter writer = new StringWriter();
StringBucket bucket = null;